[PATCH] Mark __start/__stop symbols as PROTECTED in shared object

H.J. Lu hjl.tools@gmail.com
Mon Aug 14 23:53:00 GMT 2017
When building shared objects, mark __start and __stop symbols as
PROTECTED and bind them as symbolic to support dlsym.  Also override
__start, __stop, .startof.  and .sizeof. symbols defined in a shared
object.

OK for master?

bfd/

PR ld/21964
* elf-bfd.h (SYMBOLIC_BIND): TRUE for __start/__stop symbols.
* elflink.c (bfd_elf_define_start_stop): Override symbol defined
in a shared object.  Mark __start/__stop symbols as PROTECTED in
shared objects.

ld/

PR ld/21964
* testsuite/ld-elf/pr21562a.d: Replace LOCAL/DEFAULT with
GLOBAL/PROTECTED on __start_scnfoo.
* testsuite/ld-elf/pr21562b.d: Likewise.
* testsuite/ld-elf/pr21562c.d: Likewise.
* testsuite/ld-elf/pr21562d.d: Likewise.
* testsuite/ld-elf/pr21562e.d: Likewise.
* testsuite/ld-elf/pr21562f.d: Likewise.
* testsuite/ld-elf/pr21562g.d: Likewise.
* testsuite/ld-elf/pr21562h.d: Likewise.
* testsuite/ld-elf/pr21562i.d: Likewise.
* testsuite/ld-elf/pr21562j.d: Likewise.
* testsuite/ld-elf/pr21562k.d: Likewise.
* testsuite/ld-elf/pr21562l.d: Likewise.
* testsuite/ld-elf/pr21562m.d: Likewise.
* testsuite/ld-elf/pr21562n.d: Likewise.
* testsuite/ld-elf/pr21964-1a.c: New file.
* testsuite/ld-elf/pr21964-1b.c: Likewise.
* testsuite/ld-elf/pr21964-2a.c: Likewise.
* testsuite/ld-elf/pr21964-2b.c: Likewise.
* testsuite/ld-elf/shared.exp: Run PR ld/21964 tests.
* testsuite/ld-elf/sizeofb.d: Replace LOCAL/DEFAULT with
GLOBAL/PROTECTED on __stop_scnfoo.
* testsuite/ld-elf/startofb.d: Replace LOCAL/DEFAULT with
GLOBAL/PROTECTED on __start_scnfoo.

-- 
H.J.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-Mark-__start-__stop-symbols-as-PROTECTED-in-shared-o.patch
Type: text/x-patch
Size: 16641 bytes
Desc: not available
URL: <https://sourceware.org/pipermail/binutils/attachments/20170814/3819e07d/attachment.bin>


More information about the Binutils mailing list