* Jason Wessel ([email protected]) wrote: > I built and linked a PPC application with -lust it gets a segmentation > fault before it ever gets to main(). >
Hi Jason, Before we dig further, what version of UST are you using ? Can you try with the version in the git HEAD at http://lttng.org/ust ? Thanks! Mathieu > 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 <ltt_vtrace>, > 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 <ltt_vtrace>, > probe_private=0x1002e070) at marker.c:799 > #1 0x0fd9a5f8 in ltt_marker_connect (channel=0xfdae034 "metadata", > mname=0xfdae050 "core_marker_format", pname=<value optimized out>) 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 <marker_probe_register+1888>: clrlwi r8,r28,16 > 0x0fd97b50 <marker_probe_register+1892>: sth r8,54(r31) > > 798 ret = 0; > 799 trace_mark(metadata, core_marker_id, > 0x0fd97b54 <marker_probe_register+1896>: lis r3,3 > 0x0fd97b58 <marker_probe_register+1900>: ori r3,r3,12120 > => 0x0fd97b5c <marker_probe_register+1904>: lbz r0,12(r3) > 0x0fd97b60 <marker_probe_register+1908>: li r24,1 > 0x0fd97b64 <marker_probe_register+1912>: cmpwi cr7,r0,0 > 0x0fd97b68 <marker_probe_register+1916>: beq+ cr7,0xfd97bf0 > <marker_probe_register+2052> > 0x0fd97b6c <marker_probe_register+1920>: li r0,4 > 0x0fd97b70 <marker_probe_register+1924>: li r4,0 > 0x0fd97b74 <marker_probe_register+1928>: stw r0,8(r1) > 0x0fd97b78 <marker_probe_register+1932>: addi r5,r1,24 > 0x0fd97b7c <marker_probe_register+1936>: 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. > > _______________________________________________ > ltt-dev mailing list > [email protected] > http://lists.casi.polymtl.ca/cgi-bin/mailman/listinfo/ltt-dev > -- Mathieu Desnoyers Operating System Efficiency R&D Consultant EfficiOS Inc. http://www.efficios.com _______________________________________________ ltt-dev mailing list [email protected] http://lists.casi.polymtl.ca/cgi-bin/mailman/listinfo/ltt-dev
