Hi all,
I've been having some frustration debugging some swig-generated code
under AIX. Can anyone help?
This is the situation: I am running a trivial perl program which
dynamically
loads and calls some code in a shared library compiled from C++. The
compile/link of the library was without error or warning (g++ 2.95.2
comiler, AIX 4.2.1 ld linker). When perl (5.005.03) tries to execute
the code,
it drops core with the message
Program received signal SIGILL, Illegal instruction.
and gdb gives a backtrace like
(gdb) bt
#0 0x0 in ?? () from (unknown load module)
#1 0xd3efcd54 in _wrap_print_vector (cv=0x20028148) at
SwigStringTests_wrap.cpp:588
#2 0xd3c34344 in Perl_pp_entersub ()
#3 0xd3c45f80 in Perl_runops_standard ()
#4 0xd3bedb70 in perl_run ()
#5 0x100002b4 in main ()
#6 0x10000178 in __start ()
The address 0x0 at the top of the stack frame must be a clue, but I
don't know what to conclude. Is this telling me there was in fact a
problem with the link? (The loadmap looked fine, but I'm fairly
inexperienced at reading that.) How can I further pin down the problem?
Interestingly, the identical code works fine under Solaris.
If you have any idea at all, or suggestions of resources, I'd be very
grateful.
Thanks,
Will
--
William F. Dowling
Institute for Scientific Information
215-386-0100 x-1156