From: MERC::"uunet!WKUVX1.BITNET!goathunter" 17-DEC-1992 10:32:15.33 To: ALPHA-IDS@WKUVX1.BITNET CC: Subj: RE: a bunch of questions about VAX->ALPHA porting Arne Vajhxj writes: > > - ALPHA comes with DEC C. When will DEC C be available for VAX ? > Good question. All I know is that it is supposed to be available sometime.... > - I have noticed that several people have started to convert > their MACRO-32 programs to C. Why ? (assuming the MACRO-32 > compiler is available) > Probably mostly because DEC keeps waffling on whether or not they're going to support the MACRO-32 compiler from now on. They've put a lot of work into it so they could compile VMS for Alpha, but then they keep saying, officially, not to use MACRO-32 except for short-term porting. > - Is compiled MACRO-32 more or less efficient than a compiled HLL ? > (yes I know it will depend on the actual code, but some stories > will give a hint) > I'd guess that it's just as efficient (or at least *could* be) as any other HLL. I don't think MACRO-32 is a GEM compiler, so it may not be as efficient as some of the others, but it could be. > - Can you give some hints about what of the following MACRO-32 stuff > will work when compiled on ALPHA (references to locations in P1 > space via SYS.STB, Most of those will work just fine, except that there is no SYS.STB. Instead, you must link with a shareable image, SYS$LOADABLE_IMAGES:SYS$BASE_IMAGE.EXE. >setting the trace-bit, The debugger works, so I assume there is a way.... >manipulating some of > the data-structures in S0 space like PCB's and JIB's, Virtually exactly the same except for sizes, offsets, etc. If you use the symbolic offsets, etc., you shouldn't have any trouble. >delivering > special kernel mode AST's) ? > Who knows? This is one of those gray areas I'm trying to wade through. Special Kernel ASTs are there, but the old trick of copying code to nonpaged pool and then calling SCH$QAST won't work, at least not without some effort. The main problem is where/how do you store the procedure descriptors and everything else that AXP needs to call a routine? This is complicated by the fact that you can't combine data and code in the same psect under Alpha. DEC got around this problem by adding some routines to the executive---they're loaded as executive images at startup and the AST routines are always there. I've been trying to find time to figure out how to write an exec image, but we all know how finding time goes. Maybe next year.... > - Does anyone plan to continue to use MACRO-32 ? > I pretty much stopped using MACRO-32 about a year and a half ago. That was because I taught myself BLISS, which DEC is also waffling about supporting down the road. Now I'm trying to make myself learn C---I'm sure everybody here remembers what I think of BLISS vs. C from the MACRO32 list! 8-) > - Does anyone plan to start to use MACRO-64 (or whatsoever) ? > I'd like to be able to read it, at least. From what I've seen, you *won't* want to use it for anything but stub routines or other small code fragments. It's weird stuff! Hunter ------ Hunter Goatley, VMS Systems Programmer, Western Kentucky University goathunter@WKUVX1.BITNET, 502-745-5251