diff options
author | rth <rth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-10-17 01:39:47 +0000 |
---|---|---|
committer | rth <rth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-10-17 01:39:47 +0000 |
commit | bb006a8485718d1bd1f0b115c8d1f489ead14e97 (patch) | |
tree | 0278d65c37795602590af63f453e4fe59489296b /gcc/configure.in | |
parent | edc846fb17894250f56581ef689c225f322ff124 (diff) | |
download | gcc-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.in | 26 |
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 |