This is the mail archive of the
elfutils-devel@sourceware.org
mailing list for the elfutils project.
Re: PATCH: Add x32_corenote.c
- From: Mark Wielaard <mjw at redhat dot com>
- To: elfutils-devel at lists dot fedorahosted dot org
- Date: Tue, 31 Mar 2015 16:44:09 +0200
- Subject: Re: PATCH: Add x32_corenote.c
Hi,
On Mon, Mar 30, 2015 at 05:27:30AM -0700, H.J. Lu wrote:
> On Thu, Mar 26, 2015 at 9:36 AM, H.J. Lu <hjl.tools@gmail.com> wrote:
> > Here are 5 x32 patches I put a line:
> >
> > # Created by H.J. Lu <hjl.tools@gmail.com>, 2015.
Lets just use Copyright (C) H.J. Lu <hjl.tools@gmail.com>, 2015.
Also the patches still contain:
- Copyright (C) 2008-2010, 2013 Red Hat, Inc.
+ Copyright (C) 2008-2010, 2013, 2015 Red Hat, Inc.
That is not really factual correct. If you modify a file just add
your own Copyright line instead.
> > in the new file I copied from the existing one.
>
> I updated my x32 patch set to 7 patches. They replaced the old 5
> patch set.
The patches look good. Thanks.
BTW I don't mind the ChangeLog entries being in the patch itself.
Whatever is more convenient for you.
One question about the new run-readelf-mixed-corenote.sh test.
> +# To reproduce this core dump, do this on x86_64 machine with Linux
> +# 3.7 or later:
> +# $ gcc -mx32 -x c <(echo 'int main () { return *(int *)0x12345678; }')
> +# $ ./a.out
> +testfiles testfile-x32-core
> +testrun_compare ${abs_top_builddir}/src/readelf -n testfile-x32-core <<\EOF
> +
> +Note segment of 2548 bytes at offset 0x234:
> + Owner Data size Type
> + CORE 296 PRSTATUS
> + info.si_signo: 11, info.si_code: 0, info.si_errno: 0, cursig: 11
> + sigpend: <>
> + sighold: <33,35,38-40,42,44-45>
> + pid: 6885, ppid: 2792, pgrp: 6885, sid: 2792
> + utime: 0.4294967296000, stime: 4294967296000.000000, cutime: 0.000000
> + cstime: 0.000000
Are these timeval fields correct?
> + orig_rax: -1, fpvalid: 1
> + r15: 0 r14: 0
> + r13: 4290830656 r12: 4194960
> + rbp: 0x00000000ffc0e070 rbx: 0
> + r11: 4145779200 r10: 0
> + r9: 4149627024 r8: 4149551744
> + rax: 305419896 rcx: 4195216
> + rdx: 4290830668 rsi: 4290830660
> + rdi: 1 rip: 0x0000000000400380
> + rflags: 0x0000000000010246 rsp: 0x00000000ffc0e070
> + fs.base: 0x00000000f7754700 gs.base: 0x0000000000000000
> + cs: 0x0033 ss: 0x002b ds: 0x002b es: 0x002b fs: 0x0063 gs: 0x0000
> + CORE 124 PRPSINFO
> + state: 0, sname: R, zomb: 0, nice: 0, flag: 0x03e803e800406600
> + uid: 65537000, gid: 451216360, pid: 6885, ppid: 2792, pgrp: 6885
> + sid: 2792
The uid and gid seem odd given that in the AUXV we see them being 1000:
> + CORE 152 AUXV
> + SYSINFO_EHDR: 0xffd49000
> + HWCAP: 0xbfebfbff <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 ht tm pbe>
> + PAGESZ: 4096
> + CLKTCK: 100
> + PHDR: 0x400034
> + PHENT: 32
> + PHNUM: 8
> + BASE: 0xf7555000
> + FLAGS: 0
> + ENTRY: 0x400290
> + UID: 1000
> + EUID: 1000
> + GID: 1000
> + EGID: 1000
> + SECURE: 0
> + RANDOM: 0xffc0e2cb
> + EXECFN: 0xffc0fff0
> + PLATFORM: 0xffc0e2db
> + NULL
Everything else looks good. Nice to have extra testcases covering x32.
Thanks,
Mark