From: Richard Biener Date: Fri, 13 Jan 2023 07:51:10 +0000 (+0100) Subject: arm: Don't add crtfastmath.o for -shared X-Git-Tag: basepoints/gcc-14~2066 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=426a9f5570d74040176f81e7cf6806b36ebc907f;p=thirdparty%2Fgcc.git arm: Don't add crtfastmath.o for -shared Don't add crtfastmath.o for -shared to avoid altering the FP environment when loading a shared library. PR target/55522 * config/arm/linux-eabi.h (ENDFILE_SPEC): Don't add crtfastmath.o for -shared. * config/arm/unknown-elf.h (STARTFILE_SPEC): Likewise. --- diff --git a/gcc/config/arm/linux-eabi.h b/gcc/config/arm/linux-eabi.h index 57f830f01760..a119875599d2 100644 --- a/gcc/config/arm/linux-eabi.h +++ b/gcc/config/arm/linux-eabi.h @@ -121,7 +121,7 @@ #undef ENDFILE_SPEC #define ENDFILE_SPEC \ - "%{Ofast|ffast-math|funsafe-math-optimizations:crtfastmath.o%s} " \ + "%{Ofast|ffast-math|funsafe-math-optimizations:%{!shared:crtfastmath.o%s}} " \ LINUX_OR_ANDROID_LD (GNU_USER_TARGET_ENDFILE_SPEC, ANDROID_ENDFILE_SPEC) /* Use the default LIBGCC_SPEC, not the version in linux-elf.h, as we diff --git a/gcc/config/arm/unknown-elf.h b/gcc/config/arm/unknown-elf.h index 464d38b6cc6e..397ac3f68b91 100644 --- a/gcc/config/arm/unknown-elf.h +++ b/gcc/config/arm/unknown-elf.h @@ -33,7 +33,7 @@ #undef STARTFILE_SPEC #define STARTFILE_SPEC \ - "%{Ofast|ffast-math|funsafe-math-optimizations:crtfastmath.o%s} " \ + "%{Ofast|ffast-math|funsafe-math-optimizations:%{!shared:crtfastmath.o%s}} " \ UNKNOWN_ELF_STARTFILE_SPEC #define UNKNOWN_ELF_ENDFILE_SPEC "crtend%O%s crtn%O%s"