This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Revert pr16467 change


On Wed, Jun 1, 2016 at 6:28 AM, Alan Modra <amodra@gmail.com> wrote:
> This reverts the pr16467 change, which was incorrect due to faulty
> analysis of the pr16467 testcase.  The failure was not due to a
> mismatch in symbol type (ifunc/non-ifunc) but due to a symbol loop
> being set up.  I've added a pr16467d.c that shows the same symbol
> loop without ifunc being involved.

I agree.  PR 16467 is an odd case which moves a versoned symbol
from one DSO to another.

> I'm not 100% happy with this fix, due to not always having symbol
> versions around early enough.  See the comment.  However, comparing
> versions directly addresses the problem exposed by the testcase, and I
> don't see any other approach that will work in all cases.
>
> The strtab save/restore change is necessary due to
> _bfd_elf_add_default_symbol now calling elf_backend_hide_symbol, which
> decrements dynstr strtab refcounts.  Previously we only added new
> dynamic symbols.
>
> I'll commit this in a few days if no more problems like the strtab
> refcounting one appear.

Can you check your change into a branch?  I'd like to add a few
more testcases on top of your change.

Thanks.

-- 
H.J.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]