summaryrefslogtreecommitdiff
path: root/include/exec/user
diff options
context:
space:
mode:
authorPaolo Bonzini <pbonzini@redhat.com>2013-04-17 16:26:42 +0200
committerEdgar E. Iglesias <edgar.iglesias@gmail.com>2013-04-18 14:12:31 +0200
commit918fc54caff20b1810c633a63bf6d6c5499bd5dd (patch)
tree0f6bb46bc86b561bf04fb348e34af30cfd6ee2b7 /include/exec/user
parent6cfd9b5251c1d03c60f9ebc95fa98670db8f3e09 (diff)
downloadqemu-918fc54caff20b1810c633a63bf6d6c5499bd5dd.tar.gz
qemu-918fc54caff20b1810c633a63bf6d6c5499bd5dd.tar.bz2
qemu-918fc54caff20b1810c633a63bf6d6c5499bd5dd.zip
elfload: use abi_llong/ullong instead of target_llong/ullong
The alignment is a characteristic of the ABI, not the CPU. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
Diffstat (limited to 'include/exec/user')
-rw-r--r--include/exec/user/abitypes.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/include/exec/user/abitypes.h b/include/exec/user/abitypes.h
index 4b04f6d27b..008501b8d8 100644
--- a/include/exec/user/abitypes.h
+++ b/include/exec/user/abitypes.h
@@ -11,6 +11,11 @@
#ifdef TARGET_M68K
#define ABI_INT_ALIGNMENT 2
#define ABI_LONG_ALIGNMENT 2
+#define ABI_LLONG_ALIGNMENT 2
+#endif
+
+#ifdef TARGET_ARM
+#define ABI_LLONG_ALIGNMENT 4
#endif
#ifndef ABI_SHORT_ALIGNMENT
@@ -22,11 +27,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)));