Do not enable DT_INIT_ARRAY/DT_FINI_ARRAY on uclinuxfdpiceabi
authorChristophe Lyon <christophe.lyon@foss.st.com>
Tue, 17 Aug 2021 12:59:26 +0000 (12:59 +0000)
committerChristophe Lyon <christophe.lyon@foss.st.com>
Tue, 17 Aug 2021 12:59:26 +0000 (12:59 +0000)
Commit r12-1328 enabled DT_INIT_ARRAY/DT_FINI_ARRAY for all Linux
targets, but this does not work for arm-none-uclinuxfdpiceabi: it
makes all the execution tests fail.

This patch restores the original behavior for uclinuxfdpiceabi.

2021-08-12  Christophe Lyon  <christophe.lyon@foss.st.com>

gcc/
PR target/100896
* config.gcc (gcc_cv_initfini_array): Leave undefined for
uclinuxfdpiceabi targets.

gcc/config.gcc

index 7001a79..d9bfbfd 100644 (file)
@@ -851,8 +851,14 @@ case ${target} in
   tmake_file="${tmake_file} t-glibc"
   target_has_targetcm=yes
   target_has_targetdm=yes
-  # Linux targets always support .init_array.
-  gcc_cv_initfini_array=yes
+  case $target in
+    *-*-*uclibc* | *-*-uclinuxfdpiceabi)
+      ;;
+    *)
+      # Linux targets always support .init_array.
+      gcc_cv_initfini_array=yes
+      ;;
+  esac
   ;;
 *-*-netbsd*)
   tm_p_file="${tm_p_file} netbsd-protos.h"