DataMuseum.dk

Presents historical artifacts from the history of:

Rational R1000/400

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about Rational R1000/400

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦6e484e103⟧ Ada Source

    Length: 28672 (0x7000)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, function Get_Operational_Info, seg_0508f8, separate Rs6000_Aix_Vads

Derivation

└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
    └─ ⟦cfc2e13cd⟧ »Space Info Vol 2« 
        └─⟦this⟧ 

E3 Source Code



separate (Rs6000_Aix_Vads)

function Get_Operational_Info return Op.Object is

    Compiler_Properties : constant Op.Compiler_Property_List :=
       (Op.Generics_Share_Code => False,
        Op.Require_Body_And_Generic_In_Same_Compilation => False,
        Op.Requires_Subunits_And_Generic_In_Same_Compilation => False,
        Op.Implements_Pragma_Inline => True,  
        Op.Separate_Subunits_Are_Inefficient => False);


    -- Help text for the Options switches.

    Apply_Suppress_Help : constant String :=
       "-S  (suppress)  " &  
          "Applies pragma SUPPRESS to the entire compilation for all " &
          "suppressible checks.  (See also pragma SUPPRESS (ALL_CHECKS)).";

    Archive_File_Name_Help : constant String :=
       "-a file_name  (archive)  " &
          "Treats file_name as an object archive file " &
          "created by the IbmOS command ar.  " &
          "Since some archive files end with .a, -a is used to " &
          "distinguish archive files from Ada source files.";

    Debug_Overflow_Help : constant String :=
       "-DX  (debug)  " &
          "Debug memory overflow (used in cases where linking a " &
          "large number of units causes the error message " &
          """local symbol overflow"" to occur).";

    Define_Preprocessor_Value_Help : constant String :=
       "-# identifier type value  (define)  " &
          "Defines an identifier of the specified type and value.";

    Dependencies_Only_Help : constant String :=
       "-d  (dependencies)  " &  
          "Analyzes for dependencies only.  " &
          "Does not do semantic analysis or code generation.  " &
          "Updates the library, marking any defined units as uncompiled.";

    Dependent_Files_Help : constant String :=
       "-F  (files)  " &  
          "Prints a list of dependent files in order and suppresses linking.";

    Dependent_Units_Help : constant String :=
       "-U  (units)  " &  
          "Prints a list of dependent units in order and suppresses linking.";

    Elaborate_Help : constant String :=
       "-E unit_name  (elaborate)  " &  
          "Elaborates unit_name as early in the elaboration order " &
          "as possible.";

    Error_Listing_Help : constant String :=
       "-El  (error listing)  " &  
          "Same as the -E (Error_Output) option, except that a " &
          "source listing with errors is produced.";

    Error_Output_Help : constant String :=
       "-E  (error output)  " &
          "If this switch is True, Ada processes error messages " &
          "using a.error and directs a brief output to standard output; " &
          "the raw error messages are left in ada_source.err.";

    Executable_Output_Help : constant String :=
       "-o executable_file  (output)  " &
          "This option can only be used in conjunction with the -M option.  " &
          "The name of the executable will be executable_file rather than " &
          "the default a.out.";

    Invoke_Preprocessor_Help : constant String :=
       "-P  (preprocessor)  " &  
          "Invokes the Ada Preprocessor.";

    Keep_Intermediate_Help : constant String :=
       "-K  (keep)  " &  
          "Keeps the intermediate language (IL) file produced by " &
          "the compiler front end.  The IL file will be placed in " &
          "the .objects directory, with the file name ada_source.i.";

    Main_Help : constant String :=
       "-M unit_name, -M source_file  (main).  -M unit_name :  " &
          "Produces an executable program by linking the named unit as the " &
          "main program.  unit_name must already be compiled.  It must be " &
          "either a parameterless procedure or a parameterless function " &
          "returning an integer.  " &

          "-M source_file :  " &
          "Produces an executable program by compiling and linking " &
          "source_file.  The main unit of the program is assumed to be " &
          "the root name of the .a file (for foo.a the unit is foo).  " &
          "Only one .a file may be preceded by -M.  " &
          "In either case, the executable program will be named a.out " &
          "unless overridden with the -o option.";

    Optimization_Help : constant String :=
       "-O[0-9]  (optimize)  " &  
          "Invokes the code optimizer (OPTIM3).  An optional " &
          "digit (there is no space before the digit) provides " &
          "the level of optimization.  The default is -O4.  " &
          "Note that an entire option string, such as ""-O2"" or ""-O"", " &
          "must be supplied as an argument for this switch.  " &
          "-O  : full optimization, " &  
          "-O0 : prevents optimization, " &  
          "-O1 : no hoisting, " &  
          "-O2 : no hoisting but more passes, " &
          "-O3 : no hoisting but even more passes, " &
          "-O4 : hoisting from loops, " &
          "-O5 : hoisting from loops but more passes, " &
          "-O6 : hoisting from loops with maximum passes, " &
          "-O7 : hoisting from loops and branches, " &
          "-O8 : hoisting from loops and branches, more passes, " &
          "-O9 : hoisting from loops and branches, maximum passes.";

    Recompile_Instantiation_Help : constant String :=
       "-R IbmAda_library  (recompile instantiation)  " &
          "Forces analysis of all generic instantiations, " &
          "causing reinstantiation of any that are out of date.";

    Show_Tool_Name_Only_Help : constant String :=
       "-sh  (show)  " &  
          "Displays the name of the tool executable but does not execute it.";

    Suppress_Warnings_Help : constant String :=
       "-w  (warnings)  " &  
          "Suppresses warning diagnostics.";

    Timing_Help : constant String :=
       "-T  (timing)  " &  
          "Prints timing information for the compilation.";

    Verbose_Help : constant String :=
       "-v  (verbose)  " &  
          "During compilation, prints the compiler version number, date and " &
          "time of compilation, name of file compiled, command input line, " &
          "total compilation time, error summary line, and " &
          "storage usage information about the object file.  " &
          "During linking, prints the linker command before executing it.";



    -- Commented descriptions for each of the options defined below are taken
    -- mainly from the man pages supplied by the IbmAda "a.help" command.

    Option_List : constant Op.Option_List :=

       (
        -------- COMPILER OPTIONS --------
        --
        --{ The SPARC ada compiler appears to be happy if these options are
        --  made post-options instead of pre-options. }
        --
        -- -# identifier type value (define) Define an identifier of a
        -- specified type and value. See Chapter 10, Ibm Ada ADA
        -- PREPROCESSOR REFERENCE.

        Op.Build (For_Target => T_Name,
                   Option_Name => "-#",
                   Active_Phases => (Op.Promote => True, others => False),
                   Switch_Dependent => True,
                   Switch_Name => "Define_Preprocessor_Value",
                   Default_Value => "",
                   Option_Takes_Arg => True,
                   Is_Pre_Option => True,
                   Help => Define_Preprocessor_Value_Help),


        -- -a file_name
        -- (archive) Treat file_name as an object
        -- archive file created by ar.  Since some archive files end
        -- with .a, -a is used to distinguish archive files from Ada
        -- source files.

        Op.Build (For_Target => T_Name,
                  Option_Name => "-a",
                  Active_Phases => (Op.Promote => True, others => False),
                  Switch_Dependent => True,
                  Switch_Name => "Archive_File_Name",
                  Default_Value => "",
                  Option_Takes_Arg => True,
                  Is_Pre_Option => True,
                  Help => Archive_File_Name_Help),


        -- -d
        -- (dependencies) Analyze for dependencies only. Do not do
        -- semantic analysis or code generation. Update the library,
        -- marking any defined units as uncompiled. The -d option is
        -- used by a.make to establish dependencies among new files.

        Op.Build  
           (For_Target => T_Name,
            Option_Name => "-d",
            Active_Phases => (Op.Promote => True, others => False),
            Switch_Dependent => True,
            Switch_Name => "Dependencies_Only",
            Default_Value => "False",
            Option_Takes_Arg => False,
            Is_Pre_Option => True,
            Help => Dependencies_Only_Help),


        -- -E
        -- -E file
        -- -E directory
        -- Without a file or directory argument, ada processes error
        -- messages using a.error and directs a brief output to
        -- standard output; the raw error messages are left in
        -- ada_source.err.  If a file pathname is given, the raw
        -- error messages are placed in that file.  If a directory
        -- argument is supplied, the raw error output is placed in
        -- dir/source.err.  The file of raw error messages can be used
        -- as input to a.error.
        --
        --{ We can only use one -E option (either -E or -El). }

        Op.Build (For_Target => T_Name,
                  Option_Name => "-E",
                  Active_Phases => (Op.Promote => True, others => False),
                  Switch_Dependent => True,
                  Switch_Name => "Error_Output",
                  Default_Value => "False",
                  Option_Takes_Arg => False,
                  Is_Pre_Option => True,
                  Help => Error_Output_Help),


        -- -El
        -- -El file
        -- -El directory
        -- Same as the -E option, except that a source listing with errors
        -- is produced.
        --
        --{ This is partly true.  The source listing with errors goes to the
        --  standard output, but the error file will only contain the errors,
        --  not the source listing, so for RCI purposes -E (Error_Output) and
        --  -El (Error_Listing) are identical. }

        Op.Build (For_Target => T_Name,
                  Option_Name => "-El",
                  Active_Phases => (Op.Promote => True, others => False),
                  Switch_Dependent => True,
                  Switch_Name => "Error_Listing",
                  Default_Value => "False",
                  Option_Takes_Arg => False,
                  Is_Pre_Option => True,
                  Help => Error_Listing_Help),


        -- -K
        -- (keep) Keep the intermediate language (IL) file
        -- produced by the compiler front end.  The IL file will be placed
        -- in the .objects directory, with the file name ada_source.i.

        Op.Build  
           (For_Target => T_Name,
            Option_Name => "-K",
            Active_Phases => (Op.Promote => True, others => False),
            Switch_Dependent => True,
            Switch_Name => "Keep_Intermediate",
            Default_Value => "False",
            Option_Takes_Arg => False,
            Is_Pre_Option => True,
            Help => Keep_Intermediate_Help),


        -- -M unit_name
        -- (main) Produce an executable program by linking the named unit as
        -- the main program.  unit_name must already be compiled.  It must be
        -- either a parameterless procedure or a parameterless function
        -- returning an integer.  The executable program will be named a.out
        -- unless overridden with the -o option.
        --
        -- -M source_file
        -- (main) Produce an executable program by compiling and linking
        -- source_file.  The main unit of the program is assumed to be the root
        -- name of the .a file (for foo.a the unit is foo).  Only one .a file
        -- may be preceded by -M.  The executable program will be named a.out
        -- unless overridden with the -o option.

        Op.Build (For_Target => T_Name,
                  Option_Name => "-M",
                  Active_Phases => (Op.Promote => True, others => False),
                  Switch_Dependent => True,
                  Switch_Name => "Main",
                  Default_Value => "",
                  Option_Takes_Arg => True,
                  Is_Pre_Option => True,
                  Help => Main_Help),


        -- -o executable_file
        -- (output) This option is to be used in conjunction with the -M
        -- option.  executable_file is the name of the executable rather than
        -- the default a.out.

        Op.Build (For_Target => T_Name,
                  Option_Name => "-o",
                  Active_Phases => (Op.Promote => True, others => False),
                  Switch_Dependent => True,
                  Switch_Name => "Executable_Output",
                  Default_Value => "",
                  Option_Takes_Arg => True,
                  Is_Pre_Option => True,
                  Help => Executable_Output_Help),


        -- -O[0-9]
        -- (optimize) Invoke the code optimizer (OPTIM3).  An
        -- optional digit (there is no space before the digit) provides
        -- the level of optimization.  The default is -O4.
        --
        -- The switch argument must be a string containing the desired
        -- optimization option, which must contain a minus sign followed by the
        -- letter 'O' followed by a digit ("-O0" .. "-O9").  Note that the
        -- argument must contain the '-' prefix.

        Op.Build (For_Target => T_Name,
                  Option_Name => "",
                  Active_Phases => (Op.Promote => True, others => False),
                  Switch_Dependent => True,
                  Switch_Name => "Optimization",
                  Default_Value => "",
                  Option_Takes_Arg => True,
                  Is_Pre_Option => True,
                  Help => Optimization_Help),


        -- -P
        -- Invoke the Ada Preprocessor. See Chapter 10, Ibm Ada ADA
        -- PREPROCESSOR REFERENCE.

        Op.Build (For_Target => T_Name,
                  Option_Name => "-P",
                  Active_Phases => (Op.Promote => True, others => False),
                  Switch_Dependent => True,
                  Switch_Name => "Invoke_Preprocessor",
                  Default_Value => "False",
                  Option_Takes_Arg => False,
                  Is_Pre_Option => True,
                  Help => Invoke_Preprocessor_Help),


        -- -R IbmAda_library
        -- (recompile instantiation) Force analysis of all generic
        -- instantiations, causing reinstantiation of any that are out of date.
        --

        Op.Build (For_Target => T_Name,
                  Option_Name => "-R",
                  Active_Phases => (Op.Promote => True, others => False),
                  Switch_Dependent => True,
                  Switch_Name => "Recompile_Instantiation",
                  Default_Value => "",
                  Option_Takes_Arg => True,
                  Is_Pre_Option => True,
                  Help => Recompile_Instantiation_Help),


        -- -S
        -- (suppress) Apply pragma SUPPRESS to the entire
        -- compilation for all suppressible checks.  (See also pragma
        -- SUPPRESS(ALL_CHECKS) on page PG F-6.

        Op.Build (For_Target => T_Name,
                  Option_Name => "-S",
                  Active_Phases => (Op.Promote => True, others => False),
                  Switch_Dependent => True,
                  Switch_Name => "Apply_Suppress",
                  Default_Value => "False",
                  Option_Takes_Arg => False,
                  Is_Pre_Option => True,
                  Help => Apply_Suppress_Help),


        -- -sh
        -- (show) Display the name of the tool executable but do
        -- not execute it.

        Op.Build  
           (For_Target => T_Name,
            Option_Name => "-sh",
            Active_Phases => (Op.Promote => True,  
                              Op.Link => True,
                              others => False),
            Switch_Dependent => True,
            Switch_Name => "Show_Tool_Name_Only",
            Default_Value => "False",
            Option_Takes_Arg => False,
            Is_Pre_Option => True,
            Help => Show_Tool_Name_Only_Help),


        -- -T
        -- (timing) Print timing information for the compilation.

        Op.Build  
           (For_Target => T_Name,
            Option_Name => "-T",
            Active_Phases => (Op.Promote => True, others => False),
            Switch_Dependent => True,
            Switch_Name => "Timing",
            Default_Value => "False",
            Option_Takes_Arg => False,
            Is_Pre_Option => True,
            Help => Timing_Help),


        -- -v
        -- (verbose) Print compiler version number, date and time
        -- of compilation, name of file compiled, command input line,
        -- total compilation time, and error summary line. Storage
        -- usage information about the object file is provided. With
        -- OPTIM3 the output format of compression (the size of
        -- optimized instructions) is as a percentage of input
        -- (unoptimized instructions).

        Op.Build  
           (For_Target => T_Name,
            Option_Name => "-v",
            Active_Phases => (Op.Promote => True,  
                              Op.Link => True,
                              others => False),
            Switch_Dependent => True,
            Switch_Name => "Verbose",
            Default_Value => "False",
            Option_Takes_Arg => False,
            Is_Pre_Option => True,
            Help => Verbose_Help),


        -- -w
        -- (warnings) Suppress warning diagnostics.

        Op.Build (For_Target => T_Name,
                  Option_Name => "-w",
                  Active_Phases => (Op.Promote => True, others => False),
                  Switch_Dependent => True,
                  Switch_Name => "Suppress_Warnings",
                  Default_Value => "False",
                  Option_Takes_Arg => False,
                  Is_Pre_Option => True,
                  Help => Suppress_Warnings_Help),


        -------- LINKER OPTIONS --------
        --
        -- -DX
        -- (debug) Debug memory overflow (use in cases where linking a
        -- large number of units causes the error message "local symbol
        -- overflow" to occur).

        Op.Build (For_Target => T_Name,
                  Option_Name => "-DX",
                  Active_Phases => (Op.Link => True, others => False),
                  Switch_Dependent => True,
                  Switch_Name => "Debug_Overflow",
                  Default_Value => "False",
                  Option_Takes_Arg => False,
                  Is_Pre_Option => True,
                  Help => Debug_Overflow_Help),


        -- -E unit_name
        -- (elaborate) Elaborate unit_name as early in the elaboration order
        -- as possible.

        Op.Build (For_Target => T_Name,
                  Option_Name => "-E",
                  Active_Phases => (Op.Link => True, others => False),
                  Switch_Dependent => True,
                  Switch_Name => "Elaborate",
                  Default_Value => "",
                  Option_Takes_Arg => True,
                  Is_Pre_Option => True,
                  Help => Elaborate_Help),


        -- -F
        -- (files) Print a list of dependent files in order and
        -- suppress linking.

        Op.Build (For_Target => T_Name,
                  Option_Name => "-F",
                  Active_Phases => (Op.Link => True, others => False),
                  Switch_Dependent => True,
                  Switch_Name => "Dependent_Files",
                  Default_Value => "False",
                  Option_Takes_Arg => False,
                  Is_Pre_Option => True,
                  Help => Dependent_Files_Help),


        -- -sh
        -- (show) Display the name of the tool executable but do not execute it.

        -- (defined above)


        -- -U
        -- (units) Print a list of dependent units in order and
        -- suppress linking.

        Op.Build (For_Target => T_Name,
                  Option_Name => "-U",
                  Active_Phases => (Op.Link => True, others => False),
                  Switch_Dependent => True,
                  Switch_Name => "Dependent_Units",
                  Default_Value => "False",
                  Option_Takes_Arg => False,
                  Is_Pre_Option => True,
                  Help => Dependent_Units_Help)


        -- -v
        -- (verbose) Print the linker command before executing it.

        -- (defined above)


        );

    Associated_File_List : constant Op.Associated_File_List :=

       --{ Only one of the following 2 associated files is possible for any
       --  given compilation. }

       (Op.Build (For_Target => T_Name,
                  The_File_Type => Op.Text,
                  The_Retrieve_Condition => Op.On_Error,
                  Retrieve_Phase => Op.Promote,
                  Option_Dependent => True,
                  Associated_Option_Switch => "Error_Output",
                  Host_Filename_Extension => "list",
                  Remote_Filename_Type => Op.File_Name,
                  Argument_Overrides_Fixed_Name => False,
                  Fixed_Remote_Filename => "",
                  Remote_Filename_Extension => "err"),


        Op.Build (For_Target => T_Name,
                  The_File_Type => Op.Text,
                  The_Retrieve_Condition => Op.On_Error,
                  Retrieve_Phase => Op.Promote,
                  Option_Dependent => True,
                  Associated_Option_Switch => "Error_Listing",
                  Host_Filename_Extension => "list",  
                  Remote_Filename_Type => Op.File_Name,
                  Argument_Overrides_Fixed_Name => False,
                  Fixed_Remote_Filename => "",
                  Remote_Filename_Extension => "err"),


        -- The Sparc does not support Binary FTP file transfer, i.e., the
        -- FTP.Use_Type (Binary) fails.  It does support FTP.Use_Type
        -- (Local_Binary), but this enumeration is NOT defined in the
        -- Rci_Customization_Interface subsystem package
        -- Operational_Characteristics.  Text transfer seems to work fine
        -- however, so we'll use that for now (even though the file really is a
        -- binary file).

        Op.Build (For_Target => T_Name,
                  The_File_Type => Op.Text,
                  The_Retrieve_Condition => Op.On_Normal,
                  Retrieve_Phase => Op.Link,
                  Option_Dependent => False,
                  Associated_Option_Switch => "",
                  Host_Filename_Extension => "exe",
                  Remote_Filename_Type => Op.Fixed_Name,
                  Argument_Overrides_Fixed_Name => True,
                  Fixed_Remote_Filename => "a.out",
                  Remote_Filename_Extension => "")

        );


    --------------------------------------------------


    Op_Characteristics : Op.Object :=
       Op.Build (Properties => Compiler_Properties,

                 Max_Filename_Length => 255,

                 Full_Pathname_Length => 800,
                 -- This is the limit specified in the Ibm Ada User's Guide.

                 Spec_Filename_Extension => "a",
                 Body_Filename_Extension => "a",

                 Extension_Separator => ".",

                 Directory_Separator => "/",
                 Directory_Prefix => "",
                 Directory_Suffix => "",
                 Directory_Unit_Separator => "/",

                 Case_Sensitive => True,
                 Command_Line_Case => Op.Lower,
                 Max_Command_Line_Length => 255,

                 Compiler_Command => "ada",
                 Compiler_Pre_Command => Compiler_Location.The_Path_Without,
                 Compiler_Post_Command => "",

                 Linker_Command => "a.ld",
                 Linker_Pre_Command => Compiler_Location.The_Path_Without,
                 Linker_Post_Command => "",

                 Executable_Option => "-o",  
                 Executable_Option_Is_Pre_Option => True,

                 Context_Command => "cd",

                 Library_Command => "",

                 Default_Program_Library_Name => "",
                 Parse_Standard_Output => False,
                 Parse_Standard_Error => False,
                 Error_Pattern => "",

                 Remote_Operating_System => Op.Unix,       -- not used yet

                 The_Transfer_Type => Get_Transfer_Type,

                 Option_Separator => " ",
                 Option_Header => "",
                 Option_Argument_Separator => " ",
                 Options => Option_List,

                 Ada_Name_Subunit_Separator => "__",
                 Ada_Name_Spec_Suffix => "_",
                 Ada_Name_Body_Suffix => "",

                 Ada_Name_Is_Lowercase => True,

                 Associated_Files => Associated_File_List,
                 The_Operation_Mode => The_Operation_Mode,
                 Generate_Batch_Compile_Commands => False,
                 Run_Script_Command => "sh",
                 Copy_Command => "copy",
                 Batch_Move_Script_File_Name => "move_script_name",
                 Create_Dir_Command => "mkdir",
                 Date_Command => "",
                 Date_File_Suffix => "",
                 For_Target => T_Name);

begin
    return Op_Characteristics;
end Get_Operational_Info;

E3 Meta Data

    nblk1=1b
    nid=0
    hdr6=36
        [0x00] rec0=1a rec1=00 rec2=01 rec3=018
        [0x01] rec0=17 rec1=00 rec2=02 rec3=030
        [0x02] rec0=16 rec1=00 rec2=03 rec3=072
        [0x03] rec0=16 rec1=00 rec2=04 rec3=03a
        [0x04] rec0=12 rec1=00 rec2=05 rec3=044
        [0x05] rec0=17 rec1=00 rec2=06 rec3=000
        [0x06] rec0=17 rec1=00 rec2=07 rec3=080
        [0x07] rec0=18 rec1=00 rec2=08 rec3=060
        [0x08] rec0=1c rec1=00 rec2=09 rec3=042
        [0x09] rec0=16 rec1=00 rec2=0a rec3=010
        [0x0a] rec0=18 rec1=00 rec2=0b rec3=030
        [0x0b] rec0=17 rec1=00 rec2=0c rec3=046
        [0x0c] rec0=16 rec1=00 rec2=0d rec3=046
        [0x0d] rec0=17 rec1=00 rec2=0e rec3=004
        [0x0e] rec0=19 rec1=00 rec2=0f rec3=05a
        [0x0f] rec0=18 rec1=00 rec2=10 rec3=036
        [0x10] rec0=1e rec1=00 rec2=11 rec3=038
        [0x11] rec0=18 rec1=00 rec2=12 rec3=046
        [0x12] rec0=1c rec1=00 rec2=13 rec3=018
        [0x13] rec0=19 rec1=00 rec2=14 rec3=03c
        [0x14] rec0=1f rec1=00 rec2=15 rec3=02a
        [0x15] rec0=1d rec1=00 rec2=16 rec3=008
        [0x16] rec0=15 rec1=00 rec2=17 rec3=044
        [0x17] rec0=1b rec1=00 rec2=18 rec3=000
        [0x18] rec0=1b rec1=00 rec2=19 rec3=004
        [0x19] rec0=1c rec1=00 rec2=1a rec3=018
        [0x1a] rec0=0c rec1=00 rec2=1b rec3=000
    tail 0x21757f44c878e746ad2db 0x42a00088462060003