From mboxrd@z Thu Jan 1 00:00:00 1970 From: jason.wessel@windriver.com (Jason Wessel) Date: Thu, 10 Feb 2011 17:45:20 -0600 Subject: [ltt-dev] Insight into crash on powerpc with ust-0.11 Message-ID: <4D547890.1030101@windriver.com> I built and linked a PPC application with -lust it gets a segmentation fault before it ever gets to main(). Breakpoint 1 at 0x10001b04: file src/main.c, line 196. (gdb) c Continuing. Program received signal SIGSEGV, Segmentation fault. 0x0fd97b5c in marker_probe_register (channel=0xfdae034 "metadata", name=0xfdae050 "core_marker_format", format=0x0, probe=0xfd9f6d4 , probe_private=0x1002e070) at marker.c:799 799 trace_mark(metadata, core_marker_id, (gdb) bt #0 0x0fd97b5c in marker_probe_register (channel=0xfdae034 "metadata", name=0xfdae050 "core_marker_format", format=0x0, probe=0xfd9f6d4 , probe_private=0x1002e070) at marker.c:799 #1 0x0fd9a5f8 in ltt_marker_connect (channel=0xfdae034 "metadata", mname=0xfdae050 "core_marker_format", pname=) at marker-control.c:187 #2 0x0fd9a740 in init_marker_control () at marker-control.c:416 #3 0x0fdabc50 in __do_global_ctors_aux () from /ord-gp11/jwessel/42/lemon_p2020/export/dist/usr/lib/libust.so.0 #4 0x0fd94a84 in _init () from /ord-gp11/jwessel/42/lemon_p2020/export/dist/usr/lib/libust.so.0 #5 0x0ffceaf8 in call_init (l=0x48000a70, argc=1, argv=0xbfe2cc34, env=0xbfe2cc3c) at dl-init.c:70 #6 0x0ffcec60 in _dl_init (main_map=0xfff08e8, argc=1, argv=0xbfe2cc34, env=0xbfe2cc3c) at dl-init.c:134 #7 0x0ffd67d4 in _start () from /ord-gp11/jwessel/42/lemon_p2020/export/dist/lib/ld.so.1 Backtrace stopped: frame did not save the PC (gdb) With some disassembly: (gdb) disas /m $pc-16,$pc+16 Dump of assembler code from 0xfd97b4c to 0xfd97b6c: 797 entry->event_id = ret; 0x0fd97b4c : clrlwi r8,r28,16 0x0fd97b50 : sth r8,54(r31) 798 ret = 0; 799 trace_mark(metadata, core_marker_id, 0x0fd97b54 : lis r3,3 0x0fd97b58 : ori r3,r3,12120 => 0x0fd97b5c : lbz r0,12(r3) 0x0fd97b60 : li r24,1 0x0fd97b64 : cmpwi cr7,r0,0 0x0fd97b68 : beq+ cr7,0xfd97bf0 0x0fd97b6c : li r0,4 0x0fd97b70 : li r4,0 0x0fd97b74 : stw r0,8(r1) 0x0fd97b78 : addi r5,r1,24 0x0fd97b7c : stw r0,12(r1) I am assuming there is something wrong with the trace_mark macro but I had not dug into how it actually works, and thought I might ask here first if anyone had any ideas. Thanks, Jason.