[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