diff -rupN --no-dereference binutils-2.34/config/intdiv0.m4 binutils-2.34-new/config/intdiv0.m4
--- binutils-2.34/config/intdiv0.m4	2020-01-18 14:55:47.000000000 +0100
+++ binutils-2.34-new/config/intdiv0.m4	2020-12-18 02:57:26.339013830 +0100
@@ -31,10 +31,10 @@ sigfpe_handler (sig) int sig;
   exit (sig != SIGFPE);
 }
 
-int x = 1;
-int y = 0;
-int z;
-int nan;
+volatile int x = 1;
+volatile int y = 0;
+volatile int z;
+volatile int nan;
 
 int main ()
 {
diff -rupN --no-dereference binutils-2.34/libiberty/aclocal.m4 binutils-2.34-new/libiberty/aclocal.m4
--- binutils-2.34/libiberty/aclocal.m4	2020-01-18 14:55:48.000000000 +0100
+++ binutils-2.34-new/libiberty/aclocal.m4	2020-12-18 02:57:26.339013830 +0100
@@ -147,7 +147,7 @@ if test $ac_cv_os_cray = yes; then
 fi
 
 AC_CACHE_CHECK(stack direction for C alloca, ac_cv_c_stack_direction,
-[AC_TRY_RUN([find_stack_direction ()
+[AC_TRY_RUN([__attribute__ ((noclone,noinline)) find_stack_direction ()
 {
   static char *addr = 0;
   auto char dummy;
diff -rupN --no-dereference binutils-2.34/libiberty/configure.ac binutils-2.34-new/libiberty/configure.ac
--- binutils-2.34/libiberty/configure.ac	2020-01-18 14:55:48.000000000 +0100
+++ binutils-2.34-new/libiberty/configure.ac	2020-12-18 02:57:26.339013830 +0100
@@ -661,7 +661,7 @@ if test -z "${setobjs}"; then
   for v in $vars; do
     AC_MSG_CHECKING([for $v])
     AC_CACHE_VAL(libiberty_cv_var_$v,
-      [AC_LINK_IFELSE([AC_LANG_PROGRAM([[int *p;]],[[extern int $v []; p = $v;]])],
+      [AC_LINK_IFELSE([AC_LANG_PROGRAM([[__attribute__ ((used)) int *p;]],[[extern int $v []; p = $v;]])],
 		      [eval "libiberty_cv_var_$v=yes"],
 		      [eval "libiberty_cv_var_$v=no"])])
     if eval "test \"`echo '$libiberty_cv_var_'$v`\" = yes"; then
