Subject: Re: Problem with current build
To: None <netbsd@hopf.math.purdue.edu>
From: Mike Long <mike.long@analog.com>
List: current-users
Date: 03/14/1996 16:31:33
>Date: Thu, 14 Mar 1996 07:53:37 -0500
>From: "Clarence W. Wilkerson" <netbsd@hopf.math.purdue.edu>

>I can't do a build on current with a recent sup ( MArch 10 ):
>Here's a sample ( I disabled -Werrors ):
>
>cc -O -DDEBUGSHELL -DSECURE   -c init.c
>In file included from init.c:67:
>/usr/include/unistd.h:54: warning: `noreturn' attribute directive ignored
>init.c: In function `handle':
>init.c:299: too many arguments to function `__builtin_next_arg'
>init.c: In function `delset':
>init.c:333: too many arguments to function `__builtin_next_arg'
>init.c: In function `stall':

>I get the same 'noreturn" warning from /usr/include/err.h in lines 56-59 .

You are still using gcc 2.4.5.  Upgrade to 2.7.2 like so:

cd /usr/src/gnu/usr.bin/gcc
make
# ...build will die in libgcc
make install
make clean && make && make install

The behavior you see is definitely a bug; <sys/cdefs.h> (or whatever)
should make sure that __GNUC_MINOR__ >= 5 before trying to use the
'noreturn' attribute.  See the GCC texinfo documentation for details.

The '__builtin_next_arg' complaints are related to GCC's
varargs/stdarg implementation, and probably result from a similar bug.
-- 
Mike Long <mike.long@analog.com>     <URL:http://www.shore.net/~mikel>
VLSI Design Engineer         finger mikel@shore.net for PGP public key
Analog Devices, CPD Division          CCBF225E7D3F7ECB2C8F7ABB15D9BE7B
Norwood, MA 02062 USA       (eq (opinion 'ADI) (opinion 'mike)) -> nil