summaryrefslogtreecommitdiff
path: root/sys-libs/glibc
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2024-10-05 04:27:10 +0100
committerV3n3RiX <venerix@koprulu.sector>2024-10-05 04:27:10 +0100
commitf3f72d0d5f1ae9ee74acaa63ccb7a247468e73bf (patch)
treee67f56736e141f27487331c26096c4c0a51979a8 /sys-libs/glibc
parentfa275aeb316ed5e68498ca0057b27a1e9c887e26 (diff)
gentoo auto-resync : 05:10:2024 - 04:27:09
Diffstat (limited to 'sys-libs/glibc')
-rw-r--r--sys-libs/glibc/Manifest3
-rw-r--r--sys-libs/glibc/files/2.25/glibc-2.25-gentoo-chk_fail.c303
-rw-r--r--sys-libs/glibc/files/2.34/glibc-2.34-hppa-asm-getcontext-fixes.patch214
-rw-r--r--sys-libs/glibc/files/glibc-2.40-libio-legacy.patch30
4 files changed, 0 insertions, 550 deletions
diff --git a/sys-libs/glibc/Manifest b/sys-libs/glibc/Manifest
index 46278a2f4d69..a650afbbd818 100644
--- a/sys-libs/glibc/Manifest
+++ b/sys-libs/glibc/Manifest
@@ -2,10 +2,7 @@ AUX 2.19/glibc-2.19-gcc-10.patch 671 BLAKE2B bea7a2da693a4c1ea50acd859ebb3e32a82
AUX 2.19/glibc-2.19-ia64-gcc-4.8-reloc-hack.patch 1360 BLAKE2B 19d218e91b1d3d38c526838600d0393de47a0e59ca3e05651bd28becb401021ddd2f6ef77b8740ca4e400f094ab5fd196f092cf25b20729eb4d42e2a200b9e03 SHA512 79876b12871b3e7693340bfdf99276ac0dfd6ff30bc977a9526af9e681fcbab2f25d3ac9e2b33f027c968b38a4b670237de54ffd08edc418423ecd82dddd1d67
AUX 2.19/glibc-2.19-kernel-2.6.16-compat.patch 3214 BLAKE2B 64af88703bddaa301ce25d4400e00140fae536882443510466510766a60ac1cf4ceca35ca0ad4384f0cdc05b79352ac7da92f555561d1f6cdd65f7cc8464c6d7 SHA512 c21d80b7ae5b2691e5b6d43a42153193822ccc2b4418728edd5f2fa72412992d103b61418b57f9cf26e72378b24aa7cbaed05eeb31a4ec312a715d258cf5232b
AUX 2.19/glibc-2.19-kernel-2.6.16-hide-pipe2.patch 620 BLAKE2B 216e728e40b044684843bff97eae31d65689595bcc3e345ef019a68e15c190cbd7fa685ff39e6363cf213f3f5676dee49f235beb1984a9e150e2b4ab72fcf605 SHA512 b93822269e67262fa45cbc50c5ec562d60ef69b2338afd56421b2d74d97360823dd4252abb0faee83231e4b3fd3f7357ef0249be8721f48fe176e512c6f5e447
-AUX 2.25/glibc-2.25-gentoo-chk_fail.c 9068 BLAKE2B 6fabcbb981d92101ff3b97e8eed4da3c0ee4fc3d09ca344c2d0b7ee5e04fec66b5db314263541beeb1290bafa837795fef1a6300986de938d2958ba89a9c1f2f SHA512 4503002b0e2cee0b6efc4599152d24fcff330157d4e35992a77d0d83a2decc4cf2da2b8645a44d90d428a1d82300a4fd8d13c5937b7c89f368c12b3c9139be6f
-AUX 2.34/glibc-2.34-hppa-asm-getcontext-fixes.patch 6677 BLAKE2B bca5a964e35201ab99df746c08f069a3d4d344a02c063f6e1785fc70bc6d6f96b62108558afdbcb634bec136a45ed7df5b27065031f96777ff723a411cb1ab35 SHA512 2dfab5b31a0a92812ca83a797fcbbb22ab08eea6e3550e464f21fbed6cb33e474fc54bc90aebcf98912406d6a6b1938609fb36ce6fddac7d0aab86a309dd3f95
AUX 2.35/glibc-2.35-make-4.4-MAKEFLAGS.patch 3547 BLAKE2B 7b5d512df13ba1747a5a099bc7b9ff7d44ba94176c18d65fe37ab0145214f43949597bdffb3ee8c46954f7cedd0d1e708a237ccdb491a163493f5b43eac7bdda SHA512 968193c9a2ab29b38de96c37a6448f06b81f2445c814c008c4c6e3ef45956fda0e177f9236445fc31a6f208e58cae0b928185a35d5b5215c2ee042baa88199a6
-AUX glibc-2.40-libio-legacy.patch 1134 BLAKE2B 1b049a7849cecfe772269e8a33ec6d6b95823b3f022210f8785c4d5b5345787d505b3531db9f32b98ee83bd3f9479cc6750341f8d721b69bea73b3bd43fe851b SHA512 ebe94e5a1af740ded51858b7e673ce189b823bd34217ab32dec7d2dc0e34784627ec04a211354f0d8635d10d8dd4fec377b2a33da456477dc27d85be4813a21c
AUX host.conf-1 826 BLAKE2B 32fe7f016325e781d477a0f855c32d0df12626edd11d58c0ec368fc579811b73e4851dec6bfca9e9f53d1c2de1bb2b3b4406e50b7f665870958d727fbeab2f87 SHA512 91102a5383b49199eceb94fb1ecd223ce0f585021de94dc1646af1095a220ba1acf540271af908da47a3ee1aa55c35f5f372d61e34d0e14f1718e67633a13e76
AUX nscd-1 1897 BLAKE2B aefa781de3181c5609ac2659632f0a5bdfa6bbc8e22b73fdf5c28ca36184b5614bb2febd581d0c41a1f3dd72c45a191866cbc827f5e7009722b6d839518a27d6 SHA512 b2edbdc33fb4290378d9520bfcefcbb5183e8b8f0e80cf3573fb4ce6cf309e21f59178f31eec4ada90b4b37e502038e71b31f93b2ba2c7fa36a7eef1b1d9bf70
AUX nscd.service 337 BLAKE2B 6b163465dd8db024652921892dc913da8dfc0984eec7ffce621229e48fa99dcedc3b5944844529190122c81f4884b6a6fe7836d37d2d812f34059c530856dec1 SHA512 2001100f3b054843c69b6fd2d38852c7c824282aa8998c25a3c0352db993705429d25c70d8ce6cb3579f836b7089644c520acac423ebd69cb1b36e94a77c5bea
diff --git a/sys-libs/glibc/files/2.25/glibc-2.25-gentoo-chk_fail.c b/sys-libs/glibc/files/2.25/glibc-2.25-gentoo-chk_fail.c
deleted file mode 100644
index 2ef96b75eacf..000000000000
--- a/sys-libs/glibc/files/2.25/glibc-2.25-gentoo-chk_fail.c
+++ /dev/null
@@ -1,303 +0,0 @@
-/* Copyright (C) 2004-2014 Free Software Foundation, Inc.
- Copyright (C) 2006-2014 Gentoo Foundation Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, write to the Free
- Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- 02111-1307 USA. */
-
-/* Hardened Gentoo SSP and FORTIFY handler
-
- A failure handler that does not use functions from the rest of glibc;
- it uses the INTERNAL_SYSCALL methods directly. This helps ensure no
- possibility of recursion into the handler.
-
- Direct all bug reports to http://bugs.gentoo.org/
-
- People who have contributed significantly to the evolution of this file:
- Ned Ludd - <solar[@]gentoo.org>
- Alexander Gabert - <pappy[@]gentoo.org>
- The PaX Team - <pageexec[@]freemail.hu>
- Peter S. Mazinger - <ps.m[@]gmx.net>
- Yoann Vandoorselaere - <yoann[@]prelude-ids.org>
- Robert Connolly - <robert[@]linuxfromscratch.org>
- Cory Visi <cory[@]visi.name>
- Mike Frysinger <vapier[@]gentoo.org>
- Magnus Granberg <zorry[@]gentoo.org>
- Kevin F. Quinn - <kevquinn[@]gentoo.org>
- */
-
-#include <errno.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <unistd.h>
-#include <signal.h>
-
-#include <sys/types.h>
-
-#include <sysdep-cancel.h>
-#include <sys/syscall.h>
-
-#include <kernel-features.h>
-
-#include <alloca.h>
-/* from sysdeps */
-#include <socketcall.h>
-/* for the stuff in bits/socket.h */
-#include <sys/socket.h>
-#include <sys/un.h>
-
-/* Sanity check on SYSCALL macro names - force compilation
- * failure if the names used here do not exist
- */
-#if !defined __NR_socketcall && !defined __NR_socket
-# error Cannot do syscall socket or socketcall
-#endif
-#if !defined __NR_socketcall && !defined __NR_connect
-# error Cannot do syscall connect or socketcall
-#endif
-#ifndef __NR_write
-# error Cannot do syscall write
-#endif
-#ifndef __NR_close
-# error Cannot do syscall close
-#endif
-#ifndef __NR_getpid
-# error Cannot do syscall getpid
-#endif
-#ifndef __NR_kill
-# error Cannot do syscall kill
-#endif
-#ifndef __NR_exit
-# error Cannot do syscall exit
-#endif
-#ifdef SSP_SMASH_DUMPS_CORE
-# define ENABLE_SSP_SMASH_DUMPS_CORE 1
-# if !defined _KERNEL_NSIG && !defined _NSIG
-# error No _NSIG or _KERNEL_NSIG for rt_sigaction
-# endif
-# if !defined __NR_sigaction && !defined __NR_rt_sigaction
-# error Cannot do syscall sigaction or rt_sigaction
-# endif
-/* Although rt_sigaction expects sizeof(sigset_t) - it expects the size
- * of the _kernel_ sigset_t which is not the same as the user sigset_t.
- * Most arches have this as _NSIG bits - mips has _KERNEL_NSIG bits for
- * some reason.
- */
-# ifdef _KERNEL_NSIG
-# define _SSP_NSIG _KERNEL_NSIG
-# else
-# define _SSP_NSIG _NSIG
-# endif
-#else
-# define _SSP_NSIG 0
-# define ENABLE_SSP_SMASH_DUMPS_CORE 0
-#endif
-
-/* Define DO_SIGACTION - default to newer rt signal interface but
- * fallback to old as needed.
- */
-#ifdef __NR_rt_sigaction
-# define DO_SIGACTION(signum, act, oldact) \
- INLINE_SYSCALL(rt_sigaction, 4, signum, act, oldact, _SSP_NSIG/8)
-#else
-# define DO_SIGACTION(signum, act, oldact) \
- INLINE_SYSCALL(sigaction, 3, signum, act, oldact)
-#endif
-
-/* Define DO_SOCKET/DO_CONNECT functions to deal with socketcall vs socket/connect */
-#if defined(__NR_socket) && defined(__NR_connect)
-# define USE_OLD_SOCKETCALL 0
-#else
-# define USE_OLD_SOCKETCALL 1
-#endif
-
-/* stub out the __NR_'s so we can let gcc optimize away dead code */
-#ifndef __NR_socketcall
-# define __NR_socketcall 0
-#endif
-#ifndef __NR_socket
-# define __NR_socket 0
-#endif
-#ifndef __NR_connect
-# define __NR_connect 0
-#endif
-#define DO_SOCKET(result, domain, type, protocol) \
- do { \
- if (USE_OLD_SOCKETCALL) { \
- socketargs[0] = domain; \
- socketargs[1] = type; \
- socketargs[2] = protocol; \
- socketargs[3] = 0; \
- result = INLINE_SYSCALL(socketcall, 2, SOCKOP_socket, socketargs); \
- } else \
- result = INLINE_SYSCALL(socket, 3, domain, type, protocol); \
- } while (0)
-#define DO_CONNECT(result, sockfd, serv_addr, addrlen) \
- do { \
- if (USE_OLD_SOCKETCALL) { \
- socketargs[0] = sockfd; \
- socketargs[1] = (unsigned long int)serv_addr; \
- socketargs[2] = addrlen; \
- socketargs[3] = 0; \
- result = INLINE_SYSCALL(socketcall, 2, SOCKOP_connect, socketargs); \
- } else \
- result = INLINE_SYSCALL(connect, 3, sockfd, serv_addr, addrlen); \
- } while (0)
-
-#ifndef _PATH_LOG
-# define _PATH_LOG "/dev/log"
-#endif
-
-static const char path_log[] = _PATH_LOG;
-
-/* For building glibc with SSP switched on, define __progname to a
- * constant if building for the run-time loader, to avoid pulling
- * in more of libc.so into ld.so
- */
-#ifdef IS_IN_rtld
-static const char *__progname = "<ldso>";
-#else
-extern const char *__progname;
-#endif
-
-#ifdef GENTOO_SSP_HANDLER
-# define ERROR_MSG "stack smashing"
-#else
-# define ERROR_MSG "buffer overflow"
-#endif
-
-/* Common handler code, used by chk_fail
- * Inlined to ensure no self-references to the handler within itself.
- * Data static to avoid putting more than necessary on the stack,
- * to aid core debugging.
- */
-__attribute__ ((__noreturn__, __always_inline__))
-static inline void
-__hardened_gentoo_fail(void)
-{
-#define MESSAGE_BUFSIZ 512
- static pid_t pid;
- static int plen, i, hlen;
- static char message[MESSAGE_BUFSIZ];
- /* <11> is LOG_USER|LOG_ERR. A dummy date for loggers to skip over. */
- static const char msg_header[] = "<11>" __DATE__ " " __TIME__ " glibc-gentoo-hardened-check: ";
- static const char msg_ssd[] = "*** " ERROR_MSG " detected ***: ";
- static const char msg_terminated[] = " terminated; ";
- static const char msg_report[] = "report to " REPORT_BUGS_TO "\n";
- static const char msg_unknown[] = "<unknown>";
- static int log_socket, connect_result;
- static struct sockaddr_un sock;
- static unsigned long int socketargs[4];
-
- /* Build socket address */
- sock.sun_family = AF_UNIX;
- i = 0;
- while (path_log[i] != '\0' && i < sizeof(sock.sun_path) - 1) {
- sock.sun_path[i] = path_log[i];
- ++i;
- }
- sock.sun_path[i] = '\0';
-
- /* Try SOCK_DGRAM connection to syslog */
- connect_result = -1;
- DO_SOCKET(log_socket, AF_UNIX, SOCK_DGRAM, 0);
- if (log_socket != -1)
- DO_CONNECT(connect_result, log_socket, &sock, sizeof(sock));
- if (connect_result == -1) {
- if (log_socket != -1)
- INLINE_SYSCALL(close, 1, log_socket);
- /* Try SOCK_STREAM connection to syslog */
- DO_SOCKET(log_socket, AF_UNIX, SOCK_STREAM, 0);
- if (log_socket != -1)
- DO_CONNECT(connect_result, log_socket, &sock, sizeof(sock));
- }
-
- /* Build message. Messages are generated both in the old style and new style,
- * so that log watchers that are configured for the old-style message continue
- * to work.
- */
-#define strconcat(str) \
- ({ \
- i = 0; \
- while ((str[i] != '\0') && ((i + plen) < (MESSAGE_BUFSIZ - 1))) { \
- message[plen + i] = str[i]; \
- ++i; \
- } \
- plen += i; \
- })
-
- /* Tersely log the failure */
- plen = 0;
- strconcat(msg_header);
- hlen = plen;
- strconcat(msg_ssd);
- if (__progname != NULL)
- strconcat(__progname);
- else
- strconcat(msg_unknown);
- strconcat(msg_terminated);
- strconcat(msg_report);
-
- /* Write out error message to STDERR, to syslog if open */
- INLINE_SYSCALL(write, 3, STDERR_FILENO, message + hlen, plen - hlen);
- if (connect_result != -1) {
- INLINE_SYSCALL(write, 3, log_socket, message, plen);
- INLINE_SYSCALL(close, 1, log_socket);
- }
-
- /* Time to kill self since we have no idea what is going on */
- pid = INLINE_SYSCALL(getpid, 0);
-
- if (ENABLE_SSP_SMASH_DUMPS_CORE) {
- /* Remove any user-supplied handler for SIGABRT, before using it. */
-#if 0
- /*
- * Note: Disabled because some programs catch & process their
- * own crashes. We've already enabled this code path which
- * means we want to let core dumps happen.
- */
- static struct sigaction default_abort_act;
- default_abort_act.sa_handler = SIG_DFL;
- default_abort_act.sa_sigaction = NULL;
- __sigfillset(&default_abort_act.sa_mask);
- default_abort_act.sa_flags = 0;
- if (DO_SIGACTION(SIGABRT, &default_abort_act, NULL) == 0)
-#endif
- INLINE_SYSCALL(kill, 2, pid, SIGABRT);
- }
-
- /* SIGKILL is only signal which cannot be caught */
- INLINE_SYSCALL(kill, 2, pid, SIGKILL);
-
- /* In case the kill didn't work, exit anyway.
- * The loop prevents gcc thinking this routine returns.
- */
- while (1)
- INLINE_SYSCALL(exit, 1, 137);
-}
-
-__attribute__ ((__noreturn__))
-#ifdef GENTOO_SSP_HANDLER
-void __stack_chk_fail(void)
-#else
-void __chk_fail(void)
-#endif
-{
- __hardened_gentoo_fail();
-}
-
-#ifdef GENTOO_SSP_HANDLER
-strong_alias (__stack_chk_fail, __stack_chk_fail_local)
-#endif
diff --git a/sys-libs/glibc/files/2.34/glibc-2.34-hppa-asm-getcontext-fixes.patch b/sys-libs/glibc/files/2.34/glibc-2.34-hppa-asm-getcontext-fixes.patch
deleted file mode 100644
index 299a6dae7dbe..000000000000
--- a/sys-libs/glibc/files/2.34/glibc-2.34-hppa-asm-getcontext-fixes.patch
+++ /dev/null
@@ -1,214 +0,0 @@
-https://sourceware.org/git/?p=glibc.git;a=patch;h=738ee53f0ce5e39b9b7a6777f5d3057afbaac498
-https://sourceware.org/git/?p=glibc.git;a=patch;h=d53b9cc391c72a1011ea8fe7a9f70dc5060a0db2
-
-From 738ee53f0ce5e39b9b7a6777f5d3057afbaac498 Mon Sep 17 00:00:00 2001
-From: John David Anglin <danglin@gcc.gnu.org>
-Date: Tue, 15 Mar 2022 23:12:37 +0000
-Subject: [PATCH] hppa: Implement swapcontext in assembler (bug 28960)
-
-When swapcontext.c is compiled without -g, the following error occurs:
-Error: CFI instruction used without previous .cfi_startproc
-
-Fix by converting swapcontext routine to assembler.
----
- sysdeps/unix/sysv/linux/hppa/swapcontext.S | 72 +++++++++++++++++++
- sysdeps/unix/sysv/linux/hppa/swapcontext.c | 83 ----------------------
- 2 files changed, 72 insertions(+), 83 deletions(-)
- create mode 100644 sysdeps/unix/sysv/linux/hppa/swapcontext.S
- delete mode 100644 sysdeps/unix/sysv/linux/hppa/swapcontext.c
-
-diff --git a/sysdeps/unix/sysv/linux/hppa/swapcontext.S b/sysdeps/unix/sysv/linux/hppa/swapcontext.S
-new file mode 100644
-index 0000000000..94b164dc63
---- /dev/null
-+++ b/sysdeps/unix/sysv/linux/hppa/swapcontext.S
-@@ -0,0 +1,72 @@
-+/* Swap to new context.
-+ Copyright (C) 2008-2022 Free Software Foundation, Inc.
-+ This file is part of the GNU C Library.
-+
-+ The GNU C Library is free software; you can redistribute it and/or
-+ modify it under the terms of the GNU Lesser General Public
-+ License as published by the Free Software Foundation; either
-+ version 2.1 of the License, or (at your option) any later version.
-+
-+ The GNU C Library is distributed in the hope that it will be useful,
-+ but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-+ Lesser General Public License for more details.
-+
-+ You should have received a copy of the GNU Lesser General Public
-+ License along with the GNU C Library. If not, see
-+ <https://www.gnu.org/licenses/>. */
-+
-+#include <sysdep.h>
-+#include "ucontext_i.h"
-+
-+ .text
-+ENTRY(__swapcontext)
-+
-+ /* Copy rp to ret0 (r28). */
-+ copy %rp,%ret0
-+
-+ /* Create a frame. */
-+ ldo 64(%sp),%sp
-+ .cfi_def_cfa_offset -64
-+
-+ /* Save the current machine context to oucp. */
-+ bl __getcontext,%rp
-+
-+ /* Copy oucp to register ret1 (r29). __getcontext saves and
-+ restores it on a normal return. It is restored from oR29
-+ on reactivation. */
-+ copy %r26,%ret1
-+
-+ /* Pop frame. */
-+ ldo -64(%sp),%sp
-+ .cfi_def_cfa_offset 0
-+
-+ /* Load return pointer from oR28. */
-+ ldw oR28(%ret1),%rp
-+
-+ /* Return if error. */
-+ or,= %r0,%ret0,%r0
-+ bv,n %r0(%rp)
-+
-+ /* Load sc_sar flag. */
-+ ldb oSAR(%ret1),%r20
-+
-+ /* Return if oucp context has been reactivated. */
-+ or,= %r0,%r20,%r0
-+ bv,n %r0(%rp)
-+
-+ /* Mark sc_sar flag. */
-+ ldi 1,%r20
-+ stb %r20,oSAR(%ret1)
-+
-+ /* Activate the machine context in ucp. */
-+ bl __setcontext,%rp
-+ ldw oR25(%ret1),%r26
-+
-+ /* Load return pointer. */
-+ ldw oR28(%ret1),%rp
-+ bv,n %r0(%rp)
-+
-+PSEUDO_END(__swapcontext)
-+
-+weak_alias (__swapcontext, swapcontext)
-diff --git a/sysdeps/unix/sysv/linux/hppa/swapcontext.c b/sysdeps/unix/sysv/linux/hppa/swapcontext.c
-deleted file mode 100644
-index 1664f68c7b..0000000000
---- a/sysdeps/unix/sysv/linux/hppa/swapcontext.c
-+++ /dev/null
-@@ -1,83 +0,0 @@
--/* Swap to new context.
-- Copyright (C) 2008-2021 Free Software Foundation, Inc.
-- This file is part of the GNU C Library.
-- Contributed by Helge Deller <deller@gmx.de>, 2008.
--
-- The GNU C Library is free software; you can redistribute it and/or
-- modify it under the terms of the GNU Lesser General Public
-- License as published by the Free Software Foundation; either
-- version 2.1 of the License, or (at your option) any later version.
--
-- The GNU C Library is distributed in the hope that it will be useful,
-- but WITHOUT ANY WARRANTY; without even the implied warranty of
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-- Lesser General Public License for more details.
--
-- You should have received a copy of the GNU Lesser General Public
-- License along with the GNU C Library. If not, see
-- <https://www.gnu.org/licenses/>. */
--
--#include <ucontext.h>
--#include "ucontext_i.h"
--
--extern int __getcontext (ucontext_t *ucp);
--extern int __setcontext (const ucontext_t *ucp);
--
--int
--__swapcontext (ucontext_t *oucp, const ucontext_t *ucp)
--{
-- /* Save rp for debugger. */
-- asm ("stw %rp,-20(%sp)");
-- asm (".cfi_offset 2, -20");
--
-- /* Copy rp to ret0 (r28). */
-- asm ("copy %rp,%ret0");
--
-- /* Create a frame. */
-- asm ("ldo 64(%sp),%sp");
-- asm (".cfi_def_cfa_offset -64");
--
-- /* Save the current machine context to oucp. */
-- asm ("bl __getcontext,%rp");
--
-- /* Copy oucp to register ret1 (r29). __getcontext saves and restores it
-- on a normal return. It is restored from oR29 on reactivation. */
-- asm ("copy %r26,%ret1");
--
-- /* Pop frame. */
-- asm ("ldo -64(%sp),%sp");
-- asm (".cfi_def_cfa_offset 0");
--
-- /* Load return pointer from oR28. */
-- asm ("ldw %0(%%ret1),%%rp" : : "i" (oR28));
--
-- /* Return if error. */
-- asm ("or,= %r0,%ret0,%r0");
-- asm ("bv,n %r0(%rp)");
--
-- /* Load sc_sar flag. */
-- asm ("ldb %0(%%ret1),%%r20" : : "i" (oSAR));
--
-- /* Return if oucp context has been reactivated. */
-- asm ("or,= %r0,%r20,%r0");
-- asm ("bv,n %r0(%rp)");
--
-- /* Mark sc_sar flag. */
-- asm ("1: ldi 1,%r20");
-- asm ("stb %%r20,%0(%%ret1)" : : "i" (oSAR));
--
-- /* Activate the machine context in ucp. */
-- asm ("bl __setcontext,%rp");
-- asm ("ldw %0(%%ret1),%%r26" : : "i" (oR25));
--
-- /* Load return pointer. */
-- asm ("ldw %0(%%ret1),%%rp" : : "i" (oR28));
--
-- /* A successful call to setcontext does not return. */
-- asm ("bv,n %r0(%rp)");
--
-- /* Make gcc happy. */
-- return 0;
--}
--
--weak_alias (__swapcontext, swapcontext)
---
-2.27.0
-
-
-From d53b9cc391c72a1011ea8fe7a9f70dc5060a0db2 Mon Sep 17 00:00:00 2001
-From: John David Anglin <danglin@gcc.gnu.org>
-Date: Tue, 15 Mar 2022 23:04:39 +0000
-Subject: [PATCH] hppa: Use END instead of PSEUDO_END in swapcontext.S
-
-(cherry picked from commit 7a5c440102d4ec7fafd9bbd98eca9bd90ecaaafd)
----
- sysdeps/unix/sysv/linux/hppa/swapcontext.S | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/sysdeps/unix/sysv/linux/hppa/swapcontext.S b/sysdeps/unix/sysv/linux/hppa/swapcontext.S
-index 94b164dc63..fbc22586d1 100644
---- a/sysdeps/unix/sysv/linux/hppa/swapcontext.S
-+++ b/sysdeps/unix/sysv/linux/hppa/swapcontext.S
-@@ -67,6 +67,6 @@ ENTRY(__swapcontext)
- ldw oR28(%ret1),%rp
- bv,n %r0(%rp)
-
--PSEUDO_END(__swapcontext)
-+END(__swapcontext)
-
- weak_alias (__swapcontext, swapcontext)
---
-2.27.0
diff --git a/sys-libs/glibc/files/glibc-2.40-libio-legacy.patch b/sys-libs/glibc/files/glibc-2.40-libio-legacy.patch
deleted file mode 100644
index e0b3b6c35455..000000000000
--- a/sys-libs/glibc/files/glibc-2.40-libio-legacy.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-https://bugs.gentoo.org/939446
-https://sourceware.org/PR32164
-https://sourceware.org/git/?p=glibc.git;a=commit;h=7073164add3b874cf0c19ca0fb84236f6bb0985d
-
-From 7073164add3b874cf0c19ca0fb84236f6bb0985d Mon Sep 17 00:00:00 2001
-From: Siddhesh Poyarekar <siddhesh@sourceware.org>
-Date: Tue, 3 Sep 2024 14:58:33 -0400
-Subject: [PATCH] libio: Attempt wide backup free only for non-legacy code
-
-_wide_data and _mode are not available in legacy code, so do not attempt
-to free the wide backup buffer in legacy code.
-
-Resolves: BZ #32137 and BZ #27821
-
-Signed-off-by: Siddhesh Poyarekar <siddhesh@sourceware.org>
-Reviewed-by: Florian Weimer <fweimer@redhat.com>
-(cherry picked from commit ae4d44b1d501421ad9a3af95279b8f4d1546f1ce)
---- a/libio/genops.c
-+++ b/libio/genops.c
-@@ -819,7 +819,7 @@ _IO_unbuffer_all (void)
- /* Free up the backup area if it was ever allocated. */
- if (_IO_have_backup (fp))
- _IO_free_backup_area (fp);
-- if (fp->_mode > 0 && _IO_have_wbackup (fp))
-+ if (!legacy && fp->_mode > 0 && _IO_have_wbackup (fp))
- _IO_free_wbackup_area (fp);
-
- if (! (fp->_flags & _IO_UNBUFFERED)
---
-2.43.5