From owner-freebsd-current Sat Oct 31 14:54:02 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id OAA27853 for freebsd-current-outgoing; Sat, 31 Oct 1998 14:54:02 -0800 (PST) (envelope-from owner-freebsd-current@FreeBSD.ORG) Received: from korin.warman.org.pl (korin.nask.waw.pl [148.81.160.10]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id OAA27837 for ; Sat, 31 Oct 1998 14:53:59 -0800 (PST) (envelope-from abial@nask.pl) Received: from localhost (abial@localhost) by korin.warman.org.pl (8.9.1/8.8.5) with SMTP id XAA09921; Sat, 31 Oct 1998 23:59:13 +0100 (CET) X-Authentication-Warning: korin.warman.org.pl: abial owned process doing -bs Date: Sat, 31 Oct 1998 23:59:13 +0100 (CET) From: Andrzej Bialecki X-Sender: abial@korin.warman.org.pl To: Mike Smith cc: current@FreeBSD.ORG Subject: Re: New boot loader and alternate kernels In-Reply-To: <199810302013.MAA01772@dingo.cdrom.com> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG On Fri, 30 Oct 1998, Mike Smith wrote: > > I think this is important opportunity - let's not miss it without good > > reasons... As I said, there are people among us who can even write small > > enough Forth kernel for our purposes. > > I have no desire to miss it. Give me a compact Forth interpreter that > links against libstand and you'll be seeing it everywhere Real Soon. Here it is: it's called FICL (Forth Inspired Command Language), written in ANSI C, designed to be embedded in other programs, implements ANS-Forth CORE, CORE-EXT, TOOLS, SEARCH wordlists and its own OOP extensions. You can find it on taygeta. It's freeware, and actively maintained. Because of its purpose, it comes in a form of library. Here is its contents: abial# size libficl.a text data bss dec hex filename 2403 0 0 2403 963 dict.o (ex libficl.a) 989 20 0 1009 3f1 ficl.o (ex libficl.a) 892 0 0 892 37c math64.o (ex libficl.a) 63 3130 0 3193 c79 softcore.o (ex libficl.a) 674 0 0 674 2a2 stack.o (ex libficl.a) 253 0 0 253 fd sysdep.o (ex libficl.a) 2154 44 0 2198 896 vm.o (ex libficl.a) 18222 92 0 18314 478a words.o (ex libficl.a) (this can be still reduced if we limit ourselves to CORE words - I think 1/3 of words.o would go away). I haven't tried to link it against libstand, and you probably know better than I what is and what is not possible with it, so below is list of the symbols it needs from libc, when linking a simple test program: abial# nm testmain|grep "U "|sort -u U ___runetype U ___tolower U __assert U atexit U exit U fputs U free U longjmp U malloc U puts U setjmp U sprintf U strcat U strcmp U strncpy U vsprintf So, how about that? Andrzej Bialecki -------------------- ++-------++ ------------------------------------- ||PicoBSD|| FreeBSD in your pocket? Go and see: Research & Academic |+-------+| "Small & Embedded FreeBSD" Network in Poland | |TT~~~| | http://www.freebsd.org/~picobsd/ -------------------- ~-+==---+-+ ------------------------------------- To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message