This is the mail archive of the crossgcc@sources.redhat.com mailing list for the crossgcc project.

See the CrossGCC FAQ for lots more information.


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

Re: _gxx_personality_sj0 undefined.


Richard Slaughter wrote:
> 
> Hi All,
> I've built the arm-elf tool chain with the following
> gcc 3.0.2 release

 Me too...

> binutil 2.11.92.0.7

 Binutils-2.10.1 here probably...

> newlib-1.9.0

 No influence to this problem...

> When I build the following  C++ program I get undefined reference to
> _gxx_personality_sj0

 I don't get it... (With a fixed one)

> file t.hpp
> class foo
> {
> public:
> foo(void);
> ~foo(void);
> void test(void);
> }   <-------------- ?????

 My G++ compiler needs a semicolon after the '}', probably the C++
standard too. This bug causes a misleading error message with G++
while for instance BC++ 4.52 doesn't give any error or warning...

> file t.cpp
> #include "t.hpp"
> foo::foo(void)
> {;}
> foo::~foo(void)
> {;}
> void foo::test(void)
> {;}
> 
> file tt.cpp
> #include "t.hpp"
> int main(void)
> {
> foo k;
> while(1)
>     k.test();
> }

 Compiling the '.cpp's separately and linking with 'g++', didn't give the
error...
 
> If all the files listed are place in the same source file I don't get the
> undefined reference to _gxx_personality_sj0.

 This is a undefined symbol in the 'tt.o' and the 'libstdc++.a' has it resolved
in 'eh_personality.o' (the source in 'libstdc++-v3/libsupc++').

> Any suggestions?

 Just check whether your 'libstdc++.a' has it resolved (using 'nm' or something)
and then blame either

  - your libstdc++-v3 build having failed (not resolved)
or
  - your '2.11.92.0.7' linker not functioning (resolved there)

 I build all my compilers under Linux, the Win32-hosted ones too, so it may be
possible that the "nice and beautiful" Windows/Cygwin-environment Redhat/Cygnus
pushes as their preferred "Unix-environment" for Win32-host-builds (not their
Linux as someone could easily think...) had somehow caused the libstdc++-v3 build
to fail... (BTW, neither I normally use Cygwin as the host but Mingw...)

Cheers, Kai


------
Want more information?  See the CrossGCC FAQ, http://www.objsw.com/CrossGCC/
Want to unsubscribe? Send a note to crossgcc-unsubscribe@sourceware.cygnus.com


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