Mercurial > hg-old > index.cgi
annotate ChangeLog @ 251:f6af5791472c 2.x
Fixed default LWEX0 linkscript to include .ctors and .dtors sections
author | lost |
---|---|
date | Fri, 27 Nov 2009 22:04:05 +0000 |
parents | 0986834ec7d3 |
children | 4dc2a10997a6 |
rev | line source |
---|---|
148 | 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 | |
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 | 11 |
12 Also, the software affected may follow in []. | |
13 | |
243 | 14 Version 2.6 |
15 | |
245
eb499c146c0d
Fixed selection of objects for inclusion from within libraries to actually resolve references correctly
lost
parents:
244
diff
changeset
|
16 [!] 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
|
17 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
|
18 [!] Fixed bug that prevented setting non-default stack size for LWEX [LWLINK] |
243 | 19 [+] Added "EXTDEP" pseudo op to force a dependency on an external symbol |
20 without an actual external reference - a zero-width external reference | |
21 so to speak [LWASM,LWLINK] | |
22 [+] Decode known incomplete expression flags [LWOBJDUMP] | |
244
c8bcc396ec59
Allow symbols to appear after whitespace when terminated by :
lost
parents:
243
diff
changeset
|
23 [+] 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
|
24 to improve compatibility with gcc6809 output [LWASM] |
243 | 25 [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
|
26 [ ] 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
|
27 [+] 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
|
28 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
|
29 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
|
30 [LWASM] |
251
f6af5791472c
Fixed default LWEX0 linkscript to include .ctors and .dtors sections
lost
parents:
250
diff
changeset
|
31 [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
|
32 and related section [LWLINK] |
243 | 33 |
224 | 34 Version 2.5 |
35 | |
36 [!] 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
|
37 [b] Fixed bug with "include" directive operand parsing [LWASM] |
229 | 38 [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
|
39 [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
|
40 [+] 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
|
41 file at the current assembly address. [LWASM] |
226 | 42 [+] Added || and && as boolean or and boolean and respectively [LWASM] |
228 | 43 [+] Added COPY, COPY-, IMP, EXP, TFRP, TFRM, TFRS, TFRR as alternatives to |
44 the TFM instruction variations for compatibility with other assemblers | |
45 [LWASM] | |
230
0df2a39a268c
Added --6809/--6309 switches and some cleanups in error reporting
lost
parents:
229
diff
changeset
|
46 [+] 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
|
47 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
|
48 [LWASM] |
235 | 49 [+] ALIGN now takes an optional padding value (ALIGN align,pad) to specify |
50 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
|
51 [+] 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
|
52 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
|
53 [+] 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
|
54 "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
|
55 [ ] Fixed a few cosmetic issues with error reporting |
224 | 56 |
220
2b254f02b252
Fixed off by one relocation offset for direct page external references
lost
parents:
216
diff
changeset
|
57 Version 2.4 |
2b254f02b252
Fixed off by one relocation offset for direct page external references
lost
parents:
216
diff
changeset
|
58 |
2b254f02b252
Fixed off by one relocation offset for direct page external references
lost
parents:
216
diff
changeset
|
59 [!] Fixed off by one relocation offest for base page external references |
221 | 60 generated by lwasm [LWASM] |
61 [b] Fixed segfault in "extern" pseudo op and allowed a symbol list as the | |
62 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
|
63 [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
|
64 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
|
65 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
|
66 [+] 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
|
67 |
180 | 68 Version 2.3 |
69 | |
216 | 70 [*] added support for compiling using MinGW and added portions of gnulib |
71 to support argp, among other things. Yah! A Windows build! | |
187 | 72 [+] added library search path (-L) and library specification (-l) to LWLINK |
73 [+] added ability to specify section base addresses on the command line to | |
180 | 74 LWLINK (they get prepended to the built in link script) |
187 | 75 [+] added ability to output a "linkmap" to lwlink (--map, -m) |
76 [+] added LWEX0 (LWOS simple binary) target to LWLINK | |
188 | 77 [+] added ability to extract files in LWAR |
78 [+] added ability to "replace" members in LWAR | |
190 | 79 [+] added support for "sym=expr" in the opcode field; this will define a |
80 global symbol (non-section) if it resolves to a constant | |
191 | 81 [+] 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
|
82 [+] allow exporting multiple symbols (export sym,sym,sym...) |
216 | 83 [+] allow extern references in base page addresing mode, possibly buggy |
84 still (LWASM) | |
85 [+] 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
|
86 [+] 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
|
87 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
|
88 [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
|
89 or linking fails |
209 | 90 [b] fixed incorrect handling of library search path which caused only the |
91 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
|
92 [ ] 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
|
93 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
|
94 preambles that previously occurred |
184
220a760ec654
Make lwlink display all undefined references instead of bailing after the first one
lost
parents:
183
diff
changeset
|
95 [ ] 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
|
96 bailing out after the first one |
180 | 97 |
166 | 98 Version 2.2 |
99 | |
171 | 100 [*] created LWAR to manage library/archive files |
166 | 101 [+] cescapes pragma to allow C-style string escapes in FCC, FCS, and FCN |
102 [+] .area alias for SECTION | |
103 [+] .globl alias for EXPORT; also accept name of symbol as operand | |
104 [+] various compatibility directive aliases for FCB, FDB, FQB, RMB, FCC, | |
105 FCS, and FCN | |
106 [+] accept "*" has a prefix for base page addressing mode | |
168 | 107 [+] sections named "bss" or ".bss" in any case are now assumed to be |
108 BSS sections. The "!bss" flag can be used to remove that assumption. | |
169 | 109 [+] ignore lines starting with # to permit C pre-processor output to be used |
110 as input to lwasm | |
170
bf69160da467
Added ability to use 0x and 0X as prefixes for hexadecimal numbers
lost
parents:
169
diff
changeset
|
111 [+] allow "0x" and "0X" as prefixes to identify hexadecimal numbers |
171 | 112 [+] added support for a simple library/archive file format to LWLINK |
166 | 113 [b] actually show assembly errors when no list requested |
114 [b] pragma and --pragma now actually take multiple pragmas as documented | |
115 | |
148 | 116 Version 2.1 |
117 | |
118 [*] merged LWLINK (1.0) and LWASM to create LWTOOLS | |
119 [+] [LWASM] pragmas can be specified on the command line | |
120 [+] [LWASM] undefextern pragma added (undefined symbols treated as external) | |
121 [+] documentation | |
122 [b] [LWASM] made pragmas case insensitive | |
123 [b] [LWASM] made EXTERN symbols never be part of a section in symbol table | |
124 | |
125 | |
126 LWASM Version 2.0 | |
127 | |
128 [*] major rewrite of the entire assembler | |
129 [+] object file support | |
130 | |
131 | |
132 LWLINK Version 1.0 | |
133 | |
134 [*] initial released version |