view ChangeLog @ 286:701132971855 2.3

Fixed regression related to force linking a library file
author lost
date Sat, 25 Apr 2009 02:18:06 +0000
parents 11a2b63bbdce
children
line wrap: on
line source

The following includes the various changes in each release of LWTOOLS.

Each item is prefixed by a flag in []. The flags mean:

[*] Project structure or other "meta" change
[!] critical bug fix - code generation error, etc.
[+] new feature
[-] feature removed
[b] minor bugfix
[ ] general improvement

Also, the software affected may follow in [].

Version 2.3.1

[b] fixed regression related to forced included library files which would
    cause LWLINK to fail to link them in.

Version 2.3

[*] added support for compiling using MinGW and added portions of gnulib
    to support argp, among other things. Yah! A Windows build!
[+] added library search path (-L) and library specification (-l) to LWLINK
[+] added ability to specify section base addresses on the command line to
    LWLINK (they get prepended to the built in link script)
[+] added ability to output a "linkmap" to lwlink (--map, -m)
[+] added LWEX0 (LWOS simple binary) target to LWLINK
[+] added ability to extract files in LWAR
[+] added ability to "replace" members in LWAR
[+] added support for "sym=expr" in the opcode field; this will define a
    global symbol (non-section) if it resolves to a constant
[+] added operator ~ as a prefix operator for a 1s complement in LWASM
[+] allow exporting multiple symbols (export sym,sym,sym...)
[+] allow extern references in base page addresing mode, possibly buggy
    still (LWASM)
[+] handle 8 bit external references, possibly buggy still (LWLINK)
[+] arranged for unused members of library files (archives) to be ignored
    during linking to keep the final size of the binary down (LWLINK)
[b] arranged for output files for lwasm/lwlink to be removed if the assembly
    or linking fails
[b] fixed incorrect handling of library search path which caused only the
    last directory to ever matter
[ ] DECB output of LWLINK now collapses contiguous output blocks into single
    single blocks in the output file; this eliminates the explosion of
    preambles that previously occurred
[ ] LWLINK now displays *all* undefined symbols and references instead of
    bailing out after the first one

Version 2.2

[*] created LWAR to manage library/archive files
[+] cescapes pragma to allow C-style string escapes in FCC, FCS, and FCN
[+] .area alias for SECTION
[+] .globl alias for EXPORT; also accept name of symbol as operand
[+] various compatibility directive aliases for FCB, FDB, FQB, RMB, FCC,
    FCS, and FCN
[+] accept "*" has a prefix for base page addressing mode
[+] sections named "bss" or ".bss" in any case are now assumed to be
    BSS sections. The "!bss" flag can be used to remove that assumption.
[+] ignore lines starting with # to permit C pre-processor output to be used
    as input to lwasm
[+] allow "0x" and "0X" as prefixes to identify hexadecimal numbers
[+] added support for a simple library/archive file format to LWLINK
[b] actually show assembly errors when no list requested
[b] pragma and --pragma now actually take multiple pragmas as documented

Version 2.1

[*] merged LWLINK (1.0) and LWASM to create LWTOOLS
[+] [LWASM] pragmas can be specified on the command line
[+] [LWASM] undefextern pragma added (undefined symbols treated as external)
[+] documentation
[b] [LWASM] made pragmas case insensitive
[b] [LWASM] made EXTERN symbols never be part of a section in symbol table


LWASM Version 2.0

[*] major rewrite of the entire assembler
[+] object file support


LWLINK Version 1.0

[*] initial released version