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