|
|
DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 32768 (0x8000)
Types: Ada Source
Notes: 03_class, FILE, R1k_Segment, e3_tag, function Get_Operational_Info, seg_021210, separate I386_Unix_Als_Xt
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
└─⟦cfc2e13cd⟧ »Space Info Vol 2«
└─⟦this⟧
with Help_Text;
separate (I386_Unix_Als_Xt)
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);
Assembly_Help : constant String := Help_Text.Assembly;
Checks_Help : constant String := Help_Text.Checks;
Data_Help : constant String := Help_Text.Data;
Expressions_Help : constant String := Help_Text.Expressions;
Family_Name_Help : constant String := Help_Text.Family_Name;
Get_Binder_List_Help : constant String := Help_Text.Get_Binder_List;
Get_Compiler_List_Help : constant String := Help_Text.Get_Comp_List;
Get_Cui_File_Help : constant String := Help_Text.Get_Cui_File;
Get_Executable_Help : constant String := Help_Text.Get_Executable;
Get_Lnk_File_Help : constant String := Help_Text.Get_Lnk_File;
History_Help : constant String := Help_Text.History;
Improve_Calls_Help : constant String := Help_Text.Improve_Calls;
Increment_Help : constant String := Help_Text.Increment;
Keep_Debug_Help : constant String := Help_Text.Keep_Debug;
Main_Help : constant String := Help_Text.Main;
Memory_Help : constant String := Help_Text.Memory;
Reduction_Help : constant String := Help_Text.Reduction;
Show_Help : constant String := Help_Text.Show;
Size_Help : constant String := Help_Text.Size;
Stack_Help : constant String := Help_Text.Stack;
Task_Help : constant String := Help_Text.Taskk;
Text_Help : constant String := Help_Text.Text;
---------------------------------------------------------------------------
-- Note that all of the Alsys command words that we generate here are
-- "verbose". They could be abbreviated in the generated command strings
-- if command-length is a serious problem.
Option_List : constant Op.Option_List :=
-- This is NOT a user configurable option, but rather a required Alsys
-- option that is put into the command string immediately after the
-- Compiler_Command or Linker_Command (see below) and before any other
-- options.
--
(Op.Build (Option_Name => "library=adalib",
Active_Phases => (Op.Promote => True,
Op.Link => True,
others => False),
Switch_Dependent => False,
Switch_Name => "",
Default_Value => "",
Option_Takes_Arg => False,
Is_Pre_Option => True,
Help => "",
For_Target => T_Name),
-------------------------------------------------------------------------------
-- C O M P I L E R O P T I O N S
-------------------------------------------------------------------------------
-- SOURCE See below
-- LIBRARY See above {adalib}
-- Not implemented: ANNOTATE = character_string {""}
-- ERRORS = positive_integer {50}
-- LEVEL = PARSE | SEMANTIC | CODE | {UPDATE}
Op.Build (Option_Name => "checks=",
Active_Phases => (Op.Promote => True, others => False),
Switch_Dependent => True,
Switch_Name => "Run_Time_Checks",
Default_Value => "", -- {NONE} | ALL | STACK
Option_Takes_Arg => True,
Is_Pre_Option => True,
Help => Checks_Help,
For_Target => T_Name),
-- Not implemented: GENERICS = STUBS | {INLINE}
-- TASKING = {YES} | NO
Op.Build (Option_Name => "memory=",
Active_Phases => (Op.Promote => True, others => False),
Switch_Dependent => True,
Switch_Name => "Shared_Memory_Size",
Default_Value => "", -- {500}
Option_Takes_Arg => True,
Is_Pre_Option => True,
Help => Memory_Help,
For_Target => T_Name),
-- Not implemented: OUTPUT = SCREEN | NONE | {AUTOMATIC} | file_name
-- WARNING = {YES} | NO
Op.Build (Option_Name => "text=",
Active_Phases => (Op.Promote => True, others => False),
Switch_Dependent => True,
Switch_Name => "Display_Text",
-- The Alsys default value is NO.
Default_Value => "yes", -- {YES} | NO
Option_Takes_Arg => True,
Is_Pre_Option => True,
Help => Text_Help,
For_Target => T_Name),
Op.Build (Option_Name => "show=",
Active_Phases => (Op.Promote => True, others => False),
Switch_Dependent => True,
Switch_Name => "Display_Show",
-- The Alsys default value is BANNER.
Default_Value => "all", -- BANNER | RECAP | {ALL} | NONE
Option_Takes_Arg => True,
Is_Pre_Option => True,
Help => Show_Help,
For_Target => T_Name),
-- Not implemented: DETAIL = {YES} | NO
Op.Build (Option_Name => "assembly=",
Active_Phases => (Op.Promote => True, others => False),
Switch_Dependent => True,
Switch_Name => "Display_Assembly",
Default_Value => "", -- {NONE} | CODE | MAP | ALL
Option_Takes_Arg => True,
Is_Pre_Option => True,
Help => Assembly_Help,
For_Target => T_Name),
Op.Build (Option_Name => "stack=",
Active_Phases => (Op.Promote => True, others => False),
Switch_Dependent => True,
Switch_Name => "Stack_Object_Size",
Default_Value => "", -- {20480}
Option_Takes_Arg => True,
Is_Pre_Option => True,
Help => Stack_Help,
For_Target => T_Name),
Op.Build (Option_Name => "calls=",
Active_Phases => (Op.Promote => True, others => False),
Switch_Dependent => True,
Switch_Name => "Improve_Calls",
Default_Value => "", -- {NORMAL} | INLINED
Option_Takes_Arg => True,
Is_Pre_Option => True,
Help => Improve_Calls_Help,
For_Target => T_Name),
Op.Build (Option_Name => "reduction=",
Active_Phases => (Op.Promote => True, others => False),
Switch_Dependent => True,
Switch_Name => "Improve_Reduction",
Default_Value => "", -- {NONE} | PARTIAL | EXTENSIVE
Option_Takes_Arg => True,
Is_Pre_Option => True,
Help => Reduction_Help,
For_Target => T_Name),
Op.Build (Option_Name => "expressions=",
Active_Phases => (Op.Promote => True, others => False),
Switch_Dependent => True,
Switch_Name => "Improve_Expressions",
Default_Value => "", -- {NONE} | PARTIAL | EXTENSIVE
Option_Takes_Arg => True,
Is_Pre_Option => True,
Help => Expressions_Help,
For_Target => T_Name),
-- Not implemented: COPY = YES | {NO}
-- Note that this option will also appear in Link commands.
Op.Build (Option_Name => "debug=",
Active_Phases => (Op.Promote => True,
Op.Link => True,
others => False),
Switch_Dependent => True,
Switch_Name => "Keep_Debug",
Default_Value => "", -- YES | {NO}
Option_Takes_Arg => True,
Is_Pre_Option => True,
Help => Keep_Debug_Help,
For_Target => T_Name),
-- Not Implemented: TREE = YES | {NO}
--
-- This is NOT a user-configurable option, but rather a required Alsys
-- construct that is put at the end of the options in the compile
-- command string to name the 'source_name' parameter. It must be the
-- last Built compiler Pre_Option. The RCI will place the user-defined
-- Compiler_Pre_Options string between this (partial) option and the
-- 'source_name', which will form a syntactically invalid command if
-- the Compiler_Pre_Options switch value is non-null. Thus any such
-- options must be included as Compiler_Post_Options, not as
-- Compiler_Pre_Options.
--
Op.Build (Option_Name => "source=",
Active_Phases => (Op.Promote => True, others => False),
Switch_Dependent => False,
Switch_Name => "",
Default_Value => "",
Option_Takes_Arg => False,
Is_Pre_Option => True,
Help => "",
For_Target => T_Name),
-------------------------------------------------------------------------------
-- B I N D E R O P T I O N S
-------------------------------------------------------------------------------
-- PROGRAM See below
-- LIBRARY See above
-- Not implemented: LEVEL = CHECK | BIND | {LINK}
-- MATHLIB = I287 | {I387}
-- OBJECT in the Executable_Option below
-- UNCALLED = {REMOVE} | KEEP
-- SLICE = {NO} | positive_integer
-- BLOCKING = YES | NO | {AUTOMATIC}
Op.Build (Option_Name => "main=",
Active_Phases => (Op.Link => True, others => False),
Switch_Dependent => True,
Switch_Name => "Stack_Main_Size",
Default_Value => "", -- {96}
Option_Takes_Arg => True,
Is_Pre_Option => True,
Help => Main_Help,
For_Target => T_Name),
Op.Build (Option_Name => "task=",
Active_Phases => (Op.Link => True, others => False),
Switch_Dependent => True,
Switch_Name => "Stack_Task_Size",
Default_Value => "", -- {8}
Option_Takes_Arg => True,
Is_Pre_Option => True,
Help => Task_Help,
For_Target => T_Name),
Op.Build (Option_Name => "history=",
Active_Phases => (Op.Link => True, others => False),
Switch_Dependent => True,
Switch_Name => "Stack_Trace_History",
Default_Value => "", -- {YES} | NO
Option_Takes_Arg => True,
Is_Pre_Option => True,
Help => History_Help,
For_Target => T_Name),
Op.Build (Option_Name => "size=",
Active_Phases => (Op.Link => True, others => False),
Switch_Dependent => True,
Switch_Name => "Heap_Initial_Size",
Default_Value => "", -- {64}
Option_Takes_Arg => True,
Is_Pre_Option => True,
Help => Size_Help,
For_Target => T_Name),
Op.Build (Option_Name => "increment=",
Active_Phases => (Op.Link => True, others => False),
Switch_Dependent => True,
Switch_Name => "Heap_Increment_Size",
Default_Value => "", -- {64}
Option_Takes_Arg => True,
Is_Pre_Option => True,
Help => Increment_Help,
For_Target => T_Name),
-- Not implemented: DIRECTIVES = options_for_linker {""}
-- MODULES = file_names {""}
-- SEARCH = library_names {""}
-- OUTPUT = SCREEN | NONE | {AUTOMATIC} | file_name
Op.Build (Option_Name => "data=",
Active_Phases => (Op.Link => True, others => False),
Switch_Dependent => True,
Switch_Name => "Display_Map_Data",
Default_Value => "", -- {NONE} | BIND | LINK | ALL
Option_Takes_Arg => True,
Is_Pre_Option => True,
Help => Data_Help,
For_Target => T_Name),
-- Not implemented: WARNING = {YES} | NO
-- TUNE = YES | {NO}
-- DEBUG See above {NO}
--
-- This is NOT a user configurable option, but rather a required Alsys
-- construct that is put at the end of the options in the link command
-- string to name the 'unit_name' parameter. It must be the last Built
-- link Pre_Option. The RCI will place the user-defined
-- Linker_Pre_Options string between this (partial) option and the
-- 'unit_name', which will form a syntactically invalid command if the
-- Linker_Pre_Options switch value is non-null. Thus any such options
-- must be included as Linker_Post_Options, not as Linker_Pre_Options.
--
Op.Build (Option_Name => "program=",
Active_Phases => (Op.Link => True, others => False),
Switch_Dependent => False,
Switch_Name => "",
Default_Value => "",
Option_Takes_Arg => False,
Is_Pre_Option => True,
Help => "",
For_Target => T_Name),
-------------------------------------------------------------------------------
-- A S S O C I A T E D F I L E S
-------------------------------------------------------------------------------
Op.Build (Option_Name => "",
Active_Phases => (Op.Promote => True, others => False),
Switch_Dependent => True,
Switch_Name => "Get_Compiler_Listing",
Default_Value => "True",
Option_Takes_Arg => False,
Is_Pre_Option => False,
Help => Get_Compiler_List_Help,
For_Target => T_Name),
Op.Build (Option_Name => "",
Active_Phases => (Op.Link => True, others => False),
Switch_Dependent => True,
Switch_Name => "Get_Binder_Listing",
Default_Value => "True",
Option_Takes_Arg => False,
Is_Pre_Option => False,
Help => Get_Binder_List_Help,
For_Target => T_Name),
Op.Build (Option_Name => "",
Active_Phases => (Op.Link => True, others => False),
Switch_Dependent => True,
Switch_Name => "Get_Cui_File",
Default_Value => "False",
Option_Takes_Arg => False,
Is_Pre_Option => False,
Help => Get_Cui_File_Help,
For_Target => T_Name),
Op.Build (Option_Name => "",
Active_Phases => (Op.Link => True, others => False),
Switch_Dependent => True,
Switch_Name => "Get_Lnk_File",
Default_Value => "False",
Option_Takes_Arg => False,
Is_Pre_Option => False,
Help => Get_Lnk_File_Help,
For_Target => T_Name),
Op.Build (Option_Name => "",
Active_Phases => (Op.Link => True, others => False),
Switch_Dependent => True,
Switch_Name => "Get_Executable_File",
Default_Value => "False",
Option_Takes_Arg => False,
Is_Pre_Option => False,
Help => Get_Executable_Help,
For_Target => T_Name),
--
-- The following defines a switch whose value can be set by the user,
-- but it is not an option that will go into any command strings, and
-- it is not associated with any files.
--
Op.Build (Option_Name => "",
Active_Phases => (others => False),
Switch_Dependent => True,
Switch_Name => "User_Set_Family_Name",
Default_Value => "",
Option_Takes_Arg => True,
Is_Pre_Option => False,
Help => Family_Name_Help,
For_Target => T_Name)
);
Associated_File_List : constant Op.Associated_File_List :=
-----------------------------------------------------------------------
(Op.Build (The_File_Type => Op.Text,
The_Retrieve_Condition => Op.Always,
Retrieve_Phase => Op.Promote,
Option_Dependent => True,
Associated_Option_Switch => "Get_Compiler_Listing",
Host_Filename_Extension => "lis",
Remote_Filename_Type => Op.File_Name,
Argument_Overrides_Fixed_Name => False,
Fixed_Remote_Filename => "",
Remote_Filename_Extension => "lis",
For_Target => T_Name),
-- The following directs the RCI to retrieve the .map file after a
-- Link error, but the .map file will actually be uploaded only if the
-- executable name is the same as the unit's Ada_Name (as it will be in
-- the default case). We could alternatively set this up to use the
-- unit's remote File_Name (something like "foo_5_b") or a Fixed_Name
-- (such as "fixed"), but that won't work any better. If the
-- executable name is different from the Ada name, the RCI will not
-- find the .map file, so it won't fetch it. The customization can
-- handle arbitrary executable names, and it will also upload .map
-- files, but in general this won't work because one really needs to
-- see the .map file only to find out why a Link failed, and the RCI
-- won't call the customization after a link error.
--
Op.Build (The_File_Type => Op.Text,
The_Retrieve_Condition => Op.On_Error,
Retrieve_Phase => Op.Link,
Option_Dependent => True,
Associated_Option_Switch => "Get_Binder_Listing",
Host_Filename_Extension => "MAP",
Remote_Filename_Type => Op.Ada_Name,
Argument_Overrides_Fixed_Name => False,
Fixed_Remote_Filename => "",
Remote_Filename_Extension => "map",
For_Target => T_Name)
-- The following files should be retrieved automatically by the RCI
-- after a Link, but in general they won't be, because the RCI can't
-- retrieve the files when an executable file name like 'foo' is
-- specified for the unit whose Ada name is 'bar'. In that case Alsys
-- generates the files foo.lnk, foo.cui, etc., but the RCI only handles
-- files whose base name is the Ada_Name or the File_Name. This
-- customization will therefore retrieve the files itself in
-- Link_Postprocess. Unfortunately, Link_Postprocess won't be called
-- if there is a link error, so in this case the customization won't be
-- able to upload any files, even though the user needs to see the .map
-- file, which will contain information about the failure.
--
-- Op.Build (The_File_Type => Op.Binary,
-- The_Retrieve_Condition => Op.On_Normal,
-- Retrieve_Phase => Op.Link,
-- Option_Dependent => True,
-- Associated_Option_Switch => "Get_Cui_File",
-- Host_Filename_Extension => "CUI",
-- Remote_Filename_Type => Op.Ada_Name,
-- Argument_Overrides_Fixed_Name => False,
-- Fixed_Remote_Filename => "",
-- Remote_Filename_Extension => "cui",
-- For_Target => T_Name),
--
-- Op.Build (The_File_Type => Op.Text,
-- The_Retrieve_Condition => Op.On_Normal,
-- Retrieve_Phase => Op.Link,
-- Option_Dependent => True,
-- Associated_Option_Switch => "Get_Lnk_File",
-- Host_Filename_Extension => "LNK",
-- Remote_Filename_Type => Op.Ada_Name,
-- Argument_Overrides_Fixed_Name => False,
-- Fixed_Remote_Filename => "",
-- Remote_Filename_Extension => "lnk",
-- For_Target => T_Name),
--
-- Op.Build (The_File_Type => Op.Binary,
-- The_Retrieve_Condition => Op.On_Normal,
-- Retrieve_Phase => Op.Link,
-- Option_Dependent => True,
-- Associated_Option_Switch => "Get_Executable_File",
-- Host_Filename_Extension => "EXE",
-- Remote_Filename_Type => Op.Ada_Name,
-- Argument_Overrides_Fixed_Name => False,
-- Fixed_Remote_Filename => "",
-- Remote_Filename_Extension => "",
-- For_Target => T_Name)
);
--------------------------------------------------
Op_Characteristics : Op.Object :=
Op.Build (Properties => Compiler_Properties,
Max_Filename_Length => 255,
Full_Pathname_Length => 1024,
Spec_Filename_Extension => "ads",
Body_Filename_Extension => "adb",
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 compile",
Compiler_Pre_Command => "",
Compiler_Post_Command => "",
Linker_Command => "ada bind",
Linker_Pre_Command => "",
Linker_Post_Command => "",
Executable_Option => "object=",
Executable_Option_Is_Pre_Option => False,
Context_Command => "cd",
Library_Command => "",
Default_Program_Library_Name => "adalib",
Parse_Standard_Output => False,
Parse_Standard_Error => False,
Error_Pattern => "",
Remote_Operating_System => Op.Unknown,
-- This should be Op.Unix, but if it is, the RCI will put a
-- ".exe" extension on default executable file names, which is
-- invalid for Alsys.
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 -ex",
Copy_Command => "cp",
Batch_Move_Script_File_Name => "",
Create_Dir_Command => "",
-- If this is set to the obvious value "mkdir", the RCI will
-- use it to create the Remote_Directory for us. However,
-- since the R_D normally includes the family directory, our
-- remote family creation will then fail, because the remote
-- Alsys system will not allow a family to be created in an
-- existing directory, so we will short-circuit the RCI and do
-- the work within the customization.
Date_Command => "",
Date_File_Suffix => "",
For_Target => T_Name);
begin
return Op_Characteristics;
end Get_Operational_Info;
nblk1=1f
nid=0
hdr6=3e
[0x00] rec0=16 rec1=00 rec2=01 rec3=052
[0x01] rec0=01 rec1=00 rec2=1f rec3=01a
[0x02] rec0=0e rec1=00 rec2=02 rec3=060
[0x03] rec0=05 rec1=00 rec2=1d rec3=042
[0x04] rec0=15 rec1=00 rec2=03 rec3=00a
[0x05] rec0=15 rec1=00 rec2=13 rec3=024
[0x06] rec0=16 rec1=00 rec2=04 rec3=01a
[0x07] rec0=15 rec1=00 rec2=05 rec3=04e
[0x08] rec0=14 rec1=00 rec2=06 rec3=05e
[0x09] rec0=14 rec1=00 rec2=07 rec3=04a
[0x0a] rec0=13 rec1=00 rec2=08 rec3=07a
[0x0b] rec0=14 rec1=00 rec2=09 rec3=02a
[0x0c] rec0=16 rec1=00 rec2=0a rec3=004
[0x0d] rec0=14 rec1=00 rec2=0b rec3=04e
[0x0e] rec0=16 rec1=00 rec2=0c rec3=028
[0x0f] rec0=13 rec1=00 rec2=0d rec3=026
[0x10] rec0=13 rec1=00 rec2=0e rec3=036
[0x11] rec0=15 rec1=00 rec2=0f rec3=052
[0x12] rec0=15 rec1=00 rec2=10 rec3=058
[0x13] rec0=16 rec1=00 rec2=11 rec3=016
[0x14] rec0=17 rec1=00 rec2=12 rec3=06e
[0x15] rec0=10 rec1=00 rec2=1a rec3=072
[0x16] rec0=10 rec1=00 rec2=14 rec3=00c
[0x17] rec0=0e rec1=00 rec2=15 rec3=09e
[0x18] rec0=04 rec1=00 rec2=16 rec3=068
[0x19] rec0=11 rec1=00 rec2=17 rec3=00e
[0x1a] rec0=10 rec1=00 rec2=18 rec3=042
[0x1b] rec0=19 rec1=00 rec2=19 rec3=078
[0x1c] rec0=17 rec1=00 rec2=1e rec3=070
[0x1d] rec0=17 rec1=00 rec2=1b rec3=058
[0x1e] rec0=14 rec1=00 rec2=1c rec3=000
tail 0x2171d58fc838d6b7ec635 0x42a00088462065003