bug-binutils
[Top][All Lists]
Advanced

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

[Bug ld/22750] .sizeof. directive is handled incorrectly in shared objec


From: hjl.tools at gmail dot com
Subject: [Bug ld/22750] .sizeof. directive is handled incorrectly in shared object
Date: Fri, 26 Jan 2018 18:00:20 +0000

https://sourceware.org/bugzilla/show_bug.cgi?id=22750

--- Comment #1 from H.J. Lu <hjl.tools at gmail dot com> ---
The problem is

Relocation section '.rela.data' at offset 0x100 contains 1 entry:
  Offset          Info           Type           Sym. Value    Sym. Name +
Addend
000000000000  000500000001 R_X86_64_64       0000000000000000 .sizeof.__verbose
+ 0

Relocation against .sizeof.__verbose is very special.  It is handled
incorrectly in shared object.  Given that the ".sizeof." directive is
never intended to be used in shared object, should we just simply disallow
it in shared object?  If we do that, do we still need

commit 32253bb7963ac7caa166ec41e336372f2ffc03d4
Author: Alan Modra <address@hidden>
Date:   Tue Jan 23 10:50:02 2018 +1030

    Define __start/__stop symbols when there is only a dynamic def

    This patch fixes a case where a user had a C-representable named
    section in both the executable and shared libraries, and of course
    wanted the size of the local section in the executable, not the
    dynamic section.  It does mean that __start and __stop symbols don't
    behave exactly like PROVIDEd symbols, but I think that's a reasonable
    difference particularly since this is the way they used to behave.

            * elflink.c (bfd_elf_define_start_stop): Override symbols when
            they are defined dynamically.

-- 
You are receiving this mail because:
You are on the CC list for the bug.


reply via email to

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