gcc: Revert static-pie fix.

This fix has been reverted as it has caused far too much
breakage in select packages. I'm surprised that this
patch caused issues as nothing came up in my testing.

Apologies for the inconvenience.

NOTE: Remove the following from your 'CFLAGS' if you
      have them defined: '-fno-pie -no-pie'
This commit is contained in:
Dylan Araps 2020-02-11 02:12:37 +02:00
parent 21b3141232
commit ba2e102739
No known key found for this signature in database
GPG Key ID: 46D62DD9F1DE636E
5 changed files with 1 additions and 92 deletions

View File

@ -1,7 +1,6 @@
#!/bin/sh -e
patch -p1 < invalid_tls_model.patch
patch -p1 < static-pie.patch
# Make sure gmp is built with generic options.
cp -v gcc/gmp/configfsf.guess gcc/gmp/config.guess

View File

@ -4,4 +4,3 @@ ea6ef08f121239da5695f76c9b33637a118dcf63e24164422231917fa61fb206 gcc-9.2.0.tar.
6985c538143c1208dcb1ac42cedad6ff52e267b47e5f970183a3e75125b43c2e mpc-1.1.0.tar.gz
765614b3396d70bca3fa0ae4a813632486c6dca320e2bd13c8c39dca52be4a4c c99
b0bf792c3f5278e768b7199cc94e8c57e364eb0b70dc5a226d47eb9e25e1dac9 invalid_tls_model.patch
0d1e72a788dea767057893f63112ccc69755c40239c8ae141cf55e4075affad3 static-pie.patch

View File

@ -1,88 +0,0 @@
diff --git a/gcc/common.opt b/gcc/common.opt
index b52ef0b38c8..0ce5857e01d 100644
--- a/gcc/gcc/common.opt
+++ b/gcc/gcc/common.opt
@@ -3197,11 +3197,11 @@ Driver
no-pie
Driver RejectNegative Negative(shared)
-Don't create a dynamically linked position independent executable.
+Don't create a position independent executable.
pie
Driver RejectNegative Negative(no-pie)
-Create a dynamically linked position independent executable.
+Create a position independent executable.
static-pie
Driver RejectNegative Negative(pie)
diff --git a/gcc/config/gnu-user.h b/gcc/config/gnu-user.h
index 8620de3e42d..235328a2642 100644
--- a/gcc/gcc/config/gnu-user.h
+++ b/gcc/gcc/config/gnu-user.h
@@ -51,13 +51,12 @@
#define GNU_USER_TARGET_STARTFILE_SPEC \
"%{shared:; \
pg|p|profile:%{static-pie:grcrt1.o%s;:gcrt1.o%s}; \
- static:crt1.o%s; \
- static-pie:rcrt1.o%s; \
+ static|static-pie:%{" PIE_SPEC ":rcrt1.o%s;:crt1.o%s}; \
" PIE_SPEC ":Scrt1.o%s; \
:crt1.o%s} " \
GNU_USER_TARGET_CRTI " \
- %{static:crtbeginT.o%s; \
- shared|static-pie|" PIE_SPEC ":crtbeginS.o%s; \
+ %{shared|" PIE_SPEC ":crtbeginS.o%s; \
+ static:crtbeginT.o%s; \
:crtbegin.o%s} \
%{fvtable-verify=none:%s; \
fvtable-verify=preinit:vtv_start_preinit.o%s; \
@@ -76,8 +75,7 @@
"%{fvtable-verify=none:%s; \
fvtable-verify=preinit:vtv_end_preinit.o%s; \
fvtable-verify=std:vtv_end.o%s} \
- %{static:crtend.o%s; \
- shared|static-pie|" PIE_SPEC ":crtendS.o%s; \
+ %{shared|" PIE_SPEC ":crtendS.o%s; \
:crtend.o%s} " \
GNU_USER_TARGET_CRTN " " \
CRTOFFLOADEND
@@ -106,7 +104,7 @@
#define LIB_SPEC GNU_USER_TARGET_LIB_SPEC
#if defined(HAVE_LD_EH_FRAME_HDR)
-#define LINK_EH_SPEC "%{!static|static-pie:--eh-frame-hdr} "
+#define LINK_EH_SPEC "%{!static|" PIE_SPEC ":--eh-frame-hdr} "
#endif
#define GNU_USER_TARGET_LINK_GCC_C_SEQUENCE_SPEC \
diff --git a/gcc/gcc.c b/gcc/gcc.c
index eb1610ba8b0..87560afb03c 100644
--- a/gcc/gcc/gcc.c
+++ b/gcc/gcc/gcc.c
@@ -900,7 +900,7 @@ proper position among the other output files. */
#define NO_FPIE_AND_FPIC_SPEC NO_FPIE_SPEC "|" NO_FPIC_SPEC
#define FPIE_OR_FPIC_SPEC NO_FPIE_AND_FPIC_SPEC ":;"
#else
-#define PIE_SPEC "pie"
+#define PIE_SPEC "pie|static-pie"
#define FPIE1_SPEC "fpie"
#define NO_FPIE1_SPEC FPIE1_SPEC ":;"
#define FPIE2_SPEC "fPIE"
@@ -924,12 +924,12 @@ proper position among the other output files. */
#ifndef LINK_PIE_SPEC
#ifdef HAVE_LD_PIE
#ifndef LD_PIE_SPEC
-#define LD_PIE_SPEC "-pie"
+#define LD_PIE_SPEC "-pie %{static|static-pie:--no-dynamic-linker -z text -Bsymbolic}"
#endif
#else
#define LD_PIE_SPEC ""
#endif
-#define LINK_PIE_SPEC "%{static|shared|r:;" PIE_SPEC ":" LD_PIE_SPEC "} "
+#define LINK_PIE_SPEC "%{shared|r:;" PIE_SPEC ":" LD_PIE_SPEC "} "
#endif
#ifndef LINK_BUILDID_SPEC
--
2.17.1

View File

@ -4,4 +4,3 @@ https://ftp.gnu.org/gnu/mpfr/mpfr-4.0.2.tar.xz gcc/mpfr
https://ftp.gnu.org/gnu/mpc/mpc-1.1.0.tar.gz gcc/mpc
files/c99
patches/invalid_tls_model.patch
patches/static-pie.patch

View File

@ -1 +1 @@
9.2.0 2
9.2.0 3