Commit graph

12 commits

Author SHA1 Message Date
dholland
41c6e246f4 Add patch comments. 2015-12-29 23:34:43 +00:00
ryoon
48889d6ba1 Update to 0.7.3
Changelog:
User-visible changes between 0.7.2 and 0.7.3:
Bug fixes
    Backported protection against glibc math functions clobbering TOS

User-visible changes between 0.7.1 and 0.7.2:
Bug fixes
    Makefile fixes for installing

User-visible changes between 0.7.0 and 0.7.1:
Bug fixes
    amd64 gdb disassembler works with syntax change (autodetected) workaround for gcc 4.6 and 4.7 problems (newline and superinstructions)
Miscellaneous
    changed repository from CVS to git
2015-03-06 23:56:47 +00:00
joerg
040f7154fd Remove -fno-defer-pop -fcaller-saves -fno-inline, which are workarounds
for various ancient GCC versions.
2013-10-28 23:48:30 +00:00
joerg
5a72270429 -export-dynamic is a linker option, pass it down as such. 2013-06-13 21:43:26 +00:00
asau
29037e171d Fix annoying marker bug. 2011-03-29 21:19:19 +00:00
asau
fd51e4effb 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).
2009-08-14 22:52:20 +00:00
ben
0ee1bbe509 The gforth configure script tests for linker support of -export-dynamic,
and then adds it to  LDFLAGS.  Later, the configure script tests for the
presence of certain functions in libc, and expects to get an error at
link time if the functions are missing.  On Interix with -export-dynamic,
the link succeeds even if there are missing functions.  This causes
configure to detect all tested functions as present, and produce
binaries that fail at run time.

To work around this issue, postpone adding -export-dynamic to LDFLAGS
until the end of the configure script.
2006-01-02 02:21:30 +00:00
uebayasi
b0d18a1447 Update from 0.5.0 to 0.6.2. From Jorge Ramon Acereda Macia <al004046 at anubis
dot uji dot es> in PR 23635.

User-visible changes between 0.6.1 and 0.6.2:

Bug fixes (in particular, gforth-0.6.2 compiles with gcc-3.3)
New words: LATEST, LATESTXT (LASTXT deprecated)
Operating environment: Added optional support for a C interface built
  on the ffcall libraries (more portable and powerful than the old
  one, but still not documented).  To use it, the ffcall libraries
  have to be installed before building Gforth (see INSTALL).
Miscellaneous: Gforth-fast now uses static superinstructions (some
  speedup on some platforms); generally this is transparent (apart
  from the speedup), but there are lots of command-line options for
  controlling the static superinstruction generation.

User-visible changes between 0.6.0 and 0.6.1:

Bug fixes (installation on big-endian machines sometimes did not work)

User-visible changes between 0.5.0 and 0.6.0:

Changes in behaviour:

S": interpreted use now ALLOCATEs the string (they live until BYE).
Long word names (512MB on 32-bit systems) are now supported (change to
  the header format).
New threaded code execution method: primitive-centric (allows the
  following), hybrid direct/indirect threaded (easier portability),
  with dynamic superinstructions (typical speedup on Athlon: factor
  2).  New engine gforth-itc for dealing with some potential
  backwards-compatibility problems (see "Direct or Indirect Threaded?"
  in the manual).

Operating environment:

Default dictionary size is now 4MB.
Large file support on OSs that support them (i.e., files with more
  than 2GB on 32-bit machines).
Gforth can now deal well with broken pipes in most situations.
vi tags files can be built with tags.fs (usage like etags.fs).
gforth.el mostly rewritten.
New image file format.

New words:

Keyboard input: EDIT-LINE K-PRIOR K-NEXT K-DELETE
File input: SLURP-FILE SLURP-FID
Programming tools: ID. .ID WORDLIST-WORDS SIMPLE-SEE
Conditional execution: [DEFINED] [UNDEFINED]
Defining Words: CONST-DOES> ]]
Input stream: PARSE-WORD EXECUTE-PARSING EXECUTE-PARSING-FILE
String comparison: STR= STR< STRING-PREFIX?
String literals: S\" .\" \"-PARSE
Floating point output: F.RDP F>STR-RDP F>BUF-RDP

Miscellaneous:

Generalized prims2x.fs into Vmgen (see README.vmgen etc.); used the
  new capabilities in prims (e.g., automatic handling of the return
  stack and instruction stream).
2003-12-05 00:26:38 +00:00
hubertf
f774d18767 Update to v0.5.0, requested by Jorge Acereda <al004046@alumail.uji.es>
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> [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.
2000-11-13 23:58:11 +00:00
itohy
70bf60ba8f I couldn't complete level 11 of sokoban without this change.... 2000-04-11 06:57:50 +00:00
itohy
9ce0337507 Port to m68k. Possibly work on other architectures, but not tested. 2000-04-11 06:54:45 +00:00
simonb
d16c046896 gforth: A fast interpreter for the Forth language.
Enabled only for i386 at the moment.  It definitely doesn't work on
mips, and I can't test anything else.
1999-04-10 13:56:57 +00:00