aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2023-01-13 08:51:10 +0100
committerRichard Biener <rguenther@suse.de>2023-01-13 12:14:17 +0100
commit426a9f5570d74040176f81e7cf6806b36ebc907f (patch)
tree67eb66f1c2989e0f279dec71a63d34f5fd11b159 /gcc
parent0bf7131e539de4ca66b3c0eb72aa0afbd8f006dc (diff)
downloadgcc-426a9f5570d74040176f81e7cf6806b36ebc907f.zip
gcc-426a9f5570d74040176f81e7cf6806b36ebc907f.tar.gz
gcc-426a9f5570d74040176f81e7cf6806b36ebc907f.tar.bz2
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.
Diffstat (limited to 'gcc')
-rw-r--r--gcc/config/arm/linux-eabi.h2
-rw-r--r--gcc/config/arm/unknown-elf.h2
2 files changed, 2 insertions, 2 deletions
diff --git a/gcc/config/arm/linux-eabi.h b/gcc/config/arm/linux-eabi.h
index 57f830f..a119875 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 464d38b..397ac3f 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"