[Ltrace-devel] FC5 ltrace sigsegvs traced process on ppc

Petr Machata pmachata at redhat.com
Wed Jun 14 11:20:19 UTC 2006


On Wed, 2006-06-14 at 14:58 +1000, Ian Wienand wrote:
> On Tue, Jun 13, 2006 at 05:16:32PM +0200, Petr Machata wrote:
> > So maybe it has something to do with PLT translation?
> 
> Ok, we got into a crazy situation with outstanding branch merges.
> 
> I just took what is my best guess at Paul's work and merged in into
> the trunk (and bumped the version).  This has probably broken PPC, but
> at least now we can now work on the same thing.
> 
> Can you try this with the latest SVN please, and we'll take it from
> there?

I had to bend it a little bit to compile it, NOP was defined only for
PPC64 mode.  Other than that:

* ltrace built for ppc64: works for 32bit fc5+fc4 testing binaries.
Traces itself and other 64bit binaries quite fine.
* ltrace built for ppc: works for fc4 version, fc5 version doesn't
coredump, but also doesn't trace.  Debug run is attached.

I failed to mention that it's ppc problem in my previous report.  ppc64
version seems to work, it passes testsuite; ltrace built for ppc is
broken.

Anyway, I'll pick up trunk and will work from here.

> -i

Thanks,
PM
-------------- next part --------------
# ./ltrace -d ~/x-pure5
DEBUG: read_config_file.c:182: read_config_file(): Reading config file `/usr/local/etc/ltrace.conf'...
DEBUG: read_config_file.c:182: read_config_file(): Reading config file `/root/.ltrace.conf'...
DEBUG: elf.c:38: do_init_elf(): Reading ELF from /root/x-pure5...
DEBUG: elf.c:265: do_init_elf(): /root/x-pure5 2 PLT relocations
DEBUG: execute_program.c:76: execute_program(): Executing `/root/x-pure5'...
DEBUG: execute_program.c:91: execute_program(): PID=29162
DEBUG: breakpoints.c:102: enable_all_breakpoints(): Enabling breakpoints for pid 29162...
DEBUG: process_event.c:88: process_event(): event: none
DEBUG: process_event.c:109: process_event(): event: syscall (SYS_brk [45])
DEBUG: process_event.c:115: process_event(): event: sysret (SYS_brk [45])
DEBUG: process_event.c:109: process_event(): event: syscall (SYS_uname [122])
DEBUG: process_event.c:115: process_event(): event: sysret (SYS_uname [122])
DEBUG: process_event.c:109: process_event(): event: syscall (SYS_access [33])
DEBUG: process_event.c:115: process_event(): event: sysret (SYS_access [33])
DEBUG: process_event.c:109: process_event(): event: syscall (SYS_open [5])
DEBUG: process_event.c:115: process_event(): event: sysret (SYS_open [5])
DEBUG: process_event.c:109: process_event(): event: syscall (SYS_fstat64 [197])
DEBUG: process_event.c:115: process_event(): event: sysret (SYS_fstat64 [197])
DEBUG: process_event.c:109: process_event(): event: syscall (SYS_mmap [90])
DEBUG: process_event.c:115: process_event(): event: sysret (SYS_mmap [90])
DEBUG: process_event.c:109: process_event(): event: syscall (SYS_close [6])
DEBUG: process_event.c:115: process_event(): event: sysret (SYS_close [6])
DEBUG: process_event.c:109: process_event(): event: syscall (SYS_open [5])
DEBUG: process_event.c:115: process_event(): event: sysret (SYS_open [5])
DEBUG: process_event.c:109: process_event(): event: syscall (SYS_read [3])
DEBUG: process_event.c:115: process_event(): event: sysret (SYS_read [3])
DEBUG: process_event.c:109: process_event(): event: syscall (SYS_fstat64 [197])
DEBUG: process_event.c:115: process_event(): event: sysret (SYS_fstat64 [197])
DEBUG: process_event.c:109: process_event(): event: syscall (SYS_mmap [90])
DEBUG: process_event.c:115: process_event(): event: sysret (SYS_mmap [90])
DEBUG: process_event.c:109: process_event(): event: syscall (SYS_mprotect [125])
DEBUG: process_event.c:115: process_event(): event: sysret (SYS_mprotect [125])
DEBUG: process_event.c:109: process_event(): event: syscall (SYS_mmap [90])
DEBUG: process_event.c:115: process_event(): event: sysret (SYS_mmap [90])
DEBUG: process_event.c:109: process_event(): event: syscall (SYS_mmap [90])
DEBUG: process_event.c:115: process_event(): event: sysret (SYS_mmap [90])
DEBUG: process_event.c:109: process_event(): event: syscall (SYS_close [6])
DEBUG: process_event.c:115: process_event(): event: sysret (SYS_close [6])
DEBUG: process_event.c:109: process_event(): event: syscall (SYS_mmap [90])
DEBUG: process_event.c:115: process_event(): event: sysret (SYS_mmap [90])
DEBUG: process_event.c:109: process_event(): event: syscall (SYS_mprotect [125])
DEBUG: process_event.c:115: process_event(): event: sysret (SYS_mprotect [125])
DEBUG: process_event.c:109: process_event(): event: syscall (SYS_mprotect [125])
DEBUG: process_event.c:115: process_event(): event: sysret (SYS_mprotect [125])
DEBUG: process_event.c:109: process_event(): event: syscall (SYS_munmap [91])
DEBUG: process_event.c:115: process_event(): event: sysret (SYS_munmap [91])
DEBUG: process_event.c:109: process_event(): event: syscall (SYS_exit_group [234])
DEBUG: process_event.c:97: process_event(): event: exit (4)
+++ exited (status 4) +++
DEBUG: process_event.c:162: remove_proc(): Removing pid 29162

DEBUG: wait_for_something.c:30: wait_for_something(): No more children


More information about the Ltrace-devel mailing list