mirror of git://gcc.gnu.org/git/gcc.git
[arm] Fix architecture selection when building libatomic with automatic FPU selection
Libatomic builds a few functions for Arm with an explicit -march option. This option does not specify an FPU, which can lead to problems when targeting a hard-float or softfp environment since the architecture appears to be incompatible with the selected ABI. The fix is simple enough, just add +fp (the minimum floating point option) to the architecture. We don't use anything from the FP architecture, so it shouldn't really change anything; and if we are building for -mfloat-abi=soft the canonicalization process will remove the unnecessary fp attributes anyway. * Makefile.am: (IFUNC_OPTIONS): Set the architecture to -march=armv7-a+fp on Linux/Arm. * Makefile.in: Regenerated. From-SVN: r253935
This commit is contained in:
parent
ffa3ce5322
commit
e64944ac65
|
|
@ -1,3 +1,9 @@
|
|||
2017-10-20 Richard Earnshaw <rearnsha@arm.com>
|
||||
|
||||
* Makefile.am: (IFUNC_OPTIONS): Set the architecture to
|
||||
-march=armv7-a+fp on Linux/Arm.
|
||||
* Makefile.in: Regenerated.
|
||||
|
||||
2017-10-02 Martin Sebor <msebor@redhat.com>
|
||||
|
||||
PR c/81854
|
||||
|
|
|
|||
|
|
@ -123,7 +123,7 @@ libatomic_la_LIBADD = $(foreach s,$(SIZES),$(addsuffix _$(s)_.lo,$(SIZEOBJS)))
|
|||
## On a target-specific basis, include alternates to be selected by IFUNC.
|
||||
if HAVE_IFUNC
|
||||
if ARCH_ARM_LINUX
|
||||
IFUNC_OPTIONS = -march=armv7-a -DHAVE_KERNEL64
|
||||
IFUNC_OPTIONS = -march=armv7-a+fp -DHAVE_KERNEL64
|
||||
libatomic_la_LIBADD += $(foreach s,$(SIZES),$(addsuffix _$(s)_1_.lo,$(SIZEOBJS)))
|
||||
libatomic_la_LIBADD += $(addsuffix _8_2_.lo,$(SIZEOBJS))
|
||||
endif
|
||||
|
|
|
|||
|
|
@ -346,7 +346,7 @@ M_SRC = $(firstword $(filter %/$(M_FILE), $(all_c_files)))
|
|||
libatomic_la_LIBADD = $(foreach s,$(SIZES),$(addsuffix \
|
||||
_$(s)_.lo,$(SIZEOBJS))) $(am__append_1) $(am__append_2) \
|
||||
$(am__append_3)
|
||||
@ARCH_ARM_LINUX_TRUE@@HAVE_IFUNC_TRUE@IFUNC_OPTIONS = -march=armv7-a -DHAVE_KERNEL64
|
||||
@ARCH_ARM_LINUX_TRUE@@HAVE_IFUNC_TRUE@IFUNC_OPTIONS = -march=armv7-a+fp -DHAVE_KERNEL64
|
||||
@ARCH_I386_TRUE@@HAVE_IFUNC_TRUE@IFUNC_OPTIONS = -march=i586
|
||||
@ARCH_X86_64_TRUE@@HAVE_IFUNC_TRUE@IFUNC_OPTIONS = -mcx16
|
||||
libatomic_convenience_la_SOURCES = $(libatomic_la_SOURCES)
|
||||
|
|
|
|||
Loading…
Reference in New Issue