summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2021-07-10 22:34:41 +0100
committerV3n3RiX <venerix@redcorelinux.org>2021-07-10 22:34:41 +0100
commit150c9e89079cff6a84409ec4c555c1fc6784d7de (patch)
tree6b2c8a2f537d7b345174cd00b36c27719e48aaf0
parent0d6033e351a40c1783c3343c4b551cff2007977b (diff)
toolchain bump
-rw-r--r--sys-devel/gcc/Manifest4
-rw-r--r--sys-devel/gcc/files/3.3.4/libffi-without-libgcj.patch22
-rw-r--r--sys-devel/gcc/files/3.4.3/libffi-nogcj-lib-path-fix.patch40
-rw-r--r--sys-devel/gcc/files/3.4.3/libffi-without-libgcj.patch40
-rw-r--r--sys-devel/gcc/files/3.4.4/gcc-3.4.4-cross-compile.patch63
-rw-r--r--sys-devel/gcc/files/4.1.0/gcc-4.1.0-cross-compile.patch40
-rw-r--r--sys-devel/gcc/files/4.1.0/gcc-4.1.0-fast-math-i386-Os-workaround.patch64
-rw-r--r--sys-devel/gcc/files/gcc-4.9.4-bootstrap.patch66
-rw-r--r--sys-devel/gcc/files/gcc-9.2.0-neg-insn-cost.patch29
-rw-r--r--sys-devel/gcc/files/gcc-spec-env-r1.patch87
-rw-r--r--sys-devel/gcc/files/gcc-spec-env.patch42
-rw-r--r--sys-devel/gcc/gcc-10.2.0-r10.ebuild18
-rw-r--r--sys-devel/gcc/gcc-10.3.0-r10.ebuild21
-rw-r--r--sys-kernel/linux-headers/Manifest4
-rw-r--r--sys-kernel/linux-headers/linux-headers-5.10-r10.ebuild (renamed from sys-kernel/linux-headers/linux-headers-5.9-r10.ebuild)14
-rw-r--r--sys-libs/glibc/Manifest7
-rw-r--r--sys-libs/glibc/glibc-2.33-r10.ebuild (renamed from sys-libs/glibc/glibc-2.32-r10.ebuild)103
17 files changed, 90 insertions, 574 deletions
diff --git a/sys-devel/gcc/Manifest b/sys-devel/gcc/Manifest
index a0b6c670..b545db19 100644
--- a/sys-devel/gcc/Manifest
+++ b/sys-devel/gcc/Manifest
@@ -1,2 +1,2 @@
-DIST gcc-10.2.0-patches-4.tar.bz2 23266 BLAKE2B 8173474d3dea27a440b36eb80c89aabb08c37528c3ec2382839c46fc36336aff7f9cdf3dfbc66947df9286b1cfe9f479d615f77d81ab24ff68a3edf5df5b2350 SHA512 17080f358a3f231837de35188ad1a6ae554a4ca6199efae6dacf9b17706937379559d6c8de330b4237480fea6f5cffffc1158c1d5ecc36ec3a7b410546a2684b
-DIST gcc-10.2.0.tar.xz 75004144 BLAKE2B 1d79397330354e61439283cac96a109bf78ffc726265442e6d3ec131f107589ab7349d6612836edd8c8512f7bcc1d901a65a0d5d925d28a5bf3ef5cc3f9787ee SHA512 42ae38928bd2e8183af445da34220964eb690b675b1892bbeb7cd5bb62be499011ec9a93397dba5e2fb681afadfc6f2767d03b9035b44ba9be807187ae6dc65e
+DIST gcc-10.3.0-patches-1.tar.bz2 15282 BLAKE2B ef283e8b108af9bfd3324fabb95c835374113c6ff2cf1430a5568b3d1b27183e6de6751367c1e5720c85ac4c45132848888d5510c63f95e88a1f623b6bcf4000 SHA512 6dc435c8619a1532000fae843b9964d0d1e28d3cc9cc1962ab7391570a0cf1135424ea5c0b0d3d5ec5ea863f02e963be2ec4c94822f217fc692a1d808325404e
+DIST gcc-10.3.0.tar.xz 76692288 BLAKE2B ac7898f5eb8a7c5f151a526d1bb38913a68b50a65e4d010ac09fa20b6c801c671c790d780f23ccb8e4ecdfc686f4aa588082ccc9eb5c80c7b0e30788f824c1eb SHA512 2b2dd7453d48a398c29eaebd1422b70341001b8c90a62aee51e83344e7fdd8a8e45f82a4a9165bd7edc76dada912c932f4b6632c5636760fec4c5d7e402b3f86
diff --git a/sys-devel/gcc/files/3.3.4/libffi-without-libgcj.patch b/sys-devel/gcc/files/3.3.4/libffi-without-libgcj.patch
deleted file mode 100644
index 507d42f0..00000000
--- a/sys-devel/gcc/files/3.3.4/libffi-without-libgcj.patch
+++ /dev/null
@@ -1,22 +0,0 @@
---- configure.in.old 2004-06-26 07:01:06.000000000 +0200
-+++ configure.in 2004-06-26 07:02:55.000000000 +0200
-@@ -52,8 +52,7 @@
- host_tools="texinfo byacc flex bison binutils ld gas gcc sid sim gdb make patch prms send-pr gprof etc expect dejagnu ash bash bzip2 m4 autoconf automake libtool grep diff rcs fileutils shellutils time textutils wdiff find uudecode hello tar gzip indent recode release sed utils guile perl gawk findutils snavigator libtool gettext zip fastjar"
-
- # libgcj represents the runtime libraries only used by gcj.
--libgcj="target-libffi \
-- target-boehm-gc \
-+libgcj="target-boehm-gc \
- target-zlib \
- target-qthreads \
- target-libjava"
-@@ -66,7 +65,8 @@
- target-newlib \
- ${libstdcxx_version} \
- target-libf2c \
-- ${libgcj}
-+ ${libgcj} \
-+ target-libffi \
- target-libobjc"
-
- # these tools are built using the target libs, and are intended to run only
diff --git a/sys-devel/gcc/files/3.4.3/libffi-nogcj-lib-path-fix.patch b/sys-devel/gcc/files/3.4.3/libffi-nogcj-lib-path-fix.patch
deleted file mode 100644
index b5195e4e..00000000
--- a/sys-devel/gcc/files/3.4.3/libffi-nogcj-lib-path-fix.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-diff -ur gcc-3.4.3/libffi/Makefile.in gcc-3.4.3-ffi-fixes/libffi/Makefile.in
---- gcc-3.4.3/libffi/Makefile.in 2003-11-22 08:41:32.000000000 -0500
-+++ gcc-3.4.3-ffi-fixes/libffi/Makefile.in 2004-11-28 17:31:50.000000000 -0500
-@@ -89,7 +89,7 @@
- libffi_basedir = @libffi_basedir@
- tool_include_dir = @tool_include_dir@
- toolexecdir = @toolexecdir@
--toolexeclibdir = @toolexeclibdir@
-+toolexeclibdir = @toolexeclibdir@/@gcc_version@
-
- AUTOMAKE_OPTIONS = cygnus
-
-diff -ur gcc-3.4.3/libffi/configure gcc-3.4.3-ffi-fixes/libffi/configure
---- gcc-3.4.3/libffi/configure 2004-05-18 05:08:39.000000000 -0400
-+++ gcc-3.4.3-ffi-fixes/libffi/configure 2004-11-28 17:48:19.000000000 -0500
-@@ -3800,8 +3800,8 @@
- toolexecdir='$(exec_prefix)/$(target_alias)'
- toolexeclibdir='$(toolexecdir)/lib'
- else
-- toolexecdir='$(libdir)/gcc-lib/$(target_alias)'
-- toolexeclibdir='$(libdir)'
-+ toolexecdir='$(libdir)/gcc/$(target_alias)'
-+ toolexeclibdir='$(libdir)/gcc/$(target_alias)/$(gcc-version)'
- fi
- multi_os_directory=`$CC -print-multi-os-directory`
- case $multi_os_directory in
-diff -ur gcc-3.4.3/libffi/configure.in gcc-3.4.3-ffi-fixes/libffi/configure.in
---- gcc-3.4.3/libffi/configure.in 2004-04-27 01:10:19.000000000 -0400
-+++ gcc-3.4.3-ffi-fixes/libffi/configure.in 2004-11-28 17:40:30.000000000 -0500
-@@ -225,8 +225,8 @@
- toolexecdir='$(exec_prefix)/$(target_alias)'
- toolexeclibdir='$(toolexecdir)/lib'
- else
-- toolexecdir='$(libdir)/gcc-lib/$(target_alias)'
-- toolexeclibdir='$(libdir)'
-+ toolexecdir='$(libdir)/gcc/$(target_alias)'
-+ toolexeclibdir='$(libdir)/gcc/$(target_alias)/$(gcc_version)'
- fi
- multi_os_directory=`$CC -print-multi-os-directory`
- case $multi_os_directory in
diff --git a/sys-devel/gcc/files/3.4.3/libffi-without-libgcj.patch b/sys-devel/gcc/files/3.4.3/libffi-without-libgcj.patch
deleted file mode 100644
index b270a06a..00000000
--- a/sys-devel/gcc/files/3.4.3/libffi-without-libgcj.patch
+++ /dev/null
@@ -1,40 +0,0 @@
---- configure.in.orig 2004-08-03 00:53:36.000000000 +0200
-+++ configure.in 2004-08-03 00:52:35.000000000 +0200
-@@ -136,8 +136,7 @@
- host_tools="texinfo byacc flex bison binutils gas ld gcc sid sim gdb make patch prms send-pr gprof etc expect dejagnu ash bash bzip2 m4 autoconf automake libtool diff rcs fileutils shellutils time textutils wdiff find uudecode hello tar gzip indent recode release sed utils guile perl gawk findutils gettext zip fastjar"
-
- # libgcj represents the runtime libraries only used by gcj.
--libgcj="target-libffi \
-- target-boehm-gc \
-+libgcj="target-boehm-gc \
- target-zlib \
- target-qthreads \
- target-libjava"
-@@ -150,6 +150,7 @@
- target-libstdc++-v3 \
- target-libf2c \
- ${libgcj} \
-+ target-libffi \
- target-libobjc"
-
- # these tools are built using the target libraries, and are intended to
---- configure~ 2004-08-28 02:31:04.000000000 +0200
-+++ configure 2004-08-28 10:55:28.000000000 +0200
-@@ -876,8 +876,7 @@
- host_tools="texinfo byacc flex bison binutils gas ld gcc sid sim gdb make patch prms send-pr gprof etc expect dejagnu ash bash bzip2 m4 autoconf automake libtool diff rcs fileutils shellutils time textutils wdiff find uudecode hello tar gzip indent recode release sed utils guile perl gawk findutils gettext zip fastjar"
-
- # libgcj represents the runtime libraries only used by gcj.
--libgcj="target-libffi \
-- target-boehm-gc \
-+libgcj="target-boehm-gc \
- target-zlib \
- target-qthreads \
- target-libjava"
-@@ -891,6 +890,7 @@
- target-libstdc++-v3 \
- target-libf2c \
- ${libgcj} \
-+ target-libffi \
- target-libobjc"
-
- # these tools are built using the target libraries, and are intended to
diff --git a/sys-devel/gcc/files/3.4.4/gcc-3.4.4-cross-compile.patch b/sys-devel/gcc/files/3.4.4/gcc-3.4.4-cross-compile.patch
deleted file mode 100644
index 03895434..00000000
--- a/sys-devel/gcc/files/3.4.4/gcc-3.4.4-cross-compile.patch
+++ /dev/null
@@ -1,63 +0,0 @@
-Some notes on the 'bootstrap with or without libc headers' debate:
-http://linuxfromscratch.org/pipermail/lfs-dev/2005-July/052409.html
-http://gcc.gnu.org/ml/gcc/2005-07/msg01195.html
-
---- gcc/config/sh/linux.h
-+++ gcc/config/sh/linux.h
-@@ -145,6 +145,7 @@
- /* Do code reading to identify a signal frame, and set the frame
- state data appropriately. See unwind-dw2.c for the structs. */
-
-+#ifndef inhibit_libc
- #ifdef IN_LIBGCC2
- #include <signal.h>
- #include <sys/ucontext.h>
-@@ -295,6 +296,7 @@
-
- #endif /* defined (__SH5__) */
- #endif /* IN_LIBGCC2 */
-+#endif /* inhibit_libc */
-
- /* For SH3 and SH4, we use a slot of the unwind frame which correspond
- to a fake register number 16 as a placeholder for the return address
---- gcc/config/i386/linux.h
-+++ gcc/config/i386/linux.h
-@@ -208,6 +208,7 @@
- /* Do code reading to identify a signal frame, and set the frame
- state data appropriately. See unwind-dw2.c for the structs. */
-
-+#ifndef inhibit_libc
- #ifdef IN_LIBGCC2
- /* There's no sys/ucontext.h for some (all?) libc1, so no
- signal-turned-exceptions for them. There's also no configure-run for
-@@ -272,3 +273,4 @@
- } while (0)
- #endif /* not USE_GNULIBC_1 */
- #endif /* IN_LIBGCC2 */
-+#endif /* inhibit_libc */
---- gcc/config/alpha/linux.h
-+++ gcc/config/alpha/linux.h
-@@ -73,6 +73,7 @@
- /* Do code reading to identify a signal frame, and set the frame
- state data appropriately. See unwind-dw2.c for the structs. */
-
-+#ifndef inhibit_libc
- #ifdef IN_LIBGCC2
- #include <signal.h>
- #include <sys/ucontext.h>
-@@ -122,3 +123,4 @@
- (FS)->retaddr_column = 64; \
- goto SUCCESS; \
- } while (0)
-+#endif /* inhibit_libc */
---- gcc/config.gcc
-+++ gcc/config.gcc
-@@ -321,7 +321,7 @@
- need_64bit_hwint=yes
- ;;
- # Note the 'l'; we need to be able to match e.g. "shle" or "shl".
--sh[123456789l]*-*-*)
-+sh[123456789lbe]*-*-*)
- cpu_type=sh
- need_64bit_hwint=yes
- ;;
diff --git a/sys-devel/gcc/files/4.1.0/gcc-4.1.0-cross-compile.patch b/sys-devel/gcc/files/4.1.0/gcc-4.1.0-cross-compile.patch
deleted file mode 100644
index 523caa48..00000000
--- a/sys-devel/gcc/files/4.1.0/gcc-4.1.0-cross-compile.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-Some notes on the 'bootstrap with or without libc headers' debate:
-http://linuxfromscratch.org/pipermail/lfs-dev/2005-July/052409.html
-http://gcc.gnu.org/ml/gcc/2005-07/msg01195.html
-
---- gcc/unwind-dw2.c
-+++ gcc/unwind-dw2.c
-@@ -253,9 +253,11 @@
- }
- #endif
-
-+#ifndef inhibit_libc
- #ifdef MD_UNWIND_SUPPORT
- #include MD_UNWIND_SUPPORT
- #endif
-+#endif
-
- /* Extract any interesting information from the CIE for the translation
- unit F belongs to. Return a pointer to the byte after the augmentation,
---- gcc/configure
-+++ gcc/configure
-@@ -12857,7 +12857,7 @@ then
- | powerpc*-*-*,powerpc64*-*-*)
- CROSS="$CROSS -DNATIVE_CROSS" ;;
- esac
--elif test "x$TARGET_SYSTEM_ROOT" != x; then
-+elif test "x$TARGET_SYSTEM_ROOT" != x -o $build != $host; then
- SYSTEM_HEADER_DIR=$build_system_header_dir
- fi
-
---- gcc/configure.ac
-+++ gcc/configure.ac
-@@ -1717,7 +1717,7 @@ then
- | powerpc*-*-*,powerpc64*-*-*)
- CROSS="$CROSS -DNATIVE_CROSS" ;;
- esac
--elif test "x$TARGET_SYSTEM_ROOT" != x; then
-+elif test "x$TARGET_SYSTEM_ROOT" != x -o $build != $host; then
- SYSTEM_HEADER_DIR=$build_system_header_dir
- fi
-
diff --git a/sys-devel/gcc/files/4.1.0/gcc-4.1.0-fast-math-i386-Os-workaround.patch b/sys-devel/gcc/files/4.1.0/gcc-4.1.0-fast-math-i386-Os-workaround.patch
deleted file mode 100644
index 6090d66d..00000000
--- a/sys-devel/gcc/files/4.1.0/gcc-4.1.0-fast-math-i386-Os-workaround.patch
+++ /dev/null
@@ -1,64 +0,0 @@
-workaround for lame stack packing on i386 ...
-
- - build gcc with -Os (crtfastmath.o to be specific)
- - crtfastmath.o is installed into gcc libdir
- - run gcc with -ffast-math and get crtfastmath.o linked in
- - resulting compiled app segfaults due to init code in
- crtfastmath.o that has mis-aligned structure on stack
-
-http://bugs.gentoo.org/147020
-http://gcc.gnu.org/PR28621
-
-this is supposed to be fixed in current 4.1 branch, but i'm unable to get
-the fix to work so until i can figure out what i'm doing wrong, we'll use
-this workaround for now.
-
---- gcc-4.1.1/gcc/config/i386/crtfastmath.c
-+++ gcc-4.1.1/gcc/config/i386/crtfastmath.c
-@@ -37,6 +37,23 @@
- #define FXSAVE (1 << 24)
- #define SSE (1 << 25)
-
-+struct
-+{
-+ unsigned short int cwd;
-+ unsigned short int swd;
-+ unsigned short int twd;
-+ unsigned short int fop;
-+ long int fip;
-+ long int fcs;
-+ long int foo;
-+ long int fos;
-+ long int mxcsr;
-+ long int mxcsr_mask;
-+ long int st_space[32];
-+ long int xmm_space[32];
-+ long int padding[56];
-+} __attribute__ ((aligned (16))) fxsave;
-+
- static void __attribute__((constructor))
- set_fast_math (void)
- {
-@@ -75,22 +92,6 @@
- if (edx & FXSAVE)
- {
- /* Check if DAZ is available. */
-- struct
-- {
-- unsigned short int cwd;
-- unsigned short int swd;
-- unsigned short int twd;
-- unsigned short int fop;
-- long int fip;
-- long int fcs;
-- long int foo;
-- long int fos;
-- long int mxcsr;
-- long int mxcsr_mask;
-- long int st_space[32];
-- long int xmm_space[32];
-- long int padding[56];
-- } __attribute__ ((aligned (16))) fxsave;
-
- __builtin_memset (&fxsave, 0, sizeof (fxsave));
-
diff --git a/sys-devel/gcc/files/gcc-4.9.4-bootstrap.patch b/sys-devel/gcc/files/gcc-4.9.4-bootstrap.patch
deleted file mode 100644
index aed1ad0e..00000000
--- a/sys-devel/gcc/files/gcc-4.9.4-bootstrap.patch
+++ /dev/null
@@ -1,66 +0,0 @@
-From 41a4aa66eac45c8862a79351647ec06dd03bd1f5 Mon Sep 17 00:00:00 2001
-From: jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
-Date: Sat, 13 Dec 2014 11:24:37 +0000
-Subject: [PATCH] PR bootstrap/64023 * Makefile.tpl
- (EXTRA_TARGET_FLAGS): Set STAGE1_LDFLAGS to POSTSTAGE1_LDFLAGS and
- STAGE1_LIBS to POSTSTAGE1_LIBS. Add -B to libstdc++-v3/src/.libs and
- libstdc++-v3/libsupc++/.libs to CXX. * Makefile.in: Regenerated.
-
-git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218705 138bc75d-0d04-0410-961f-82ee72b054a4
----
- ChangeLog | 9 +++++++++
- Makefile.in | 6 +++++-
- Makefile.tpl | 6 +++++-
- 3 files changed, 19 insertions(+), 2 deletions(-)
-
-diff --git a/Makefile.in b/Makefile.in
-index ba5ae4c2ecb..8ffc313f157 100644
---- a/Makefile.in
-+++ b/Makefile.in
-@@ -835,7 +835,9 @@ EXTRA_TARGET_FLAGS = \
- 'AS=$(COMPILER_AS_FOR_TARGET)' \
- 'CC=$$(CC_FOR_TARGET) $$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \
- 'CFLAGS=$$(CFLAGS_FOR_TARGET)' \
-- 'CXX=$$(CXX_FOR_TARGET) $$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \
-+ 'CXX=$$(CXX_FOR_TARGET) -B$$r/$$(TARGET_SUBDIR)/libstdc++-v3/src/.libs \
-+ -B$$r/$$(TARGET_SUBDIR)/libstdc++-v3/libsupc++/.libs \
-+ $$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \
- 'CXXFLAGS=$$(CXXFLAGS_FOR_TARGET)' \
- 'DLLTOOL=$$(DLLTOOL_FOR_TARGET)' \
- 'GCJ=$$(GCJ_FOR_TARGET) $$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \
-@@ -853,6 +855,8 @@ EXTRA_TARGET_FLAGS = \
- 'WINDRES=$$(WINDRES_FOR_TARGET)' \
- 'WINDMC=$$(WINDMC_FOR_TARGET)' \
- 'XGCC_FLAGS_FOR_TARGET=$(XGCC_FLAGS_FOR_TARGET)' \
-+ 'STAGE1_LDFLAGS=$$(POSTSTAGE1_LDFLAGS)' \
-+ 'STAGE1_LIBS=$$(POSTSTAGE1_LIBS)' \
- "TFLAGS=$$TFLAGS"
-
- TARGET_FLAGS_TO_PASS = $(BASE_FLAGS_TO_PASS) $(EXTRA_TARGET_FLAGS)
-diff --git a/Makefile.tpl b/Makefile.tpl
-index dcbc6b1b143..bb8227eaafa 100644
---- a/Makefile.tpl
-+++ b/Makefile.tpl
-@@ -641,7 +641,9 @@ EXTRA_TARGET_FLAGS = \
- 'AS=$(COMPILER_AS_FOR_TARGET)' \
- 'CC=$$(CC_FOR_TARGET) $$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \
- 'CFLAGS=$$(CFLAGS_FOR_TARGET)' \
-- 'CXX=$$(CXX_FOR_TARGET) $$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \
-+ 'CXX=$$(CXX_FOR_TARGET) -B$$r/$$(TARGET_SUBDIR)/libstdc++-v3/src/.libs \
-+ -B$$r/$$(TARGET_SUBDIR)/libstdc++-v3/libsupc++/.libs \
-+ $$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \
- 'CXXFLAGS=$$(CXXFLAGS_FOR_TARGET)' \
- 'DLLTOOL=$$(DLLTOOL_FOR_TARGET)' \
- 'GCJ=$$(GCJ_FOR_TARGET) $$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \
-@@ -659,6 +661,8 @@ EXTRA_TARGET_FLAGS = \
- 'WINDRES=$$(WINDRES_FOR_TARGET)' \
- 'WINDMC=$$(WINDMC_FOR_TARGET)' \
- 'XGCC_FLAGS_FOR_TARGET=$(XGCC_FLAGS_FOR_TARGET)' \
-+ 'STAGE1_LDFLAGS=$$(POSTSTAGE1_LDFLAGS)' \
-+ 'STAGE1_LIBS=$$(POSTSTAGE1_LIBS)' \
- "TFLAGS=$$TFLAGS"
-
- TARGET_FLAGS_TO_PASS = $(BASE_FLAGS_TO_PASS) $(EXTRA_TARGET_FLAGS)
---
-2.15.0
-
diff --git a/sys-devel/gcc/files/gcc-9.2.0-neg-insn-cost.patch b/sys-devel/gcc/files/gcc-9.2.0-neg-insn-cost.patch
deleted file mode 100644
index 7a6bebdf..00000000
--- a/sys-devel/gcc/files/gcc-9.2.0-neg-insn-cost.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-https://bugs.gentoo.org/707958
-https://gcc.gnu.org/PR88879
-
-Subject: [PATCH] sel-sched: allow negative insn priority (PR 88879)
-From: Alexander Monakov <amonakov@ispras.ru>
-
- PR rtl-optimization/88879
- * sel-sched.c (sel_target_adjust_priority): Remove assert.
-
-From-SVN: r271039
----
- gcc/ChangeLog | 5 +++++
- gcc/sel-sched.c | 2 --
- 2 files changed, 5 insertions(+), 2 deletions(-)
-
---- a/gcc/sel-sched.c
-+++ b/gcc/sel-sched.c
-@@ -3331,8 +3331,6 @@ sel_target_adjust_priority (expr_t expr)
- else
- new_priority = priority;
-
-- gcc_assert (new_priority >= 0);
--
- /* If the priority has changed, adjust EXPR_PRIORITY_ADJ accordingly. */
- EXPR_PRIORITY_ADJ (expr) = new_priority - EXPR_PRIORITY (expr);
-
---
-2.25.0
-
diff --git a/sys-devel/gcc/files/gcc-spec-env-r1.patch b/sys-devel/gcc/files/gcc-spec-env-r1.patch
deleted file mode 100644
index a5892683..00000000
--- a/sys-devel/gcc/files/gcc-spec-env-r1.patch
+++ /dev/null
@@ -1,87 +0,0 @@
-2013-08-22 Magnus Granberg <zorry@gentoo.org>
-
- * gcc/gcc.c (main): Add support for external spec file via the GCC_SPECS env var
- and move the process of the user specifed specs.
-
- This allows us to easily control pie/ssp defaults with gcc-config profiles.
- Original patch by Rob Holland
- Extended to support multiple entries separated by ':' by Kevin F. Quinn
- Modified to use getenv instead of poisoned GET_ENVIRONMENT by Ryan Hill
- Modified to process the GCC_SPECS env var befor DRIVER_SELF_SPECS by Magnus Granberg
-
---- gcc-4.8-20130210/gcc/gcc.c 2013-02-05 16:55:31.000000000 +0100
-+++ gcc-4.8-20130210-work/gcc/gcc.c 2013-07-26 02:32:14.625089864 +0200
-@@ -6427,6 +6428,48 @@ main (int argc, char **argv)
- do_option_spec (option_default_specs[i].name,
- option_default_specs[i].spec);
-
-+#if !(defined (__MSDOS__) || defined (OS2) || defined (VMS) || defined (WIN32))
-+ /* Add specs listed in GCC_SPECS. Note; in the process of separating
-+ * each spec listed, the string is overwritten at token boundaries
-+ * (':') with '\0', an effect of strtok_r().
-+ */
-+ specs_file = getenv ("GCC_SPECS");
-+ if (specs_file && (strlen(specs_file) > 0))
-+ {
-+ char *spec, *saveptr;
-+ for (spec=strtok_r(specs_file,":",&saveptr);
-+ spec!=NULL;
-+ spec=strtok_r(NULL,":",&saveptr))
-+ {
-+ struct user_specs *user = (struct user_specs *)
-+ xmalloc (sizeof (struct user_specs));
-+ user->next = (struct user_specs *) 0;
-+ user->filename = spec;
-+ if (user_specs_tail)
-+ user_specs_tail->next = user;
-+ else
-+ user_specs_head = user;
-+ user_specs_tail = user;
-+ }
-+ }
-+#endif
-+ /* Process any user specified specs in the order given on the command
-+ * line. */
-+ for (uptr = user_specs_head; uptr; uptr = uptr->next)
-+ {
-+ char *filename = find_a_file (&startfile_prefixes, uptr->filename,
-+ R_OK, true);
-+ read_specs (filename ? filename : uptr->filename, false, true);
-+ }
-+ /* Process any user self specs. */
-+ {
-+ struct spec_list *sl;
-+ for (sl = specs; sl; sl = sl->next)
-+ if (sl->name_len == sizeof "self_spec" - 1
-+ && !strcmp (sl->name, "self_spec"))
-+ do_self_spec (*sl->ptr_spec);
-+ }
-+
- /* Process DRIVER_SELF_SPECS, adding any new options to the end
- of the command line. */
-
-@@ -6535,24 +6578,6 @@ main (int argc, char **argv)
- PREFIX_PRIORITY_LAST, 0, 1);
- }
-
-- /* Process any user specified specs in the order given on the command
-- line. */
-- for (uptr = user_specs_head; uptr; uptr = uptr->next)
-- {
-- char *filename = find_a_file (&startfile_prefixes, uptr->filename,
-- R_OK, true);
-- read_specs (filename ? filename : uptr->filename, false, true);
-- }
--
-- /* Process any user self specs. */
-- {
-- struct spec_list *sl;
-- for (sl = specs; sl; sl = sl->next)
-- if (sl->name_len == sizeof "self_spec" - 1
-- && !strcmp (sl->name, "self_spec"))
-- do_self_spec (*sl->ptr_spec);
-- }
--
- if (compare_debug)
- {
- enum save_temps save;
diff --git a/sys-devel/gcc/files/gcc-spec-env.patch b/sys-devel/gcc/files/gcc-spec-env.patch
deleted file mode 100644
index 57e7567e..00000000
--- a/sys-devel/gcc/files/gcc-spec-env.patch
+++ /dev/null
@@ -1,42 +0,0 @@
- Add support for external spec file via the GCC_SPECS env var. This
- allows us to easily control pie/ssp defaults with gcc-config profiles.
-
- Original patch by Rob Holland
- Extended to support multiple entries separated by ':' by Kevin F. Quinn
- Modified to use getenv instead of poisoned GET_ENVIRONMENT by Ryan Hill
-
---- gcc-4/gcc/gcc.c
-+++ gcc-4/gcc/gcc.c
-@@ -6482,6 +6482,32 @@
-
- /* Process any user specified specs in the order given on the command
- line. */
-+#if !(defined (__MSDOS__) || defined (OS2) || defined (VMS) || defined (WIN32))
-+ /* Add specs listed in GCC_SPECS. Note; in the process of separating
-+ * each spec listed, the string is overwritten at token boundaries
-+ * (':') with '\0', an effect of strtok_r().
-+ */
-+ specs_file = getenv ("GCC_SPECS");
-+ if (specs_file && (strlen(specs_file) > 0))
-+ {
-+ char *spec, *saveptr;
-+ for (spec=strtok_r(specs_file,":",&saveptr);
-+ spec!=NULL;
-+ spec=strtok_r(NULL,":",&saveptr))
-+ {
-+ struct user_specs *user = (struct user_specs *)
-+ xmalloc (sizeof (struct user_specs));
-+
-+ user->next = (struct user_specs *) 0;
-+ user->filename = spec;
-+ if (user_specs_tail)
-+ user_specs_tail->next = user;
-+ else
-+ user_specs_head = user;
-+ user_specs_tail = user;
-+ }
-+ }
-+#endif
- for (uptr = user_specs_head; uptr; uptr = uptr->next)
- {
- char *filename = find_a_file (&startfile_prefixes, uptr->filename,
diff --git a/sys-devel/gcc/gcc-10.2.0-r10.ebuild b/sys-devel/gcc/gcc-10.2.0-r10.ebuild
deleted file mode 100644
index 9bda9722..00000000
--- a/sys-devel/gcc/gcc-10.2.0-r10.ebuild
+++ /dev/null
@@ -1,18 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-PATCH_VER="4"
-
-inherit toolchain
-
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-
-RDEPEND=""
-BDEPEND="${CATEGORY}/binutils"
-
-src_prepare() {
- has_version '>=sys-libs/glibc-2.32-r1' && rm -v "${WORKDIR}/patch/23_all_disable-riscv32-ABIs.patch"
- toolchain_src_prepare
-}
diff --git a/sys-devel/gcc/gcc-10.3.0-r10.ebuild b/sys-devel/gcc/gcc-10.3.0-r10.ebuild
new file mode 100644
index 00000000..2d3e3739
--- /dev/null
+++ b/sys-devel/gcc/gcc-10.3.0-r10.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+PATCH_VER="1"
+
+inherit toolchain
+
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+
+RDEPEND=""
+BDEPEND="${CATEGORY}/binutils"
+
+src_prepare() {
+ if has_version '>=sys-libs/glibc-2.32-r1'; then
+ rm -v "${WORKDIR}/patch/23_all_disable-riscv32-ABIs.patch" || die
+ fi
+
+ toolchain_src_prepare
+}
diff --git a/sys-kernel/linux-headers/Manifest b/sys-kernel/linux-headers/Manifest
index 04a0716c..537ef88d 100644
--- a/sys-kernel/linux-headers/Manifest
+++ b/sys-kernel/linux-headers/Manifest
@@ -1,2 +1,2 @@
-DIST gentoo-headers-5.9-1.tar.xz 4304 BLAKE2B 5dda91dac529cf3afca220d0ec323f679eae00e850e127ca6fb7dd42313afe7d4e2b23860a5b58673c070456e1ebd6b0d48efd681a764eef1bab996de579fd11 SHA512 3522d25e4d13f703e69a7e8da1813b38c8977821363b56af1988d78c446087dea4c3499283a2fdef2dc000fde29b945abb821a01f53ac0ac6c2b551699b3b18c
-DIST linux-5.9.tar.xz 115507140 BLAKE2B e8d11472d63a9f8409ca12a2e8c97c6963a3d4516b5a398b627d6ece565584526f9b5a1377a2fa4bd184c09c7db94c987428bc5d52df0c788464a67e9e8d6dcb SHA512 d3d92ce4246bad74c9a784212f160d98449b1e8793970c2c308276568d852b8effe0528686bdb87d55d691f09a826abf7938d69bdd4759ce65ddd5c05ffe4eca
+DIST gentoo-headers-5.10-1.tar.xz 4304 BLAKE2B b5006ff13c8ef8394806919d547f1b15ac32cc4d290e8c5f5a5073f54112db194a9e743177ae54941d8a504e15b662751258259183c47c574936744d7c51b405 SHA512 3154558df20e3a8821af23b2a585eaccb6c40877850b1cf752c435c170f7f322a48e77cee63bcc061b69aff8602987f4506d803c73f394929716295aface4f3d
+DIST linux-5.10.tar.xz 116606704 BLAKE2B b923d7b66309224f42f35f8a5fa219421b0a9362d2adacdadd8d96251f61f7230878ea297a269a7f3b3c56830f0b177e068691e1d7f88501a05653b0a13274d1 SHA512 95bc137d0cf9148da6a9d1f1a878698dc27b40f68e22c597544010a6c591ce1b256f083489d3ff45ff77753289b535135590194d88ef9f007d0ddab3d74de70e
diff --git a/sys-kernel/linux-headers/linux-headers-5.9-r10.ebuild b/sys-kernel/linux-headers/linux-headers-5.10-r10.ebuild
index 3c7e3cd2..a37bdc6e 100644
--- a/sys-kernel/linux-headers/linux-headers-5.9-r10.ebuild
+++ b/sys-kernel/linux-headers/linux-headers-5.10-r10.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
ETYPE="headers"
-H_SUPPORTEDARCH="alpha amd64 arc arm arm64 avr32 cris frv hexagon hppa ia64 m32r m68k metag microblaze mips mn10300 nios2 openrisc ppc ppc64 riscv s390 score sh sparc x86 xtensa"
+H_SUPPORTEDARCH="alpha amd64 arc arm arm64 avr32 cris frv hexagon hppa ia64 m68k metag microblaze mips mn10300 nios2 openrisc ppc ppc64 riscv s390 score sh sparc x86 xtensa"
inherit kernel-2 toolchain-funcs
detect_version
@@ -15,7 +15,7 @@ SRC_URI="${KERNEL_URI}
${PATCH_VER:+https://dev.gentoo.org/~slyfox/distfiles/gentoo-headers-${PATCH_PV}-${PATCH_VER}.tar.xz}
"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
DEPEND="app-arch/xz-utils
dev-lang/perl"
@@ -33,6 +33,10 @@ src_prepare() {
default
}
+src_test() {
+ emake headers_check ${xmakeopts}
+}
+
src_install() {
kernel-2_src_install
@@ -40,7 +44,3 @@ src_install() {
find "${ED}" '(' -name '.install' -o -name '*.cmd' ')' -delete
find "${ED}" -depth -type d -delete 2>/dev/null
}
-
-src_test() {
- emake headers_check ${xmakeopts}
-}
diff --git a/sys-libs/glibc/Manifest b/sys-libs/glibc/Manifest
index d79185b0..9d2d29dc 100644
--- a/sys-libs/glibc/Manifest
+++ b/sys-libs/glibc/Manifest
@@ -1,5 +1,4 @@
-DIST backport-rv32.txz 26416 BLAKE2B 7a6b593859f88a3c040f06324dace4cc6137d14d4580fad9ea285829666d761c3dd01c190746e86846c219423124c77a55bc57b6e56efe6401a9c99d7fa445cd SHA512 d08dc02c4f0a3c5a15c57fbb5190588121c0e0728e6ab2119483407a98625efe58b3c83b44d750b0146171e63dcf8a6dbb6d1a057d042f794eed9adbd1f0293e
-DIST gcc-multilib-bootstrap-20180511.tar.xz 2392908 BLAKE2B f3cf614399368acd8908f60d894c6344a2fa09383b30c1633a0682bc668367c8a2f8c6fec2d41b6e2178d709a2bd8db57e8b2ab56ba263c7d56f819c15acd061 SHA512 98c766e913693ab42ff790557acde2a36a8001e2648046a685b21964200df8d4d52d8452d499c0068c6648284d086ce062c2d36e2c6c2fd8aacd232d193f2853
-DIST glibc-2.32-patches-2.tar.xz 8588 BLAKE2B 57a85241e3270d14df0332b039a933c5a7ee4d089684d85cca564eeec2d6796735de60b628c5746858757342922d58993d6cf7187ce1d7102b2299ca2cf8513f SHA512 45bbab9e2f813f55cb4a1438dcd9365170b8facff50b11648ba6022da06c20029bb65a4b06fd906af82aa7461b7374f85105fd7eedb7915cec3f1df3779b68a3
-DIST glibc-2.32.tar.xz 16744512 BLAKE2B a56b4afbb35315c5cd6dca0f62e44455dceae3e6e88a8453621f9a5394a60ddf10ca9309b2db0911830c7fd77e3faa5d94694eb94d5b2c05fc5285cef52255da SHA512 8460c155b7003e04f18dabece4ed9ad77445fa2288a7dc08e80a8fc4c418828af29e0649951bd71a54ea2ad2d4da7570aafd9bdfe4a37e9951b772b442afe50b
+DIST gcc-multilib-bootstrap-20201208.tar.xz 5528452 BLAKE2B 16699a6e4df5b2f28a21776ae9e3728b26a9ea251f5580aa5349545ad7c9f6145b9cb6a12ca8f5f96b9cb2a3c70b7e66ca702e4c6f083ac00408e0a20a69e613 SHA512 a243f505e17d0a7e144e8713c077582412f61d6cf7f79baa846de4fb77f5e0f27e11c9a785e14624e04ac52287b32164e7995323aa11caef59113ac438254347
+DIST glibc-2.33-patches-4.tar.xz 60124 BLAKE2B a7a99f39c16df241745772c31b10946dc44c51e6c09f8a447b905e7dd6ba529aee08f66a581431453c6665485ac1848861559aa3f0aaba8c2061c1f1eb77d9be SHA512 05c33dc465a98097f836783bb5037dfa14b3a2c0c140014f642ea72954222ae919fe2db9573ee70ca9c1881b3b59dd4b815a8f39f331494fa12951c9012797ef
+DIST glibc-2.33.tar.xz 17031280 BLAKE2B 703d12121c1e2c5d9e0c6ba5341f5fb5c4d9111611a83f2360029b5de9c6e5a5611249d1833684a58ed4afdf49cae614365d87ec8721ba0e5d218f593b1f229d SHA512 4cb5777b68b22b746cc51669e0e9282b43c83f6944e42656e6db7195ebb68f2f9260f130fdeb4e3cfc64efae4f58d96c43d388f52be1eb024ca448084684abdb
DIST locale-gen-2.10.tar.gz 7747 BLAKE2B 49f569c5ae5260fca128503bc6f22d6f6f1cda817920c41fdadadf1527bbb4f3eb161f79fa729830666a4673e9092f99f4685ec8fcac8ddea0b8242bca9c1f4f SHA512 e350e60d458d67638e3090711fca05af6fafac06c51b97648244549f8a0621dab7543f09dc7ad4c62392f13bdae8e5875dc6d0b6c3d83efc29d116bc2eef92db
diff --git a/sys-libs/glibc/glibc-2.32-r10.ebuild b/sys-libs/glibc/glibc-2.33-r10.ebuild
index bbb7b0df..40963b19 100644
--- a/sys-libs/glibc/glibc-2.32-r10.ebuild
+++ b/sys-libs/glibc/glibc-2.33-r10.ebuild
@@ -1,12 +1,13 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
-PYTHON_COMPAT=( python3_{6,7,8,9} )
+PYTHON_COMPAT=( python3_{7,8,9,10} )
+TMPFILES_OPTIONAL=1
-inherit python-any-r1 prefix eutils toolchain-funcs flag-o-matic gnuconfig \
- multilib systemd multiprocessing
+inherit python-any-r1 prefix toolchain-funcs flag-o-matic gnuconfig \
+ multilib systemd multiprocessing tmpfiles
DESCRIPTION="GNU libc C library"
HOMEPAGE="https://www.gnu.org/software/libc/"
@@ -16,28 +17,27 @@ SLOT="2.2"
EMULTILIB_PKG="true"
# Gentoo patchset (ignored for live ebuilds)
-PATCH_VER=2
+PATCH_VER=4
PATCH_DEV=dilfridge
if [[ ${PV} == 9999* ]]; then
inherit git-r3
else
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+ KEYWORDS="~alpha amd64 ~arm ~arm64 hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 sparc x86"
SRC_URI="mirror://gnu/glibc/${P}.tar.xz"
SRC_URI+=" https://dev.gentoo.org/~${PATCH_DEV}/distfiles/${P}-patches-${PATCH_VER}.tar.xz"
- SRC_URI+=" riscv? ( https://dev.gentoo.org/~dilfridge/distfiles/backport-rv32.txz )"
fi
RELEASE_VER=${PV}
-GCC_BOOTSTRAP_VER=20180511
+GCC_BOOTSTRAP_VER=20201208
LOCALE_GEN_VER=2.10
SRC_URI+=" https://gitweb.gentoo.org/proj/locale-gen.git/snapshot/locale-gen-${LOCALE_GEN_VER}.tar.gz"
-SRC_URI+=" multilib? ( https://dev.gentoo.org/~dilfridge/distfiles/gcc-multilib-bootstrap-${GCC_BOOTSTRAP_VER}.tar.xz )"
+SRC_URI+=" multilib-bootstrap? ( https://dev.gentoo.org/~dilfridge/distfiles/gcc-multilib-bootstrap-${GCC_BOOTSTRAP_VER}.tar.xz )"
-IUSE="audit caps cet compile-locales +crypt custom-cflags doc gd headers-only +multiarch multilib nscd profile selinux +ssp +static-libs static-pie suid systemtap test vanilla"
+IUSE="audit caps cet compile-locales +crypt custom-cflags doc gd headers-only +multiarch multilib multilib-bootstrap nscd profile selinux +ssp +static-libs static-pie suid systemtap test vanilla"
# Minimum kernel version that glibc requires
MIN_KERN_VER="3.2.0"
@@ -133,13 +133,13 @@ RESTRICT="!test? ( test )"
if [[ ${CATEGORY} == cross-* ]] ; then
BDEPEND+=" !headers-only? (
- >=${CATEGORY}/binutils-2.24
+ >=${CATEGORY}/binutils-2.27
>=${CATEGORY}/gcc-6
)"
[[ ${CATEGORY} == *-linux* ]] && DEPEND+=" ${CATEGORY}/linux-headers"
else
BDEPEND+="
- >=sys-devel/binutils-2.24
+ >=sys-devel/binutils-2.27
>=sys-devel/gcc-6
"
DEPEND+=" virtual/os-headers "
@@ -393,6 +393,10 @@ setup_flags() {
# glibc aborts if rpath is set by LDFLAGS
filter-ldflags '-Wl,-rpath=*'
+ # ld can't use -r & --relax at the same time, bug #788901
+ # https://sourceware.org/PR27837
+ filter-ldflags '-Wl,--relax'
+
# #492892
filter-flags -frecord-gcc-switches
@@ -645,21 +649,6 @@ sanity_prechecks() {
ewarn "hypervisor, which is probably not what you want."
fi
- # Check for sanity of /etc/nsswitch.conf
- if [[ -e ${EROOT}/etc/nsswitch.conf ]] ; then
- local entry
- for entry in passwd group shadow; do
- if ! egrep -q "^[ \t]*${entry}:.*files" "${EROOT}"/etc/nsswitch.conf; then
- eerror "Your ${EROOT}/etc/nsswitch.conf is out of date."
- eerror "Please make sure you have 'files' entries for"
- eerror "'passwd:', 'group:' and 'shadow:' databases."
- eerror "For more details see:"
- eerror " https://wiki.gentoo.org/wiki/Project:Toolchain/nsswitch.conf_in_glibc-2.26"
- die "nsswitch.conf has no 'files' provider in '${entry}'."
- fi
- done
- fi
-
# ABI-specific checks follow here. Hey, we have a lot more specific conditions that
# we test for...
if ! is_crosscompile ; then
@@ -743,7 +732,7 @@ src_unpack() {
# Consistency is not guaranteed between pkg_ and src_ ...
sanity_prechecks
- use multilib && unpack gcc-multilib-bootstrap-${GCC_BOOTSTRAP_VER}.tar.xz
+ use multilib-bootstrap && unpack gcc-multilib-bootstrap-${GCC_BOOTSTRAP_VER}.tar.xz
setup_env
@@ -765,7 +754,6 @@ src_unpack() {
cd "${WORKDIR}" || die
unpack locale-gen-${LOCALE_GEN_VER}.tar.gz
- use riscv && unpack backport-rv32.txz
}
src_prepare() {
@@ -776,15 +764,9 @@ src_prepare() {
else
patchsetname="${RELEASE_VER}-${PATCH_VER}"
fi
- elog "Applying Gentoo Glibc Patchset ${patchsetname}"
+ einfo "Applying Gentoo Glibc Patchset ${patchsetname}"
eapply "${WORKDIR}"/patches
einfo "Done."
-
- if use riscv ; then
- elog "Adding rv32 backport patchset for glibc-2.32 (experimental)"
- eapply "${WORKDIR}"/backport-rv32
- einfo "Done."
- fi
fi
default
@@ -870,14 +852,6 @@ glibc_do_configure() {
# https://sourceware.org/PR24202
myconf+=( --enable-stack-protector=no )
;;
- powerpc-*)
- # Currently gcc on powerpc32 generates invalid code for
- # __builtin_return_address(0) calls. Normally programs
- # don't do that but malloc hooks in glibc do:
- # https://gcc.gnu.org/PR81996
- # https://bugs.gentoo.org/629054
- myconf+=( --enable-stack-protector=no )
- ;;
*)
# Use '=strong' instead of '=all' to protect only functions
# worth protecting from stack smashes.
@@ -963,6 +937,15 @@ glibc_do_configure() {
# https://bugs.gentoo.org/753740
libc_cv_complocaledir='${exec_prefix}/lib/locale'
+ # -march= option tricks build system to infer too
+ # high ISA level: https://sourceware.org/PR27318
+ libc_cv_include_x86_isa_level=no
+ # Explicit override of https://sourceware.org/PR27991
+ # exposes a bug in glibc's configure:
+ # https://sourceware.org/PR27991
+ libc_cv_have_x86_lahf_sahf=no
+ libc_cv_have_x86_movbe=no
+
${EXTRA_ECONF}
)
@@ -1005,7 +988,7 @@ glibc_do_configure() {
# is built with MULTILIB_ABIS="amd64 x86" but we want to
# add x32 to it, gcc/glibc don't yet support x32.
#
- if [[ -n ${GCC_BOOTSTRAP_VER} ]] && use multilib ; then
+ if [[ -n ${GCC_BOOTSTRAP_VER} ]] && use multilib-bootstrap ; then
echo 'main(){}' > "${T}"/test.c
if ! $(tc-getCC ${CTARGET}) ${CFLAGS} ${LDFLAGS} "${T}"/test.c -Wl,-emain -lgcc 2>/dev/null ; then
sed -i -e '/^CC = /s:$: -B$(objdir)/../'"gcc-multilib-bootstrap-${GCC_BOOTSTRAP_VER}/${ABI}:" config.make || die
@@ -1270,7 +1253,6 @@ glibc_do_src_install() {
n64 /lib64/ld.so.1
# powerpc
ppc /lib/ld.so.1
- ppc64 /lib64/ld64.so.1
# riscv
ilp32d /lib/ld-linux-riscv32-ilp32d.so.1
ilp32 /lib/ld-linux-riscv32-ilp32.so.1
@@ -1288,12 +1270,16 @@ glibc_do_src_install() {
ldso_abi_list+=(
# arm
arm64 /lib/ld-linux-aarch64.so.1
+ # ELFv2 (glibc does not support ELFv1 on LE)
+ ppc64 /lib64/ld64.so.2
)
;;
big)
ldso_abi_list+=(
# arm
arm64 /lib/ld-linux-aarch64_be.so.1
+ # ELFv1 (glibc does not support ELFv2 on BE)
+ ppc64 /lib64/ld64.so.1
)
;;
esac
@@ -1310,6 +1296,27 @@ glibc_do_src_install() {
fi
done
+ # In the LSB 5.0 definition, someone had the excellent idea to "standardize"
+ # the runtime loader name, see also https://xkcd.com/927/
+ # Normally, in Gentoo one should never come across executables that require this.
+ # However, binary commercial packages are known to adhere to weird practices.
+ # https://refspecs.linuxfoundation.org/LSB_5.0.0/LSB-Core-AMD64/LSB-Core-AMD64.html#BASELIB
+ local lsb_ldso_name native_ldso_name lsb_ldso_abi
+ local lsb_ldso_abi_list=(
+ # x86
+ amd64 ld-linux-x86-64.so.2 ld-lsb-x86-64.so.3
+ )
+ for (( i = 0; i < ${#lsb_ldso_abi_list[@]}; i += 3 )) ; do
+ lsb_ldso_abi=${lsb_ldso_abi_list[i]}
+ native_ldso_name=${lsb_ldso_abi_list[i+1]}
+ lsb_ldso_name=${lsb_ldso_abi_list[i+2]}
+ has ${lsb_ldso_abi} $(get_install_abis) || continue
+
+ if [[ ! -L ${ED}/$(get_abi_LIBDIR ${lsb_ldso_abi})/${lsb_ldso_name} && ! -e ${ED}/$(get_abi_LIBDIR ${lsb_ldso_abi})/${lsb_ldso_name} ]] ; then
+ dosym ${native_ldso_name} "$(alt_prefix)/$(get_abi_LIBDIR ${lsb_ldso_abi})/${lsb_ldso_name}"
+ fi
+ done
+
# With devpts under Linux mounted properly, we do not need the pt_chown
# binary to be setuid. This is because the default owners/perms will be
# exactly what we want.
@@ -1371,7 +1378,7 @@ glibc_do_src_install() {
sed -i "${nscd_args[@]}" "${ED}"/etc/init.d/nscd
systemd_dounit nscd/nscd.service
- systemd_newtmpfilesd nscd/nscd.tmpfiles nscd.conf
+ newtmpfiles nscd/nscd.tmpfiles nscd.conf
fi
echo 'LDPATH="include ld.so.conf.d/*.conf"' > "${T}"/00glibc
@@ -1417,7 +1424,7 @@ src_install() {
foreach_abi glibc_do_src_install
if ! use static-libs ; then
- elog "Not installing static glibc libraries"
+ einfo "Not installing static glibc libraries"
find "${ED}" -name "*.a" -and -not -name "*_nonshared.a" -delete
fi
}