dos_compilers/Manx Aztec C86 v52a/BIN/CHANGES.ALN

86 lines
3.0 KiB
Plaintext
Raw Normal View History

2024-07-02 17:25:54 +02:00
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