svn commit: r307942 - in head/sys/boot: common efi/libefi ficl ficl32 i386/libi386 i386/loader
Warner Losh
imp at FreeBSD.org
Tue Oct 25 17:31:59 UTC 2016
Author: imp
Date: Tue Oct 25 17:31:57 2016
New Revision: 307942
URL: https://svnweb.freebsd.org/changeset/base/307942
Log:
Really make WITHOUT_FORTH (MK_FORTH==no) work. The recent inclusion of
FICL definitions not in ficl/ficl32 files broke this generally. This
makes that stuff conditional on BOOT_FORTH. Also, move definitions
related to the architecture (FICL_CPUARCH and friends) into
Makefile.ficl that all parts of the tree that include files with ficl
need to include (but only if MK_FORTH == yes). In addition, had to fix
library ordering issue with LIBSTAND to keep it last. Without boot
forth, there's no references to memset to bring in memset.o from
libstand.a to satisfy libgeliboot.a's use of it. Listing libstand last
solves this issue (and it's the proper place for libstand to boot).
Modified:
head/sys/boot/common/Makefile.inc
head/sys/boot/common/pnp.c
head/sys/boot/efi/libefi/Makefile
head/sys/boot/ficl/Makefile
head/sys/boot/ficl32/Makefile
head/sys/boot/i386/libi386/biospci.c
head/sys/boot/i386/loader/Makefile
Modified: head/sys/boot/common/Makefile.inc
==============================================================================
--- head/sys/boot/common/Makefile.inc Tue Oct 25 17:16:58 2016 (r307941)
+++ head/sys/boot/common/Makefile.inc Tue Oct 25 17:31:57 2016 (r307942)
@@ -60,6 +60,7 @@ SRCS+= pnp.c
# Forth interpreter
.if defined(BOOT_FORTH)
SRCS+= interp_forth.c
+.include "${SRCTOP}/sys/boot/Makefile.ficl"
.endif
.if defined(BOOT_PROMPT_123)
Modified: head/sys/boot/common/pnp.c
==============================================================================
--- head/sys/boot/common/pnp.c Tue Oct 25 17:16:58 2016 (r307941)
+++ head/sys/boot/common/pnp.c Tue Oct 25 17:31:57 2016 (r307942)
@@ -17,7 +17,9 @@ __FBSDID("$FreeBSD$");
#include <stand.h>
#include <string.h>
#include <bootstrap.h>
+#ifdef BOOT_FORTH
#include "ficl.h"
+#endif
static struct pnpinfo_stql pnp_devices;
static int pnp_devices_initted = 0;
@@ -186,6 +188,7 @@ pnp_eisaformat(u_int8_t *data)
return(idbuf);
}
+#ifdef BOOT_FORTH
void
ficlPnpdevices(FICL_VM *pVM)
{
@@ -230,3 +233,4 @@ static void ficlCompilePnp(FICL_SYSTEM *
}
FICL_COMPILE_SET(ficlCompilePnp);
+#endif
Modified: head/sys/boot/efi/libefi/Makefile
==============================================================================
--- head/sys/boot/efi/libefi/Makefile Tue Oct 25 17:16:58 2016 (r307941)
+++ head/sys/boot/efi/libefi/Makefile Tue Oct 25 17:31:57 2016 (r307942)
@@ -2,6 +2,10 @@
.include <src.opts.mk>
+.if ${MK_FORTH} != "no"
+.include "${.CURDIR}/../../Makefile.ficl"
+.endif
+
LIB= efi
INTERNALLIB=
WARNS?= 2
@@ -16,8 +20,6 @@ SRCS+= time_event.c
.endif
.if ${MK_FORTH} != "no"
SRCS+= env.c
-CFLAGS+= -I${.CURDIR}/../../ficl
-CFLAGS+= -I${.CURDIR}/../../ficl/${MACHINE_CPUARCH}
.endif
# We implement a slightly non-standard %S in that it always takes a
Modified: head/sys/boot/ficl/Makefile
==============================================================================
--- head/sys/boot/ficl/Makefile Tue Oct 25 17:16:58 2016 (r307941)
+++ head/sys/boot/ficl/Makefile Tue Oct 25 17:31:57 2016 (r307942)
@@ -1,15 +1,8 @@
# $FreeBSD$
#
-FICLDIR?= ${.CURDIR}
+.include "${.CURDIR}/../Makefile.ficl"
-.if defined(FICL32)
-.PATH: ${FICLDIR}/${MACHINE_CPUARCH:S/amd64/i386/}
-.elif ${MACHINE_ARCH} == "mips64" || ${MACHINE_ARCH} == "mips64el"
-.PATH: ${FICLDIR}/mips64
-.else
-.PATH: ${FICLDIR}/${MACHINE_CPUARCH}
-.endif
BASE_SRCS= dict.c ficl.c fileaccess.c float.c loader.c math64.c \
prefix.c search.c stack.c tools.c vm.c words.c
@@ -41,42 +34,6 @@ SOFTWORDS= softcore.fr jhlocal.fr marker
# Optional OO extension softwords
#SOFTWORDS+= oo.fr classes.fr
-.if ${MACHINE_CPUARCH} == "amd64"
-.if defined(FICL32)
-CFLAGS+= -m32 -I.
-.else
-CFLAGS+= -fPIC
-.endif
-.endif
-
-.if ${MACHINE_ARCH} == "powerpc64"
-CFLAGS+= -m32 -mcpu=powerpc -I.
-.endif
-
-.if ${MACHINE_CPUARCH} == "amd64" && defined(FICL32)
-FICL_CPUARCH= i386
-.elif ${MACHINE_ARCH} == "mips64" || ${MACHINE_ARCH} == "mips64el"
-FICL_CPUARCH= mips64
-.else
-FICL_CPUARCH= ${MACHINE_CPUARCH}
-.endif
-
-CFLAGS+= -I${FICLDIR} -I${FICLDIR}/${FICL_CPUARCH} \
- -I${FICLDIR}/../common
-
softcore.c: ${SOFTWORDS} softcore.awk
(cd ${FICLDIR}/softwords; cat ${SOFTWORDS} \
| awk -f softcore.awk -v datestamp="`LC_ALL=C date`") > ${.TARGET}
-
-.if ${MACHINE_CPUARCH} == "amd64" && defined(FICL32)
-.if !exists(machine)
-${SRCS:M*.c:R:S/$/.o/g}: machine
-
-beforedepend ${OBJS}: machine
-.endif
-
-machine: .NOMETA
- ln -sf ${.CURDIR}/../../i386/include machine
-
-CLEANFILES+= machine
-.endif
Modified: head/sys/boot/ficl32/Makefile
==============================================================================
--- head/sys/boot/ficl32/Makefile Tue Oct 25 17:16:58 2016 (r307941)
+++ head/sys/boot/ficl32/Makefile Tue Oct 25 17:31:57 2016 (r307942)
@@ -1,8 +1,5 @@
# $FreeBSD$
FICL32=
-FICLDIR= ${.CURDIR}/../ficl
-.PATH: ${FICLDIR}
-
-.include "${FICLDIR}/Makefile"
+.include "${.CURDIR}/../ficl/Makefile"
Modified: head/sys/boot/i386/libi386/biospci.c
==============================================================================
--- head/sys/boot/i386/libi386/biospci.c Tue Oct 25 17:16:58 2016 (r307941)
+++ head/sys/boot/i386/libi386/biospci.c Tue Oct 25 17:31:57 2016 (r307942)
@@ -38,7 +38,9 @@ __FBSDID("$FreeBSD$");
#include <isapnp.h>
#include <btxv86.h>
#include "libi386.h"
+#ifdef BOOT_FORTH
#include "ficl.h"
+#endif
/*
* Stupid PCI BIOS interface doesn't let you simply enumerate everything
@@ -429,6 +431,7 @@ biospci_count_device_type(uint32_t devid
return i;
}
+#ifdef BOOT_FORTH
/*
* pcibios-device-count (devid -- count)
*
@@ -582,3 +585,4 @@ static void ficlCompilePciBios(FICL_SYST
}
FICL_COMPILE_SET(ficlCompilePciBios);
+#endif
Modified: head/sys/boot/i386/loader/Makefile
==============================================================================
--- head/sys/boot/i386/loader/Makefile Tue Oct 25 17:16:58 2016 (r307941)
+++ head/sys/boot/i386/loader/Makefile Tue Oct 25 17:31:57 2016 (r307942)
@@ -123,8 +123,8 @@ FILES+= loader.rc menu.rc
# XXX crt0.o needs to be first for pxeboot(8) to work
OBJS= ${BTXCRT}
-DPADD= ${LIBFICL} ${LIBFIREWIRE} ${LIBZFSBOOT} ${LIBI386} ${LIBSTAND} ${LIBGELIBOOT}
-LDADD= ${LIBFICL} ${LIBFIREWIRE} ${LIBZFSBOOT} ${LIBI386} ${LIBSTAND} ${LIBGELIBOOT}
+DPADD= ${LIBFICL} ${LIBFIREWIRE} ${LIBZFSBOOT} ${LIBI386} ${LIBGELIBOOT} ${LIBSTAND}
+LDADD= ${LIBFICL} ${LIBFIREWIRE} ${LIBZFSBOOT} ${LIBI386} ${LIBGELIBOOT} ${LIBSTAND}
.include <bsd.prog.mk>
More information about the svn-src-all
mailing list