This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
On 08/08/2018 09:49 PM, Palmer Dabbelt wrote:
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.
The patch removes the DT_INIT/DT_FINI execution logic from the RISC-V port because ELF_INITFINI && l->l_info[DT_FINI] != NULL and the similar condition for DT_INIT are always false. Before the patch, the code is still there, but dormant because the GNU toolchain will always generate NULL pointers there.
Thanks, Florian
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |