diff options
Diffstat (limited to 'gcc/gcc.c')
-rw-r--r-- | gcc/gcc.c | 7 |
1 files changed, 7 insertions, 0 deletions
@@ -1533,6 +1533,12 @@ init_gcc_specs (struct obstack *obstack, const char *shared_name, buf = concat ("%{static|static-libgcc:", static_name, " ", eh_name, "}%{!static:%{!static-libgcc:", +#ifdef HAVE_LD_AS_NEEDED + "%{!shared-libgcc:", static_name, + " --as-needed ", shared_name, " --no-as-needed}" + "%{shared-libgcc:", shared_name, "%{!shared: ", static_name, + "}", +#else "%{!shared:%{!shared-libgcc:", static_name, " ", eh_name, "}%{shared-libgcc:", shared_name, " ", static_name, "}}%{shared:", @@ -1542,6 +1548,7 @@ init_gcc_specs (struct obstack *obstack, const char *shared_name, #else shared_name, #endif +#endif "}}}", NULL); obstack_grow (obstack, buf, strlen (buf)); |