From owner-freebsd-alpha@FreeBSD.ORG Thu Jan 8 12:14:22 2004 Return-Path: Delivered-To: freebsd-alpha@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 9A12616A4CE for ; Thu, 8 Jan 2004 12:14:22 -0800 (PST) Received: from smtp.des.no (flood.des.no [217.116.83.31]) by mx1.FreeBSD.org (Postfix) with ESMTP id 91C7643D46 for ; Thu, 8 Jan 2004 12:14:18 -0800 (PST) (envelope-from des@des.no) Received: by smtp.des.no (Pony Express, from userid 666) id 40B01530D; Thu, 8 Jan 2004 21:14:17 +0100 (CET) Received: from dwp.des.no (des.no [80.203.228.37]) by smtp.des.no (Pony Express) with ESMTP id 5ABCF530C for ; Thu, 8 Jan 2004 21:14:10 +0100 (CET) Received: by dwp.des.no (Postfix, from userid 2602) id 3D90433C9A; Thu, 8 Jan 2004 21:14:10 +0100 (CET) To: alpha@freebsd.org From: des@des.no (Dag-Erling =?iso-8859-1?q?Sm=F8rgrav?=) Date: Thu, 08 Jan 2004 21:14:10 +0100 Message-ID: User-Agent: Gnus/5.090024 (Oort Gnus v0.24) Emacs/21.3 (berkeley-unix) MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable X-Spam-Checker-Version: SpamAssassin 2.60 (1.212-2003-09-23-exp) on flood.des.no X-Spam-Level: X-Spam-Status: No, hits=0.1 required=5.0 tests=RCVD_IN_SORBS autolearn=no version=2.60 Subject: structure padding X-BeenThere: freebsd-alpha@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Porting FreeBSD to the Alpha List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 08 Jan 2004 20:14:22 -0000 In -STABLE, struct kinfo_proc is currently defined as follows: struct kinfo_proc { struct proc kp_proc; struct eproc { /* ... */ char e_login[roundup(MAXLOGNAME, sizeof(long))]; long e_spare[2]; } kp_eproc; }; I want to add an e_sid field to hold the process's session ID: struct kinfo_proc { struct proc kp_proc; struct eproc { /* ... */ char e_login[roundup(MAXLOGNAME, sizeof(long))]; pid_t e_sid; long e_spare[1]; } kp_eproc; }; However, a pid_t is an int, and sizeof int !=3D sizeof long on Alpha. I'm not sure what will happen: will alignment rules cause gcc to add four bytes of padding before e_spare, conserving the size of struct kinfo_proc, or will struct kinfo_proc shrink by four bytes? DES --=20 Dag-Erling Sm=F8rgrav - des@des.no