aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.4.3/gcc/config/arm
diff options
context:
space:
mode:
Diffstat (limited to 'gcc-4.4.3/gcc/config/arm')
-rw-r--r--gcc-4.4.3/gcc/config/arm/arm.h4
-rw-r--r--gcc-4.4.3/gcc/config/arm/eabi.h132
-rw-r--r--gcc-4.4.3/gcc/config/arm/eabi.opt23
-rw-r--r--gcc-4.4.3/gcc/config/arm/linux-eabi.h25
-rw-r--r--gcc-4.4.3/gcc/config/arm/t-arm-elf4
-rw-r--r--gcc-4.4.3/gcc/config/arm/t-linux-androideabi10
-rw-r--r--gcc-4.4.3/gcc/config/arm/t-mlib-armv7a4
-rw-r--r--gcc-4.4.3/gcc/config/arm/t-mlib-mandroid5
8 files changed, 36 insertions, 171 deletions
diff --git a/gcc-4.4.3/gcc/config/arm/arm.h b/gcc-4.4.3/gcc/config/arm/arm.h
index 602973828..a413dd323 100644
--- a/gcc-4.4.3/gcc/config/arm/arm.h
+++ b/gcc-4.4.3/gcc/config/arm/arm.h
@@ -2865,9 +2865,9 @@ enum arm_builtins
ARM_BUILTIN_MAX = ARM_BUILTIN_NEON_BASE /* FIXME: Wrong! */
};
-/* Do not emit .note.GNU-stack by default. */
+/* Do emit .note.GNU-stack by default. */
#ifndef NEED_INDICATE_EXEC_STACK
-#define NEED_INDICATE_EXEC_STACK 0
+#define NEED_INDICATE_EXEC_STACK 1
#endif
#endif /* ! GCC_ARM_H */
diff --git a/gcc-4.4.3/gcc/config/arm/eabi.h b/gcc-4.4.3/gcc/config/arm/eabi.h
deleted file mode 100644
index e312cbc65..000000000
--- a/gcc-4.4.3/gcc/config/arm/eabi.h
+++ /dev/null
@@ -1,132 +0,0 @@
-/* Configuration file for ARM EABI targets.
- Copyright (C) 2008
- Free Software Foundation, Inc.
- Contributed by Doug Kwan (dougkwan@google.com)
-
- This file is part of GCC.
-
- GCC is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published
- by the Free Software Foundation; either version 3, or (at your
- option) any later version.
-
- GCC is distributed in the hope that it will be useful, but WITHOUT
- ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
- License for more details.
-
- You should have received a copy of the GNU General Public License
- along with GCC; see the file COPYING3. If not see
- <http://www.gnu.org/licenses/>. */
-
-/* This file contains macro overrides for EABI targets. */
-
-#undef TARGET_OS_CPP_BUILTINS
-#define TARGET_OS_CPP_BUILTINS() \
- do \
- { \
- TARGET_BPABI_CPP_BUILTINS (); \
- if (TARGET_ANDROID) \
- builtin_define ("__ANDROID__"); \
- } \
- while (false)
-
-#undef SUBSUBTARGET_EXTRA_SPECS
-#define SUBSUBTARGET_EXTRA_SPECS \
- { "link_android", ANDROID_LINK_SPEC }, \
- { "link_default", BPABI_LINK_SPEC }, \
- { "cc1_android", ANDROID_CC1_SPEC }, \
- { "cc1_default", CC1_DEFAULT_SPEC }, \
- { "cc1plus_android", ANDROID_CC1PLUS_SPEC }, \
- { "cc1plus_default", CC1PLUS_DEFAULT_SPEC }, \
- { "lib_android", ANDROID_LIB_SPEC }, \
- { "lib_default", LIB_DEFAULT_SPEC }, \
- { "startfile_android", ANDROID_STARTFILE_SPEC }, \
- { "startfile_default", UNKNOWN_ELF_STARTFILE_SPEC }, \
- { "endfile_android", ANDROID_ENDFILE_SPEC }, \
- { "endfile_default", UNKNOWN_ELF_ENDFILE_SPEC }, \
-
-#undef ANDROID_LINK_SPEC
-#define ANDROID_LINK_SPEC \
-"%{mbig-endian:-EB} %{mlittle-endian:-EL} " \
-"%{static:-Bstatic} %{shared:-shared} %{symbolic:-Bsymbolic} " \
-"%{!static:" \
- "%{shared: -Bsymbolic} " \
- "%{!shared:" \
- "-Bdynamic " \
- "%{rdynamic:-export-dynamic} " \
- "%{!dynamic-linker:-dynamic-linker /system/bin/linker}}} " \
-"-X" SUBTARGET_EXTRA_LINK_SPEC
-
-/* Override LINK_SPEC in bpabi.h. */
-#undef LINK_SPEC
-#define LINK_SPEC \
-"%{mandroid: %(link_android) ;" \
-" : %(link_default)}"
-
-/* Android uses "-fno-exceptions -fpic -fno-short-enums -mthumb-interwork" by
- default. -mthumb-interwork is implied by EABI. */
-#undef ANDROID_CC1_SPEC
-#define ANDROID_CC1_SPEC \
-"%{!fexceptions:-fno-exceptions} " \
-"%{!fno-pic:%{!fno-PIC:-fpic}} " \
-"%{!fshort-enums:-fno-short-enums} "
-
-/* Default CC1_SPEC as in arm.h. */
-#undef CC1_DEFAULT_SPEC
-#define CC1_DEFAULT_SPEC ""
-
-#undef CC1_SPEC
-#define CC1_SPEC \
-"%{mandroid: %(cc1_android) ;" \
-" : %(cc1_default)}"
-
-/* Android uses -fno-rtti by default. */
-#undef ANDROID_CC1PLUS_SPEC
-#define ANDROID_CC1PLUS_SPEC "%{!frtti:-fno-rtti}"
-
-/* Default CC1PLUS_SPEC as in gcc.c. */
-#undef CC1PLUS_DEFAULT_SPEC
-#define CC1PLUS_DEFAULT_SPEC ""
-
-#undef CC1PLUS_SPEC
-#define CC1PLUS_SPEC \
-"%{mandroid: %(cc1plus_android) ;" \
-" : %(cc1plus_default)}"
-
-#undef ANDROID_LIB_SPEC
-#define ANDROID_LIB_SPEC "-lc %{!static:-ldl}"
-
-/* Default LIB_SPEC as in gcc.c. */
-#undef LIB_DEFAULT_SPEC
-#define LIB_DEFAULT_SPEC \
-"%{!shared:%{g*:-lg} %{!p:%{!pg:-lc}}%{p:-lc_p}%{pg:-lc_p}}"
-
-#undef LIB_SPEC
-#define LIB_SPEC \
-"%{mandroid: %(lib_android) ;" \
-" : %(lib_default)}"
-
-#undef ANDROID_STARTFILE_SPEC
-#define ANDROID_STARTFILE_SPEC \
-"%{!shared:" \
- "%{static: crtbegin_static%O%s ;" \
- " : crtbegin_dynamic%O%s}}"
-
-/* Override STARTFILE_SPEC in unknown-elf.h. */
-#undef STARTFILE_SPEC
-#define STARTFILE_SPEC \
-"%{mandroid: %(startfile_android) ;" \
-" : %(startfile_default)}"
-
-#undef ANDROID_ENDFILE_SPEC
-#define ANDROID_ENDFILE_SPEC "%{!shared:crtend_android%O%s}"
-
-/* Override ENDFILE_SPEC in unknown-elf.h. */
-#undef ENDFILE_SPEC
-#define ENDFILE_SPEC \
-"%{mandroid: %(endfile_android) ;" \
-" : %(endfile_default)}"
-
-#undef NEED_INDICATE_EXEC_STACK
-#define NEED_INDICATE_EXEC_STACK 1
diff --git a/gcc-4.4.3/gcc/config/arm/eabi.opt b/gcc-4.4.3/gcc/config/arm/eabi.opt
deleted file mode 100644
index 0ea58bd6e..000000000
--- a/gcc-4.4.3/gcc/config/arm/eabi.opt
+++ /dev/null
@@ -1,23 +0,0 @@
-; EABI specific options for ARM port of the compiler.
-
-; Copyright (C) 2008 Free Software Foundation, Inc.
-;
-; This file is part of GCC.
-;
-; GCC is free software; you can redistribute it and/or modify it under
-; the terms of the GNU General Public License as published by the Free
-; Software Foundation; either version 3, or (at your option) any later
-; version.
-;
-; GCC is distributed in the hope that it will be useful, but WITHOUT ANY
-; WARRANTY; without even the implied warranty of MERCHANTABILITY or
-; FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
-; for more details.
-;
-; You should have received a copy of the GNU General Public License
-; along with GCC; see the file COPYING3. If not see
-; <http://www.gnu.org/licenses/>.
-
-mandroid
-Target Report Mask(ANDROID)
-Generate code for the Android operating system.
diff --git a/gcc-4.4.3/gcc/config/arm/linux-eabi.h b/gcc-4.4.3/gcc/config/arm/linux-eabi.h
index 4174d70db..6dd44436a 100644
--- a/gcc-4.4.3/gcc/config/arm/linux-eabi.h
+++ b/gcc-4.4.3/gcc/config/arm/linux-eabi.h
@@ -66,7 +66,30 @@
/* At this point, bpabi.h will have clobbered LINK_SPEC. We want to
use the GNU/Linux version, not the generic BPABI version. */
#undef LINK_SPEC
-#define LINK_SPEC LINUX_TARGET_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 (LINUX_TARGET_CC1_SPEC, \
+ LINUX_TARGET_CC1_SPEC " " ANDROID_CC1_SPEC)
+
+#define CC1PLUS_SPEC \
+ LINUX_OR_ANDROID_CC ("", ANDROID_CC1PLUS_SPEC)
+
+#undef LIB_SPEC
+#define LIB_SPEC \
+ LINUX_OR_ANDROID_LD (LINUX_TARGET_LIB_SPEC, \
+ LINUX_TARGET_LIB_SPEC " " ANDROID_LIB_SPEC)
+
+#undef STARTFILE_SPEC
+#define STARTFILE_SPEC \
+ LINUX_OR_ANDROID_LD (LINUX_TARGET_STARTFILE_SPEC, ANDROID_STARTFILE_SPEC)
+
+#undef ENDFILE_SPEC
+#define ENDFILE_SPEC \
+ LINUX_OR_ANDROID_LD (LINUX_TARGET_ENDFILE_SPEC, ANDROID_ENDFILE_SPEC)
/* Use the default LIBGCC_SPEC, not the version in linux-elf.h, as we
do not use -lfloat. */
diff --git a/gcc-4.4.3/gcc/config/arm/t-arm-elf b/gcc-4.4.3/gcc/config/arm/t-arm-elf
index b99b9ee4b..9f6068258 100644
--- a/gcc-4.4.3/gcc/config/arm/t-arm-elf
+++ b/gcc-4.4.3/gcc/config/arm/t-arm-elf
@@ -47,10 +47,6 @@ MULTILIB_MATCHES += $(MLMATCH_armv7a)
# MULTILIB_OPTIONS += mno-thumb-interwork/mthumb-interwork
# MULTILIB_DIRNAMES += normal interwork
-MULTILIB_OPTIONS += $(MLOPT_mandroid)
-MULTILIB_DIRNAMES += $(MLDIR_mandroid)
-MULTILIB_EXCEPTIONS += $(MLEXCEPT_mandroid)
-
# MULTILIB_OPTIONS += fno-leading-underscore/fleading-underscore
# MULTILIB_DIRNAMES += elf under
#
diff --git a/gcc-4.4.3/gcc/config/arm/t-linux-androideabi b/gcc-4.4.3/gcc/config/arm/t-linux-androideabi
new file mode 100644
index 000000000..8f1307c55
--- /dev/null
+++ b/gcc-4.4.3/gcc/config/arm/t-linux-androideabi
@@ -0,0 +1,10 @@
+MULTILIB_OPTIONS = march=armv7-a mthumb
+MULTILIB_DIRNAMES = armv7-a thumb
+MULTILIB_EXCEPTIONS =
+MULTILIB_MATCHES =
+MULTILIB_OSDIRNAMES =
+
+# The "special" multilib can be used to build native applications for Android,
+# as opposed to native shared libraries that are then called via JNI.
+#MULTILIB_OPTIONS += tno-android-cc
+#MULTILIB_DIRNAMES += special
diff --git a/gcc-4.4.3/gcc/config/arm/t-mlib-armv7a b/gcc-4.4.3/gcc/config/arm/t-mlib-armv7a
deleted file mode 100644
index c18407f61..000000000
--- a/gcc-4.4.3/gcc/config/arm/t-mlib-armv7a
+++ /dev/null
@@ -1,4 +0,0 @@
-# Config armv7-a multilib.
-MLOPT_armv7a = march=armv7-a
-MLDIR_armv7a = armv7a
-MLMATCH_armv7a = march?armv7-a=mcpu?cortex-a8
diff --git a/gcc-4.4.3/gcc/config/arm/t-mlib-mandroid b/gcc-4.4.3/gcc/config/arm/t-mlib-mandroid
deleted file mode 100644
index dd4b24344..000000000
--- a/gcc-4.4.3/gcc/config/arm/t-mlib-mandroid
+++ /dev/null
@@ -1,5 +0,0 @@
-# Config mandroid multilib.
-# -mandroind implies -mthumb-interwork.
-MLOPT_mandroid = mandroid
-MLDIR_mandroid = android
-MLEXCEPT_mandroid = *mthumb-interwork/*mandroid*