[Info-vax] cross tools and CLD scope

Arne Vajhøj arne at vajhoej.dk
Sun Oct 17 20:04:19 EDT 2021


On 10/17/2021 7:49 PM, Craig A. Berry wrote:
> So I finally got around to bringing up a v9.1-A system and took a swing
> at trying to build something with the cross tools on Itanium.  The docs
> for those tools mention SYS$MANAGER:X86_XTOOLS$SYLOGIN.COM, which, among
> other things, "Adds the cross-tools specific command definitions to the
> CLI table of a process."
> 
> So far so good.  You wouldn't want to mangle your system command tables
> on your Itanium system if you were still trying to target Itanium some
> of the time. But, as far as I can see, CLD definitions -- unlike logical
> names and symbols -- are not inherited by subprocesses.  Is that really
> true?
> 
> Here is my conundrum:
> 
> $ show symbol cc
>    CC == "XCC"
> $ cc/vers
> VSI C X7.4-528 (GEM 50V6F) for X86 on OpenVMS IA64 V8.4-2L3
> $ xcc/vers
> VSI C X7.4-528 (GEM 50V6F) for X86 on OpenVMS IA64 V8.4-2L3
> $ mmk
> CC/DECC/NOANSI_ALIAS 
> /Include=[]/Standard=Relaxed_ANSI/Prefix=All/Obj=.obj/NoList/float=ieee/ieee=denorm/NAMES=(SHORTENED)/Define=(PERL_CORE,_USE_STD_STAT=1) 
> PERLMINI.C
> %DCL-W-IVVERB, unrecognized command verb - check validity and spelling
>   \XCC\
> %MMK-F-ERRUPD, error status %X00038090 occurred when updating target 
> PERLMINI.OBJ
> 
> Clearly the symbol definition does what's on the tin and runs the XCC
> command when CC is invoked, and clearly the process I'm starting from
> knows what the XCC command is.  But when MMK creates a subprocess to run
> a command, that process has no idea what XCC means.
> 
> Surely I am not the first person to encounter this.  Any real-world
> build system using MMS or MMK would encounter the same thing.  Do I
> really have to hack up the command definitions to stuff the cross tools
> commands into the system table, and then figure out how to unstuff them
> later when I want to target Itanium rather than x86_64?

Two ideas:
* maybe MMK can be convinced to @ that COM file as the first thing in
   the subprocess
* create a X64DCLTABLES and create an account X64CRAIG with that
   as default CLITABLES

Arne



More information about the Info-vax mailing list