mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-02 07:13:54 -06:00
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>
This commit is contained in:
parent
6cfd9b5251
commit
918fc54caf
4 changed files with 12 additions and 8 deletions
|
@ -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;
|
||||
|
|
|
@ -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)));
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue