Date: Mon, 6 Nov 2000 02:10:45 +1100 (EST) From: Bruce Evans <bde@zeta.org.au> To: Julian Elischer <julian@elischer.org> Cc: current@FreeBSD.ORG Subject: Re: silly dependencies Message-ID: <Pine.BSF.4.21.0011060155060.370-100000@besplex.bde.org> In-Reply-To: <3A049857.D3BB6C36@elischer.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, 4 Nov 2000, Julian Elischer wrote: > The following dependencies seem to be wrong in the code.. > > if you do not define inet, (e.g for a process controller with no > networking) > then uipc_accf.o will not link because it (wrongly) has it's > sysctl linked off 'net.inet' instead of 'net'. > once you get around that one you also find the following minimal config: > > ------------ > machine i386 > cpu I586_CPU > ident MINIMUM > maxusers 16 > hints "GENERIC.hints" #Default places to look for > devices. > options FFS > options FFS_ROOT #FFS usable as root device [keep > this!] > device isa > device fdc > device npx > device sio > ------------ > > fails to compile due to: I ran into this too, with the following really minimal (not very useful) config: --- machine i386 cpu I686_CPU ident MIN maxusers 2 --- (requires uncomitted fixes/hacks). > c -c -O -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes > -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual > -fformat-extensions -ansi -nostdinc -I- -I. -I../.. -I../../../include > -I../../contrib/dev/acpica/Subsystem/Include -D_KERNEL -include > opt_global.h -elf -mpreferred-stack-boundary=2 > ../../i386/i386/machdep.c > ../../i386/i386/machdep.c:761: warning: function declaration isn't a > prototype > ../../i386/i386/machdep.c: In function `osigreturn': > ../../i386/i386/machdep.c:771: dereferencing pointer to incomplete type > ../../i386/i386/machdep.c:767: warning: `scp' might be used > uninitialized in this function > *** Error code 1 > > > because osigreturn_args is defined only in COMPAT_43. > (making it not really an option) This is in the function > int > osigreturn(p, uap) > (Old_sigreturn)... surely this should also be made conditional on > COMPAT_43? > The trouble with that is tha the new sigreturn calls the osigreturn in > some cases > > if (((struct osigcontext *)ucp)->sc_trapno == 0x01d516) > to be exact.. > this needs cleaning up. Who understands this stuff? I sent (not quite right) patches for it to Marcel a year ago. Just add (not quite right) COMPAT_43 || COMPAT_SUNOS ifdefs in about 50 places, and avoid calling osigreturn when it doesn't exist. The "not quite right" part is that this has nothing to do with 4.3BSD or SunOS compatibility. It is for 4.4BSD/FreeBSD[2-3] compatibility. Precise ifdefs for it could get very messy. > It is interesting to see that there is NO way to disable all networking > (e.g unix domain sockets) This worked before the accf changes. I asked Alfred to fix them. I only fixed the sysctl problem with it here and am left with the following errors for my minimal kernel: uipc_socket.o: In function `sodealloc': uipc_socket.o(.text+0x262): undefined reference to `M_ACCF' uipc_socket.o(.text+0x272): undefined reference to `M_ACCF' uipc_socket.o: In function `do_setopt_accept_filter': uipc_socket.o(.text+0x1d3e): undefined reference to `M_ACCF' uipc_socket.o(.text+0x1d4e): undefined reference to `M_ACCF' uipc_socket.o(.text+0x1dcd): undefined reference to `accept_filt_get' uipc_socket.o(.text+0x1deb): undefined reference to `M_ACCF' uipc_socket.o(.text+0x1e2a): undefined reference to `M_ACCF' uipc_socket.o(.text+0x1e61): undefined reference to `M_ACCF' uipc_socket.o(.text+0x1e6e): undefined reference to `M_ACCF' Bruce To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.21.0011060155060.370-100000>