elftools 1.3.0 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (104) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +111 -7
  3. data/lib/elftools/constants/machine.rb +248 -0
  4. data/lib/elftools/constants/machine_names.rb +246 -0
  5. data/lib/elftools/constants/relocation/aarch64.rb +213 -0
  6. data/lib/elftools/constants/relocation/alpha.rb +47 -0
  7. data/lib/elftools/constants/relocation/amdgpu.rb +28 -0
  8. data/lib/elftools/constants/relocation/arm.rb +150 -0
  9. data/lib/elftools/constants/relocation/avr.rb +51 -0
  10. data/lib/elftools/constants/relocation/bfin.rb +72 -0
  11. data/lib/elftools/constants/relocation/bpf.rb +21 -0
  12. data/lib/elftools/constants/relocation/cr16.rb +46 -0
  13. data/lib/elftools/constants/relocation/cris.rb +46 -0
  14. data/lib/elftools/constants/relocation/crx.rb +35 -0
  15. data/lib/elftools/constants/relocation/csky.rb +79 -0
  16. data/lib/elftools/constants/relocation/d10v.rb +23 -0
  17. data/lib/elftools/constants/relocation/d30v.rb +27 -0
  18. data/lib/elftools/constants/relocation/dlx.rb +24 -0
  19. data/lib/elftools/constants/relocation/epiphany.rb +28 -0
  20. data/lib/elftools/constants/relocation/fr30.rb +27 -0
  21. data/lib/elftools/constants/relocation/frv.rb +57 -0
  22. data/lib/elftools/constants/relocation/ft32.rb +27 -0
  23. data/lib/elftools/constants/relocation/h8.rb +69 -0
  24. data/lib/elftools/constants/relocation/hppa.rb +135 -0
  25. data/lib/elftools/constants/relocation/i370.rb +26 -0
  26. data/lib/elftools/constants/relocation/i386.rb +59 -0
  27. data/lib/elftools/constants/relocation/i860.rb +48 -0
  28. data/lib/elftools/constants/relocation/i960.rb +22 -0
  29. data/lib/elftools/constants/relocation/ia64.rb +117 -0
  30. data/lib/elftools/constants/relocation/ip2k.rb +29 -0
  31. data/lib/elftools/constants/relocation/iq2000.rb +27 -0
  32. data/lib/elftools/constants/relocation/kvx.rb +97 -0
  33. data/lib/elftools/constants/relocation/lm32.rb +32 -0
  34. data/lib/elftools/constants/relocation/loongarch.rb +144 -0
  35. data/lib/elftools/constants/relocation/m32c.rb +27 -0
  36. data/lib/elftools/constants/relocation/m32r.rb +57 -0
  37. data/lib/elftools/constants/relocation/m68hc11.rb +35 -0
  38. data/lib/elftools/constants/relocation/m68k.rb +57 -0
  39. data/lib/elftools/constants/relocation/mcore.rb +27 -0
  40. data/lib/elftools/constants/relocation/mep.rb +36 -0
  41. data/lib/elftools/constants/relocation/metag.rb +63 -0
  42. data/lib/elftools/constants/relocation/microblaze.rb +48 -0
  43. data/lib/elftools/constants/relocation/mips.rb +125 -0
  44. data/lib/elftools/constants/relocation/mmix.rb +51 -0
  45. data/lib/elftools/constants/relocation/mn10200.rb +22 -0
  46. data/lib/elftools/constants/relocation/mn10300.rb +49 -0
  47. data/lib/elftools/constants/relocation/moxie.rb +17 -0
  48. data/lib/elftools/constants/relocation/msp430.rb +27 -0
  49. data/lib/elftools/constants/relocation/msp430x.rb +37 -0
  50. data/lib/elftools/constants/relocation/mt.rb +21 -0
  51. data/lib/elftools/constants/relocation/nds32.rb +167 -0
  52. data/lib/elftools/constants/relocation/nfp.rb +41 -0
  53. data/lib/elftools/constants/relocation/nfp3200.rb +46 -0
  54. data/lib/elftools/constants/relocation/nios2.rb +74 -0
  55. data/lib/elftools/constants/relocation/or1k.rb +69 -0
  56. data/lib/elftools/constants/relocation/pj.rb +24 -0
  57. data/lib/elftools/constants/relocation/ppc.rb +131 -0
  58. data/lib/elftools/constants/relocation/ppc64.rb +177 -0
  59. data/lib/elftools/constants/relocation/pru.rb +31 -0
  60. data/lib/elftools/constants/relocation/riscv.rb +74 -0
  61. data/lib/elftools/constants/relocation/rl78.rb +70 -0
  62. data/lib/elftools/constants/relocation/rx.rb +81 -0
  63. data/lib/elftools/constants/relocation/s12z.rb +22 -0
  64. data/lib/elftools/constants/relocation/s390.rb +82 -0
  65. data/lib/elftools/constants/relocation/score.rb +36 -0
  66. data/lib/elftools/constants/relocation/sh.rb +124 -0
  67. data/lib/elftools/constants/relocation/sparc.rb +108 -0
  68. data/lib/elftools/constants/relocation/spu.rb +32 -0
  69. data/lib/elftools/constants/relocation/tic6x.rb +48 -0
  70. data/lib/elftools/constants/relocation/tilegx.rb +134 -0
  71. data/lib/elftools/constants/relocation/tilepro.rb +105 -0
  72. data/lib/elftools/constants/relocation/v800.rb +101 -0
  73. data/lib/elftools/constants/relocation/v850.rb +66 -0
  74. data/lib/elftools/constants/relocation/vax.rb +29 -0
  75. data/lib/elftools/constants/relocation/visium.rb +30 -0
  76. data/lib/elftools/constants/relocation/wasm32.rb +16 -0
  77. data/lib/elftools/constants/relocation/x86_64.rb +68 -0
  78. data/lib/elftools/constants/relocation/xgate.rb +34 -0
  79. data/lib/elftools/constants/relocation/xstormy16.rb +29 -0
  80. data/lib/elftools/constants/relocation/xtensa.rb +75 -0
  81. data/lib/elftools/constants/relocation/z80.rb +28 -0
  82. data/lib/elftools/constants/relocation.rb +181 -0
  83. data/lib/elftools/constants.rb +124 -231
  84. data/lib/elftools/dynamic/hash_table.rb +216 -0
  85. data/lib/elftools/dynamic/string_table.rb +30 -0
  86. data/lib/elftools/dynamic/symbols.rb +146 -0
  87. data/lib/elftools/dynamic/tag.rb +66 -0
  88. data/lib/elftools/dynamic.rb +102 -62
  89. data/lib/elftools/elf_file.rb +74 -23
  90. data/lib/elftools/lazy_array.rb +42 -4
  91. data/lib/elftools/note.rb +6 -3
  92. data/lib/elftools/relocation.rb +94 -0
  93. data/lib/elftools/sections/dynamic_section.rb +13 -0
  94. data/lib/elftools/sections/relocation_section.rb +24 -43
  95. data/lib/elftools/sections/section.rb +4 -4
  96. data/lib/elftools/sections/sym_tab_section.rb +14 -34
  97. data/lib/elftools/sections/symbol.rb +112 -0
  98. data/lib/elftools/segments/dynamic_segment.rb +1 -0
  99. data/lib/elftools/segments/load_segment.rb +33 -5
  100. data/lib/elftools/segments/segment.rb +8 -4
  101. data/lib/elftools/structs.rb +24 -3
  102. data/lib/elftools/util.rb +1 -1
  103. data/lib/elftools/version.rb +1 -1
  104. metadata +101 -11
