diff options
author | Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> | 2011-07-07 08:52:48 +0000 |
---|---|---|
committer | Rainer Orth <ro@gcc.gnu.org> | 2011-07-07 08:52:48 +0000 |
commit | fcf7471a39854c6bf17a6b59beca52cd56a03ce2 (patch) | |
tree | 6c96e5832d2fe046e0a1383f238b7ea72474a34d /gcc/config | |
parent | 1e6a67d1bd2403979137f1aac0a9d768e641f9b7 (diff) | |
download | gcc-fcf7471a39854c6bf17a6b59beca52cd56a03ce2.tar.gz |
sol2.h (ASM_SPEC): Split into ...
* config/sol2.h (ASM_SPEC): Split into ...
(ASM_SPEC_BASE, ASM_PIC_SPEC): ... this.
* config/i386/sol2.h (ASM_SPEC): Define using ASM_SPEC_BASE.
* config/i386/sol2-bi.h (ASM_CPU_SPEC): Redefine.
(ASM_SPEC): Use ASM_SPEC_BASE.
* config/sparc/sol2.h (ASM_SPEC): Redefine.
From-SVN: r175957
Diffstat (limited to 'gcc/config')
-rw-r--r-- | gcc/config/i386/sol2-bi.h | 14 | ||||
-rw-r--r-- | gcc/config/i386/sol2.h | 8 | ||||
-rw-r--r-- | gcc/config/sol2.h | 13 | ||||
-rw-r--r-- | gcc/config/sparc/sol2.h | 4 |
4 files changed, 23 insertions, 16 deletions
diff --git a/gcc/config/i386/sol2-bi.h b/gcc/config/i386/sol2-bi.h index 394ca580884..a988fa00b93 100644 --- a/gcc/config/i386/sol2-bi.h +++ b/gcc/config/i386/sol2-bi.h @@ -31,15 +31,19 @@ along with GCC; see the file COPYING3. If not see /* GNU as understands --32 and --64, but the native Solaris assembler requires -xarch=generic or -xarch=generic64 instead. */ -#undef ASM_SPEC +#undef ASM_CPU_SPEC #ifdef USE_GAS -#define ASM_SPEC "%{m32:--32} %{m64:--64} -s %(asm_cpu)" +#define ASM_CPU_SPEC "%{m32:--32} %{m64:--64}" #else -#define ASM_SPEC "%{v:-V} %{Qy:} %{!Qn:-Qy} %{Ym,*} " \ - "%{m32:-xarch=generic} %{m64:-xarch=generic64} " \ - "-s %(asm_cpu)" +#define ASM_CPU_SPEC "%{m32:-xarch=generic} %{m64:-xarch=generic64}" #endif +/* Don't let i386/x86-64.h override i386/sol2.h version. Still cannot use + -K PIC with the Solaris 10+ assembler, it gives many warnings: + Absolute relocation is used for symbol "<symbol>" */ +#undef ASM_SPEC +#define ASM_SPEC ASM_SPEC_BASE + /* We do not need to search a special directory for startup files. */ #undef MD_STARTFILE_PREFIX diff --git a/gcc/config/i386/sol2.h b/gcc/config/i386/sol2.h index f5e5c762612..593e256c164 100644 --- a/gcc/config/i386/sol2.h +++ b/gcc/config/i386/sol2.h @@ -61,12 +61,12 @@ along with GCC; see the file COPYING3. If not see #define ASM_CPU_SPEC "" -/* Removed -K PIC from generic sol2.h ASM_SPEC: the Solaris 8 and 9 assembler - gives many warnings: R_386_32 relocation is used for symbol ".text", and +/* Don't include ASM_PIC_SPEC. While the Solaris 8 and 9 assembler accepts + -K PIC, it gives many warnings: + R_386_32 relocation is used for symbol "<symbol>" GNU as doesn't recognize -K at all. */ -/* FIXME: Perhaps split between common and CPU-specific parts? */ #undef ASM_SPEC -#define ASM_SPEC "%{v:-V} %{Qy:} %{!Qn:-Qy} %{Ym,*} -s %(asm_cpu)" +#define ASM_SPEC ASM_SPEC_BASE #define SUBTARGET_CPU_EXTRA_SPECS \ { "cpp_subtarget", CPP_SUBTARGET_SPEC }, \ diff --git a/gcc/config/sol2.h b/gcc/config/sol2.h index d9c1fc99a40..3867c7dd245 100644 --- a/gcc/config/sol2.h +++ b/gcc/config/sol2.h @@ -99,13 +99,12 @@ along with GCC; see the file COPYING3. If not see TARGET_SUB_OS_CPP_BUILTINS(); \ } while (0) -/* It's safe to pass -s always, even if -g is not used. */ -#undef ASM_SPEC -#define ASM_SPEC "\ -%{v:-V} %{Qy:} %{!Qn:-Qy} %{Ym,*} -s \ -%{fpic|fpie|fPIC|fPIE:-K PIC} \ -%(asm_cpu) \ -" +/* It's safe to pass -s always, even if -g is not used. Those options are + handled by both Sun as and GNU as. */ +#define ASM_SPEC_BASE \ +"%{v:-V} %{Qy:} %{!Qn:-Qy} %{Ym,*} -s %(asm_cpu)" + +#define ASM_PIC_SPEC " %{fpic|fpie|fPIC|fPIE:-K PIC}" #undef LIB_SPEC #define LIB_SPEC \ diff --git a/gcc/config/sparc/sol2.h b/gcc/config/sparc/sol2.h index 24c7ade0177..392b171be8d 100644 --- a/gcc/config/sparc/sol2.h +++ b/gcc/config/sparc/sol2.h @@ -120,6 +120,10 @@ along with GCC; see the file COPYING3. If not see #define ASM_CPU_DEFAULT_SPEC ASM_CPU32_DEFAULT_SPEC #endif +/* Both Sun as and GNU as understand -K PIC. */ +#undef ASM_SPEC +#define ASM_SPEC ASM_SPEC_BASE ASM_PIC_SPEC + #undef CPP_CPU_SPEC #define CPP_CPU_SPEC "\ %{mcpu=sparclet|mcpu=tsc701:-D__sparclet__} \ |