[Info-vax] exact case transfer_vectors for VAX Macro?
John E. Malmberg
wb8tyw at qsl.network
Thu Jan 24 08:13:56 EST 2013
On 1/24/2013 3:33 AM, hb wrote:
> On 01/24/2013 01:31 AM, John E. Malmberg wrote:
>> Hand editing the object file is not practical though because of the
>> large volume of symbols. And I need this to be a totally automated build
>> process.
>>
>> I need to have both the exact case transfer vector and the uppercase
>> transfer vector so a global replace is also not feasible even all search
>> strings where unique.
>
> 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.
> That leaves you with the problem to generate both universal symbols in
> the transfer object module. The VAX object language is documented in
> older linker manuals. It should be simple to write a program which walks
> through the global symbol table and changes a symbol and finds the TIR
> records and changes the very same symbol there as well. But how do you
> know which symbol or placeholder to modify to what?
By putting a unique string like "XXXXXXX" that is the same size as the
string to be replaced, I should be able to use an editor script as a
short term solution.
So for a new shared image on the VAX, I should be able to have a DCL or
TPU script read in the ALPHA linker commands and through a couple of
steps generate the VAX transfer vector object.
> It may be simpler to write the object module, with an own macro32
> assembler or maybe with gas, where you have source control.
Gas may be an option. I do not know if gas implemented the directives
needed to generate transfer vectors.
The VAX object language is documented in the Linker manual so a program
that could read the ALPHA linker DCL commands and translate them to a
VAX object file is also a
> But it may even be simpler to patch a copy of MACRO32 not to uppercase
> everything (and then carefully write all language tokens in UPPERCASE).
Beyond what I would want to do at the moment.
> On the other hand, if you want to have the shareable image upward
> compatible, then you don't (want or) need to rebuild the transfer object
> module in each build.
Of course I want the sharable images to be upward compatible.
You have put me on the course for a solution though.
Regards,
-John
wb8tyw at qsl.network
Personal Opinion Only
More information about the Info-vax
mailing list