diff options
author | Matt Austern <austern@apple.com> | 2004-02-19 05:52:38 +0000 |
---|---|---|
committer | Matt Austern <austern@gcc.gnu.org> | 2004-02-19 05:52:38 +0000 |
commit | 328163dc0a1c6553bd8c40f91b21efb9b4351a80 (patch) | |
tree | d63bb9e0542c8e0ca57b196860b6d085ff143344 /gcc/gcc.c | |
parent | 23aa7aba4a93d068bc75ed006066005e82c25c90 (diff) | |
download | gcc-328163dc0a1c6553bd8c40f91b21efb9b4351a80.zip gcc-328163dc0a1c6553bd8c40f91b21efb9b4351a80.tar.gz gcc-328163dc0a1c6553bd8c40f91b21efb9b4351a80.tar.bz2 |
gcc.c (LIBGCC_SPEC): If REAL_LIBGCC_SPEC is defined...
* gcc.c (LIBGCC_SPEC): If REAL_LIBGCC_SPEC is defined, and
LIBGCC_SPEC isn't, set LIBGCC_SPEC to REAL_LIBGCC_SPEC.
(init_gcc_spec): Don't define or call if REAL_LIBGCC_SPEC is
defined. Instead use REAL_LIBGCC_SPEC, unmodifed, as the libgcc
spec string.
* doc/tm.texi (REAL_LIBGCC_SPEC): Document.
From-SVN: r78072
Diffstat (limited to 'gcc/gcc.c')
-rw-r--r-- | gcc/gcc.c | 10 |
1 files changed, 6 insertions, 4 deletions
@@ -345,7 +345,7 @@ static int execute (void); static void alloc_args (void); static void clear_args (void); static void fatal_error (int); -#ifdef ENABLE_SHARED_LIBGCC +#if defined(ENABLE_SHARED_LIBGCC) && !defined(REAL_LIBGCC_SPEC) static void init_gcc_specs (struct obstack *, const char *, const char *, const char *); #endif @@ -598,7 +598,9 @@ proper position among the other output files. */ /* config.h can define LIBGCC_SPEC to override how and when libgcc.a is included. */ #ifndef LIBGCC_SPEC -#if defined(LINK_LIBGCC_SPECIAL) || defined(LINK_LIBGCC_SPECIAL_1) +#if defined(REAL_LIBGCC_SPEC) +#define LIBGCC_SPEC REAL_LIBGCC_SPEC +#elif defined(LINK_LIBGCC_SPECIAL) || defined(LINK_LIBGCC_SPECIAL_1) /* Have gcc do the search for libgcc.a. */ #define LIBGCC_SPEC "libgcc.a%s" #else @@ -1522,7 +1524,7 @@ static int processing_spec_function; /* Add appropriate libgcc specs to OBSTACK, taking into account various permutations of -shared-libgcc, -shared, and such. */ -#ifdef ENABLE_SHARED_LIBGCC +#if defined(ENABLE_SHARED_LIBGCC) && !defined(REAL_LIBGCC_SPEC) static void init_gcc_specs (struct obstack *obstack, const char *shared_name, const char *static_name, const char *eh_name) @@ -1589,7 +1591,7 @@ init_spec (void) next = sl; } -#ifdef ENABLE_SHARED_LIBGCC +#if defined(ENABLE_SHARED_LIBGCC) && !defined(REAL_LIBGCC_SPEC) /* ??? If neither -shared-libgcc nor --static-libgcc was seen, then we should be making an educated guess. Some proposed heuristics for ELF include: |