------- Additional Comments From hjl dot tools at gmail dot com 2009-07-30 04:57 ------- (In reply to comment #17) > > 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.
If you can find a testcase to show IFUNC problems on x86, I will fix them. In the meantime, let's wait until you finish IFUNC for Power and pass all IFUNC tests in glibc. I will take a look at what you did and update x86 backends if necessary. Thanks. -- What |Removed |Added ---------------------------------------------------------------------------- Status|WAITING |SUSPENDED 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. _______________________________________________ bug-binutils mailing list bug-binutils@gnu.org http://lists.gnu.org/mailman/listinfo/bug-binutils