This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: libgomp failures on powerpc-apple-darwin8
Jakub,
So shouldn't we either XFAIL pr30703.C on *-apple-darwin* or
specify that the -shared-libgcc flag should be used on that
target for pr30703.C?
Jack
On Wed, Mar 14, 2007 at 10:11:35AM +0100, Jakub Jelinek wrote:
> On Tue, Mar 13, 2007 at 10:28:41PM -0400, Jack Howarth wrote:
> > Interestingly, while...
> >
> > gcc-4 pr30703.C -fmessage-length=0 -fopenmp -O0 -L/sw/lib/gcc4.2/lib -lgomp -lstdc++ -lm -m32 -o ./pr30703.exe
> > /usr/bin/ld: Undefined symbols:
> > __Unwind_Resume
> > collect2: ld returned 1 exit status
> >
> > fails on powerpc-apple-darwin8....
> >
> > gcc-4 pr30703.C -fmessage-length=0 -fopenmp -O0 -L/sw/lib/gcc4.2/lib -lgomp -lstdc++ -lm -m32 -shared-libgcc -o ./pr30703.exe
> >
> > ...links fine. On powerpc-apple-darwin8, libgcc.a is missing __Unwind_Resume. I wonder why this doesn't show up
> > on any other architectures?
>
> Because libstdc++.so links against libgcc_s.so.1 which exports that symbol
> (was linked with -shared-libgcc). Or, on ELFish targets that use recent
> binutils when neither -shared-libgcc nor -static-libgcc is used,
> libgcc_s.so.1 is linked in --as-needed.
> libgcc.a doesn't contain the unwinder on purpose, it is only in libgcc_s.so
> and libgcc_eh.a, so that every binary or library doesn't have its own copy
> of the unwinder (which causes severe problems).
>
> Jakub