[Info-vax] System implementation languages, was: Re: RMS record metadata, was: Re: Re; Spiralog, RMS Journaling (was
Chris Scheers
chris at applied-synergy.com
Fri Jun 24 15:54:57 EDT 2016
Stephen Hoffman wrote:
> 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.
Just to point out, code written in C is also not implicitly dependent on
external RTLs. Generally, all RTL calls in C are explicit. And you
don't have to use the RTLs.
A careful examination of the link map is your friend.
--
-----------------------------------------------------------------------
Chris Scheers, Applied Synergy, Inc.
Voice: 817-237-3360 Internet: chris at applied-synergy.com
Fax: 817-237-3074
More information about the Info-vax
mailing list