[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