This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c++/12485] New: MIPS -mxgot causes "bad" exception handling code.
- From: "ddaney at avtrex dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 1 Oct 2003 21:48:34 -0000
- Subject: [Bug c++/12485] New: MIPS -mxgot causes "bad" exception handling code.
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12485
Summary: MIPS -mxgot causes "bad" exception handling code.
Product: gcc
Version: 3.4
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: ddaney at avtrex dot com
CC: gcc-bugs at gcc dot gnu dot org,rsandifo at redhat dot
com
GCC build triplet: i686-pc-linux-gnu
GCC host triplet: i686-pc-linux-gnu
GCC target triplet: mipsisa32el-linux
$ mipsel-linux-gcc --version
mipsel-linux-gcc (GCC) 3.4 20030930 (experimental)
When compiling libgcj for the mipsisa32el-linux target I have to use -mxgot to
avoid GOT overflow problems.
However the use of -mxgot results in a reference to "__cxa_call_unexpected" to
be generated which in turn requires linking against libsupc++ and libstdc++.
The use of libgcj should not cause dependencies on these extra libraries.
I reduced the problem to the test case I will attach.
When I compile like this:
[daney@dl proton]$ mipsel-linux-gcc -fnon-call-exceptions -mxgot -c natFileXX.cc
[daney@dl proton]$ mipsel-linux-nm natFileXX.o
U __cxa_call_unexpected
00000000 V DW.ref.__gxx_personality_v0
U _gp_disp
U __gxx_personality_v0
00000000 W stat
U _Unwind_Resume
U __xstat
00000000 T _ZN4File5_statEi
00000090 T _ZN4File7canReadEv
00000000 V _ZTI4File
00000000 V _ZTS4File
00000000 V _ZTV4File
U _ZTVN10__cxxabiv117__class_type_infoE
I get a reference to "__cxa_call_unexpected" (BAD).
If I compile like this:
[daney@dl proton]$ mipsel-linux-gcc -fnon-call-exceptions -c natFileXX.cc
[daney@dl proton]$ mipsel-linux-nm natFileXX.o
00000000 V DW.ref.__gxx_personality_v0
U _gp_disp
U __gxx_personality_v0
00000000 W stat
U __xstat
00000000 T _ZN4File5_statEi
00000088 T _ZN4File7canReadEv
00000000 V _ZTI4File
00000000 V _ZTS4File
00000000 V _ZTV4File
U _ZTVN10__cxxabiv117__class_type_infoE
I get no references to "__cxa_call_unexpected" (GOOD).