mirror of https://github.com/xqemu/xqemu.git
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
|
@ -4153,7 +4153,6 @@ bflt="no"
|
||||||
target_nptl="no"
|
target_nptl="no"
|
||||||
interp_prefix1=`echo "$interp_prefix" | sed "s/%M/$target_arch2/g"`
|
interp_prefix1=`echo "$interp_prefix" | sed "s/%M/$target_arch2/g"`
|
||||||
gdb_xml_files=""
|
gdb_xml_files=""
|
||||||
target_llong_alignment=8
|
|
||||||
target_libs_softmmu=
|
target_libs_softmmu=
|
||||||
|
|
||||||
TARGET_ARCH="$target_arch2"
|
TARGET_ARCH="$target_arch2"
|
||||||
|
@ -4174,7 +4173,6 @@ case "$target_arch2" in
|
||||||
bflt="yes"
|
bflt="yes"
|
||||||
target_nptl="yes"
|
target_nptl="yes"
|
||||||
gdb_xml_files="arm-core.xml arm-vfp.xml arm-vfp3.xml arm-neon.xml"
|
gdb_xml_files="arm-core.xml arm-vfp.xml arm-vfp3.xml arm-neon.xml"
|
||||||
target_llong_alignment=4
|
|
||||||
;;
|
;;
|
||||||
cris)
|
cris)
|
||||||
target_nptl="yes"
|
target_nptl="yes"
|
||||||
|
@ -4185,7 +4183,6 @@ case "$target_arch2" in
|
||||||
m68k)
|
m68k)
|
||||||
bflt="yes"
|
bflt="yes"
|
||||||
gdb_xml_files="cf-core.xml cf-fp.xml"
|
gdb_xml_files="cf-core.xml cf-fp.xml"
|
||||||
target_llong_alignment=2
|
|
||||||
;;
|
;;
|
||||||
microblaze|microblazeel)
|
microblaze|microblazeel)
|
||||||
TARGET_ARCH=microblaze
|
TARGET_ARCH=microblaze
|
||||||
|
@ -4284,7 +4281,6 @@ case "$cpu" in
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
echo "TARGET_LLONG_ALIGNMENT=$target_llong_alignment" >> $config_target_mak
|
|
||||||
echo "TARGET_ARCH=$TARGET_ARCH" >> $config_target_mak
|
echo "TARGET_ARCH=$TARGET_ARCH" >> $config_target_mak
|
||||||
target_arch_name="`upper $TARGET_ARCH`"
|
target_arch_name="`upper $TARGET_ARCH`"
|
||||||
echo "TARGET_$target_arch_name=y" >> $config_target_mak
|
echo "TARGET_$target_arch_name=y" >> $config_target_mak
|
||||||
|
|
|
@ -36,8 +36,6 @@
|
||||||
|
|
||||||
#define TARGET_LONG_SIZE (TARGET_LONG_BITS / 8)
|
#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 */
|
/* target_ulong is the type of a virtual address */
|
||||||
#if TARGET_LONG_SIZE == 4
|
#if TARGET_LONG_SIZE == 4
|
||||||
typedef int32_t target_long;
|
typedef int32_t target_long;
|
||||||
|
|
|
@ -11,6 +11,11 @@
|
||||||
#ifdef TARGET_M68K
|
#ifdef TARGET_M68K
|
||||||
#define ABI_INT_ALIGNMENT 2
|
#define ABI_INT_ALIGNMENT 2
|
||||||
#define ABI_LONG_ALIGNMENT 2
|
#define ABI_LONG_ALIGNMENT 2
|
||||||
|
#define ABI_LLONG_ALIGNMENT 2
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef TARGET_ARM
|
||||||
|
#define ABI_LLONG_ALIGNMENT 4
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef ABI_SHORT_ALIGNMENT
|
#ifndef ABI_SHORT_ALIGNMENT
|
||||||
|
@ -22,11 +27,16 @@
|
||||||
#ifndef ABI_LONG_ALIGNMENT
|
#ifndef ABI_LONG_ALIGNMENT
|
||||||
#define ABI_LONG_ALIGNMENT (TARGET_ABI_BITS / 8)
|
#define ABI_LONG_ALIGNMENT (TARGET_ABI_BITS / 8)
|
||||||
#endif
|
#endif
|
||||||
|
#ifndef ABI_LLONG_ALIGNMENT
|
||||||
|
#define ABI_LLONG_ALIGNMENT 8
|
||||||
|
#endif
|
||||||
|
|
||||||
typedef int16_t abi_short __attribute__ ((aligned(ABI_SHORT_ALIGNMENT)));
|
typedef int16_t abi_short __attribute__ ((aligned(ABI_SHORT_ALIGNMENT)));
|
||||||
typedef uint16_t abi_ushort __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 int32_t abi_int __attribute__((aligned(ABI_INT_ALIGNMENT)));
|
||||||
typedef uint32_t abi_uint __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
|
#ifdef TARGET_ABI32
|
||||||
typedef uint32_t abi_ulong __attribute__((aligned(ABI_LONG_ALIGNMENT)));
|
typedef uint32_t abi_ulong __attribute__((aligned(ABI_LONG_ALIGNMENT)));
|
||||||
|
|
|
@ -102,8 +102,8 @@ enum {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef TARGET_ABI_MIPSN32
|
#ifdef TARGET_ABI_MIPSN32
|
||||||
typedef target_ulong target_elf_greg_t;
|
typedef abi_ullong target_elf_greg_t;
|
||||||
#define tswapreg(ptr) tswapl(ptr)
|
#define tswapreg(ptr) tswap64(ptr)
|
||||||
#else
|
#else
|
||||||
typedef abi_ulong target_elf_greg_t;
|
typedef abi_ulong target_elf_greg_t;
|
||||||
#define tswapreg(ptr) tswapal(ptr)
|
#define tswapreg(ptr) tswapal(ptr)
|
||||||
|
|
Loading…
Reference in New Issue