head 1.3; access; symbols pkgsrc-2013Q2:1.3.0.10 pkgsrc-2013Q2-base:1.3 pkgsrc-2012Q4:1.3.0.8 pkgsrc-2012Q4-base:1.3 pkgsrc-2011Q4:1.3.0.6 pkgsrc-2011Q4-base:1.3 pkgsrc-2011Q2:1.3.0.4 pkgsrc-2011Q2-base:1.3 pkgsrc-2009Q4:1.3.0.2 pkgsrc-2009Q4-base:1.3 pkgsrc-2009Q2:1.2.0.58 pkgsrc-2009Q2-base:1.2 pkgsrc-2009Q1:1.2.0.56 pkgsrc-2009Q1-base:1.2 pkgsrc-2008Q4:1.2.0.54 pkgsrc-2008Q4-base:1.2 pkgsrc-2008Q3:1.2.0.52 pkgsrc-2008Q3-base:1.2 cube-native-xorg:1.2.0.50 cube-native-xorg-base:1.2 pkgsrc-2008Q2:1.2.0.48 pkgsrc-2008Q2-base:1.2 cwrapper:1.2.0.46 pkgsrc-2008Q1:1.2.0.44 pkgsrc-2008Q1-base:1.2 pkgsrc-2007Q4:1.2.0.42 pkgsrc-2007Q4-base:1.2 pkgsrc-2007Q3:1.2.0.40 pkgsrc-2007Q3-base:1.2 pkgsrc-2007Q2:1.2.0.38 pkgsrc-2007Q2-base:1.2 pkgsrc-2007Q1:1.2.0.36 pkgsrc-2007Q1-base:1.2 pkgsrc-2006Q4:1.2.0.34 pkgsrc-2006Q4-base:1.2 pkgsrc-2006Q3:1.2.0.32 pkgsrc-2006Q3-base:1.2 pkgsrc-2006Q2:1.2.0.30 pkgsrc-2006Q2-base:1.2 pkgsrc-2006Q1:1.2.0.28 pkgsrc-2006Q1-base:1.2 pkgsrc-2005Q4:1.2.0.26 pkgsrc-2005Q4-base:1.2 pkgsrc-2005Q3:1.2.0.24 pkgsrc-2005Q3-base:1.2 pkgsrc-2005Q2:1.2.0.22 pkgsrc-2005Q2-base:1.2 pkgsrc-2005Q1:1.2.0.20 pkgsrc-2005Q1-base:1.2 pkgsrc-2004Q4:1.2.0.18 pkgsrc-2004Q4-base:1.2 pkgsrc-2004Q3:1.2.0.16 pkgsrc-2004Q3-base:1.2 pkgsrc-2004Q2:1.2.0.14 pkgsrc-2004Q2-base:1.2 pkgsrc-2004Q1:1.2.0.12 pkgsrc-2004Q1-base:1.2 pkgsrc-2003Q4:1.2.0.10 pkgsrc-2003Q4-base:1.2 netbsd-1-6-1:1.2.0.6 netbsd-1-6-1-base:1.2 netbsd-1-6:1.2.0.8 netbsd-1-6-RELEASE-base:1.2 pkgviews:1.2.0.4 pkgviews-base:1.2 buildlink2:1.2.0.2 buildlink2-base:1.2 netbsd-1-5-PATCH003:1.2 netbsd-1-5-PATCH001:1.2 netbsd-1-5-RELEASE:1.1 netbsd-1-4-PATCH003:1.1; locks; strict; comment @# @; 1.3 date 2009.08.14.22.52.21; author asau; state dead; branches; next 1.2; 1.2 date 2000.11.13.23.58.12; author hubertf; state Exp; branches; next 1.1; 1.1 date 2000.04.11.06.54.46; author itohy; state Exp; branches; next ; desc @@ 1.3 log @Update to Gforth 0.7.0. User-visible changes between 0.6.2 and 0.7.0: Requirements: At run-time requires libtool and gcc (for the libcc C interface) and gdb (for the disassembler (SEE)) on some platforms. License: Changed to GPLv3 Bug fixes Now works with address-space randomization. The single-step debugger works again in some engines. Many others. Ports: AMD64, ARM, IA-64 (Itanium): better performance PPC, PPC64: disassembler and assembler Gforth EC: R8C, 4stack, misc, 8086 work MacOS X: better support Invocation: New flags --ignore-async-signals, --vm-commit (default overcommit) --print-sequences Forth 200x: X:extension-query: produce true for all implemented extensions X:required REQUIRED etc. (not new) X:defined: [DEFINED] and [UNDEFINED] X:parse-name: PARSE-NAME (new name) X:deferred: deferred words (new: DEFER@@ DEFER! ACTION-OF) X:structures: +FIELD FIELD: FFIELD: CFIELD: etc. X:ekeys: new: EKEY>FKEY K-SHIFT-MASK K-CTRL-MASK K-ALT-MASK K-F1...K-F12 X:fp-stack (not new) X:number-prefixes (partially new, see below) Number prefixes: 0x is a hex prefix: 0xff and 0XfF now produces (decimal) 255 # is a decimal prefix: #10 now produces (decimal) 10 Signs after the number prefix are now accepted, e.g, #-50. ' now only handles a single (x)char: 'ab is no longer accepted, 'a' now produces (decimal) 97 Unicode support (currently supports only uniform encoding): added xchars words for dealing with variable-width multi-byte characters provide 8bit (ISO Latin 1) and UTF-8 support for xchars New words: \C C-FUNCTION C-LIBRARY END-C-LIBRARY C-LIBRARY-NAME (libcc C interface) LIB-ERROR (complements OPEN-LIB) OUTFILE-EXECUTE INFILE-EXECUTE BASE-EXECUTE (limited change of global state) 16-bit and 32-bit memory acces: UW@@ UL@@ SW@@ SL@@ W! L! W@@ L@@ /W /L NEXT-ARG SHIFT-ARGS (OS command-line argument processing) NOTHROW (for backtrace control) FTRUNC FMOD (undocumented) SEE-CODE SEE-CODE-RANGE (show generated dynamic native code) Improvements/changes of existing words: S\", .\" now support \l, \m, \z, and limits hex and octal character specs. OPEN-FILE with W/O no longer creates or truncates files (no compat. file) OPEN-LIB now understands ~ at the start, like OPEN-FILE. TRY...ENDTRY changed significantly, compatibility files available (see docs). The disassembler (DISCODE) can now use gdb to disassemble code Uninitialized defered words now give a warning when executed Division is floored (disable with "configure --enable-force-cdiv") Gforth (not gforth-fast) reports division by zero and overflow on division on all platforms. Newly documented words: S>NUMBER? S>UNUMBER? EKEY keypress names: K-LEFT K-RIGHT K-UP K-DOWN K-HOME K-END K-PRIOR K-NEXT K-INSERT K-DELETE CLEARSTACKS FORM Environment variable GFORTHSYSTEMPREFIX (used by word SYSTEM and friends) C interface: exported symbols now start with "gforth_" (for referencing them from C code) libcc C function call interface (requires libtool and gcc at run-time) alternative: undocumented libffi-based interface Libraries: depth-changes.fs: report stack depth changes during interpretation ans-report.fs now reports CfV extensions fsl-util.4th: FSL support files (undocumented) regexp.fs for regular expressions (undocumented) complex.fs for complex numbers (undocumented) fft.fs for Fast Fourier Transform (undocumented) wf.fs, a Wiki implementation (undocumented) httpd.fs, a web server (undocumented) status.fs, show interpreter status in separate xterm (undocumented) profile.fs for profiling (undocumented, incomplete) endtry-iferror.fs, recover-endtry.fs to ease the TRY change transition test/tester.fs: Now works with FP numbers (undocumented) test/ttester.fs: Version of tester.fs with improved interface (T{...}T). compat library: compat/execute-parsing.fs Speed improvements: automatic performance tuning on building static stack caching (good speedup on PPC) mixed-precision division is now faster support for int128 types on AMD64 workarounds for gcc performance bugs (in particular, PR 15242) branch target alignment (good speedup on Alpha). @ text @$NetBSD: patch-ab,v 1.2 2000/11/13 23:58:12 hubertf Exp $ --- arch/m68k/machine.h.orig Sat Sep 23 20:22:05 2000 +++ arch/m68k/machine.h @@@@ -44,7 +44,16 @@@@ */ #if defined(apollo) # define FLUSH_ICACHE(addr,size) cache_$clear() -#elif defined(NeXT) +#elif defined(__NetBSD__) +# define FLUSH_ICACHE(addr,size) do { \ + register void *addr_ asm("a1") = (addr); \ + register int size_ asm("d1") = (size); \ + register int cmd_ asm("d0") = 0x80000004; \ + asm volatile(" trap #12" \ + : "=a" (addr_), "=d" (size_), "=d" (cmd_) \ + : "0" (addr_), "1" (size_), "2" (cmd_) : "a0"); \ + } while (0) +#elif defined(NeXT) || defined(sun) # define FLUSH_ICACHE(addr,size) asm("trap #2"); #elif defined(hpux) # include @ 1.2 log @Update to v0.5.0, requested by Jorge Acereda User-visible changes between 0.4.0 and 0.5.0: Changes in behaviour: There are now two engines: the fast engine (gforth-fast) is at least as fast as gforth in earlier releases; the debugging engine (gforth) supports precise backtracing for signals (e.g., illegal memory access), but is slower by a factor of 1-2. Block files now start at block 0 by default (instead of block 1). If you have block files around, prepend 1024 bytes to convert them, or do a "1 OFFSET !" to establish the old behaviour. Gforth now does not translate newlines to LFs on reading. Instead, READ-LINE now interprets LF, CR, and CRLF as newlines. Newlines on output are in the OSs favourite format. SEE now disassembles primitives (or hex-DUMPs the code if no disassembler is available). >HEAD (aka >NAME) now returns 0 (instead of the nt of ???) on failure. Syntax of prim changed: stack effects are now surrounded by parentheses, tabs are insignificant. Operating environment: Gforth now produces a backtrace when catching an exception. On platforms supporting the Unix 98 SA_SIGINFO semantics, you get more precise error reports for SIGSEGV and SIGFPE (e.g., "stack underflow" instead of "Invalid memory address"). Gforth now produces exit code 1 if there is an error (i.e., an uncaught THROW) in batch processing. You can use "gforthmi --application ..." to build an image that processes the whole command-line when invoked directly (instead of through gforth -i). Ports: AIX. 20% speedup on 604e under powerpc-unknown-linux-gnu, 19%-29% speedup on Celeron with gcc-2.95. New words: Missing ANS Forth words: EKEY EKEY? EKEY>CHAR Timing words: CPUTIME UTIME Vector arithmetic: V* FAXPY FP comparison: F~ABS F~REL Deferred words: [IS] Nested number output: <<# #>> Exception handling: TRY RECOVER ENDTRY Directory handling: OPEN-DIR READ-DIR CLOSE-DIR FILENAME-MATCH Other: ]L PUSH-ORDER Miscellaneous: Significant extensions to the manual (added an introduction, among other things), many of them due to a new team member: Neal Crook. Added assemblers and disassemblers for 386, Alpha, MIPS (thanks to contributions by Andrew McKewan, Bernd Thallner, and Christian Pirker). Contributions of assemblers and disassemblers for other architectures are welcome. @ text @d1 1 a1 1 $NetBSD$ @ 1.1 log @Port to m68k. Possibly work on other architectures, but not tested. @ text @d3 3 a5 3 --- arch/m68k/machine.h.orig Sat Dec 19 19:22:27 1998 +++ arch/m68k/machine.h Sun Apr 9 23:53:32 2000 @@@@ -42,7 +42,16 @@@@ @