Inconsistant exception API: `libgcc_s` and `cc1` don't agree

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

 



I may have though `configure` erroneously transmitted the exception API
option, but that's not just that, that's also inconsistent.

`libgcc_s` is built with a mixture of SJLJ and ZCX exception API, and `cc1`
is built to expect ZCX exception API.

Here is the error with which the build terminates:

    libppl_c.so: undefined reference to `_Unwind_Resume@GCC_3.0'
    libstdc++.so.6: undefined reference to
`_Unwind_Resume_or_Rethrow@GCC_3.3'
    libstdc++.so.6: undefined reference to `_Unwind_RaiseException@GCC_3.0'

Here is what was built in `libgcc_s`:

    $ nm -D build/prev-gcc/libgcc_s.so.1 | grep _Unwind_
    00015d44 T _Unwind_Backtrace
    00015d24 T _Unwind_DeleteException
    00015aa4 T _Unwind_FindEnclosingFunction
    00015504 T _Unwind_Find_FDE
    00015a30 T _Unwind_GetCFA
    00015aa8 T _Unwind_GetDataRelBase
    00015a20 T _Unwind_GetGR
    00015a58 T _Unwind_GetIP
    00015a64 T _Unwind_GetIPInfo
    00015a94 T _Unwind_GetLanguageSpecificData
    00015aa0 T _Unwind_GetRegionStart
    00015aac T _Unwind_GetTextRelBase
    00015a44 T _Unwind_SetGR
    00015a84 T _Unwind_SetIP
    00015ba0 T _Unwind_SjLj_ForcedUnwind
    00015ab0 T _Unwind_SjLj_RaiseException
    00015868 T _Unwind_SjLj_Register
    00015c1c T _Unwind_SjLj_Resume
    00015c9c T _Unwind_SjLj_Resume_or_Rethrow
    000158d8 T _Unwind_SjLj_Unregister

There's an inconsistency.

Configuration was run as:

    ../source/configure                 \
    --build=i386-linux-gnu              \
    --disable-build-with-cxx            \
    --disable-coverage                  \
    --disable-gather-detailed-mem-stats \
    --disable-gc-debug                  \
    --disable-gnu-unique-object         \
    --disable-libquadmath               \
    --disable-libssp                    \
    --disable-linker-build-id           \
    --disable-multilib                  \
    --disable-nls                       \
    --disable-plugin                    \
    --enable-languages=c                \ logs-and-others.tar.xz
<http://gcc.1065356.n5.nabble.com/file/n931332/logs-and-others.tar.xz>  
    --enable-sjlj-exceptions            \
    --enable-targets=x86                \
    --enable-threads=posix              \
    --prefix=/home/yannick/apps/gcc-$VERSION/installed \
    --program-suffix=-$VERSION          \
    -v                                  \
    --with-sysroot=/                    \
    --with-system-zlib                  \

Note I added `--disable-gnu-unique-object`, as I though this was the cause
of the error, but it solved nothing. The same error with and without
`--disable-gnu-unique-object`.

I'm attaching `logs-and-others.tar.xz` to this message, an archive
containing all logs, stderr/stdout listing, among others stuffs.

I will try with `--disable-sjlj-exceptions`, although I was expecting to get
Setjump/Longjump exception mechanism (for the Ada compiler).




--
View this message in context: http://gcc.1065356.n5.nabble.com/Inconsistant-exception-API-libgcc-s-and-cc1-don-t-agree-tp931332.html
Sent from the gcc - Help mailing list archive at Nabble.com.




[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux