This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug libobjc/64051] New: broken exception model detection in libobjc's configure
- From: "ossman at cendio dot se" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Mon, 24 Nov 2014 14:18:00 +0000
- Subject: [Bug libobjc/64051] New: broken exception model detection in libobjc's configure
- Auto-submitted: auto-generated
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64051
Bug ID: 64051
Summary: broken exception model detection in libobjc's
configure
Product: gcc
Version: 5.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: libobjc
Assignee: unassigned at gcc dot gnu.org
Reporter: ossman at cendio dot se
The configure script for libobjc tries to determine if the compiler is using
setjmp/longjmp (SJLJ) for exception handling. But it does this by checking the
output of the system compiler. Since libobjc will be executing on the target
system it should check the behaviour of the gcc that's in the process of being
built, not the host's compiler. It also cannot rely on that gcc being able to
execute (it might be a cross compile) so it really needs to look at variables
from other parts of the build.
This is the error message I get:
> checking for thread model used by GCC... posix
> checking for exception model to use...
> configure: error: unable to detect exception model
> make[1]: *** [configure-target-libobjc] Error 1
> make[1]: *** Waiting for unfinished jobs....
And in config.log:
> configure:11223: checking for thread model used by GCC
> configure:11226: result: posix
> configure:11236: checking for exception model to use
> configure:11267: i686-pc-linux-gnu-gcc --sysroot=/opt/cendio-build/arch/osx32 -c -x objective-c -fgnu-runtime -fobjc-exceptions -S conftest.c >&5
> i686-pc-linux-gnu-gcc: language objective-c not recognized
> i686-pc-linux-gnu-gcc: language objective-c not recognized
> i686-pc-linux-gnu-gcc: conftest.c: linker input file unused because linking not done
> configure:11270: $? = 0
> configure:11290: error: unable to detect exception model
i686-pc-linux-gnu-gcc is a compiler from the system that cross compiles from
x86_64 to i686. Fortunately it also doesn't support ObjC which made me spot
this error. Otherwise the test would have gone through, but with a result from
the wrong compiler.