summaryrefslogtreecommitdiff
path: root/gcc/configure.in
diff options
context:
space:
mode:
authorrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>2001-10-17 01:39:47 +0000
committerrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>2001-10-17 01:39:47 +0000
commitbb006a8485718d1bd1f0b115c8d1f489ead14e97 (patch)
tree0278d65c37795602590af63f453e4fe59489296b /gcc/configure.in
parentedc846fb17894250f56581ef689c225f322ff124 (diff)
downloadgcc-bb006a8485718d1bd1f0b115c8d1f489ead14e97.tar.gz
* configure.in (HAVE_AS_GOTOFF_IN_DATA): New x86 check.
* configure, config.in: Rebuild. * config/i386/i386.c (ix86_output_addr_vec_elt): New. (ix86_output_addr_diff_elt): New. * config/i386/i386.h (ASM_OUTPUT_ADDR_VEC_ELT): Use them. (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise. (JUMP_TABLES_IN_TEXT_SECTION): New. * config/i386/i386.md (tablejump): Handle HAVE_AS_GOTOFF_IN_DATA. * config/i386/i386-protos.h: Update. * config/i386/386bsd.h, config/i386/beos-elf.h, config/i386/freebsd-aout.h, config/i386/freebsd.h, config/i386/i386-interix.h, config/i386/i386elf.h, config/i386/linux.h, config/i386/netbsd-elf.h, config/i386/netbsd.h, config/i386/openbsd.h, config/i386/ptx4-i.h, config/i386/rtemself.h, config/i386/sco5.h, config/i386/sysv4.h, config/i386/x86-64.h (ASM_OUTPUT_ADDR_DIFF_ELT, JUMP_TABLES_IN_TEXT_SECTION): Remove. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@46303 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/configure.in')
-rw-r--r--gcc/configure.in26
1 files changed, 26 insertions, 0 deletions
diff --git a/gcc/configure.in b/gcc/configure.in
index 6ce9d2c626f..babc720c32e 100644
--- a/gcc/configure.in
+++ b/gcc/configure.in
@@ -1631,6 +1631,32 @@ changequote([,])dnl
AC_DEFINE_UNQUOTED(HAVE_GAS_`echo "$gcc_cv_as_instructions" | sed -e 's/ $//' | tr '[a-z ]' '[A-Z_]'`)
fi
AC_MSG_RESULT($gcc_cv_as_instructions)
+
+ AC_MSG_CHECKING(assembler GOTOFF in data directives)
+ gcc_cv_as_gotoff_in_data=no
+ 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 11 \
+ -o "$gcc_cv_gas_major_version" -gt 2; then
+ gcc_cv_as_gotoff_in_data=yes
+ fi
+ elif test x$gcc_cv_as != x; then
+ cat > conftest.s <<EOF
+ .text
+.L0:
+ nop
+ .data
+ .long .L0@GOTOFF
+EOF
+ if $gcc_cv_as -o conftest.o conftest.s > /dev/null 2>&1; then
+ gcc_cv_as_gotoff_in_data=yes
+ fi
+ fi
+ AC_DEFINE_UNQUOTED(HAVE_AS_GOTOFF_IN_DATA,
+ [`if test $gcc_cv_as_gotoff_in_data = yes; then echo 1; else echo 0; fi`],
+ [Define true if the assembler supports '.long foo@GOTOFF'.])
+ AC_MSG_RESULT($gcc_cv_as_gotoff_in_data)
;;
esac