bug-binutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug ld/10433] Latest ld fails to link ldconfig properly


From: amodra at bigpond dot net dot au
Subject: [Bug ld/10433] Latest ld fails to link ldconfig properly
Date: 30 Jul 2009 01:26:53 -0000

------- Additional Comments From amodra at bigpond dot net dot au  2009-07-30 
01:26 -------
> Your change duplicates the logic in elf_link_output_extsym so that
> you can fix this bug. You have to do this for all backends which
> support IFUNC symbols.

Rubbish.  See for example the powerpc backend.

> That begs the question why it shouldn't be
> done in elf_link_output_extsym. Can someone give me one good reason
> for this madness?  Thanks.

I've already stated why ref_regular should not be tested in generic code.  Why
do you keep ignoring me?  You can "fix" your backend either with the boilerplate
style patch Nick presented or more elegantly.  More elegantly is preferable.

In fact, completely reimplementing your ifunc support for x86 is preferable. 
The only "madness" involved here was trusting your implementation enough to
allow it to be committed.  It looks like you have just kept adding code until it
"worked" for the limited set of testcases you have assembled and linked.  For an
example of your muddy thinking, I need look no further than check_relocs. 
There, you start doing special things for ifunc symbols when def_regular.  But
check_relocs is called as each object file is added.  So your code can't work if
a regular object file references an undefined symbol which a later regular
object file defines as STT_GNU_IFUNC.  When check_relocs is called for the first
object file it just sees a normal undefined symbol.  No special treatment for
ifunc.  When check_relocs is called for the later object, there may be no
reference in it to the ifunc definition.  Again no special treatment for ifunc.

-- 


http://sourceware.org/bugzilla/show_bug.cgi?id=10433

------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]