From owner-freebsd-audit Thu Jul 4 2:27:45 2002 Delivered-To: freebsd-audit@freebsd.org Received: from mx1.FreeBSD.org (mx1.FreeBSD.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id D8AED37B400 for ; Thu, 4 Jul 2002 02:27:39 -0700 (PDT) Received: from mailman.zeta.org.au (mailman.zeta.org.au [203.26.10.16]) by mx1.FreeBSD.org (Postfix) with ESMTP id 9509A43E31 for ; Thu, 4 Jul 2002 02:27:38 -0700 (PDT) (envelope-from bde@zeta.org.au) Received: from bde.zeta.org.au (bde.zeta.org.au [203.2.228.102]) by mailman.zeta.org.au (8.9.3/8.8.7) with ESMTP id TAA31471; Thu, 4 Jul 2002 19:27:21 +1000 Date: Thu, 4 Jul 2002 19:33:21 +1000 (EST) From: Bruce Evans X-X-Sender: bde@gamplex.bde.org To: Mark Murray Cc: audit@FreeBSD.ORG Subject: Re: lib/csu cleanup #2 - review please (commit candidate) In-Reply-To: <200207031710.g63HAjii001037@grimreaper.grondar.org> Message-ID: <20020704192057.V21375-100000@gamplex.bde.org> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII 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 On Wed, 3 Jul 2002, Mark Murray wrote: > [Mark Murray didn't write] > > But you didn't answer these questions: > > ... > > > +#ifndef lint > > > + > > > #ifndef __GNUC__ > > > #error "GCC is needed to compile this file" > > > #endif > > > > Please change Lint to note the #error but to continue processing. I've > > pondered it and cannot find a good reason for Lint to "obey" #error. > > That would violate lint(1) POLA. I guess an option could be added at some > stage to do this. Continuing processing would be good in some cases but not here. The whole point of this #error is to prevent an error cascade from continuing processing. Perhaps the scope of this #error is too large. Only about 5 lines of asms in this file need gcc. > ... > > New questions: > > > > > -_start(char **ap, > > > - void (*cleanup)(void), /* from shared loader */ > > > - struct Struct_Obj_Entry *obj __unused, /* from shared loader */ > > > - struct ps_strings *ps_strings __unused) > > > +_start(char **ap, void (*cleanup)(void), ...) > > > > Why take a more exact prototype and definition to a lesser one? > > Because I could see no reason to clutter the file with unused > structure declarations, just so that unused arguments could be > instantiated. Call it a code cleanup. The code has been verified > to work in a make world. Hrmph. My review said that the i386 code should probably be changed to be more like the alpha code here, not the reverse. There are no varargs functions here. Declaring and implementing a non-varargs function as varargs gives machine-dependent breakage, e.g., passing the args in the wrong place on only some machines. Bruce To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-audit" in the body of the message