[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: GCC-3.0, -static, and -shared-libgcc



On Sun, Jan 20, 2002 at 04:53:20PM -0500, Ben Collins wrote:
> > This fails
> > 
> >   g++-3.0 -o bin/program o/object1.o ... -static
> > 
> > because gcc-3.0 cannot find the libgcc_s.a file.
> > 
> >   /usr/bin/ld: cannot find -lgcc_s
> 
> It shouldn't be looking for libgcc_s.a, it should use libgcc.a (which is
> in /usr/lib/gcc-lib/..../).

I agree.

> The error seems to be in the specs file. In mine, I have:
> 
> *libgcc:
> %{shared-libgcc:-lgcc_s%M -lgcc}%{static-libgcc:-lgcc}%{!shared-libgcc:%{!static-libgcc:%{shared:-lgcc_s%M -lgcc}}}%{!shared-libgcc:%{!static-libgcc:%{!shared:-lgcc}}}
> 
> This pretty much decrypts into:
> 
> - If -shared-libgcc, then use -lgcc_s
> - If -static-libgcc, then use -lgcc
> - If not -static-libgcc or -shared-libgcc, and -shared, then use -lgcc_s
> - If not -static-libgcc or -shared-libgcc, and -static, then use -lgcc
> 
> 
> And that is exactly what it should be, and should work.

I'm not following you.  Are you saying that the specs file reads
correctly and is being interpreted incorrectly?



Reply to: