Blame SOURCES/binutils-config.patch

2e9b04
diff -Nrup a/libiberty/aclocal.m4 b/libiberty/aclocal.m4
2e9b04
--- a/libiberty/aclocal.m4	2019-01-19 09:01:34.000000000 -0700
2e9b04
+++ b/libiberty/aclocal.m4	2020-01-09 22:00:27.183312982 -0700
2e9b04
@@ -147,7 +147,7 @@ if test $ac_cv_os_cray = yes; then
2e9b04
 fi
2e9b04
 
2e9b04
 AC_CACHE_CHECK(stack direction for C alloca, ac_cv_c_stack_direction,
2e9b04
-[AC_TRY_RUN([find_stack_direction ()
2e9b04
+[AC_TRY_RUN([__attribute__ ((noclone,noinline)) find_stack_direction ()
2e9b04
 {
2e9b04
   static char *addr = 0;
2e9b04
   auto char dummy;
2e9b04
diff --git a/config/intdiv0.m4 b/config/intdiv0.m4
2e9b04
index 55dddcf1..ba906efc 100644
2e9b04
--- a/config/intdiv0.m4
2e9b04
+++ b/config/intdiv0.m4
2e9b04
@@ -31,10 +31,10 @@ sigfpe_handler (sig) int sig;
2e9b04
   exit (sig != SIGFPE);
2e9b04
 }
2e9b04
 
2e9b04
-int x = 1;
2e9b04
-int y = 0;
2e9b04
-int z;
2e9b04
-int nan;
2e9b04
+volatile int x = 1;
2e9b04
+volatile int y = 0;
2e9b04
+volatile int z;
2e9b04
+volatile int nan;
2e9b04
 
2e9b04
 int main ()
2e9b04
 {
2e9b04
diff --git a/libiberty/configure.ac b/libiberty/configure.ac
2e9b04
index f1ce7601..fc20d228 100644
2e9b04
--- a/libiberty/configure.ac
2e9b04
+++ b/libiberty/configure.ac
2e9b04
@@ -661,7 +661,7 @@ if test -z "${setobjs}"; then
2e9b04
   for v in $vars; do
2e9b04
     AC_MSG_CHECKING([for $v])
2e9b04
     AC_CACHE_VAL(libiberty_cv_var_$v,
2e9b04
-      [AC_LINK_IFELSE([AC_LANG_PROGRAM([[int *p;]],[[extern int $v []; p = $v;]])],
2e9b04
+      [AC_LINK_IFELSE([AC_LANG_PROGRAM([[__attribute__ ((used)) int *p;]],[[extern int $v []; p = $v;]])],
2e9b04
 		      [eval "libiberty_cv_var_$v=yes"],
2e9b04
 		      [eval "libiberty_cv_var_$v=no"])])
2e9b04
     if eval "test \"`echo '$libiberty_cv_var_'$v`\" = yes"; then