DataMuseum.dk

Presents historical artifacts from the history of:

Rational R1000/400 Tapes

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 Tapes

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download
Index: ┃ T V

⟦0f1d69418⟧ TextFile

    Length: 3668 (0xe54)
    Types: TextFile
    Names: »V«

Derivation

└─⟦afbc8121e⟧ Bits:30000532 8mm tape, Rational 1000, MC68020_OS2000 7_2_2
    └─ ⟦77aa8350c⟧ »DATA« 
        └─⟦f794ecd1d⟧ 
            └─⟦this⟧ 

TextFile

with Action;
with Directory;
with Object_Module_Support;
package Oms_Utilities is

    package Oms renames Object_Module_Support;
    package Cr  renames Oms.Cross_Referencing;
    package Ee  renames Oms.Expression_Evaluation;
    package Omf renames Oms.Object_Module_Format;

    -- Provide an idiot-proof way to open an object module (complete
    -- with idiot lights).
    --

    generic
        type Error_State is private;
        with procedure Error (S : String; State : in out Error_State);
    procedure Open (Filename  :        String;
                    Action_Id :        Action.Id := Action.Null_Id;
                    State     :        Oms.State_Info;
                    Estate    : in out Error_State;
                    Module    : out    Omf.Object_Module);

    generic
        type Error_State is private;
        with procedure Error (S : String; State : in out Error_State);
    procedure Openv (Version   :        Directory.Version;
                     Action_Id :        Action.Id := Action.Null_Id;
                     State     :        Oms.State_Info;
                     Estate    : in out Error_State;
                     Module    : out    Omf.Object_Module);

    -- Provide an abstraction over the MISC bits.
    --

    type Section_Misc is new Long_Integer;
    type Global_Misc  is new Long_Integer;

    subtype Natural16 is Natural range 0 .. (2 ** 16) - 1;

    type Global_Tag  is (Nil, Toc_Label, Entry_Point, Based,  
                         Spare1, Spare2, Spare3, Spare4, Spare5, Spare6,
                         Spare7, Spare8, Spare9, Spare10, Spare11, Spare12);
    type Section_Tag is (Nil, Text, Data, Bss, Loader, Debug,
                         Toc, Excption, Spare1, Spare2, Spare3,
                         Spare4, Spare5, Spare6, Spare7, Spare8);

    procedure Set_Tag         (Sym : Oms.Symbol; Tag : Global_Tag);
    procedure Set_Tc_Size     (Sym : Oms.Symbol; Size : Natural16);
    procedure Set_Ltdce_Index (Sym : Oms.Symbol; Index : Natural);
    procedure Set_Base        (Sym : Oms.Symbol; Base : Natural);
    procedure Set_Visibility  (Sym               : Oms.Symbol;
                               Visible_To_Linker : Boolean := True);

    procedure Set_Tag         (Misc : in out Global_Misc; Tag : Global_Tag);
    procedure Set_Tc_Size     (Misc : in out Global_Misc; Size : Natural16);
    procedure Set_Ltdce_Index (Misc : in out Global_Misc; Index : Natural);
    procedure Set_Base        (Misc : in out Global_Misc; Base : Natural);
    procedure Set_Visibility  (Misc              : in out Global_Misc;
                               Visible_To_Linker :        Boolean := True);

    procedure Set_Tag (Misc : in out Section_Misc; Tag : in Section_Tag);

    function Tag         (Sym : Oms.Symbol) return Global_Tag;
    function Tc_Size     (Sym : Oms.Symbol) return Natural16;
    function Ltdce_Index (Sym : Oms.Symbol) return Natural;
    function Base        (Sym : Oms.Symbol) return Natural;
    function Visible     (Sym : Oms.Symbol) return Boolean;

    function Tag         (Misc : Global_Misc) return Global_Tag;
    function Tc_Size     (Misc : Global_Misc) return Natural16;
    function Ltdce_Index (Misc : Global_Misc) return Natural;
    function Base        (Misc : Global_Misc) return Natural;
    function Visible     (Misc : Global_Misc) return Boolean;

    function Tag (Misc : in Section_Misc) return Section_Tag;

    -- Image functions for MISC bits
    --

    function Image (Sym : in Oms.Symbol) return String;

    function Image (Misc : in Global_Misc)  return String;
    function Image (Misc : in Section_Misc) return String;

end Oms_Utilities;