configure.in (sparc*-*-*): Check assembler R_SPARC_UA32 support.
authorNathan Sidwell <nathan@codesourcery.com>
Thu, 7 Jun 2001 08:32:03 +0000 (08:32 +0000)
committerNathan Sidwell <nathan@gcc.gnu.org>
Thu, 7 Jun 2001 08:32:03 +0000 (08:32 +0000)
* configure.in (sparc*-*-*): Check assembler R_SPARC_UA32 support.
* configure: Rebuilt.

From-SVN: r42955

gcc/ChangeLog
gcc/configure
gcc/configure.in

index fe49c242265a6c70584aa83ef0e753832e92a115..e48f8d4cf175d4f233fd34f0321daa115ce83dd9 100644 (file)
@@ -1,3 +1,8 @@
+2001-06-07  Nathan Sidwell  <nathan@codesourcery.com>
+
+       * configure.in (sparc*-*-*): Check assembler R_SPARC_UA32 support.
+       * configure: Rebuilt.
+
 2001-06-07  Andreas Jaeger  <aj@suse.de>
 
        * emit-rtl.c (operand_subword): Remove unused variable.
index 12cd174b979e07ae5b9cacbff08d0b512f5806b6..f35c7d1444c16a2666a9c243a278417eb1595952 100755 (executable)
@@ -2052,7 +2052,7 @@ EOF
 fi
 
 # Find some useful tools
-for ac_prog in mawk gawk nawk awk
+for ac_prog in gawk mawk nawk awk
 do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
@@ -7171,11 +7171,54 @@ EOF
 
        fi
     fi
+    echo $ac_n "checking assembler R_SPARC_UA32 relocation support""... $ac_c" 1>&6
+echo "configure:7176: checking assembler R_SPARC_UA32 relocation support" >&5
+if eval "test \"`echo '$''{'gcc_cv_as_ua32_reloc'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  
+        gcc_cv_as_ua32_reloc=
+       cat >conftest.s << EOF
+       .byte 0x1
+       .uaword foo
+EOF
+       if $gcc_cv_as -o conftest.o conftest.s > /dev/null 2>&1; then
+         if (readelf -r conftest.o > conftest.elf) 2>/dev/null ; then
+           true
+         elif (elfdump -r conftest.o > conftest.elf) 2>/dev/null ; then
+           true
+         elif (`dirname $gcc_cv_as`/readelf -r conftest.o > conftest.elf) 2>/dev/null ; then
+           true
+         elif (`dirname $gcc_cv_as`/elfdump -r conftest.o > conftest.elf) 2>/dev/null ; then
+           true
+         else
+           gcc_cv_as_ua32_reloc=unknown
+         fi
+         if test x$gcc_cv_as_ua32_reloc = x && test `grep -c R_SPARC_UA32 conftest.elf` = 1 ; then
+           gcc_cv_as_ua32_reloc=yes
+         else
+           gcc_cv_as_ua32_reloc=no
+         fi
+       else
+         gcc_cv_as_ua32_reloc=unknown
+       fi
+       rm -f conftest.s conftest.o conftest.elf
+       
+fi
+
+echo "$ac_t""$gcc_cv_as_ua32_reloc" 1>&6
+    if test "x$gcc_cv_as_ua32_reloc" = xno; then
+      { echo "configure: error: Assembler does not support R_SPARC_UA32 correctly.
+Please use native assembler or upgrade to binutils >= 2.11.1" 1>&2; exit 1; }
+    elif test "x$gcc_cv_as_ua32_reloc" != xyes ; then
+      echo "configure: warning: Cannot determine whether assembler supports R_SPARC_UA32 correctly.
+The resulting compiler might not produce useable executables." 1>&2
+    fi
     ;;
 
   i[34567]86-*-*)
     echo $ac_n "checking assembler instructions""... $ac_c" 1>&6
-echo "configure:7179: checking assembler instructions" >&5
+echo "configure:7222: checking assembler instructions" >&5
     gcc_cv_as_instructions=
     if test x$gcc_cv_gas_major_version != x -a x$gcc_cv_gas_minor_version != x; then
       if test "$gcc_cv_gas_major_version" -eq 2 -a "$gcc_cv_gas_minor_version" -ge 9 -o "$gcc_cv_gas_major_version" -gt 2; then
@@ -7204,7 +7247,7 @@ EOF
 esac
 
 echo $ac_n "checking assembler dwarf2 debug_line support""... $ac_c" 1>&6
-echo "configure:7208: checking assembler dwarf2 debug_line support" >&5
+echo "configure:7251: checking assembler dwarf2 debug_line support" >&5
 gcc_cv_as_dwarf2_debug_line=no
 # ??? Not all targets support dwarf2 debug_line, even within a version
 # of gas.  Moreover, we need to emit a valid instruction to trigger any
@@ -7389,7 +7432,7 @@ fi
 
 
 echo $ac_n "checking whether to enable maintainer-specific portions of Makefiles""... $ac_c" 1>&6
-echo "configure:7393: checking whether to enable maintainer-specific portions of Makefiles" >&5
+echo "configure:7436: checking whether to enable maintainer-specific portions of Makefiles" >&5
     # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given.
 if test "${enable_maintainer_mode+set}" = set; then
   enableval="$enable_maintainer_mode"
index 0c9117ad98a1406fd2235fba6656f78040f04fcd..0b89592e1ab54016d2d9198944ac1b67eec876c2 100644 (file)
@@ -1587,6 +1587,42 @@ changequote([, ])
                [Define if your assembler supports offsetable %lo().])
        fi
     fi
+    AC_CACHE_CHECK([assembler R_SPARC_UA32 relocation support],
+       gcc_cv_as_ua32_reloc, [
+        gcc_cv_as_ua32_reloc=
+       cat >conftest.s << EOF
+       .byte 0x1
+       .uaword foo
+EOF
+       if $gcc_cv_as -o conftest.o conftest.s > /dev/null 2>&1; then
+         if (readelf -r conftest.o > conftest.elf) 2>/dev/null ; then
+           true
+         elif (elfdump -r conftest.o > conftest.elf) 2>/dev/null ; then
+           true
+         elif (`dirname $gcc_cv_as`/readelf -r conftest.o > conftest.elf) 2>/dev/null ; then
+           true
+         elif (`dirname $gcc_cv_as`/elfdump -r conftest.o > conftest.elf) 2>/dev/null ; then
+           true
+         else
+           gcc_cv_as_ua32_reloc=unknown
+         fi
+         if test x$gcc_cv_as_ua32_reloc = x && test `grep -c R_SPARC_UA32 conftest.elf` = 1 ; then
+           gcc_cv_as_ua32_reloc=yes
+         else
+           gcc_cv_as_ua32_reloc=no
+         fi
+       else
+         gcc_cv_as_ua32_reloc=unknown
+       fi
+       rm -f conftest.s conftest.o conftest.elf
+       ])
+    if test "x$gcc_cv_as_ua32_reloc" = xno; then
+      AC_MSG_ERROR([Assembler does not support R_SPARC_UA32 correctly.
+Please use native assembler or upgrade to binutils >= 2.11.1])
+    elif test "x$gcc_cv_as_ua32_reloc" != xyes ; then
+      AC_MSG_WARN([Cannot determine whether assembler supports R_SPARC_UA32 correctly.
+The resulting compiler might not produce useable executables.])
+    fi
     ;;
 
 changequote(,)dnl