Fedora Core 4

Pedro Lamarão pedro.lamarao at mndfck.org
Sat Jan 15 20:29:08 UTC 2005


Mike Hearn wrote:

>The problems start when you have one symbol with multiple versions: this
>is worse than just renaming the symbol because while old *binaries*
>continue to work, if you then compile the same sources on a newer system
>they get the new semantics automatically which could break them.
>
>Eg take the example of regexec, which has a new overloaded version of
>GLIBC_2.3.4 - the new version was introduced because now if you specify
>unknown eflags it returns with error whereas before I guess it didn't.
>
>That keeps old binaries working, but what if you then take old code
>and compile it on a newer system? Well now the code doesn't get the
>semantics it expects and breaks.
>  
>
I believe the point of view of the glibc maintainers is as put by Ulrich 
Drepper in his paper "Good practices in library design, implementation, 
and maintenance", chapter three:

"One sort of change which should always be made without hesitation is 
bug fixes. They should be made event if the API is changed. Some people 
argue that some programs are depending on the old, broken behaviour. But 
this argumentation is flawed. Equally well there are programs which 
depend on the correct behaviour, written by people who read the 
specification. No program which depends on broken behaviour deserves 
protection. If a programmer has found such a discrepancy and changed the 
application to use it instead of reporting it to the library maintainer 
s/he gets what s/he deserves."

http://people.redhat.com/drepper/goodpractice.pdf

--
 Pedro Lamarão





More information about the fedora-devel-list mailing list