summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gnu/usr.bin/gcc/gcc/config.gcc2
-rw-r--r--gnu/usr.bin/gcc/gcc/config/arm/openbsd.h17
2 files changed, 16 insertions, 3 deletions
diff --git a/gnu/usr.bin/gcc/gcc/config.gcc b/gnu/usr.bin/gcc/gcc/config.gcc
index 70e577e9aeb..545c9d4ff74 100644
--- a/gnu/usr.bin/gcc/gcc/config.gcc
+++ b/gnu/usr.bin/gcc/gcc/config.gcc
@@ -703,7 +703,7 @@ arm*-*-netbsdelf*)
tmake_file="${tmake_file} arm/t-netbsd"
;;
arm*-*-openbsd*)
- tm_file="dbxelf.h elfos.h arm/elf.h arm/aout.h arm/arm.h openbsd.h ${tm_file}"
+ tm_file="dbxelf.h elfos.h arm/elf.h arm/aout.h arm/strongarm-elf.h arm/arm.h openbsd.h ${tm_file}"
tmake_file="${tmake_file} arm/t-netbsd"
;;
arm*-*-netbsd*)
diff --git a/gnu/usr.bin/gcc/gcc/config/arm/openbsd.h b/gnu/usr.bin/gcc/gcc/config/arm/openbsd.h
index 5742210a875..c298ce34e9c 100644
--- a/gnu/usr.bin/gcc/gcc/config/arm/openbsd.h
+++ b/gnu/usr.bin/gcc/gcc/config/arm/openbsd.h
@@ -38,8 +38,8 @@ Boston, MA 02111-1307, USA. */
#undef MULTILIB_DEFAULTS
-/* ARM6 family default cpu. */
-#define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm6
+/* strongarm family default cpu. */
+#define SUBTARGET_CPU_DEFAULT TARGET_CPU_strongarm
/* Default is to use APCS-32 mode. */
@@ -76,6 +76,19 @@ Boston, MA 02111-1307, USA. */
"%{g:%{!nostdlib:-L/usr/lib/debug}} %{!shared:%{!nostdlib:%{!r*:%{!e*:-e %(openbsd_entry_point)}}}} %{shared:-Bshareable -x} -dc -dp %{R*} %{static:-Bstatic} %{assert*}"
#endif
+#undef SUBTARGET_EXTRA_ASM_SPEC
+#define SUBTARGET_EXTRA_ASM_SPEC \
+ "-matpcs %{fpic:-k} %{fPIC:-k}"
+
+/* Default floating point model is soft-VFP.
+ FIXME: -mhard-float currently implies FPA. */
+#undef SUBTARGET_ASM_FLOAT_SPEC
+#define SUBTARGET_ASM_FLOAT_SPEC \
+ "%{mhard-float:-mfpu=fpa} \
+ %{msoft-float:-mfpu=softvfp} \
+ %{!mhard-float: \
+ %{!msoft-float:-mfpu=softvfp}}"
+
#undef SUBTARGET_EXTRA_SPECS
#define SUBTARGET_EXTRA_SPECS \
{ "subtarget_extra_asm_spec", SUBTARGET_EXTRA_ASM_SPEC }, \