Mercurial > hg-old > index.cgi
view ChangeLog @ 264:61d1db1dfe2a 2.6
Build manual for release
author | lost |
---|---|
date | Tue, 22 Dec 2009 05:27:32 +0000 |
parents | e27279180a73 |
children | 1bdb4e256fc9 6e940229360b |
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.6 [!] Fixed symbol resolution so all externally referenced objects, including within library archives, are properly included [LWLINK] [!] Fixed bug that prevented setting non-default stack size for LWEX [LWLINK] [+] Added structure support (struct, endstruct) [LWASM] [+] Added "EXTDEP" pseudo op to force a dependency on an external symbol without an actual external reference - a zero-width external reference so to speak [LWASM,LWLINK] [+] Decode known incomplete expression flags [LWOBJDUMP] [+] Allow symbol to appear after whitespace if specified with a trailing : to improve compatibility with gcc6809 output [LWASM] [b] Treat incomplete reference flags as specified in docs [LWLINK] [ ] Changed default LWEX stack size to 1K [LWLINK] [+] Accept ".bank" pseudo op and ignore it; bank support may be provided in the future if a reasonable model for such is determined; currently this is just provided for compatibility with the gcc6809 build process [LWASM] [b] Fixed default linkscript for LWEX0 format to include the .ctors, .dtors, and related section [LWLINK] [!] Fixed problem outputting LWEX0 binaries with non-zero BSS size [LWLINK] [ ] Added rejection for comment not starting at start of line but which looks like a symbol (single word ending in :, no space after ; or *) [LWASM] [+] Support input files with line numbers for compatibility with EDTASM and others that use line numbers [LWASM] [+] Add support for an include path, always include from current dir unless file not found [LWASM] Version 2.5 [!] Fixed error in the fix for invalid operands included in 2.4 [LWASM] [b] Fixed bug with "include" directive operand parsing [LWASM] [b] Fixed additional parsing errors with pseudo ops [LWASM] [b] Fixed parsing error with various conditional nesting situations [LWASM] [+] Added includebin directive to include the literal contents of a binary file at the current assembly address. [LWASM] [+] Added || and && as boolean or and boolean and respectively [LWASM] [+] Added COPY, COPY-, IMP, EXP, TFRP, TFRM, TFRS, TFRR as alternatives to the TFM instruction variations for compatibility with other assemblers [LWASM] [+] Added --6809/-9 switch to cause 6309 instructions to be rejected; also included --6309/-3 switch to force default allow of 6309 instructions [LWASM] [+] ALIGN now takes an optional padding value (ALIGN align,pad) to specify the byte value that will be used for padding if needed [LWASM] [+] Added OS9 module target along with the OS9, MOD, and EMOD pseudo ops to allow building OS9 modules [LWASM] [+] Added pragma "dollarlocal"/"nodollarlocal" and "dollarnotlocal"/ "nodollarnotlocal" to control whether $ localizes a symbol [LWASM] [ ] Fixed a few cosmetic issues with error reporting Version 2.4 [!] Fixed off by one relocation offest for base page external references generated by lwasm [LWASM] [b] Fixed segfault in "extern" pseudo op and allowed a symbol list as the operand just like "export" [LWASM] [b] Fixed lack of error when there are extraneous characters at the end of the operand. This did not cause incorrect code generation for correct code but would silently generate incorrect code for some easy errors [+] 8 bit immediate operands can now be external references [LWASM] 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