From: Paolo Bonzini <pbonzini@redhat.com>
To: qemu-devel@nongnu.org
Cc: aurelien@aurel32.net, pmaydell@linaro.org
Subject: [Qemu-devel] [PATCH v2 07/10] elfload: use abi_llong/ullong instead of target_llong/ullong
Date: Wed, 3 Apr 2013 12:32:05 +0200 [thread overview]
Message-ID: <1364985128-23772-8-git-send-email-pbonzini@redhat.com> (raw)
In-Reply-To: <1364985128-23772-1-git-send-email-pbonzini@redhat.com>
The alignment is a characteristic of the ABI, not the CPU.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
configure | 4 ----
include/exec/cpu-defs.h | 2 --
include/exec/user/abitypes.h | 5 +++++
linux-user/elfload.c | 4 ++--
target-arm/cpu.h | 1 +
target-m68k/cpu.h | 1 +
6 files changed, 9 insertions(+), 8 deletions(-)
diff --git a/configure b/configure
index 0763047..10ea70e 100755
--- a/configure
+++ b/configure
@@ -4011,7 +4011,6 @@ bflt="no"
target_nptl="no"
interp_prefix1=`echo "$interp_prefix" | sed "s/%M/$target_arch2/g"`
gdb_xml_files=""
-target_llong_alignment=8
target_libs_softmmu=
TARGET_ARCH="$target_arch2"
@@ -4032,7 +4031,6 @@ case "$target_arch2" in
bflt="yes"
target_nptl="yes"
gdb_xml_files="arm-core.xml arm-vfp.xml arm-vfp3.xml arm-neon.xml"
- target_llong_alignment=4
;;
cris)
target_nptl="yes"
@@ -4043,7 +4041,6 @@ case "$target_arch2" in
m68k)
bflt="yes"
gdb_xml_files="cf-core.xml cf-fp.xml"
- target_llong_alignment=2
;;
microblaze|microblazeel)
TARGET_ARCH=microblaze
@@ -4143,7 +4140,6 @@ case "$cpu" in
;;
esac
-echo "TARGET_LLONG_ALIGNMENT=$target_llong_alignment" >> $config_target_mak
echo "TARGET_ARCH=$TARGET_ARCH" >> $config_target_mak
target_arch_name="`upper $TARGET_ARCH`"
echo "TARGET_$target_arch_name=y" >> $config_target_mak
diff --git a/include/exec/cpu-defs.h b/include/exec/cpu-defs.h
index 3cf1272..d8c64e9 100644
--- a/include/exec/cpu-defs.h
+++ b/include/exec/cpu-defs.h
@@ -36,8 +36,6 @@
#define TARGET_LONG_SIZE (TARGET_LONG_BITS / 8)
-typedef int64_t target_llong __attribute__((aligned(TARGET_LLONG_ALIGNMENT)));
-typedef uint64_t target_ullong __attribute__((aligned(TARGET_LLONG_ALIGNMENT)));
/* target_ulong is the type of a virtual address */
#if TARGET_LONG_SIZE == 4
typedef int32_t target_long;
diff --git a/include/exec/user/abitypes.h b/include/exec/user/abitypes.h
index 9bf916a..0cec7b0 100644
--- a/include/exec/user/abitypes.h
+++ b/include/exec/user/abitypes.h
@@ -17,11 +17,16 @@
#ifndef ABI_LONG_ALIGNMENT
#define ABI_LONG_ALIGNMENT (TARGET_ABI_BITS / 8)
#endif
+#ifndef ABI_LLONG_ALIGNMENT
+#define ABI_LLONG_ALIGNMENT 8
+#endif
typedef int16_t abi_short __attribute__ ((aligned(ABI_SHORT_ALIGNMENT)));
typedef uint16_t abi_ushort __attribute__((aligned(ABI_SHORT_ALIGNMENT)));
typedef int32_t abi_int __attribute__((aligned(ABI_INT_ALIGNMENT)));
typedef uint32_t abi_uint __attribute__((aligned(ABI_INT_ALIGNMENT)));
+typedef int64_t abi_llong __attribute__((aligned(ABI_LLONG_ALIGNMENT)));
+typedef uint64_t abi_ullong __attribute__((aligned(ABI_LLONG_ALIGNMENT)));
#ifdef TARGET_ABI32
typedef uint32_t abi_ulong __attribute__((aligned(ABI_LONG_ALIGNMENT)));
diff --git a/linux-user/elfload.c b/linux-user/elfload.c
index 14a8ecf..979b57c 100644
--- a/linux-user/elfload.c
+++ b/linux-user/elfload.c
@@ -102,8 +102,8 @@ enum {
#endif
#ifdef TARGET_ABI_MIPSN32
-typedef target_ulong target_elf_greg_t;
-#define tswapreg(ptr) tswapl(ptr)
+typedef abi_ullong target_elf_greg_t;
+#define tswapreg(ptr) tswap64(ptr)
#else
typedef abi_ulong target_elf_greg_t;
#define tswapreg(ptr) tswapal(ptr)
diff --git a/target-arm/cpu.h b/target-arm/cpu.h
index 2b97221..6418199 100644
--- a/target-arm/cpu.h
+++ b/target-arm/cpu.h
@@ -20,6 +20,7 @@
#define CPU_ARM_H
#define TARGET_LONG_BITS 32
+#define ABI_LLONG_ALIGNMENT 4
#define ELF_MACHINE EM_ARM
diff --git a/target-m68k/cpu.h b/target-m68k/cpu.h
index 6825e7c..09ee998 100644
--- a/target-m68k/cpu.h
+++ b/target-m68k/cpu.h
@@ -23,6 +23,7 @@
#define TARGET_LONG_BITS 32
#define ABI_INT_ALIGNMENT 2
#define ABI_LONG_ALIGNMENT 2
+#define ABI_LLONG_ALIGNMENT 2
#define CPUArchState struct CPUM68KState
--
1.8.1.4
next prev parent reply other threads:[~2013-04-03 10:32 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-04-03 10:31 [Qemu-devel] [PATCH v2 00/10] TARGET_*_ALIGNMENT cleanup, and config-target.mak trimming Paolo Bonzini
2013-04-03 10:31 ` [Qemu-devel] [PATCH v2 01/10] elfload: fix size of ABI-dependent fields in core dumps Paolo Bonzini
2013-04-04 13:51 ` Peter Maydell
2013-04-03 10:32 ` [Qemu-devel] [PATCH v2 02/10] elfload: fix size of registers for N32 Paolo Bonzini
2013-04-04 15:32 ` Peter Maydell
2013-04-04 15:41 ` Paolo Bonzini
2013-04-04 15:46 ` Peter Maydell
2013-04-04 16:00 ` Paolo Bonzini
2013-04-03 10:32 ` [Qemu-devel] [PATCH v2 03/10] elfload: use tswapreg consistently in elf_core_copy_regs Paolo Bonzini
2013-04-04 15:33 ` Peter Maydell
2013-04-03 10:32 ` [Qemu-devel] [PATCH v2 04/10] elfload: use abi_short/ushort instead of target_short/ushort Paolo Bonzini
2013-04-04 13:52 ` Peter Maydell
2013-04-03 10:32 ` [Qemu-devel] [PATCH v2 05/10] elfload: use abi_int/uint instead of target_int/uint Paolo Bonzini
2013-04-04 13:56 ` Peter Maydell
2013-04-04 14:04 ` Paolo Bonzini
2013-04-04 14:22 ` Peter Maydell
2013-04-04 14:28 ` Paolo Bonzini
2013-04-03 10:32 ` [Qemu-devel] [PATCH v2 06/10] elfload: only give abi_long/ulong the alignment specified by the target Paolo Bonzini
2013-04-04 14:09 ` Peter Maydell
2013-04-04 14:11 ` Paolo Bonzini
2013-04-04 14:18 ` Peter Maydell
2013-04-04 14:26 ` Paolo Bonzini
2013-04-04 14:37 ` Peter Maydell
2013-04-04 14:45 ` Paolo Bonzini
2013-04-04 14:50 ` Peter Maydell
2013-04-03 10:32 ` Paolo Bonzini [this message]
2013-04-03 10:32 ` [Qemu-devel] [PATCH v2 08/10] configure: move CONFIG_QEMU_LDST_OPTIMIZATION to config-host.mak Paolo Bonzini
2013-04-03 10:32 ` [Qemu-devel] [PATCH v2 09/10] configure: move common libraries " Paolo Bonzini
2013-04-04 13:40 ` Peter Maydell
2013-04-03 10:32 ` [Qemu-devel] [PATCH v2 10/10] configure: CONFIG_NO_XEN is duplicated Paolo Bonzini
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1364985128-23772-8-git-send-email-pbonzini@redhat.com \
--to=pbonzini@redhat.com \
--cc=aurelien@aurel32.net \
--cc=pmaydell@linaro.org \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).