This is the mail archive of the
mailing list for the binutils project.
Re: [PATCH] Mark __start/__stop symbols as PROTECTED in shared object
On Tue, Aug 15, 2017 at 5:50 PM, Alan Modra <firstname.lastname@example.org> 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 <email@example.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?