summaryrefslogtreecommitdiff
path: root/4.9/0018-use-android-specs-on-aarch64.patch
blob: 2c1c0f148c1d8441a29d9553ead9f2b5cee3feb2 (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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
--- gcc-linaro-4.9-2014.08/gcc/config/aarch64/aarch64-linux.h.omv~	2014-08-16 19:48:56.056208790 +0200
+++ gcc-linaro-4.9-2014.08/gcc/config/aarch64/aarch64-linux.h	2014-08-16 19:51:51.295018003 +0200
@@ -22,6 +22,7 @@
 #define GCC_AARCH64_LINUX_H
 
 #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux-aarch64%{mbig-endian:_be}%{mabi=ilp32:_ilp32}.so.1"
+#define BIONIC_DYNAMIC_LINKER "/system/bin/linker64"
 
 #define CPP_SPEC "%{pthread:-D_REENTRANT}"
 
@@ -35,15 +36,40 @@
    %{mbig-endian:-EB} %{mlittle-endian:-EL}     \
    -maarch64linux%{mabi=ilp32:32}%{mbig-endian:b}"
 
-#define LINK_SPEC LINUX_TARGET_LINK_SPEC
-
 #define TARGET_OS_CPP_BUILTINS()		\
   do						\
     {						\
 	GNU_USER_TARGET_OS_CPP_BUILTINS();	\
+	ANDROID_TARGET_OS_CPP_BUILTINS();	\
     }						\
   while (0)
 
+#undef	LINK_SPEC
+#define	LINK_SPEC \
+	LINUX_OR_ANDROID_LD (LINUX_TARGET_LINK_SPEC, \
+	                     LINUX_TARGET_LINK_SPEC " " ANDROID_LINK_SPEC)
+
+#undef	CC1_SPEC
+#define	CC1_SPEC \
+	LINUX_OR_ANDROID_CC (GNU_USER_TARGET_CC1_SPEC, \
+	                     GNU_USER_TARGET_CC1_SPEC " " ANDROID_CC1_SPEC("-fPIC"))
+
+#define	CC1PLUS_SPEC \
+	LINUX_OR_ANDROID_CC ("", ANDROID_CC1PLUS_SPEC)
+
+#undef	LIB_SPEC
+#define	LIB_SPEC \
+	LINUX_OR_ANDROID_LD (GNU_USER_TARGET_LIB_SPEC, \
+	                     GNU_USER_TARGET_NO_PTHREADS_LIB_SPEC " " ANDROID_LIB_SPEC)
+
+#undef	STARTFILE_SPEC
+#define	STARTFILE_SPEC \
+	LINUX_OR_ANDROID_LD (GNU_USER_TARGET_STARTFILE_SPEC, ANDROID_STARTFILE_SPEC)
+
+#undef	ENDFILE_SPEC
+#define	ENDFILE_SPEC \
+	LINUX_OR_ANDROID_LD (GNU_USER_TARGET_ENDFILE_SPEC, ANDROID_ENDFILE_SPEC)
+
 #define TARGET_ASM_FILE_END file_end_indicate_exec_stack
 
 #endif  /* GCC_AARCH64_LINUX_H */
--- gcc-linaro-4.9-2014.08/gcc/config.gcc.omv~	2014-08-16 19:52:00.662900888 +0200
+++ gcc-linaro-4.9-2014.08/gcc/config.gcc	2014-08-16 19:52:42.345379786 +0200
@@ -902,8 +902,9 @@ aarch64*-*-elf)
 	TM_MULTILIB_CONFIG=`echo $TM_MULTILIB_CONFIG | sed 's/^,//'`
 	;;
 aarch64*-*-linux*)
-	tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h"
+	tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h linux-android.h glibc-stdint.h"
 	tm_file="${tm_file} aarch64/aarch64-elf.h aarch64/aarch64-linux.h"
+	extra_options="${extra_options} linux-android.opt"
 	tmake_file="${tmake_file} aarch64/t-aarch64 aarch64/t-aarch64-linux"
 	case $target in
 	aarch64_be-*)