[Info-vax] System implementation languages, was: Re: RMS record metadata, was: Re: Re; Spiralog, RMS Journaling (was
Stephen Hoffman
seaohveh at hoffmanlabs.invalid
Thu Jun 23 17:04:46 EDT 2016
On 2016-06-23 17:43:49 +0000, Craig A. Berry said:
> Unless all the RTLs involved satisfy all the necessary requirements for
> reentrancy, thread safety, atomicity, and probably other things I'm
> forgetting, then you can't safely write inner mode code in such a
> language.
Due in no small part to the lack of mode-specific memory allocation and
pools and all which that that entails in LIBRTL and elsewhere, none of
the user-mode RTLs are supported for use from inner-mode code.
For some of what I've encountered hacking around in this area, code
might appear to work fine but there may well be memory that's read or
read-write accessible from access modes other than what the developer
might expect or intend, and that can end badly for stability and/or
security. Or memory that's (unexpectedly) pageable, and that will
trigger an OpenVMS bugcheck if (when?) encountered by kernel code
operating at IPL.
C has a separate and subset of the C standard library — the kernel-mode
C library — which is callable from inner-mode code.
http://labs.hoffmanlabs.com/node/769
Code written in Bliss and Macro32 is not particularly (implicitly)
dependent on external RTLs. Not unless those calls are invoked in the
code, and that would be Bad News in inner-mode code.
--
Pure Personal Opinion | HoffmanLabs LLC
More information about the Info-vax
mailing list