diff options
author | kan <kan@FreeBSD.org> | 2007-05-28 23:02:56 +0000 |
---|---|---|
committer | kan <kan@FreeBSD.org> | 2007-05-28 23:02:56 +0000 |
commit | 236631e30eace561bdebc39d2cf840bd0b3d9291 (patch) | |
tree | 6a65dd9728aa5462bf9b785419fcb40146f1aa3f /contrib | |
parent | 679d42f237374c91d66ede421e63e1579c98404a (diff) | |
download | FreeBSD-src-236631e30eace561bdebc39d2cf840bd0b3d9291.zip FreeBSD-src-236631e30eace561bdebc39d2cf840bd0b3d9291.tar.gz |
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.
Diffstat (limited to 'contrib')
-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 fa26bfc..ddf2f49 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); |