Subject: Problem building recent CVS for i386.
To: None <port-i386@netbsd.org>
From: John Clark <jclark@metricsystems.com>
List: port-i386
Date: 06/15/2005 18:05:29
Monday I checked out the latest CVS and began the build world process.

Eventually the build died on compiling 'pxeboot/pxe.c'

The reason seems to be due to a change in 'sys/lib/libsa/stand.h'

In stand.h there are several 'rename' defines, such as:

#ifdef LIBSA_RENAME_PRINTF
...
#endif

And:

#ifdef LIBSA_USE_MEMSET
#define bzero(s, l)   memset(s,0,l)
#endif

However, between early May and June 13, the following define
has just been blythly inserted into stand.h.

#define bcmp(s1, s2, l )   memcmp(s1, s2, l)

Without any ifdef conditional statements.

This results in a bad macro invocation in 'pxeboot/pxe.c' which
has as one of it's 'arguments' a macro S_SIZE("..."). This macro
expands to place the string, and the following length (strlen(..)) into
the parameter list.

However, because of the redefinition of 'bcmp' in 'stand.h' the macro
expansion of the re-defined 'bcmp' fails with an argument number missmatch.

John Clark