comparison old-trunk/ChangeLog @ 339:eb230fa7d28e

Prepare for migration to hg
author lost
date Fri, 19 Mar 2010 02:54:14 +0000
parents
children
comparison
equal deleted inserted replaced
338:e7885b3ee266 339:eb230fa7d28e
1 The following includes the various changes in each release of LWTOOLS.
2
3 Each item is prefixed by a flag in []. The flags mean:
4
5 [*] Project structure or other "meta" change
6 [!] critical bug fix - code generation error, etc.
7 [+] new feature
8 [-] feature removed
9 [b] minor bugfix
10 [ ] general improvement
11
12 Also, the software affected may follow in [].
13
14 Version 3.0
15
16 [*] Completely new architecture
17 [b] Fixed bug that caused segfault on pass 2 if bad expression [LWASM]
18
19 Version 2.5
20
21 [!] Fixed error in the fix for invalid operands included in 2.4 [LWASM]
22 [b] Fixed bug with "include" directive operand parsing [LWASM]
23 [b] Fixed additional parsing errors with pseudo ops [LWASM]
24 [b] Fixed parsing error with various conditional nesting situations [LWASM]
25 [+] Added includebin directive to include the literal contents of a binary
26 file at the current assembly address. [LWASM]
27 [+] Added || and && as boolean or and boolean and respectively [LWASM]
28 [+] Added COPY, COPY-, IMP, EXP, TFRP, TFRM, TFRS, TFRR as alternatives to
29 the TFM instruction variations for compatibility with other assemblers
30 [LWASM]
31 [+] Added --6809/-9 switch to cause 6309 instructions to be rejected; also
32 included --6309/-3 switch to force default allow of 6309 instructions
33 [LWASM]
34 [+] ALIGN now takes an optional padding value (ALIGN align,pad) to specify
35 the byte value that will be used for padding if needed [LWASM]
36 [+] Added OS9 module target along with the OS9, MOD, and EMOD pseudo ops
37 to allow building OS9 modules [LWASM]
38 [+] Added pragma "dollarlocal"/"nodollarlocal" and "dollarnotlocal"/
39 "nodollarnotlocal" to control whether $ localizes a symbol [LWASM]
40 [ ] Fixed a few cosmetic issues with error reporting
41
42 Version 2.4
43
44 [!] Fixed off by one relocation offest for base page external references
45 generated by lwasm [LWASM]
46 [b] Fixed segfault in "extern" pseudo op and allowed a symbol list as the
47 operand just like "export" [LWASM]
48 [b] Fixed lack of error when there are extraneous characters at the end
49 of the operand. This did not cause incorrect code generation for correct
50 code but would silently generate incorrect code for some easy errors
51 [+] 8 bit immediate operands can now be external references [LWASM]
52
53 Version 2.3
54
55 [*] added support for compiling using MinGW and added portions of gnulib
56 to support argp, among other things. Yah! A Windows build!
57 [+] added library search path (-L) and library specification (-l) to LWLINK
58 [+] added ability to specify section base addresses on the command line to
59 LWLINK (they get prepended to the built in link script)
60 [+] added ability to output a "linkmap" to lwlink (--map, -m)
61 [+] added LWEX0 (LWOS simple binary) target to LWLINK
62 [+] added ability to extract files in LWAR
63 [+] added ability to "replace" members in LWAR
64 [+] added support for "sym=expr" in the opcode field; this will define a
65 global symbol (non-section) if it resolves to a constant
66 [+] added operator ~ as a prefix operator for a 1s complement in LWASM
67 [+] allow exporting multiple symbols (export sym,sym,sym...)
68 [+] allow extern references in base page addresing mode, possibly buggy
69 still (LWASM)
70 [+] handle 8 bit external references, possibly buggy still (LWLINK)
71 [+] arranged for unused members of library files (archives) to be ignored
72 during linking to keep the final size of the binary down (LWLINK)
73 [b] arranged for output files for lwasm/lwlink to be removed if the assembly
74 or linking fails
75 [b] fixed incorrect handling of library search path which caused only the
76 last directory to ever matter
77 [ ] DECB output of LWLINK now collapses contiguous output blocks into single
78 single blocks in the output file; this eliminates the explosion of
79 preambles that previously occurred
80 [ ] LWLINK now displays *all* undefined symbols and references instead of
81 bailing out after the first one
82
83 Version 2.2
84
85 [*] created LWAR to manage library/archive files
86 [+] cescapes pragma to allow C-style string escapes in FCC, FCS, and FCN
87 [+] .area alias for SECTION
88 [+] .globl alias for EXPORT; also accept name of symbol as operand
89 [+] various compatibility directive aliases for FCB, FDB, FQB, RMB, FCC,
90 FCS, and FCN
91 [+] accept "*" has a prefix for base page addressing mode
92 [+] sections named "bss" or ".bss" in any case are now assumed to be
93 BSS sections. The "!bss" flag can be used to remove that assumption.
94 [+] ignore lines starting with # to permit C pre-processor output to be used
95 as input to lwasm
96 [+] allow "0x" and "0X" as prefixes to identify hexadecimal numbers
97 [+] added support for a simple library/archive file format to LWLINK
98 [b] actually show assembly errors when no list requested
99 [b] pragma and --pragma now actually take multiple pragmas as documented
100
101 Version 2.1
102
103 [*] merged LWLINK (1.0) and LWASM to create LWTOOLS
104 [+] [LWASM] pragmas can be specified on the command line
105 [+] [LWASM] undefextern pragma added (undefined symbols treated as external)
106 [+] documentation
107 [b] [LWASM] made pragmas case insensitive
108 [b] [LWASM] made EXTERN symbols never be part of a section in symbol table
109
110
111 LWASM Version 2.0
112
113 [*] major rewrite of the entire assembler
114 [+] object file support
115
116
117 LWLINK Version 1.0
118
119 [*] initial released version