re PR target/12101 (i386 Solaris no longer works with GNU as?)
* configure.in (gcc_cv_as_ix86_cmov_sun_syntax): Check if assembler supports Sun syntax for cmov. * configure: Regenerate. * config.in: Likewise. * config/i386/i386.c: Rename CMOV_SUN_AS_SYNTAX to HAVE_AS_IX86_CMOV_SUN_SYNTAX. * config/i386/sol2.h (CMOV_SUN_AS_SYNTAX): Remove. Fixes PR target/12101. From-SVN: r71089
This commit is contained in:
parent
47ab33b220
commit
f6f5dff2e1
6 changed files with 75 additions and 30 deletions
|
@ -1,3 +1,14 @@
|
|||
2003-09-04 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
|
||||
|
||||
* configure.in (gcc_cv_as_ix86_cmov_sun_syntax): Check if
|
||||
assembler supports Sun syntax for cmov.
|
||||
* configure: Regenerate.
|
||||
* config.in: Likewise.
|
||||
* config/i386/i386.c: Rename CMOV_SUN_AS_SYNTAX to
|
||||
HAVE_AS_IX86_CMOV_SUN_SYNTAX.
|
||||
* config/i386/sol2.h (CMOV_SUN_AS_SYNTAX): Remove.
|
||||
Fixes PR target/12101.
|
||||
|
||||
2003-09-04 Matt Austern <austern@apple.com>
|
||||
|
||||
* c-common.c (fname_as_string): Use lang_hooks.decl_printable_name
|
||||
|
|
|
@ -480,6 +480,9 @@
|
|||
/* Define if your assembler uses the new HImode fild and fist notation. */
|
||||
#undef HAVE_GAS_FILDS_FISTS
|
||||
|
||||
/* Define if your assembler supports the Sun syntax for cmov. */
|
||||
#undef HAVE_AS_IX86_CMOV_SUN_SYNTAX
|
||||
|
||||
/* Define true if the assembler supports '.long foo@GOTOFF'. */
|
||||
#undef HAVE_AS_GOTOFF_IN_DATA
|
||||
|
||||
|
|
|
@ -7020,8 +7020,8 @@ get_some_local_dynamic_name_1 (rtx *px, void *data ATTRIBUTE_UNUSED)
|
|||
C -- print opcode suffix for set/cmov insn.
|
||||
c -- like C, but print reversed condition
|
||||
F,f -- likewise, but for floating-point.
|
||||
O -- if CMOV_SUN_AS_SYNTAX, expand to "w.", "l." or "q.", otherwise
|
||||
nothing
|
||||
O -- if HAVE_AS_IX86_CMOV_SUN_SYNTAX, expand to "w.", "l." or "q.",
|
||||
otherwise nothing
|
||||
R -- print the prefix for register names.
|
||||
z -- print the opcode suffix for the size of the current operand.
|
||||
* -- print a star (in certain assembler syntax)
|
||||
|
@ -7222,7 +7222,7 @@ print_operand (FILE *file, rtx x, int code)
|
|||
}
|
||||
return;
|
||||
case 'O':
|
||||
#ifdef CMOV_SUN_AS_SYNTAX
|
||||
#ifdef HAVE_AS_IX86_CMOV_SUN_SYNTAX
|
||||
if (ASSEMBLER_DIALECT == ASM_ATT)
|
||||
{
|
||||
switch (GET_MODE (x))
|
||||
|
@ -7242,7 +7242,7 @@ print_operand (FILE *file, rtx x, int code)
|
|||
put_condition_code (GET_CODE (x), GET_MODE (XEXP (x, 0)), 0, 0, file);
|
||||
return;
|
||||
case 'F':
|
||||
#ifdef CMOV_SUN_AS_SYNTAX
|
||||
#ifdef HAVE_AS_IX86_CMOV_SUN_SYNTAX
|
||||
if (ASSEMBLER_DIALECT == ASM_ATT)
|
||||
putc ('.', file);
|
||||
#endif
|
||||
|
@ -7261,7 +7261,7 @@ print_operand (FILE *file, rtx x, int code)
|
|||
put_condition_code (GET_CODE (x), GET_MODE (XEXP (x, 0)), 1, 0, file);
|
||||
return;
|
||||
case 'f':
|
||||
#ifdef CMOV_SUN_AS_SYNTAX
|
||||
#ifdef HAVE_AS_IX86_CMOV_SUN_SYNTAX
|
||||
if (ASSEMBLER_DIALECT == ASM_ATT)
|
||||
putc ('.', file);
|
||||
#endif
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/* Target definitions for GNU compiler for Intel 80386 running Solaris 2
|
||||
Copyright (C) 1993, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
|
||||
Copyright (C) 1993, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
|
||||
Free Software Foundation, Inc.
|
||||
Contributed by Fred Fish (fnf@cygnus.com).
|
||||
|
||||
|
@ -20,8 +20,6 @@ along with GNU CC; see the file COPYING. If not, write to
|
|||
the Free Software Foundation, 59 Temple Place - Suite 330,
|
||||
Boston, MA 02111-1307, USA. */
|
||||
|
||||
#define CMOV_SUN_AS_SYNTAX 1
|
||||
|
||||
/* The Solaris 2.0 x86 linker botches alignment of code sections.
|
||||
It tries to align to a 16 byte boundary by padding with 0x00000090
|
||||
ints, rather than 0x90 bytes (nop). This generates trash in the
|
||||
|
|
71
gcc/configure
vendored
71
gcc/configure
vendored
|
@ -6949,12 +6949,39 @@ if test $gcc_cv_as_ix86_filds_fists = yes; then
|
|||
#define HAVE_GAS_FILDS_FISTS 1
|
||||
EOF
|
||||
|
||||
fi
|
||||
|
||||
echo $ac_n "checking assembler for cmov syntax""... $ac_c" 1>&6
|
||||
echo "configure:6956: checking assembler for cmov syntax" >&5
|
||||
if eval "test \"`echo '$''{'gcc_cv_as_ix86_cmov_sun_syntax'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
gcc_cv_as_ix86_cmov_sun_syntax=no
|
||||
if test x$gcc_cv_as != x; then
|
||||
echo 'cmovl.l %edx, %eax' > conftest.s
|
||||
if { ac_try='$gcc_cv_as -o conftest.o conftest.s >&5'; { (eval echo configure:6963: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }
|
||||
then
|
||||
gcc_cv_as_ix86_cmov_sun_syntax=yes
|
||||
else
|
||||
echo "configure: failed program was" >&5
|
||||
cat conftest.s >&5
|
||||
fi
|
||||
rm -f conftest.o conftest.s
|
||||
fi
|
||||
fi
|
||||
|
||||
echo "$ac_t""$gcc_cv_as_ix86_cmov_sun_syntax" 1>&6
|
||||
if test $gcc_cv_as_ix86_cmov_sun_syntax = yes; then
|
||||
cat >> confdefs.h <<\EOF
|
||||
#define HAVE_AS_IX86_CMOV_SUN_SYNTAX 1
|
||||
EOF
|
||||
|
||||
fi
|
||||
|
||||
# This one is used unconditionally by i386.[ch]; it is to be defined
|
||||
# to 1 if the feature is present, 0 otherwise.
|
||||
echo $ac_n "checking assembler for GOTOFF in data""... $ac_c" 1>&6
|
||||
echo "configure:6958: checking assembler for GOTOFF in data" >&5
|
||||
echo "configure:6985: checking assembler for GOTOFF in data" >&5
|
||||
if eval "test \"`echo '$''{'gcc_cv_as_ix86_gotoff_in_data'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
|
@ -6969,7 +6996,7 @@ fi
|
|||
nop
|
||||
.data
|
||||
.long .L0@GOTOFF' > conftest.s
|
||||
if { ac_try='$gcc_cv_as -o conftest.o conftest.s >&5'; { (eval echo configure:6973: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }
|
||||
if { ac_try='$gcc_cv_as -o conftest.o conftest.s >&5'; { (eval echo configure:7000: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }
|
||||
then
|
||||
gcc_cv_as_ix86_gotoff_in_data=yes
|
||||
else
|
||||
|
@ -6990,7 +7017,7 @@ EOF
|
|||
|
||||
ia64*-*-*)
|
||||
echo $ac_n "checking assembler for ltoffx and ldxmov relocs""... $ac_c" 1>&6
|
||||
echo "configure:6994: checking assembler for ltoffx and ldxmov relocs" >&5
|
||||
echo "configure:7021: checking assembler for ltoffx and ldxmov relocs" >&5
|
||||
if eval "test \"`echo '$''{'gcc_cv_as_ia64_ltoffx_ldxmov_relocs'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
|
@ -7004,7 +7031,7 @@ fi
|
|||
addl r15 = @ltoffx(x#), gp
|
||||
;;
|
||||
ld8.mov r16 = [r15], x#' > conftest.s
|
||||
if { ac_try='$gcc_cv_as -o conftest.o conftest.s >&5'; { (eval echo configure:7008: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }
|
||||
if { ac_try='$gcc_cv_as -o conftest.o conftest.s >&5'; { (eval echo configure:7035: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }
|
||||
then
|
||||
gcc_cv_as_ia64_ltoffx_ldxmov_relocs=yes
|
||||
else
|
||||
|
@ -7034,7 +7061,7 @@ fi
|
|||
mfcr 3,128"
|
||||
|
||||
echo $ac_n "checking assembler for mfcr field support""... $ac_c" 1>&6
|
||||
echo "configure:7038: checking assembler for mfcr field support" >&5
|
||||
echo "configure:7065: checking assembler for mfcr field support" >&5
|
||||
if eval "test \"`echo '$''{'gcc_cv_as_powerpc_mfcrf'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
|
@ -7045,7 +7072,7 @@ else
|
|||
fi
|
||||
elif test x$gcc_cv_as != x; then
|
||||
echo "$conftest_s" > conftest.s
|
||||
if { ac_try='$gcc_cv_as -o conftest.o conftest.s >&5'; { (eval echo configure:7049: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }
|
||||
if { ac_try='$gcc_cv_as -o conftest.o conftest.s >&5'; { (eval echo configure:7076: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }
|
||||
then
|
||||
gcc_cv_as_powerpc_mfcrf=yes
|
||||
else
|
||||
|
@ -7067,7 +7094,7 @@ fi
|
|||
|
||||
mips*-*-*)
|
||||
echo $ac_n "checking assembler for explicit relocation support""... $ac_c" 1>&6
|
||||
echo "configure:7071: checking assembler for explicit relocation support" >&5
|
||||
echo "configure:7098: checking assembler for explicit relocation support" >&5
|
||||
if eval "test \"`echo '$''{'gcc_cv_as_mips_explicit_relocs'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
|
@ -7078,7 +7105,7 @@ else
|
|||
fi
|
||||
elif test x$gcc_cv_as != x; then
|
||||
echo ' lw $4,%gp_rel(foo)($4)' > conftest.s
|
||||
if { ac_try='$gcc_cv_as -o conftest.o conftest.s >&5'; { (eval echo configure:7082: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }
|
||||
if { ac_try='$gcc_cv_as -o conftest.o conftest.s >&5'; { (eval echo configure:7109: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }
|
||||
then
|
||||
gcc_cv_as_mips_explicit_relocs=yes
|
||||
else
|
||||
|
@ -7124,7 +7151,7 @@ if test x"$insn" != x; then
|
|||
.loc 1 3 0
|
||||
$insn"
|
||||
echo $ac_n "checking assembler for dwarf2 debug_line support""... $ac_c" 1>&6
|
||||
echo "configure:7128: checking assembler for dwarf2 debug_line support" >&5
|
||||
echo "configure:7155: checking assembler for dwarf2 debug_line support" >&5
|
||||
if eval "test \"`echo '$''{'gcc_cv_as_dwarf2_debug_line'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
|
@ -7136,7 +7163,7 @@ else
|
|||
fi
|
||||
elif test x$gcc_cv_as != x; then
|
||||
echo "$conftest_s" > conftest.s
|
||||
if { ac_try='$gcc_cv_as -o conftest.o conftest.s >&5'; { (eval echo configure:7140: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }
|
||||
if { ac_try='$gcc_cv_as -o conftest.o conftest.s >&5'; { (eval echo configure:7167: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }
|
||||
then
|
||||
# ??? This fails with non-gnu grep. Maybe use objdump?
|
||||
if grep debug_line conftest.o > /dev/null 2>&1; then
|
||||
|
@ -7158,7 +7185,7 @@ echo "$ac_t""$gcc_cv_as_dwarf2_debug_line" 1>&6
|
|||
# by DW_AT_decl_file. Approximate this test by testing if
|
||||
# the assembler bitches if the same index is assigned twice.
|
||||
echo $ac_n "checking assembler for buggy dwarf2 .file directive""... $ac_c" 1>&6
|
||||
echo "configure:7162: checking assembler for buggy dwarf2 .file directive" >&5
|
||||
echo "configure:7189: checking assembler for buggy dwarf2 .file directive" >&5
|
||||
if eval "test \"`echo '$''{'gcc_cv_as_dwarf2_file_buggy'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
|
@ -7166,7 +7193,7 @@ else
|
|||
if test x$gcc_cv_as != x; then
|
||||
echo ' .file 1 "foo.s"
|
||||
.file 1 "bar.s"' > conftest.s
|
||||
if { ac_try='$gcc_cv_as -o conftest.o conftest.s >&5'; { (eval echo configure:7170: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }
|
||||
if { ac_try='$gcc_cv_as -o conftest.o conftest.s >&5'; { (eval echo configure:7197: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }
|
||||
then
|
||||
gcc_cv_as_dwarf2_file_buggy=yes
|
||||
else
|
||||
|
@ -7189,7 +7216,7 @@ EOF
|
|||
fi
|
||||
|
||||
echo $ac_n "checking assembler for --gdwarf2 option""... $ac_c" 1>&6
|
||||
echo "configure:7193: checking assembler for --gdwarf2 option" >&5
|
||||
echo "configure:7220: checking assembler for --gdwarf2 option" >&5
|
||||
if eval "test \"`echo '$''{'gcc_cv_as_gdwarf2_flag'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
|
@ -7201,7 +7228,7 @@ else
|
|||
fi
|
||||
elif test x$gcc_cv_as != x; then
|
||||
echo "$insn" > conftest.s
|
||||
if { ac_try='$gcc_cv_as --gdwarf2 -o conftest.o conftest.s >&5'; { (eval echo configure:7205: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }
|
||||
if { ac_try='$gcc_cv_as --gdwarf2 -o conftest.o conftest.s >&5'; { (eval echo configure:7232: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }
|
||||
then
|
||||
gcc_cv_as_gdwarf2_flag=yes
|
||||
else
|
||||
|
@ -7221,7 +7248,7 @@ EOF
|
|||
fi
|
||||
|
||||
echo $ac_n "checking assembler for --gstabs option""... $ac_c" 1>&6
|
||||
echo "configure:7225: checking assembler for --gstabs option" >&5
|
||||
echo "configure:7252: checking assembler for --gstabs option" >&5
|
||||
if eval "test \"`echo '$''{'gcc_cv_as_gstabs_flag'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
|
@ -7233,12 +7260,12 @@ else
|
|||
fi
|
||||
elif test x$gcc_cv_as != x; then
|
||||
echo "$insn" > conftest.s
|
||||
if { ac_try='$gcc_cv_as --gstabs -o conftest.o conftest.s >&5'; { (eval echo configure:7237: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }
|
||||
if { ac_try='$gcc_cv_as --gstabs -o conftest.o conftest.s >&5'; { (eval echo configure:7264: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }
|
||||
then
|
||||
# The native Solaris 9/Intel assembler doesn't understand --gstabs
|
||||
# and warns about it, but still exits successfully. So check for
|
||||
# this.
|
||||
if { ac_try='$gcc_cv_as --gstabs -o conftest.o conftest.s 2>&1 | grep -i warning > /dev/null'; { (eval echo configure:7242: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }
|
||||
if { ac_try='$gcc_cv_as --gstabs -o conftest.o conftest.s 2>&1 | grep -i warning > /dev/null'; { (eval echo configure:7269: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }
|
||||
then :
|
||||
else gcc_cv_as_gstabs_flag=yes
|
||||
fi
|
||||
|
@ -7260,7 +7287,7 @@ fi
|
|||
fi
|
||||
|
||||
echo $ac_n "checking linker read-only and read-write section mixing""... $ac_c" 1>&6
|
||||
echo "configure:7264: checking linker read-only and read-write section mixing" >&5
|
||||
echo "configure:7291: checking linker read-only and read-write section mixing" >&5
|
||||
gcc_cv_ld_ro_rw_mix=unknown
|
||||
if test $in_tree_ld = yes ; then
|
||||
if test "$gcc_cv_gld_major_version" -eq 2 -a "$gcc_cv_gld_minor_version" -ge 10 -o "$gcc_cv_gld_major_version" -gt 2 \
|
||||
|
@ -7299,7 +7326,7 @@ fi
|
|||
echo "$ac_t""$gcc_cv_ld_ro_rw_mix" 1>&6
|
||||
|
||||
echo $ac_n "checking linker PT_GNU_EH_FRAME support""... $ac_c" 1>&6
|
||||
echo "configure:7303: checking linker PT_GNU_EH_FRAME support" >&5
|
||||
echo "configure:7330: checking linker PT_GNU_EH_FRAME support" >&5
|
||||
gcc_cv_ld_eh_frame_hdr=no
|
||||
if test $in_tree_ld = yes ; then
|
||||
if test "$gcc_cv_gld_major_version" -eq 2 -a "$gcc_cv_gld_minor_version" -ge 12 -o "$gcc_cv_gld_major_version" -gt 2 \
|
||||
|
@ -7321,7 +7348,7 @@ fi
|
|||
echo "$ac_t""$gcc_cv_ld_eh_frame_hdr" 1>&6
|
||||
|
||||
echo $ac_n "checking linker position independent executable support""... $ac_c" 1>&6
|
||||
echo "configure:7325: checking linker position independent executable support" >&5
|
||||
echo "configure:7352: checking linker position independent executable support" >&5
|
||||
gcc_cv_ld_pie=no
|
||||
if test $in_tree_ld = yes ; then
|
||||
if test "$gcc_cv_gld_major_version" -eq 2 -a "$gcc_cv_gld_minor_version" -ge 15 -o "$gcc_cv_gld_major_version" -gt 2 \
|
||||
|
@ -7346,7 +7373,7 @@ echo "$ac_t""$gcc_cv_ld_pie" 1>&6
|
|||
case "$target" in
|
||||
mips*-*-*)
|
||||
echo $ac_n "checking whether libgloss uses STARTUP directives consistently""... $ac_c" 1>&6
|
||||
echo "configure:7350: checking whether libgloss uses STARTUP directives consistently" >&5
|
||||
echo "configure:7377: checking whether libgloss uses STARTUP directives consistently" >&5
|
||||
gcc_cv_mips_libgloss_startup=no
|
||||
gcc_cv_libgloss_srcdir=`echo $srcdir | sed -e 's,/gcc$,,'`/libgloss
|
||||
if test "x$exec_prefix" = xNONE; then
|
||||
|
@ -7548,7 +7575,7 @@ fi
|
|||
|
||||
|
||||
echo $ac_n "checking whether to enable maintainer-specific portions of Makefiles""... $ac_c" 1>&6
|
||||
echo "configure:7552: checking whether to enable maintainer-specific portions of Makefiles" >&5
|
||||
echo "configure:7579: 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"
|
||||
|
|
|
@ -2263,6 +2263,12 @@ changequote([,])dnl
|
|||
[AC_DEFINE(HAVE_GAS_FILDS_FISTS, 1,
|
||||
[Define if your assembler uses the new HImode fild and fist notation.])])
|
||||
|
||||
gcc_GAS_CHECK_FEATURE([cmov syntax],
|
||||
gcc_cv_as_ix86_cmov_sun_syntax,,,
|
||||
[cmovl.l %edx, %eax],,
|
||||
[AC_DEFINE(HAVE_AS_IX86_CMOV_SUN_SYNTAX, 1,
|
||||
[Define if your assembler supports the Sun syntax for cmov.])])
|
||||
|
||||
# This one is used unconditionally by i386.[ch]; it is to be defined
|
||||
# to 1 if the feature is present, 0 otherwise.
|
||||
gcc_GAS_CHECK_FEATURE([GOTOFF in data],
|
||||
|
|
Loading…
Add table
Reference in a new issue