aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorMark Mitchell <mmitchel@gcc.gnu.org>2004-08-20 20:15:19 +0000
committerMark Mitchell <mmitchel@gcc.gnu.org>2004-08-20 20:15:19 +0000
commit87c2399d8985816fef6925e743eb16c074d5bc7a (patch)
treee7757c8802d1e5b9a35203b3d0939b8de7752be2 /gcc
parentd2294baa8bc194e9b4ba45eb0e5b06e50b15ca99 (diff)
downloadgcc-87c2399d8985816fef6925e743eb16c074d5bc7a.zip
gcc-87c2399d8985816fef6925e743eb16c074d5bc7a.tar.gz
gcc-87c2399d8985816fef6925e743eb16c074d5bc7a.tar.bz2
config.gcc (arm*-*-symbianelf*): Add t-symbian Makefile fragment.
* config.gcc (arm*-*-symbianelf*): Add t-symbian Makefile fragment. * config/arm/bpabi.h (RENAME_LIBRARY_SET): Fix typo. (SUBTARGET_EXTRA_ASM_SPEC): Pass -meabi=3 to the assembler. * config/arm/symbian.h (SUBTARGET_CPU_DEFAULT): Assume ARMV5 architecture. (SUBTARGET_ASM_FLOAT_SPEC): Default to -mfpu=vfp for hard-float configurations. * config/arm/t-symbian: New file. From-SVN: r86338
Diffstat (limited to 'gcc')
-rw-r--r--gcc/config.gcc3
-rw-r--r--gcc/config/arm/bpabi.h6
-rw-r--r--gcc/config/arm/symbian.h13
3 files changed, 20 insertions, 2 deletions
diff --git a/gcc/config.gcc b/gcc/config.gcc
index b902324..0eacb5d 100644
--- a/gcc/config.gcc
+++ b/gcc/config.gcc
@@ -658,13 +658,14 @@ arm*-*-eabi* | arm*-*-symbianelf* )
# TImode.
need_64bit_hwint=yes
tm_file="dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h arm/bpabi.h"
+ tmake_file="t-slibgcc-elf-ver arm/t-arm arm/t-arm-elf arm/t-bpabi"
case ${target} in
arm*-*-symbianelf*)
tm_file="${tm_file} arm/symbian.h"
+ tmake_file="${tmake_file} arm/t-symbian"
;;
esac
tm_file="${tm_file} arm/aout.h arm/arm.h"
- tmake_file="t-slibgcc-elf-ver arm/t-arm arm/t-arm-elf arm/t-bpabi"
;;
arm*-*-rtems*)
tm_file="dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h arm/aout.h arm/arm.h arm/rtems-elf.h rtems.h"
diff --git a/gcc/config/arm/bpabi.h b/gcc/config/arm/bpabi.h
index 815ac30..4831dfb 100644
--- a/gcc/config/arm/bpabi.h
+++ b/gcc/config/arm/bpabi.h
@@ -36,13 +36,17 @@
/* The BPABI integer comparision routines return { -1, 0, 1 }. */
#define TARGET_LIB_INT_CMP_BIASED !TARGET_BPABI
+/* Tell the assembler to build BPABI binaries. */
+#undef SUBTARGET_EXTRA_ASM_SPEC
+#define SUBTARGET_EXTRA_ASM_SPEC "-meabi=3"
+
/* The generic link spec in elf.h does not support shared libraries. */
#undef LINK_SPEC
#define LINK_SPEC "%{mbig-endian:-EB} %{mlittle-endian:-EL} " \
"%{static:-Bstatic} %{shared:-shared} %{symbolic:-Bsymbolic} " \
"-X"
-#if defined (__thumb__) && !defined (__THUMB_INTERWORD)
+#if defined (__thumb__) && !defined (__THUMB_INTERWORK)
#define RENAME_LIBRARY_SET ".thumb_set"
#else
#define RENAME_LIBRARY_SET ".set"
diff --git a/gcc/config/arm/symbian.h b/gcc/config/arm/symbian.h
index bd647d3..d048652 100644
--- a/gcc/config/arm/symbian.h
+++ b/gcc/config/arm/symbian.h
@@ -52,3 +52,16 @@
/* Support the "dllimport" attribute. */
#define TARGET_DLLIMPORT_DECL_ATTRIBUTES 1
+
+/* Symbian OS assumes ARM V5 or above. Since -march=armv5 is
+ equivalent to making the ARM 10TDMI core the default, we can set
+ SUBTARGET_CPU_DEFAULT and get an equivalent effect. */
+#undef SUBTARGET_CPU_DEFAULT
+#define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm10tdmi
+
+/* The assembler should assume the VFP FPU format when the hard-float
+ ABI is in use. */
+#undef SUBTARGET_ASM_FLOAT_SPEC
+#define SUBTARGET_ASM_FLOAT_SPEC \
+ "%{!mfpu=*:%{mfloat-abi=hard:-mfpu=vfp}}"
+