diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 7163d753157..597e1c14a7a 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2006-07-20 Roger Sayle + + * config.gcc (i[34567]86-*-solaris2*): Add usegas.h to $tm_file + if the target assembler is GNU binutils' gas. + * config/i386/sol2-10.h (ASM_SPEC): Check USE_GAS to determine + whether to pass GNU gas or native as command line options. + 2006-07-20 Jason Merrill * tree.c (remove_attribute): New fn. diff --git a/gcc/config.gcc b/gcc/config.gcc index 6058972602f..058fef7975b 100644 --- a/gcc/config.gcc +++ b/gcc/config.gcc @@ -1164,6 +1164,9 @@ i[34567]86-*-solaris2*) else tmake_file="$tmake_file t-slibgcc-sld" fi + if test x$gas = xyes; then + tm_file="usegas.h ${tm_file}" + fi case ${target} in *-*-solaris2.[789] | *-*-solaris2.1[0-9]*) tm_file="$tm_file tm-dwarf2.h" diff --git a/gcc/config/i386/sol2-10.h b/gcc/config/i386/sol2-10.h index e120aa1b762..af51b4cb376 100644 --- a/gcc/config/i386/sol2-10.h +++ b/gcc/config/i386/sol2-10.h @@ -22,9 +22,17 @@ Boston, MA 02110-1301, USA. */ #undef ASM_COMMENT_START #define ASM_COMMENT_START "/" +/* binutils' GNU as understands --32 and --64, but the native Solaris + assembler requires -xarch=generic or -xarch=generic64 instead. */ #undef ASM_SPEC +#ifdef USE_GAS #define ASM_SPEC "%{v:-V} %{Qy:} %{!Qn:-Qy} %{n} %{T} %{Ym,*} %{Yd,*} " \ "%{Wa,*:%*} %{m32:--32} %{m64:--64} -s %(asm_cpu)" +#else +#define ASM_SPEC "%{v:-V} %{Qy:} %{!Qn:-Qy} %{n} %{T} %{Ym,*} %{Yd,*} " \ + "%{Wa,*:%*} %{m32:-xarch=generic} %{m64:-xarch=generic64} " \ + "-s %(asm_cpu)" +#endif #undef NO_PROFILE_COUNTERS