summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam James <sam@gentoo.org>2024-10-07 16:53:11 +0100
committerSam James <sam@gentoo.org>2024-10-07 16:54:58 +0100
commitfbe427b18343c5ad45bc2fd56ae691f1c95295ff (patch)
tree5565b4f84e104668a3da130c57d80eec8290617d /sys-libs
parentdev-libs/isa-l: Keyword 2.31.0 ~x86 (all tests pass) (diff)
downloadgentoo-fbe427b18343c5ad45bc2fd56ae691f1c95295ff.tar.gz
gentoo-fbe427b18343c5ad45bc2fd56ae691f1c95295ff.tar.bz2
gentoo-fbe427b18343c5ad45bc2fd56ae691f1c95295ff.zip
sys-libs/glibc: filter -Wl,--gc-sections
This fails to link when building static-reloc.o but it's broken in other ways too -- amonakov points out that glibc's linker scripts aren't ready for gc-sections (odd runtime side-effects like I/O flushing at exit not occurring), see PR21557 comment 0 for it being mentioned as an aside. Thanks to holgerh for reporting. Closes: https://bugs.gentoo.org/940709 Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'sys-libs')
-rw-r--r--sys-libs/glibc/glibc-2.19-r3.ebuild5
-rw-r--r--sys-libs/glibc/glibc-2.31-r7.ebuild5
-rw-r--r--sys-libs/glibc/glibc-2.32-r8.ebuild5
-rw-r--r--sys-libs/glibc/glibc-2.33-r14.ebuild5
-rw-r--r--sys-libs/glibc/glibc-2.34-r14.ebuild5
-rw-r--r--sys-libs/glibc/glibc-2.35-r11.ebuild5
-rw-r--r--sys-libs/glibc/glibc-2.36-r8.ebuild5
-rw-r--r--sys-libs/glibc/glibc-2.37-r10.ebuild5
-rw-r--r--sys-libs/glibc/glibc-2.38-r13.ebuild5
-rw-r--r--sys-libs/glibc/glibc-2.39-r10.ebuild5
-rw-r--r--sys-libs/glibc/glibc-2.39-r6.ebuild5
-rw-r--r--sys-libs/glibc/glibc-2.39-r9.ebuild5
-rw-r--r--sys-libs/glibc/glibc-2.40-r3.ebuild5
-rw-r--r--sys-libs/glibc/glibc-2.40-r4.ebuild5
-rw-r--r--sys-libs/glibc/glibc-9999.ebuild5
15 files changed, 75 insertions, 0 deletions
diff --git a/sys-libs/glibc/glibc-2.19-r3.ebuild b/sys-libs/glibc/glibc-2.19-r3.ebuild
index c0f528d06063..7d492b72364a 100644
--- a/sys-libs/glibc/glibc-2.19-r3.ebuild
+++ b/sys-libs/glibc/glibc-2.19-r3.ebuild
@@ -346,6 +346,11 @@ setup_flags() {
# glibc aborts if rpath is set by LDFLAGS
filter-ldflags '-Wl,-rpath=*'
+ # Fails to link (bug #940709) in some cases but even if it manages to,
+ # subtle runtime breakage will occur because the linker scripts need
+ # adaptation. Mentioned in PR21557#c0.
+ filter-ldflags '-Wl,--gc-sections'
+
# #492892
filter-flags -frecord-gcc-switches
diff --git a/sys-libs/glibc/glibc-2.31-r7.ebuild b/sys-libs/glibc/glibc-2.31-r7.ebuild
index 0c3ee20d2b3e..7df8f5816447 100644
--- a/sys-libs/glibc/glibc-2.31-r7.ebuild
+++ b/sys-libs/glibc/glibc-2.31-r7.ebuild
@@ -378,6 +378,11 @@ setup_flags() {
# glibc aborts if rpath is set by LDFLAGS
filter-ldflags '-Wl,-rpath=*'
+ # Fails to link (bug #940709) in some cases but even if it manages to,
+ # subtle runtime breakage will occur because the linker scripts need
+ # adaptation. Mentioned in PR21557#c0.
+ filter-ldflags '-Wl,--gc-sections'
+
# #492892
filter-flags -frecord-gcc-switches
diff --git a/sys-libs/glibc/glibc-2.32-r8.ebuild b/sys-libs/glibc/glibc-2.32-r8.ebuild
index e787a3de2ef7..656ad5161a27 100644
--- a/sys-libs/glibc/glibc-2.32-r8.ebuild
+++ b/sys-libs/glibc/glibc-2.32-r8.ebuild
@@ -395,6 +395,11 @@ setup_flags() {
# glibc aborts if rpath is set by LDFLAGS
filter-ldflags '-Wl,-rpath=*'
+ # Fails to link (bug #940709) in some cases but even if it manages to,
+ # subtle runtime breakage will occur because the linker scripts need
+ # adaptation. Mentioned in PR21557#c0.
+ filter-ldflags '-Wl,--gc-sections'
+
# #492892
filter-flags -frecord-gcc-switches
diff --git a/sys-libs/glibc/glibc-2.33-r14.ebuild b/sys-libs/glibc/glibc-2.33-r14.ebuild
index ca3fb42335ea..5e23df0069e8 100644
--- a/sys-libs/glibc/glibc-2.33-r14.ebuild
+++ b/sys-libs/glibc/glibc-2.33-r14.ebuild
@@ -411,6 +411,11 @@ setup_flags() {
# https://sourceware.org/PR27837
filter-ldflags '-Wl,--relax'
+ # Fails to link (bug #940709) in some cases but even if it manages to,
+ # subtle runtime breakage will occur because the linker scripts need
+ # adaptation. Mentioned in PR21557#c0.
+ filter-ldflags '-Wl,--gc-sections'
+
# #492892
filter-flags -frecord-gcc-switches
diff --git a/sys-libs/glibc/glibc-2.34-r14.ebuild b/sys-libs/glibc/glibc-2.34-r14.ebuild
index 3a2d7ac313da..e23b9ae35e9c 100644
--- a/sys-libs/glibc/glibc-2.34-r14.ebuild
+++ b/sys-libs/glibc/glibc-2.34-r14.ebuild
@@ -415,6 +415,11 @@ setup_flags() {
# https://sourceware.org/PR27837
filter-ldflags '-Wl,--relax'
+ # Fails to link (bug #940709) in some cases but even if it manages to,
+ # subtle runtime breakage will occur because the linker scripts need
+ # adaptation. Mentioned in PR21557#c0.
+ filter-ldflags '-Wl,--gc-sections'
+
# #492892
filter-flags -frecord-gcc-switches
diff --git a/sys-libs/glibc/glibc-2.35-r11.ebuild b/sys-libs/glibc/glibc-2.35-r11.ebuild
index e51499d04e05..0c2aec0025e0 100644
--- a/sys-libs/glibc/glibc-2.35-r11.ebuild
+++ b/sys-libs/glibc/glibc-2.35-r11.ebuild
@@ -428,6 +428,11 @@ setup_flags() {
# https://sourceware.org/PR27837
filter-ldflags '-Wl,--relax'
+ # Fails to link (bug #940709) in some cases but even if it manages to,
+ # subtle runtime breakage will occur because the linker scripts need
+ # adaptation. Mentioned in PR21557#c0.
+ filter-ldflags '-Wl,--gc-sections'
+
# #492892
filter-flags -frecord-gcc-switches
diff --git a/sys-libs/glibc/glibc-2.36-r8.ebuild b/sys-libs/glibc/glibc-2.36-r8.ebuild
index 471ede5408d3..cb6ddba38eb7 100644
--- a/sys-libs/glibc/glibc-2.36-r8.ebuild
+++ b/sys-libs/glibc/glibc-2.36-r8.ebuild
@@ -434,6 +434,11 @@ setup_flags() {
# https://sourceware.org/PR27837
filter-ldflags '-Wl,--relax'
+ # Fails to link (bug #940709) in some cases but even if it manages to,
+ # subtle runtime breakage will occur because the linker scripts need
+ # adaptation. Mentioned in PR21557#c0.
+ filter-ldflags '-Wl,--gc-sections'
+
# some weird software relies on sysv hashes in glibc, bug 863863, bug 864100
# we have to do that here already so mips can filter it out again :P
if use hash-sysv-compat ; then
diff --git a/sys-libs/glibc/glibc-2.37-r10.ebuild b/sys-libs/glibc/glibc-2.37-r10.ebuild
index e5de30df953c..e323ee8ae32d 100644
--- a/sys-libs/glibc/glibc-2.37-r10.ebuild
+++ b/sys-libs/glibc/glibc-2.37-r10.ebuild
@@ -449,6 +449,11 @@ setup_flags() {
# https://sourceware.org/PR27837
filter-ldflags '-Wl,--relax'
+ # Fails to link (bug #940709) in some cases but even if it manages to,
+ # subtle runtime breakage will occur because the linker scripts need
+ # adaptation. Mentioned in PR21557#c0.
+ filter-ldflags '-Wl,--gc-sections'
+
# some weird software relies on sysv hashes in glibc, bug 863863, bug 864100
# we have to do that here already so mips can filter it out again :P
if use hash-sysv-compat ; then
diff --git a/sys-libs/glibc/glibc-2.38-r13.ebuild b/sys-libs/glibc/glibc-2.38-r13.ebuild
index 01d2fa89a416..5bba661e9e91 100644
--- a/sys-libs/glibc/glibc-2.38-r13.ebuild
+++ b/sys-libs/glibc/glibc-2.38-r13.ebuild
@@ -454,6 +454,11 @@ setup_flags() {
# anyway because glibc already handles this by itself.
filter-ldflags '-Wl,--dynamic-linker=*'
+ # Fails to link (bug #940709) in some cases but even if it manages to,
+ # subtle runtime breakage will occur because the linker scripts need
+ # adaptation. Mentioned in PR21557#c0.
+ filter-ldflags '-Wl,--gc-sections'
+
# some weird software relies on sysv hashes in glibc, bug 863863, bug 864100
# we have to do that here already so mips can filter it out again :P
if use hash-sysv-compat ; then
diff --git a/sys-libs/glibc/glibc-2.39-r10.ebuild b/sys-libs/glibc/glibc-2.39-r10.ebuild
index ed17d3d931d1..ab91a718940c 100644
--- a/sys-libs/glibc/glibc-2.39-r10.ebuild
+++ b/sys-libs/glibc/glibc-2.39-r10.ebuild
@@ -465,6 +465,11 @@ setup_flags() {
# anyway because glibc already handles this by itself.
filter-ldflags '-Wl,--dynamic-linker=*'
+ # Fails to link (bug #940709) in some cases but even if it manages to,
+ # subtle runtime breakage will occur because the linker scripts need
+ # adaptation. Mentioned in PR21557#c0.
+ filter-ldflags '-Wl,--gc-sections'
+
# some weird software relies on sysv hashes in glibc, bug 863863, bug 864100
# we have to do that here already so mips can filter it out again :P
if use hash-sysv-compat ; then
diff --git a/sys-libs/glibc/glibc-2.39-r6.ebuild b/sys-libs/glibc/glibc-2.39-r6.ebuild
index 2c6ad99b5569..d6ca7cba9e5b 100644
--- a/sys-libs/glibc/glibc-2.39-r6.ebuild
+++ b/sys-libs/glibc/glibc-2.39-r6.ebuild
@@ -472,6 +472,11 @@ setup_flags() {
# anyway because glibc already handles this by itself.
filter-ldflags '-Wl,--dynamic-linker=*'
+ # Fails to link (bug #940709) in some cases but even if it manages to,
+ # subtle runtime breakage will occur because the linker scripts need
+ # adaptation. Mentioned in PR21557#c0.
+ filter-ldflags '-Wl,--gc-sections'
+
# some weird software relies on sysv hashes in glibc, bug 863863, bug 864100
# we have to do that here already so mips can filter it out again :P
if use hash-sysv-compat ; then
diff --git a/sys-libs/glibc/glibc-2.39-r9.ebuild b/sys-libs/glibc/glibc-2.39-r9.ebuild
index 2f0b1d9a004d..e0df00dcd639 100644
--- a/sys-libs/glibc/glibc-2.39-r9.ebuild
+++ b/sys-libs/glibc/glibc-2.39-r9.ebuild
@@ -465,6 +465,11 @@ setup_flags() {
# anyway because glibc already handles this by itself.
filter-ldflags '-Wl,--dynamic-linker=*'
+ # Fails to link (bug #940709) in some cases but even if it manages to,
+ # subtle runtime breakage will occur because the linker scripts need
+ # adaptation. Mentioned in PR21557#c0.
+ filter-ldflags '-Wl,--gc-sections'
+
# some weird software relies on sysv hashes in glibc, bug 863863, bug 864100
# we have to do that here already so mips can filter it out again :P
if use hash-sysv-compat ; then
diff --git a/sys-libs/glibc/glibc-2.40-r3.ebuild b/sys-libs/glibc/glibc-2.40-r3.ebuild
index 038ecf46f641..a33b62687f2e 100644
--- a/sys-libs/glibc/glibc-2.40-r3.ebuild
+++ b/sys-libs/glibc/glibc-2.40-r3.ebuild
@@ -465,6 +465,11 @@ setup_flags() {
# anyway because glibc already handles this by itself.
filter-ldflags '-Wl,--dynamic-linker=*'
+ # Fails to link (bug #940709) in some cases but even if it manages to,
+ # subtle runtime breakage will occur because the linker scripts need
+ # adaptation. Mentioned in PR21557#c0.
+ filter-ldflags '-Wl,--gc-sections'
+
# some weird software relies on sysv hashes in glibc, bug 863863, bug 864100
# we have to do that here already so mips can filter it out again :P
if use hash-sysv-compat ; then
diff --git a/sys-libs/glibc/glibc-2.40-r4.ebuild b/sys-libs/glibc/glibc-2.40-r4.ebuild
index 56088868f4f3..d4fc0765e8cc 100644
--- a/sys-libs/glibc/glibc-2.40-r4.ebuild
+++ b/sys-libs/glibc/glibc-2.40-r4.ebuild
@@ -465,6 +465,11 @@ setup_flags() {
# anyway because glibc already handles this by itself.
filter-ldflags '-Wl,--dynamic-linker=*'
+ # Fails to link (bug #940709) in some cases but even if it manages to,
+ # subtle runtime breakage will occur because the linker scripts need
+ # adaptation. Mentioned in PR21557#c0.
+ filter-ldflags '-Wl,--gc-sections'
+
# some weird software relies on sysv hashes in glibc, bug 863863, bug 864100
# we have to do that here already so mips can filter it out again :P
if use hash-sysv-compat ; then
diff --git a/sys-libs/glibc/glibc-9999.ebuild b/sys-libs/glibc/glibc-9999.ebuild
index aa6d07cbace3..dee2d1b66c49 100644
--- a/sys-libs/glibc/glibc-9999.ebuild
+++ b/sys-libs/glibc/glibc-9999.ebuild
@@ -465,6 +465,11 @@ setup_flags() {
# anyway because glibc already handles this by itself.
filter-ldflags '-Wl,--dynamic-linker=*'
+ # Fails to link (bug #940709) in some cases but even if it manages to,
+ # subtle runtime breakage will occur because the linker scripts need
+ # adaptation. Mentioned in PR21557#c0.
+ filter-ldflags '-Wl,--gc-sections'
+
# some weird software relies on sysv hashes in glibc, bug 863863, bug 864100
# we have to do that here already so mips can filter it out again :P
if use hash-sysv-compat ; then