ORCA/Linker 2.0.6 Copyright 1996, Byte Works Inc. Updated 2021 -- Change List -------------------------------------------------------------- 2.0.6 1. The linker could give a spurious error about the relative address calculation for a BRL instruction if it branched forward or backward more than 32 KB. Since the address calculation for BRL wraps around within the program bank, it can branch forward or backward by up to 64 KB (to any location in the program bank), and the linker now allows this. 2. Fixed several problems related to alignment. Previously, the linker both reported spurious errors about alignment in certain cases and failed to detect errors in other cases. With these fixes, a segment alignment of $10000 is now permitted. Also, the linker can now link together multiple object segments with different alignment requirements into a single load segment, regardless of the order of the object segments. The alignment of the load segment will be the most restrictive alignment of any of the object segments, and the alignment requirements of each object segment will be obeyed. 2.0.5 1. On case-sensitive filesystems (which are not normally used natively on the Apple IIGS, but may be used through emulation tools or network file servers), the linker can now find object files with either upper-case or lower-case file extensions. (Kelvin Sherlock, Stephen Heumann) 2. KeepType values of "DVR", "LDF", and "FST" are now accepted. 2.0.4 1. Fixed bugs that could cause spurious errors to be reported. (Stephen Heumann) 2.0.3 1. Fixed bug that caused programs with more than one dynamic segment to link improperly. (Ian Brumby) 2. Fixed bug that caused approximately one in 65536 load segments to be trashed with a random word placed every 14 bytes through the segment. 2.0.2 1. Fixed bug that caused the linker to step on memory that did not belong to it when the +m flag was used. The most common symptom of this bug was crashing during the second or subsequent compile when using PRIZM. (Kurtis Carter) 2.0.1 1. Fixed bug that caused the current location counter (* in assembly language parlance) to be evaluated incorrectly in some expressions. -- Documentation Update ----------------------------------------------------- No changes.