gnustep-dev
[Top][All Lists]
Advanced

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

Re: Crash with new-style exceptions on FreeBSD amd64


From: Andrew Pinski
Subject: Re: Crash with new-style exceptions on FreeBSD amd64
Date: Mon, 19 Mar 2007 02:12:25 -0700

On 3/19/07, Michael Gardner <address@hidden> wrote:
Also, regarding the problem configuring gnustep-make with
--enable-native-objc-exceptions: I emailed the port's maintainer, and
he mentioned that he got the same result on his FreeBSD system. It
looks like a gcc bug to me, but can anyone confirm it on a non-FreeBSD
OS? Specifically, if you look at the output of ldd for a binary
compiled from a .c file using '-x objective-c', libgcc is listed after
libc. But if you rename the same file with a .m extension and compile
it without the -x option, libgcc is listed before libc.

Again this is the same problem as listed in
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31089

Yes the bug report is against 4.3 but don't let that fool you.  Also
the reason why libgcc is listed after libc in the case with "-x
objective-c" is that shared libgcc is not used by default unless gcc
sees a objective-C file, in this case it matches with .m.  Adding
-shared-libgcc fixes the problem by forcing the shared libgcc to link
to your program (instead of indirectly from a library).

The way this works for Linux is slightly different and most likely no
one else sees this, the standard specs for libgcc for linux, uses the
option --as-needed which forces you to link to the shared libgcc if it
is needed for eh (assuming your binutils is new enough).  Maybe the
specs for libgcc for FreeBSD needs to be updated for this new binutils
options also and FreeBSD's binutils also updated.


-- Pinski




reply via email to

[Prev in Thread] Current Thread [Next in Thread]