From owner-freebsd-arm@FreeBSD.ORG Sun Nov 12 17:07:22 2006 Return-Path: X-Original-To: arm@freebsd.org Delivered-To: freebsd-arm@FreeBSD.ORG Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id CE90916A407; Sun, 12 Nov 2006 17:07:22 +0000 (UTC) (envelope-from nick@flirble.org) Received: from plum.flirble.org (plum.flirble.org [195.40.6.20]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2417743D68; Sun, 12 Nov 2006 17:07:13 +0000 (GMT) (envelope-from nick@flirble.org) Received: from nick by plum.flirble.org with local (Exim 4.43) id 1GjInX-000H6j-Lq; Sun, 12 Nov 2006 17:07:11 +0000 Date: Sun, 12 Nov 2006 17:07:11 +0000 From: Nicholas Clark To: Joseph Koshy Message-ID: <20061112170711.GQ6501@plum.flirble.org> Mail-Followup-To: Joseph Koshy , Giorgos Keramidas , arm@freebsd.org, current@freebsd.org References: <20061112142710.GE91556@wombat.fafoe.narf.at> <20061112133929.9194773068@freebsd-current.sentex.ca> <20061112140010.GA47660@rambler-co.ru> <20061112144230.GC2331@kobe.laptop> <20061112145151.GC49703@rambler-co.ru> <20061112151150.GA2988@kobe.laptop> <84dead720611120758r4f1cc6e8l8ca4432ba56f3f7f@mail.gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <84dead720611120758r4f1cc6e8l8ca4432ba56f3f7f@mail.gmail.com> User-Agent: Mutt/1.3.25i X-Organisation: Tetrachloromethane Sender: Nicholas Clark Cc: arm@freebsd.org, Giorgos Keramidas , current@freebsd.org Subject: Re: [head tinderbox] failure on arm/arm X-BeenThere: freebsd-arm@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting FreeBSD to the StrongARM Processor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 12 Nov 2006 17:07:22 -0000 On Sun, Nov 12, 2006 at 09:28:49PM +0530, Joseph Koshy wrote: > GCC/arm also thinks that the alignment requirement for > `char a[1]' is `4', even though `sizeof(char a[1])` > remains at 1. > > This doesn't make sense at many levels. But is legal for an ANSI C compiler to do so. (As I understand it, the reason for the original ARM ABI on other operating systems choosing to do this alignment was because it was thought that word alignment even of arrays would generate faster code. I think that they now realise that actually this is not the case) I'm not following FreeBSD closely enough to know whether ARM has shipped as a released supported platform yet, but if not then I believe that FreeBSD is free to change its ARM ABI to anything that it feels more suitable. It may be worth talking to the ARM Linux folks to find out what they would have done differently in the ABI had they known. I suspect that the EABI described in http://wiki.debian.org/ArmEabiPort is based on previous pain. Has FreeBSD adopted the wonderful mixed endian IEEE 64 bit representation too? (Yep, that's legal. But catches a lot of code too) Nicholas Clark