From 0ac9b6e3d5a2939310e8ec443f2b326610ab9a9f Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Mon, 15 May 2023 23:17:59 +0100 Subject: let's make redcore even more compatible with gentoo --- sys-libs/glibc/files/2.19/glibc-2.19-gcc-10.patch | 15 - .../2.19/glibc-2.19-ia64-gcc-4.8-reloc-hack.patch | 32 --- .../2.19/glibc-2.19-kernel-2.6.16-compat.patch | 85 ------ .../2.19/glibc-2.19-kernel-2.6.16-hide-pipe2.patch | 16 -- .../glibc/files/2.25/glibc-2.25-gentoo-chk_fail.c | 303 --------------------- .../glibc-2.34-hppa-asm-getcontext-fixes.patch | 214 --------------- .../files/2.35/glibc-2.35-make-4.4-MAKEFLAGS.patch | 102 ------- sys-libs/glibc/files/host.conf-1 | 23 -- sys-libs/glibc/files/nscd-1 | 85 ------ sys-libs/glibc/files/nscd.service | 15 - sys-libs/glibc/files/nscd.tmpfilesd | 4 - 11 files changed, 894 deletions(-) delete mode 100644 sys-libs/glibc/files/2.19/glibc-2.19-gcc-10.patch delete mode 100644 sys-libs/glibc/files/2.19/glibc-2.19-ia64-gcc-4.8-reloc-hack.patch delete mode 100644 sys-libs/glibc/files/2.19/glibc-2.19-kernel-2.6.16-compat.patch delete mode 100644 sys-libs/glibc/files/2.19/glibc-2.19-kernel-2.6.16-hide-pipe2.patch delete mode 100644 sys-libs/glibc/files/2.25/glibc-2.25-gentoo-chk_fail.c delete mode 100644 sys-libs/glibc/files/2.34/glibc-2.34-hppa-asm-getcontext-fixes.patch delete mode 100644 sys-libs/glibc/files/2.35/glibc-2.35-make-4.4-MAKEFLAGS.patch delete mode 100644 sys-libs/glibc/files/host.conf-1 delete mode 100644 sys-libs/glibc/files/nscd-1 delete mode 100644 sys-libs/glibc/files/nscd.service delete mode 100644 sys-libs/glibc/files/nscd.tmpfilesd (limited to 'sys-libs/glibc/files') diff --git a/sys-libs/glibc/files/2.19/glibc-2.19-gcc-10.patch b/sys-libs/glibc/files/2.19/glibc-2.19-gcc-10.patch deleted file mode 100644 index 45e8ab80..00000000 --- a/sys-libs/glibc/files/2.19/glibc-2.19-gcc-10.patch +++ /dev/null @@ -1,15 +0,0 @@ -Identify gcc-10+ as a good compiler. - -Index: work/glibc-2.19/configure -=================================================================== ---- glibc-2.19/configure -+++ glibc-2.19/configure -@@ -4710,7 +4710,7 @@ $as_echo_n "checking version of $CC... " - ac_prog_version=`$CC -v 2>&1 | sed -n 's/^.*version \([egcygnustpi-]*[0-9.]*\).*$/\1/p'` - case $ac_prog_version in - '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;; -- 4.[4-9].* | 4.[1-9][0-9].* | [5-9].* ) -+ 4.[4-9].* | 4.[1-9][0-9].* | [5-9].* | [1-9][0-9].* ) - ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;; - *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;; - diff --git a/sys-libs/glibc/files/2.19/glibc-2.19-ia64-gcc-4.8-reloc-hack.patch b/sys-libs/glibc/files/2.19/glibc-2.19-ia64-gcc-4.8-reloc-hack.patch deleted file mode 100644 index 72a616a0..00000000 --- a/sys-libs/glibc/files/2.19/glibc-2.19-ia64-gcc-4.8-reloc-hack.patch +++ /dev/null @@ -1,32 +0,0 @@ -https://bugs.gentoo.org/503838 -http://gcc.gnu.org/PR60465 -https://sourceware.org/ml/libc-alpha/2015-12/msg00556.html -https://trofi.github.io/posts/189-glibc-on-ia64-or-how-relocations-bootstrap.html - -newer versions of gcc generate relocations in the elf_get_dynamic_info func -which glibc relies on to populate some info structs. those structs are then -used by ldso to process relocations in itself. glibc requires that there are -no relocations until that point (*after* elf_get_dynamic_info), so we end up -crashing during elf_get_dynamic_info because the relocation has not yet been -processed. - -this hack shuffles the code in a way that tricks gcc into not generating the -relocation. we need to figure out something better for upstream. - ---- a/elf/get-dynamic-info.h -+++ b/elf/get-dynamic-info.h -@@ -66,8 +66,12 @@ elf_get_dynamic_info (struct link_map *l, ElfW(Dyn) *temp) - info[DT_VALTAGIDX (dyn->d_tag) + DT_NUM + DT_THISPROCNUM - + DT_VERSIONTAGNUM + DT_EXTRANUM] = dyn; - else if ((d_tag_utype) DT_ADDRTAGIDX (dyn->d_tag) < DT_ADDRNUM) -- info[DT_ADDRTAGIDX (dyn->d_tag) + DT_NUM + DT_THISPROCNUM -- + DT_VERSIONTAGNUM + DT_EXTRANUM + DT_VALNUM] = dyn; -+ { -+ d_tag_utype i = -+ DT_ADDRTAGIDX (dyn->d_tag) + DT_NUM + DT_THISPROCNUM -+ + DT_VERSIONTAGNUM + DT_EXTRANUM + DT_VALNUM; -+ info[i] = dyn; -+ } - ++dyn; - } - diff --git a/sys-libs/glibc/files/2.19/glibc-2.19-kernel-2.6.16-compat.patch b/sys-libs/glibc/files/2.19/glibc-2.19-kernel-2.6.16-compat.patch deleted file mode 100644 index bf75f80c..00000000 --- a/sys-libs/glibc/files/2.19/glibc-2.19-kernel-2.6.16-compat.patch +++ /dev/null @@ -1,85 +0,0 @@ -Remove newer symbols that does not work on linux-2.6.16. - -This is only for Prefix standalone. - -Index: glibc-2.19/io/sys/stat.h -=================================================================== ---- glibc-2.19.orig/io/sys/stat.h -+++ glibc-2.19/io/sys/stat.h -@@ -361,10 +361,6 @@ extern int mkfifoat (int __fd, const cha - #ifdef __USE_ATFILE - /* Set file access and modification times relative to directory file - descriptor. */ --extern int utimensat (int __fd, const char *__path, -- const struct timespec __times[2], -- int __flags) -- __THROW __nonnull ((2)); - #endif - - #ifdef __USE_XOPEN2K8 -Index: glibc-2.19/posix/unistd.h -=================================================================== ---- glibc-2.19.orig/posix/unistd.h -+++ glibc-2.19/posix/unistd.h -@@ -419,7 +419,6 @@ extern int pipe (int __pipedes[2]) __THR - #ifdef __USE_GNU - /* Same as pipe but apply flags passed in FLAGS to the new file - descriptors. */ --extern int pipe2 (int __pipedes[2], int __flags) __THROW __wur; - #endif - - /* Schedule an alarm. In SECONDS seconds, the process will get a SIGALRM. -Index: glibc-2.19/sysdeps/unix/sysv/linux/x86/bits/epoll.h -=================================================================== ---- glibc-2.19.orig/sysdeps/unix/sysv/linux/x86/bits/epoll.h -+++ glibc-2.19/sysdeps/unix/sysv/linux/x86/bits/epoll.h -@@ -19,11 +19,5 @@ - # error "Never use directly; include instead." - #endif - --/* Flags to be passed to epoll_create1. */ --enum -- { -- EPOLL_CLOEXEC = 02000000 --#define EPOLL_CLOEXEC EPOLL_CLOEXEC -- }; - - #define __EPOLL_PACKED __attribute__ ((__packed__)) -Index: glibc-2.19/sysdeps/unix/sysv/linux/bits/fcntl-linux.h -=================================================================== ---- glibc-2.19.orig/sysdeps/unix/sysv/linux/bits/fcntl-linux.h -+++ glibc-2.19/sysdeps/unix/sysv/linux/bits/fcntl-linux.h -@@ -187,8 +187,6 @@ - # define F_GETPIPE_SZ 1032 /* Set pipe page size array. */ - #endif - #ifdef __USE_XOPEN2K8 --# define F_DUPFD_CLOEXEC 1030 /* Duplicate file descriptor with -- close-on-exit set. */ - #endif - - /* For F_[GET|SET]FD. */ -Index: glibc-2.19/sysdeps/unix/sysv/linux/sys/epoll.h -=================================================================== ---- glibc-2.19.orig/sysdeps/unix/sysv/linux/sys/epoll.h -+++ glibc-2.19/sysdeps/unix/sysv/linux/sys/epoll.h -@@ -101,7 +101,6 @@ extern int epoll_create (int __size) __T - - /* Same as epoll_create but with an FLAGS parameter. The unused SIZE - parameter has been dropped. */ --extern int epoll_create1 (int __flags) __THROW; - - - /* Manipulate an epoll instance "epfd". Returns 0 in case of success, -Index: glibc-2.19/time/sys/time.h -=================================================================== ---- glibc-2.19.orig/time/sys/time.h -+++ glibc-2.19/time/sys/time.h -@@ -140,8 +140,6 @@ extern int utimes (const char *__file, c - - #ifdef __USE_BSD - /* Same as `utimes', but does not follow symbolic links. */ --extern int lutimes (const char *__file, const struct timeval __tvp[2]) -- __THROW __nonnull ((1)); - - /* Same as `utimes', but takes an open file descriptor instead of a name. */ - extern int futimes (int __fd, const struct timeval __tvp[2]) __THROW; diff --git a/sys-libs/glibc/files/2.19/glibc-2.19-kernel-2.6.16-hide-pipe2.patch b/sys-libs/glibc/files/2.19/glibc-2.19-kernel-2.6.16-hide-pipe2.patch deleted file mode 100644 index 2b9cccec..00000000 --- a/sys-libs/glibc/files/2.19/glibc-2.19-kernel-2.6.16-hide-pipe2.patch +++ /dev/null @@ -1,16 +0,0 @@ -Remove the pipe2 symbol from libc.so, otherwise meson will pick it up. - -This is a balance. We decide not to strip all the O_CLOEXEC, otherwise -gtk+ will need to be patched. -Index: glibc-2.19/sysdeps/unix/make-syscalls.sh -=================================================================== ---- glibc-2.19.orig/sysdeps/unix/make-syscalls.sh -+++ glibc-2.19/sysdeps/unix/make-syscalls.sh -@@ -131,6 +131,7 @@ emit_weak_aliases() - echo " echo 'libc_hidden_def ($name)'; \\" - ;; - *) -+ [ $name = pipe2 ] && continue - echo " echo 'weak_alias ($strong, $name)'; \\" - echo " echo 'libc_hidden_weak ($name)'; \\" - ;; 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 2ef96b75..00000000 --- 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 - - Alexander Gabert - - The PaX Team - - Peter S. Mazinger - - Yoann Vandoorselaere - - Robert Connolly - - Cory Visi - Mike Frysinger - Magnus Granberg - Kevin F. Quinn - - */ - -#include -#include -#include -#include -#include - -#include - -#include -#include - -#include - -#include -/* from sysdeps */ -#include -/* for the stuff in bits/socket.h */ -#include -#include - -/* 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 = ""; -#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[] = ""; - 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 299a6dae..00000000 --- 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 -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 -+ . */ -+ -+#include -+#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 , 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 -- . */ -- --#include --#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 -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/2.35/glibc-2.35-make-4.4-MAKEFLAGS.patch b/sys-libs/glibc/files/2.35/glibc-2.35-make-4.4-MAKEFLAGS.patch deleted file mode 100644 index 51fbe5f5..00000000 --- a/sys-libs/glibc/files/2.35/glibc-2.35-make-4.4-MAKEFLAGS.patch +++ /dev/null @@ -1,102 +0,0 @@ -https://sourceware.org/git/?p=glibc.git;a=commitdiff;h=2d7ed98add14f75041499ac189696c9bd3d757fe -https://bugs.gentoo.org/869263 - -From 2d7ed98add14f75041499ac189696c9bd3d757fe Mon Sep 17 00:00:00 2001 -From: Sergei Trofimovich -Date: Tue, 13 Sep 2022 13:39:13 -0400 -Subject: [PATCH] Makerules: fix MAKEFLAGS assignment for upcoming make-4.4 - [BZ# 29564] - -make-4.4 will add long flags to MAKEFLAGS variable: - - * WARNING: Backward-incompatibility! - Previously only simple (one-letter) options were added to the MAKEFLAGS - variable that was visible while parsing makefiles. Now, all options - are available in MAKEFLAGS. - -This causes locale builds to fail when long options are used: - - $ make --shuffle - ... - make -C localedata install-locales - make: invalid shuffle mode: '1662724426r' - -The change fixes it by passing eash option via whitespace and dashes. -That way option is appended to both single-word form and whitespace -separated form. - -While at it fixed --silent mode detection in $(MAKEFLAGS) by filtering -out --long-options. Otherwise options like --shuffle flag enable silent -mode unintentionally. $(silent-make) variable consolidates the checks. - -Resolves: BZ# 29564 - -CC: Paul Smith -CC: Siddhesh Poyarekar -Signed-off-by: Sergei Trofimovich -Reviewed-by: Siddhesh Poyarekar ---- a/Makeconfig -+++ b/Makeconfig -@@ -43,6 +43,22 @@ else - $(error objdir must be defined by the build-directory Makefile) - endif - -+# Did we request 'make -s' run? "yes" or "no". -+# Starting from make-4.4 MAKEFLAGS now contains long -+# options like '--shuffle'. To detect presence of 's' -+# we pick first word with short options. Long options -+# are guaranteed to come after whitespace. We use '-' -+# prefix to always have a word before long options -+# even if no short options were passed. -+# Typical MAKEFLAGS values to watch for: -+# "rs --shuffle=42" (silent) -+# " --shuffle" (not silent) -+ifeq ($(findstring s, $(firstword -$(MAKEFLAGS))),) -+silent-make := no -+else -+silent-make := yes -+endif -+ - # Root of the sysdeps tree. - sysdep_dir := $(..)sysdeps - export sysdep_dir := $(sysdep_dir) -@@ -917,7 +933,7 @@ endif - # umpteen zillion filenames along with it (we use `...' instead) - # but we don't want this echoing done when the user has said - # he doesn't want to see commands echoed by using -s. --ifneq "$(findstring s,$(MAKEFLAGS))" "" # if -s -+ifeq ($(silent-make),yes) # if -s - +cmdecho := echo >/dev/null - else # not -s - +cmdecho := echo ---- a/Makerules -+++ b/Makerules -@@ -794,7 +794,7 @@ endif - # Maximize efficiency by minimizing the number of rules. - .SUFFIXES: # Clear the suffix list. We don't use suffix rules. - # Don't define any builtin rules. --MAKEFLAGS := $(MAKEFLAGS)r -+MAKEFLAGS := $(MAKEFLAGS) -r - - # Generic rule for making directories. - %/: -@@ -811,7 +811,7 @@ MAKEFLAGS := $(MAKEFLAGS)r - .PRECIOUS: $(foreach l,$(libtypes),$(patsubst %,$(common-objpfx)$l,c)) - - # Use the verbose option of ar and tar when not running silently. --ifeq "$(findstring s,$(MAKEFLAGS))" "" # if not -s -+ifeq ($(silent-make),no) # if not -s - verbose := v - else # -s - verbose := ---- a/elf/rtld-Rules -+++ b/elf/rtld-Rules -@@ -52,7 +52,7 @@ $(objpfx)rtld-libc.a: $(foreach dir,$(rtld-subdirs),\ - mv -f $@T $@ - - # Use the verbose option of ar and tar when not running silently. --ifeq "$(findstring s,$(MAKEFLAGS))" "" # if not -s -+ifeq ($(silent-make),no) # if not -s - verbose := v - else # -s - verbose := diff --git a/sys-libs/glibc/files/host.conf-1 b/sys-libs/glibc/files/host.conf-1 deleted file mode 100644 index 661b4af5..00000000 --- a/sys-libs/glibc/files/host.conf-1 +++ /dev/null @@ -1,23 +0,0 @@ -# /etc/host.conf: - -# The file /etc/host.conf contains configuration information specific to -# the resolver library. It should contain one configuration keyword per -# line, followed by appropriate configuration information. The keywords -# recognized are order, trim, mdns, multi, nospoof, spoof, and reorder. - - - -# This keyword specifies how host lookups are to be performed. It -# should be followed by one or more lookup methods, separated by -# commas. Valid methods are bind, hosts, and nis. -# -order hosts, bind - - -# Valid values are on and off. If set to on, the resolv+ library -# will return all valid addresses for a host that appears in the -# /etc/hosts file, instead of only the first. This is off by -# default, as it may cause a substantial performance loss at sites -# with large hosts files. -# -multi off diff --git a/sys-libs/glibc/files/nscd-1 b/sys-libs/glibc/files/nscd-1 deleted file mode 100644 index f69c8e2e..00000000 --- a/sys-libs/glibc/files/nscd-1 +++ /dev/null @@ -1,85 +0,0 @@ -#!/sbin/openrc-run -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -description="The 'Name Service Cache Daemon' is a daemon that provides a cache" -description="${description} for the most common name service requests" - -extra_started_commands="flush_all flush_hosts flush_group flush_passwd flush_netgroup flush_services" - -description_flush_all="Will invalidate hosts, group, passwd, netgroup and services cache" -description_flush_hosts="Will invalidate hosts cache" -description_flush_group="Will invalidate group cache" -description_flush_passwd="Will invalidate passwd cache" -description_flush_netgroup="Will invalidate netgroup cache" -description_flush_services="Will invalidate services cache" - -pidfile="/run/nscd/nscd.pid" -command="/usr/sbin/nscd" - -depend() { - use dns ldap net slapd logger -} - -checkconfig() { - if [ ! -d /run/nscd ] ; then - checkpath -d -m 755 /run/nscd - fi - - if [ -z "${NSCD_PERMS_OK}" ] && [ "$(stat -c %a /run/nscd)" != "755" ] ; then - ewarn "nscd run dir is not world readable, you should reset the perms:" - ewarn "chmod 755 /run/nscd" - ewarn "chmod a+rw /run/nscd/socket" - ewarn "To disable this warning, set 'NSCD_PERMS_OK' in /etc/conf.d/nscd" - fi - - if grep -qs '^[[:space:]]*persistent\>' /etc/nscd.conf ; then - checkpath -d -m 700 /var/db/nscd - fi -} - -_flush() { - local table=$1 - - ebegin "Flushing ${table} table" - ${command} --invalidate ${table} - eend $? -} - -flush_all() { - local has_errors=0 - - ebegin "Flushing all caches" - - local table= - for table in passwd group hosts netgroup services; do - ${command} --invalidate ${table} - [ $? -ne 0 ] && has_errors=1 - done - - eend ${has_errors} -} - -flush_hosts() { - _flush hosts -} - -flush_group() { - _flush group -} - -flush_passwd() { - _flush passwd -} - -flush_netgroup() { - _flush netgroup -} - -flush_services() { - _flush services -} - -start_pre() { - checkconfig -} diff --git a/sys-libs/glibc/files/nscd.service b/sys-libs/glibc/files/nscd.service deleted file mode 100644 index 25a3b1d9..00000000 --- a/sys-libs/glibc/files/nscd.service +++ /dev/null @@ -1,15 +0,0 @@ -[Unit] -Description=Name Service Cache Daemon -After=network.target - -[Service] -ExecStart=/usr/sbin/nscd -F -ExecStop=/usr/sbin/nscd --shutdown -ExecReload=/usr/sbin/nscd -i passwd -ExecReload=/usr/sbin/nscd -i group -ExecReload=/usr/sbin/nscd -i hosts -ExecReload=/usr/sbin/nscd -i services -Restart=always - -[Install] -WantedBy=multi-user.target diff --git a/sys-libs/glibc/files/nscd.tmpfilesd b/sys-libs/glibc/files/nscd.tmpfilesd deleted file mode 100644 index 52edbba6..00000000 --- a/sys-libs/glibc/files/nscd.tmpfilesd +++ /dev/null @@ -1,4 +0,0 @@ -# Configuration to create /run/nscd directory -# Used as part of systemd's tmpfiles - -d /run/nscd 0755 root root -- cgit v1.2.3