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