From patchwork Wed Apr 3 10:32:05 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paolo Bonzini X-Patchwork-Id: 233346 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (Client did not present a certificate) by ozlabs.org (Postfix) with ESMTPS id 5D5792C0102 for ; Wed, 3 Apr 2013 21:33:14 +1100 (EST) Received: from localhost ([::1]:57833 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UNL0C-0001Cj-H8 for incoming@patchwork.ozlabs.org; Wed, 03 Apr 2013 06:33:12 -0400 Received: from eggs.gnu.org ([208.118.235.92]:40589) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UNKzY-00013T-3W for qemu-devel@nongnu.org; Wed, 03 Apr 2013 06:32:35 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UNKzW-0004Jm-Gf for qemu-devel@nongnu.org; Wed, 03 Apr 2013 06:32:32 -0400 Received: from mail-wi0-x233.google.com ([2a00:1450:400c:c05::233]:41660) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UNKzW-0004JZ-44 for qemu-devel@nongnu.org; Wed, 03 Apr 2013 06:32:30 -0400 Received: by mail-wi0-f179.google.com with SMTP id hn17so1348703wib.0 for ; Wed, 03 Apr 2013 03:32:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=x-received:sender:from:to:cc:subject:date:message-id:x-mailer :in-reply-to:references; bh=zX0W/Z1AcpBiiMHqr/xK8eSIyYPFcIe/s7rPH6BMgUU=; b=Hl6fHdn4nTb0R3L/TAHSGuG05BXa8RNrD7silTGW7T6+c2dvjMnGle7qVblXhLLhPY lN1/UlF/uL0jpb05Aeu0qPI13fAJB9JR+luecG65pck56dh9BJdHexMNelu1sShFf/nl zOnI5auClCMGLDQ8OW/oBJoCGuKzSUIP3v5pXYAaaHVB89llaMrHgJZh7OPmHAZsu3Pq aos1tm6gXxBvjAmEZz+OYDa4pdKgIH046DFQdtm/ggxhqkMHC5OpUxBF6DmPpmePGkkG AE1pcumJQEoXL/F151XgioCRDsbKiVSp/HKYcreMqaOHH2CNEpVhUWCkSpyDd6IhyCay D79A== X-Received: by 10.194.87.229 with SMTP id bb5mr1901237wjb.32.1364985149375; Wed, 03 Apr 2013 03:32:29 -0700 (PDT) Received: from playground.lan (93-34-176-20.ip50.fastwebnet.it. [93.34.176.20]) by mx.google.com with ESMTPS id dm9sm24010369wib.3.2013.04.03.03.32.27 (version=TLSv1.2 cipher=RC4-SHA bits=128/128); Wed, 03 Apr 2013 03:32:28 -0700 (PDT) From: Paolo Bonzini To: qemu-devel@nongnu.org Date: Wed, 3 Apr 2013 12:32:05 +0200 Message-Id: <1364985128-23772-8-git-send-email-pbonzini@redhat.com> X-Mailer: git-send-email 1.8.1.4 In-Reply-To: <1364985128-23772-1-git-send-email-pbonzini@redhat.com> References: <1364985128-23772-1-git-send-email-pbonzini@redhat.com> X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2a00:1450:400c:c05::233 Cc: aurelien@aurel32.net, pmaydell@linaro.org Subject: [Qemu-devel] [PATCH v2 07/10] elfload: use abi_llong/ullong instead of target_llong/ullong X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org The alignment is a characteristic of the ABI, not the CPU. Signed-off-by: Paolo Bonzini --- 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