From owner-freebsd-stable Sat May 26 22:29:49 2001 Delivered-To: freebsd-stable@freebsd.org Received: from mta5.snfc21.pbi.net (mta5.snfc21.pbi.net [206.13.28.241]) by hub.freebsd.org (Postfix) with ESMTP id 8F6C837B423; Sat, 26 May 2001 22:29:46 -0700 (PDT) (envelope-from gdinolt@pacbell.net) Received: from pacbell.net ([63.199.30.251]) by mta5.snfc21.pbi.net (Sun Internet Mail Server sims.3.5.2000.01.05.12.18.p9) with ESMTP id <0GDZ003OBB9J5R@mta5.snfc21.pbi.net>; Sat, 26 May 2001 22:29:43 -0700 (PDT) Date: Sat, 26 May 2001 22:29:44 -0700 From: "George W. Dinolt" Subject: Kernel Build Failure in kern/subr_disk.c To: freebsd-stable@freebsd.org Cc: jkh@freebsd.org Message-id: <3B1090C8.B4FF2156@pacbell.net> MIME-version: 1.0 X-Mailer: Mozilla 4.77 [en] (X11; U; Linux 2.2.12 i386) Content-type: text/plain; charset=us-ascii Content-transfer-encoding: 7bit X-Accept-Language: en Sender: owner-freebsd-stable@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG sys/kern/subr_disk.c was updated May 26. The update seems to have caused a problem. I get the following when trying to compile this file as part of a buildkernel: cc -c -O -pipe -march=k6 -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual -fformat-extensions -ansi -nostdinc -I- -I. -I/usr/src/sys -I/usr/src/sys/../include -D_KERNEL -include opt_global.h -elf -mpreferred-stack-boundary=2 /usr/src/sys/kern/subr_disk.c /usr/src/sys/kern/subr_disk.c: In function `disk_create': /usr/src/sys/kern/subr_disk.c:75: structure has no member named `d_list' /usr/src/sys/kern/subr_disk.c:75: structure has no member named `d_list' /usr/src/sys/kern/subr_disk.c:75: structure has no member named `d_list' /usr/src/sys/kern/subr_disk.c:75: structure has no member named `d_list' /usr/src/sys/kern/subr_disk.c: In function `disk_destroy': /usr/src/sys/kern/subr_disk.c:116: structure has no member named `d_list' /usr/src/sys/kern/subr_disk.c:116: structure has no member named `d_list' /usr/src/sys/kern/subr_disk.c:116: structure has no member named `d_list' /usr/src/sys/kern/subr_disk.c:116: structure has no member named `d_list' /usr/src/sys/kern/subr_disk.c:116: structure has no member named `d_list' /usr/src/sys/kern/subr_disk.c: In function `disk_enumerate': /usr/src/sys/kern/subr_disk.c:129: structure has no member named `d_list' /usr/src/sys/kern/subr_disk.c:130: warning: control reaches end of non-void function After some investigation, it appears that subr_disk.c now uses a LIST. The code for initializing and maintaining a "disklist" is now in this routine, but there is no LIST_ENTRY in the disk structure in sys/include/disk.h. Patching the file as follows (taken from -current) seems to fix the compilation problem and generates a kernel that at least works for me. I am not sure what effects this change will have on userland. --- disk.h.orig Sat May 26 21:38:19 2001 +++ disk.h Sat May 26 21:39:48 2001 @@ -28,6 +28,7 @@ dev_t d_dev; struct diskslices *d_slice; struct disklabel d_label; + LIST_ENTRY(disk) d_list; }; #define DISKFLAG_LOCK 0x1 This change may cause other problems, but someone much more knowledgeable than I should look at this. -- G. Dinolt To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-stable" in the body of the message