diff options
Diffstat (limited to 'gcc-4.4.3/gcc/config/mips/linux.h')
-rw-r--r-- | gcc-4.4.3/gcc/config/mips/linux.h | 45 |
1 files changed, 37 insertions, 8 deletions
diff --git a/gcc-4.4.3/gcc/config/mips/linux.h b/gcc-4.4.3/gcc/config/mips/linux.h index 0512ef7d1..280d6fbda 100644 --- a/gcc-4.4.3/gcc/config/mips/linux.h +++ b/gcc-4.4.3/gcc/config/mips/linux.h @@ -47,6 +47,7 @@ along with GCC; see the file COPYING3. If not see /* The GNU C++ standard library requires this. */ \ if (c_dialect_cxx ()) \ builtin_define ("_GNU_SOURCE"); \ + ANDROID_TARGET_OS_CPP_BUILTINS(); \ } while (0) #undef SUBTARGET_CPP_SPEC @@ -55,8 +56,8 @@ along with GCC; see the file COPYING3. If not see /* A standard GNU/Linux mapping. On most targets, it is included in CC1_SPEC itself by config/linux.h, but mips.h overrides CC1_SPEC and provides this hook instead. */ -#undef SUBTARGET_CC1_SPEC -#define SUBTARGET_CC1_SPEC "%{profile:-p}" +#undef LINUX_SUBTARGET_CC1_SPEC +#define LINUX_SUBTARGET_CC1_SPEC "%{profile:-p}" /* From iris5.h */ /* -G is incompatible with -KPIC which is the default, so only allow objects @@ -67,8 +68,8 @@ along with GCC; see the file COPYING3. If not see #define GLIBC_DYNAMIC_LINKER "/lib/ld.so.1" /* Borrowed from sparc/linux.h */ -#undef LINK_SPEC -#define LINK_SPEC \ +#undef LINUX_SUBTARGET_LINK_SPEC +#define LINUX_SUBTARGET_LINK_SPEC \ "%(endian_spec) \ %{shared:-shared} \ %{!shared: \ @@ -80,7 +81,8 @@ along with GCC; see the file COPYING3. If not see #undef SUBTARGET_ASM_SPEC #define SUBTARGET_ASM_SPEC \ - "%{!mno-abicalls:%{mplt:-call_nonpic;:-KPIC}}" + "%{!mno-abicalls:%{mplt:-call_nonpic;:-KPIC}} " \ + LINUX_OR_ANDROID_CC ("", ANDROID_ASM_SPEC) /* The MIPS assembler has different syntax for .set. We set it to .dummy to trap any errors. */ @@ -103,8 +105,8 @@ along with GCC; see the file COPYING3. If not see #undef ASM_OUTPUT_REG_PUSH #undef ASM_OUTPUT_REG_POP -#undef LIB_SPEC -#define LIB_SPEC "\ +#undef LINUX_SUBTARGET_LIB_SPEC +#define LINUX_SUBTARGET_LIB_SPEC "\ %{pthread:-lpthread} \ %{shared:-lc} \ %{!shared: \ @@ -135,7 +137,7 @@ extern const char *host_detect_local_cpu (int argc, const char **argv); #endif #define LINUX_DRIVER_SELF_SPECS \ - NO_SHARED_SPECS \ + LINUX_OR_ANDROID_CC(NO_SHARED_SPECS, "") \ MARCH_MTUNE_NATIVE_SPECS, \ /* -mplt has no effect without -mno-shared. Simplify later \ specs handling by removing a redundant option. */ \ @@ -147,3 +149,30 @@ extern const char *host_detect_local_cpu (int argc, const char **argv); #define DRIVER_SELF_SPECS \ BASE_DRIVER_SELF_SPECS, \ LINUX_DRIVER_SELF_SPECS + +#undef LINK_SPEC +#define LINK_SPEC \ + LINUX_OR_ANDROID_LD (LINUX_SUBTARGET_LINK_SPEC, \ + LINUX_SUBTARGET_LINK_SPEC " " ANDROID_LINK_SPEC) + +#undef SUBTARGET_CC1_SPEC +#define SUBTARGET_CC1_SPEC \ + LINUX_OR_ANDROID_CC (LINUX_SUBTARGET_CC1_SPEC, \ + LINUX_SUBTARGET_CC1_SPEC " " ANDROID_CC1_SPEC("-fpic")) + +#undef CC1PLUS_SPEC +#define CC1PLUS_SPEC \ + LINUX_OR_ANDROID_CC ("", ANDROID_CC1PLUS_SPEC) + +#undef LIB_SPEC +#define LIB_SPEC \ + LINUX_OR_ANDROID_LD (LINUX_SUBTARGET_LIB_SPEC, \ + LINUX_SUBTARGET_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) |