- Backport: stdlib: Do not use GLIBC_PRIVATE ABI for errno in libc_nonshared.a - Backport: manual: Extract the @manpageurl{func,sec} macro - Backport: Linux: Add the sched_setattr and sched_getattr functions Note: The patch has been adapted downstream to avoid ABI changes - Backport: Linux: Add missing scheduler constants to <sched.h> - Backport: Linux: Do not check unused bytes after sched_getattr in tst-sched_setattr - Backport: Linux: Add the pthread_gettid_np function (bug 27880) Note: The patch has been adapted downstream to avoid ABI changes - Backport: Linux: Remove attribute access from sched_getattr (bug 32781) - Backport: Linux: Add new test misc/tst-sched_setattr-thread - Backport: nptl: Include <stdbool.h> in tst-pthread_gettid_np.c - Backport: Makefile: Clean up pthread_atfork integration - Backport: manual: fix typo for sched_[sg]etattr Resolves: RHEL-58357
31 lines
1.0 KiB
Diff
31 lines
1.0 KiB
Diff
commit 7d6e30b4b4e83429cc77222d4fe4d5e8843d8e2b
|
|
Author: Florian Weimer <fweimer@redhat.com>
|
|
Date: Fri Sep 6 14:07:00 2024 +0200
|
|
|
|
stdlib: Do not use GLIBC_PRIVATE ABI for errno in libc_nonshared.a
|
|
|
|
Using TLS directly introduces a GLIBC_PRIVATE ABI dependency
|
|
into libc_nonshared.a, and thus indirectly into applications.
|
|
Adding the !defined LIBC_NONSHARED condition deactivates direct
|
|
TLS access, and libc_nonshared.a code switches to using
|
|
__errno_location, like application code.
|
|
|
|
Currently, this has no effect because there is no code in
|
|
libc_nonshared.a that accesses errno.
|
|
|
|
Reviewed-by: Carlos O'Donell <carlos@redhat.com>
|
|
|
|
diff --git a/include/errno.h b/include/errno.h
|
|
index c361a785c24b928f..f0ccaa74dd8bebed 100644
|
|
--- a/include/errno.h
|
|
+++ b/include/errno.h
|
|
@@ -20,7 +20,7 @@
|
|
# define errno rtld_errno
|
|
extern int rtld_errno attribute_hidden;
|
|
|
|
-# elif IS_IN_LIB && !IS_IN (rtld)
|
|
+# elif IS_IN_LIB && !IS_IN (rtld) && !defined LIBC_NONSHARED
|
|
|
|
# undef errno
|
|
# if IS_IN (libc)
|