From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:47856) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UNl81-0000wB-1b for qemu-devel@nongnu.org; Thu, 04 Apr 2013 10:27:06 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UNl7v-0001AE-8e for qemu-devel@nongnu.org; Thu, 04 Apr 2013 10:27:00 -0400 Received: from mx1.redhat.com ([209.132.183.28]:23479) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UNl7u-0001A3-Vk for qemu-devel@nongnu.org; Thu, 04 Apr 2013 10:26:55 -0400 Message-ID: <515D8D9F.7080602@redhat.com> Date: Thu, 04 Apr 2013 16:26:39 +0200 From: Paolo Bonzini MIME-Version: 1.0 References: <1364985128-23772-1-git-send-email-pbonzini@redhat.com> <1364985128-23772-7-git-send-email-pbonzini@redhat.com> <515D89F5.5000504@redhat.com> In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH v2 06/10] elfload: only give abi_long/ulong the alignment specified by the target List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Peter Maydell Cc: pmaydell@linaro.org, qemu-devel@nongnu.org, aurelien@aurel32.net Il 04/04/2013 16:18, Peter Maydell ha scritto: >>> Also linux-user/elfload.c:symfind() is casting a pointer to >>> >> target_ulong* and dereferencing it, and that might now cause >>> >> an alignment fault on some host CPUs if the host CPU alignment >>> >> requirements are stricter than the guest's. >> > >> > I had seen this, but it is only used with bsearch and safe > Ah yes, you're right. Sorry. Regarding the others, none of them are in target-generic places, and none of them affect m68k (ARM only uses non-standard alignment for llong): - linux-user/mips64/syscall.h is correct with target_ulong, and in general MIPS is best left as it is (it often uses uint32_t/uint64_t or target_long/ulong explicitly so that n32 is handled correctly). - linux-user/openrisc/syscall.h could use abi_ulong instead of target_ulong, and abi_uint instead of uint32_t, but it doesn't change anything so it is more of a cleanup - linux-user/syscall_defs.h's use of target_ulong for st_ino would be a bug, but on these architectures target_ulong==abi_ulong. In general the whole struct should be using abi_* types, but again it is more of a cleanup. So the patch is okay as is, I think. Paolo