普通のやつらの下を行け: C でバックトレース表示 - bkブログ
こちらを参考に、sh4でもバックトレースできたらいいなと思ったが、だめっぽかった。
#include <stdio.h> void hoge(){ char *p=1; printf("%s\n",p); } int main(){ hoge(); return 0; }
$ export LD_PRELOAD=/lib/libSegFault.so $ export SEGFAULT_SIGNALS=all $ ./a.out *** Segmentation fault Register dump: R0: 00000000 R1: 00000000 R2: 00000000 R3: 000244ca R4: 00000001 R5: 0040073c R6: 00000000 R7: 7bdbe9c8 R8: 00000000 R9: 00000001 R10: 004005e0 R11: 2969c548 R12: 296a99fc R13: 00000000 R14: 7bdbe50c R15: 7bdbe50c MACL: 073c387e MACH: 00000148 PC: 29608e14 PR: 295e4936 GBR: 296ad440 SR: 00000000 FR0: 40fcf827 FR1: edfb7ee0 FR2: 408ff800 FR3: 00000000 FR4: 41e00000 FR5: 00000000 FR6: 00000000 FR7: 00000000 FR8: 00000000 FR9: 00000000 FR10: 00000000 FR11: 00000000 FR12: 00000000 FR13: 00000000 FR14: 00000000 FR15: 00000000 XR0: 00000000 XR1: 00000000 XR2: 00000000 XR3: 00000000 XR4: 00000000 XR5: 00000000 XR6: 00000000 XR7: 00000000 XR8: 00000000 XR9: 00000000 XR10: 00000000 XR11: 00000000 XR12: 00000000 XR13: 00000000 XR14: 00000000 XR15: 00000000 FPSCR: 00080004 FPUL: 0001cf82 Backtrace: [0x7bdbdc28] Memory map: 00400000-00401000 r-xp 00000000 03:02 176002 /tmp/a.out 00410000-00411000 rw-p 00000000 03:02 176002 /tmp/a.out 29558000-2956b000 r-xp 00000000 03:02 16247 /lib/ld-2.3.5.so 2956b000-2956c000 r-xp 2956b000 00:00 0 [vdso] 2956c000-2956d000 rw-p 2956c000 00:00 0 2957b000-2957c000 rw-p 00013000 03:02 16247 /lib/ld-2.3.5.so 2957c000-2957f000 r-xp 00000000 03:02 16050 /lib/libSegFault.so 2957f000-2958e000 ---p 00003000 03:02 16050 /lib/libSegFault.so 2958e000-2958f000 rw-p 00002000 03:02 16050 /lib/libSegFault.so 29590000-2959f000 r-xp 00000000 03:02 16260 /lib/libgcc_s.so.1 2959f000-295ae000 ---p 0000f000 03:02 16260 /lib/libgcc_s.so.1 295ae000-295af000 rw-p 0000e000 03:02 16260 /lib/libgcc_s.so.1 295b0000-2968c000 r-xp 00000000 03:02 16046 /lib/tls/libc-2.3.5.so 2968c000-2969c000 ---p 000dc000 03:02 16046 /lib/tls/libc-2.3.5.so 2969c000-296aa000 rw-p 000dc000 03:02 16046 /lib/tls/libc-2.3.5.so 296aa000-296ae000 rw-p 296aa000 00:00 0 7bdaa000-7bdbf000 rwxp 7bdaa000 00:00 0 [stack] Segmentation fault