Hmph, it seems sysinstall (and thus make release) is broken in -current:
cc -O -pipe -Wall -I/usr/src/release/sysinstall/../../gnu/lib/libdialog
-I/usr/obj/usr/src/release/sysinstall -I/usr/src/release/sysinstall/../../sys -c
/usr/src/release/sysinstall/kget.c
/usr/src/release/sysinstall/kget.c: In function `kget':
/usr/src/release/sysinstall/kget.c:83: sizeof applied to an incomplete type
/usr/src/release/sysinstall/kget.c:85: dereferencing pointer to incomplete type
/usr/src/release/sysinstall/kget.c:86: dereferencing pointer to incomplete type
/usr/src/release/sysinstall/kget.c:89: dereferencing pointer to incomplete type
/usr/src/release/sysinstall/kget.c:90: dereferencing pointer to incomplete type
/usr/src/release/sysinstall/kget.c:92: dereferencing pointer to incomplete type
/usr/src/release/sysinstall/kget.c:92: dereferencing pointer to incomplete type
/usr/src/release/sysinstall/kget.c:94: dereferencing pointer to incomplete type
/usr/src/release/sysinstall/kget.c:96: dereferencing pointer to incomplete type
/usr/src/release/sysinstall/kget.c:96: dereferencing pointer to incomplete type
/usr/src/release/sysinstall/kget.c:98: dereferencing pointer to incomplete type
/usr/src/release/sysinstall/kget.c:100: dereferencing pointer to incomplete type
/usr/src/release/sysinstall/kget.c:100: dereferencing pointer to incomplete type
/usr/src/release/sysinstall/kget.c:102: dereferencing pointer to incomplete type
/usr/src/release/sysinstall/kget.c:104: dereferencing pointer to incomplete type
/usr/src/release/sysinstall/kget.c:104: dereferencing pointer to incomplete type
/usr/src/release/sysinstall/kget.c:106: dereferencing pointer to incomplete type
/usr/src/release/sysinstall/kget.c:108: dereferencing pointer to incomplete type
/usr/src/release/sysinstall/kget.c:108: dereferencing pointer to incomplete type
/usr/src/release/sysinstall/kget.c:111: dereferencing pointer to incomplete type
/usr/src/release/sysinstall/kget.c:111: dereferencing pointer to incomplete type
/usr/src/release/sysinstall/kget.c:113: sizeof applied to an incomplete type
*** Error code 1
Stop in /usr/src/release/sysinstall.
*** Error code 1
Stop in /usr/src/release.
*** Error code 1
Stop in /usr/source/src/release.
All of these seem to be related to 'struct isa_device'. It seems that when
the userconfig in the kernel was changed to use 'struct uc_device' instead,
that change wasn't propogated out to sysinstall. This patch fixes all that:
Index: sys/i386/i386/userconfig.c
===================================================================
RCS file: /usr/cvs/src/sys/i386/i386/userconfig.c,v
retrieving revision 1.178
diff -u -r1.178 userconfig.c
--- sys/i386/i386/userconfig.c 2000/03/19 12:57:49 1.178
+++ sys/i386/i386/userconfig.c 2000/03/24 15:18:44
@@ -112,26 +112,6 @@
#include <machine/md_var.h>
#include <machine/limits.h>
-#define _I386_ISA_ISA_DEVICE_H_
-
-/*
- * Per device structure. This just happens to resemble the old isa_device
- * but that is by accident. It is NOT the same.
- */
-struct uc_device {
- int id_id; /* device id */
- char *id_name; /* device name */
- int id_iobase; /* base i/o address */
- u_int id_irq; /* interrupt request */
- int id_drq; /* DMA request */
- caddr_t id_maddr; /* physical i/o memory address on bus (if any)*/
- int id_msize; /* size of i/o memory */
- int id_unit; /* unit number */
- int id_flags; /* flags */
- int id_enabled; /* is device enabled */
- struct uc_device *id_next; /* used in uc_devlist in userconfig() */
-};
-
#undef NPNP
#define NPNP 0
@@ -141,6 +121,7 @@
static MALLOC_DEFINE(M_DEVL, "uc_devlist", "uc_device lists in userconfig()");
+#include <machine/uc_device.h>
static struct uc_device *uc_devlist; /* list read by kget to extract changes */
static struct uc_device *uc_devtab; /* fake uc_device table */
Index: sys/i386/include/uc_device.h
===================================================================
RCS file: uc_device.h
diff -N uc_device.h
--- /dev/null Fri Mar 24 02:17:20 2000
+++ uc_device.h Fri Mar 24 08:36:40 2000
@@ -0,0 +1,75 @@
+/**
+ ** Copyright (c) 1995
+ ** Michael Smith, [EMAIL PROTECTED] All rights reserved.
+ **
+ ** This code contains a module marked :
+
+ * Copyright (c) 1991 Regents of the University of California.
+ * All rights reserved.
+ * Copyright (c) 1994 Jordan K. Hubbard
+ * All rights reserved.
+ * Copyright (c) 1994 David Greenman
+ * All rights reserved.
+ *
+ * Many additional changes by Bruce Evans
+ *
+ * This code is derived from software contributed by the
+ * University of California Berkeley, Jordan K. Hubbard,
+ * David Greenman and Bruce Evans.
+
+ ** As such, it contains code subject to the above copyrights.
+ ** The module and its copyright can be found below.
+ **
+ ** Redistribution and use in source and binary forms, with or without
+ ** modification, are permitted provided that the following conditions
+ ** are met:
+ ** 1. Redistributions of source code must retain the above copyright
+ ** notice, this list of conditions and the following disclaimer as
+ ** the first lines of this file unmodified.
+ ** 2. Redistributions in binary form must reproduce the above copyright
+ ** notice, this list of conditions and the following disclaimer in the
+ ** documentation and/or other materials provided with the distribution.
+ ** 3. All advertising materials mentioning features or use of this software
+ ** must display the following acknowledgment:
+ ** This product includes software developed by Michael Smith.
+ ** 4. The name of the author may not be used to endorse or promote products
+ ** derived from this software without specific prior written permission.
+ **
+ ** THIS SOFTWARE IS PROVIDED BY MICHAEL SMITH ``AS IS'' AND ANY EXPRESS OR
+ ** IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ ** OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ ** IN NO EVENT SHALL MICHAEL SMITH BE LIABLE FOR ANY DIRECT, INDIRECT,
+ ** INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ ** NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ ** THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ **
+ ** $FreeBSD: src/sys/i386/i386/userconfig.c,v 1.178 2000/03/19 12:57:49 peter Exp $
+ **/
+
+#ifndef _I386_MACHINE_UC_DEVICE_H
+#define _I386_MACHINE_UC_DEVICE_H
+
+#define _I386_ISA_ISA_DEVICE_H_
+
+/*
+ * Per device structure. This just happens to resemble the old isa_device
+ * but that is by accident. It is NOT the same.
+ */
+struct uc_device {
+ int id_id; /* device id */
+ char *id_name; /* device name */
+ int id_iobase; /* base i/o address */
+ u_int id_irq; /* interrupt request */
+ int id_drq; /* DMA request */
+ caddr_t id_maddr; /* physical i/o memory address on bus (if any)*/
+ int id_msize; /* size of i/o memory */
+ int id_unit; /* unit number */
+ int id_flags; /* flags */
+ int id_enabled; /* is device enabled */
+ struct uc_device *id_next; /* used in uc_devlist in userconfig() */
+};
+
+#endif
Index: release/sysinstall/Makefile
===================================================================
RCS file: /usr/cvs/src/release/sysinstall/Makefile,v
retrieving revision 1.92
diff -u -r1.92 Makefile
--- release/sysinstall/Makefile 2000/02/11 09:12:17 1.92
+++ release/sysinstall/Makefile 2000/03/24 15:34:23
@@ -18,7 +18,6 @@
keymap.h
CFLAGS+= -Wall -I${.CURDIR}/../../gnu/lib/libdialog -I${.OBJDIR}
-CFLAGS+= -I${.CURDIR}/../../sys
.if ${MACHINE_ARCH} != "i386" || defined(X_AS_PKG)
CFLAGS+= -DX_AS_PKG
.endif
Index: release/sysinstall/kget.c
===================================================================
RCS file: /usr/cvs/src/release/sysinstall/kget.c,v
retrieving revision 1.14
diff -u -r1.14 kget.c
--- release/sysinstall/kget.c 1999/09/04 16:01:14 1.14
+++ release/sysinstall/kget.c 2000/03/24 15:29:08
@@ -37,7 +37,7 @@
#include "sysinstall.h"
#include <sys/sysctl.h>
-#include <i386/isa/isa_device.h>
+#include <machine/uc_device.h>
int
kget(char *out)
@@ -47,7 +47,7 @@
char *mib1 = "machdep.uc_devlist";
char name[9];
FILE *fout = NULL;
- struct isa_device *id;
+ struct uc_device *id;
char *p;
/* create the output file; if we end up not writing to it, we'll
@@ -79,8 +79,8 @@
i = 0;
while (i < len) {
- id = (struct isa_device *)(buf + i);
- p = (buf + i + sizeof(struct isa_device));
+ id = (struct uc_device *)(buf + i);
+ p = (buf + i + sizeof(struct uc_device));
strncpy(name, p, 8);
if (!id->id_enabled) {
bytes_written += fprintf(fout, "di %s%d\n", name, id->id_unit);
@@ -110,7 +110,7 @@
bytes_written += fprintf(fout, "f %s%d %#x\n", name,
id->id_unit, id->id_flags);
}
- i += sizeof(struct isa_device) + 8;
+ i += sizeof(struct uc_device) + 8;
}
bail:
Comments?
--
John Baldwin <[EMAIL PROTECTED]> -- http://www.cslab.vt.edu/~jobaldwi/
PGP Key: http://www.cslab.vt.edu/~jobaldwi/pgpkey.asc
"Power Users Use the Power to Serve!" - http://www.FreeBSD.org/
To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message