summaryrefslogtreecommitdiff
path: root/sys-devel/gnuconfig/files/99999999/0002-Add-x32-support-to-config.guess.patch
blob: 2c69f57878eb24ce74cece70619b33d1038de725 (plain)
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
From 8474d78c459f4ec8f8930094faeaacb2b77bf68f Mon Sep 17 00:00:00 2001
From: "H.J. Lu" <hongjiu.lu@intel.com>
Date: Fri, 20 Dec 2013 14:36:01 -0500
Subject: [PATCH] Add x32 support to config.guess

GCC on Linux/x86-64 may be configured for x32:

https://sites.google.com/site/x32abi/

by default and the Linux/x32 target should be x86_64-VENDOR-linux-gnux32.
This patch adds x32 support to config.guess.  OK to install?

URL: http://gcc.gnu.org/ml/gcc-patches/2012-08/msg01083.html
---
 config.guess | 13 ++++++++++++-
 1 file changed, 12 insertions(+), 1 deletion(-)

diff --git a/config.guess b/config.guess
index fddac42..17a4f70 100755
--- a/config.guess
+++ b/config.guess
@@ -1038,7 +1038,18 @@ EOF
 	echo ${UNAME_MACHINE}-dec-linux-${LIBC}
 	exit ;;
     x86_64:Linux:*:*)
-	echo ${UNAME_MACHINE}-pc-linux-${LIBC}
+	eval $set_cc_for_build
+	X86_64_ABI=
+	# If there is a compiler, see if it is configured for 32-bit objects.
+	if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
+	    if (echo '#ifdef __ILP32__'; echo IS_X32; echo '#endif') | \
+		(CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
+		grep IS_X32 >/dev/null
+	    then
+		X86_64_ABI=x32
+	    fi
+	fi
+	echo ${UNAME_MACHINE}-pc-linux-${LIBC}${X86_64_ABI}
 	exit ;;
     xtensa*:Linux:*:*)
 	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
-- 
2.4.4