tools/elf4rom/libs/dwarf-20071209/dwarfdump/dwarfdump.conf
changeset 34 92d87f2e53c2
equal deleted inserted replaced
33:1af5c1be89f8 34:92d87f2e53c2
       
     1 # MIPS/IRIX  ISA/ABI
       
     2 # Used to configure dwarfdump printing of .debug_frame and
       
     3 # .eh_frame.
       
     4 
       
     5 # Any number of abi's can be described. Only one can be selected
       
     6 # in a given darfdump run (see dwarfdump options)
       
     7 #  Available commands are
       
     8 # beginabi:  <abiname>
       
     9 # reg: <regname> <dwarf regnumber>
       
    10 # frame_interface: <integer value 2 or 3>
       
    11 # cfa_reg:  <number>
       
    12 # initial_reg_value:  <number: normally 1034 or 1035 >
       
    13 # reg_table_size: <size of table>
       
    14 # endabi:  <abiname>
       
    15 #
       
    16 # Symbolic names do not work here, use literal numbers
       
    17 # where applicable (in C standard decimal, octal (leading 0) or
       
    18 # hexadecimal <leading 0x>).
       
    19 #
       
    20 # Whitespace is required to separate command: from operands and
       
    21 # operands from each other on a line.
       
    22 #
       
    23 # There is no ordering required within a beginabi/endabi pair.
       
    24 # As many ABIs as required may be listed.
       
    25 # dwarfdump will choose exactly one abi to dump frame information.
       
    26 #
       
    27 
       
    28 
       
    29 # Here using MIPS abi as an example to describe
       
    30 # the format. The MIPS/IRIX ABI is built-in to dwarfdump, so this one
       
    31 # is not really required.
       
    32 # Begin with abi name (use here and on dwarfdump command line).
       
    33 beginabi: mips
       
    34 
       
    35 # Instructs dwarfdump to default to the older frame interface.
       
    36 # Use value 3 to use the newer interface.
       
    37 # The '2' interface is supported but deprecated (deprecated
       
    38 # because it cannot work with all popular ABIs: mixing
       
    39 # the cfa-rule into the table column set was not a good idea
       
    40 # but it is part of the MIPS/IRIX standard usage).
       
    41 frame_interface: 2
       
    42 
       
    43 # If (and only if) using  frame_interface: 2 tell dwarfdump
       
    44 # what table colum that DW_FRAME_CFA_COL is.
       
    45 # If using frame_interface: 3 cfa_reg: should be 
       
    46 #  DW_FRAME_CFA_COL3 (1036)
       
    47 cfa_reg: 0
       
    48 
       
    49 # For MIPS, the same as DW_FRAME_SAME_VAL (1035).
       
    50 # For other ISA/ABIs 1034 (DW_FRAME_UNDEFINED_VAL) might be better.
       
    51 # Depends on the ABI convention, if set wrong way too many
       
    52 # regs will be listed in the frame output.
       
    53 # This instructs  dwarfdump  to set libdwarf to this value,
       
    54 # overriding the libdwarf default.
       
    55 # If initial_reg_value not set the libdwarf default is used
       
    56 # (see libdwarf.h DW_FRAME_REG_INITIAL_VALUE).
       
    57 initial_reg_value:  1035  # DW_FRAME_SAME_VAL
       
    58 
       
    59 # Built in to frame_interface: 2 as 66.
       
    60 reg_table_size: 66
       
    61 
       
    62 
       
    63 # Only name registers for wich a r4 (for example) is not what you
       
    64 # want to  see
       
    65 # No particular order  of the reg: lines required.
       
    66 reg: cfa 0   # Used with MIPS/IRIX original DWARF2 interface
       
    67 reg: r1/at 1
       
    68 reg: r2/v0 2 
       
    69 reg: r3/v1 3
       
    70 reg: r4/a0  4
       
    71 reg: r5/a1  5
       
    72 reg: r6/a2  6
       
    73 reg: r7/a3  7
       
    74 reg: r8/t0  8
       
    75 reg: r9/t1  9
       
    76 reg: r10/t2 10
       
    77 reg: r11/t3 11
       
    78 reg: r12/t4 12
       
    79 reg: r13/t5 13
       
    80 reg: r14/t6 14
       
    81 reg: r15/t7 15
       
    82 reg: r16/s0 16
       
    83 reg: r17/s1 17
       
    84 reg: r18/s2 18
       
    85 reg: r19/s3 19
       
    86 reg: r20/s4 20
       
    87 reg: r21/s5 21
       
    88 reg: r22/s6 22
       
    89 reg: r23/s7 23
       
    90 reg: r24/t8 24
       
    91 reg: r25/t9 25
       
    92 reg: r26/k0 26
       
    93 reg: r27/k1 27
       
    94 reg: r28/gp 28
       
    95 reg: r29/sp 29
       
    96 reg: r30/s8 30
       
    97 reg: r31  31
       
    98 
       
    99 reg: $f0 32
       
   100 reg: $f1 33
       
   101 reg: $f2  34
       
   102 reg: $f3 35
       
   103 reg: $f4 36
       
   104 reg: $f5 37
       
   105 reg: $f6 38
       
   106 reg: $f7 39
       
   107 reg: $f8 40
       
   108 reg: $f9 41
       
   109 reg: $f10 42
       
   110 reg: $f11 43
       
   111 reg: $f12 44
       
   112 reg: $f13 45
       
   113 reg: $f14  46
       
   114 reg: $f15 47
       
   115 reg: $f16 48
       
   116 reg: $f17 49
       
   117 reg: $f18 50
       
   118 reg: $f19 51
       
   119 reg: $f20 52
       
   120 reg: $f21 53
       
   121 reg: $f22 54
       
   122 reg: $f23 55
       
   123 reg: $f24 56
       
   124 reg: $f25 57
       
   125 reg: $f26 58
       
   126 reg: $f27 59
       
   127 reg: $f28 60
       
   128 reg: $f29 61
       
   129 reg: $f30 62
       
   130 reg: $f31 63
       
   131 reg: ra  64
       
   132 reg: slk 65
       
   133 
       
   134 
       
   135 # End of abi definition.
       
   136 endabi: mips
       
   137 
       
   138 
       
   139 
       
   140 
       
   141 
       
   142 
       
   143 # MIPS/IRIX  ISA/ABI for testing libdwarf.
       
   144 beginabi: mips-simple
       
   145 frame_interface: 2
       
   146 reg_table_size: 66
       
   147 cfa_reg: 0
       
   148 initial_reg_value:  1035
       
   149 
       
   150 reg: cfa 0   # Used with MIPS/IRIX original DWARF2 interface
       
   151 reg: ra  64
       
   152 reg: slk 65
       
   153 
       
   154 # End of abi definition.
       
   155 endabi: mips-simple
       
   156 
       
   157 # MIPS/IRIX  ISA/ABI for testing  the new frame interface
       
   158 # with libdwarf.
       
   159 beginabi: mips-simple3
       
   160 frame_interface: 3
       
   161 
       
   162 # When using frame_interface: 3 the size of the register table
       
   163 # is not fixed. It can be as large as needed. 
       
   164 reg_table_size: 66
       
   165 cfa_reg: 1036  # DW_FRAME_CFA_COL3
       
   166 initial_reg_value:  1035
       
   167 
       
   168 # No cfa as a 'normal' register. 
       
   169 # Rule 0 is just register 0, which is not used
       
   170 # in frame descriptions.
       
   171 # (so cfa does not have a number here, and dwarfdump gives
       
   172 # it the name 'cfa' automatically).
       
   173 reg: ra  64
       
   174 reg: slk 65
       
   175 # End of abi definition.
       
   176 endabi: mips-simple3
       
   177 
       
   178 
       
   179 beginabi: ia64
       
   180 frame_interface: 3
       
   181 initial_reg_value: 1034  # DW_FRAME_UNDEFINED_VAL
       
   182 cfa_reg: 1036  # DW_FRAME_CFA_COL3
       
   183 reg_table_size: 695
       
   184 
       
   185 # The following register names are not necessarily correct...
       
   186 # Register indexes r32-r127 not used.
       
   187 reg: f0 128
       
   188 # ...
       
   189 reg: f127 255
       
   190 reg: b0 321
       
   191 reg: b1 322
       
   192 reg: b2 323
       
   193 reg: b3 324
       
   194 reg: b4 325
       
   195 reg: b5 326
       
   196 reg: b6 327
       
   197 reg: b7 328
       
   198 reg: vfp 329
       
   199 reg: vrap 330
       
   200 reg: pr 331
       
   201 reg: ip 332
       
   202 reg: psr 333
       
   203 reg: cfm 334
       
   204 reg: k0 335
       
   205 reg: k1 336
       
   206 reg: k2 337
       
   207 reg: k3 338
       
   208 reg: k4 339
       
   209 reg: k5 340
       
   210 reg: k6 341
       
   211 reg: k7 342
       
   212 reg: rsc  350 
       
   213 reg: bsp 351 
       
   214 reg: bspstore 352 
       
   215 reg: rnat 353
       
   216 reg: fcr 355
       
   217 reg: eflag 358
       
   218 reg: csd 359
       
   219 reg: ssd 360 
       
   220 reg: cflg 361
       
   221 reg:  fsr 362
       
   222 reg: fir 363
       
   223 reg:  fdr 364
       
   224 reg: pfs 398 
       
   225 reg: lc 399
       
   226 reg: ec 400
       
   227 
       
   228 endabi: ia64
       
   229 
       
   230 
       
   231 beginabi: x86
       
   232 frame_interface: 3
       
   233 initial_reg_value: 1035  # DW_FRAME_SAME_VAL
       
   234 reg_table_size: 66  # more than large enough, hopefully.
       
   235 cfa_reg: 1036  # DW_FRAME_CFA_COL3
       
   236 
       
   237 # The following register names are not necessarily correct...
       
   238 reg: eax 0
       
   239 reg: ecx 1    
       
   240 reg: edx 2
       
   241 reg: ebx 3
       
   242 reg: esp 4
       
   243 reg: ebp 5
       
   244 reg: esi 6
       
   245 reg: edi 7
       
   246 reg: eip 8
       
   247 reg: eflags 9
       
   248 
       
   249 reg: trapno 10
       
   250 reg: st0 11
       
   251 reg: st1 12
       
   252 reg: st2 13
       
   253 reg: st3 14
       
   254 reg: st4 15
       
   255 reg: st5 16
       
   256 reg: st6 17
       
   257 reg: st7 18
       
   258 # 19 is ? 20 is ?
       
   259 reg: xmm0  21
       
   260 reg: xmm1  22 
       
   261 reg: xmm2  23
       
   262 reg: xmm3  24
       
   263 reg: xmm4  25
       
   264 reg: xmm5  26
       
   265 reg: xmm6  27
       
   266 reg: xmm7  28
       
   267 
       
   268 reg: mm0  29
       
   269 reg: mm1  30
       
   270 reg: mm2  31
       
   271 reg: mm3  32
       
   272 reg: mm4  33
       
   273 reg: mm5  34
       
   274 reg: mm6  35
       
   275 reg: mm7  36
       
   276 
       
   277 reg: fcw  37
       
   278 reg: fsw  38
       
   279 reg: mxcsr 39
       
   280 
       
   281 reg: es 40
       
   282 reg: cs 41
       
   283 reg: ss 42
       
   284 reg: ds 43
       
   285 reg: fs 44
       
   286 reg: gs 45
       
   287 # 46 47 are ?
       
   288 reg: tr 48
       
   289 reg: ldtr 49
       
   290 
       
   291 
       
   292 endabi: x86
       
   293 
       
   294 
       
   295 beginabi: x86_64
       
   296 frame_interface: 3
       
   297 initial_reg_value: 1035  # DW_FRAME_SAME_VAL
       
   298 reg_table_size: 66  # more than large enough, hopefully.
       
   299 cfa_reg: 1036  # DW_FRAME_CFA_COL3
       
   300 
       
   301 # The following register names are not necessarily correct...
       
   302 reg: rax 0
       
   303 reg: rdx 1    
       
   304 reg: rcx 2
       
   305 reg: rbx 3
       
   306 reg: rsi 4
       
   307 reg: rdi 5
       
   308 reg: rbp 6
       
   309 reg: rsp 7
       
   310 reg: r8 8
       
   311 reg: r9 9
       
   312 reg: r10 10
       
   313 reg: r11 11
       
   314 reg: r12 12
       
   315 reg: r13 13
       
   316 reg: r14 14
       
   317 reg: r15 15
       
   318 reg: rip 16
       
   319 reg: xmm0 17
       
   320 reg: xmm1 18
       
   321 reg: xmm2 19
       
   322 reg: xmm3 20
       
   323 reg: xmm4 21
       
   324 reg: xmm5 22
       
   325 reg: xmm6 23
       
   326 reg: xmm7 24
       
   327 reg: xmm8 25
       
   328 reg: xmm9 26
       
   329 reg: xmm10 27
       
   330 reg: xmm11 28
       
   331 reg: xmm12 29
       
   332 reg: xmm13 30
       
   333 reg: xmm14 31
       
   334 reg: xmm15 32
       
   335 
       
   336 reg: st0 33
       
   337 reg: st1 34
       
   338 reg: st2 35
       
   339 reg: st3 36
       
   340 reg: st4 37
       
   341 reg: st5 38
       
   342 reg: st6 39
       
   343 reg: st7 40
       
   344 
       
   345 reg: mm0 41
       
   346 reg: mm1 42
       
   347 reg: mm2 43
       
   348 reg: mm3 44
       
   349 reg: mm4 45
       
   350 reg: mm5 46
       
   351 reg: mm6 47
       
   352 reg: mm7 48
       
   353 
       
   354 reg: rflags 49
       
   355 reg: es 50
       
   356 reg: cs 51
       
   357 reg: ss 52
       
   358 reg: ds 53
       
   359 reg: fs 54
       
   360 reg: gs 55
       
   361 # 56, 57 are ?
       
   362 reg: fs.base 58
       
   363 reg: gs.base 59
       
   364 # 60 61 are ?
       
   365 reg: tr 62
       
   366 reg: ldtr 63
       
   367 
       
   368 endabi: x86_64
       
   369 
       
   370 beginabi: m68k
       
   371 frame_interface: 3
       
   372 initial_reg_value: 1035  # DW_FRAME_SAME_VAL
       
   373 reg_table_size: 66  # more than large enough, hopefully.
       
   374 cfa_reg: 1036  # DW_FRAME_CFA_COL3
       
   375 
       
   376 reg: d0 0
       
   377 reg: d1 1
       
   378 reg: d2 2
       
   379 reg: d3 3
       
   380 reg: d4 4
       
   381 reg: d5 5
       
   382 reg: d6 6
       
   383 reg: d7 7
       
   384 
       
   385 reg: a0 8
       
   386 reg: a1 9
       
   387 reg: a2 10
       
   388 reg: a3 11
       
   389 reg: a4 12
       
   390 reg: a5 13
       
   391 reg: a6 14
       
   392 reg: sp 15
       
   393 
       
   394 reg: fp0 16
       
   395 reg: fp1 17
       
   396 reg: fp2 18
       
   397 reg: fp3 19
       
   398 reg: fp4 20
       
   399 reg: fp5 21
       
   400 reg: fp6 22
       
   401 reg: pc 23
       
   402 
       
   403 endabi: m68k
       
   404 
       
   405 # 'Generic 1000 register abi'.
       
   406 # This is useful as a 'general' ABI settings for
       
   407 # cpus using up to 1000 registers. The register names
       
   408 # show as a number, like  'r991'.
       
   409 beginabi: generic
       
   410 frame_interface: 3
       
   411 initial_reg_value: 1035  # DW_FRAME_SAME_VAL
       
   412 cfa_reg: 1036  # DW_FRAME_CFA_COL3
       
   413 reg_table_size: 1000
       
   414 reg: r0 0
       
   415 endabi: generic