[Info-vax] VMS 9.2 release build completed, release approaching

Simon Clubley clubley at remove_me.eisner.decus.org-Earth.UFP
Wed Jun 29 09:07:20 EDT 2022


On 2022-06-29, John Reagan <xyzzy1959 at gmail.com> wrote:
> On Wednesday, June 29, 2022 at 7:29:00 AM UTC-4, osuv... at gmail.com wrote:
>> On Wednesday, June 29, 2022 at 5:21:02 AM UTC-4, Jan-Erik Söderholm wrote: 
>> > Den 2022-06-29 kl. 10:06, skrev John Dallman: 
>> > > From a VSI post on LinkedIn: 
>> > > 
>> > > "The candidate build was completed on 16 June, the goal is to make this 
>> > > the final release for 9.2 and to ship any fixes as patch kits." 
>> > > 
>> > > <https://vmssoftware.com/about/news/2022-06-28-state-of-the-92-release/> 
>> > >
>> The notes about va_copy are interesting. Presumably, the v*printf functions in the 
>> C RTL still work, so the compiler knows how to pass a va_list to another routine 
>> but it can't copy it to another va_list. 
>> 
> Copying a va_list has always been something that should have used va_copy().
> You can cheat with a direct assigment of va_list's on VAX, Alpha, and Itanium
> since va_lists are just arrays of pointers.  That isn't true on x86.  A va_list is a 
> struct with some fields, several pointers, and more.  You have to ask the
> compiler to do that for you with the va_copy() intrinsic.  That is what every
> piece of opensource code on Linux does today (or it wouldn't work).  Added
> to the problem is that the va_copy from C99 was only added into the headers
> by VSI.  (On Alpha & Itanium, it just expands into an assignment.  On x86, it is
> a real intrinsic that we have to pass along to LLVM).
>

So there are some bits of broken user code that you (VSI) can't work around.

I've absolutely no problem with that - it's the broken code that needs
to be fixed.

Conceptually, it's no different from the user code had to be fixed when
people switched from VAX C to DEC C.

> And while I'm here, please, please, please switch from <varargs.h> to <stdarg.h>
> if you are still using it.  The model presented to us by LLVM is the stdarg model.
> We have to do extra work to hack up varargs.
>

That message is an excellent candidate for a note-level informational
message for the compiler to output.

BTW, I see that TECO is not available. How did you avoid the mutiny ? :-)

Simon.

-- 
Simon Clubley, clubley at remove_me.eisner.decus.org-Earth.UFP
Walking destinations on a map are further away than they appear.



More information about the Info-vax mailing list