History log of /freebsd-9.3-release/sys/boot/ficl/Makefile
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
# 267654 19-Jun-2014 gjb

Copy stable/9 to releng/9.3 as part of the 9.3-RELEASE cycle.

Approved by: re (implicit)
Sponsored by: The FreeBSD Foundation

# 260096 30-Dec-2013 dim

MFC r257532 (by adrian):

Fix this build for clang.

MFC r259730:

To avoid having to explicitly test COMPILER_TYPE for setting
clang-specific or gcc-specific flags, introduce the following new
variables for use in Makefiles:

CFLAGS.clang
CFLAGS.gcc
CXXFLAGS.clang
CXXFLAGS.gcc

In bsd.sys.mk, these get appended to the regular CFLAGS or CXXFLAGS for
the right compiler.

MFC r259913:

For libstand and sys/boot, split off gcc-only flags into CFLAGS.gcc.

MFC r259927:

Fix pc98 build, by also forcing COMPILER_TYPE in sys/boot/pc98/boot2's
Makefile.

Pointy hat to: dim


# 243219 18-Nov-2012 avg

MFC r241785: boot: use -march=i386 for both i386 and amd64 builds


# 238992 02-Aug-2012 ache

MFC r238795

Try to avoid all files dependence on the modification time of the large
and often modified directory created symbolic links points to - it cause
unnecessary full rebuilds each time make runs when directory is changed.
So do it only if symbolic link does not exists, which usually means that
objdir is clean anyway.

Approved by: re (kib)


# 225736 22-Sep-2011 kensmith

Copy head to stable/9 as part of 9.0-RELEASE release cycle.

Approved by: re (implicit)


# 217033 05-Jan-2011 dim

On i386 and amd64, consistently use the following options whenever we
want to avoid using any "advanced" CPU features:

-mno-mmx -mno-3dnow -mno-sse -mno-sse2 -mno-sse3 -msoft-float


# 217030 05-Jan-2011 dim

Remove an empty .if/.endif pair from sys/boot/ficl/Makefile that I
forgot to cleanup in the last commit.


# 217029 05-Jan-2011 dim

In lib/libstand, sys/boot/ficl and sys/boot/zfs, -mno-sse3 should also
be used for amd64, not just for i386.


# 211678 22-Aug-2010 imp

MF tbemd: Minor tweaks, prefer MACHINE_CPUARCH generally to MACHINE_ARCH (which simplifies some powerpc/powerpc64 ifs)


# 209920 11-Jul-2010 nwhitehorn

Provide support in loader for booting 64-bit PowerPC kernels. Like amd64,
64-bit PowerPC kernels are loaded by a 32-bit loader, since nearly all
powerpc64 firmwares execute in 32-bit mode.


# 183878 14-Oct-2008 raj

Initial support of loader(8) for ARM machines running U-Boot.

This uses the common U-Boot support lib (sys/boot/uboot, already used on
FreeBSD/powerpc), and assumes the underlying firmware has the modern API for
stand-alone apps enabled in the config (CONFIG_API).

Only netbooting is supported at the moment.

Obtained from: Marvell, Semihalf


# 172664 15-Oct-2007 nyan

Optimize for size on pc98. It enables to boot a kernel again.

I don't know what's wrong (loader, boot2 or others), but this change is
effective.

Tested by: NAKAJI Hiroyuki
MFC after: 3 days


# 162717 28-Sep-2006 ru

Add -march=i386 to fix amd64 build by generating the same code
as i386 would do.


# 158466 12-May-2006 jhb

Remove Alpha bits for ficl.


# 148046 15-Jul-2005 ache

Add -mno-sse3 for prescott/nocona


# 146828 31-May-2005 obrien

Ensure GCC does not use FP registers in integer code.
I really don't like cluttering up the compiler invocation,
but this bigger hammer will fix reported problems for now.


# 136910 24-Oct-2004 ru

For variables that are only checked with defined(), don't provide
any fake value.


# 134215 23-Aug-2004 obrien

Forced commit to document:

Doug Rabson <dfr@nlsystems.com>
Message-Id: <200408220940.18504.dfr@nlsystems.com>
Size does matter for the alpha loader. The firmware gives it 256k
of address space which we overflowed many years ago. I extended it
in sys/boot/alpha/common/main.c:extend_heap() by adding 512k to the
loader's mapped address space.


# 134148 22-Aug-2004 marcel

Part 2 of fixing the boot code: gcc 3.4 fixes.

The whole problem seems to be size. Which is odd, because it is said
that size doesn't matter. Anyway... Add -Os to strategic places in the
makefile to have the final loader be as mall as possible. This seems
to be enough to make it work. For now... I think something is more
fundamentally wrong; or something more fundamental is wrong. Potato,
potaato.


# 125556 07-Feb-2004 ru

Untangle building of AMD64 boot code.

Tested on: amd64 (sledge)


# 123374 10-Dec-2003 grehan

Disable floating point on PowerPC for the ficl library.


# 117081 30-Jun-2003 ru

bsd.lib.mk,v 1.143 no longer uses ld(1) directly to strip
symbols from intermediate object files, so these hacks to
get AMD64 compile are no longer needed.

Tested on: sledge.FreeBSD.org


# 116864 26-Jun-2003 peter

Build on amd64. Yes, I know this isn't particularly nice.


# 116000 08-Jun-2003 nyan

Set arch-pc98 env to true for pc98.


# 96513 13-May-2002 ru

Removed now unused INTERNALSTATICLIB.
INTERNALLIB now implies NOPIC and NOPROFILE.
Removed gratuitous NOMAN.


# 96455 12-May-2002 obrien

