glibc/glibc-RHEL-58357-1.patch
Frédéric Bérat f8b71945b7 Added sched_setattr and sched_getattr functions to glibc.
- 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
2025-08-07 16:07:09 +02:00

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)