On 13/01/2023 08:00, Richard Biener via Gcc-patches wrote:
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.

OK.

R.

---
  gcc/config/arm/linux-eabi.h  | 2 +-
  gcc/config/arm/unknown-elf.h | 2 +-
  2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/gcc/config/arm/linux-eabi.h b/gcc/config/arm/linux-eabi.h
index 57f830f0176..a119875599d 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 464d38b6cc6..397ac3f68b9 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"

Reply via email to