aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorNathan Sidwell <nathan@codesourcery.com>2001-06-07 08:32:03 +0000
committerNathan Sidwell <nathan@gcc.gnu.org>2001-06-07 08:32:03 +0000
commit43160d015f6a0d6657b2ad4e06a242918a4006c8 (patch)
treeecd8fa8934e7a082e52d6ac63f30a13d0ea35862 /gcc
parent750c925888dd3194294ad91cb1920f5175648006 (diff)
downloadgcc-43160d015f6a0d6657b2ad4e06a242918a4006c8.zip
gcc-43160d015f6a0d6657b2ad4e06a242918a4006c8.tar.gz
gcc-43160d015f6a0d6657b2ad4e06a242918a4006c8.tar.bz2
configure.in (sparc*-*-*): Check assembler R_SPARC_UA32 support.
* configure.in (sparc*-*-*): Check assembler R_SPARC_UA32 support. * configure: Rebuilt. From-SVN: r42955
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rwxr-xr-xgcc/configure51
-rw-r--r--gcc/configure.in36
3 files changed, 88 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index fe49c24..e48f8d4 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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.
diff --git a/gcc/configure b/gcc/configure
index 12cd174..f35c7d1 100755
--- a/gcc/configure
+++ b/gcc/configure
@@ -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"
diff --git a/gcc/configure.in b/gcc/configure.in
index 0c9117a..0b89592 100644
--- a/gcc/configure.in
+++ b/gcc/configure.in
@@ -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