[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[pbsd-mg2] Re: Current CVS tree



Jun Ebihara <jun@soum.co.jp> writes:
> GENERICで素直にconfigしてmake dependしてmakeすると
> mipsel-netbsd-gcc  -O2 -Wall -Werror -Wstrict-prototypes
> -Wmissing-prototypes  -Wno-uninitialized -Wpointer-arith -Wno-main -G
> 0  -mno-abicalls -mno-half-pic -I. -I../../../../arch
> -I../../../.. -nostdinc -DMIPS3_FLUSH -DMIPS3 -DNKMEMCLUSTERS=1024
> -DFIFO -DMULTICAST -D__NO_SOFT_SERIAL_INTERRUPT -DMAXUSERS=8 -D_KERNEL 
> -Dhpcmips -D__hpcmips__  -c ioconf.c
> ioconf.c:118: `NEC_MCR' undeclared here (not in a function)
> ioconf.c:118: initializer element for `loc[12]' is not constant
> *** Error code 1
> 
> のように怒られます。

これは、ioconf.incl.hpcmipsがconfigコマンド実行前に../compile/GENERICに
コピーされていないときの症状です。(sys/arch/hpcmips/conf/HOW_TO_CONF参照。)

configコマンドがioconf.incl.${machine}をコピーしてくれないのはバグだと思
いますので、パッチを作ってみました。以下のように修正すると、コンフィグファ
イルのあるディレクトリのioconf.incl.${machine}をioconf.cに入れてくれるよ
うになります。

ちなみに、ioconf.incl.${machine}を使っているのはNetBSD/hpcmipsだけのよう
で、今まで誰も気が付かなかったみたいですね。

--- mkioconf.c	Tue Feb  9 12:49:53 1999
+++ /usr/src/usr.sbin/config/mkioconf.c	Wed Aug  4 17:36:50 1999
@@ -122,7 +122,7 @@
 {
 	FILE *ifp;
 	int n;
-	char ifn[200], buf[BUFSIZ];
+	char *ifn, buf[BUFSIZ];
 
 	if (fprintf(ofp, "\
 /*\n\
@@ -131,7 +131,8 @@
  * ioconf.c, from \"%s\"\n\
  */\n\n", conffile) < 0)
 		return (1);
-	(void)sprintf(ifn, "ioconf.incl.%s", machine);
+	(void)sprintf(buf, "arch/%s/conf/ioconf.incl.%s", machine, machine);
+	ifn = sourcepath(buf);
 	if ((ifp = fopen(ifn, "r")) != NULL) {
 		while ((n = fread(buf, 1, sizeof(buf), ifp)) > 0)
 			if (fwrite(buf, 1, n, ofp) != n)

篠原