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
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
it drops core with the message
Program received signal SIGILL, Illegal instruction.
and gdb gives a backtrace like
#0 0x0 in ?? () from (unknown load module)
#1 0xd3efcd54 in _wrap_print_vector (cv=0x20028148) at
#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
William F. Dowling
Institute for Scientific Information