86 lines
3.0 KiB
Plaintext
86 lines
3.0 KiB
Plaintext
|
Changes to ALN:
|
||
|
|
||
|
10/12/91
|
||
|
1) LNR would put out a bad .lnk file when it encountered static data
|
||
|
(i.e., data declared with the 'static' keyword in C). When the bad
|
||
|
.lnk file was given to aloc, aloc would abort with a fatal error.
|
||
|
|
||
|
2) LNR would abort if it was given more than ~17 files to link.
|
||
|
|
||
|
3) In some situations LNR would put out a bad .lnk file if RDB debugging
|
||
|
information was desired, which aloc would subsequently reject.
|
||
|
|
||
|
10/22/91
|
||
|
4) LNR would exit w/ an error if it encountered control characters in
|
||
|
a -f file (including ^Z, which some editors put out at the end of a
|
||
|
file).
|
||
|
|
||
|
11/19/91 mapfile.c *jd
|
||
|
lnr was only outputting \n to map file, not \r\n.
|
||
|
added code to pm_putchar to add the \r when passed \n.
|
||
|
|
||
|
11/20/91 debug.c *mks
|
||
|
lnr was putting out bad index fields in the debugging records
|
||
|
|
||
|
1/10/92 MWS
|
||
|
Changed name from lnr to aln to be consistent with the rest of the
|
||
|
ROM tools. So, we've now got aln, aloc, and ahex.
|
||
|
|
||
|
1/16/92 azpass2.c MWS
|
||
|
Modified expression fixup code so that SUB expressions with
|
||
|
two symbols will work. i.e.:
|
||
|
|
||
|
Expr SUB
|
||
|
GBLSYM 0, endtbl
|
||
|
GBLSYM 1, ledxref
|
||
|
|
||
|
The only reason this works is because SUBS of this type always turn
|
||
|
out to be constants. In other words, the #$%!@ assembler should be
|
||
|
doing this itself.
|
||
|
|
||
|
2/10/92 pass1.h MWS
|
||
|
Modified 'Data_seg' segment definition to reserve 2 bytes at the beginning
|
||
|
of the Data group. This makes it easier to catch NULL-pointer write
|
||
|
bugs, and also matches what ln does.
|
||
|
|
||
|
4/9/92 ------------------ Released v5.2a beta 1 ---------------------
|
||
|
|
||
|
8/26/92 omffile.c jd
|
||
|
changed omfinit() to compute acbp field in segdef records, so that
|
||
|
segment alignment codes work
|
||
|
|
||
|
8/28/92 alnmain.c jd
|
||
|
When generating output file name from first input name that includes
|
||
|
a path having dots (e.g. ../foo.o), aln didn't generate correct output
|
||
|
name.
|
||
|
|
||
|
9/3/92 pass1.h *jd
|
||
|
aln leaves 2 unused bytes at beginning of _data (aka dataseg) segment,
|
||
|
but wasn't adjusting size of segment for those bytes
|
||
|
|
||
|
10/4/92 ------------------ Released v5.2a beta 2 ---------------------
|
||
|
|
||
|
|
||
|
10/12/92 jd: link.h
|
||
|
aln was creating invalid fixup records, because it was creating LEDATA
|
||
|
records that were longer than the maximum 1024 byte length.
|
||
|
|
||
|
10/12/92 jd: seglook()
|
||
|
aln was not gathering together segments in the same class, but this
|
||
|
is required by rdb (it expects all code symbols to be grouped together
|
||
|
in the .dbg file, followed by the data symbols). aloc could handle
|
||
|
this separation of segments, but not rdb.
|
||
|
|
||
|
|
||
|
10/19/92 jd: getval()
|
||
|
aln was not correctly processing the DATAREF, CODEREF, and BSSREF
|
||
|
loader items, which are generated when sqz optimizes the object module
|
||
|
libraries.
|
||
|
|
||
|
10/28/92 jd: omf_fixup()
|
||
|
aln was not generating the correct offset for a fixup record that
|
||
|
referenced the first data bytes of the previous LEDATA record
|
||
|
|
||
|
11/10/92 jd: outrecord(), omf_fixup(), outbyte(), RecordAlmostFull()
|
||
|
Added code to flush omf record buffer when it's almost full
|