aboutsummaryrefslogtreecommitdiff
path: root/gcc/configure.in
diff options
context:
space:
mode:
authorRichard Henderson <rth@redhat.com>2001-12-15 17:05:01 -0800
committerRichard Henderson <rth@gcc.gnu.org>2001-12-15 17:05:01 -0800
commit3a37b08e62c54a5f5ca33fb5151c2a3b4a1b22f7 (patch)
treecbf829c110864fcbc2fe513c39de340fb1c12a37 /gcc/configure.in
parentbd1f473825af96053542ff6d3ac518a77c95b4af (diff)
downloadgcc-3a37b08e62c54a5f5ca33fb5151c2a3b4a1b22f7.zip
gcc-3a37b08e62c54a5f5ca33fb5151c2a3b4a1b22f7.tar.gz
gcc-3a37b08e62c54a5f5ca33fb5151c2a3b4a1b22f7.tar.bz2
alpha.h (TARGET_SWITCHES): Turn on MASK_EXPLICIT_RELOCS if the assembler supports it.
* config/alpha/alpha.h (TARGET_SWITCHES): Turn on MASK_EXPLICIT_RELOCS if the assembler supports it. * configure.in (HAVE_AS_EXPLICIT_RELOCS): New. * configure, config.in: Rebuild. From-SVN: r48054
Diffstat (limited to 'gcc/configure.in')
-rw-r--r--gcc/configure.in42
1 files changed, 42 insertions, 0 deletions
diff --git a/gcc/configure.in b/gcc/configure.in
index 34a5b2b..763fc16 100644
--- a/gcc/configure.in
+++ b/gcc/configure.in
@@ -1623,6 +1623,48 @@ fi
AC_MSG_RESULT($gcc_cv_as_shf_merge)
case "$target" in
+ # All TARGET_ABI_OSF targets.
+ alpha*-*-osf* | alpha*-*-linux* | alpha*-*-*bsd*)
+ AC_CACHE_CHECK([assembler supports explicit relocations],
+ gcc_cv_as_explicit_relocs, [
+ gcc_cv_as_explicit_relocs=unknown
+ 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 12 \
+ -o "$gcc_cv_gas_major_version" -gt 2; then
+ gcc_cv_as_explicit_relocs=yes
+ fi
+ elif test x$gcc_cv_as != x; then
+ cat > conftest.s << 'EOF'
+ .set nomacro
+ .text
+ extbl $3, $2, $3 !lituse_bytoff!1
+ ldq $2, a($29) !literal!1
+ ldq $4, b($29) !literal!2
+ ldq_u $3, 0($2) !lituse_base!1
+ ldq $27, f($29) !literal!5
+ jsr $26, ($27), f !lituse_jsr!5
+ ldah $29, 0($26) !gpdisp!3
+ lda $0, c($29) !gprel
+ ldah $1, d($29) !gprelhigh
+ lda $1, d($1) !gprellow
+ lda $29, 0($29) !gpdisp!3
+EOF
+ if $gcc_cv_as -o conftest.o conftest.s > /dev/null 2>&1; then
+ gcc_cv_as_explicit_relocs=yes
+ else
+ gcc_cv_as_explicit_relocs=no
+ fi
+ rm -f conftest.s conftest.o
+ fi
+ ])
+ if test "x$gcc_cv_as_explicit_relocs" = xyes; then
+ AC_DEFINE(HAVE_AS_EXPLICIT_RELOCS, 1,
+ [Define if your assembler supports explicit relocations.])
+ fi
+ ;;
sparc*-*-*)
AC_CACHE_CHECK([assembler .register pseudo-op support],
gcc_cv_as_register_pseudo_op, [