diff options
author | Iain Sandoe <iains@gcc.gnu.org> | 2010-11-23 15:42:41 +0000 |
---|---|---|
committer | Iain Sandoe <iains@gcc.gnu.org> | 2010-11-23 15:42:41 +0000 |
commit | 7f814c0bb0216cf3c6929ae28bffcc4620ea2fef (patch) | |
tree | 4043328cc76caf50ecd8b45580da613d43bd65cb /gcc/config/darwin.h | |
parent | 90eb3e33b896f57ec061b2404eab6de9e984d7a2 (diff) | |
download | gcc-7f814c0bb0216cf3c6929ae28bffcc4620ea2fef.tar.gz |
update darwin to use link_gcc_c_sequence.
gcc:
* config/darwin.h (LINK_COMMAND_SPEC_A): Use %(link_gcc_c_sequence).
LINK_GCC_C_SEQUENCE_SPEC: Define new macro.
From-SVN: r167084
Diffstat (limited to 'gcc/config/darwin.h')
-rw-r--r-- | gcc/config/darwin.h | 20 |
1 files changed, 13 insertions, 7 deletions
diff --git a/gcc/config/darwin.h b/gcc/config/darwin.h index 086e428f2d4..b93f5884ac5 100644 --- a/gcc/config/darwin.h +++ b/gcc/config/darwin.h @@ -160,10 +160,9 @@ extern GTY(()) int darwin_ms_struct; " %{pthread:-D_REENTRANT}" /* This is mostly a clone of the standard LINK_COMMAND_SPEC, plus - precomp, libtool, and fat build additions. Also we - don't specify a second %G after %L because libSystem is - self-contained and doesn't need to link against libgcc.a. */ -/* In general, random Darwin linker flags should go into LINK_SPEC + precomp, libtool, and fat build additions. + + In general, random Darwin linker flags should go into LINK_SPEC instead of LINK_COMMAND_SPEC. The command spec is better for specifying the handling of options understood by generic Unix linkers, and for positional arguments like libraries. */ @@ -180,10 +179,12 @@ extern GTY(()) int darwin_ms_struct; %{L*} %(link_libgcc) %o %{fprofile-arcs|fprofile-generate*|coverage:-lgcov} \ %{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" + %{!nostdlib:%{!nodefaultlibs:\ + %(link_ssp) %(link_gcc_c_sequence)\ + }}\ + %{!A:%{!nostdlib:%{!nostartfiles:%E}}} %{T*} %{F*} }}}}}}}" -#define DSYMUTIL "dsymutil" +#define DSYMUTIL "\ndsymutil" #define DSYMUTIL_SPEC \ "%{!fdump=*:%{!fsyntax-only:%{!c:%{!M:%{!MM:%{!E:%{!S:\ @@ -192,6 +193,11 @@ extern GTY(()) int darwin_ms_struct; #define LINK_COMMAND_SPEC LINK_COMMAND_SPEC_A DSYMUTIL_SPEC +/* We only want one instance of %G, since libSystem (Darwin's -lc) does not depend + on libgcc. */ +#undef LINK_GCC_C_SEQUENCE_SPEC +#define LINK_GCC_C_SEQUENCE_SPEC "%G %L" + #ifdef TARGET_SYSTEM_ROOT #define LINK_SYSROOT_SPEC \ "%{isysroot*:-syslibroot %*;:-syslibroot " TARGET_SYSTEM_ROOT "}" |