[PATCH] Mark __start/__stop symbols as PROTECTED in shared object
Alan Modra
amodra@gmail.com
Wed Aug 16 01:55:00 GMT 2017
More information about the Binutils mailing list
Wed Aug 16 01:55:00 GMT 2017
- Previous message (by thread): [PATCH] Mark __start/__stop symbols as PROTECTED in shared object
- Next message (by thread): [PATCH] Mark __start/__stop symbols as PROTECTED in shared object
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On Tue, Aug 15, 2017 at 06:05:16PM -0700, H.J. Lu wrote: > On Tue, Aug 15, 2017 at 5:50 PM, Alan Modra <amodra@gmail.com> wrote: > > On Mon, Aug 14, 2017 at 05:10:02PM -0700, H.J. Lu wrote: > >> On Mon, Aug 14, 2017 at 4:53 PM, H.J. Lu <hjl.tools@gmail.com> wrote: > >> > 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. > >> > > >> > >> No need to mark them as protected when bind them symbolic. > > > > I think you should be making these symbols protected visibility. > > > > The question is if they should be bound symbolically. If no, is there > a use case? If yes, why PROTECTED? If these linker provided symbols are made protected visibility then that itself advertises their binding. They bind locally within that binary. If you change SYMBOLIC_BIND then that is a magic linker behaviour, not wrong, but not something that is obvious from the object file. Incidentally, your patch is in response to a use case that was broken when you made them hidden in shared libraries. I wonder whether they shouldn't be protected in the executable too? I can imagine a shared library needing access to a special section in the executable. -- Alan Modra Australia Development Lab, IBM
- Previous message (by thread): [PATCH] Mark __start/__stop symbols as PROTECTED in shared object
- Next message (by thread): [PATCH] Mark __start/__stop symbols as PROTECTED in shared object
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Binutils mailing list