Commit fcf7471a by Rainer Orth Committed by Rainer Orth

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
parent 1e6a67d1
2011-07-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
* 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.
2011-07-07 Georg-Johann Lay <avr@gjlay.de> 2011-07-07 Georg-Johann Lay <avr@gjlay.de>
* config/avr/avr.md (*reload_insi): Change predicate #1 to * config/avr/avr.md (*reload_insi): Change predicate #1 to
......
...@@ -31,15 +31,19 @@ along with GCC; see the file COPYING3. If not see ...@@ -31,15 +31,19 @@ along with GCC; see the file COPYING3. If not see
/* GNU as understands --32 and --64, but the native Solaris /* GNU as understands --32 and --64, but the native Solaris
assembler requires -xarch=generic or -xarch=generic64 instead. */ assembler requires -xarch=generic or -xarch=generic64 instead. */
#undef ASM_SPEC #undef ASM_CPU_SPEC
#ifdef USE_GAS #ifdef USE_GAS
#define ASM_SPEC "%{m32:--32} %{m64:--64} -s %(asm_cpu)" #define ASM_CPU_SPEC "%{m32:--32} %{m64:--64}"
#else #else
#define ASM_SPEC "%{v:-V} %{Qy:} %{!Qn:-Qy} %{Ym,*} " \ #define ASM_CPU_SPEC "%{m32:-xarch=generic} %{m64:-xarch=generic64}"
"%{m32:-xarch=generic} %{m64:-xarch=generic64} " \
"-s %(asm_cpu)"
#endif #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. */ /* We do not need to search a special directory for startup files. */
#undef MD_STARTFILE_PREFIX #undef MD_STARTFILE_PREFIX
......
...@@ -61,12 +61,12 @@ along with GCC; see the file COPYING3. If not see ...@@ -61,12 +61,12 @@ along with GCC; see the file COPYING3. If not see
#define ASM_CPU_SPEC "" #define ASM_CPU_SPEC ""
/* Removed -K PIC from generic sol2.h ASM_SPEC: the Solaris 8 and 9 assembler /* Don't include ASM_PIC_SPEC. While the Solaris 8 and 9 assembler accepts
gives many warnings: R_386_32 relocation is used for symbol ".text", and -K PIC, it gives many warnings:
R_386_32 relocation is used for symbol "<symbol>"
GNU as doesn't recognize -K at all. */ GNU as doesn't recognize -K at all. */
/* FIXME: Perhaps split between common and CPU-specific parts? */
#undef ASM_SPEC #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 \ #define SUBTARGET_CPU_EXTRA_SPECS \
{ "cpp_subtarget", CPP_SUBTARGET_SPEC }, \ { "cpp_subtarget", CPP_SUBTARGET_SPEC }, \
......
...@@ -99,13 +99,12 @@ along with GCC; see the file COPYING3. If not see ...@@ -99,13 +99,12 @@ along with GCC; see the file COPYING3. If not see
TARGET_SUB_OS_CPP_BUILTINS(); \ TARGET_SUB_OS_CPP_BUILTINS(); \
} while (0) } while (0)
/* It's safe to pass -s always, even if -g is not used. */ /* It's safe to pass -s always, even if -g is not used. Those options are
#undef ASM_SPEC handled by both Sun as and GNU as. */
#define ASM_SPEC "\ #define ASM_SPEC_BASE \
%{v:-V} %{Qy:} %{!Qn:-Qy} %{Ym,*} -s \ "%{v:-V} %{Qy:} %{!Qn:-Qy} %{Ym,*} -s %(asm_cpu)"
%{fpic|fpie|fPIC|fPIE:-K PIC} \
%(asm_cpu) \ #define ASM_PIC_SPEC " %{fpic|fpie|fPIC|fPIE:-K PIC}"
"
#undef LIB_SPEC #undef LIB_SPEC
#define LIB_SPEC \ #define LIB_SPEC \
......
...@@ -120,6 +120,10 @@ along with GCC; see the file COPYING3. If not see ...@@ -120,6 +120,10 @@ along with GCC; see the file COPYING3. If not see
#define ASM_CPU_DEFAULT_SPEC ASM_CPU32_DEFAULT_SPEC #define ASM_CPU_DEFAULT_SPEC ASM_CPU32_DEFAULT_SPEC
#endif #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 #undef CPP_CPU_SPEC
#define CPP_CPU_SPEC "\ #define CPP_CPU_SPEC "\
%{mcpu=sparclet|mcpu=tsc701:-D__sparclet__} \ %{mcpu=sparclet|mcpu=tsc701:-D__sparclet__} \
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment