diff options
author | Alexander Kabaev <kan@FreeBSD.org> | 2007-05-28 23:02:56 +0000 |
---|---|---|
committer | Alexander Kabaev <kan@FreeBSD.org> | 2007-05-28 23:02:56 +0000 |
commit | 7a6bf861d6c49bee53dfe967b555a5abe8df5638 (patch) | |
tree | 6a65dd9728aa5462bf9b785419fcb40146f1aa3f /contrib/gcc/gcc.c | |
parent | 10faa568707403e7f72d9e20467c2d06b5517e43 (diff) |
Disable shared libgcc use for profiled builds. GNU linker pulls symbols
out of libgcc_s.so.1 somehow and fails to record DT_NEEED dependency
when linking with profiled libraries despite --ld-as-needed option.
Notes
Notes:
svn path=/head/; revision=170077
Diffstat (limited to 'contrib/gcc/gcc.c')
-rw-r--r-- | contrib/gcc/gcc.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/contrib/gcc/gcc.c b/contrib/gcc/gcc.c index fa26bfcec8b0..ddf2f49205e6 100644 --- a/contrib/gcc/gcc.c +++ b/contrib/gcc/gcc.c @@ -1635,7 +1635,8 @@ init_gcc_specs (struct obstack *obstack, const char *shared_name, { char *buf; - buf = concat ("%{static|static-libgcc:", static_name, " ", eh_name, "}" + buf = concat ("%{pg:", static_name, " ", eh_name, "} %{!pg:", + "%{static|static-libgcc|pg:", static_name, " ", eh_name, "}" "%{!static:%{!static-libgcc:" #if USE_LD_AS_NEEDED "%{!shared-libgcc:", @@ -1658,7 +1659,7 @@ init_gcc_specs (struct obstack *obstack, const char *shared_name, "%{shared:", shared_name, "}" #endif #endif - "}}", NULL); + "}}}", NULL); obstack_grow (obstack, buf, strlen (buf)); free (buf); |