annotate ChangeLog @ 262:6d09310438a4 2.x

Fixed problem with local symbol context handling in the face of conditional assembly
author lost
date Thu, 07 Jan 2010 03:57:58 +0000
parents c79b3c88adbc
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
148
53e9e44789b0 Added a changelog
lost
parents:
diff changeset
1 The following includes the various changes in each release of LWTOOLS.
53e9e44789b0 Added a changelog
lost
parents:
diff changeset
2
53e9e44789b0 Added a changelog
lost
parents:
diff changeset
3 Each item is prefixed by a flag in []. The flags mean:
53e9e44789b0 Added a changelog
lost
parents:
diff changeset
4
53e9e44789b0 Added a changelog
lost
parents:
diff changeset
5 [*] Project structure or other "meta" change
53e9e44789b0 Added a changelog
lost
parents:
diff changeset
6 [!] critical bug fix - code generation error, etc.
53e9e44789b0 Added a changelog
lost
parents:
diff changeset
7 [+] new feature
53e9e44789b0 Added a changelog
lost
parents:
diff changeset
8 [-] feature removed
53e9e44789b0 Added a changelog
lost
parents:
diff changeset
9 [b] minor bugfix
183
302b8db5fd89 modified lwlink to merge contiguous sections in the DECB output file to avoid the explosion of preambles
lost
parents: 182
diff changeset
10 [ ] general improvement
148
53e9e44789b0 Added a changelog
lost
parents:
diff changeset
11
53e9e44789b0 Added a changelog
lost
parents:
diff changeset
12 Also, the software affected may follow in [].
53e9e44789b0 Added a changelog
lost
parents:
diff changeset
13
261
c79b3c88adbc Added --depend option to generate a list of dependencies
lost
parents: 260
diff changeset
14 Version 2.7
c79b3c88adbc Added --depend option to generate a list of dependencies
lost
parents: 260
diff changeset
15
c79b3c88adbc Added --depend option to generate a list of dependencies
lost
parents: 260
diff changeset
16 [+] Added ability to generate a list of dependencies (any file referenced
c79b3c88adbc Added --depend option to generate a list of dependencies
lost
parents: 260
diff changeset
17 using "include" or "includebin", including sub-includes) [LWASM]
262
6d09310438a4 Fixed problem with local symbol context handling in the face of conditional assembly
lost
parents: 261
diff changeset
18 [b] Fixed handling of local symbol contexts in the face of conditional
6d09310438a4 Fixed problem with local symbol context handling in the face of conditional assembly
lost
parents: 261
diff changeset
19 assembly [LWASM]
261
c79b3c88adbc Added --depend option to generate a list of dependencies
lost
parents: 260
diff changeset
20
260
1bdb4e256fc9 Fixed segfault on reference to sizeof{}
lost
parents: 257
diff changeset
21 Version 2.6.1
1bdb4e256fc9 Fixed segfault on reference to sizeof{}
lost
parents: 257
diff changeset
22
1bdb4e256fc9 Fixed segfault on reference to sizeof{}
lost
parents: 257
diff changeset
23 [b] Fixed problem with sizeof{} resolution causing segfaults [LWASM]
1bdb4e256fc9 Fixed segfault on reference to sizeof{}
lost
parents: 257
diff changeset
24
243
f9f01a499525 Added zero-width external references
lost
parents: 236
diff changeset
25 Version 2.6
f9f01a499525 Added zero-width external references
lost
parents: 236
diff changeset
26
245
eb499c146c0d Fixed selection of objects for inclusion from within libraries to actually resolve references correctly
lost
parents: 244
diff changeset
27 [!] Fixed symbol resolution so all externally referenced objects, including
eb499c146c0d Fixed selection of objects for inclusion from within libraries to actually resolve references correctly
lost
parents: 244
diff changeset
28 within library archives, are properly included [LWLINK]
248
e8d70b95ec41 Fixed various problems with determining which files to include in the output and also fixed problem identifying which files actually resolved symbols
lost
parents: 246
diff changeset
29 [!] Fixed bug that prevented setting non-default stack size for LWEX [LWLINK]
254
c7a41b4c89b3 Added struct support to LWASM
lost
parents: 253
diff changeset
30 [+] Added structure support (struct, endstruct) [LWASM]
243
f9f01a499525 Added zero-width external references
lost
parents: 236
diff changeset
31 [+] Added "EXTDEP" pseudo op to force a dependency on an external symbol
f9f01a499525 Added zero-width external references
lost
parents: 236
diff changeset
32 without an actual external reference - a zero-width external reference
f9f01a499525 Added zero-width external references
lost
parents: 236
diff changeset
33 so to speak [LWASM,LWLINK]
f9f01a499525 Added zero-width external references
lost
parents: 236
diff changeset
34 [+] Decode known incomplete expression flags [LWOBJDUMP]
244
c8bcc396ec59 Allow symbols to appear after whitespace when terminated by :
lost
parents: 243
diff changeset
35 [+] Allow symbol to appear after whitespace if specified with a trailing :
c8bcc396ec59 Allow symbols to appear after whitespace when terminated by :
lost
parents: 243
diff changeset
36 to improve compatibility with gcc6809 output [LWASM]
243
f9f01a499525 Added zero-width external references
lost
parents: 236
diff changeset
37 [b] Treat incomplete reference flags as specified in docs [LWLINK]
248
e8d70b95ec41 Fixed various problems with determining which files to include in the output and also fixed problem identifying which files actually resolved symbols
lost
parents: 246
diff changeset
38 [ ] Changed default LWEX stack size to 1K [LWLINK]
250
0986834ec7d3 Added no-op .bank pseudo-op to support compiling gcc6809
lost
parents: 248
diff changeset
39 [+] Accept ".bank" pseudo op and ignore it; bank support may be provided
0986834ec7d3 Added no-op .bank pseudo-op to support compiling gcc6809
lost
parents: 248
diff changeset
40 in the future if a reasonable model for such is determined; currently
0986834ec7d3 Added no-op .bank pseudo-op to support compiling gcc6809
lost
parents: 248
diff changeset
41 this is just provided for compatibility with the gcc6809 build process
0986834ec7d3 Added no-op .bank pseudo-op to support compiling gcc6809
lost
parents: 248
diff changeset
42 [LWASM]
251
f6af5791472c Fixed default LWEX0 linkscript to include .ctors and .dtors sections
lost
parents: 250
diff changeset
43 [b] Fixed default linkscript for LWEX0 format to include the .ctors, .dtors,
f6af5791472c Fixed default LWEX0 linkscript to include .ctors and .dtors sections
lost
parents: 250
diff changeset
44 and related section [LWLINK]
252
4dc2a10997a6 Fixed LWEX binary output when BSS size > 0
lost
parents: 251
diff changeset
45 [!] Fixed problem outputting LWEX0 binaries with non-zero BSS size [LWLINK]
253
c537a3a723fc Fixed obscure comment detection bug
lost
parents: 252
diff changeset
46 [ ] Added rejection for comment not starting at start of line but which
c537a3a723fc Fixed obscure comment detection bug
lost
parents: 252
diff changeset
47 looks like a symbol (single word ending in :, no space after ; or *)
c537a3a723fc Fixed obscure comment detection bug
lost
parents: 252
diff changeset
48 [LWASM]
257
e27279180a73 Added support for include path to LWASM
lost
parents: 255
diff changeset
49 [+] Support input files with line numbers for compatibility with EDTASM
255
6363b9ebf825 Support files with line numbers in lwasm
lost
parents: 254
diff changeset
50 and others that use line numbers [LWASM]
257
e27279180a73 Added support for include path to LWASM
lost
parents: 255
diff changeset
51 [+] Add support for an include path, always include from current dir
e27279180a73 Added support for include path to LWASM
lost
parents: 255
diff changeset
52 unless file not found [LWASM]
243
f9f01a499525 Added zero-width external references
lost
parents: 236
diff changeset
53
224
2e5a32d56e60 Fixed error with fix for bad operands
lost
parents: 223
diff changeset
54 Version 2.5
2e5a32d56e60 Fixed error with fix for bad operands
lost
parents: 223
diff changeset
55
2e5a32d56e60 Fixed error with fix for bad operands
lost
parents: 223
diff changeset
56 [!] Fixed error in the fix for invalid operands included in 2.4 [LWASM]
225
058f18119025 Fixed filename parsing bug in include directive and added includebin directive
lost
parents: 224
diff changeset
57 [b] Fixed bug with "include" directive operand parsing [LWASM]
229
59a138df0401 Fixed additional parsing problems with pseudo ops
lost
parents: 228
diff changeset
58 [b] Fixed additional parsing errors with pseudo ops [LWASM]
236
a58f49a77441 Added os9 target, pragma to control whether $ localizes a symbol, and fixed some condition nesting bugs
lost
parents: 235
diff changeset
59 [b] Fixed parsing error with various conditional nesting situations [LWASM]
225
058f18119025 Fixed filename parsing bug in include directive and added includebin directive
lost
parents: 224
diff changeset
60 [+] Added includebin directive to include the literal contents of a binary
058f18119025 Fixed filename parsing bug in include directive and added includebin directive
lost
parents: 224
diff changeset
61 file at the current assembly address. [LWASM]
226
c8787fad0f9f Added && and || to lwasm
lost
parents: 225
diff changeset
62 [+] Added || and && as boolean or and boolean and respectively [LWASM]
228
560843a951f7 Added compatibility alternatives to TFM
lost
parents: 226
diff changeset
63 [+] Added COPY, COPY-, IMP, EXP, TFRP, TFRM, TFRS, TFRR as alternatives to
560843a951f7 Added compatibility alternatives to TFM
lost
parents: 226
diff changeset
64 the TFM instruction variations for compatibility with other assemblers
560843a951f7 Added compatibility alternatives to TFM
lost
parents: 226
diff changeset
65 [LWASM]
230
0df2a39a268c Added --6809/--6309 switches and some cleanups in error reporting
lost
parents: 229
diff changeset
66 [+] Added --6809/-9 switch to cause 6309 instructions to be rejected; also
0df2a39a268c Added --6809/--6309 switches and some cleanups in error reporting
lost
parents: 229
diff changeset
67 included --6309/-3 switch to force default allow of 6309 instructions
0df2a39a268c Added --6809/--6309 switches and some cleanups in error reporting
lost
parents: 229
diff changeset
68 [LWASM]
235
aa0056ca7319 Added a padding value for the ALIGN directive
lost
parents: 230
diff changeset
69 [+] ALIGN now takes an optional padding value (ALIGN align,pad) to specify
aa0056ca7319 Added a padding value for the ALIGN directive
lost
parents: 230
diff changeset
70 the byte value that will be used for padding if needed [LWASM]
236
a58f49a77441 Added os9 target, pragma to control whether $ localizes a symbol, and fixed some condition nesting bugs
lost
parents: 235
diff changeset
71 [+] Added OS9 module target along with the OS9, MOD, and EMOD pseudo ops
a58f49a77441 Added os9 target, pragma to control whether $ localizes a symbol, and fixed some condition nesting bugs
lost
parents: 235
diff changeset
72 to allow building OS9 modules [LWASM]
a58f49a77441 Added os9 target, pragma to control whether $ localizes a symbol, and fixed some condition nesting bugs
lost
parents: 235
diff changeset
73 [+] Added pragma "dollarlocal"/"nodollarlocal" and "dollarnotlocal"/
a58f49a77441 Added os9 target, pragma to control whether $ localizes a symbol, and fixed some condition nesting bugs
lost
parents: 235
diff changeset
74 "nodollarnotlocal" to control whether $ localizes a symbol [LWASM]
230
0df2a39a268c Added --6809/--6309 switches and some cleanups in error reporting
lost
parents: 229
diff changeset
75 [ ] Fixed a few cosmetic issues with error reporting
224
2e5a32d56e60 Fixed error with fix for bad operands
lost
parents: 223
diff changeset
76
220
2b254f02b252 Fixed off by one relocation offset for direct page external references
lost
parents: 216
diff changeset
77 Version 2.4
2b254f02b252 Fixed off by one relocation offset for direct page external references
lost
parents: 216
diff changeset
78
2b254f02b252 Fixed off by one relocation offset for direct page external references
lost
parents: 216
diff changeset
79 [!] Fixed off by one relocation offest for base page external references
221
271c0ef9ea60 Fixed segfault in import/extern pseudo op
lost
parents: 220
diff changeset
80 generated by lwasm [LWASM]
271c0ef9ea60 Fixed segfault in import/extern pseudo op
lost
parents: 220
diff changeset
81 [b] Fixed segfault in "extern" pseudo op and allowed a symbol list as the
271c0ef9ea60 Fixed segfault in import/extern pseudo op
lost
parents: 220
diff changeset
82 operand just like "export" [LWASM]
223
436b36214e35 Fixed lack of error when there are extraneous characters at the end of the operand.
lost
parents: 222
diff changeset
83 [b] Fixed lack of error when there are extraneous characters at the end
436b36214e35 Fixed lack of error when there are extraneous characters at the end of the operand.
lost
parents: 222
diff changeset
84 of the operand. This did not cause incorrect code generation for correct
436b36214e35 Fixed lack of error when there are extraneous characters at the end of the operand.
lost
parents: 222
diff changeset
85 code but would silently generate incorrect code for some easy errors
222
7803d2d09993 Allow 8 bit immediate operands to be external references
lost
parents: 221
diff changeset
86 [+] 8 bit immediate operands can now be external references [LWASM]
220
2b254f02b252 Fixed off by one relocation offset for direct page external references
lost
parents: 216
diff changeset
87
180
6ebb93b409ba Added library paths and --section-base
lost
parents: 171
diff changeset
88 Version 2.3
6ebb93b409ba Added library paths and --section-base
lost
parents: 171
diff changeset
89
216
11a2b63bbdce Update version
lost
parents: 209
diff changeset
90 [*] added support for compiling using MinGW and added portions of gnulib
11a2b63bbdce Update version
lost
parents: 209
diff changeset
91 to support argp, among other things. Yah! A Windows build!
187
857cb407229e Added LWEX0 (LWOS simple binary) target to lwlink
lost
parents: 185
diff changeset
92 [+] added library search path (-L) and library specification (-l) to LWLINK
857cb407229e Added LWEX0 (LWOS simple binary) target to lwlink
lost
parents: 185
diff changeset
93 [+] added ability to specify section base addresses on the command line to
180
6ebb93b409ba Added library paths and --section-base
lost
parents: 171
diff changeset
94 LWLINK (they get prepended to the built in link script)
187
857cb407229e Added LWEX0 (LWOS simple binary) target to lwlink
lost
parents: 185
diff changeset
95 [+] added ability to output a "linkmap" to lwlink (--map, -m)
857cb407229e Added LWEX0 (LWOS simple binary) target to lwlink
lost
parents: 185
diff changeset
96 [+] added LWEX0 (LWOS simple binary) target to LWLINK
188
bb2665c7005c Added --extract and --replace to lwar
lost
parents: 187
diff changeset
97 [+] added ability to extract files in LWAR
bb2665c7005c Added --extract and --replace to lwar
lost
parents: 187
diff changeset
98 [+] added ability to "replace" members in LWAR
190
563adfccb645 Added 'sym=expr' opcode handling
lost
parents: 188
diff changeset
99 [+] added support for "sym=expr" in the opcode field; this will define a
563adfccb645 Added 'sym=expr' opcode handling
lost
parents: 188
diff changeset
100 global symbol (non-section) if it resolves to a constant
191
29ba546ceea0 Added ~ prefix operator (1s complement)
lost
parents: 190
diff changeset
101 [+] added operator ~ as a prefix operator for a 1s complement in LWASM
192
bfd0fb0a85c2 Allow exporting multiple symbols on a single directive
lost
parents: 191
diff changeset
102 [+] allow exporting multiple symbols (export sym,sym,sym...)
216
11a2b63bbdce Update version
lost
parents: 209
diff changeset
103 [+] allow extern references in base page addresing mode, possibly buggy
11a2b63bbdce Update version
lost
parents: 209
diff changeset
104 still (LWASM)
11a2b63bbdce Update version
lost
parents: 209
diff changeset
105 [+] handle 8 bit external references, possibly buggy still (LWLINK)
206
299c5d793aca Made lwlink smarter about not included unneeded (unreferenced) members of a library file
lost
parents: 204
diff changeset
106 [+] arranged for unused members of library files (archives) to be ignored
299c5d793aca Made lwlink smarter about not included unneeded (unreferenced) members of a library file
lost
parents: 204
diff changeset
107 during linking to keep the final size of the binary down (LWLINK)
182
833d392fec82 Arranged for lwasm and lwlink to remove the output file in case they fail
lost
parents: 180
diff changeset
108 [b] arranged for output files for lwasm/lwlink to be removed if the assembly
833d392fec82 Arranged for lwasm and lwlink to remove the output file in case they fail
lost
parents: 180
diff changeset
109 or linking fails
209
d6cba9d66979 Fixed bug with library search path
lost
parents: 206
diff changeset
110 [b] fixed incorrect handling of library search path which caused only the
d6cba9d66979 Fixed bug with library search path
lost
parents: 206
diff changeset
111 last directory to ever matter
183
302b8db5fd89 modified lwlink to merge contiguous sections in the DECB output file to avoid the explosion of preambles
lost
parents: 182
diff changeset
112 [ ] DECB output of LWLINK now collapses contiguous output blocks into single
302b8db5fd89 modified lwlink to merge contiguous sections in the DECB output file to avoid the explosion of preambles
lost
parents: 182
diff changeset
113 single blocks in the output file; this eliminates the explosion of
302b8db5fd89 modified lwlink to merge contiguous sections in the DECB output file to avoid the explosion of preambles
lost
parents: 182
diff changeset
114 preambles that previously occurred
184
220a760ec654 Make lwlink display all undefined references instead of bailing after the first one
lost
parents: 183
diff changeset
115 [ ] LWLINK now displays *all* undefined symbols and references instead of
220a760ec654 Make lwlink display all undefined references instead of bailing after the first one
lost
parents: 183
diff changeset
116 bailing out after the first one
180
6ebb93b409ba Added library paths and --section-base
lost
parents: 171
diff changeset
117
166
178995c346d9 Updated changelog
lost
parents: 148
diff changeset
118 Version 2.2
178995c346d9 Updated changelog
lost
parents: 148
diff changeset
119
171
d610b8aef91b Added LWAR skeleton
lost
parents: 170
diff changeset
120 [*] created LWAR to manage library/archive files
166
178995c346d9 Updated changelog
lost
parents: 148
diff changeset
121 [+] cescapes pragma to allow C-style string escapes in FCC, FCS, and FCN
178995c346d9 Updated changelog
lost
parents: 148
diff changeset
122 [+] .area alias for SECTION
178995c346d9 Updated changelog
lost
parents: 148
diff changeset
123 [+] .globl alias for EXPORT; also accept name of symbol as operand
178995c346d9 Updated changelog
lost
parents: 148
diff changeset
124 [+] various compatibility directive aliases for FCB, FDB, FQB, RMB, FCC,
178995c346d9 Updated changelog
lost
parents: 148
diff changeset
125 FCS, and FCN
178995c346d9 Updated changelog
lost
parents: 148
diff changeset
126 [+] accept "*" has a prefix for base page addressing mode
168
2dd050293be6 Updated changelog
lost
parents: 166
diff changeset
127 [+] sections named "bss" or ".bss" in any case are now assumed to be
2dd050293be6 Updated changelog
lost
parents: 166
diff changeset
128 BSS sections. The "!bss" flag can be used to remove that assumption.
169
99300be2d3bd Allow lines starting with # to be ignored
lost
parents: 168
diff changeset
129 [+] ignore lines starting with # to permit C pre-processor output to be used
99300be2d3bd Allow lines starting with # to be ignored
lost
parents: 168
diff changeset
130 as input to lwasm
170
bf69160da467 Added ability to use 0x and 0X as prefixes for hexadecimal numbers
lost
parents: 169
diff changeset
131 [+] allow "0x" and "0X" as prefixes to identify hexadecimal numbers
171
d610b8aef91b Added LWAR skeleton
lost
parents: 170
diff changeset
132 [+] added support for a simple library/archive file format to LWLINK
166
178995c346d9 Updated changelog
lost
parents: 148
diff changeset
133 [b] actually show assembly errors when no list requested
178995c346d9 Updated changelog
lost
parents: 148
diff changeset
134 [b] pragma and --pragma now actually take multiple pragmas as documented
178995c346d9 Updated changelog
lost
parents: 148
diff changeset
135
148
53e9e44789b0 Added a changelog
lost
parents:
diff changeset
136 Version 2.1
53e9e44789b0 Added a changelog
lost
parents:
diff changeset
137
53e9e44789b0 Added a changelog
lost
parents:
diff changeset
138 [*] merged LWLINK (1.0) and LWASM to create LWTOOLS
53e9e44789b0 Added a changelog
lost
parents:
diff changeset
139 [+] [LWASM] pragmas can be specified on the command line
53e9e44789b0 Added a changelog
lost
parents:
diff changeset
140 [+] [LWASM] undefextern pragma added (undefined symbols treated as external)
53e9e44789b0 Added a changelog
lost
parents:
diff changeset
141 [+] documentation
53e9e44789b0 Added a changelog
lost
parents:
diff changeset
142 [b] [LWASM] made pragmas case insensitive
53e9e44789b0 Added a changelog
lost
parents:
diff changeset
143 [b] [LWASM] made EXTERN symbols never be part of a section in symbol table
53e9e44789b0 Added a changelog
lost
parents:
diff changeset
144
53e9e44789b0 Added a changelog
lost
parents:
diff changeset
145
53e9e44789b0 Added a changelog
lost
parents:
diff changeset
146 LWASM Version 2.0
53e9e44789b0 Added a changelog
lost
parents:
diff changeset
147
53e9e44789b0 Added a changelog
lost
parents:
diff changeset
148 [*] major rewrite of the entire assembler
53e9e44789b0 Added a changelog
lost
parents:
diff changeset
149 [+] object file support
53e9e44789b0 Added a changelog
lost
parents:
diff changeset
150
53e9e44789b0 Added a changelog
lost
parents:
diff changeset
151
53e9e44789b0 Added a changelog
lost
parents:
diff changeset
152 LWLINK Version 1.0
53e9e44789b0 Added a changelog
lost
parents:
diff changeset
153
53e9e44789b0 Added a changelog
lost
parents:
diff changeset
154 [*] initial released version