diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 1542ae3467df89fe9c3af3a6f996972e5fb23b3f..5ea21b74716f02164263d31accab8927128588a9 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2017-06-16  Richard Earnshaw  <rearnsha@arm.com>
+
+	* config/arm/elf.h (ASM_SPEC): Only pass -mfpu through to the
+	assembler when it is not -mfpu=auto.
+
 2017-06-16  Richard Earnshaw  <rearnsha@arm.com>
 
 	* config/arm/arm.h (BIG_LITTLE_SPEC): Delete macro.
diff --git a/gcc/config/arm/elf.h b/gcc/config/arm/elf.h
index f119b87116ff62c0c7608e61fd4ef5ade87dc49a..fcc4f3f81a911854ccedaf6e181ea3338171afe4 100644
--- a/gcc/config/arm/elf.h
+++ b/gcc/config/arm/elf.h
@@ -64,7 +64,7 @@
 %{mapcs-*:-mapcs-%*} \
 %(subtarget_asm_float_spec) \
 %{mthumb-interwork:-mthumb-interwork} \
-%{mfloat-abi=*} %{mfpu=*} \
+%{mfloat-abi=*} %{!mfpu=auto: %{mfpu=*}} \
 %(subtarget_extra_asm_spec)"
 #endif