[Bug 1349941] Re: qemu-ppc segfault on simple hello world
jrr
1349941 at bugs.launchpad.net
Tue Jul 29 22:39:12 UTC 2014
okay, the plot thickens - a static-compiled executable works!:
jruble at jruble-linux:~/ppc_qemu_test$ powerpc-linux-gnu-gcc test.c
-static -o test_static
jruble at jruble-linux:~/ppc_qemu_test$ powerpc-linux-gnu-gcc test.c -o
test_dynamic
jruble at jruble-linux:~/ppc_qemu_test$ file test_static
test_static: ELF 32-bit MSB executable, PowerPC or cisco 4500, version 1 (SYSV), statically linked, for GNU/Linux 2.6.32, BuildID[sha1]=accb82b5eb863eb8e7a15b420e8929a010afcbaa, not stripped
jruble at jruble-linux:~/ppc_qemu_test$ file test_dynamic
test_dynamic: ELF 32-bit MSB executable, PowerPC or cisco 4500, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=714f9cfad9e06d0478bcd238ccbcbd10468741fc, not stripped
jruble at jruble-linux:~/ppc_qemu_test$
jruble at jruble-linux:~/ppc_qemu_test$ ./test_static
asdf
jruble at jruble-linux:~/ppc_qemu_test$ ./test_dynamic
Invalid data memory access: 0xfa98c008
NIP f67e2b9c LR f67e2c40 CTR 00000000 XER 00000000
MSR 00006040 HID0 00000000 HF 00006000 idx 0
TB 00000000 00000000
GPR00 00000000f67e2c1c 00000000f6ffe710 0000000000000000 00000000feb6c010
GPR04 00000000f67ec784 000000000000000b 0000000000000002 0000000000000000
GPR08 0000000000000030 00000000083c0010 00000000f67ac00a 0000000080808080
GPR12 00000000f67dcfc8 0000000000000000 0000000000000000 00000000f67fe8c4
GPR16 00000000f67fe900 00000000f6ffe988 00000000f6ffe98c 00000000f67feaf0
GPR20 00000000f67fd6c4 000000000000000a 00000000feb6c010 00000000f67fd320
GPR24 00000000fa98bff4 00000000f7c5ef8d 00000000100001f9 00000000041dfff4
GPR28 00000000f67fe900 000000005604ffff 00000000f67fdff4 000000002b027fff
CR 44284042 [ G G E L G - G E ] RES ffffffff
FPR00 0000000000000000 0000000000000000 0000000000000000 0000000000000000
FPR04 0000000000000000 0000000000000000 0000000000000000 0000000000000000
FPR08 0000000000000000 0000000000000000 0000000000000000 0000000000000000
FPR12 0000000000000000 0000000000000000 0000000000000000 0000000000000000
FPR16 0000000000000000 0000000000000000 0000000000000000 0000000000000000
FPR20 0000000000000000 0000000000000000 0000000000000000 0000000000000000
FPR24 0000000000000000 0000000000000000 0000000000000000 0000000000000000
FPR28 0000000000000000 0000000000000000 0000000000000000 0000000000000000
FPSCR 00000000
qemu: uncaught target signal 11 (Segmentation fault) - core dumped
Segmentation fault (core dumped)
jruble at jruble-linux:~/ppc_qemu_test$ powerpc-linux-gnu-readelf -d
test_dynamic
Dynamic section at offset 0xf20 contains 21 entries:
Tag Type Name/Value
0x00000001 (NEEDED) Shared library: [libc.so.6]
0x0000000c (INIT) 0x1000029c
0x0000000d (FINI) 0x10000730
0x6ffffef5 (GNU_HASH) 0x10000188
0x00000005 (STRTAB) 0x100001f8
0x00000006 (SYMTAB) 0x100001a8
0x0000000a (STRSZ) 74 (bytes)
0x0000000b (SYMENT) 16 (bytes)
0x00000015 (DEBUG) 0x0
0x00000003 (PLTGOT) 0x10011000
0x00000002 (PLTRELSZ) 36 (bytes)
0x00000014 (PLTREL) RELA
0x00000017 (JMPREL) 0x10000278
0x70000000 (PPC_GOT) 0x10010ff4
0x00000007 (RELA) 0x1000026c
0x00000008 (RELASZ) 48 (bytes)
0x00000009 (RELAENT) 12 (bytes)
0x6ffffffe (VERNEED) 0x1000024c
0x6fffffff (VERNEEDNUM) 1
0x6ffffff0 (VERSYM) 0x10000242
0x00000000 (NULL) 0x0
I've also attached gdb to each of these, and in the dynamic case the segv occurs before reaching main() in the user code. What's the correct way to get a debug version of the powerpc libc.so? ( 'libc6-dbg-powerpc-cross' package?)
--
You received this bug notification because you are a member of Ubuntu
Server Team, which is subscribed to qemu in Ubuntu.
https://bugs.launchpad.net/bugs/1349941
Title:
qemu-ppc segfault on simple hello world
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/qemu/+bug/1349941/+subscriptions
More information about the Ubuntu-server-bugs
mailing list