aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam James <sam@gentoo.org>2024-04-28 23:42:52 +0100
committerSam James <sam@gentoo.org>2024-04-28 23:42:52 +0100
commit031d1b55f3e3f8c15c7f6f3f79a4dd4439c21bd5 (patch)
treec7b54cf10cd58f6c835a652e8557d9d7bba86164 /15.0.0/gentoo/11_all_ia64-TEXTREL.patch
parent14.0.0: rebase patches (diff)
downloadgcc-patches-031d1b55f3e3f8c15c7f6f3f79a4dd4439c21bd5.tar.gz
gcc-patches-031d1b55f3e3f8c15c7f6f3f79a4dd4439c21bd5.tar.bz2
gcc-patches-031d1b55f3e3f8c15c7f6f3f79a4dd4439c21bd5.zip
15.0.0: init, clone of 14.0.0
Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to '15.0.0/gentoo/11_all_ia64-TEXTREL.patch')
-rw-r--r--15.0.0/gentoo/11_all_ia64-TEXTREL.patch22
1 files changed, 22 insertions, 0 deletions
diff --git a/15.0.0/gentoo/11_all_ia64-TEXTREL.patch b/15.0.0/gentoo/11_all_ia64-TEXTREL.patch
new file mode 100644
index 0000000..f5d0a99
--- /dev/null
+++ b/15.0.0/gentoo/11_all_ia64-TEXTREL.patch
@@ -0,0 +1,22 @@
+Fix textrels on -rdynamic binaries:
+Bug: https://gcc.gnu.org/PR84553
+Bug: https://bugs.gentoo.org/566118
+--- a/gcc/config/ia64/ia64.cc
++++ b/gcc/config/ia64/ia64.cc
+@@ -10840,12 +10840,14 @@ ia64_hpux_reloc_rw_mask (void)
+
+ /* For others, relax this so that relocations to local data goes in
+ read-only segments, but we still cannot allow global relocations
+- in read-only segments. */
++ in read-only segments. Except that use of -rdynamic at link time
++ may make any local data global, so we can't allow local data in
++ read-only segments either. */
+
+ static int
+ ia64_reloc_rw_mask (void)
+ {
+- return flag_pic ? 3 : 2;
++ return flag_pic ? 3 : 3;
+ }
+
+ /* Return the section to use for X. The only special thing we do here