On 04/13/2011 01:40 AM, Joerg Schilling wrote:
> Why do you believe this is a ELF problem?
> 
> From the bug desciption, it seems that GNU tar just made an illegal 
> assumption 
> or can you verify that the link order was violated in this case?

As I understand it, it's too easy, with ELF, for a program
to define a symbol FOO, that inadvertantly usurps the same
symbol FOO that (unbeknownst to the program) is used in a
library.  Sometimes the ELF behavior is wanted, but often
(as is the care here) it is not.  On some non-ELF systems
a program can't redefine a symbol exported by a library,
and on such systems this problem wouldn't have occurred.

In this particular case, FOO was introduced in a later
version of Solaris, so it is a real upwards-compatibility
problem: a program builds and runs fine on Solaris X,
but the same executable crashes on Solaris X+1.  This is
an inherent property to the way ELF link order is implemented.

It's not a bug with the linker per se: the bug is in the
overall ELF design.

Reply via email to