Quote:
Originally Posted by clenched
Code:
;x.asm
xref _LVOSuperState
jsr _LVOSuperState(a6)
...
Code:
Error 446: Invalid symbol type 138 for _LVOSuperState
|
That's an EXT_ABSREF16 reference (refer to doshunks.h), which is absolutely correct. The reference to _LVOSuperState in the operand of JSR is an absolute 16-bit displacement.
From dos/doshunks.h:
Code:
#define EXT_ABSREF16 138 /* 16 bit absolute reference to symbol */
Quote:
Originally Posted by clenched
Vlink was the only one that could successfully link VASM object.
How do I make VASM object code compatible with old linkers?
|
That would be my task. I could add an option to be compatible with old linkers. I must say that I'm surprised that no other linker supports it.
The EXT_ABSREF16 define was added lately to doshunks.h (either for AmigaOS2.x or 3.x). Before that assemblers used EXT_REF16 (131), which is now known as EXT_RELREF16 and is a PC-relative 16-bit reference, which would be wrong here, IMHO.
BTW, what is wrong with using vlink?