As near as I could ever find, the format of a VMS executable file did not appear in the DEC manuals. I meant that as a commentary on the "VMS had great docs" sentiment.
At one point, I was convinced that understanding the format of an executable file (a.out, COFF, XCOFF, Mach-O, ELF, .com, .exe, PE, etc) was important to understanding the operating system itself. I spent a fair amount of effort and some money buying books trying to find the VMS executable file format. Couldn't find a hint.
It did, sigh. It was in the LINK'ER documentation. RSX/VMS was all about object modules being shared between concurrently running applications in separate user spaces (because RAM was crazy expensive and DISK was crazy slow and expensive).
The format for runtime libraries, executables and memory-mapped sections in general descended from the PDP11 a bit and I believe it changed radically (for the first time in decades) with the introduction of the 64-bit Alpha architecture under "Open"VMS.
How did ELF format files play in VMS' idea of process-as-elaborate-address-sapce, where running a command involved reading or mapping in an executable, and then jumping to the entry point? Or did I64 VMS abandon the unusual VMS process model?
Thank you! I'm serious, I bought several books and inquired of VMS experts (on usenet, that long ago) looking for anything about VMS executable format. This is the first hint I've gotten.