[PATCH] Introduce ELF_INITFINI for all architectures
Palmer Dabbelt
palmer@sifive.com
Wed Aug 8 19:49:00 GMT 2018
On Wed, 08 Aug 2018 07:42:27 PDT (-0700), fweimer@redhat.com wrote:
> On 06/23/2018 11:45 PM, Florian Weimer wrote:
>> 2018-06-23 Florian Weimer<fweimer@redhat.com>
>>
>> Introduce ELF_INITFINI, set everywhere except on RISC-V.
>> * sysdeps/init_array/crti.S: Move to ...
>> * sysdepes/generic/crti.S: here. Report an error if ELF_INITFINI.
>> * sysdeps/init_array/crtn.S: Move to ...
>> * sysdeps/generic/crtn.S: here. Report an error if ELF_INITFINI.
>> * csu/elf-init.c: Check ELF_INITFINI instead of NO_INITFINI.
>> * gmon/gmon-start.c [!ELF_INITFINI] (GMON_START_ARRAY_SECTION):
>> Define.
>> * elf/dl-fini.c (_dl_fini): Check for ELF_INITFINI before using
>> DT_FINI.
>> * elf/dl-init.c (call_init): Check for ELF_INITFINI before using
>> DT_INIT.
>> * nptl/pt-crti.S [ELF_INITFINI]: Use .init_array instead of
>> PREINIT_FUNCTION.
>> * sysdeps/generic/platform-params.h: New file.
>> * sysdeps/init_array/elf-init.c: Remove file.
>> * sysdeps/init_array/gmon-start.c: Likewise.
>> * sysdeps/init_array/pt-crti.S: Likewise.
>> * sysdeps/riscv/Implies (init_array): Remove.
>> * sysdeps/riscv/platform-params.h: New file.
>
> Ping?
>
> <https://sourceware.org/ml/libc-alpha/2018-07/msg00051.html>
I'm happy with the RISC-V aspects, which I understand to be functionally a NOP.
I like avoiding the ABI bloat.
For some reason I thought someone mentioned some references to _init/_fini
floating around our port, but I can't find any so maybe I'm just going crazy?
If they're there then we should probably remove them, as they don't actually do
anything.
More information about the Libc-alpha
mailing list