Back out last commit. I expect our bsd.*.mk gods to remove the need for
defining so many extra things in addition to INTERNALLIB. We don't like
repetitive C code and we shouldn't for make code either.


# 96415 11-May-2002 obrien

NOPIC, NOPROFILE, NOMAN, and INTERNALSTATICLIB are redundant when using
INTERNALLIB now.


# 96342 10-May-2002 obrien

-ffreestanding is the word.
(also resort some CFLAGS such that the more "important" value are first so
they are easier to see)


# 96261 09-May-2002 obrien

Partical style cleanup.


# 94290 09-Apr-2002 dcs

Upgrade to FICL version 3.02. Anything wrong is my fault, everything right is
due Jon Mini.

PR: 36308
Submitted by: Jon Mini <mini@haikugeek.com>
MFC after: 4 weeks


# 76116 29-Apr-2001 dcs

Bring in ficl 2.05.

This version has a step debugger, which now completely replaces the
old trace feature. Also, we moved all of the FreeBSD-specific MI
code to loader.c, reducing the diff between this and the official
FICL distribution.


# 73349 02-Mar-2001 ru

setlocale(3) has been fixed to match POSIX standard:
LC_ALL takes precedence over other LC_* envariables.


# 69430 30-Nov-2000 ache

Cosmetique: don't use localized `date`


# 68729 14-Nov-2000 obrien

Don't use the Gawkism strftime(). Pass in the date stamp on the awk
command line instead.

Approved by: dcs


# 65698 10-Sep-2000 dfr

Fix this so that we actually define HAVE_PNP when its available.


# 65677 10-Sep-2000 dfr

Only build PnP parts if the platform supports PnP.


# 64550 11-Aug-2000 peter

Add -mpreferred-stack-boundary=2 to CFLAGS for i386. This and libstand
reduces /boot/loader from 163840 bytes to 155648 and pxeboot from 165888
bytes to 157696 bytes.


# 61374 07-Jun-2000 dcs

Add setenv, getenv, setenv?, unsetenv, copyin and copyout to FICL.


# 60480 12-May-2000 peter

Stop libficl from using floating point registers - this was cauing
dictDelete() to fault early on the Alpha and was the original cause of
the Alpha ficl failures.


# 56717 28-Jan-2000 dcs

Add testmain.o to CLEANFILES.


# 56716 28-Jan-2000 dcs

Try my hand again at removing ugly testmain target.


# 53636 23-Nov-1999 dcs

Revert ill-considered simplification in 1.13.

Pointed by: peter


# 53635 23-Nov-1999 dcs

Improve Makefile by using .PATH.

Taught by: peter


# 53634 23-Nov-1999 dcs

Improve on ficl port to alpha.

Files sysdep.[ch] are now in ${MACHINE_ARCH} subdirectory. Internal
#if's used to identify the platform where removed.

Make rule for target testmain was greatly simplified, because it was
easier simplifying it than changing it to support the new location of
sysdep.[ch].

(a repo-copy was done on sysdep.[ch], of course)


# 51786 29-Sep-1999 dcs

Bring in ficl version 2.03. No version bump for loader.


# 50477 27-Aug-1999 peter

$Id$ -> $FreeBSD$


# 45355 06-Apr-1999 dcs

Reactivate trace! after making it egcs-friendly.


# 44839 17-Mar-1999 dcs

Disable trace! until it gets fixed.


# 43615 04-Feb-1999 dcs

Make FICL_TRACE default.

Add freebsd.fr, for FreeBSD specific forth source. Add $ and %, to
replace the lost @ and - functionality of include. $ has the opposite
behavior of @ though, since the default behavior was inverted.


# 42807 18-Jan-1999 msmith

Transition from using Perl to using awk for our text-manipulation
needs. This removes the dependancy on Perl for the generation of the
loader, allowing the world to be built on a perl-free system.

Submitted by: Joe Abley <jabley@clear.co.nz>


# 40929 05-Nov-1998 jkh

Remember a bit more of my forth and do:

o Add fexists word to check for the presence of a file
o make fexists and fload immediate words which DTRT both interpreted
and compiled (doh!)
o add an init word which gets run at bootstrapping time to do extra
post-coldload initialization (in the default implementation, we
look for /boot/boot.4th and load it if found).


# 40927 05-Nov-1998 jkh

1. rebuild all elements of testmain properly for safety.
2. add fload and key prims for doing simple file and terminal I/O, respectively


# 40924 05-Nov-1998 msmith

Explicitly invoke perl to run the softwords.pl script in case the
script is not executable.
Submitted by: Don Lewis <Don.Lewis@tsc.tdk.com>


# 40883 04-Nov-1998 msmith

Fix includes; we were still pulling in <stdlib.h> in some places.
Support building a standalone interpreter with 'make testmain', remove
win32 and egregious gets() in testmain.c


# 40876 03-Nov-1998 msmith

Make this work in the libstand environment; don't use stdio/stdlib headers.


# 40843 03-Nov-1998 msmith

Add the Ficl (Forth Inspired Command Language) interpreter. If all goes well,
this will allow us to manage bloat in the loader by using a bytecoded HLL
rather than lots of C code. It also offers an opportunity for vendors
or others with special applications to significantly customise the boot
process without having to commit to a divergent code branch.

This early commit is to allow others to experiment with the most effective
mechanisms for integrating FICL with the loader as it currently stands.

Ficl is distributed with the following license conditions:

"Ficl is freeware. Use it in any way that you like, with the understanding
that the code is not supported."

All source files contain authorship attributions.

Obtained from: John Sadler (john_sadler@alum.mit.edu)