[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 02/13] elfload: fix size of ABI-dependent fields in
From: |
Paolo Bonzini |
Subject: |
[Qemu-devel] [PATCH 02/13] elfload: fix size of ABI-dependent fields in core dumps |
Date: |
Wed, 17 Apr 2013 16:26:36 +0200 |
Some fields in core dumps are 32-bit in 32-or-64 environments (ppc64abi32,
sparc32plus). Use abi_long/ulong for those.
Also, the fields of target_elf_siginfo are ints. Use tswap32 to convert them.
Reviewed-by: Peter Maydell <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>
---
linux-user/elfload.c | 18 +++++++++---------
1 file changed, 9 insertions(+), 9 deletions(-)
diff --git a/linux-user/elfload.c b/linux-user/elfload.c
index 89db49c..d3589ff 100644
--- a/linux-user/elfload.c
+++ b/linux-user/elfload.c
@@ -2110,8 +2110,8 @@ struct target_elf_siginfo {
struct target_elf_prstatus {
struct target_elf_siginfo pr_info; /* Info associated with signal */
target_short pr_cursig; /* Current signal */
- target_ulong pr_sigpend; /* XXX */
- target_ulong pr_sighold; /* XXX */
+ abi_ulong pr_sigpend; /* XXX */
+ abi_ulong pr_sighold; /* XXX */
target_pid_t pr_pid;
target_pid_t pr_ppid;
target_pid_t pr_pgrp;
@@ -2131,7 +2131,7 @@ struct target_elf_prpsinfo {
char pr_sname; /* char for pr_state */
char pr_zomb; /* zombie */
char pr_nice; /* nice val */
- target_ulong pr_flag; /* flags */
+ abi_ulong pr_flag; /* flags */
target_uid_t pr_uid;
target_gid_t pr_gid;
target_pid_t pr_pid, pr_ppid, pr_pgrp, pr_sid;
@@ -2215,12 +2215,12 @@ static int write_note_info(struct elf_note_info *, int);
#ifdef BSWAP_NEEDED
static void bswap_prstatus(struct target_elf_prstatus *prstatus)
{
- prstatus->pr_info.si_signo = tswapl(prstatus->pr_info.si_signo);
- prstatus->pr_info.si_code = tswapl(prstatus->pr_info.si_code);
- prstatus->pr_info.si_errno = tswapl(prstatus->pr_info.si_errno);
+ prstatus->pr_info.si_signo = tswap32(prstatus->pr_info.si_signo);
+ prstatus->pr_info.si_code = tswap32(prstatus->pr_info.si_code);
+ prstatus->pr_info.si_errno = tswap32(prstatus->pr_info.si_errno);
prstatus->pr_cursig = tswap16(prstatus->pr_cursig);
- prstatus->pr_sigpend = tswapl(prstatus->pr_sigpend);
- prstatus->pr_sighold = tswapl(prstatus->pr_sighold);
+ prstatus->pr_sigpend = tswapal(prstatus->pr_sigpend);
+ prstatus->pr_sighold = tswapal(prstatus->pr_sighold);
prstatus->pr_pid = tswap32(prstatus->pr_pid);
prstatus->pr_ppid = tswap32(prstatus->pr_ppid);
prstatus->pr_pgrp = tswap32(prstatus->pr_pgrp);
@@ -2232,7 +2232,7 @@ static void bswap_prstatus(struct target_elf_prstatus
*prstatus)
static void bswap_psinfo(struct target_elf_prpsinfo *psinfo)
{
- psinfo->pr_flag = tswapl(psinfo->pr_flag);
+ psinfo->pr_flag = tswapal(psinfo->pr_flag);
psinfo->pr_uid = tswap16(psinfo->pr_uid);
psinfo->pr_gid = tswap16(psinfo->pr_gid);
psinfo->pr_pid = tswap32(psinfo->pr_pid);
--
1.8.1.4
- [Qemu-devel] [PATCH v3 00/13] TARGET_*_ALIGNMENT cleanup, and config-target.mak trimming, Paolo Bonzini, 2013/04/17
- [Qemu-devel] [PATCH 01/13] configure: QEMU_INCLUDES are the same for all subtargets, Paolo Bonzini, 2013/04/17
- [Qemu-devel] [PATCH 02/13] elfload: fix size of ABI-dependent fields in core dumps,
Paolo Bonzini <=
- [Qemu-devel] [PATCH 05/13] elfload: use abi_short/ushort instead of target_short/ushort, Paolo Bonzini, 2013/04/17
- [Qemu-devel] [PATCH 06/13] elfload: use abi_int/uint instead of target_int/uint, Paolo Bonzini, 2013/04/17
- [Qemu-devel] [PATCH 03/13] elfload: fix size of registers for N32, Paolo Bonzini, 2013/04/17
- [Qemu-devel] [PATCH 07/13] elfload: only give abi_long/ulong the alignment specified by the target, Paolo Bonzini, 2013/04/17
- [Qemu-devel] [PATCH 04/13] elfload: use tswapreg consistently in elf_core_copy_regs, Paolo Bonzini, 2013/04/17
- [Qemu-devel] [PATCH 08/13] elfload: use abi_llong/ullong instead of target_llong/ullong, Paolo Bonzini, 2013/04/17
- [Qemu-devel] [PATCH 10/13] configure: move common libraries to config-host.mak, Paolo Bonzini, 2013/04/17
- [Qemu-devel] [PATCH 09/13] configure: move CONFIG_QEMU_LDST_OPTIMIZATION to config-host.mak, Paolo Bonzini, 2013/04/17
- [Qemu-devel] [PATCH 11/13] configure: eliminate target_libs_softmmu, Paolo Bonzini, 2013/04/17
- [Qemu-devel] [PATCH 12/13] configure: CONFIG_NO_XEN is duplicated, Paolo Bonzini, 2013/04/17