diff options
Diffstat (limited to 'dwarfdump2/dwarfdump.conf')
-rw-r--r-- | dwarfdump2/dwarfdump.conf | 810 |
1 files changed, 810 insertions, 0 deletions
diff --git a/dwarfdump2/dwarfdump.conf b/dwarfdump2/dwarfdump.conf new file mode 100644 index 0000000..d70bab8 --- /dev/null +++ b/dwarfdump2/dwarfdump.conf @@ -0,0 +1,810 @@ +# MIPS/IRIX ISA/ABI +# Used to configure dwarfdump printing of .debug_frame and +# .eh_frame. + +# Any number of abi's can be described. Only one can be selected +# in a given dwarfdump run (see dwarfdump options) +# Available commands are +# beginabi: <abiname> +# reg: <regname> <dwarf regnumber> +# frame_interface: <integer value 2 or 3> +# cfa_reg: <number> +# initial_reg_value: <number: often 1034 or 1035 > +# same_val_reg: 1035 +# undefined_val_reg: 1034 +# reg_table_size: <size of table> +# address_size: <4 or 8, Rarely needed, see example below. > +# includeabi: <abiname Inserts the referenced abi as if its text was +# directly inserted at this point.> +# endabi: <abiname> +# +# Symbolic names do not work here, use literal numbers +# where applicable (in C standard decimal, octal (leading 0) or +# hexadecimal <leading 0x>). +# +# Whitespace is required to separate command: from operands and +# operands from each other on a line. +# +# There is no ordering required within a beginabi/endabi pair. +# As many ABIs as required may be listed. +# dwarfdump will choose exactly one abi to dump frame information. +# + + +# MIPS abi,the old IRIX form, not to be used on modern objects. +# Begin with abi name (use here and on dwarfdump command line). +beginabi: mips-irix + +# Instructs dwarfdump to default to the older frame interface. +# Use value 3 to use the newer interface. +# The '2' interface is supported but deprecated (deprecated +# because it cannot work with all popular ABIs: mixing +# the cfa-rule into the table column set was not a good idea +# but it is part of the MIPS/IRIX standard usage). +frame_interface: 2 + +# If (and only if) using frame_interface: 2 tell dwarfdump +# what table colum that DW_FRAME_CFA_COL is. +# If using frame_interface: 3 cfa_reg: should be +# DW_FRAME_CFA_COL3 (1436) +cfa_reg: 0 + +# For MIPS, the same as DW_FRAME_SAME_VAL (1035). +# For other ISA/ABIs 1034 (DW_FRAME_UNDEFINED_VAL) might be better. +# Depends on the ABI convention, if set wrong way too many +# regs will be listed in the frame output. +# This instructs dwarfdump to set libdwarf to this value, +# overriding the libdwarf default. +# If initial_reg_value not set the libdwarf default is used +# (see libdwarf.h DW_FRAME_REG_INITIAL_VALUE). +initial_reg_value: 1035 # DW_FRAME_SAME_VAL +same_val_reg: 1035 +undefined_val_reg: 1034 + +# Built in to frame_interface: 2 as 66. +reg_table_size: 66 + + +# Only name registers for wich a r4 (for example) is not what you +# want to see +# No particular order of the reg: lines required. +reg: cfa 0 # Used with MIPS/IRIX original DWARF2 interface +reg: r1/at 1 +reg: r2/v0 2 +reg: r3/v1 3 +reg: r4/a0 4 +reg: r5/a1 5 +reg: r6/a2 6 +reg: r7/a3 7 +reg: r8/t0 8 +reg: r9/t1 9 +reg: r10/t2 10 +reg: r11/t3 11 +reg: r12/t4 12 +reg: r13/t5 13 +reg: r14/t6 14 +reg: r15/t7 15 +reg: r16/s0 16 +reg: r17/s1 17 +reg: r18/s2 18 +reg: r19/s3 19 +reg: r20/s4 20 +reg: r21/s5 21 +reg: r22/s6 22 +reg: r23/s7 23 +reg: r24/t8 24 +reg: r25/t9 25 +reg: r26/k0 26 +reg: r27/k1 27 +reg: r28/gp 28 +reg: r29/sp 29 +reg: r30/s8 30 +reg: r31 31 + +reg: $f0 32 +reg: $f1 33 +reg: $f2 34 +reg: $f3 35 +reg: $f4 36 +reg: $f5 37 +reg: $f6 38 +reg: $f7 39 +reg: $f8 40 +reg: $f9 41 +reg: $f10 42 +reg: $f11 43 +reg: $f12 44 +reg: $f13 45 +reg: $f14 46 +reg: $f15 47 +reg: $f16 48 +reg: $f17 49 +reg: $f18 50 +reg: $f19 51 +reg: $f20 52 +reg: $f21 53 +reg: $f22 54 +reg: $f23 55 +reg: $f24 56 +reg: $f25 57 +reg: $f26 58 +reg: $f27 59 +reg: $f28 60 +reg: $f29 61 +reg: $f30 62 +reg: $f31 63 +reg: ra 64 +reg: slk 65 + + +# End of abi definition. +endabi: mips-irix + + +# Make 'mips' abi be a modern MIPS, not an old IRIX version. +beginabi: mips +includeabi: mips-simple3 +endabi: mips + + +# MIPS/IRIX ISA/ABI for testing libdwarf. +beginabi: mips-irix2 +frame_interface: 2 +reg_table_size: 66 +cfa_reg: 0 +same_val_reg: 1035 +undefined_val_reg: 1034 +initial_reg_value: 1035 + +reg: cfa 0 # Used with MIPS/IRIX original DWARF2 interface +reg: ra 64 +reg: slk 65 + +# End of abi definition. +endabi: mips-irix2 + +# MIPS/IRIX ISA/ABI for testing the new frame interface +# with libdwarf. +beginabi: mips-simple3 +frame_interface: 3 + +# When using frame_interface: 3 the size of the register table +# is not fixed. It can be as large as needed. +reg_table_size: 66 +cfa_reg: 1436 # DW_FRAME_CFA_COL3 +initial_reg_value: 1035 +same_val_reg: 1035 +undefined_val_reg: 1034 + +# No cfa as a 'normal' register. +# Rule 0 is just register 0, which is not used +# in frame descriptions. +# (so cfa does not have a number here, and dwarfdump gives +# it the name 'cfa' automatically). +reg: ra 64 +reg: slk 65 +# End of abi definition. +endabi: mips-simple3 + + +beginabi: ia64 +frame_interface: 3 +initial_reg_value: 1034 # DW_FRAME_UNDEFINED_VAL +cfa_reg: 1436 # DW_FRAME_CFA_COL3 +reg_table_size: 695 +same_val_reg: 1035 +undefined_val_reg: 1034 + +# The following register names are not necessarily correct... +# Register indexes r32-r127 not used. +reg: f0 128 +# ... +reg: f127 255 +reg: b0 321 +reg: b1 322 +reg: b2 323 +reg: b3 324 +reg: b4 325 +reg: b5 326 +reg: b6 327 +reg: b7 328 +reg: vfp 329 +reg: vrap 330 +reg: pr 331 +reg: ip 332 +reg: psr 333 +reg: cfm 334 +reg: k0 335 +reg: k1 336 +reg: k2 337 +reg: k3 338 +reg: k4 339 +reg: k5 340 +reg: k6 341 +reg: k7 342 +reg: rsc 350 +reg: bsp 351 +reg: bspstore 352 +reg: rnat 353 +reg: fcr 355 +reg: eflag 358 +reg: csd 359 +reg: ssd 360 +reg: cflg 361 +reg: fsr 362 +reg: fir 363 +reg: fdr 364 +reg: pfs 398 +reg: lc 399 +reg: ec 400 + +endabi: ia64 + + +beginabi: x86 +frame_interface: 3 +initial_reg_value: 1035 # DW_FRAME_SAME_VAL +reg_table_size: 66 # more than large enough, hopefully. +cfa_reg: 1436 # DW_FRAME_CFA_COL3 +same_val_reg: 1035 +undefined_val_reg: 1034 + +# The following register names are not necessarily correct... +reg: eax 0 +reg: ecx 1 +reg: edx 2 +reg: ebx 3 +reg: esp 4 +reg: ebp 5 +reg: esi 6 +reg: edi 7 +reg: eip 8 +reg: eflags 9 + +reg: trapno 10 +reg: st0 11 +reg: st1 12 +reg: st2 13 +reg: st3 14 +reg: st4 15 +reg: st5 16 +reg: st6 17 +reg: st7 18 +# 19 is ? 20 is ? +reg: xmm0 21 +reg: xmm1 22 +reg: xmm2 23 +reg: xmm3 24 +reg: xmm4 25 +reg: xmm5 26 +reg: xmm6 27 +reg: xmm7 28 + +reg: mm0 29 +reg: mm1 30 +reg: mm2 31 +reg: mm3 32 +reg: mm4 33 +reg: mm5 34 +reg: mm6 35 +reg: mm7 36 + +reg: fcw 37 +reg: fsw 38 +reg: mxcsr 39 + +reg: es 40 +reg: cs 41 +reg: ss 42 +reg: ds 43 +reg: fs 44 +reg: gs 45 +# 46 47 are ? +reg: tr 48 +reg: ldtr 49 + + +endabi: x86 + + +beginabi: x86_64 +frame_interface: 3 +initial_reg_value: 1035 # DW_FRAME_SAME_VAL +reg_table_size: 66 # more than large enough, hopefully. +cfa_reg: 1436 # DW_FRAME_CFA_COL3 +same_val_reg: 1035 +undefined_val_reg: 1034 + +# The following register names are not necessarily correct... +reg: rax 0 +reg: rdx 1 +reg: rcx 2 +reg: rbx 3 +reg: rsi 4 +reg: rdi 5 +reg: rbp 6 +reg: rsp 7 +reg: r8 8 +reg: r9 9 +reg: r10 10 +reg: r11 11 +reg: r12 12 +reg: r13 13 +reg: r14 14 +reg: r15 15 +reg: rip 16 +reg: xmm0 17 +reg: xmm1 18 +reg: xmm2 19 +reg: xmm3 20 +reg: xmm4 21 +reg: xmm5 22 +reg: xmm6 23 +reg: xmm7 24 +reg: xmm8 25 +reg: xmm9 26 +reg: xmm10 27 +reg: xmm11 28 +reg: xmm12 29 +reg: xmm13 30 +reg: xmm14 31 +reg: xmm15 32 + +reg: st0 33 +reg: st1 34 +reg: st2 35 +reg: st3 36 +reg: st4 37 +reg: st5 38 +reg: st6 39 +reg: st7 40 + +reg: mm0 41 +reg: mm1 42 +reg: mm2 43 +reg: mm3 44 +reg: mm4 45 +reg: mm5 46 +reg: mm6 47 +reg: mm7 48 + +reg: rflags 49 +reg: es 50 +reg: cs 51 +reg: ss 52 +reg: ds 53 +reg: fs 54 +reg: gs 55 +# 56, 57 are ? +reg: fs.base 58 +reg: gs.base 59 +# 60 61 are ? +reg: tr 62 +reg: ldtr 63 + +endabi: x86_64 + +beginabi: m68k +frame_interface: 3 +initial_reg_value: 1035 # DW_FRAME_SAME_VAL +reg_table_size: 66 # more than large enough, hopefully. +cfa_reg: 1436 # DW_FRAME_CFA_COL3 +same_val_reg: 1035 +undefined_val_reg: 1034 + +reg: d0 0 +reg: d1 1 +reg: d2 2 +reg: d3 3 +reg: d4 4 +reg: d5 5 +reg: d6 6 +reg: d7 7 + +reg: a0 8 +reg: a1 9 +reg: a2 10 +reg: a3 11 +reg: a4 12 +reg: a5 13 +reg: a6 14 +reg: sp 15 + +reg: fp0 16 +reg: fp1 17 +reg: fp2 18 +reg: fp3 19 +reg: fp4 20 +reg: fp5 21 +reg: fp6 22 +reg: pc 23 + +endabi: m68k + +# Demonstrates use of address_size and includeabi keywords. +# address_size is useful when an Elf64 object has DWARF2 +# 32bit (4 byte) address-size frame data (which has no address_size field) +# and no .debug_info section to provide the 32bit address size. +beginabi: ppc32bitaddress +address_size: 4 +includeabi: ppc +endabi: ppc32bitaddress + +beginabi: ppc +# This abi defined Oct 2008 based on: +# http://refspecs.linuxfoundation.org/ELF/ppc64/PPC-elf64abi-1.9.html +frame_interface: 3 +# abi dwarf table uses up thru 1155. +# As of Oct 2008, the only ABI requiring a higher +# DW_FRAME_SAME_VAL and DW_FRAME_CFA_COL3. +initial_reg_value: 1235 # DW_FRAME_SAME_VAL +cfa_reg: 1436 # DW_FRAME_CFA_COL3 +same_val_reg: 1235 +undefined_val_reg: 1234 +reg_table_size: 1200 + +reg: r0 0 +reg: f0 32 +reg: f1 33 +reg: f2 34 +reg: f3 35 +reg: f4 36 +reg: f5 37 +reg: f6 38 +reg: f7 39 +reg: f8 40 +reg: f9 41 +reg: f10 42 +reg: f11 43 +reg: f12 44 +reg: f13 45 +reg: f14 46 +reg: f16 47 +reg: f17 48 +reg: f18 49 +reg: f19 50 +reg: f20 51 +reg: f21 52 +reg: f22 53 +reg: f23 54 +reg: f24 55 +reg: f25 56 +reg: f26 57 +reg: f27 58 +reg: f28 59 +reg: f29 60 +reg: f30 62 +reg: f31 63 +reg: cr 64 +reg: fpcsr 65 +# spr0 is also called MQ +reg: spr0 100 +# spr1 is also called XER +reg: spr1 101 +# spr4 also called rtcu +reg: spr4 104 +# spr5 also called rtcl +reg: spr5 105 +#spr8 also called LR +reg: spr8 108 +# spr9 also called ctr +reg: spr9 109 +reg: msr 66 +reg: sr0 70 +reg: sr1 71 +reg: sr2 72 +reg: sr3 73 +reg: sr4 74 +reg: sr5 75 +reg: sr6 76 +reg: sr7 77 +reg: sr8 78 +reg: sr9 79 + +#dsisr also called spr18 +reg: spr18 118 +# dar also called spr19 +reg: spr19 119 +#dec also called spr22 +reg: spr22 122 +#sdr1 also called spr25 +reg: spr25 125 +#srr0 also called spr26 +reg: spr26 126 +#srr1 also called spr27 +reg: spr27 127 + +#vrsave also called spr256 +reg: spr256 356 +#sprg0 also called spr272 +reg: spr272 372 +#sprg1 also called spr273 +reg: spr273 373 +#sprg2 also called spr274 +reg: spr274 374 +#sprg3 also called spr275 +reg: spr275 375 +#asr also called spr280 +reg: spr280 380 +#ear also called spr282 +reg: spr282 382 +#tb also called spr284 +reg: spr284 384 +#tbu also called spr285 +reg: spr285 385 +#pvr also called spr287 +reg: spr287 387 +#ibat0u also called spr528 +reg: spr528 628 +#ibat0l also called spr529 +reg: spr529 629 +#ibat1u also called spr530 +reg: spr530 630 +#ibat1l also called spr531 +reg: spr531 631 +#ibat2u also called spr532 +reg: spr532 632 +#ibat2l also called spr533 +reg: spr533 633 +#ibat3u also called spr534 +reg: spr534 634 +#ibat3l also called spr535 +reg: spr535 635 +#dbat0u also called spr536 +reg: spr536 636 +#dbat0l also called spr537 +reg: spr537 637 +#dbat1u also called spr538 +reg: spr538 638 +#dbat1l also called spr539 +reg: spr539 639 +#dbat2u also called spr540 +reg: spr540 640 +#dbat2l also called spr541 +reg: spr541 641 +#dbat3u also called spr542 +reg: spr542 642 +#dbat3l also called spr543 +reg: spr543 643 + +#hid0 also called spr1008 +reg: spr1008 1108 +#hid1 also called spr1009 +reg: spr1009 1109 +#hid2 also called iabr or spr1010 +reg: spr1010 1110 +#hid5 also called dabr or spr1013 +reg: spr1013 1113 +#hid15 also called pir or spr1023 +reg: spr1023 1123 + +# vector registers 0-31 +reg: vr0 1124 +reg: vr1 1125 +reg: vr2 1126 +reg: vr3 1127 +reg: vr4 1128 +reg: vr5 1129 +reg: vr6 1130 +reg: vr7 1131 +reg: vr8 1132 +reg: vr9 1133 +reg: vr10 1134 +reg: vr11 1135 +reg: vr12 1136 +reg: vr13 1137 +reg: vr14 1138 +reg: vr15 1130 +reg: vr16 1140 +reg: vr17 1141 +reg: vr18 1142 +reg: vr19 1143 +reg: vr20 1144 +reg: vr21 1145 +reg: vr22 1146 +reg: vr23 1147 +reg: vr24 1148 +reg: vr25 1149 +reg: vr26 1150 +reg: vr27 1151 +reg: vr28 1152 +reg: vr29 1153 +reg: vr30 1154 +reg: vr31 1155 +endabi: ppc + +# 'Generic 1000 register abi'. +# This is useful as a 'general' ABI settings for +# cpus using up to 1000 registers. The register names +# show as a number, like 'r991'. +beginabi: generic +frame_interface: 3 +initial_reg_value: 1035 # DW_FRAME_SAME_VAL +cfa_reg: 1436 # DW_FRAME_CFA_COL3 +reg_table_size: 1000 +same_val_reg: 1035 +undefined_val_reg: 1034 +reg: r0 0 +endabi: generic + +# 'Generic 500 register abi'. +# This is useful as a 'general' ABI settings for +# cpus using up to 500 registers. The register names +# show as a number, like 'r91'. +beginabi: generic500 +frame_interface: 3 +initial_reg_value: 1035 # DW_FRAME_SAME_VAL +cfa_reg: 1436 # DW_FRAME_CFA_COL3 +reg_table_size: 500 +same_val_reg: 1035 +undefined_val_reg: 1034 +reg: r0 0 +endabi: generic500 + +# 'Generic 100 register abi'. +# This is useful as a 'general' ABI settings for +# cpus using up to 100 registers. The register names +# show as a number, like 'r91'. +beginabi: generic100 +frame_interface: 3 +initial_reg_value: 1035 # DW_FRAME_SAME_VAL +cfa_reg: 1436 # DW_FRAME_CFA_COL3 +reg_table_size: 100 +same_val_reg: 1035 +undefined_val_reg: 1034 +reg: r0 0 +endabi: generic100 + + +beginabi: arm +frame_interface: 3 +# When using frame_interface: 3 the size of the register +# table is not fixed. It can be as large as needed. +reg_table_size: 288 +cfa_reg: 1436 # DW_FRAME_CFA_COL3 +initial_reg_value: 1034 +same_val_reg: 1035 +undefined_val_reg: 1034 +# If the vendor co-processor registers are allowed +# or other numbers above 287 used then +# the reg_table_size must be increased and (possibly) +# the cfa, same_value, undefined_value reg values changed +# here. +# r0-r15 are 0 through 15. +# Numbers 16 through 63 had meaning +# in some ARM DWARF register mappings. +reg: s0 64 +reg: s1 65 +reg: s2 66 +reg: s3 67 +reg: s4 68 +reg: s5 69 +reg: s6 70 +reg: s7 71 +reg: s8 72 +reg: s9 73 +reg: s10 74 +reg: s11 75 +reg: s12 76 +reg: s13 77 +reg: s14 78 +reg: s15 79 +reg: s16 80 +reg: s17 81 +reg: s18 82 +reg: s19 83 +reg: s20 84 +reg: s21 85 +reg: s22 86 +reg: s23 87 +reg: s24 88 +reg: s25 89 +reg: s26 90 +reg: s27 91 +reg: s28 92 +reg: s29 93 +reg: s30 94 +reg: s31 95 +reg: f0 96 +reg: f1 97 +reg: f2 98 +reg: f3 99 +reg: f4 100 +reg: f5 101 +reg: f6 102 +reg: f7 103 +reg: wcgr0 104 +reg: wcgr0 105 +reg: wcgr0 106 +reg: wcgr0 107 +reg: wcgr0 108 +reg: wcgr0 109 +reg: wcgr0 110 +reg: wcgr0 111 +reg: wr0 112 +reg: wr1 113 +reg: wr2 114 +reg: wr3 115 +reg: wr4 116 +reg: wr5 117 +reg: wr6 118 +reg: wr7 119 +reg: wr8 120 +reg: wr9 121 +reg: wr10 122 +reg: wr11 123 +reg: wr12 124 +reg: wr13 125 +reg: wr14 126 +reg: wr15 127 +reg: spsr 128 +reg: spsr_fiq 129 +reg: spsr_irq 130 +reg: spsr_abt 131 +reg: spsr_und 132 +reg: spsr_svc 133 +reg: r8_usr 144 +reg: r9_usr 145 +reg: r10_usr 146 +reg: r11_usr 147 +reg: r12_usr 148 +reg: r13_usr 149 +reg: r14_usr 150 +reg: r8_fiq 151 +reg: r9_fiq 152 +reg: r10_fiq 153 +reg: r11_fiq 154 +reg: r12_fiq 155 +reg: r13_fiq 156 +reg: r14_fiq 157 +reg: r13_riq 158 +reg: r14_riq 159 +reg: r14_abt 160 +reg: r13_abt 161 +reg: r14_und 162 +reg: r13_und 163 +reg: r14_svc 164 +reg: r13_svc 165 +reg: wc0 192 +reg: wc1 193 +reg: wc2 192 +reg: wc3 192 +reg: wc4 192 +reg: wc5 197 +reg: wc6 198 +reg: wc7 199 +reg: d0 256 +reg: d1 257 +reg: d2 258 +reg: d3 259 +reg: d4 260 +reg: d5 261 +reg: d6 262 +reg: d7 263 +reg: d8 264 +reg: d9 265 +reg: d10 266 +reg: d11 267 +reg: d12 268 +reg: d13 269 +reg: d14 270 +reg: d15 271 +reg: d16 272 +reg: d17 273 +reg: d18 274 +reg: d19 275 +reg: d20 266 +reg: d21 277 +reg: d22 278 +reg: d23 279 +reg: d24 280 +reg: d25 281 +reg: d26 282 +reg: d27 283 +reg: d28 284 +reg: d29 285 +reg: d30 286 +reg: d31 287 +# End of abi definition. +endabi: arm + |