From owner-freebsd-audit Tue Jun 25 11:41:13 2002 Delivered-To: freebsd-audit@freebsd.org Received: from dragon.nuxi.com (trang.nuxi.com [66.92.13.169]) by hub.freebsd.org (Postfix) with ESMTP id 70ABE37B49A for ; Tue, 25 Jun 2002 11:40:59 -0700 (PDT) Received: from dragon.nuxi.com (obrien@localhost [127.0.0.1]) by dragon.nuxi.com (8.12.4/8.12.2) with ESMTP id g5PIextL002630; Tue, 25 Jun 2002 11:40:59 -0700 (PDT) (envelope-from obrien@dragon.nuxi.com) Received: (from obrien@localhost) by dragon.nuxi.com (8.12.4/8.12.4/Submit) id g5PIexKm002629; Tue, 25 Jun 2002 11:40:59 -0700 (PDT) Date: Tue, 25 Jun 2002 11:40:59 -0700 From: "David O'Brien" To: Mark Murray Cc: audit@freebsd.org Subject: Re: lib/csu cleanup - review please Message-ID: <20020625114059.B1424@dragon.nuxi.com> Reply-To: obrien@freebsd.org Mail-Followup-To: David O'Brien , Mark Murray , audit@freebsd.org References: <200206231830.g5NIUAa4045990@grimreaper.grondar.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i In-Reply-To: <200206231830.g5NIUAa4045990@grimreaper.grondar.org>; from mark@grondar.za on Fri, Jun 21, 2002 at 04:58:06PM +0100 X-Operating-System: FreeBSD 5.0-CURRENT Organization: The NUXI BSD group X-Pgp-Rsa-Fingerprint: B7 4D 3E E9 11 39 5F A3 90 76 5D 69 58 D9 98 7A X-Pgp-Rsa-Keyid: 1024/34F9F9D5 Sender: owner-freebsd-audit@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG Index: crt1.c =================================================================== RCS file: /home/ncvs/src/lib/csu/i386-elf/crt1.c,v retrieving revision 1.7 diff -u -r1.7 crt1.c --- crt1.c 29 Mar 2002 22:43:41 -0000 1.7 +++ crt1.c 25 Jun 2002 18:40:38 -0000 @@ -37,6 +37,7 @@ extern void _fini(void); extern void _init(void); extern int main(int, char **, char **); +extern void _start(char *, ...); #ifdef GCRT extern void _mcleanup(void); @@ -48,14 +49,17 @@ extern int _DYNAMIC; #pragma weak _DYNAMIC -#ifdef __i386__ -#define get_rtld_cleanup() \ - ({ fptr __value; \ - __asm__("movl %%edx,%0" : "=rm"(__value)); \ - __value; }) +static __inline fptr get_rtld_cleanup(void); +__inline fptr get_rtld_cleanup() { + fptr __value; +#ifdef __GNUC__ + __asm__("movl %%edx,%0" : "=rm"(__value)); #else -#error "This file only supports the i386 architecture" +#error "GCC is needed to compile this file" + __value = 0; /* shut up lint */ #endif + return __value; +} char **environ; const char *__progname = ""; To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-audit" in the body of the message