From 7c12672aacb73a64f8a0a28fd91450fb97055ca9 Mon Sep 17 00:00:00 2001 From: Iain Sandoe Date: Mon, 19 Jul 2010 09:11:12 +0000 Subject: allow darwin branch island control depening on system version * config/i386/darwin.h: Define darwin_emit_branch_islands. (TARGET_MACHO_BRANCH_ISLANDS): New. (FUNCTION_PROFILER): Use TARGET_MACHO_BRANCH_ISLANDS. * config/i386/i386.h (TARGET_MACHO_BRANCH_ISLANDS): Define a default value. * config/i386/i386.c (output_pic_addr_const): Do not emit branch islands unless TARGET_MACHO_BRANCH_ISLANDS is set. (x86_output_mi_thunk): Adjust symbol creation. * config/rs6000/darwin.h: Define darwin_emit_branch_islands. Remove out of date comment. * config/rs6000/rs6000.c (print_operand): Adjust symbol. DARWIN_LINKER_GENERATES_ISLANDS: Remove. DARWIN_GENERATE_ISLANDS: Ditto. (output_call): Do not emit branch islands unless darwin_emit_branch_islands is set. * config/darwin.c: Declare darwin_emit_branch_islands. (machopic_indirect_data_reference): Do not emit unless darwin_emit_branch_islands is set. (darwin_override_options): Set darwin_emit_branch_islands where it is needed. * config/darwin9.h DARWIN_LINKER_GENERATES_ISLANDS: Remove. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@162299 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/config/darwin9.h | 3 --- 1 file changed, 3 deletions(-) (limited to 'gcc/config/darwin9.h') diff --git a/gcc/config/darwin9.h b/gcc/config/darwin9.h index 7a073742cb6..f1527105dee 100644 --- a/gcc/config/darwin9.h +++ b/gcc/config/darwin9.h @@ -44,9 +44,6 @@ along with GCC; see the file COPYING3. If not see /* libSystem contains unwind information for signal frames. */ #define DARWIN_LIBSYSTEM_HAS_UNWIND -/* The linker can generate branch islands. */ -#define DARWIN_LINKER_GENERATES_ISLANDS 1 - #undef ASM_OUTPUT_ALIGNED_COMMON #define ASM_OUTPUT_ALIGNED_COMMON(FILE, NAME, SIZE, ALIGN) \ do { \ -- cgit v1.2.3 From bb662d85ceb6cacaa4ab64b3289e5e757d75dcab Mon Sep 17 00:00:00 2001 From: Iain Sandoe Date: Thu, 22 Jul 2010 08:02:20 +0000 Subject: * config/darwin.h (LINK_COMMAND_SPEC): Split into... (LINK_COMMAND_SPEC_A): New. (DSYMUTIL): New. (DSYMUTIL_SPEC): New. * config/darwin9.h (LINK_COMMAND_SPEC): Remove. (DSYMUTIL_SPEC): Update for darwin >= 9 requirements. -This line, and those below, will be ignored-- M ChangeLog M config/darwin.h M config/darwin9.h git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@162403 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/config/darwin9.h | 21 +++++---------------- 1 file changed, 5 insertions(+), 16 deletions(-) (limited to 'gcc/config/darwin9.h') diff --git a/gcc/config/darwin9.h b/gcc/config/darwin9.h index f1527105dee..c9f33ea739b 100644 --- a/gcc/config/darwin9.h +++ b/gcc/config/darwin9.h @@ -24,22 +24,11 @@ along with GCC; see the file COPYING3. If not see #define DARWIN_PREFER_DWARF /* Since DWARF2 is default, conditions for running dsymutil are different. */ -#undef LINK_COMMAND_SPEC -#define LINK_COMMAND_SPEC "\ -%{!fdump=*:%{!fsyntax-only:%{!c:%{!M:%{!MM:%{!E:%{!S:\ - %(linker) %l %X %{d} %{s} %{t} %{Z} \ - %{A} %{e*} %{m} %{r} %{x} \ - %{o*}%{!o:-o a.out} \ - %{!A:%{!nostdlib:%{!nostartfiles:%S}}} \ - %{L*} %(link_libgcc) %o %{fprofile-arcs|fprofile-generate*|coverage:-lgcov} \ - %{flto} %{fwhopr} \ - %{fopenmp|ftree-parallelize-loops=*: \ - %{static|static-libgcc|static-libstdc++|static-libgfortran: libgomp.a%s; : -lgomp } } \ - %{!nostdlib:%{!nodefaultlibs: %(link_ssp) %G %L }} \ - %{!A:%{!nostdlib:%{!nostartfiles:%E}}} %{T*} %{F*} }}}}}}}\n\ -%{!fdump=*:%{!fsyntax-only:%{!c:%{!M:%{!MM:%{!E:%{!S:\ - %{.c|.cc|.C|.cpp|.cp|.c++|.cxx|.CPP|.m|.mm: \ - %{g*:%{!gstabs*:%{!g0: dsymutil %{o*:%*}%{!o:a.out}}}}}}}}}}}}" +#undef DSYMUTIL_SPEC +#define DSYMUTIL_SPEC \ + "%{!fdump=*:%{!fsyntax-only:%{!c:%{!M:%{!MM:%{!E:%{!S:\ + %{.c|.cc|.C|.cpp|.cp|.c++|.cxx|.CPP|.m|.mm|.s: \ + %{g*:%{!gstabs*:%{!g0: " DSYMUTIL " %{o*:%*}%{!o:a.out}}}}}}}}}}}}" /* libSystem contains unwind information for signal frames. */ #define DARWIN_LIBSYSTEM_HAS_UNWIND -- cgit v1.2.3