This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug libobjc/64051] New: broken exception model detection in libobjc's configure


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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]