RFC: Default to a start address of zero for shared libraries

Fangrui Song i@maskray.me
Fri Sep 17 23:45:52 GMT 2021


On 2021-09-17, Fangrui Song wrote:
>On 2021-09-18, Alan Modra via Binutils wrote:
>>On Fri, Sep 17, 2021 at 05:20:33PM +0100, Nick Clifton via Binutils wrote:
>>>  The point of this is that it then makes it easier for the loader to
>>>  detect mistaken attempts by users to run shared objects.
>>
>>Have you tried a glibc build?  glibc ld.so is a shared object that is
>>supposed to be runnable.
>>
>>$ elf/ld.so --help
>>Usage: elf/ld.so [OPTION]... EXECUTABLE-FILE [ARGS-FOR-PROGRAM...]
>>You have invoked 'ld.so', the program interpreter for dynamically-linked
>>[snip]
>
>In glibc, elf/librtld.os is linked into ld.so.
>elf/librtld.os defines _start, therefore glibc is unaffected.
>
>For ld.lld, I'll just be more aggressive and remove the .text fallback
>for all modes (including executables) :)

A useful data point: gold doesn't fall back to .text


More information about the Binutils mailing list