From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-0.8 required=5.0 tests=BAYES_00,INVALID_DATE autolearn=no autolearn_force=no version=3.4.4 Path: utzoo!mnetor!uunet!husc6!mailrus!ames!pasteur!ucbvax!skvax1.csc.ti.COM!french From: french@skvax1.csc.ti.COM Newsgroups: comp.lang.ada Subject: Validation questions (derived and project-validated compilers) Message-ID: <8805052013.AA10283@ti.com> Date: 5 May 88 20:04:53 GMT Sender: daemon@ucbvax.BERKELEY.EDU Organization: The Internet List-Id: Folks, I have been reading the AJPO Validation Procedures and Guidelines (issued on 1-Jan-1987) that I downloaded from the AdaIC bboard. I have some questions that I would like to get opinions on. 1. Derived Compilers. Once an Ada compiler has a current validation certificate, then variations or modifications to that Ada compiler and/or its configuration (which includes the target run-time system) result in a "Derived Compiler". The AJPO guidelines and policies document describes a "Target Run-Time System" as "The set of sub-programs, which may be invoked by linking, loading, and executing object code generated by an Ada compiler. If these sub-programs use or depend upon the services of an operating system, then the target run-time system includes those portions of that operating system." A vendor may request to register a derived compiler. The procedures are well-defined and extensive. There are a number of issues relating to this current policy that I am unclear on: o If we use "extension fields" that are available in various Ada runtime systems (such as user-defined extensions to the Task Control Blocks, or hooks into special program startup and shutdown procedures) does the compiler in this new configuration now require "derived compiler" status? If so, is it the _vendor's_ responsibility to register the derived status? The guidelines document states that it is the vendor's responsibility. However, if I made the change, I cannot reasonably expect the vendor to do this for me, can I? o The definition (above) of "Target Run-Time System" could include such user-defined items as math functions, device interfaces, and, in fact, any other user programmed library of commonly used subprograms and packages. By carefully interpreting the wording we can limit it to only those subprograms that the compiler causes to be used directly (and not those subprograms that the user program causes to be used). What is the true meaning of this definition? 2. Ada compilers for restricted targets. A "restricted target" is defined as "a real system target on which not all ACVC test can be executed but which can execute object code generated by a validated compiler for an associated generic target in combination with application-specific run-time libraries and/or runtime support." The validated compiler for the generic target cannot generate different code for the restricted target. There are three conditions that allow an ada compiler to be called a "project validated" compiler for a restricted target: 1. the project-validated compiler for the generic target is a validated (or derived) Ada compiler. 2. All mandatory features of Ada that can be supported by the hardware, or are emulated on the restricted target, are supported by the compiler for the restricted target. (the compiler should not be arbitrarily constrained to a subset of the Ada language). 3. All application-specific run-time libraries for the restricted target are contained within that application and do not affect the Ada compiler for the generic target or the restricted target when used to generate code for other applications. Items 1. and 3. are acceptable, however, I am unclear on item 2. Does this mean that if a target hardware configuration can support Ada language features then they _must_ be supported? For example, if an application is not going to use tasking in its application (for any reason), but is planning to develop or modify a runtime system that supports custom features of the application (such custom features as multi-processor support, peculiar memory configurations, unusual interrupt structures, security, etc.) then the runtime modifications must be developed to support full Ada including tasking, even though, in this application, it will not be used with tasking? This could be costly and entail a significant amount of unncessary extra work. Thanks for the help in interpreting this. -Stewart French Texas Instruments french@skacsl.ti.com (ignore the header information)