[Info-vax] exact case transfer_vectors for VAX Macro?
hb
end.of at inter.net
Thu Jan 24 08:50:16 EST 2013
On 01/24/2013 02:13 PM, John E. Malmberg wrote:
>> Then you also need both global symbols defined in your C object module,
>> anyway, or you need to change/enhance the VAX linker, because an ALIAS
>> feature (or a case blind match) is not available, there.
>
> As near as I can tell, only the first symbol name in the transfer vector
> is used as the universal symbol, the second two are used to jump to it.
Sorry, I can't follow you here what the first and the two more symbols
in a transfer vector are.
.title transfer
.psect transfer,exe,nowrt,pic,shr,gbl
.transfer Foo
.mask Foo
jmp l^Foo+2
.end
generates ONE symbol FOO. When you edited the object module you found
more strings "FOO". These are in TIR records, aka (text information and)
relocation records. ANALYZE/OBJECT is your friend :-) The linker needs
them to do relocations based on the symbol.
So for FOO and Foo in the C object module you need a .transfer FOO and
.transfer Foo (with TIRs containing "FOO" and "Foo"). The symbols are
undefined in the transfer object module, so the linker expects
definitions somewhere else, in the C object module to do the required
relocation based on the symbols.
More information about the Info-vax
mailing list