From f0871dfe8ff3366c0404f151a722fc5de3f614c7 Mon Sep 17 00:00:00 2001 From: Richard Henderson Date: Tue, 16 Apr 2002 18:37:42 -0700 Subject: [PATCH] sol2-bi.h (AS_SPARC64_FLAG): New. * config/sparc/sol2-bi.h (AS_SPARC64_FLAG): New. * config/sparc/sol2-gas-bi.h: New file. * config.gcc (sparc*-solaris): Add it as needed. * configure.in (AS_SPARC64_FLAG): Remove check. * config.in, configure: Regenerate. From-SVN: r52393 --- gcc/ChangeLog | 14 ++++++-- gcc/config.gcc | 6 ++++ gcc/config.in | 5 +-- gcc/config/sparc/sol2-bi.h | 4 ++- gcc/config/sparc/sol2-gas-bi.h | 5 +++ gcc/configure | 60 +++++----------------------------- gcc/configure.in | 35 -------------------- 7 files changed, 35 insertions(+), 94 deletions(-) create mode 100644 gcc/config/sparc/sol2-gas-bi.h diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 4cec626296f..8f5e5761caa 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,7 +1,17 @@ 2002-04-16 Richard Henderson - * config/mips/mips.c (override_options): Don't override N32 for - a 64-bit ISA. + * config/sparc/sol2-bi.h (AS_SPARC64_FLAG): New. + * config/sparc/sol2-gas-bi.h: New file. + * config.gcc (sparc*-solaris): Add it as needed. + * configure.in (AS_SPARC64_FLAG): Remove check. + * config.in, configure: Regenerate. + + * config/sparc/sol2-bi.h (CC1_SPEC): Error for -m32 and -m64. + +2002-04-16 Richard Henderson + + * config/mips/mips.c (override_options): Don't override N32 for + a 64-bit ISA. PR 6202 * config/mips/mips.md (can_delay): Split out of existing define_delays. diff --git a/gcc/config.gcc b/gcc/config.gcc index 6a024667dc0..f13cf2d0cc0 100644 --- a/gcc/config.gcc +++ b/gcc/config.gcc @@ -3082,6 +3082,9 @@ sparc64-*-solaris2* | sparcv9-*-solaris2*) if test x$gnu_ld = xyes; then tm_file="${tm_file} sparc/sol2-gld.h sparc/sol2-gld-bi.h" fi + if test x$gas = xyes; then + tm_file="${tm_file} sparc/sol2-gas-bi.h" + fi xm_defines=POSIX tmake_file="sparc/t-sol2 sparc/t-sol2-64 sparc/t-crtfm" if test x$gnu_ld = xyes; then @@ -3148,6 +3151,9 @@ sparc-*-solaris2*) if test x$gnu_ld = xyes; then tm_file="${tm_file} sparc/sol2-gld-bi.h" fi + if test x$gas = xyes; then + tm_file="${tm_file} sparc/sol2-gas-bi.h" + fi tmake_file="$tmake_file sparc/t-sol2-64" ;; esac diff --git a/gcc/config.in b/gcc/config.in index bd43cb84cdb..06f9742af49 100644 --- a/gcc/config.in +++ b/gcc/config.in @@ -1,4 +1,4 @@ -/* config.in. Generated automatically from configure.in by autoheader 2.13. */ +/* config.in. Generated automatically from configure.in by autoheader. */ /* Define if using alloca.c. */ #undef C_ALLOCA @@ -532,9 +532,6 @@ /* Define if your assembler and linker support unaligned PC relative relocs against hidden symbols. */ #undef HAVE_AS_SPARC_UA_PCREL_HIDDEN -/* Define if the assembler supports 64bit sparc. */ -#undef AS_SPARC64_FLAG - /* Define if your assembler supports offsetable %lo(). */ #undef HAVE_AS_OFFSETABLE_LO10 diff --git a/gcc/config/sparc/sol2-bi.h b/gcc/config/sparc/sol2-bi.h index 5c6966389e9..85b790efa78 100644 --- a/gcc/config/sparc/sol2-bi.h +++ b/gcc/config/sparc/sol2-bi.h @@ -1,5 +1,5 @@ /* Definitions of target machine for GNU compiler, for bi-arch SPARC - running Solaris 2 using the system linker. */ + running Solaris 2 using the system assembler and linker. */ /* The default code model. */ #undef SPARC_DEFAULT_CMODEL @@ -8,6 +8,8 @@ #undef LONG_DOUBLE_TYPE_SIZE #define LONG_DOUBLE_TYPE_SIZE 128 +#define AS_SPARC64_FLAG "-xarch=v9" + #undef ASM_CPU32_DEFAULT_SPEC #define ASM_CPU32_DEFAULT_SPEC "" #undef ASM_CPU64_DEFAULT_SPEC diff --git a/gcc/config/sparc/sol2-gas-bi.h b/gcc/config/sparc/sol2-gas-bi.h new file mode 100644 index 00000000000..0b6cb618d36 --- /dev/null +++ b/gcc/config/sparc/sol2-gas-bi.h @@ -0,0 +1,5 @@ +/* Definitions of target machine for GNU compiler, for bi-arch SPARC + running Solaris 2 using the GNU assembler. */ + +#undef AS_SPARC64_FLAG +#define AS_SPARC64_FLAG "-64 -Av9" diff --git a/gcc/configure b/gcc/configure index c2c9423dd68..c99926d3364 100755 --- a/gcc/configure +++ b/gcc/configure @@ -7515,53 +7515,9 @@ EOF fi - case "$target" in - sparcv9-* | sparc64-*) - echo $ac_n "checking for 64 bit support in assembler ($gcc_cv_as)""... $ac_c" 1>&6 -echo "configure:7522: checking for 64 bit support in assembler ($gcc_cv_as)" >&5 -if eval "test \"`echo '$''{'gcc_cv_as_flags64'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - - if test -n "$gcc_cv_as"; then - echo ".xword foo" > conftest.s - gcc_cv_as_flags64=no - for flag in "-xarch=v9" "-64 -Av9"; do - if $gcc_cv_as $flag -o conftest.o conftest.s \ - > /dev/null 2>&1; then - gcc_cv_as_flags64=$flag - break - fi - done - rm -f conftest.s conftest.o - else - if test "$gas" = yes; then - gcc_cv_as_flags64="-64 -Av9" - else - gcc_cv_as_flags64="-xarch=v9" - fi - fi - -fi - -echo "$ac_t""$gcc_cv_as_flags64" 1>&6 - if test "x$gcc_cv_as_flags64" = xno; then - { echo "configure: error: Assembler does not support 64-bit compilation." 1>&2; exit 1; } - exit 1 - else - cat >> confdefs.h <&6 -echo "configure:7565: checking for assembler offsetable %lo() support" >&5 +echo "configure:7521: checking for assembler offsetable %lo() support" >&5 if eval "test \"`echo '$''{'gcc_cv_as_offsetable_lo10'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -7601,7 +7557,7 @@ EOF i[34567]86-*-* | x86_64-*-*) echo $ac_n "checking assembler instructions""... $ac_c" 1>&6 -echo "configure:7605: checking assembler instructions" >&5 +echo "configure:7561: 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 @@ -7628,7 +7584,7 @@ EOF echo "$ac_t""$gcc_cv_as_instructions" 1>&6 echo $ac_n "checking assembler GOTOFF in data directives""... $ac_c" 1>&6 -echo "configure:7632: checking assembler GOTOFF in data directives" >&5 +echo "configure:7588: checking assembler GOTOFF in data directives" >&5 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 @@ -7658,7 +7614,7 @@ EOF esac echo $ac_n "checking assembler dwarf2 debug_line support""... $ac_c" 1>&6 -echo "configure:7662: checking assembler dwarf2 debug_line support" >&5 +echo "configure:7618: 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 @@ -7714,7 +7670,7 @@ fi echo "$ac_t""$gcc_cv_as_dwarf2_debug_line" 1>&6 echo $ac_n "checking assembler --gdwarf2 support""... $ac_c" 1>&6 -echo "configure:7718: checking assembler --gdwarf2 support" >&5 +echo "configure:7674: checking assembler --gdwarf2 support" >&5 gcc_cv_as_gdwarf2_flag=no if test x$gcc_cv_gas_major_version != x -a x$gcc_cv_gas_minor_version != x; then @@ -7743,7 +7699,7 @@ fi echo "$ac_t""$gcc_cv_as_gdwarf2_flag" 1>&6 echo $ac_n "checking assembler --gstabs support""... $ac_c" 1>&6 -echo "configure:7747: checking assembler --gstabs support" >&5 +echo "configure:7703: checking assembler --gstabs support" >&5 gcc_cv_as_gstabs_flag=no if test x$gcc_cv_gas_major_version != x -a x$gcc_cv_gas_minor_version != x; then @@ -7771,7 +7727,7 @@ fi echo "$ac_t""$gcc_cv_as_gstabs_flag" 1>&6 echo $ac_n "checking linker PT_GNU_EH_FRAME support""... $ac_c" 1>&6 -echo "configure:7775: checking linker PT_GNU_EH_FRAME support" >&5 +echo "configure:7731: checking linker PT_GNU_EH_FRAME support" >&5 gcc_cv_ld_eh_frame_hdr=no if test x$gcc_cv_gld_major_version != x -a x$gcc_cv_gld_minor_version != x; 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 && grep 'EMUL = elf' ../ld/Makefile > /dev/null; then @@ -7934,7 +7890,7 @@ fi echo $ac_n "checking whether to enable maintainer-specific portions of Makefiles""... $ac_c" 1>&6 -echo "configure:7938: checking whether to enable maintainer-specific portions of Makefiles" >&5 +echo "configure:7894: 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 1a337737721..ec25554482e 100644 --- a/gcc/configure.in +++ b/gcc/configure.in @@ -1794,41 +1794,6 @@ EOF [Define if your assembler and linker support unaligned PC relative relocs against hidden symbols.]) fi - case "$target" in - sparcv9-* | sparc64-*) - AC_CACHE_CHECK([for 64 bit support in assembler ($gcc_cv_as)], - gcc_cv_as_flags64, [ - if test -n "$gcc_cv_as"; then - echo ".xword foo" > conftest.s - gcc_cv_as_flags64=no - for flag in "-xarch=v9" "-64 -Av9"; do - if $gcc_cv_as $flag -o conftest.o conftest.s \ - > /dev/null 2>&1; then - gcc_cv_as_flags64=$flag - break - fi - done - rm -f conftest.s conftest.o - else - if test "$gas" = yes; then - gcc_cv_as_flags64="-64 -Av9" - else - gcc_cv_as_flags64="-xarch=v9" - fi - fi - ]) - if test "x$gcc_cv_as_flags64" = xno; then - AC_MSG_ERROR([Assembler does not support 64-bit compilation.]) - exit 1 - else - AC_DEFINE_UNQUOTED(AS_SPARC64_FLAG, "$gcc_cv_as_flags64", - [Define if the assembler supports 64bit sparc.]) - fi - ;; - *) gcc_cv_as_flags64=${gcc_cv_as_flags64-no} - ;; - esac - if test "x$gcc_cv_as_flags64" != xno; then AC_CACHE_CHECK([for assembler offsetable %lo() support], gcc_cv_as_offsetable_lo10, [ -- 2.30.2