|
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 - 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