@@ -0,0 +1,150 @@
1
+ # frozen_string_literal: true
2
+
3
+ # This file is generated by `bundle exec rake gen:constants`, do not edit it.
4
+ # Source: https://sourceware.org/cgit/binutils-gdb/tree/include/elf
5
+
6
+ module ELFTools
7
+ module Constants
8
+ module R
9
+ # Relocation types of ARM.
10
+ module ARM
11
+ R_ARM_NONE = 0 # :nodoc:
12
+ R_ARM_PC24 = 1 # deprecated
13
+ R_ARM_ABS32 = 2 # :nodoc:
14
+ R_ARM_REL32 = 3 # :nodoc:
15
+ R_ARM_LDR_PC_G0 = 4 # :nodoc:
16
+ R_ARM_ABS16 = 5 # :nodoc:
17
+ R_ARM_ABS12 = 6 # :nodoc:
18
+ R_ARM_THM_ABS5 = 7 # :nodoc:
19
+ R_ARM_ABS8 = 8 # :nodoc:
20
+ R_ARM_SBREL32 = 9 # :nodoc:
21
+ R_ARM_THM_CALL = 10 # :nodoc:
22
+ R_ARM_THM_PC8 = 11 # :nodoc:
23
+ R_ARM_BREL_ADJ = 12 # :nodoc:
24
+ R_ARM_TLS_DESC = 13 # :nodoc:
25
+ R_ARM_THM_SWI8 = 14 # obsolete
26
+ R_ARM_XPC25 = 15 # obsolete
27
+ R_ARM_THM_XPC22 = 16 # obsolete
28
+ R_ARM_TLS_DTPMOD32 = 17 # :nodoc:
29
+ R_ARM_TLS_DTPOFF32 = 18 # :nodoc:
30
+ R_ARM_TLS_TPOFF32 = 19 # :nodoc:
31
+ R_ARM_COPY = 20 # Copy symbol at runtime
32
+ R_ARM_GLOB_DAT = 21 # Create GOT entry
33
+ R_ARM_JUMP_SLOT = 22 # Create PLT entry
34
+ R_ARM_RELATIVE = 23 # Adjust by program base
35
+ R_ARM_GOTOFF32 = 24 # 32 bit offset to GOT
36
+ R_ARM_BASE_PREL = 25 # 32 bit PC relative offset to GOT
37
+ R_ARM_GOT_BREL = 26 # 32 bit GOT entry
38
+ R_ARM_PLT32 = 27 # deprecated - 32 bit PLT address
39
+ R_ARM_CALL = 28 # :nodoc:
40
+ R_ARM_JUMP24 = 29 # :nodoc:
41
+ R_ARM_THM_JUMP24 = 30 # :nodoc:
42
+ R_ARM_BASE_ABS = 31 # :nodoc:
43
+ R_ARM_ALU_PCREL7_0 = 32 # obsolete
44
+ R_ARM_ALU_PCREL15_8 = 33 # obsolete
45
+ R_ARM_ALU_PCREL23_15 = 34 # obsolete
46
+ R_ARM_LDR_SBREL_11_0 = 35 # deprecated, should have _NC suffix
47
+ R_ARM_ALU_SBREL_19_12 = 36 # deprecated, should have _NC suffix
48
+ R_ARM_ALU_SBREL_27_20 = 37 # deprecated, should have _CK suffix
49
+ R_ARM_TARGET1 = 38 # :nodoc:
50
+ R_ARM_SBREL31 = 39 # deprecated
51
+ R_ARM_V4BX = 40 # :nodoc:
52
+ R_ARM_TARGET2 = 41 # :nodoc:
53
+ R_ARM_PREL31 = 42 # :nodoc:
54
+ R_ARM_MOVW_ABS_NC = 43 # :nodoc:
55
+ R_ARM_MOVT_ABS = 44 # :nodoc:
56
+ R_ARM_MOVW_PREL_NC = 45 # :nodoc:
57
+ R_ARM_MOVT_PREL = 46 # :nodoc:
58
+ R_ARM_THM_MOVW_ABS_NC = 47 # :nodoc:
59
+ R_ARM_THM_MOVT_ABS = 48 # :nodoc:
60
+ R_ARM_THM_MOVW_PREL_NC = 49 # :nodoc:
61
+ R_ARM_THM_MOVT_PREL = 50 # :nodoc:
62
+ R_ARM_THM_JUMP19 = 51 # :nodoc:
63
+ R_ARM_THM_JUMP6 = 52 # :nodoc:
64
+ R_ARM_THM_ALU_PREL_11_0 = 53 # :nodoc:
65
+ R_ARM_THM_PC12 = 54 # :nodoc:
66
+ R_ARM_ABS32_NOI = 55 # :nodoc:
67
+ R_ARM_REL32_NOI = 56 # :nodoc:
68
+ R_ARM_ALU_PC_G0_NC = 57 # :nodoc:
69
+ R_ARM_ALU_PC_G0 = 58 # :nodoc:
70
+ R_ARM_ALU_PC_G1_NC = 59 # :nodoc:
71
+ R_ARM_ALU_PC_G1 = 60 # :nodoc:
72
+ R_ARM_ALU_PC_G2 = 61 # :nodoc:
73
+ R_ARM_LDR_PC_G1 = 62 # :nodoc:
74
+ R_ARM_LDR_PC_G2 = 63 # :nodoc:
75
+ R_ARM_LDRS_PC_G0 = 64 # :nodoc:
76
+ R_ARM_LDRS_PC_G1 = 65 # :nodoc:
77
+ R_ARM_LDRS_PC_G2 = 66 # :nodoc:
78
+ R_ARM_LDC_PC_G0 = 67 # :nodoc:
79
+ R_ARM_LDC_PC_G1 = 68 # :nodoc:
80
+ R_ARM_LDC_PC_G2 = 69 # :nodoc:
81
+ R_ARM_ALU_SB_G0_NC = 70 # :nodoc:
82
+ R_ARM_ALU_SB_G0 = 71 # :nodoc:
83
+ R_ARM_ALU_SB_G1_NC = 72 # :nodoc:
84
+ R_ARM_ALU_SB_G1 = 73 # :nodoc:
85
+ R_ARM_ALU_SB_G2 = 74 # :nodoc:
86
+ R_ARM_LDR_SB_G0 = 75 # :nodoc:
87
+ R_ARM_LDR_SB_G1 = 76 # :nodoc:
88
+ R_ARM_LDR_SB_G2 = 77 # :nodoc:
89
+ R_ARM_LDRS_SB_G0 = 78 # :nodoc:
90
+ R_ARM_LDRS_SB_G1 = 79 # :nodoc:
91
+ R_ARM_LDRS_SB_G2 = 80 # :nodoc:
92
+ R_ARM_LDC_SB_G0 = 81 # :nodoc:
93
+ R_ARM_LDC_SB_G1 = 82 # :nodoc:
94
+ R_ARM_LDC_SB_G2 = 83 # :nodoc:
95
+ R_ARM_MOVW_BREL_NC = 84 # :nodoc:
96
+ R_ARM_MOVT_BREL = 85 # :nodoc:
97
+ R_ARM_MOVW_BREL = 86 # :nodoc:
98
+ R_ARM_THM_MOVW_BREL_NC = 87 # :nodoc:
99
+ R_ARM_THM_MOVT_BREL = 88 # :nodoc:
100
+ R_ARM_THM_MOVW_BREL = 89 # :nodoc:
101
+ R_ARM_TLS_GOTDESC = 90 # :nodoc:
102
+ R_ARM_TLS_CALL = 91 # :nodoc:
103
+ R_ARM_TLS_DESCSEQ = 92 # :nodoc:
104
+ R_ARM_THM_TLS_CALL = 93 # :nodoc:
105
+ R_ARM_PLT32_ABS = 94 # :nodoc:
106
+ R_ARM_GOT_ABS = 95 # :nodoc:
107
+ R_ARM_GOT_PREL = 96 # :nodoc:
108
+ R_ARM_GOT_BREL12 = 97 # :nodoc:
109
+ R_ARM_GOTOFF12 = 98 # :nodoc:
110
+ R_ARM_GOTRELAX = 99 # :nodoc:
111
+ R_ARM_GNU_VTENTRY = 100 # deprecated - old C++ abi
112
+ R_ARM_GNU_VTINHERIT = 101 # deprecated - old C++ abi
113
+ R_ARM_THM_JUMP11 = 102 # :nodoc:
114
+ R_ARM_THM_JUMP8 = 103 # :nodoc:
115
+ R_ARM_TLS_GD32 = 104 # :nodoc:
116
+ R_ARM_TLS_LDM32 = 105 # :nodoc:
117
+ R_ARM_TLS_LDO32 = 106 # :nodoc:
118
+ R_ARM_TLS_IE32 = 107 # :nodoc:
119
+ R_ARM_TLS_LE32 = 108 # :nodoc:
120
+ R_ARM_TLS_LDO12 = 109 # :nodoc:
121
+ R_ARM_TLS_LE12 = 110 # :nodoc:
122
+ R_ARM_TLS_IE12GP = 111 # :nodoc:
123
+ R_ARM_ME_TOO = 128 # obsolete
124
+ R_ARM_THM_TLS_DESCSEQ = 129 # :nodoc:
125
+ R_ARM_THM_ALU_ABS_G0_NC = 132 # :nodoc:
126
+ R_ARM_THM_ALU_ABS_G1_NC = 133 # :nodoc:
127
+ R_ARM_THM_ALU_ABS_G2_NC = 134 # :nodoc:
128
+ R_ARM_THM_ALU_ABS_G3_NC = 135 # :nodoc:
129
+ R_ARM_THM_BF16 = 136 # :nodoc:
130
+ R_ARM_THM_BF12 = 137 # :nodoc:
131
+ R_ARM_THM_BF18 = 138 # :nodoc:
132
+ R_ARM_IRELATIVE = 160 # :nodoc:
133
+ R_ARM_GOTFUNCDESC = 161 # :nodoc:
134
+ R_ARM_GOTOFFFUNCDESC = 162 # :nodoc:
135
+ R_ARM_FUNCDESC = 163 # :nodoc:
136
+ R_ARM_FUNCDESC_VALUE = 164 # :nodoc:
137
+ R_ARM_TLS_GD32_FDPIC = 165 # :nodoc:
138
+ R_ARM_TLS_LDM32_FDPIC = 166 # :nodoc:
139
+ R_ARM_TLS_IE32_FDPIC = 167 # :nodoc:
140
+ R_ARM_RXPC25 = 249 # :nodoc:
141
+ R_ARM_RSBREL32 = 250 # :nodoc:
142
+ R_ARM_THM_RPC22 = 251 # :nodoc:
143
+ R_ARM_RREL32 = 252 # :nodoc:
144
+ R_ARM_RABS32 = 253 # :nodoc:
145
+ R_ARM_RPC24 = 254 # :nodoc:
146
+ R_ARM_RBASE = 255 # :nodoc:
147
+ end
148
+ end
149
+ end
150
+ end
@@ -0,0 +1,51 @@
1
+ # frozen_string_literal: true
2
+
3
+ # This file is generated by `bundle exec rake gen:constants`, do not edit it.
4
+ # Source: https://sourceware.org/cgit/binutils-gdb/tree/include/elf
5
+
6
+ module ELFTools
7
+ module Constants
8
+ module R
9
+ # Relocation types of AVR.
10
+ module AVR
11
+ R_AVR_NONE = 0 # :nodoc:
12
+ R_AVR_32 = 1 # :nodoc:
13
+ R_AVR_7_PCREL = 2 # :nodoc:
14
+ R_AVR_13_PCREL = 3 # :nodoc:
15
+ R_AVR_16 = 4 # :nodoc:
16
+ R_AVR_16_PM = 5 # :nodoc:
17
+ R_AVR_LO8_LDI = 6 # :nodoc:
18
+ R_AVR_HI8_LDI = 7 # :nodoc:
19
+ R_AVR_HH8_LDI = 8 # :nodoc:
20
+ R_AVR_LO8_LDI_NEG = 9 # :nodoc:
21
+ R_AVR_HI8_LDI_NEG = 10 # :nodoc:
22
+ R_AVR_HH8_LDI_NEG = 11 # :nodoc:
23
+ R_AVR_LO8_LDI_PM = 12 # :nodoc:
24
+ R_AVR_HI8_LDI_PM = 13 # :nodoc:
25
+ R_AVR_HH8_LDI_PM = 14 # :nodoc:
26
+ R_AVR_LO8_LDI_PM_NEG = 15 # :nodoc:
27
+ R_AVR_HI8_LDI_PM_NEG = 16 # :nodoc:
28
+ R_AVR_HH8_LDI_PM_NEG = 17 # :nodoc:
29
+ R_AVR_CALL = 18 # :nodoc:
30
+ R_AVR_LDI = 19 # :nodoc:
31
+ R_AVR_6 = 20 # :nodoc:
32
+ R_AVR_6_ADIW = 21 # :nodoc:
33
+ R_AVR_MS8_LDI = 22 # :nodoc:
34
+ R_AVR_MS8_LDI_NEG = 23 # :nodoc:
35
+ R_AVR_LO8_LDI_GS = 24 # :nodoc:
36
+ R_AVR_HI8_LDI_GS = 25 # :nodoc:
37
+ R_AVR_8 = 26 # :nodoc:
38
+ R_AVR_8_LO8 = 27 # :nodoc:
39
+ R_AVR_8_HI8 = 28 # :nodoc:
40
+ R_AVR_8_HLO8 = 29 # :nodoc:
41
+ R_AVR_DIFF8 = 30 # :nodoc:
42
+ R_AVR_DIFF16 = 31 # :nodoc:
43
+ R_AVR_DIFF32 = 32 # :nodoc:
44
+ R_AVR_LDS_STS_16 = 33 # :nodoc:
45
+ R_AVR_PORT6 = 34 # :nodoc:
46
+ R_AVR_PORT5 = 35 # :nodoc:
47
+ R_AVR_32_PCREL = 36 # :nodoc:
48
+ end
49
+ end
50
+ end
51
+ end
@@ -0,0 +1,72 @@
1
+ # frozen_string_literal: true
2
+
3
+ # This file is generated by `bundle exec rake gen:constants`, do not edit it.
4
+ # Source: https://sourceware.org/cgit/binutils-gdb/tree/include/elf
5
+
6
+ module ELFTools
7
+ module Constants
8
+ module R
9
+ # Relocation types of BFIN.
10
+ module BFIN
11
+ R_BFIN_UNUSED0 = 0 # relocation type 0 is not defined
12
+ R_BFIN_PCREL5M2 = 1 # LSETUP part a
13
+ R_BFIN_UNUSED1 = 2 # relocation type 2 is not defined
14
+ R_BFIN_PCREL10 = 3 # type 3, 0x00) if cc jump <target>
15
+ R_BFIN_PCREL12_JUMP = 4 # type 4, 0x00) jump <target>
16
+ R_BFIN_RIMM16 = 5 # type 0x5, 0x00) rN = <target>
17
+ R_BFIN_LUIMM16 = 6 # # 0x6, 0x00) preg.l=<target> Load imm 16 to lower half
18
+ R_BFIN_HUIMM16 = 7 # # 0x7, 0x00) preg.h=<target> Load imm 16 to upper half
19
+ R_BFIN_PCREL12_JUMP_S = 8 # # 0x8 jump.s <target>
20
+ R_BFIN_PCREL24_JUMP_X = 9 # # 0x9 jump.x <target>
21
+ R_BFIN_PCREL24 = 10 # # 0xa call <target> , 0x00) not expandable
22
+ R_BFIN_UNUSEDB = 11 # # 0xb not generated
23
+ R_BFIN_UNUSEDC = 12 # # 0xc not used
24
+ R_BFIN_PCREL24_JUMP_L = 13 # 0xd jump.l <target>
25
+ R_BFIN_PCREL24_CALL_X = 14 # 0xE, 0x00) call.x <target> if <target> is above 24 bit limit call through P1
26
+ R_BFIN_VAR_EQ_SYMB = 15 # 0xf, 0x00) linker should treat it same as 0x12
27
+ R_BFIN_BYTE_DATA = 16 # 0x10, 0x00) .byte var = symbol
28
+ R_BFIN_BYTE2_DATA = 17 # 0x11, 0x00) .byte2 var = symbol
29
+ R_BFIN_BYTE4_DATA = 18 # 0x12, 0x00) .byte4 var = symbol and .var var=symbol
30
+ R_BFIN_PCREL11 = 19 # 0x13, 0x00) lsetup part b
31
+ R_BFIN_GOT17M4 = 20 # :nodoc:
32
+ R_BFIN_GOTHI = 21 # :nodoc:
33
+ R_BFIN_GOTLO = 22 # :nodoc:
34
+ R_BFIN_FUNCDESC = 23 # :nodoc:
35
+ R_BFIN_FUNCDESC_GOT17M4 = 24 # :nodoc:
36
+ R_BFIN_FUNCDESC_GOTHI = 25 # :nodoc:
37
+ R_BFIN_FUNCDESC_GOTLO = 26 # :nodoc:
38
+ R_BFIN_FUNCDESC_VALUE = 27 # :nodoc:
39
+ R_BFIN_FUNCDESC_GOTOFF17M4 = 28 # :nodoc:
40
+ R_BFIN_FUNCDESC_GOTOFFHI = 29 # :nodoc:
41
+ R_BFIN_FUNCDESC_GOTOFFLO = 30 # :nodoc:
42
+ R_BFIN_GOTOFF17M4 = 31 # :nodoc:
43
+ R_BFIN_GOTOFFHI = 32 # :nodoc:
44
+ R_BFIN_GOTOFFLO = 33 # :nodoc:
45
+ R_BFIN_PLTPC = 64 # PLT gnu only relocation
46
+ R_BFIN_GOT = 65 # GOT gnu only relocation
47
+ R_BFIN_GNU_VTINHERIT = 66 # C++, gnu only
48
+ R_BFIN_GNU_VTENTRY = 67 # C++, gnu only
49
+ R_BFIN_PUSH = 224 # :nodoc:
50
+ R_BFIN_CONST = 225 # :nodoc:
51
+ R_BFIN_ADD = 226 # :nodoc:
52
+ R_BFIN_SUB = 227 # :nodoc:
53
+ R_BFIN_MULT = 228 # :nodoc:
54
+ R_BFIN_DIV = 229 # :nodoc:
55
+ R_BFIN_MOD = 230 # :nodoc:
56
+ R_BFIN_LSHIFT = 231 # :nodoc:
57
+ R_BFIN_RSHIFT = 232 # :nodoc:
58
+ R_BFIN_AND = 233 # :nodoc:
59
+ R_BFIN_OR = 234 # :nodoc:
60
+ R_BFIN_XOR = 235 # :nodoc:
61
+ R_BFIN_LAND = 236 # :nodoc:
62
+ R_BFIN_LOR = 237 # :nodoc:
63
+ R_BFIN_LEN = 238 # :nodoc:
64
+ R_BFIN_NEG = 239 # :nodoc:
65
+ R_BFIN_COMP = 240 # :nodoc:
66
+ R_BFIN_PAGE = 241 # :nodoc:
67
+ R_BFIN_HWPAGE = 242 # :nodoc:
68
+ R_BFIN_ADDR = 243 # :nodoc:
69
+ end
70
+ end
71
+ end
72
+ end
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ # This file is generated by `bundle exec rake gen:constants`, do not edit it.
4
+ # Source: https://sourceware.org/cgit/binutils-gdb/tree/include/elf
5
+
6
+ module ELFTools
7
+ module Constants
8
+ module R
9
+ # Relocation types of BPF.
10
+ module BPF
11
+ R_BPF_NONE = 0 # :nodoc:
12
+ R_BPF_64_64 = 1 # :nodoc:
13
+ R_BPF_64_ABS64 = 2 # :nodoc:
14
+ R_BPF_64_ABS32 = 3 # :nodoc:
15
+ R_BPF_64_NODYLD32 = 4 # :nodoc:
16
+ R_BPF_64_32 = 10 # :nodoc:
17
+ R_BPF_GNU_64_16 = 256 # :nodoc:
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,46 @@
1
+ # frozen_string_literal: true
2
+
3
+ # This file is generated by `bundle exec rake gen:constants`, do not edit it.
4
+ # Source: https://sourceware.org/cgit/binutils-gdb/tree/include/elf
5
+
6
+ module ELFTools
7
+ module Constants
8
+ module R
9
+ # Relocation types of CR16.
10
+ module CR16
11
+ R_CR16_NONE = 0 # :nodoc:
12
+ R_CR16_NUM8 = 1 # :nodoc:
13
+ R_CR16_NUM16 = 2 # :nodoc:
14
+ R_CR16_NUM32 = 3 # :nodoc:
15
+ R_CR16_NUM32a = 4 # :nodoc:
16
+ R_CR16_REGREL4 = 5 # :nodoc:
17
+ R_CR16_REGREL4a = 6 # :nodoc:
18
+ R_CR16_REGREL14 = 7 # :nodoc:
19
+ R_CR16_REGREL14a = 8 # :nodoc:
20
+ R_CR16_REGREL16 = 9 # :nodoc:
21
+ R_CR16_REGREL20 = 10 # :nodoc:
22
+ R_CR16_REGREL20a = 11 # :nodoc:
23
+ R_CR16_ABS20 = 12 # :nodoc:
24
+ R_CR16_ABS24 = 13 # :nodoc:
25
+ R_CR16_IMM4 = 14 # :nodoc:
26
+ R_CR16_IMM8 = 15 # :nodoc:
27
+ R_CR16_IMM16 = 16 # :nodoc:
28
+ R_CR16_IMM20 = 17 # :nodoc:
29
+ R_CR16_IMM24 = 18 # :nodoc:
30
+ R_CR16_IMM32 = 19 # :nodoc:
31
+ R_CR16_IMM32a = 20 # :nodoc:
32
+ R_CR16_DISP4 = 21 # :nodoc:
33
+ R_CR16_DISP8 = 22 # :nodoc:
34
+ R_CR16_DISP16 = 23 # :nodoc:
35
+ R_CR16_DISP24 = 24 # :nodoc:
36
+ R_CR16_DISP24a = 25 # :nodoc:
37
+ R_CR16_SWITCH8 = 26 # :nodoc:
38
+ R_CR16_SWITCH16 = 27 # :nodoc:
39
+ R_CR16_SWITCH32 = 28 # :nodoc:
40
+ R_CR16_GOT_REGREL20 = 29 # :nodoc:
41
+ R_CR16_GOTC_REGREL20 = 30 # :nodoc:
42
+ R_CR16_GLOB_DAT = 31 # :nodoc:
43
+ end
44
+ end
45
+ end
46
+ end
@@ -0,0 +1,46 @@
1
+ # frozen_string_literal: true
2
+
3
+ # This file is generated by `bundle exec rake gen:constants`, do not edit it.
4
+ # Source: https://sourceware.org/cgit/binutils-gdb/tree/include/elf
5
+
6
+ module ELFTools
7
+ module Constants
8
+ module R
9
+ # Relocation types of CRIS.
10
+ module CRIS
11
+ R_CRIS_NONE = 0 # :nodoc:
12
+ R_CRIS_8 = 1 # :nodoc:
13
+ R_CRIS_16 = 2 # :nodoc:
14
+ R_CRIS_32 = 3 # :nodoc:
15
+ R_CRIS_8_PCREL = 4 # :nodoc:
16
+ R_CRIS_16_PCREL = 5 # :nodoc:
17
+ R_CRIS_32_PCREL = 6 # :nodoc:
18
+ R_CRIS_GNU_VTINHERIT = 7 # :nodoc:
19
+ R_CRIS_GNU_VTENTRY = 8 # :nodoc:
20
+ R_CRIS_COPY = 9 # :nodoc:
21
+ R_CRIS_GLOB_DAT = 10 # :nodoc:
22
+ R_CRIS_JUMP_SLOT = 11 # :nodoc:
23
+ R_CRIS_RELATIVE = 12 # :nodoc:
24
+ R_CRIS_16_GOT = 13 # :nodoc:
25
+ R_CRIS_32_GOT = 14 # :nodoc:
26
+ R_CRIS_16_GOTPLT = 15 # :nodoc:
27
+ R_CRIS_32_GOTPLT = 16 # :nodoc:
28
+ R_CRIS_32_GOTREL = 17 # :nodoc:
29
+ R_CRIS_32_PLT_GOTREL = 18 # :nodoc:
30
+ R_CRIS_32_PLT_PCREL = 19 # :nodoc:
31
+ R_CRIS_32_GOT_GD = 20 # :nodoc:
32
+ R_CRIS_16_GOT_GD = 21 # :nodoc:
33
+ R_CRIS_32_GD = 22 # :nodoc:
34
+ R_CRIS_DTP = 23 # :nodoc:
35
+ R_CRIS_32_DTPREL = 24 # :nodoc:
36
+ R_CRIS_16_DTPREL = 25 # :nodoc:
37
+ R_CRIS_32_GOT_TPREL = 26 # :nodoc:
38
+ R_CRIS_16_GOT_TPREL = 27 # :nodoc:
39
+ R_CRIS_32_TPREL = 28 # :nodoc:
40
+ R_CRIS_16_TPREL = 29 # :nodoc:
41
+ R_CRIS_DTPMOD = 30 # :nodoc:
42
+ R_CRIS_32_IE = 31 # :nodoc:
43
+ end
44
+ end
45
+ end
46
+ end
@@ -0,0 +1,35 @@
1
+ # frozen_string_literal: true
2
+
3
+ # This file is generated by `bundle exec rake gen:constants`, do not edit it.
4
+ # Source: https://sourceware.org/cgit/binutils-gdb/tree/include/elf
5
+
6
+ module ELFTools
7
+ module Constants
8
+ module R
9
+ # Relocation types of CRX.
10
+ module CRX
11
+ R_CRX_NONE = 0 # :nodoc:
12
+ R_CRX_REL4 = 1 # :nodoc:
13
+ R_CRX_REL8 = 2 # :nodoc:
14
+ R_CRX_REL8_CMP = 3 # :nodoc:
15
+ R_CRX_REL16 = 4 # :nodoc:
16
+ R_CRX_REL24 = 5 # :nodoc:
17
+ R_CRX_REL32 = 6 # :nodoc:
18
+ R_CRX_REGREL12 = 7 # :nodoc:
19
+ R_CRX_REGREL22 = 8 # :nodoc:
20
+ R_CRX_REGREL28 = 9 # :nodoc:
21
+ R_CRX_REGREL32 = 10 # :nodoc:
22
+ R_CRX_ABS16 = 11 # :nodoc:
23
+ R_CRX_ABS32 = 12 # :nodoc:
24
+ R_CRX_NUM8 = 13 # :nodoc:
25
+ R_CRX_NUM16 = 14 # :nodoc:
26
+ R_CRX_NUM32 = 15 # :nodoc:
27
+ R_CRX_IMM16 = 16 # :nodoc:
28
+ R_CRX_IMM32 = 17 # :nodoc:
29
+ R_CRX_SWITCH8 = 18 # :nodoc:
30
+ R_CRX_SWITCH16 = 19 # :nodoc:
31
+ R_CRX_SWITCH32 = 20 # :nodoc:
32
+ end
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,79 @@
1
+ # frozen_string_literal: true
2
+
3
+ # This file is generated by `bundle exec rake gen:constants`, do not edit it.
4
+ # Source: https://sourceware.org/cgit/binutils-gdb/tree/include/elf
5
+
6
+ module ELFTools
7
+ module Constants
8
+ module R
9
+ # Relocation types of CSKY.
10
+ module CSKY
11
+ R_CKCORE_NONE = 0 # :nodoc:
12
+ R_CKCORE_ADDR32 = 1 # :nodoc:
13
+ R_CKCORE_PCREL_IMM8BY4 = 2 # :nodoc:
14
+ R_CKCORE_PCREL_IMM11BY2 = 3 # :nodoc:
15
+ R_CKCORE_PCREL_IMM4BY2 = 4 # :nodoc:
16
+ R_CKCORE_PCREL32 = 5 # :nodoc:
17
+ R_CKCORE_PCREL_JSR_IMM11BY2 = 6 # :nodoc:
18
+ R_CKCORE_GNU_VTINHERIT = 7 # :nodoc:
19
+ R_CKCORE_GNU_VTENTRY = 8 # :nodoc:
20
+ R_CKCORE_RELATIVE = 9 # :nodoc:
21
+ R_CKCORE_COPY = 10 # :nodoc:
22
+ R_CKCORE_GLOB_DAT = 11 # :nodoc:
23
+ R_CKCORE_JUMP_SLOT = 12 # :nodoc:
24
+ R_CKCORE_GOTOFF = 13 # :nodoc:
25
+ R_CKCORE_GOTPC = 14 # :nodoc:
26
+ R_CKCORE_GOT32 = 15 # :nodoc:
27
+ R_CKCORE_PLT32 = 16 # :nodoc:
28
+ R_CKCORE_ADDRGOT = 17 # :nodoc:
29
+ R_CKCORE_ADDRPLT = 18 # :nodoc:
30
+ R_CKCORE_PCREL_IMM26BY2 = 19 # :nodoc:
31
+ R_CKCORE_PCREL_IMM16BY2 = 20 # :nodoc:
32
+ R_CKCORE_PCREL_IMM16BY4 = 21 # :nodoc:
33
+ R_CKCORE_PCREL_IMM10BY2 = 22 # :nodoc:
34
+ R_CKCORE_PCREL_IMM10BY4 = 23 # :nodoc:
35
+ R_CKCORE_ADDR_HI16 = 24 # :nodoc:
36
+ R_CKCORE_ADDR_LO16 = 25 # :nodoc:
37
+ R_CKCORE_GOTPC_HI16 = 26 # :nodoc:
38
+ R_CKCORE_GOTPC_LO16 = 27 # :nodoc:
39
+ R_CKCORE_GOTOFF_HI16 = 28 # :nodoc:
40
+ R_CKCORE_GOTOFF_LO16 = 29 # :nodoc:
41
+ R_CKCORE_GOT12 = 30 # :nodoc:
42
+ R_CKCORE_GOT_HI16 = 31 # :nodoc:
43
+ R_CKCORE_GOT_LO16 = 32 # :nodoc:
44
+ R_CKCORE_PLT12 = 33 # :nodoc:
45
+ R_CKCORE_PLT_HI16 = 34 # :nodoc:
46
+ R_CKCORE_PLT_LO16 = 35 # :nodoc:
47
+ R_CKCORE_ADDRGOT_HI16 = 36 # :nodoc:
48
+ R_CKCORE_ADDRGOT_LO16 = 37 # :nodoc:
49
+ R_CKCORE_ADDRPLT_HI16 = 38 # :nodoc:
50
+ R_CKCORE_ADDRPLT_LO16 = 39 # :nodoc:
51
+ R_CKCORE_PCREL_JSR_IMM26BY2 = 40 # :nodoc:
52
+ R_CKCORE_TOFFSET_LO16 = 41 # :nodoc:
53
+ R_CKCORE_DOFFSET_LO16 = 42 # :nodoc:
54
+ R_CKCORE_PCREL_IMM18BY2 = 43 # :nodoc:
55
+ R_CKCORE_DOFFSET_IMM18 = 44 # :nodoc:
56
+ R_CKCORE_DOFFSET_IMM18BY2 = 45 # :nodoc:
57
+ R_CKCORE_DOFFSET_IMM18BY4 = 46 # :nodoc:
58
+ R_CKCORE_GOTOFF_IMM18 = 47 # :nodoc:
59
+ R_CKCORE_GOT_IMM18BY4 = 48 # :nodoc:
60
+ R_CKCORE_PLT_IMM18BY4 = 49 # :nodoc:
61
+ R_CKCORE_PCREL_IMM7BY4 = 50 # :nodoc:
62
+ R_CKCORE_TLS_LE32 = 51 # :nodoc:
63
+ R_CKCORE_TLS_IE32 = 52 # :nodoc:
64
+ R_CKCORE_TLS_GD32 = 53 # :nodoc:
65
+ R_CKCORE_TLS_LDM32 = 54 # :nodoc:
66
+ R_CKCORE_TLS_LDO32 = 55 # :nodoc:
67
+ R_CKCORE_TLS_DTPMOD32 = 56 # :nodoc:
68
+ R_CKCORE_TLS_DTPOFF32 = 57 # :nodoc:
69
+ R_CKCORE_TLS_TPOFF32 = 58 # :nodoc:
70
+ R_CKCORE_PCREL_FLRW_IMM8BY4 = 59 # :nodoc:
71
+ R_CKCORE_NOJSRI = 60 # :nodoc:
72
+ R_CKCORE_CALLGRAPH = 61 # :nodoc:
73
+ R_CKCORE_IRELATIVE = 62 # :nodoc:
74
+ R_CKCORE_PCREL_BLOOP_IMM4BY4 = 63 # :nodoc:
75
+ R_CKCORE_PCREL_BLOOP_IMM12BY4 = 64 # :nodoc:
76
+ end
77
+ end
78
+ end
79
+ end
@@ -0,0 +1,23 @@
1
+ # frozen_string_literal: true
2
+
3
+ # This file is generated by `bundle exec rake gen:constants`, do not edit it.
4
+ # Source: https://sourceware.org/cgit/binutils-gdb/tree/include/elf
5
+
6
+ module ELFTools
7
+ module Constants
8
+ module R
9
+ # Relocation types of D10V.
10
+ module D10V
11
+ R_D10V_NONE = 0 # :nodoc:
12
+ R_D10V_10_PCREL_R = 1 # :nodoc:
13
+ R_D10V_10_PCREL_L = 2 # :nodoc:
14
+ R_D10V_16 = 3 # :nodoc:
15
+ R_D10V_18 = 4 # :nodoc:
16
+ R_D10V_18_PCREL = 5 # :nodoc:
17
+ R_D10V_32 = 6 # :nodoc:
18
+ R_D10V_GNU_VTINHERIT = 7 # :nodoc:
19
+ R_D10V_GNU_VTENTRY = 8 # :nodoc:
20
+ end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,27 @@
1
+ # frozen_string_literal: true
2
+
3
+ # This file is generated by `bundle exec rake gen:constants`, do not edit it.
4
+ # Source: https://sourceware.org/cgit/binutils-gdb/tree/include/elf
5
+
6
+ module ELFTools
7
+ module Constants
8
+ module R
9
+ # Relocation types of D30V.
10
+ module D30V
11
+ R_D30V_NONE = 0 # :nodoc:
12
+ R_D30V_6 = 1 # :nodoc:
13
+ R_D30V_9_PCREL = 2 # :nodoc:
14
+ R_D30V_9_PCREL_R = 3 # :nodoc:
15
+ R_D30V_15 = 4 # :nodoc:
16
+ R_D30V_15_PCREL = 5 # :nodoc:
17
+ R_D30V_15_PCREL_R = 6 # :nodoc:
18
+ R_D30V_21 = 7 # :nodoc:
19
+ R_D30V_21_PCREL = 8 # :nodoc:
20
+ R_D30V_21_PCREL_R = 9 # :nodoc:
21
+ R_D30V_32 = 10 # :nodoc:
22
+ R_D30V_32_PCREL = 11 # :nodoc:
23
+ R_D30V_32_NORMAL = 12 # :nodoc:
24
+ end
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ # This file is generated by `bundle exec rake gen:constants`, do not edit it.
4
+ # Source: https://sourceware.org/cgit/binutils-gdb/tree/include/elf
5
+
6
+ module ELFTools
7
+ module Constants
8
+ module R
9
+ # Relocation types of DLX.
10
+ module DLX
11
+ R_DLX_NONE = 0 # :nodoc:
12
+ R_DLX_RELOC_8 = 1 # :nodoc:
13
+ R_DLX_RELOC_16 = 2 # :nodoc:
14
+ R_DLX_RELOC_32 = 3 # :nodoc:
15
+ R_DLX_GNU_VTINHERIT = 4 # :nodoc:
16
+ R_DLX_GNU_VTENTRY = 5 # :nodoc:
17
+ R_DLX_RELOC_16_HI = 6 # :nodoc:
18
+ R_DLX_RELOC_16_LO = 7 # :nodoc:
19
+ R_DLX_RELOC_16_PCREL = 8 # :nodoc:
20
+ R_DLX_RELOC_26_PCREL = 9 # :nodoc:
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,28 @@
1
+ # frozen_string_literal: true
2
+
3
+ # This file is generated by `bundle exec rake gen:constants`, do not edit it.
4
+ # Source: https://sourceware.org/cgit/binutils-gdb/tree/include/elf
5
+
6
+ module ELFTools
7
+ module Constants
8
+ module R
9
+ # Relocation types of EPIPHANY.
10
+ module EPIPHANY
11
+ R_EPIPHANY_NONE = 0 # :nodoc:
12
+ R_EPIPHANY_8 = 1 # :nodoc:
13
+ R_EPIPHANY_16 = 2 # :nodoc:
14
+ R_EPIPHANY_32 = 3 # :nodoc:
15
+ R_EPIPHANY_8_PCREL = 4 # :nodoc:
16
+ R_EPIPHANY_16_PCREL = 5 # :nodoc:
17
+ R_EPIPHANY_32_PCREL = 6 # :nodoc:
18
+ R_EPIPHANY_SIMM8 = 7 # :nodoc:
19
+ R_EPIPHANY_SIMM24 = 8 # :nodoc:
20
+ R_EPIPHANY_HIGH = 9 # :nodoc:
21
+ R_EPIPHANY_LOW = 10 # :nodoc:
22
+ R_EPIPHANY_SIMM11 = 11 # :nodoc:
23
+ R_EPIPHANY_IMM11 = 12 # :nodoc:
24
+ R_EPIPHANY_IMM8 = 13 # :nodoc:
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,27 @@
1
+ # frozen_string_literal: true
2
+
3
+ # This file is generated by `bundle exec rake gen:constants`, do not edit it.
4
+ # Source: https://sourceware.org/cgit/binutils-gdb/tree/include/elf
5
+
6
+ module ELFTools
7
+ module Constants
8
+ module R
9
+ # Relocation types of FR30.
10
+ module FR30
11
+ R_FR30_NONE = 0 # :nodoc:
12
+ R_FR30_8 = 1 # :nodoc:
13
+ R_FR30_20 = 2 # :nodoc:
14
+ R_FR30_32 = 3 # :nodoc:
15
+ R_FR30_48 = 4 # :nodoc:
16
+ R_FR30_6_IN_4 = 5 # :nodoc:
17
+ R_FR30_8_IN_8 = 6 # :nodoc:
18
+ R_FR30_9_IN_8 = 7 # :nodoc:
19
+ R_FR30_10_IN_8 = 8 # :nodoc:
20
+ R_FR30_9_PCREL = 9 # :nodoc:
21
+ R_FR30_12_PCREL = 10 # :nodoc:
22
+ R_FR30_GNU_VTINHERIT = 11 # :nodoc:
23
+ R_FR30_GNU_VTENTRY = 12 # :nodoc:
24
+ end
25
+ end
26
+ end
27
+ end