dev-lang/gprolog: apply upstream patch for PIC-aware GPLC. Closes #403693
authorKeri Harris <keri@gentoo.org>
Wed, 19 Jul 2017 15:42:41 +0000 (17:42 +0200)
committerKeri Harris <keri@gentoo.org>
Wed, 19 Jul 2017 15:42:41 +0000 (17:42 +0200)
Package-Manager: Portage-2.3.0, Repoman-2.3.1

dev-lang/gprolog/files/gprolog-pic-code.patch [new file with mode: 0644]
dev-lang/gprolog/gprolog-1.4.4.ebuild

diff --git a/dev-lang/gprolog/files/gprolog-pic-code.patch b/dev-lang/gprolog/files/gprolog-pic-code.patch
new file mode 100644 (file)
index 0000000..a85aea0
--- /dev/null
@@ -0,0 +1,12 @@
+diff -ur gprolog-1.4.4.orig/src/Ma2Asm/x86_64_any.c gprolog-1.4.4/src/Ma2Asm/x86_64_any.c
+--- gprolog-1.4.4.orig/src/Ma2Asm/x86_64_any.c 2013-04-22 13:52:16.000000000 +0200
++++ gprolog-1.4.4/src/Ma2Asm/x86_64_any.c      2017-07-19 17:27:37.057124771 +0200
+@@ -204,7 +204,7 @@
+   strcpy(asm_reg_cp, Off_Reg_Bank(MAP_OFFSET_CP));
+ #endif
+-#ifdef M_x86_64_darwin
++#if defined(M_x86_64_darwin) || defined(M_x86_64_linux)
+   pic_code = 1;                       /* NB: on darwin everything is PIC code */
+ #elif defined(_WIN32)
+   pic_code = 0;                       /* NB: on MinGW nothing is needed for PIC code */
index 7116f2c8c4db30650187a329fc12f6142ee17299..4d915c78666d93a146c68b3e19d1163056cd97eb 100644 (file)
@@ -20,6 +20,7 @@ RDEPEND=""
 
 src_prepare() {
        epatch "${FILESDIR}"/${P}-ldflags.patch
+       epatch "${FILESDIR}"/${P}-pic-code.patch
        epatch "${FILESDIR}"/${P}-links.patch
        epatch "${FILESDIR}"/${P}-nodocs.patch
        epatch "${FILESDIR}"/${P}-txt-file.patch
@@ -31,11 +32,6 @@ src_configure() {
        append-flags -fno-strict-aliasing
        use debug && append-flags -DDEBUG
 
-       if gcc-specs-pie ; then
-               # gplc generates its own native ASM; disable PIE
-               append-ldflags -nopie
-       fi
-
        cd "${S}"/src
        econf \
                CFLAGS_MACHINE="${CFLAGS_MACHINE}" \