From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 16095 invoked by alias); 2 May 2005 09:54:23 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Received: (qmail 16054 invoked from network); 2 May 2005 09:54:16 -0000 Received: from unknown (HELO province.act-europe.fr) (212.157.227.214) by sourceware.org with SMTP; 2 May 2005 09:54:16 -0000 Received: by province.act-europe.fr (Postfix, from userid 525) id C7182B8463; Mon, 2 May 2005 11:54:15 +0200 (CEST) Date: Mon, 02 May 2005 09:54:00 -0000 From: Arnaud Charlet To: John David Anglin Cc: gcc-patches@gcc.gnu.org, laurent@guerby.net Subject: Re: [patch] Add Ada tasking support for hppa-unknown-linux-gnu (take 2) Message-ID: <20050502095415.GA65052@adacore.com> References: <20050429102640.GA34244@adacore.com> <200504300010.j3U0Ab2n017665@hiauly1.hia.nrc.ca> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <200504300010.j3U0Ab2n017665@hiauly1.hia.nrc.ca> User-Agent: Mutt/1.4.2.1i X-SW-Source: 2005-05/txt/msg00060.txt.bz2 > > > 3) sigset_t changed to array of unsigned_long. > > > > Could you explain why you changed sigset_t definition ? > > >From bits/sigset.h: > > # define _SIGSET_NWORDS (1024 / (8 * sizeof (unsigned long int))) > typedef struct > { > unsigned long int __val[_SIGSET_NWORDS]; > } __sigset_t; I understand that, but the previous code used an array of bytes explicitely to share code between 32 and 64 bit platforms where typically Long_Integer'Size is different. So unless the underlying structure/alignment is different, I would stick to the previous definition. You can check the size and alignment used by compiling the file with -gnatR3 > > Also, the alignment for atomic_lock_t seems wrong to me: you are using > > 8 * 16, but the alignment is specified in *bytes*, not bits (a usual > > confusion), so this value seems very high to me. Didn't you mean 16 > > instead ? > > The required alignment is 16 bytes. So the alignment in the file is indeed wrong and should be 16 rather than 8 * 16 Arno