[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.