User manual

ST Assembler-Linker Error messages
Doc ID 11392 Rev 4 83/89
B.4 Linking errors
101 Label defined as NEAR and INTERRUPT
102 Label defined as FAR and INTERRUPT
103 Label defined as NEAR twice
104 Label defined as FAR twice
105 Label defined as INTERRUPT twice
Table 82. Assembler errors (continued)
Error Definition
Table 83. Linking errors
Error Definition
1 File list must be supplied
2, 3,
11, 13
Incomplete object file. Fatal error - the linker has identified that the given object file has been truncated.
How are you for disk space?
4, 23
Size mismatch on EXTERN from F1 says .X, PUBLIC from F2 says .Y.. When declared PUBLIC in file F2
the label L was given size attribute Y. However, when you came to use it in file F1, the EXTERN statement
named L as being of size .X - they did not tally. They must. Find out which is incorrect and alter it.
5
No info on start address of class 'class'. The first time the linker sees a class (remember it goes through
the object files in the order given on the link command line), it must be given the full 'introduction' to the
class, with start and stop addresses. See Section 5.4 on page 40.
6
Too many secondary externals (32). Secondary externals ought to occur only rarely in your code - If you
are using >32 then your structure has something seriously wrong with it. Hint - all your labels that are used
all over the place, like constants, addresses of IO, and the like: make a module just for them, just
containing EQUs and/or DS.Xs, all declared public. Any arithmetic needs doing more than once
throughout your code, do it there, and declare the result with its own public label. Then refer to these
PUBLICs using simple EXTERNs in each module.
7, 19
Corrupted object file. Disk nastiness. Reassemble. There may be an object code inconsistency: re-
assemble all the files, and link again.
8
Public of same name as secondary EXTERN already exists! This error cannot be seen until link time.
Rename one or the other.
9 Too many XREFs to link (12048)
10 Undefined EXTERN L (from F1)
12 Could not seek back in file 'F1'. Internal error. Should never occur.
14 Unexpected 7f. Disk nastiness. Reassemble.
15
Byte size exp >Offh 'value'. Needs looking at. If it is what you intended, either use the LOW operator to
saw off upper bits, or change the size attribute.