[Info-vax] Current expected range for x86-64 first boot date ?
John Reagan
xyzzy1959 at gmail.com
Sun Aug 12 16:01:43 EDT 2018
On Sunday, August 12, 2018 at 2:23:40 PM UTC-4, Simon Clubley wrote:
> On 2018-08-12, clair.grant <> wrote:
> >
> > There are no technical issues. Things are coming together pretty much as
> > expected. All of our plans were based on having more people and that did
> > not materialize so the pace is slower than we originally thought it would
> > be. It is that simple and there really is not much else to say.
> >
>
> My apologies Clair. I didn't realise that this delay, after a
> specific target date range had been suggested by VSI, was a
> resource issue instead of a technical issue.
>
>From a compiler point of view, it has actually been smoother than I would have guessed (famous last words).
The # of changes to LLVM have been smaller (we're still not done - need additional work for better unwind information in prologues and epilogues; hooks for machine code listing; additional DWARF tags our languages; maybe some floating but others in the community are "fixing" the same issues as we speak).
The Macro work has also been smoother. Itanium's NaT really threw us for a loop at the last minute for Itanium. This time around, we did a better job at dealing with the register mapping (this time to memory slots) and how to leverage the x86-64 hardware condition codes with the VAX condition codes.
More interesting work includes:
Dealing with the different memory models in the AMD64 ABI calling conventions. We're somewhere between the "small" and "medium" models to allow system code to be in 64-bit S2 space but have static data in 32-bit S0 space.
Dealing with the fact that a procedure "value" is the address of the code (just like VAX) and not the address of some compiler/linker generated data structure (Alpha Procedure Descriptors and Itanium Function Descriptors) and that routines do NOT get passed in a pointer to their linker-generated address constants (Alpha routines get that in R27, Itanium routines get that in r1, x86 routines have to find their own using a 32-bit PC-relative offset). Having a linker that already knew ELF doesn't mean there isn't platform specific concepts to deal with (this isn't a VMS thing).
And dealing with the AMD64 va_list definition and mixing that into the VMS-style argument lists which look like VAX-style argument lists.
It is all sorted at the moment.
More information about the Info-vax
mailing list