#! /bin/sh # Copyright (C) 2012, 2013, 2014 Red Hat, Inc. # This file is part of elfutils. # # This file is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 3 of the License, or # (at your option) any later version. # # elfutils is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. . $srcdir/test-subr.sh testfiles testfile63 testrun_compare ${abs_top_builddir}/src/readelf -n testfile63 <<\EOF Note segment of 892 bytes at offset 0x274: Owner Data size Type CORE 148 PRSTATUS info.si_signo: 11, info.si_code: 0, info.si_errno: 0, cursig: 11 sigpend: <> sighold: <> pid: 11087, ppid: 11063, pgrp: 11087, sid: 11063 utime: 0.000000, stime: 0.010000, cutime: 0.000000, cstime: 0.000000 orig_r0: -1, fpvalid: 1 r0: 1 r1: -1091672508 r2: -1091672500 r3: 0 r4: 0 r5: 0 r6: 33728 r7: 0 r8: 0 r9: 0 r10: -1225703496 r11: -1091672844 r12: 0 sp: 0xbeee64f4 lr: 0xb6dc3f48 pc: 0x00008500 spsr: 0x60000010 CORE 124 PRPSINFO state: 0, sname: R, zomb: 0, nice: 0, flag: 0x00400500 uid: 0, gid: 0, pid: 11087, ppid: 11063, pgrp: 11087, sid: 11063 fname: a.out, psargs: ./a.out CORE 144 AUXV HWCAP: 0xe8d7 <swp half thumb fast-mult vfp edsp> PAGESZ: 4096 CLKTCK: 100 PHDR: 0x8034 PHENT: 32 PHNUM: 8 BASE: 0xb6eee000 FLAGS: 0 ENTRY: 0x83c0 UID: 0 EUID: 0 GID: 0 EGID: 0 SECURE: 0 RANDOM: 0xbeee674e EXECFN: 0xbeee6ff4 PLATFORM: 0xbeee675e NULL CORE 116 FPREGSET f0: 0x000000000000000000000000 f1: 0x000000000000000000000000 f2: 0x000000000000000000000000 f3: 0x000000000000000000000000 f4: 0x000000000000000000000000 f5: 0x000000000000000000000000 f6: 0x000000000000000000000000 f7: 0x000000000000000000000000 LINUX 260 ARM_VFP fpscr: 0x00000000 d0: 0x0000000000000000 d1: 0x0000000000000000 d2: 0x0000000000000000 d3: 0x0000000000000000 d4: 0x0000000000000000 d5: 0x0000000000000000 d6: 0x0000000000000000 d7: 0x0000000000000000 d8: 0x0000000000000000 d9: 0x0000000000000000 d10: 0x0000000000000000 d11: 0x0000000000000000 d12: 0x0000000000000000 d13: 0x0000000000000000 d14: 0x0000000000000000 d15: 0x0000000000000000 d16: 0x0000000000000000 d17: 0x0000000000000000 d18: 0x0000000000000000 d19: 0x0000000000000000 d20: 0x0000000000000000 d21: 0x0000000000000000 d22: 0x0000000000000000 d23: 0x0000000000000000 d24: 0x0000000000000000 d25: 0x0000000000000000 d26: 0x0000000000000000 d27: 0x0000000000000000 d28: 0x0000000000000000 d29: 0x0000000000000000 d30: 0x0000000000000000 d31: 0x0000000000000000 EOF testfiles testfile67 testrun_compare ${abs_top_builddir}/src/readelf -n testfile67 <<\EOF Note segment of 1044 bytes at offset 0xe8: Owner Data size Type CORE 336 PRSTATUS info.si_signo: 4, info.si_code: 0, info.si_errno: 0, cursig: 4 sigpend: <> sighold: <> pid: 805, ppid: 804, pgrp: 804, sid: 699 utime: 0.000042, stime: 0.000103, cutime: 0.000000, cstime: 0.000000 orig_r2: 2571552016, fpvalid: 1 pswm: 0x0705c00180000000 pswa: 0x00000000800000d6 r0: 4393751543808 r1: 4398002544388 r2: 11 r3: 2571578208 r4: 2571702016 r5: 4398003235624 r6: 2571580768 r7: 2571702016 r8: 2571578208 r9: 2571552016 r10: 2571552016 r11: 0 r12: 4398003499008 r13: 2148274656 r14: 0 r15: 4398040761216 a0: 0x000003ff a1: 0xfd54a6f0 a2: 0x00000000 a3: 0x00000000 a4: 0x00000000 a5: 0x00000000 a6: 0x00000000 a7: 0x00000000 a8: 0x00000000 a9: 0x00000000 a10: 0x00000000 a11: 0x00000000 a12: 0x00000000 a13: 0x00000000 a14: 0x00000000 a15: 0x00000000 CORE 136 PRPSINFO state: 0, sname: R, zomb: 0, nice: 0, flag: 0x0000000000400400 uid: 0, gid: 0, pid: 805, ppid: 804, pgrp: 804, sid: 699 fname: 1, psargs: ./1 CORE 304 AUXV SYSINFO_EHDR: 0 HWCAP: 0x37f PAGESZ: 4096 CLKTCK: 100 PHDR: 0x80000040 PHENT: 56 PHNUM: 2 BASE: 0 FLAGS: 0 ENTRY: 0x800000d4 UID: 0 EUID: 0 GID: 0 EGID: 0 SECURE: 0 RANDOM: 0x3ffffa8463c EXECFN: 0x3ffffa85ff4 PLATFORM: 0x3ffffa8464c NULL CORE 136 FPREGSET fpc: 0x00000000 f0: 0x0000000000000040 f1: 0x4b00000000000000 f2: 0x0000000000000041 f3: 0x3ad50b5555555600 f4: 0x0000000000000000 f5: 0x0000000000000000 f6: 0x0000000000000000 f7: 0x0000000000000000 f8: 0x0000000000000000 f9: 0x0000000000000000 f10: 0x0000000000000000 f11: 0x0000000000000000 f12: 0x0000000000000000 f13: 0x0000000000000000 f14: 0x0000000000000000 f15: 0x0000000000000000 LINUX 8 S390_LAST_BREAK last_break: 0x000003fffd75ccbe LINUX 4 S390_SYSTEM_CALL system_call: 0 EOF testfiles testfile68 testrun_compare ${abs_top_builddir}/src/readelf -n testfile68 <<\EOF Note segment of 852 bytes at offset 0x94: Owner Data size Type CORE 224 PRSTATUS info.si_signo: 4, info.si_code: 0, info.si_errno: 0, cursig: 4 sigpend: <> sighold: <> pid: 839, ppid: 838, pgrp: 838, sid: 699 utime: 0.000043, stime: 0.000102, cutime: 0.000000, cstime: 0.000000 orig_r2: -1723388288, fpvalid: 1 pswm: 0x070dc000 pswa: 0x8040009a r0: 0 r1: -43966716 r2: 11 r3: -1723238816 r4: -1723265280 r5: -43275480 r6: -1723245280 r7: -1723265280 r8: -1723238816 r9: -1723388288 r10: -1723388288 r11: 0 r12: -43012096 r13: -2146692640 r14: 0 r15: 2139883440 a0: 0x000003ff a1: 0xfd54a6f0 a2: 0x00000000 a3: 0x00000000 a4: 0x00000000 a5: 0x00000000 a6: 0x00000000 a7: 0x00000000 a8: 0x00000000 a9: 0x00000000 a10: 0x00000000 a11: 0x00000000 a12: 0x00000000 a13: 0x00000000 a14: 0x00000000 a15: 0x00000000 CORE 124 PRPSINFO state: 0, sname: R, zomb: 0, nice: 0, flag: 0x00400400 uid: 0, gid: 0, pid: 839, ppid: 838, pgrp: 838, sid: 699 fname: 2, psargs: ./2 CORE 152 AUXV SYSINFO_EHDR: 0 HWCAP: 0x37f PAGESZ: 4096 CLKTCK: 100 PHDR: 0x400034 PHENT: 32 PHNUM: 2 BASE: 0 FLAGS: 0 ENTRY: 0x400098 UID: 0 EUID: 0 GID: 0 EGID: 0 SECURE: 0 RANDOM: 0x7f8c090c EXECFN: 0x7f8c1ff4 PLATFORM: 0x7f8c091c NULL CORE 136 FPREGSET fpc: 0x00000000 f0: 0x0000000000000040 f1: 0x4b00000000000000 f2: 0x0000000000000041 f3: 0x3ad50b5555555600 f4: 0x0000000000000000 f5: 0x0000000000000000 f6: 0x0000000000000000 f7: 0x0000000000000000 f8: 0x0000000000000000 f9: 0x0000000000000000 f10: 0x0000000000000000 f11: 0x0000000000000000 f12: 0x0000000000000000 f13: 0x0000000000000000 f14: 0x0000000000000000 f15: 0x0000000000000000 LINUX 8 S390_LAST_BREAK last_break: 0xfd75ccbe LINUX 4 S390_SYSTEM_CALL system_call: 0 LINUX 64 S390_HIGH_GPRS high_r0: 0x000003ff, high_r1: 0x000003ff, high_r2: 0x00000000 high_r3: 0x00000000, high_r4: 0x00000000, high_r5: 0x000003ff high_r6: 0x00000000, high_r7: 0x00000000, high_r8: 0x00000000 high_r9: 0x00000000, high_r10: 0x00000000, high_r11: 0x00000000 high_r12: 0x000003ff, high_r13: 0x00000000, high_r14: 0x00000000 high_r15: 0x00000000 EOF # To reproduce this core dump, do this on x86_64 machine with Linux # 3.7 or later: # $ gcc -x c <(echo 'int main () { return *(int *)0x12345678; }') # $ ./a.out testfiles testfile71 testrun_compare ${abs_top_builddir}/src/readelf -n testfile71 <<\EOF Note segment of 1476 bytes at offset 0x430: Owner Data size Type CORE 336 PRSTATUS info.si_signo: 11, info.si_code: 0, info.si_errno: 0, cursig: 11 sigpend: <> sighold: <> pid: 9664, ppid: 2868, pgrp: 9664, sid: 2868 utime: 0.000000, stime: 0.004000, cutime: 0.000000, cstime: 0.000000 orig_rax: -1, fpvalid: 0 r15: 0 r14: 0 r13: 140734971656848 r12: 4195328 rbp: 0x00007fff69fe39b0 rbx: 0 r11: 266286012928 r10: 140734971656256 r9: 0 r8: 266289790592 rax: 305419896 rcx: 4195584 rdx: 140734971656872 rsi: 140734971656856 rdi: 1 rip: 0x00000000004004f9 rflags: 0x0000000000010246 rsp: 0x00007fff69fe39b0 fs.base: 0x00007fa1c8933740 gs.base: 0x0000000000000000 cs: 0x0033 ss: 0x002b ds: 0x0000 es: 0x0000 fs: 0x0000 gs: 0x0000 CORE 136 PRPSINFO state: 0, sname: R, zomb: 0, nice: 0, flag: 0x0000000000000200 uid: 1000, gid: 1000, pid: 9664, ppid: 2868, pgrp: 9664, sid: 2868 fname: a.out, psargs: ./a.out CORE 128 SIGINFO si_signo: 11, si_errno: 0, si_code: 1 fault address: 0x12345678 CORE 304 AUXV SYSINFO_EHDR: 0x7fff69ffe000 HWCAP: 0xafebfbff <fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss tm pbe> PAGESZ: 4096 CLKTCK: 100 PHDR: 0x400040 PHENT: 56 PHNUM: 9 BASE: 0 FLAGS: 0 ENTRY: 0x400400 UID: 1000 EUID: 1000 GID: 1000 EGID: 1000 SECURE: 0 RANDOM: 0x7fff69fe3d19 EXECFN: 0x7fff69fe4ff0 PLATFORM: 0x7fff69fe3d29 NULL CORE 469 FILE 10 files: 00400000-00401000 00000000 4096 /home/petr/a.out 00600000-00601000 00000000 4096 /home/petr/a.out 00601000-00602000 00001000 4096 /home/petr/a.out 3dffa00000-3dffa21000 00000000 135168 /usr/lib64/ld-2.17.so 3dffc20000-3dffc21000 00020000 4096 /usr/lib64/ld-2.17.so 3dffc21000-3dffc22000 00021000 4096 /usr/lib64/ld-2.17.so 3dffe00000-3dfffb6000 00000000 1794048 /usr/lib64/libc-2.17.so 3dfffb6000-3e001b6000 001b6000 2097152 /usr/lib64/libc-2.17.so 3e001b6000-3e001ba000 001b6000 16384 /usr/lib64/libc-2.17.so 3e001ba000-3e001bc000 001ba000 8192 /usr/lib64/libc-2.17.so EOF # To reproduce this core dump, do this on an aarch64 machine: # $ gcc -x c <(echo 'int main () { return *(int *)0x12345678; }') # $ ./a.out testfiles testfile_aarch64_core testrun_compare ${abs_top_builddir}/src/readelf -n testfile_aarch64_core <<\EOF Note segment of 2512 bytes at offset 0x270: Owner Data size Type CORE 392 PRSTATUS info.si_signo: 11, info.si_code: 0, info.si_errno: 0, cursig: 11 sigpend: <> sighold: <> pid: 16547, ppid: 3822, pgrp: 16547, sid: 3822 utime: 0.010000, stime: 0.000000, cutime: 0.000000, cstime: 0.000000 pc: 0x0000000000400548, pstate: 0x0000000060000000, fpvalid: 1 x0: 305419896 x1: 548685596648 x2: 548685596664 x3: 4195648 x4: 0 x5: 548536191688 x6: 0 x7: -6341196323062964528 x8: 135 x9: 4294967295 x10: 4195026 x11: 184256 x12: 144 x13: 15 x14: 548536635328 x15: 0 x16: 548534815304 x17: 4262024 x18: 548685596000 x19: 0 x20: 0 x21: 4195296 x22: 0 x23: 0 x24: 0 x25: 0 x26: 0 x27: 0 x28: 0 x29: 548685596320 x30: 548534815544 sp: 0x0000007fc035c6a0 CORE 136 PRPSINFO state: 0, sname: R, zomb: 0, nice: 0, flag: 0x0000000000400400 uid: 0, gid: 0, pid: 16547, ppid: 3822, pgrp: 16547, sid: 3822 fname: a.out, psargs: ./a.out CORE 128 SIGINFO si_signo: 11, si_errno: 0, si_code: 1 fault address: 0x12345678 CORE 304 AUXV SYSINFO_EHDR: 0x7fb7500000 HWCAP: 0x3 PAGESZ: 65536 CLKTCK: 100 PHDR: 0x400040 PHENT: 56 PHNUM: 7 BASE: 0x7fb7520000 FLAGS: 0 ENTRY: 0x4003e0 UID: 0 EUID: 0 GID: 0 EGID: 0 SECURE: 0 RANDOM: 0x7fc035c9e8 EXECFN: 0x7fc035fff0 PLATFORM: 0x7fc035c9f8 NULL CORE 306 FILE 6 files: 00400000-00410000 00000000 65536 /root/elfutils/build/a.out 00410000-00420000 00000000 65536 /root/elfutils/build/a.out 7fb7370000-7fb74d0000 00000000 1441792 /usr/lib64/libc-2.17.so 7fb74d0000-7fb74f0000 00150000 131072 /usr/lib64/libc-2.17.so 7fb7520000-7fb7540000 00000000 131072 /usr/lib64/ld-2.17.so 7fb7540000-7fb7550000 00010000 65536 /usr/lib64/ld-2.17.so CORE 528 FPREGSET fpsr: 0x00000000, fpcr: 0x00000000 v0: 0x00000000000af54b000000000000fe02 v1: 0x00000000000000000000000000000000 v2: 0x00000000000000000000000000000000 v3: 0x00000000000000000000000000000000 v4: 0x00000000000000000000000000000000 v5: 0x00000000000000000000000000000000 v6: 0x00000000000000000000000000000000 v7: 0x00000000000000000000000000000000 v8: 0x00000000000000000000000000000000 v9: 0x00000000000000000000000000000000 v10: 0x00000000000000000000000000000000 v11: 0x00000000000000000000000000000000 v12: 0x00000000000000000000000000000000 v13: 0x00000000000000000000000000000000 v14: 0x00000000000000000000000000000000 v15: 0x00000000000000000000000000000000 v16: 0x00000000000000000000000000000000 v17: 0x00000000000000000000000000000000 v18: 0x00000000000000000000000000000000 v19: 0x00000000000000000000000000000000 v20: 0x00000000000000000000000000000000 v21: 0x00000000000000000000000000000000 v22: 0x00000000000000000000000000000000 v23: 0x00000000000000000000000000000000 v24: 0x00000000000000000000000000000000 v25: 0x00000000000000000000000000000000 v26: 0x00000000000000000000000000000000 v27: 0x00000000000000000000000000000000 v28: 0x00000000000000000000000000000000 v29: 0x00000000000000000000000000000000 v30: 0x00000000000000000000000000000000 v31: 0x00000000000000000000000000000000 LINUX 8 ARM_TLS tls: 0x0000007fb73606f0 LINUX 264 ARM_HW_BREAK dbg_info: 0x00000610 DBGBVR0_EL1: 0x0000000000000000, DBGBCR0_EL1: 0x00000000 DBGBVR1_EL1: 0x0000000000000000, DBGBCR1_EL1: 0x00000000 DBGBVR2_EL1: 0x0000000000000000, DBGBCR2_EL1: 0x00000000 DBGBVR3_EL1: 0x0000000000000000, DBGBCR3_EL1: 0x00000000 DBGBVR4_EL1: 0x0000000000000000, DBGBCR4_EL1: 0x00000000 DBGBVR5_EL1: 0x0000000000000000, DBGBCR5_EL1: 0x00000000 DBGBVR6_EL1: 0x0000000000000000, DBGBCR6_EL1: 0x00000000 DBGBVR7_EL1: 0x0000000000000000, DBGBCR7_EL1: 0x00000000 DBGBVR8_EL1: 0x0000000000000000, DBGBCR8_EL1: 0x00000000 DBGBVR9_EL1: 0x0000000000000000, DBGBCR9_EL1: 0x00000000 DBGBVR10_EL1: 0x0000000000000000, DBGBCR10_EL1: 0x00000000 DBGBVR11_EL1: 0x0000000000000000, DBGBCR11_EL1: 0x00000000 DBGBVR12_EL1: 0x0000000000000000, DBGBCR12_EL1: 0x00000000 DBGBVR13_EL1: 0x0000000000000000, DBGBCR13_EL1: 0x00000000 DBGBVR14_EL1: 0x0000000000000000, DBGBCR14_EL1: 0x00000000 DBGBVR15_EL1: 0x0000000000000000, DBGBCR15_EL1: 0x00000000 LINUX 264 ARM_HW_WATCH dbg_info: 0x00000610 DBGWVR0_EL1: 0x0000000000000000, DBGWCR0_EL1: 0x00000000 DBGWVR1_EL1: 0x0000000000000000, DBGWCR1_EL1: 0x00000000 DBGWVR2_EL1: 0x0000000000000000, DBGWCR2_EL1: 0x00000000 DBGWVR3_EL1: 0x0000000000000000, DBGWCR3_EL1: 0x00000000 DBGWVR4_EL1: 0x0000000000000000, DBGWCR4_EL1: 0x00000000 DBGWVR5_EL1: 0x0000000000000000, DBGWCR5_EL1: 0x00000000 DBGWVR6_EL1: 0x0000000000000000, DBGWCR6_EL1: 0x00000000 DBGWVR7_EL1: 0x0000000000000000, DBGWCR7_EL1: 0x00000000 DBGWVR8_EL1: 0x0000000000000000, DBGWCR8_EL1: 0x00000000 DBGWVR9_EL1: 0x0000000000000000, DBGWCR9_EL1: 0x00000000 DBGWVR10_EL1: 0x0000000000000000, DBGWCR10_EL1: 0x00000000 DBGWVR11_EL1: 0x0000000000000000, DBGWCR11_EL1: 0x00000000 DBGWVR12_EL1: 0x0000000000000000, DBGWCR12_EL1: 0x00000000 DBGWVR13_EL1: 0x0000000000000000, DBGWCR13_EL1: 0x00000000 DBGWVR14_EL1: 0x0000000000000000, DBGWCR14_EL1: 0x00000000 DBGWVR15_EL1: 0x0000000000000000, DBGWCR15_EL1: 0x00000000 EOF # To reproduce this core dump, do this on an i686 machine: # $ gcc -x c <(echo 'int main () { return *(int *)0x12345678; }') # $ ./a.out testfiles testfile_i686_core testrun_compare ${abs_top_builddir}/src/readelf -n testfile_i686_core <<\EOF Note segment of 1000 bytes at offset 0x214: Owner Data size Type CORE 144 PRSTATUS info.si_signo: 11, info.si_code: 0, info.si_errno: 0, cursig: 11 sigpend: <> sighold: <> pid: 27395, ppid: 1130, pgrp: 27395, sid: 1130 utime: 0.000000, stime: 0.001000, cutime: 0.000000, cstime: 0.000000 orig_eax: -1, fpvalid: 0 ebx: 1334976512 ecx: -1239415396 edx: -1079283900 esi: 0 edi: 0 ebp: 0xbfab6f18 eax: 305419896 eip: 0x08048408 eflags: 0x00010246 esp: 0xbfab6f18 ds: 0x007b es: 0x007b fs: 0x0000 gs: 0x0033 cs: 0x0073 ss: 0x007b CORE 124 PRPSINFO state: 0, sname: R, zomb: 0, nice: 0, flag: 0x00000200 uid: 1000, gid: 1000, pid: 27395, ppid: 1130, pgrp: 27395, sid: 1130 fname: a.out, psargs: ./a.out CORE 128 SIGINFO si_signo: 11, si_errno: 0, si_code: 1 fault address: 0x12345678 CORE 160 AUXV SYSINFO: 0xb77fc414 SYSINFO_EHDR: 0xb77fc000 HWCAP: 0x780abfd <fpu de pse tsc msr pae mce cx8 apic sep pge cmov mmx fxsr sse sse2> PAGESZ: 4096 CLKTCK: 100 PHDR: 0x8048034 PHENT: 32 PHNUM: 9 BASE: 0 FLAGS: 0 ENTRY: 0x80482f0 UID: 1000 EUID: 1000 GID: 1000 EGID: 1000 SECURE: 0 RANDOM: 0xbfab70eb EXECFN: 0xbfab7ff4 PLATFORM: 0xbfab70fb NULL CORE 275 FILE 9 files: 08048000-08049000 00000000 4096 /tmp/a.out 08049000-0804a000 00000000 4096 /tmp/a.out 0804a000-0804b000 00001000 4096 /tmp/a.out 4f744000-4f763000 00000000 126976 /usr/lib/ld-2.18.so 4f764000-4f765000 0001f000 4096 /usr/lib/ld-2.18.so 4f765000-4f766000 00020000 4096 /usr/lib/ld-2.18.so 4f768000-4f920000 00000000 1802240 /usr/lib/libc-2.18.so 4f920000-4f922000 001b8000 8192 /usr/lib/libc-2.18.so 4f922000-4f923000 001ba000 4096 /usr/lib/libc-2.18.so LINUX 48 386_TLS index: 6, base: 0xb77da700, limit: 0x000fffff, flags: 0x00000051 index: 7, base: 0x00000000, limit: 0x00000000, flags: 0x00000028 index: 8, base: 0x00000000, limit: 0x00000000, flags: 0x00000028 EOF exit 0