Binary compatibility loss regarding errno

Daniel Jacobowitz drow@mvista.com
Mon Dec 23 10:05:00 GMT 2002


On Mon, Dec 23, 2002 at 10:02:04AM -0800, Ulrich Drepper wrote:
> Daniel Jacobowitz wrote:
> 
> > This is a pretty severe problem, since it silently makes applications ignore
> > errno.
> 
> It's not silent.  The dynamic linker will not find a definition of errno
> and terminate the application run.  And that's what the program
> deserves.  The errno macro has been there forever.  Fix your binaries.
> I will not allow broken binaries to get into the way of progress.

No, it IS silent.  Feel free to try it yourself, or I can send you a
test binary.  Compile the code in my last message against glibc 2.2.5
and run it against 2.3 CVS; note that the program runs yet rename fails
to change the value of errno (ENOENT is 2, not 1).

I wouldn't like a dynamic link time failure, but at least then we'd
know what was going on; we can cope with that if we have to.  This one
is nastier.

-- 
Daniel Jacobowitz
MontaVista Software                         Debian GNU/Linux Developer



More information about the Libc-alpha mailing list