On Tue, Mar 31, 2015 at 12:14 PM, H.J. Lu <[email protected]> wrote:
> On Tue, Mar 31, 2015 at 9:09 AM, Jack Howarth <[email protected]>
> wrote:
>> H.J.,
>> Did you attach the correct version of the patch? I don't see
>> anything conditional on linux.
>> Jack
>
> My patch will build and install libgcc_nonshared.a for all targets. If you
> don't link against it, nothing is changed. On Linux, it is used via the
> init_spec change.
Isn't...
diff --git a/gcc/gcc.c b/gcc/gcc.c
index d956c36..3fbd549 100644
--- a/gcc/gcc.c
+++ b/gcc/gcc.c
@@ -1566,6 +1566,7 @@ init_spec (void)
if (in_sep && *p == '-' && strncmp (p, "-lgcc", 5) == 0)
{
init_gcc_specs (&obstack,
+ "-lgcc_nonshared "
"-lgcc_s"
#ifdef USE_LIBUNWIND_EXCEPTIONS
" -lunwind"
@@ -1591,6 +1592,7 @@ init_spec (void)
/* Ug. We don't know shared library extensions. Hope that
systems that use this form don't do shared libraries. */
init_gcc_specs (&obstack,
+ "libgcc_nonshared.a%s "
"-lgcc_s",
"libgcc.a%s",
"libgcc_eh.a%s"
problematic for Solaris? I am unfamiliar with the Solaris spec
handling but sol2.h doesn't seem to have any instances of -lgcc which
might imply they use the stock compiler invocation which will now have
a non-existent libgcc_nonshared static library.
Also, are you leaving the cpu symbols in libgcc.a on non-linux
targets? If not, the linkage failure reported in
https://gcc.gnu.org/ml/gcc-patches/2015-03/msg01668.html will occur,
no?
Jack
>
> --
> H.J.