------- 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
[email protected]
http://lists.gnu.org/mailman/listinfo/bug-binutils