Home | History | Annotate | Line # | Download | only in binutils
      1  1.1  christos ("cs" 0x0
      2  1.1  christos  (("size") (1 byte) ("size"))
      3  1.1  christos 
      4  1.1  christos  (("hd") (1 byte) ("hd"))
      5  1.1  christos  (("hs") (1 byte) ("hs"))
      6  1.1  christos  (("un") (1 byte) ("un"))
      7  1.1  christos  (("us") (1 byte) ("us"))
      8  1.1  christos 
      9  1.1  christos  (("sc") (1 byte) ("sc"))
     10  1.1  christos  (("ss") (1 byte) ("ss"))
     11  1.1  christos  (("er") (1 byte) ("er"))
     12  1.1  christos  (("ed") (1 byte) ("ed"))
     13  1.1  christos 
     14  1.1  christos  (("sh") (1 byte) ("sh"))
     15  1.1  christos  (("ob") (1 byte) ("ob"))
     16  1.1  christos  (("rl") (1 byte) ("rl"))
     17  1.1  christos  (("du") (1 byte) ("du"))
     18  1.1  christos 
     19  1.1  christos  (("dps") (1 byte) ("dps"))
     20  1.1  christos  (("dsy") (1 byte) ("dsy"))
     21  1.1  christos  (("dty") (1 byte) ("dty"))
     22  1.1  christos  (("dln") (1 byte) ("dln"))
     23  1.1  christos 
     24  1.1  christos  (("dso") (1 byte) ("dso"))
     25  1.1  christos  (("dus") (1 byte) ("dus"))
     26  1.1  christos  (("dss") (1 byte) ("dss"))
     27  1.1  christos  (("dbt") (1 byte) ("dbt"))
     28  1.1  christos 
     29  1.1  christos  (("dpp") (1 byte) ("dpp"))
     30  1.1  christos  (("dfp") (1 byte) ("dfp"))
     31  1.1  christos  (("den") (1 byte) ("den"))
     32  1.1  christos  (("dds") (1 byte) ("dds"))
     33  1.1  christos 
     34  1.1  christos  (("dar") (1 byte) ("dar"))
     35  1.1  christos  (("dpt") (1 byte) ("dpt"))
     36  1.1  christos  (("dul") (1 byte) ("dul"))
     37  1.1  christos  (("dse") (1 byte) ("dse"))
     38  1.1  christos 
     39  1.1  christos  (("dot") (1 byte) ("dot")))
     40  1.1  christos 
     41  1.1  christos 
     42  1.1  christos ("hd" 0x04
     43  1.1  christos  (("module type") (4 bits) ("mt")
     44  1.1  christos   (("MTYPE_ABS_LM" 	"0")
     45  1.1  christos    ("MTYPE_REL_LM" 	"1")
     46  1.1  christos    ("MTYPE_OMS_OR_LMS" 	"2")
     47  1.1  christos    ("MTYPE_UNSPEC" 	"0xf")))
     48  1.1  christos  (("spare")(4 bits) ("spare1"))
     49  1.1  christos  (("creation date")( chars 12 bytes)( "cd"))
     50  1.1  christos  (("number of units") (2 bytes) ("nu"))
     51  1.1  christos  (("code") (1 byte) ("code"))
     52  1.1  christos  (("version") (chars 4 bytes) ("ver"))
     53  1.1  christos  (("address update") (1 byte) ("au"))
     54  1.1  christos  (("segment identifier") (1 bit) ("si"))
     55  1.1  christos  (("address field length") (4 bits) ("afl"))
     56  1.1  christos  (("spare")(3 bits) ("spare2"))
     57  1.1  christos  (("space size within segment") (1 byte) ("spcsz"))
     58  1.1  christos  (("segment size")  	(1 byte) ("segsz"))
     59  1.1  christos  (("segment shift") 	(1 byte) ("segsh"))
     60  1.1  christos  (("entry point") 	(1 byte) ("ep"))
     61  1.1  christos  (cond "ptr->ep"
     62  1.3  christos        (cond "ptr->mt != MTYPE_ABS_LM"
     63  1.1  christos 	     (("unit appearance number") (2 bytes) ("uan"))
     64  1.1  christos 	     (("section appearance number") (2 bytes) ("sa")))
     65  1.1  christos        (cond "segmented_p"
     66  1.1  christos 	     (("segment address") (segsize bytes) ("sad")))
     67  1.1  christos        (("address") (addrsize bytes) ("address")))
     68  1.1  christos  (("os name") (chars variable bytes) ("os"))
     69  1.1  christos  (("sys name") (chars variable bytes) ("sys"))
     70  1.1  christos  (("module name") (chars variable bytes) ("mn"))
     71  1.1  christos  (("cpu") (chars variable bytes) ("cpu")))
     72  1.1  christos 
     73  1.1  christos 
     74  1.1  christos ("hs" 0x05
     75  1.1  christos  (("neg number") (2 bytes) ("neg")))
     76  1.1  christos 
     77  1.1  christos 
     78  1.1  christos ("un" 0x06
     79  1.1  christos  (("format") (2 bits) ("format")
     80  1.1  christos   (("FORMAT_LM" "0")
     81  1.1  christos    ("FORMAT_OM" "1")
     82  1.1  christos    ("FORMAT_OMS_OR_LMS" "2")))
     83  1.1  christos  (("spare") (6 bits) ("spare1"))
     84  1.1  christos  (("number of sections") (2 bytes) ("nsections"))
     85  1.1  christos  (("number of external refs") (2 bytes) ("nextrefs"))
     86  1.1  christos  (("number of external defs") (2 bytes) ("nextdefs"))
     87  1.1  christos  (("unit name") (chars variable byte) ("name"))
     88  1.1  christos  (("tool name") (chars variable byte) ("tool"))
     89  1.1  christos  (("creation date") (chars 12 bytes) ("tcd"))
     90  1.1  christos  (("linker name") (chars variable byte) ("linker"))
     91  1.1  christos  (("creation date") (chars 12 bytes) ("lcd")))
     92  1.1  christos 
     93  1.1  christos 
     94  1.1  christos ("us" 0x07
     95  1.1  christos  (("negotiation number") (2 bytes) ("neg")))
     96  1.1  christos 
     97  1.1  christos 
     98  1.1  christos ("sc" 0x08
     99  1.3  christos  (("format") (2 bits) ("format"))
    100  1.1  christos  (("spare") (6 bits) ("spare"))
    101  1.1  christos  (("segment address") (segsize bytes) ("segadd"))
    102  1.1  christos  (("address") (addrsize bytes) ("addr"))
    103  1.1  christos  (("length") (addrsize bytes) ("length"))
    104  1.1  christos  (("alignment") (addrsize bytes) ("align"))
    105  1.1  christos  (("contents") (4 bits) ("contents")
    106  1.1  christos   (("CONTENTS_CODE" "0")
    107  1.1  christos    ("CONTENTS_DATA" "1")
    108  1.1  christos    ("CONTENTS_STACK" "2")
    109  1.1  christos    ("CONTENTS_DUMMY" "3")
    110  1.1  christos    ("CONTENTS_SPECIAL" "4")
    111  1.1  christos    ("CONTENTS_NONSPEC" "0xf")))
    112  1.1  christos  (("concat") (4 bits) ("concat")
    113  1.1  christos   (("CONCAT_SIMPLE" "0")
    114  1.1  christos    ("CONCAT_SHAREDC" "1")
    115  1.1  christos    ("CONCAT_DUMMY" "2")
    116  1.1  christos    ("CONCAT_GROUP" "3")
    117  1.1  christos    ("CONCAT_SHARED" "4")
    118  1.1  christos    ("CONCAT_PRIVATE" "5")
    119  1.1  christos    ("CONCAT_UNSPEC" "0xf")))
    120  1.1  christos  (("read") (2 bits) ("read"))
    121  1.1  christos  (("write") (2 bits) ("write"))
    122  1.1  christos  (("exec") (2 bits) ("exec"))
    123  1.1  christos  (("initialized") (2 bits) ("init"))
    124  1.1  christos  (("mode") (2 bits) ("mode"))
    125  1.1  christos  (("spare") (6 bits) ("spare1"))
    126  1.1  christos  (("name") (chars variable byte) ("name")))
    127  1.1  christos 
    128  1.1  christos 
    129  1.1  christos ("ss" 0x09
    130  1.1  christos  (("neg number") (2 bytes) ("neg")))
    131  1.1  christos 
    132  1.3  christos 
    133  1.1  christos ("er" 0x0c
    134  1.1  christos  (("symbol type") (2 bits) ("type")
    135  1.1  christos   (("ER_ENTRY" "0")
    136  1.1  christos    ("ER_DATA" "1")
    137  1.1  christos    ("ER_NOTDEF" "2")
    138  1.1  christos    ("ER_NOTSPEC" "3")))
    139  1.1  christos  (("spare") (6 bits) ("spare"))
    140  1.1  christos  (("symbol name") (chars variable byte) ("name")))
    141  1.3  christos 
    142  1.1  christos 
    143  1.1  christos ("ed" 0x14
    144  1.1  christos  (("section appearance number") (2 bytes) ("section"))
    145  1.1  christos  (("symbol type") (3 bits) ("type")
    146  1.1  christos   (("ED_TYPE_ENTRY" "0")
    147  1.1  christos    ("ED_TYPE_DATA" "1")
    148  1.1  christos    ("ED_TYPE_CONST" "2")
    149  1.1  christos    ("ED_TYPE_NOTSPEC" "7")))
    150  1.1  christos  (("spare") (5 bits) ("spare"))
    151  1.1  christos  (cond "ptr->type==ED_TYPE_ENTRY || ptr->type==ED_TYPE_DATA"
    152  1.1  christos        (("symbol address") (addrsize bytes) ("address")))
    153  1.1  christos  (cond "ptr->type==ED_TYPE_CONST"
    154  1.1  christos        (("constant value") (addrsize bytes) ("constant")))
    155  1.1  christos  (("symbol name") (chars variable byte) ("name")))
    156  1.1  christos 
    157  1.1  christos 
    158  1.1  christos ("sh" 0x1a
    159  1.1  christos  (("unit appearance number") (2 bytes) ("unit"))
    160  1.1  christos  (("section appearance number") (2 bytes) ("section")))
    161  1.1  christos 
    162  1.1  christos 
    163  1.1  christos ("ob" 0x1c
    164  1.1  christos  (("starting address flag") (1 bit) ("saf"))
    165  1.1  christos  (("compression flag") (1 bit) ("cpf"))
    166  1.1  christos  (("spare") (6 bits) ("spare"))
    167  1.1  christos  (cond "ptr->saf"
    168  1.1  christos        ( ("starting address") (addrsize bytes) ("address")))
    169  1.1  christos  (cond "ptr->cpf"
    170  1.1  christos        (("comp reps") (addrsize bytes) ("compreps")))
    171  1.1  christos  (("data") (barray counted byte) ("data")))
    172  1.3  christos 
    173  1.1  christos 
    174  1.1  christos ("rl" 0x20
    175  1.1  christos  (("boundary of relocatable area") (4 bits) ("boundary"))
    176  1.1  christos  (("address polarity") (1 bit) ("apol"))
    177  1.1  christos  (("segment number") (1 bit) ("segment"))
    178  1.1  christos  (("sign of relocation") (1 bit) ("sign"))
    179  1.1  christos  (("check range") (1 bit) ("check"))
    180  1.1  christos  (("reloc address") (addrsize bytes) ("addr"))
    181  1.1  christos 
    182  1.1  christos  (("bit loc") (1 byte) ("bitloc"))
    183  1.1  christos  (("field length") (1 byte) ("flen"))
    184  1.1  christos  (("bcount") (1 byte) ("bcount"))
    185  1.1  christos  (("operator") (1 byte) ("op")
    186  1.1  christos   (("OP_RELOC_ADDR" "1")
    187  1.1  christos    ("OP_SEC_REF" "0")
    188  1.1  christos    ("OP_EXT_REF" "2")))
    189  1.1  christos  (cond "ptr->op == OP_EXT_REF"
    190  1.1  christos        (("symbol number") (2 bytes) ("symn"))	)
    191  1.3  christos 
    192  1.1  christos  (cond "ptr->op == OP_SEC_REF"
    193  1.1  christos        (("section number") (2 bytes) ("secn"))
    194  1.1  christos        (("const opcode") (1 byte) ("copcode_is_3"))
    195  1.1  christos        (("addend length") (1 byte) ("alength_is_4"))
    196  1.1  christos        (("addend") (4 byte) ("addend"))
    197  1.1  christos        (("plus opcode") (1 byte) ("aopcode_is_0x20")))
    198  1.1  christos 
    199  1.1  christos  (cond "ptr->op == OP_RELOC_ADDR"
    200  1.1  christos        (("dunno") (2 bytes) ("dunno")))
    201  1.1  christos 
    202  1.1  christos  (("end")  (1 byte) ("end")))
    203  1.3  christos 
    204  1.1  christos 
    205  1.1  christos ("du" 0x30
    206  1.1  christos  (("format") (2 bits) ("format"))
    207  1.1  christos  (("optimized") (1 bit) ("optimized"))
    208  1.1  christos  (("stackfrmt") (2 bits) ("stackfrmt"))
    209  1.1  christos  (("spare") (3 bits) ("spare"))
    210  1.1  christos  (("unit number") (2 bytes) ("unit"))
    211  1.1  christos  (("sections") (2 bytes) ("sections"))
    212  1.1  christos  (repeat "ptr->sections"
    213  1.1  christos 	 (("section appearance number") (2 bytes) ("san"))
    214  1.1  christos 	 (("address") (addrsize bytes) ("address"))
    215  1.1  christos 	 (("section length") (addrsize bytes) ("length")))
    216  1.1  christos  (("tool name") (chars variable byte) ("tool"))
    217  1.1  christos  (("creation date") (chars 12 bytes) ("date")))
    218  1.1  christos 
    219  1.1  christos 
    220  1.1  christos ("dsy" 0x34
    221  1.1  christos  (("symbol type") (7 bits) ("type")
    222  1.1  christos   (("STYPE_VAR" "0")
    223  1.1  christos    ("STYPE_LAB" "1")
    224  1.1  christos    ("STYPE_PROC" "2")
    225  1.1  christos    ("STYPE_FUNC" "3")
    226  1.1  christos    ("STYPE_TYPE" "4")
    227  1.1  christos    ("STYPE_CONST" "5")
    228  1.1  christos    ("STYPE_ENTRY" "6")
    229  1.1  christos    ("STYPE_MEMBER" "7")
    230  1.1  christos    ("STYPE_ENUM" "8")
    231  1.1  christos    ("STYPE_TAG" "9")
    232  1.1  christos    ("STYPE_PACKAGE" "10")
    233  1.1  christos    ("STYPE_GENERIC" "11")
    234  1.1  christos    ("STYPE_TASK" "12")
    235  1.1  christos    ("STYPE_EXCEPTION" "13")
    236  1.1  christos    ("STYPE_PARAMETER" "14")
    237  1.1  christos    ("STYPE_EQUATE" "15")
    238  1.1  christos    ("STYPE_UNSPEC" "0x7f")))
    239  1.1  christos  (("assignment info") (1 bit) ("assign"))
    240  1.1  christos  (("symbol id") (2 bytes) ("snumber"))
    241  1.1  christos  (("symbol name") (chars variable bytes) ("sname"))
    242  1.1  christos  (("nesting level") (2 bytes) ("nesting"))
    243  1.1  christos  (cond "ptr->assign"
    244  1.1  christos        (("assignment type") (1 byte)  ("ainfo")
    245  1.1  christos 	(("AINFO_REG" "1")
    246  1.1  christos 	 ("AINFO_STATIC_EXT_DEF" "2")
    247  1.1  christos 	 ("AINFO_STATIC_EXT_REF" "3")
    248  1.1  christos 	 ("AINFO_STATIC_INT" "4")
    249  1.1  christos 	 ("AINFO_STATIC_COM" "5")
    250  1.1  christos 	 ("AINFO_AUTO" "6")
    251  1.1  christos 	 ("AINFO_CONST" "7")
    252  1.1  christos 	 ("AINFO_UNSPEC" "0xff")))
    253  1.1  christos        (("data length") (addrsize bytes) ("dlength"))
    254  1.1  christos        (cond "ptr->ainfo == AINFO_STATIC_EXT_DEF
    255  1.1  christos             || ptr->ainfo == AINFO_STATIC_INT
    256  1.1  christos             || ptr->ainfo == AINFO_STATIC_COM"
    257  1.1  christos 	     (("section number")  (2 bytes) ("section")))
    258  1.1  christos        (cond "ptr->ainfo == AINFO_STATIC_EXT_DEF
    259  1.1  christos             || ptr->ainfo == AINFO_STATIC_INT
    260  1.1  christos             || ptr->ainfo == AINFO_STATIC_COM
    261  1.1  christos             || ptr->ainfo == AINFO_AUTO"
    262  1.1  christos 	     (("address") (addrsize bytes) ("address")))
    263  1.1  christos        (cond "ptr->ainfo == AINFO_REG"
    264  1.1  christos 	     (("register name") (chars variable bytes) ("reg")))
    265  1.1  christos        (cond "ptr->ainfo == AINFO_STATIC_EXT_DEF
    266  1.1  christos 	    || ptr->ainfo == AINFO_STATIC_EXT_REF"
    267  1.1  christos 	     (("external name") (chars variable bytes) ("ename")))
    268  1.1  christos        (cond "ptr->ainfo == AINFO_CONST"
    269  1.1  christos 	     (("constant") (chars variable bytes) ("constant"))))
    270  1.1  christos  (cond "ptr->type == STYPE_MEMBER"
    271  1.1  christos        (("assignment unit") (1 bit) ("bitunit"))
    272  1.1  christos        (("spare") (7 bits) ("spare2"))
    273  1.1  christos        (("field length") (addrsize bytes) ("field_len"))
    274  1.1  christos        (("field offset") (addrsize bytes) ("field_off"))
    275  1.1  christos        (cond "ptr->bitunit"
    276  1.1  christos 	     (("bit offset") (addrsize bytes) ("field_bitoff"))))
    277  1.1  christos  (cond "ptr->type== STYPE_ENUM"
    278  1.1  christos        (("value length") (1 byte) ("evallen"))
    279  1.1  christos        (("value") (4 bytes) ("evalue")))
    280  1.1  christos  (cond "ptr->type == STYPE_CONST"
    281  1.1  christos        (("value") (chars variable bytes) ("cvalue")))
    282  1.1  christos  (cond "ptr->type == STYPE_EQUATE"
    283  1.1  christos        (("value length") (1 byte) ("qvallen"))
    284  1.1  christos        (("value") (4 bytes) ("qvalue"))
    285  1.1  christos        (("basic type") (1 byte) ("btype"))
    286  1.1  christos        (("size information") (addrsize bytes) ("sizeinfo"))
    287  1.1  christos        (("sign") (2 bits) ("sign"))
    288  1.1  christos        (("floating point type") (6 bits) ("flt_type")))
    289  1.1  christos  (("source file number") (2 bytes) ("sfn"))
    290  1.1  christos  (("source line number") (2 bytes) ("sln"))
    291  1.1  christos  (("negotiation number") (2 bytes) ("neg"))
    292  1.1  christos  (cond "ptr->type == STYPE_TAG"
    293  1.1  christos        (("magic") (1 byte) ("magic"))))
    294  1.1  christos 
    295  1.3  christos 
    296  1.1  christos 
    297  1.1  christos ("dul" 0x52
    298  1.1  christos  (("max declaration type flag") (1 bit) ("max_variable"))
    299  1.1  christos  (("max spare") (7 bits) ("maxspare"))
    300  1.1  christos  (cond "ptr->max_variable == 0"
    301  1.1  christos        (("maximum") (addrsize bytes) ("max"))
    302  1.1  christos        (("max mode") (chars variable bytes) ("maxmode")))
    303  1.1  christos 
    304  1.1  christos  (("min declaration type flag") (1 bit) ("min_variable"))
    305  1.1  christos  (("min spare") (7 bits) ("minspare"))
    306  1.1  christos  (cond "ptr->min_variable == 0"
    307  1.1  christos        (("minimum") (addrsize bytes) ("min"))
    308  1.1  christos        (("min mode") (chars variable bytes) ("minmode"))))
    309  1.1  christos 
    310  1.1  christos 
    311  1.1  christos ("dty" 0x36
    312  1.1  christos  (("end flag") (1 bit) ("end"))
    313  1.1  christos  (("spare") (7 bits) ("spare"))
    314  1.1  christos  (cond "!ptr->end"
    315  1.1  christos        (("negotiation") (2 bytes) ("neg"))))
    316  1.1  christos 
    317  1.1  christos 
    318  1.1  christos ("dbt" 0x44
    319  1.1  christos  (("basic type") (1 byte) ("btype")
    320  1.1  christos   (("BTYPE_VOID" "0")
    321  1.1  christos    ("BTYPE_UNDEF" "1")
    322  1.1  christos    ("BTYPE_CHAR" "2")
    323  1.1  christos    ("BTYPE_INT" "3")
    324  1.1  christos    ("BTYPE_FLOAT" "4")
    325  1.1  christos    ("BTYPE_BIT" "5")
    326  1.1  christos    ("BTYPE_STRING" "6")
    327  1.1  christos    ("BTYPE_DECIMAL" "7")
    328  1.1  christos    ("BTYPE_ENUM" "8")
    329  1.1  christos    ("BTYPE_STRUCT" "9")
    330  1.1  christos    ("BTYPE_TYPE" "10")
    331  1.1  christos    ("BTYPE_TAG" "11")
    332  1.1  christos    ("BTYPE_UNSPEC" "0xff")))
    333  1.1  christos  (("size info") (addrsize bytes) ("bitsize"))
    334  1.1  christos  (("sign") (2 bits) ("sign")
    335  1.1  christos   (("SIGN_SIGNED" "0")
    336  1.1  christos    ("SIGN_UNSIGNED" "1")
    337  1.1  christos    ("SIGN_UNSPEC" "3")))
    338  1.1  christos  (("floating point type") (6 bits) ("fptype")
    339  1.1  christos   (("FPTYPE_SINGLE" "0")
    340  1.1  christos    ("FPTYPE_DOUBLE" "1")
    341  1.1  christos    ("FPTYPE_EXTENDED" "2")
    342  1.1  christos    ("FPTYPE_NOTSPEC" "0x3f")))
    343  1.1  christos  (cond "ptr->btype==BTYPE_TAG || ptr->btype == BTYPE_TYPE"
    344  1.1  christos        (("symbol id") (2 bytes) ("sid")))
    345  1.1  christos  (("negotiation") (2 bytes) ("neg")))
    346  1.1  christos 
    347  1.1  christos ("dar" 0x4e
    348  1.1  christos  (("element length" ) (addrsize bytes) ("length"))
    349  1.1  christos  (("dims") (1 byte) ("dims"))
    350  1.1  christos  (repeat "ptr->dims"
    351  1.1  christos 	 (("variable flag") (1 bit) ("variable")
    352  1.1  christos 	  (("VARIABLE_FIXED" "0")
    353  1.1  christos 	   ("VARIABLE_VARIABLE" "1")))
    354  1.1  christos 
    355  1.1  christos 	 (("subscript type") (1 bit) ("subtype")
    356  1.1  christos 	  (("SUB_INTEGER" "0")
    357  1.1  christos 	   ("SUB_TYPE"    "1")))
    358  1.1  christos 
    359  1.1  christos 	 (("spare") (6 bits) ("spare"))
    360  1.1  christos 
    361  1.1  christos 	 (cond "ptr->subtype[n] == SUB_TYPE"
    362  1.1  christos 	       (("sub symbol id") (2 bytes) ("sid")))
    363  1.1  christos 
    364  1.1  christos 	 (cond "ptr->subtype[n] == SUB_INTEGER"
    365  1.1  christos 	       (("max declaration type flag") (1 bit) ("max_variable"))
    366  1.1  christos 	       (("max spare") (7 bits) ("maxspare"))
    367  1.1  christos 	       ;; FIXME: next field should be conditional on max_variable,
    368  1.1  christos 	       (("maximum") (addrsize bytes) ("max"))
    369  1.1  christos 
    370  1.1  christos 	       (("min declaration type flag") (1 bit) ("min_variable"))
    371  1.1  christos 	       (("min spare") (7 bits) ("minspare"))
    372  1.1  christos 	       ;; FIXME: next field should be conditional on min_variable
    373  1.1  christos 	       (("minimum") (addrsize bytes) ("min"))))
    374  1.1  christos  (("negotiation") (2 bytes) ("neg")))
    375  1.1  christos 
    376  1.3  christos 
    377  1.1  christos ("dso" 0x3a
    378  1.1  christos  (("function name") (2 bytes) ("sid"))
    379  1.1  christos  (("sp update count") (4 bytes) ("spupdates"))
    380  1.1  christos  (repeat "ptr->spupdates"
    381  1.1  christos 	 (("update address") (addrsize bytes) ("address"))
    382  1.1  christos 	 (("offset") (addrsize bytes) ("offset"))))
    383  1.1  christos 
    384  1.1  christos ("dln" 0x38
    385  1.1  christos  (("number of lines") (2 bytes) ("nln"))
    386  1.1  christos  (repeat "ptr->nln"
    387  1.1  christos 	 (("source file number") (2 bytes) ("sfn"))
    388  1.1  christos 	 (("source line number") (2 bytes) ("sln"))
    389  1.1  christos 	 (("section number") (2 bytes) ("section"))
    390  1.1  christos 	 (("from address") (addrsize bytes) ("from_address"))
    391  1.1  christos 	 (("to address") (addrsize bytes) ("to_address"))
    392  1.1  christos 	 (("call count") (2 bytes) ("cc"))
    393  1.1  christos 	 )
    394  1.1  christos  (("neg") (2 bytes) ("neg")))
    395  1.3  christos 
    396  1.1  christos ("dpp" 0x46
    397  1.1  christos  (("start/end") (1 bit) ("end"))
    398  1.1  christos  (("spare") (7 bits) ("spare"))
    399  1.1  christos  (cond "!ptr->end"
    400  1.1  christos        (("params") (1 byte) ("params"))
    401  1.1  christos        (("neg number") (2 bytes) ("neg"))))
    402  1.1  christos 
    403  1.1  christos ("den" 0x4a
    404  1.1  christos  (("start/end") (1 bit) ("end"))
    405  1.1  christos  (("spare") (7 bits) ("spare"))
    406  1.1  christos  (cond "!ptr->end"
    407  1.1  christos        (("neg number") (2 bytes) ("neg"))))
    408  1.1  christos 
    409  1.1  christos ("dfp" 0x48
    410  1.1  christos  (("start/end flag") (1 bit) ("end"))
    411  1.1  christos  (("spare") (7 bits) ("spare"))
    412  1.1  christos  (cond "!ptr->end"
    413  1.1  christos        (("number of parameters") (1 byte) ("nparams"))
    414  1.1  christos        (("neg number") (2 bytes) ("neg"))))
    415  1.1  christos 
    416  1.1  christos ("dds" 0x4c
    417  1.1  christos  (("start/end") (1 bit) ("end"))
    418  1.1  christos  (("spare") (7 bits) ("spare"))
    419  1.1  christos  (cond "!ptr->end"
    420  1.1  christos        (("neg number") (2 bytes) ("neg"))))
    421  1.1  christos 
    422  1.1  christos ("dpt" 0x50
    423  1.1  christos  (("neg number") (2 bytes) ("neg"))
    424  1.1  christos  (("dunno") (1 byte) ("dunno")))
    425  1.1  christos 
    426  1.1  christos ("dse" 0x54
    427  1.1  christos  (("neg number") (2 bytes) ("neg"))
    428  1.1  christos  (("dunno") (1 byte) ("dunno")))
    429  1.1  christos 
    430  1.1  christos ("dot" 0x56
    431  1.1  christos  (("unknown") (1 byte) ("unknown")))
    432  1.1  christos ; FIXME: unknown field should be repeated symbol number?
    433  1.1  christos 
    434  1.1  christos 
    435  1.1  christos ("dss" 0x42
    436  1.1  christos  (("type") (1 byte) ("type"))
    437  1.1  christos  (("external/internal") (1 bit) ("internal"))
    438  1.1  christos  (("spare") (7 bits) ("spare"))
    439  1.1  christos  (cond "!ptr->internal"
    440  1.1  christos        (  ("package name") (chars variable byte) ("package")))
    441  1.1  christos  (cond "ptr->internal"
    442  1.1  christos        (("symbol id") (2 bytes) ("id")))
    443  1.1  christos  (("record type") (2 bytes) ("record"))
    444  1.1  christos  (("rules") (chars variable byte) ("rules"))
    445  1.1  christos  (("number of symbols") (2 bytes) ("nsymbols"))
    446  1.1  christos  (("unknown" ) (2 bytes) ("fixme")))
    447  1.3  christos 
    448  1.1  christos ("pss" 0x40
    449  1.1  christos  (("negotiation number") (2 bytes) ("efn"))
    450  1.1  christos  (("number of source files") (2 bytes) ("ns"))
    451  1.1  christos  (repeat "ptr->ns"
    452  1.1  christos 	 (("directory reference bit") (1 bit) ("drb"))
    453  1.1  christos 	 (("spare") (7 bits) ("spare"))
    454  1.1  christos 	 (("completed file name") (chars variable byte) ("fname"))
    455  1.3  christos 	 (cond "ptr->drb[n]"
    456  1.1  christos 	       (("directory apperance number") (2 bytes) ("dan"))))
    457  1.3  christos 
    458  1.1  christos  (("number of directories") (2 bytes) ("ndir"))
    459  1.1  christos  (repeat "ptr->ndir"
    460  1.1  christos 	 (("directory name") (chars variable bytes) ("dname"))))
    461  1.1  christos 
    462  1.1  christos 
    463  1.3  christos ; FIXME: the tr block has no contents. sysinfo, etc. aren't prepared
    464  1.1  christos ; to deal with that.
    465  1.1  christos ; ("tr" 0x7f)
    466  1.1  christos 
    467  1.1  christos 
    468  1.1  christos ("dus" 0x40
    469  1.1  christos  (("negotiation number") (2 bytes) ("efn"))
    470  1.1  christos  (("number of source files") (2 bytes) ("ns"))
    471  1.1  christos  (repeat "ptr->ns"
    472  1.1  christos 	 (("directory reference bit") (1 bit) ("drb"))
    473  1.1  christos 	 (("spare") (7 bits) ("spare"))
    474  1.1  christos 	 (("completed file name") (chars variable byte) ("fname"))
    475  1.3  christos 	 (cond "ptr->drb[n]"
    476  1.1  christos 	       (("directory apperance number") (2 bytes) ("dan"))))
    477  1.1  christos  (("number of directories") (2 bytes) ("ndir"))
    478  1.1  christos  (repeat "ptr->ndir"
    479  1.1  christos 	 (("directory name") (chars variable bytes) ("dname"))))
    480  1.1  christos 
    481  1.1  christos 
    482  1.1  christos ("dps" 0x32
    483  1.1  christos  (("start/end flag") (1 bit) ("end"))
    484  1.1  christos  (("block type") (7 bits) ("type")
    485  1.1  christos   (("BLOCK_TYPE_COMPUNIT" "0")
    486  1.1  christos    ("BLOCK_TYPE_PROCEDURE" "2")
    487  1.1  christos    ("BLOCK_TYPE_FUNCTION" "3")
    488  1.1  christos    ("BLOCK_TYPE_BLOCK" "4")
    489  1.1  christos    ("BLOCK_TYPE_BASIC" "9")))
    490  1.1  christos  (cond "!ptr->end"
    491  1.1  christos        (("optimization") (1 byte) ("opt"))
    492  1.1  christos        (("section number") (2 bytes) ("san"))
    493  1.1  christos        (("address") (addrsize bytes) ("address"))
    494  1.1  christos        (("block size") (addrsize bytes) ("block_size"))
    495  1.1  christos        (("nesting") (1 byte) ("nesting"))
    496  1.3  christos        (cond "ptr->type == BLOCK_TYPE_PROCEDURE
    497  1.1  christos 	    || ptr->type == BLOCK_TYPE_FUNCTION"
    498  1.1  christos 	     (("return address") (1 bit) ("retaddr"))
    499  1.1  christos 	     (("interrupt function flag") (1 bit) ("intrflag"))
    500  1.1  christos 	     (("stack update flag") (1 bit) ("stackflag"))
    501  1.1  christos 	     (("intra page JMP") (1 bit) ("intrpagejmp"))
    502  1.1  christos 	     (("spare") (4 bits) ("spare")))
    503  1.1  christos        (("neg number") (2 bytes) ("neg"))))
    504  1.1  christos 
    505