Displaying 2 results from an estimated 2 matches for "no_legacy_initfini".
2014 Dec 08
3
[LLVMdev] [lld] Handling multiple -init/-fini command line options
On Mon, Dec 08, 2014 at 10:21:49AM -0600, Shankar Easwaran wrote:
> The DT_INIT/DT_FINI correspond to one initializer function,where as
> DT_INIT_ARRAY/DT_FINI_ARRAY is used when there is more than one
> initalizer function/finalizer function respectively.
This is not true. The difference is that the DT_INIT / DT_FINI function
is responsible for calling into the .init / .fini block and
2014 Dec 08
3
[LLVMdev] [lld] Handling multiple -init/-fini command line options
...overwrite the earlier ones.
>
> Thanks Joerg, The snip of code that appears to run the init/fini was easily
> browseable with musl.
>
> http://git.musl-libc.org/cgit/musl/tree/src/ldso/dynlink.c (function:
> do_init_fini).
>
> That said, all of the code is essentially under NO_LEGACY_INITFINI, is the
> linker responsible to convert DT_INIT to DT_INITARRAY's ?
>
> If so, I think more than one init/fini option should be converted to
> DT_INIT_ARRAY (or) DT_FINI_ARRAY respectively ?
By the way, gnu linker support both DT_INIT and DT_INIT_ARRAY tags at
the same time. For ex...