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.