This is the mail archive of the
gcc-help@gcc.gnu.org
mailing list for the GCC project.
Re: libgcc_s : What links to it and why?
- From: Ian Lance Taylor <iant at google dot com>
- To: Jeff Blaine <jblaine at mitre dot org>
- Cc: gcc-help at gcc dot gnu dot org
- Date: 02 Nov 2006 08:26:59 -0800
- Subject: Re: libgcc_s : What links to it and why?
- References: <454A1ACA.7000800@mitre.org>
Jeff Blaine <jblaine@mitre.org> writes:
> I didn't get an answer to my previous long post about the
> problem I am having, so I figured I would try asking
> more direct questions:
>
> What, in GCC, makes the determination to link in -lgcc?
-lgcc is always linked in.
I assume you are asking: what decides whether to link it statically or
dynamically? That is controlled by the -static-libgcc and
-shared-libgcc options, q.v.
The g++ driver program always adds -shared-libgcc. So if you link
with g++, you will normally get a shared libgcc (unless you use the
-static-libgcc option, of course).
> Why am I unable to get around shared linking of -lgcc?
> I have tried both of the following and neither works
> if I have a libgcc_s.so
>
> a) In 'specs', specify "-Bstatic -lgcc -Bdynamic" for
> the 'libgcc:' directive.
>
> b) In 'specs', specify "/my/static/libgcc.a" for the
> 'libgcc:' directive.
That is odd. It sounds like your specs file is not being read. I'm
not sure why not.
Ian