glibc/sysdeps
Florian Weimer dd32e1db38 Revert "elf: Always call destructors in reverse constructor order (bug 30785)"
This reverts commit 6985865bc3.

Reason for revert:

The commit changes the order of ELF destructor calls too much relative
to what applications expect or can handle.  In particular, during
process exit and _dl_fini, after the revert commit, we no longer call
the destructors of the main program first; that only happens after
some dlopen'ed objects have been destructed.  This robs applications
of an opportunity to influence destructor order by calling dlclose
explicitly from the main program's ELF destructors.  A couple of
different approaches involving reverse constructor order were tried,
and none of them worked really well.  It seems we need to keep the
dependency sorting in _dl_fini.

There is also an ambiguity regarding nested dlopen calls from ELF
constructors: Should those destructors run before or after the object
that called dlopen?  Commit 6985865bc3 used reverse order
of the start of ELF constructor calls for destructors, but arguably
using completion of constructors is more correct.  However, that alone
is not sufficient to address application compatibility issues (it
does not change _dl_fini ordering at all).
2023-10-18 11:30:38 +02:00
..
aarch64 aarch64: Optimise vecmath logs 2023-10-05 16:54:16 +01:00
alpha Remove references to the defunct db2 subdir 2023-08-21 18:20:53 +02:00
arc configure: Use autoconf 2.71 2023-07-17 10:08:10 -04:00
arm configure: Use autoconf 2.71 2023-07-17 10:08:10 -04:00
csky configure: Use autoconf 2.71 2023-07-17 10:08:10 -04:00
generic Revert "elf: Always call destructors in reverse constructor order (bug 30785)" 2023-10-18 11:30:38 +02:00
gnu configure: Use autoconf 2.71 2023-07-17 10:08:10 -04:00
hppa configure: Use autoconf 2.71 2023-07-17 10:08:10 -04:00
htl htl: move pthread_attr_setdetachstate into libc 2023-08-24 01:57:22 +02:00
hurd hurd: Fix using interposable hurd_thread_self 2023-05-19 20:45:51 +02:00
i386 i686: Fix build with --disable-multiarch 2023-08-10 10:29:29 -03:00
ia64 configure: Use autoconf 2.71 2023-07-17 10:08:10 -04:00
ieee754 Avoid maybe-uninitialized warning in __kernel_rem_pio2 2023-10-16 09:59:32 +02:00
loongarch Revert "LoongArch: Add glibc.cpu.hwcap support." 2023-09-21 09:10:11 +08:00
m68k m68k: Use M68K_SCALE_AVAILABLE on __mpn_lshift and __mpn_rshift 2023-08-25 10:07:24 -03:00
mach hurd: Drop REG_GSFS and REG_ESDS from x86_64's ucontext 2023-09-28 00:10:13 +02:00
microblaze configure: Use autoconf 2.71 2023-07-17 10:08:10 -04:00
mips mips: dl-machine-reject-phdr: Get rid of alloca. 2023-10-02 12:55:27 +00:00
nios2 configure: Use autoconf 2.71 2023-07-17 10:08:10 -04:00
nptl Fix misspellings in sysdeps/ -- BZ 25337 2023-05-30 23:02:29 +00:00
or1k configure: Use autoconf 2.71 2023-07-17 10:08:10 -04:00
posix Fix leak in getaddrinfo introduced by the fix for CVE-2023-4806 [BZ #30843] 2023-09-25 01:21:51 +01:00
powerpc fegetenv_and_set_rn now uses the builtins provided by GCC. 2023-09-27 13:55:36 -03:00
pthread Exclude routines from fortification 2023-07-05 16:59:48 +02:00
riscv riscv: Add support for XTheadBb in string-fz[a,i].h 2023-09-06 09:27:43 -03:00
s390 s390x: Fix static PIE condition for toolchain bootstrapping. 2023-08-18 10:57:59 +02:00
sh configure: Use autoconf 2.71 2023-07-17 10:08:10 -04:00
sparc Remove references to the defunct db2 subdir 2023-08-21 18:20:53 +02:00
unix Add HWCAP2_MOPS from Linux 6.5 to AArch64 bits/hwcap.h 2023-10-17 13:13:27 +00:00
wordsize-32 Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
wordsize-64 hurd: Fix tst-writev test 2023-05-01 13:01:30 +02:00
x86 x86: Add support for AVX10 preset and vec size in cpu-features 2023-09-29 14:18:42 -05:00
x86_64 x86: Prepare strrchr-evex and strrchr-evex512 for AVX10 2023-10-06 00:18:55 -05:00