aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergei Trofimovich <slyfox@gentoo.org>2018-05-07 12:47:01 +0000
committerSergei Trofimovich <slyfox@gentoo.org>2018-05-07 12:47:01 +0000
commiteb7efde0d6110a92b80d588c9b25d53d1d3b24a0 (patch)
tree8e3848280335daee88de69f5e294a6d6266df8da
parentTag patchset 1.2 (diff)
downloadgcc-patches-eb7efde0d6110a92b80d588c9b25d53d1d3b24a0.tar.gz
gcc-patches-eb7efde0d6110a92b80d588c9b25d53d1d3b24a0.tar.bz2
gcc-patches-eb7efde0d6110a92b80d588c9b25d53d1d3b24a0.zip
ia64: fix textrels on -rdynamic binaries
Bug: https://gcc.gnu.org/PR84553 Bug: https://bugs.gentoo.org/566118
-rw-r--r--8.1.0/gentoo/95_all_ia64-TEXTREL.patch22
-rw-r--r--8.1.0/gentoo/README.history2
2 files changed, 24 insertions, 0 deletions
diff --git a/8.1.0/gentoo/95_all_ia64-TEXTREL.patch b/8.1.0/gentoo/95_all_ia64-TEXTREL.patch
new file mode 100644
index 0000000..706dbe5
--- /dev/null
+++ b/8.1.0/gentoo/95_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.c
++++ a/gcc/config/ia64/ia64.c
+@@ -10838,12 +10838,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
diff --git a/8.1.0/gentoo/README.history b/8.1.0/gentoo/README.history
index 2702255..862fe2e 100644
--- a/8.1.0/gentoo/README.history
+++ b/8.1.0/gentoo/README.history
@@ -1,3 +1,5 @@
+1.3 TODO
+ + 95_all_ia64-TEXTREL.patch
1.2 06 May 2018
+ 93_all_arm-arch.patch
+ 94_all_mips-o32-asan.patch