glibc/glibc-fedora-__libc_multipl...

92 lines
2.9 KiB
Diff
Raw Normal View History

Short description: Cleanup use of _dl_starting_up.
Author(s): Fedora glibc team <glibc@lists.fedoraproject.org>
Origin: PATCH
Upstream status: https://sourceware.org/ml/libc-alpha/2014-02/msg00589.html
Upstream discussions:
https://sourceware.org/ml/libc-alpha/2014-02/msg00580.html
Based on the following commit:
~~~
From 16552c01a66633c9e412984d9d92616bd4e5303c Mon Sep 17 00:00:00 2001
From: Andreas Schwab <schwab@redhat.com>
Date: Fri, 11 Jun 2010 11:04:11 +0200
Subject: [PATCH] Properly set __libc_multiple_libcs
* elf/rtld.c (_dl_starting_up): Always define.
(dl_main): Always set _dl_starting_up.
* elf/dl-support.c (_dl_starting_up): Always define.
* elf/dl-init.c (_dl_init): Always clear _dl_starting_up.
---
ChangeLog | 7 +++++++
elf/dl-init.c | 4 ----
elf/dl-support.c | 2 --
elf/rtld.c | 4 ----
4 files changed, 7 insertions(+), 10 deletions(-)
~~~
This patch needs to go upstream to get cleaned up, but has always involed
analysis of the GNU/Hurd parts of the change and that stalled out, but
perhaps with build-many-glibcs we can now test these changes more easily.
Auto-sync with upstream branch master Upstream commit: b1caa144c74678097cada5a54eda2996bb459d8f - Update mips libm-test-ulps - Update alpha libm-test-ulps - Update ia64 libm-test-ulps - Update sparc libm-test-ulps - Update arm libm-test-ulps - Update aarch64 libm-test-ulps - Updates to the shn_MM locale [BZ #25532] - powerpc: Update ULPs and xfail more ibm128 outputs - i386: Remove build support for GCC older than GCC 6 - oc_FR locale: Fix spelling of April (bug 25639) - Update hppa libm-test-ulps - y2038: linux: Provide __mq_timedreceive_time64 implementation - y2038: linux: Provide __mq_timedsend_time64 implementation - y2038: include: Move struct __timespec64 definition to a separate file - malloc: ensure set_max_fast never stores zero [BZ #25733] - powerpc64le: enforce non-specific long double in .gnu.attributes section - powerpc64le: workaround ieee long double / _Float128 stdc++ bug - powerpc64le: Enforce -mabi=ibmlongdouble when -mfloat128 used - powerpc64le/multiarch: don't generate strong aliases for fmaf128-ppc64 - ldbl-128ibm: simplify iscanonical.h - i386: Disable check_consistency for GCC 5 and above [BZ #25788] - Add IPPROTO_ETHERNET and IPPROTO_MPTCP from Linux 5.6 to netinet/in.h. - Update syscall lists for Linux 5.6. - elf: Implement DT_AUDIT, DT_DEPAUDIT support [BZ #24943] - elf: Simplify handling of lists of audit strings - support: Change xgetline to return 0 on EOF - nptl: Remove x86_64 cancellation assembly implementations [BZ #25765] - aarch64: update bits/hwcap.h - Add tests for Safe-Linking - S390: Regenerate ULPs. - sysv/alpha: Use generic __timeval32 and helpers - linux: Use long time_t for wait4/getrusage - resource: Add a __rusage64 struct - linux: Use long time_t __getitimer/__setitimer - sysv: Define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 - math: Add inputs that yield larger errors for float type (x86_64)
2020-04-08 20:47:40 +00:00
diff --git a/elf/dl-init.c b/elf/dl-init.c
Auto-sync with upstream branch master, Upstream commit: ffb17e7ba3a5ba9632cee97330b325072fbe41dd - rtld: Avoid using up static TLS surplus for optimizations [BZ #25051] - rtld: Account static TLS surplus for audit modules - rtld: Add rtld.nns tunable for the number of supported namespaces - Remove --enable-obsolete-nsl configure flag - Move non-deprecated RPC-related functions from sunrpc to inet - aarch64: add NEWS entry about branch protection support - aarch64: redefine RETURN_ADDRESS to strip PAC - aarch64: fix pac-ret support in _mcount - aarch64: Add pac-ret support to assembly files - aarch64: configure check for pac-ret code generation - aarch64: ensure objects are BTI compatible - aarch64: enable BTI at runtime - aarch64: fix RTLD_START for BTI - aarch64: fix swapcontext for BTI - aarch64: Add BTI support to assembly files - aarch64: Rename place holder .S files to .c - aarch64: configure test for BTI support - Rewrite abi-note.S in C. - rtld: Clean up PT_NOTE and add PT_GNU_PROPERTY handling - string: Move tst-strsignal tst-strerror to tests-container - string: Fix prototype mismatch in sigabbrev_np, __sigdescr_np - arm: CVE-2020-6096: Fix multiarch memcpy for negative length (#1820332) - arm: CVE-2020-6096: fix memcpy and memmove for negative length (#1820332) - sunrpc: Remove hidden aliases for global data symbols (bug 26210) - hurd: Fix strerror not setting errno - tst-strsignal: fix checking for RT signals support - hurd: Evaluate fd before entering the critical section - CVE-2016-10228: Rewrite iconv option parsing (#1428292) - nss: Remove cryptographic key support from nss_files, nss_nis, nss_nisplus - sunrpc: Do not export getrpcport by default - sunrpc: Do not export key handling hooks by default - sunrpc: Turn clnt_sperrno into a libc_hidden_nolink_sunrpc symbol - string: Add strerrorname_np and strerrordesc_np - string: Add sigabbrev_np and sigdescr_np - string: Add strerror_l on test-strerror-errno - string: Add strerror, strerror_r, and strerror_l test - string: Add strsignal test - string: Simplify strerror_r - string: Use tls-internal on strerror_l - string: Implement strerror in terms of strerror_l - string: Remove old TLS usage on strsignal - linux: Fix __NSIG_WORDS and add __NSIG_BYTES - signal: Move sys_errlist to a compat symbol - signal: Move sys_siglist to a compat symbol - signal: Add signum-{generic,arch}.h - Remove most vfprintf width/precision-dependent allocations (bug 14231, bug 26211). - elf: Do not signal LA_ACT_CONSISTENT for an empty namespace [BZ #26076] - Fix stringop-overflow errors from gcc 10 in iconv. - x86: Add thresholds for "rep movsb/stosb" to tunables - Use C2x return value from getpayload of non-NaN (bug 26073). - x86: Detect Extended Feature Disable (XFD) - x86: Correct bit_cpu_CLFSH [BZ #26208] - manual: Document __libc_single_threaded - Add the __libc_single_threaded variable - Linux: rseq registration tests - Linux: Use rseq in sched_getcpu if available - Linux: Perform rseq registration at C startup and thread creation - tst-cancel4: deal with ENOSYS errors - manual: Show copyright information not just in the printed manual
2020-07-10 10:56:47 +00:00
index 518824e8a5826314..66c395474a57c1fd 100644
Resolves: #1462820 - Drop glibc-Disable-buf-NULL-in-login-tst-ptsname.c, applied upstream. - Auto-sync with upstream master, commit 37e9dc814636915afb88d0779e5e897e90e7b8c0, fixing: - CVE-2017-1000366: Avoid large allocas in the dynamic linker (#1462820) - wait3 namespace (swbz#21625) - S390: Sync ptrace.h with kernel (swbz#21539) - Another x86 sys/ucontext.h namespace issue (swbz#21457) - siginterrupt namespace (swbz#21597) - Signal stack namespace (swbz#21584) - Define struct rusage in sys/wait.h when required (swbz#21575) - S390: Fix build with gcc configured with --enable-default-pie (swbz#21537) - Update timezone code from tzcode 2017b - nptl: Invert the mmap/mprotect logic on allocated stacks (swbz#18988) - PowerPC64 ELFv2 PPC64_OPT_LOCALENTRY - Make copy of <bits/std_abs.h> from GCC (swbz#21573) - localedata: ce_RU: update weekdays from CLDR (swbz#21207) - localedata: Remove trailing spaces (swbz#20275) - XPG4 bsd_signal namespace (swbz#21552) - Correct collation rules for Malayalam (swbz#19922, swbz#19919) - waitid namespace (swbz#21561) - Condition signal.h inclusion in sys/wait.h (swbz#21560) - ld.so: Consolidate 2 strtouls into _dl_strtoul (swbz#21528) - tst-timezone race (swbz#14096) - Define SIG_HOLD for XPG4 (swbz#21538) - struct sigaltstack namespace (swbz#21517) - sigevent namespace (swbz#21543) - Add shim header for bits/syscall.h (swbz#21514) - namespace issues in sys/ucontext.h (swbz#21457) - posix: Implement preadv2 and pwritev2 - Various float128 and tunables improvements
2017-06-19 22:18:02 +00:00
--- a/elf/dl-init.c
+++ b/elf/dl-init.c
Auto-sync with upstream branch master, Upstream commit: ffb17e7ba3a5ba9632cee97330b325072fbe41dd - rtld: Avoid using up static TLS surplus for optimizations [BZ #25051] - rtld: Account static TLS surplus for audit modules - rtld: Add rtld.nns tunable for the number of supported namespaces - Remove --enable-obsolete-nsl configure flag - Move non-deprecated RPC-related functions from sunrpc to inet - aarch64: add NEWS entry about branch protection support - aarch64: redefine RETURN_ADDRESS to strip PAC - aarch64: fix pac-ret support in _mcount - aarch64: Add pac-ret support to assembly files - aarch64: configure check for pac-ret code generation - aarch64: ensure objects are BTI compatible - aarch64: enable BTI at runtime - aarch64: fix RTLD_START for BTI - aarch64: fix swapcontext for BTI - aarch64: Add BTI support to assembly files - aarch64: Rename place holder .S files to .c - aarch64: configure test for BTI support - Rewrite abi-note.S in C. - rtld: Clean up PT_NOTE and add PT_GNU_PROPERTY handling - string: Move tst-strsignal tst-strerror to tests-container - string: Fix prototype mismatch in sigabbrev_np, __sigdescr_np - arm: CVE-2020-6096: Fix multiarch memcpy for negative length (#1820332) - arm: CVE-2020-6096: fix memcpy and memmove for negative length (#1820332) - sunrpc: Remove hidden aliases for global data symbols (bug 26210) - hurd: Fix strerror not setting errno - tst-strsignal: fix checking for RT signals support - hurd: Evaluate fd before entering the critical section - CVE-2016-10228: Rewrite iconv option parsing (#1428292) - nss: Remove cryptographic key support from nss_files, nss_nis, nss_nisplus - sunrpc: Do not export getrpcport by default - sunrpc: Do not export key handling hooks by default - sunrpc: Turn clnt_sperrno into a libc_hidden_nolink_sunrpc symbol - string: Add strerrorname_np and strerrordesc_np - string: Add sigabbrev_np and sigdescr_np - string: Add strerror_l on test-strerror-errno - string: Add strerror, strerror_r, and strerror_l test - string: Add strsignal test - string: Simplify strerror_r - string: Use tls-internal on strerror_l - string: Implement strerror in terms of strerror_l - string: Remove old TLS usage on strsignal - linux: Fix __NSIG_WORDS and add __NSIG_BYTES - signal: Move sys_errlist to a compat symbol - signal: Move sys_siglist to a compat symbol - signal: Add signum-{generic,arch}.h - Remove most vfprintf width/precision-dependent allocations (bug 14231, bug 26211). - elf: Do not signal LA_ACT_CONSISTENT for an empty namespace [BZ #26076] - Fix stringop-overflow errors from gcc 10 in iconv. - x86: Add thresholds for "rep movsb/stosb" to tunables - Use C2x return value from getpayload of non-NaN (bug 26073). - x86: Detect Extended Feature Disable (XFD) - x86: Correct bit_cpu_CLFSH [BZ #26208] - manual: Document __libc_single_threaded - Add the __libc_single_threaded variable - Linux: rseq registration tests - Linux: Use rseq in sched_getcpu if available - Linux: Perform rseq registration at C startup and thread creation - tst-cancel4: deal with ENOSYS errors - manual: Show copyright information not just in the printed manual
2020-07-10 10:56:47 +00:00
@@ -120,8 +120,6 @@ _dl_init (struct link_map *main_map, int argc, char **argv, char **env)
while (i-- > 0)
call_init (main_map->l_initfini[i], argc, argv, env);
-#ifndef HAVE_INLINED_SYSCALLS
/* Finished starting up. */
2014-11-24 14:58:08 +00:00
_dl_starting_up = 0;
-#endif
}
Auto-sync with upstream branch master Upstream commit: b1caa144c74678097cada5a54eda2996bb459d8f - Update mips libm-test-ulps - Update alpha libm-test-ulps - Update ia64 libm-test-ulps - Update sparc libm-test-ulps - Update arm libm-test-ulps - Update aarch64 libm-test-ulps - Updates to the shn_MM locale [BZ #25532] - powerpc: Update ULPs and xfail more ibm128 outputs - i386: Remove build support for GCC older than GCC 6 - oc_FR locale: Fix spelling of April (bug 25639) - Update hppa libm-test-ulps - y2038: linux: Provide __mq_timedreceive_time64 implementation - y2038: linux: Provide __mq_timedsend_time64 implementation - y2038: include: Move struct __timespec64 definition to a separate file - malloc: ensure set_max_fast never stores zero [BZ #25733] - powerpc64le: enforce non-specific long double in .gnu.attributes section - powerpc64le: workaround ieee long double / _Float128 stdc++ bug - powerpc64le: Enforce -mabi=ibmlongdouble when -mfloat128 used - powerpc64le/multiarch: don't generate strong aliases for fmaf128-ppc64 - ldbl-128ibm: simplify iscanonical.h - i386: Disable check_consistency for GCC 5 and above [BZ #25788] - Add IPPROTO_ETHERNET and IPPROTO_MPTCP from Linux 5.6 to netinet/in.h. - Update syscall lists for Linux 5.6. - elf: Implement DT_AUDIT, DT_DEPAUDIT support [BZ #24943] - elf: Simplify handling of lists of audit strings - support: Change xgetline to return 0 on EOF - nptl: Remove x86_64 cancellation assembly implementations [BZ #25765] - aarch64: update bits/hwcap.h - Add tests for Safe-Linking - S390: Regenerate ULPs. - sysv/alpha: Use generic __timeval32 and helpers - linux: Use long time_t for wait4/getrusage - resource: Add a __rusage64 struct - linux: Use long time_t __getitimer/__setitimer - sysv: Define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 - math: Add inputs that yield larger errors for float type (x86_64)
2020-04-08 20:47:40 +00:00
diff --git a/elf/dl-support.c b/elf/dl-support.c
index 7704c101c5a543a1..ffa235c78df8481f 100644
Resolves: #1462820 - Drop glibc-Disable-buf-NULL-in-login-tst-ptsname.c, applied upstream. - Auto-sync with upstream master, commit 37e9dc814636915afb88d0779e5e897e90e7b8c0, fixing: - CVE-2017-1000366: Avoid large allocas in the dynamic linker (#1462820) - wait3 namespace (swbz#21625) - S390: Sync ptrace.h with kernel (swbz#21539) - Another x86 sys/ucontext.h namespace issue (swbz#21457) - siginterrupt namespace (swbz#21597) - Signal stack namespace (swbz#21584) - Define struct rusage in sys/wait.h when required (swbz#21575) - S390: Fix build with gcc configured with --enable-default-pie (swbz#21537) - Update timezone code from tzcode 2017b - nptl: Invert the mmap/mprotect logic on allocated stacks (swbz#18988) - PowerPC64 ELFv2 PPC64_OPT_LOCALENTRY - Make copy of <bits/std_abs.h> from GCC (swbz#21573) - localedata: ce_RU: update weekdays from CLDR (swbz#21207) - localedata: Remove trailing spaces (swbz#20275) - XPG4 bsd_signal namespace (swbz#21552) - Correct collation rules for Malayalam (swbz#19922, swbz#19919) - waitid namespace (swbz#21561) - Condition signal.h inclusion in sys/wait.h (swbz#21560) - ld.so: Consolidate 2 strtouls into _dl_strtoul (swbz#21528) - tst-timezone race (swbz#14096) - Define SIG_HOLD for XPG4 (swbz#21538) - struct sigaltstack namespace (swbz#21517) - sigevent namespace (swbz#21543) - Add shim header for bits/syscall.h (swbz#21514) - namespace issues in sys/ucontext.h (swbz#21457) - posix: Implement preadv2 and pwritev2 - Various float128 and tunables improvements
2017-06-19 22:18:02 +00:00
--- a/elf/dl-support.c
+++ b/elf/dl-support.c
Auto-sync with upstream branch master Upstream commit: b1caa144c74678097cada5a54eda2996bb459d8f - Update mips libm-test-ulps - Update alpha libm-test-ulps - Update ia64 libm-test-ulps - Update sparc libm-test-ulps - Update arm libm-test-ulps - Update aarch64 libm-test-ulps - Updates to the shn_MM locale [BZ #25532] - powerpc: Update ULPs and xfail more ibm128 outputs - i386: Remove build support for GCC older than GCC 6 - oc_FR locale: Fix spelling of April (bug 25639) - Update hppa libm-test-ulps - y2038: linux: Provide __mq_timedreceive_time64 implementation - y2038: linux: Provide __mq_timedsend_time64 implementation - y2038: include: Move struct __timespec64 definition to a separate file - malloc: ensure set_max_fast never stores zero [BZ #25733] - powerpc64le: enforce non-specific long double in .gnu.attributes section - powerpc64le: workaround ieee long double / _Float128 stdc++ bug - powerpc64le: Enforce -mabi=ibmlongdouble when -mfloat128 used - powerpc64le/multiarch: don't generate strong aliases for fmaf128-ppc64 - ldbl-128ibm: simplify iscanonical.h - i386: Disable check_consistency for GCC 5 and above [BZ #25788] - Add IPPROTO_ETHERNET and IPPROTO_MPTCP from Linux 5.6 to netinet/in.h. - Update syscall lists for Linux 5.6. - elf: Implement DT_AUDIT, DT_DEPAUDIT support [BZ #24943] - elf: Simplify handling of lists of audit strings - support: Change xgetline to return 0 on EOF - nptl: Remove x86_64 cancellation assembly implementations [BZ #25765] - aarch64: update bits/hwcap.h - Add tests for Safe-Linking - S390: Regenerate ULPs. - sysv/alpha: Use generic __timeval32 and helpers - linux: Use long time_t for wait4/getrusage - resource: Add a __rusage64 struct - linux: Use long time_t __getitimer/__setitimer - sysv: Define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 - math: Add inputs that yield larger errors for float type (x86_64)
2020-04-08 20:47:40 +00:00
@@ -120,10 +120,8 @@ struct r_scope_elem _dl_initial_searchlist =
2013-07-09 17:45:48 +00:00
.r_nlist = 1,
};
-#ifndef HAVE_INLINED_SYSCALLS
/* Nonzero during startup. */
int _dl_starting_up = 1;
-#endif
/* Random data provided by the kernel. */
void *_dl_random;
Auto-sync with upstream branch master Upstream commit: b1caa144c74678097cada5a54eda2996bb459d8f - Update mips libm-test-ulps - Update alpha libm-test-ulps - Update ia64 libm-test-ulps - Update sparc libm-test-ulps - Update arm libm-test-ulps - Update aarch64 libm-test-ulps - Updates to the shn_MM locale [BZ #25532] - powerpc: Update ULPs and xfail more ibm128 outputs - i386: Remove build support for GCC older than GCC 6 - oc_FR locale: Fix spelling of April (bug 25639) - Update hppa libm-test-ulps - y2038: linux: Provide __mq_timedreceive_time64 implementation - y2038: linux: Provide __mq_timedsend_time64 implementation - y2038: include: Move struct __timespec64 definition to a separate file - malloc: ensure set_max_fast never stores zero [BZ #25733] - powerpc64le: enforce non-specific long double in .gnu.attributes section - powerpc64le: workaround ieee long double / _Float128 stdc++ bug - powerpc64le: Enforce -mabi=ibmlongdouble when -mfloat128 used - powerpc64le/multiarch: don't generate strong aliases for fmaf128-ppc64 - ldbl-128ibm: simplify iscanonical.h - i386: Disable check_consistency for GCC 5 and above [BZ #25788] - Add IPPROTO_ETHERNET and IPPROTO_MPTCP from Linux 5.6 to netinet/in.h. - Update syscall lists for Linux 5.6. - elf: Implement DT_AUDIT, DT_DEPAUDIT support [BZ #24943] - elf: Simplify handling of lists of audit strings - support: Change xgetline to return 0 on EOF - nptl: Remove x86_64 cancellation assembly implementations [BZ #25765] - aarch64: update bits/hwcap.h - Add tests for Safe-Linking - S390: Regenerate ULPs. - sysv/alpha: Use generic __timeval32 and helpers - linux: Use long time_t for wait4/getrusage - resource: Add a __rusage64 struct - linux: Use long time_t __getitimer/__setitimer - sysv: Define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 - math: Add inputs that yield larger errors for float type (x86_64)
2020-04-08 20:47:40 +00:00
diff --git a/elf/rtld.c b/elf/rtld.c
Auto-sync with upstream branch master, Upstream commit: ffb17e7ba3a5ba9632cee97330b325072fbe41dd - rtld: Avoid using up static TLS surplus for optimizations [BZ #25051] - rtld: Account static TLS surplus for audit modules - rtld: Add rtld.nns tunable for the number of supported namespaces - Remove --enable-obsolete-nsl configure flag - Move non-deprecated RPC-related functions from sunrpc to inet - aarch64: add NEWS entry about branch protection support - aarch64: redefine RETURN_ADDRESS to strip PAC - aarch64: fix pac-ret support in _mcount - aarch64: Add pac-ret support to assembly files - aarch64: configure check for pac-ret code generation - aarch64: ensure objects are BTI compatible - aarch64: enable BTI at runtime - aarch64: fix RTLD_START for BTI - aarch64: fix swapcontext for BTI - aarch64: Add BTI support to assembly files - aarch64: Rename place holder .S files to .c - aarch64: configure test for BTI support - Rewrite abi-note.S in C. - rtld: Clean up PT_NOTE and add PT_GNU_PROPERTY handling - string: Move tst-strsignal tst-strerror to tests-container - string: Fix prototype mismatch in sigabbrev_np, __sigdescr_np - arm: CVE-2020-6096: Fix multiarch memcpy for negative length (#1820332) - arm: CVE-2020-6096: fix memcpy and memmove for negative length (#1820332) - sunrpc: Remove hidden aliases for global data symbols (bug 26210) - hurd: Fix strerror not setting errno - tst-strsignal: fix checking for RT signals support - hurd: Evaluate fd before entering the critical section - CVE-2016-10228: Rewrite iconv option parsing (#1428292) - nss: Remove cryptographic key support from nss_files, nss_nis, nss_nisplus - sunrpc: Do not export getrpcport by default - sunrpc: Do not export key handling hooks by default - sunrpc: Turn clnt_sperrno into a libc_hidden_nolink_sunrpc symbol - string: Add strerrorname_np and strerrordesc_np - string: Add sigabbrev_np and sigdescr_np - string: Add strerror_l on test-strerror-errno - string: Add strerror, strerror_r, and strerror_l test - string: Add strsignal test - string: Simplify strerror_r - string: Use tls-internal on strerror_l - string: Implement strerror in terms of strerror_l - string: Remove old TLS usage on strsignal - linux: Fix __NSIG_WORDS and add __NSIG_BYTES - signal: Move sys_errlist to a compat symbol - signal: Move sys_siglist to a compat symbol - signal: Add signum-{generic,arch}.h - Remove most vfprintf width/precision-dependent allocations (bug 14231, bug 26211). - elf: Do not signal LA_ACT_CONSISTENT for an empty namespace [BZ #26076] - Fix stringop-overflow errors from gcc 10 in iconv. - x86: Add thresholds for "rep movsb/stosb" to tunables - Use C2x return value from getpayload of non-NaN (bug 26073). - x86: Detect Extended Feature Disable (XFD) - x86: Correct bit_cpu_CLFSH [BZ #26208] - manual: Document __libc_single_threaded - Add the __libc_single_threaded variable - Linux: rseq registration tests - Linux: Use rseq in sched_getcpu if available - Linux: Perform rseq registration at C startup and thread creation - tst-cancel4: deal with ENOSYS errors - manual: Show copyright information not just in the printed manual
2020-07-10 10:56:47 +00:00
index 5b882163fae5ea8a..f93adf017c9d2110 100644
Resolves: #1462820 - Drop glibc-Disable-buf-NULL-in-login-tst-ptsname.c, applied upstream. - Auto-sync with upstream master, commit 37e9dc814636915afb88d0779e5e897e90e7b8c0, fixing: - CVE-2017-1000366: Avoid large allocas in the dynamic linker (#1462820) - wait3 namespace (swbz#21625) - S390: Sync ptrace.h with kernel (swbz#21539) - Another x86 sys/ucontext.h namespace issue (swbz#21457) - siginterrupt namespace (swbz#21597) - Signal stack namespace (swbz#21584) - Define struct rusage in sys/wait.h when required (swbz#21575) - S390: Fix build with gcc configured with --enable-default-pie (swbz#21537) - Update timezone code from tzcode 2017b - nptl: Invert the mmap/mprotect logic on allocated stacks (swbz#18988) - PowerPC64 ELFv2 PPC64_OPT_LOCALENTRY - Make copy of <bits/std_abs.h> from GCC (swbz#21573) - localedata: ce_RU: update weekdays from CLDR (swbz#21207) - localedata: Remove trailing spaces (swbz#20275) - XPG4 bsd_signal namespace (swbz#21552) - Correct collation rules for Malayalam (swbz#19922, swbz#19919) - waitid namespace (swbz#21561) - Condition signal.h inclusion in sys/wait.h (swbz#21560) - ld.so: Consolidate 2 strtouls into _dl_strtoul (swbz#21528) - tst-timezone race (swbz#14096) - Define SIG_HOLD for XPG4 (swbz#21538) - struct sigaltstack namespace (swbz#21517) - sigevent namespace (swbz#21543) - Add shim header for bits/syscall.h (swbz#21514) - namespace issues in sys/ucontext.h (swbz#21457) - posix: Implement preadv2 and pwritev2 - Various float128 and tunables improvements
2017-06-19 22:18:02 +00:00
--- a/elf/rtld.c
+++ b/elf/rtld.c
Auto-sync with upstream branch master, Upstream commit: ffb17e7ba3a5ba9632cee97330b325072fbe41dd - rtld: Avoid using up static TLS surplus for optimizations [BZ #25051] - rtld: Account static TLS surplus for audit modules - rtld: Add rtld.nns tunable for the number of supported namespaces - Remove --enable-obsolete-nsl configure flag - Move non-deprecated RPC-related functions from sunrpc to inet - aarch64: add NEWS entry about branch protection support - aarch64: redefine RETURN_ADDRESS to strip PAC - aarch64: fix pac-ret support in _mcount - aarch64: Add pac-ret support to assembly files - aarch64: configure check for pac-ret code generation - aarch64: ensure objects are BTI compatible - aarch64: enable BTI at runtime - aarch64: fix RTLD_START for BTI - aarch64: fix swapcontext for BTI - aarch64: Add BTI support to assembly files - aarch64: Rename place holder .S files to .c - aarch64: configure test for BTI support - Rewrite abi-note.S in C. - rtld: Clean up PT_NOTE and add PT_GNU_PROPERTY handling - string: Move tst-strsignal tst-strerror to tests-container - string: Fix prototype mismatch in sigabbrev_np, __sigdescr_np - arm: CVE-2020-6096: Fix multiarch memcpy for negative length (#1820332) - arm: CVE-2020-6096: fix memcpy and memmove for negative length (#1820332) - sunrpc: Remove hidden aliases for global data symbols (bug 26210) - hurd: Fix strerror not setting errno - tst-strsignal: fix checking for RT signals support - hurd: Evaluate fd before entering the critical section - CVE-2016-10228: Rewrite iconv option parsing (#1428292) - nss: Remove cryptographic key support from nss_files, nss_nis, nss_nisplus - sunrpc: Do not export getrpcport by default - sunrpc: Do not export key handling hooks by default - sunrpc: Turn clnt_sperrno into a libc_hidden_nolink_sunrpc symbol - string: Add strerrorname_np and strerrordesc_np - string: Add sigabbrev_np and sigdescr_np - string: Add strerror_l on test-strerror-errno - string: Add strerror, strerror_r, and strerror_l test - string: Add strsignal test - string: Simplify strerror_r - string: Use tls-internal on strerror_l - string: Implement strerror in terms of strerror_l - string: Remove old TLS usage on strsignal - linux: Fix __NSIG_WORDS and add __NSIG_BYTES - signal: Move sys_errlist to a compat symbol - signal: Move sys_siglist to a compat symbol - signal: Add signum-{generic,arch}.h - Remove most vfprintf width/precision-dependent allocations (bug 14231, bug 26211). - elf: Do not signal LA_ACT_CONSISTENT for an empty namespace [BZ #26076] - Fix stringop-overflow errors from gcc 10 in iconv. - x86: Add thresholds for "rep movsb/stosb" to tunables - Use C2x return value from getpayload of non-NaN (bug 26073). - x86: Detect Extended Feature Disable (XFD) - x86: Correct bit_cpu_CLFSH [BZ #26208] - manual: Document __libc_single_threaded - Add the __libc_single_threaded variable - Linux: rseq registration tests - Linux: Use rseq in sched_getcpu if available - Linux: Perform rseq registration at C startup and thread creation - tst-cancel4: deal with ENOSYS errors - manual: Show copyright information not just in the printed manual
2020-07-10 10:56:47 +00:00
@@ -316,7 +316,6 @@ audit_list_count (struct audit_list *list)
return naudit;
Resolves: #1462820 - Drop glibc-Disable-buf-NULL-in-login-tst-ptsname.c, applied upstream. - Auto-sync with upstream master, commit 37e9dc814636915afb88d0779e5e897e90e7b8c0, fixing: - CVE-2017-1000366: Avoid large allocas in the dynamic linker (#1462820) - wait3 namespace (swbz#21625) - S390: Sync ptrace.h with kernel (swbz#21539) - Another x86 sys/ucontext.h namespace issue (swbz#21457) - siginterrupt namespace (swbz#21597) - Signal stack namespace (swbz#21584) - Define struct rusage in sys/wait.h when required (swbz#21575) - S390: Fix build with gcc configured with --enable-default-pie (swbz#21537) - Update timezone code from tzcode 2017b - nptl: Invert the mmap/mprotect logic on allocated stacks (swbz#18988) - PowerPC64 ELFv2 PPC64_OPT_LOCALENTRY - Make copy of <bits/std_abs.h> from GCC (swbz#21573) - localedata: ce_RU: update weekdays from CLDR (swbz#21207) - localedata: Remove trailing spaces (swbz#20275) - XPG4 bsd_signal namespace (swbz#21552) - Correct collation rules for Malayalam (swbz#19922, swbz#19919) - waitid namespace (swbz#21561) - Condition signal.h inclusion in sys/wait.h (swbz#21560) - ld.so: Consolidate 2 strtouls into _dl_strtoul (swbz#21528) - tst-timezone race (swbz#14096) - Define SIG_HOLD for XPG4 (swbz#21538) - struct sigaltstack namespace (swbz#21517) - sigevent namespace (swbz#21543) - Add shim header for bits/syscall.h (swbz#21514) - namespace issues in sys/ucontext.h (swbz#21457) - posix: Implement preadv2 and pwritev2 - Various float128 and tunables improvements
2017-06-19 22:18:02 +00:00
}
-#ifndef HAVE_INLINED_SYSCALLS
/* Set nonzero during loading and initialization of executable and
libraries, cleared before the executable's entry point runs. This
must not be initialized to nonzero, because the unused dynamic
Auto-sync with upstream branch master, Upstream commit: ffb17e7ba3a5ba9632cee97330b325072fbe41dd - rtld: Avoid using up static TLS surplus for optimizations [BZ #25051] - rtld: Account static TLS surplus for audit modules - rtld: Add rtld.nns tunable for the number of supported namespaces - Remove --enable-obsolete-nsl configure flag - Move non-deprecated RPC-related functions from sunrpc to inet - aarch64: add NEWS entry about branch protection support - aarch64: redefine RETURN_ADDRESS to strip PAC - aarch64: fix pac-ret support in _mcount - aarch64: Add pac-ret support to assembly files - aarch64: configure check for pac-ret code generation - aarch64: ensure objects are BTI compatible - aarch64: enable BTI at runtime - aarch64: fix RTLD_START for BTI - aarch64: fix swapcontext for BTI - aarch64: Add BTI support to assembly files - aarch64: Rename place holder .S files to .c - aarch64: configure test for BTI support - Rewrite abi-note.S in C. - rtld: Clean up PT_NOTE and add PT_GNU_PROPERTY handling - string: Move tst-strsignal tst-strerror to tests-container - string: Fix prototype mismatch in sigabbrev_np, __sigdescr_np - arm: CVE-2020-6096: Fix multiarch memcpy for negative length (#1820332) - arm: CVE-2020-6096: fix memcpy and memmove for negative length (#1820332) - sunrpc: Remove hidden aliases for global data symbols (bug 26210) - hurd: Fix strerror not setting errno - tst-strsignal: fix checking for RT signals support - hurd: Evaluate fd before entering the critical section - CVE-2016-10228: Rewrite iconv option parsing (#1428292) - nss: Remove cryptographic key support from nss_files, nss_nis, nss_nisplus - sunrpc: Do not export getrpcport by default - sunrpc: Do not export key handling hooks by default - sunrpc: Turn clnt_sperrno into a libc_hidden_nolink_sunrpc symbol - string: Add strerrorname_np and strerrordesc_np - string: Add sigabbrev_np and sigdescr_np - string: Add strerror_l on test-strerror-errno - string: Add strerror, strerror_r, and strerror_l test - string: Add strsignal test - string: Simplify strerror_r - string: Use tls-internal on strerror_l - string: Implement strerror in terms of strerror_l - string: Remove old TLS usage on strsignal - linux: Fix __NSIG_WORDS and add __NSIG_BYTES - signal: Move sys_errlist to a compat symbol - signal: Move sys_siglist to a compat symbol - signal: Add signum-{generic,arch}.h - Remove most vfprintf width/precision-dependent allocations (bug 14231, bug 26211). - elf: Do not signal LA_ACT_CONSISTENT for an empty namespace [BZ #26076] - Fix stringop-overflow errors from gcc 10 in iconv. - x86: Add thresholds for "rep movsb/stosb" to tunables - Use C2x return value from getpayload of non-NaN (bug 26073). - x86: Detect Extended Feature Disable (XFD) - x86: Correct bit_cpu_CLFSH [BZ #26208] - manual: Document __libc_single_threaded - Add the __libc_single_threaded variable - Linux: rseq registration tests - Linux: Use rseq in sched_getcpu if available - Linux: Perform rseq registration at C startup and thread creation - tst-cancel4: deal with ENOSYS errors - manual: Show copyright information not just in the printed manual
2020-07-10 10:56:47 +00:00
@@ -326,7 +325,6 @@ audit_list_count (struct audit_list *list)
never be called. */
int _dl_starting_up = 0;
2014-11-24 14:58:08 +00:00
rtld_hidden_def (_dl_starting_up)
-#endif
/* This is the structure which defines all variables global to ld.so
(except those which cannot be added for some reason). */
Auto-sync with upstream branch master, Upstream commit: ffb17e7ba3a5ba9632cee97330b325072fbe41dd - rtld: Avoid using up static TLS surplus for optimizations [BZ #25051] - rtld: Account static TLS surplus for audit modules - rtld: Add rtld.nns tunable for the number of supported namespaces - Remove --enable-obsolete-nsl configure flag - Move non-deprecated RPC-related functions from sunrpc to inet - aarch64: add NEWS entry about branch protection support - aarch64: redefine RETURN_ADDRESS to strip PAC - aarch64: fix pac-ret support in _mcount - aarch64: Add pac-ret support to assembly files - aarch64: configure check for pac-ret code generation - aarch64: ensure objects are BTI compatible - aarch64: enable BTI at runtime - aarch64: fix RTLD_START for BTI - aarch64: fix swapcontext for BTI - aarch64: Add BTI support to assembly files - aarch64: Rename place holder .S files to .c - aarch64: configure test for BTI support - Rewrite abi-note.S in C. - rtld: Clean up PT_NOTE and add PT_GNU_PROPERTY handling - string: Move tst-strsignal tst-strerror to tests-container - string: Fix prototype mismatch in sigabbrev_np, __sigdescr_np - arm: CVE-2020-6096: Fix multiarch memcpy for negative length (#1820332) - arm: CVE-2020-6096: fix memcpy and memmove for negative length (#1820332) - sunrpc: Remove hidden aliases for global data symbols (bug 26210) - hurd: Fix strerror not setting errno - tst-strsignal: fix checking for RT signals support - hurd: Evaluate fd before entering the critical section - CVE-2016-10228: Rewrite iconv option parsing (#1428292) - nss: Remove cryptographic key support from nss_files, nss_nis, nss_nisplus - sunrpc: Do not export getrpcport by default - sunrpc: Do not export key handling hooks by default - sunrpc: Turn clnt_sperrno into a libc_hidden_nolink_sunrpc symbol - string: Add strerrorname_np and strerrordesc_np - string: Add sigabbrev_np and sigdescr_np - string: Add strerror_l on test-strerror-errno - string: Add strerror, strerror_r, and strerror_l test - string: Add strsignal test - string: Simplify strerror_r - string: Use tls-internal on strerror_l - string: Implement strerror in terms of strerror_l - string: Remove old TLS usage on strsignal - linux: Fix __NSIG_WORDS and add __NSIG_BYTES - signal: Move sys_errlist to a compat symbol - signal: Move sys_siglist to a compat symbol - signal: Add signum-{generic,arch}.h - Remove most vfprintf width/precision-dependent allocations (bug 14231, bug 26211). - elf: Do not signal LA_ACT_CONSISTENT for an empty namespace [BZ #26076] - Fix stringop-overflow errors from gcc 10 in iconv. - x86: Add thresholds for "rep movsb/stosb" to tunables - Use C2x return value from getpayload of non-NaN (bug 26073). - x86: Detect Extended Feature Disable (XFD) - x86: Correct bit_cpu_CLFSH [BZ #26208] - manual: Document __libc_single_threaded - Add the __libc_single_threaded variable - Linux: rseq registration tests - Linux: Use rseq in sched_getcpu if available - Linux: Perform rseq registration at C startup and thread creation - tst-cancel4: deal with ENOSYS errors - manual: Show copyright information not just in the printed manual
2020-07-10 10:56:47 +00:00
@@ -1178,10 +1176,8 @@ dl_main (const ElfW(Phdr) *phdr,
/* Process the environment variable which control the behaviour. */
Auto-sync with upstream branch master Upstream commit: b1caa144c74678097cada5a54eda2996bb459d8f - Update mips libm-test-ulps - Update alpha libm-test-ulps - Update ia64 libm-test-ulps - Update sparc libm-test-ulps - Update arm libm-test-ulps - Update aarch64 libm-test-ulps - Updates to the shn_MM locale [BZ #25532] - powerpc: Update ULPs and xfail more ibm128 outputs - i386: Remove build support for GCC older than GCC 6 - oc_FR locale: Fix spelling of April (bug 25639) - Update hppa libm-test-ulps - y2038: linux: Provide __mq_timedreceive_time64 implementation - y2038: linux: Provide __mq_timedsend_time64 implementation - y2038: include: Move struct __timespec64 definition to a separate file - malloc: ensure set_max_fast never stores zero [BZ #25733] - powerpc64le: enforce non-specific long double in .gnu.attributes section - powerpc64le: workaround ieee long double / _Float128 stdc++ bug - powerpc64le: Enforce -mabi=ibmlongdouble when -mfloat128 used - powerpc64le/multiarch: don't generate strong aliases for fmaf128-ppc64 - ldbl-128ibm: simplify iscanonical.h - i386: Disable check_consistency for GCC 5 and above [BZ #25788] - Add IPPROTO_ETHERNET and IPPROTO_MPTCP from Linux 5.6 to netinet/in.h. - Update syscall lists for Linux 5.6. - elf: Implement DT_AUDIT, DT_DEPAUDIT support [BZ #24943] - elf: Simplify handling of lists of audit strings - support: Change xgetline to return 0 on EOF - nptl: Remove x86_64 cancellation assembly implementations [BZ #25765] - aarch64: update bits/hwcap.h - Add tests for Safe-Linking - S390: Regenerate ULPs. - sysv/alpha: Use generic __timeval32 and helpers - linux: Use long time_t for wait4/getrusage - resource: Add a __rusage64 struct - linux: Use long time_t __getitimer/__setitimer - sysv: Define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 - math: Add inputs that yield larger errors for float type (x86_64)
2020-04-08 20:47:40 +00:00
process_envvars (&mode, &audit_list);
-#ifndef HAVE_INLINED_SYSCALLS
/* Set up a flag which tells we are just starting. */
2014-11-24 14:58:08 +00:00
_dl_starting_up = 1;
-#endif
if (*user_entry == (ElfW(Addr)) ENTRY_POINT)
{