aboutsummaryrefslogtreecommitdiff
path: root/resources/libreboot/patch/crossgcc/gccfix.diff
blob: 49e6227be23cd195d5f34262479fad19c38de2b1 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
From ea0c2d76c4f16eccaafcb2c0741f76825505bafc Mon Sep 17 00:00:00 2001
From: Nico Huber <nico.huber@secunet.com>
Date: Thu, 22 Dec 2016 16:05:54 +0100
Subject: [PATCH] DONOTMERGE buildgcc: Build GMP `--with-pic` if GCC defaults to `-pie`

Change-Id: I5f3185af9c8d599379a628e18724b217b88be974
Signed-off-by: Nico Huber <nico.huber@secunet.com>
---

diff --git a/util/crossgcc/buildgcc b/util/crossgcc/buildgcc
index 97c38b8..4eefd43 100755
--- a/util/crossgcc/buildgcc
+++ b/util/crossgcc/buildgcc
@@ -515,6 +515,13 @@
 }
 
 build_GMP() {
+	# Check if GCC enables `-pie` by default (likely on Debian Stretch).
+	# We have to use `--with-pic` then.
+	if "${CC}" -dumpspecs 2>/dev/null | grep -q '[{;][[:space:]]*:-pie\>'
+	then
+		OPTIONS="$OPTIONS --with-pic"
+	fi
+
 	CC="$CC" ../${GMP_DIR}/configure --disable-shared --enable-fat \
 		--prefix=$TARGETDIR $OPTIONS \
 		|| touch .failed