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,125 @@
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 MIPS.
10
+ module MIPS
11
+ R_MIPS_NONE = 0 # :nodoc:
12
+ R_MIPS_16 = 1 # :nodoc:
13
+ R_MIPS_32 = 2 # In Elf 64: alias R_MIPS_ADD
14
+ R_MIPS_REL32 = 3 # In Elf 64: alias R_MIPS_REL
15
+ R_MIPS_26 = 4 # :nodoc:
16
+ R_MIPS_HI16 = 5 # :nodoc:
17
+ R_MIPS_LO16 = 6 # :nodoc:
18
+ R_MIPS_GPREL16 = 7 # In Elf 64: alias R_MIPS_GPREL
19
+ R_MIPS_LITERAL = 8 # :nodoc:
20
+ R_MIPS_GOT16 = 9 # In Elf 64: alias R_MIPS_GOT
21
+ R_MIPS_PC16 = 10 # :nodoc:
22
+ R_MIPS_CALL16 = 11 # In Elf 64: alias R_MIPS_CALL
23
+ R_MIPS_GPREL32 = 12 # :nodoc:
24
+ R_MIPS_UNUSED1 = 13 # :nodoc:
25
+ R_MIPS_UNUSED2 = 14 # :nodoc:
26
+ R_MIPS_UNUSED3 = 15 # :nodoc:
27
+ R_MIPS_SHIFT5 = 16 # :nodoc:
28
+ R_MIPS_SHIFT6 = 17 # :nodoc:
29
+ R_MIPS_64 = 18 # :nodoc:
30
+ R_MIPS_GOT_DISP = 19 # :nodoc:
31
+ R_MIPS_GOT_PAGE = 20 # :nodoc:
32
+ R_MIPS_GOT_OFST = 21 # :nodoc:
33
+ R_MIPS_GOT_HI16 = 22 # :nodoc:
34
+ R_MIPS_GOT_LO16 = 23 # :nodoc:
35
+ R_MIPS_SUB = 24 # :nodoc:
36
+ R_MIPS_INSERT_A = 25 # :nodoc:
37
+ R_MIPS_INSERT_B = 26 # :nodoc:
38
+ R_MIPS_DELETE = 27 # :nodoc:
39
+ R_MIPS_HIGHER = 28 # :nodoc:
40
+ R_MIPS_HIGHEST = 29 # :nodoc:
41
+ R_MIPS_CALL_HI16 = 30 # :nodoc:
42
+ R_MIPS_CALL_LO16 = 31 # :nodoc:
43
+ R_MIPS_SCN_DISP = 32 # :nodoc:
44
+ R_MIPS_REL16 = 33 # :nodoc:
45
+ R_MIPS_ADD_IMMEDIATE = 34 # :nodoc:
46
+ R_MIPS_PJUMP = 35 # :nodoc:
47
+ R_MIPS_RELGOT = 36 # :nodoc:
48
+ R_MIPS_JALR = 37 # :nodoc:
49
+ R_MIPS_TLS_DTPMOD32 = 38 # :nodoc:
50
+ R_MIPS_TLS_DTPREL32 = 39 # :nodoc:
51
+ R_MIPS_TLS_DTPMOD64 = 40 # :nodoc:
52
+ R_MIPS_TLS_DTPREL64 = 41 # :nodoc:
53
+ R_MIPS_TLS_GD = 42 # :nodoc:
54
+ R_MIPS_TLS_LDM = 43 # :nodoc:
55
+ R_MIPS_TLS_DTPREL_HI16 = 44 # :nodoc:
56
+ R_MIPS_TLS_DTPREL_LO16 = 45 # :nodoc:
57
+ R_MIPS_TLS_GOTTPREL = 46 # :nodoc:
58
+ R_MIPS_TLS_TPREL32 = 47 # :nodoc:
59
+ R_MIPS_TLS_TPREL64 = 48 # :nodoc:
60
+ R_MIPS_TLS_TPREL_HI16 = 49 # :nodoc:
61
+ R_MIPS_TLS_TPREL_LO16 = 50 # :nodoc:
62
+ R_MIPS_GLOB_DAT = 51 # :nodoc:
63
+ R_MIPS_PC21_S2 = 60 # :nodoc:
64
+ R_MIPS_PC26_S2 = 61 # :nodoc:
65
+ R_MIPS_PC18_S3 = 62 # :nodoc:
66
+ R_MIPS_PC19_S2 = 63 # :nodoc:
67
+ R_MIPS_PCHI16 = 64 # :nodoc:
68
+ R_MIPS_PCLO16 = 65 # :nodoc:
69
+ R_MIPS16_26 = 100 # :nodoc:
70
+ R_MIPS16_GPREL = 101 # :nodoc:
71
+ R_MIPS16_GOT16 = 102 # :nodoc:
72
+ R_MIPS16_CALL16 = 103 # :nodoc:
73
+ R_MIPS16_HI16 = 104 # :nodoc:
74
+ R_MIPS16_LO16 = 105 # :nodoc:
75
+ R_MIPS16_TLS_GD = 106 # :nodoc:
76
+ R_MIPS16_TLS_LDM = 107 # :nodoc:
77
+ R_MIPS16_TLS_DTPREL_HI16 = 108 # :nodoc:
78
+ R_MIPS16_TLS_DTPREL_LO16 = 109 # :nodoc:
79
+ R_MIPS16_TLS_GOTTPREL = 110 # :nodoc:
80
+ R_MIPS16_TLS_TPREL_HI16 = 111 # :nodoc:
81
+ R_MIPS16_TLS_TPREL_LO16 = 112 # :nodoc:
82
+ R_MIPS16_PC16_S1 = 113 # :nodoc:
83
+ R_MIPS_COPY = 126 # :nodoc:
84
+ R_MIPS_JUMP_SLOT = 127 # :nodoc:
85
+ R_MICROMIPS_26_S1 = 133 # :nodoc:
86
+ R_MICROMIPS_HI16 = 134 # :nodoc:
87
+ R_MICROMIPS_LO16 = 135 # :nodoc:
88
+ R_MICROMIPS_GPREL16 = 136 # :nodoc:
89
+ R_MICROMIPS_LITERAL = 137 # :nodoc:
90
+ R_MICROMIPS_GOT16 = 138 # :nodoc:
91
+ R_MICROMIPS_PC7_S1 = 139 # :nodoc:
92
+ R_MICROMIPS_PC10_S1 = 140 # :nodoc:
93
+ R_MICROMIPS_PC16_S1 = 141 # :nodoc:
94
+ R_MICROMIPS_CALL16 = 142 # :nodoc:
95
+ R_MICROMIPS_GOT_DISP = 145 # :nodoc:
96
+ R_MICROMIPS_GOT_PAGE = 146 # :nodoc:
97
+ R_MICROMIPS_GOT_OFST = 147 # :nodoc:
98
+ R_MICROMIPS_GOT_HI16 = 148 # :nodoc:
99
+ R_MICROMIPS_GOT_LO16 = 149 # :nodoc:
100
+ R_MICROMIPS_SUB = 150 # :nodoc:
101
+ R_MICROMIPS_HIGHER = 151 # :nodoc:
102
+ R_MICROMIPS_HIGHEST = 152 # :nodoc:
103
+ R_MICROMIPS_CALL_HI16 = 153 # :nodoc:
104
+ R_MICROMIPS_CALL_LO16 = 154 # :nodoc:
105
+ R_MICROMIPS_SCN_DISP = 155 # :nodoc:
106
+ R_MICROMIPS_JALR = 156 # :nodoc:
107
+ R_MICROMIPS_HI0_LO16 = 157 # :nodoc:
108
+ R_MICROMIPS_TLS_GD = 162 # :nodoc:
109
+ R_MICROMIPS_TLS_LDM = 163 # :nodoc:
110
+ R_MICROMIPS_TLS_DTPREL_HI16 = 164 # :nodoc:
111
+ R_MICROMIPS_TLS_DTPREL_LO16 = 165 # :nodoc:
112
+ R_MICROMIPS_TLS_GOTTPREL = 166 # :nodoc:
113
+ R_MICROMIPS_TLS_TPREL_HI16 = 169 # :nodoc:
114
+ R_MICROMIPS_TLS_TPREL_LO16 = 170 # :nodoc:
115
+ R_MICROMIPS_GPREL7_S2 = 172 # :nodoc:
116
+ R_MICROMIPS_PC23_S2 = 173 # :nodoc:
117
+ R_MIPS_PC32 = 248 # :nodoc:
118
+ R_MIPS_EH = 249 # :nodoc:
119
+ R_MIPS_GNU_REL16_S2 = 250 # :nodoc:
120
+ R_MIPS_GNU_VTINHERIT = 253 # :nodoc:
121
+ R_MIPS_GNU_VTENTRY = 254 # :nodoc:
122
+ end
123
+ end
124
+ end
125
+ 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 MMIX.
10
+ module MMIX
11
+ R_MMIX_NONE = 0 # :nodoc:
12
+ R_MMIX_8 = 1 # :nodoc:
13
+ R_MMIX_16 = 2 # :nodoc:
14
+ R_MMIX_24 = 3 # :nodoc:
15
+ R_MMIX_32 = 4 # :nodoc:
16
+ R_MMIX_64 = 5 # :nodoc:
17
+ R_MMIX_PC_8 = 6 # :nodoc:
18
+ R_MMIX_PC_16 = 7 # :nodoc:
19
+ R_MMIX_PC_24 = 8 # :nodoc:
20
+ R_MMIX_PC_32 = 9 # :nodoc:
21
+ R_MMIX_PC_64 = 10 # :nodoc:
22
+ R_MMIX_GNU_VTINHERIT = 11 # :nodoc:
23
+ R_MMIX_GNU_VTENTRY = 12 # :nodoc:
24
+ R_MMIX_GETA = 13 # :nodoc:
25
+ R_MMIX_GETA_1 = 14 # :nodoc:
26
+ R_MMIX_GETA_2 = 15 # :nodoc:
27
+ R_MMIX_GETA_3 = 16 # :nodoc:
28
+ R_MMIX_CBRANCH = 17 # :nodoc:
29
+ R_MMIX_CBRANCH_J = 18 # :nodoc:
30
+ R_MMIX_CBRANCH_1 = 19 # :nodoc:
31
+ R_MMIX_CBRANCH_2 = 20 # :nodoc:
32
+ R_MMIX_CBRANCH_3 = 21 # :nodoc:
33
+ R_MMIX_PUSHJ = 22 # :nodoc:
34
+ R_MMIX_PUSHJ_1 = 23 # :nodoc:
35
+ R_MMIX_PUSHJ_2 = 24 # :nodoc:
36
+ R_MMIX_PUSHJ_3 = 25 # :nodoc:
37
+ R_MMIX_JMP = 26 # :nodoc:
38
+ R_MMIX_JMP_1 = 27 # :nodoc:
39
+ R_MMIX_JMP_2 = 28 # :nodoc:
40
+ R_MMIX_JMP_3 = 29 # :nodoc:
41
+ R_MMIX_ADDR19 = 30 # :nodoc:
42
+ R_MMIX_ADDR27 = 31 # :nodoc:
43
+ R_MMIX_REG_OR_BYTE = 32 # :nodoc:
44
+ R_MMIX_REG = 33 # :nodoc:
45
+ R_MMIX_BASE_PLUS_OFFSET = 34 # :nodoc:
46
+ R_MMIX_LOCAL = 35 # :nodoc:
47
+ R_MMIX_PUSHJ_STUBBABLE = 36 # :nodoc:
48
+ end
49
+ end
50
+ end
51
+ end
@@ -0,0 +1,22 @@
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 MN10200.
10
+ module MN10200
11
+ R_MN10200_NONE = 0 # :nodoc:
12
+ R_MN10200_32 = 1 # :nodoc:
13
+ R_MN10200_16 = 2 # :nodoc:
14
+ R_MN10200_8 = 3 # :nodoc:
15
+ R_MN10200_24 = 4 # :nodoc:
16
+ R_MN10200_PCREL8 = 5 # :nodoc:
17
+ R_MN10200_PCREL16 = 6 # :nodoc:
18
+ R_MN10200_PCREL24 = 7 # :nodoc:
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,49 @@
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 MN10300.
10
+ module MN10300
11
+ R_MN10300_NONE = 0 # :nodoc:
12
+ R_MN10300_32 = 1 # :nodoc:
13
+ R_MN10300_16 = 2 # :nodoc:
14
+ R_MN10300_8 = 3 # :nodoc:
15
+ R_MN10300_PCREL32 = 4 # :nodoc:
16
+ R_MN10300_PCREL16 = 5 # :nodoc:
17
+ R_MN10300_PCREL8 = 6 # :nodoc:
18
+ R_MN10300_GNU_VTINHERIT = 7 # :nodoc:
19
+ R_MN10300_GNU_VTENTRY = 8 # :nodoc:
20
+ R_MN10300_24 = 9 # :nodoc:
21
+ R_MN10300_GOTPC32 = 10 # :nodoc:
22
+ R_MN10300_GOTPC16 = 11 # :nodoc:
23
+ R_MN10300_GOTOFF32 = 12 # :nodoc:
24
+ R_MN10300_GOTOFF24 = 13 # :nodoc:
25
+ R_MN10300_GOTOFF16 = 14 # :nodoc:
26
+ R_MN10300_PLT32 = 15 # :nodoc:
27
+ R_MN10300_PLT16 = 16 # :nodoc:
28
+ R_MN10300_GOT32 = 17 # :nodoc:
29
+ R_MN10300_GOT24 = 18 # :nodoc:
30
+ R_MN10300_GOT16 = 19 # :nodoc:
31
+ R_MN10300_COPY = 20 # :nodoc:
32
+ R_MN10300_GLOB_DAT = 21 # :nodoc:
33
+ R_MN10300_JMP_SLOT = 22 # :nodoc:
34
+ R_MN10300_RELATIVE = 23 # :nodoc:
35
+ R_MN10300_TLS_GD = 24 # :nodoc:
36
+ R_MN10300_TLS_LD = 25 # :nodoc:
37
+ R_MN10300_TLS_LDO = 26 # :nodoc:
38
+ R_MN10300_TLS_GOTIE = 27 # :nodoc:
39
+ R_MN10300_TLS_IE = 28 # :nodoc:
40
+ R_MN10300_TLS_LE = 29 # :nodoc:
41
+ R_MN10300_TLS_DTPMOD = 30 # :nodoc:
42
+ R_MN10300_TLS_DTPOFF = 31 # :nodoc:
43
+ R_MN10300_TLS_TPOFF = 32 # :nodoc:
44
+ R_MN10300_SYM_DIFF = 33 # :nodoc:
45
+ R_MN10300_ALIGN = 34 # :nodoc:
46
+ end
47
+ end
48
+ end
49
+ end
@@ -0,0 +1,17 @@
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 MOXIE.
10
+ module MOXIE
11
+ R_MOXIE_NONE = 0 # :nodoc:
12
+ R_MOXIE_32 = 1 # :nodoc:
13
+ R_MOXIE_PCREL10 = 2 # :nodoc:
14
+ end
15
+ end
16
+ end
17
+ 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 MSP430.
10
+ module MSP430
11
+ R_MSP430_NONE = 0 # :nodoc:
12
+ R_MSP430_32 = 1 # :nodoc:
13
+ R_MSP430_10_PCREL = 2 # :nodoc:
14
+ R_MSP430_16 = 3 # :nodoc:
15
+ R_MSP430_16_PCREL = 4 # :nodoc:
16
+ R_MSP430_16_BYTE = 5 # :nodoc:
17
+ R_MSP430_16_PCREL_BYTE = 6 # :nodoc:
18
+ R_MSP430_2X_PCREL = 7 # :nodoc:
19
+ R_MSP430_RL_PCREL = 8 # :nodoc:
20
+ R_MSP430_8 = 9 # :nodoc:
21
+ R_MSP430_SYM_DIFF = 10 # :nodoc:
22
+ R_MSP430_GNU_SET_ULEB128 = 11 # GNU only
23
+ R_MSP430_GNU_SUB_ULEB128 = 12 # GNU only
24
+ end
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,37 @@
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 MSP430X.
10
+ module MSP430X
11
+ R_MSP430_ABS32 = 1 # aka R_MSP430_32
12
+ R_MSP430_ABS16 = 2 # aka R_MSP430_16
13
+ R_MSP430_ABS8 = 3 # :nodoc:
14
+ R_MSP430_PCR16 = 4 # aka R_MSP430_16_PCREL
15
+ R_MSP430X_PCR20_EXT_SRC = 5 # :nodoc:
16
+ R_MSP430X_PCR20_EXT_DST = 6 # :nodoc:
17
+ R_MSP430X_PCR20_EXT_ODST = 7 # :nodoc:
18
+ R_MSP430X_ABS20_EXT_SRC = 8 # :nodoc:
19
+ R_MSP430X_ABS20_EXT_DST = 9 # :nodoc:
20
+ R_MSP430X_ABS20_EXT_ODST = 10 # :nodoc:
21
+ R_MSP430X_ABS20_ADR_SRC = 11 # :nodoc:
22
+ R_MSP430X_ABS20_ADR_DST = 12 # :nodoc:
23
+ R_MSP430X_PCR16 = 13 # Like R_MSP430_PCR16 but with overflow checking
24
+ R_MSP430X_PCR20_CALL = 14 # :nodoc:
25
+ R_MSP430X_ABS16 = 15 # Like R_MSP430_ABS16 but with overflow checking
26
+ R_MSP430_ABS_HI16 = 16 # :nodoc:
27
+ R_MSP430_PREL31 = 17 # :nodoc:
28
+ R_MSP430_EHTYPE = 18 # Mentioned in ABI
29
+ R_MSP430X_10_PCREL = 19 # Red Hat invention. Used for Jump instructions
30
+ R_MSP430X_2X_PCREL = 20 # Red Hat invention. Used for relaxing jumps
31
+ R_MSP430X_SYM_DIFF = 21 # Red Hat invention. Used for relaxing debug info
32
+ R_MSP430X_GNU_SET_ULEB128 = 22 # GNU only
33
+ R_MSP430X_GNU_SUB_ULEB128 = 23 # GNU only
34
+ end
35
+ end
36
+ end
37
+ 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 MT.
10
+ module MT
11
+ R_MT_NONE = 0 # :nodoc:
12
+ R_MT_16 = 1 # :nodoc:
13
+ R_MT_32 = 2 # :nodoc:
14
+ R_MT_32_PCREL = 3 # :nodoc:
15
+ R_MT_PC16 = 4 # :nodoc:
16
+ R_MT_HI16 = 5 # :nodoc:
17
+ R_MT_LO16 = 6 # :nodoc:
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,167 @@
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 NDS32.
10
+ module NDS32
11
+ R_NDS32_NONE = 0 # :nodoc:
12
+ R_NDS32_16 = 1 # :nodoc:
13
+ R_NDS32_32 = 2 # :nodoc:
14
+ R_NDS32_20 = 3 # :nodoc:
15
+ R_NDS32_9_PCREL = 4 # :nodoc:
16
+ R_NDS32_15_PCREL = 5 # :nodoc:
17
+ R_NDS32_17_PCREL = 6 # :nodoc:
18
+ R_NDS32_25_PCREL = 7 # :nodoc:
19
+ R_NDS32_HI20 = 8 # :nodoc:
20
+ R_NDS32_LO12S3 = 9 # :nodoc:
21
+ R_NDS32_LO12S2 = 10 # :nodoc:
22
+ R_NDS32_LO12S1 = 11 # :nodoc:
23
+ R_NDS32_LO12S0 = 12 # :nodoc:
24
+ R_NDS32_SDA15S3 = 13 # :nodoc:
25
+ R_NDS32_SDA15S2 = 14 # :nodoc:
26
+ R_NDS32_SDA15S1 = 15 # :nodoc:
27
+ R_NDS32_SDA15S0 = 16 # :nodoc:
28
+ R_NDS32_GNU_VTINHERIT = 17 # :nodoc:
29
+ R_NDS32_GNU_VTENTRY = 18 # :nodoc:
30
+ R_NDS32_16_RELA = 19 # :nodoc:
31
+ R_NDS32_32_RELA = 20 # :nodoc:
32
+ R_NDS32_20_RELA = 21 # :nodoc:
33
+ R_NDS32_9_PCREL_RELA = 22 # :nodoc:
34
+ R_NDS32_15_PCREL_RELA = 23 # :nodoc:
35
+ R_NDS32_17_PCREL_RELA = 24 # :nodoc:
36
+ R_NDS32_25_PCREL_RELA = 25 # :nodoc:
37
+ R_NDS32_HI20_RELA = 26 # :nodoc:
38
+ R_NDS32_LO12S3_RELA = 27 # :nodoc:
39
+ R_NDS32_LO12S2_RELA = 28 # :nodoc:
40
+ R_NDS32_LO12S1_RELA = 29 # :nodoc:
41
+ R_NDS32_LO12S0_RELA = 30 # :nodoc:
42
+ R_NDS32_SDA15S3_RELA = 31 # :nodoc:
43
+ R_NDS32_SDA15S2_RELA = 32 # :nodoc:
44
+ R_NDS32_SDA15S1_RELA = 33 # :nodoc:
45
+ R_NDS32_SDA15S0_RELA = 34 # :nodoc:
46
+ R_NDS32_RELA_GNU_VTINHERIT = 35 # :nodoc:
47
+ R_NDS32_RELA_GNU_VTENTRY = 36 # :nodoc:
48
+ R_NDS32_GOT20 = 37 # :nodoc:
49
+ R_NDS32_25_PLTREL = 38 # :nodoc:
50
+ R_NDS32_COPY = 39 # :nodoc:
51
+ R_NDS32_GLOB_DAT = 40 # :nodoc:
52
+ R_NDS32_JMP_SLOT = 41 # :nodoc:
53
+ R_NDS32_RELATIVE = 42 # :nodoc:
54
+ R_NDS32_GOTOFF = 43 # :nodoc:
55
+ R_NDS32_GOTPC20 = 44 # :nodoc:
56
+ R_NDS32_GOT_HI20 = 45 # :nodoc:
57
+ R_NDS32_GOT_LO12 = 46 # :nodoc:
58
+ R_NDS32_GOTPC_HI20 = 47 # :nodoc:
59
+ R_NDS32_GOTPC_LO12 = 48 # :nodoc:
60
+ R_NDS32_GOTOFF_HI20 = 49 # :nodoc:
61
+ R_NDS32_GOTOFF_LO12 = 50 # :nodoc:
62
+ R_NDS32_INSN16 = 51 # :nodoc:
63
+ R_NDS32_LABEL = 52 # :nodoc:
64
+ R_NDS32_LONGCALL1 = 53 # This is obsoleted
65
+ R_NDS32_LONGCALL2 = 54 # This is obsoleted
66
+ R_NDS32_LONGCALL3 = 55 # This is obsoleted
67
+ R_NDS32_LONGJUMP1 = 56 # This is obsoleted
68
+ R_NDS32_LONGJUMP2 = 57 # This is obsoleted
69
+ R_NDS32_LONGJUMP3 = 58 # This is obsoleted
70
+ R_NDS32_LOADSTORE = 59 # This is obsoleted
71
+ R_NDS32_9_FIXED_RELA = 60 # :nodoc:
72
+ R_NDS32_15_FIXED_RELA = 61 # :nodoc:
73
+ R_NDS32_17_FIXED_RELA = 62 # :nodoc:
74
+ R_NDS32_25_FIXED_RELA = 63 # :nodoc:
75
+ R_NDS32_PLTREL_HI20 = 64 # This is obsoleted
76
+ R_NDS32_PLTREL_LO12 = 65 # This is obsoleted
77
+ R_NDS32_PLT_GOTREL_HI20 = 66 # :nodoc:
78
+ R_NDS32_PLT_GOTREL_LO12 = 67 # :nodoc:
79
+ R_NDS32_SDA12S2_DP_RELA = 68 # :nodoc:
80
+ R_NDS32_SDA12S2_SP_RELA = 69 # :nodoc:
81
+ R_NDS32_LO12S2_DP_RELA = 70 # :nodoc:
82
+ R_NDS32_LO12S2_SP_RELA = 71 # :nodoc:
83
+ R_NDS32_LO12S0_ORI_RELA = 72 # :nodoc:
84
+ R_NDS32_SDA16S3_RELA = 73 # :nodoc:
85
+ R_NDS32_SDA17S2_RELA = 74 # :nodoc:
86
+ R_NDS32_SDA18S1_RELA = 75 # :nodoc:
87
+ R_NDS32_SDA19S0_RELA = 76 # :nodoc:
88
+ R_NDS32_DWARF2_OP1_RELA = 77 # This is obsoleted
89
+ R_NDS32_DWARF2_OP2_RELA = 78 # This is obsoleted
90
+ R_NDS32_DWARF2_LEB_RELA = 79 # This is obsoleted
91
+ R_NDS32_UPDATE_TA_RELA = 80 # This is obsoleted
92
+ R_NDS32_9_PLTREL = 81 # :nodoc:
93
+ R_NDS32_PLT_GOTREL_LO20 = 82 # :nodoc:
94
+ R_NDS32_PLT_GOTREL_LO15 = 83 # :nodoc:
95
+ R_NDS32_PLT_GOTREL_LO19 = 84 # :nodoc:
96
+ R_NDS32_GOT_LO15 = 85 # :nodoc:
97
+ R_NDS32_GOT_LO19 = 86 # :nodoc:
98
+ R_NDS32_GOTOFF_LO15 = 87 # :nodoc:
99
+ R_NDS32_GOTOFF_LO19 = 88 # :nodoc:
100
+ R_NDS32_GOT15S2_RELA = 89 # :nodoc:
101
+ R_NDS32_GOT17S2_RELA = 90 # :nodoc:
102
+ R_NDS32_5_RELA = 91 # :nodoc:
103
+ R_NDS32_10_UPCREL_RELA = 92 # This is obsoleted
104
+ R_NDS32_SDA_FP7U2_RELA = 93 # :nodoc:
105
+ R_NDS32_WORD_9_PCREL_RELA = 94 # :nodoc:
106
+ R_NDS32_25_ABS_RELA = 95 # :nodoc:
107
+ R_NDS32_17IFC_PCREL_RELA = 96 # This is obsoleted
108
+ R_NDS32_10IFCU_PCREL_RELA = 97 # This is obsoleted
109
+ R_NDS32_TLS_LE_HI20 = 98 # :nodoc:
110
+ R_NDS32_TLS_LE_LO12 = 99 # :nodoc:
111
+ R_NDS32_TLS_IE_HI20 = 100 # :nodoc:
112
+ R_NDS32_TLS_IE_LO12S2 = 101 # :nodoc:
113
+ R_NDS32_TLS_TPOFF = 102 # :nodoc:
114
+ R_NDS32_TLS_LE_20 = 103 # :nodoc:
115
+ R_NDS32_TLS_LE_15S0 = 104 # :nodoc:
116
+ R_NDS32_TLS_LE_15S1 = 105 # :nodoc:
117
+ R_NDS32_TLS_LE_15S2 = 106 # :nodoc:
118
+ R_NDS32_LONGCALL4 = 107 # :nodoc:
119
+ R_NDS32_LONGCALL5 = 108 # :nodoc:
120
+ R_NDS32_LONGCALL6 = 109 # :nodoc:
121
+ R_NDS32_LONGJUMP4 = 110 # :nodoc:
122
+ R_NDS32_LONGJUMP5 = 111 # :nodoc:
123
+ R_NDS32_LONGJUMP6 = 112 # :nodoc:
124
+ R_NDS32_LONGJUMP7 = 113 # :nodoc:
125
+ R_NDS32_TLS_IE_LO12 = 115 # :nodoc:
126
+ R_NDS32_TLS_IEGP_HI20 = 116 # :nodoc:
127
+ R_NDS32_TLS_IEGP_LO12 = 117 # :nodoc:
128
+ R_NDS32_TLS_IEGP_LO12S2 = 118 # :nodoc:
129
+ R_NDS32_TLS_DESC = 119 # :nodoc:
130
+ R_NDS32_TLS_DESC_HI20 = 120 # :nodoc:
131
+ R_NDS32_TLS_DESC_LO12 = 121 # :nodoc:
132
+ R_NDS32_TLS_DESC_20 = 122 # :nodoc:
133
+ R_NDS32_TLS_DESC_SDA17S2 = 123 # :nodoc:
134
+ R_NDS32_RELAX_ENTRY = 192 # :nodoc:
135
+ R_NDS32_GOT_SUFF = 193 # :nodoc:
136
+ R_NDS32_GOTOFF_SUFF = 194 # :nodoc:
137
+ R_NDS32_PLT_GOT_SUFF = 195 # :nodoc:
138
+ R_NDS32_MULCALL_SUFF = 196 # This is obsoleted
139
+ R_NDS32_PTR = 197 # :nodoc:
140
+ R_NDS32_PTR_COUNT = 198 # :nodoc:
141
+ R_NDS32_PTR_RESOLVED = 199 # :nodoc:
142
+ R_NDS32_PLTBLOCK = 200 # This is obsoleted
143
+ R_NDS32_RELAX_REGION_BEGIN = 201 # :nodoc:
144
+ R_NDS32_RELAX_REGION_END = 202 # :nodoc:
145
+ R_NDS32_MINUEND = 203 # :nodoc:
146
+ R_NDS32_SUBTRAHEND = 204 # :nodoc:
147
+ R_NDS32_DIFF8 = 205 # :nodoc:
148
+ R_NDS32_DIFF16 = 206 # :nodoc:
149
+ R_NDS32_DIFF32 = 207 # :nodoc:
150
+ R_NDS32_DIFF_ULEB128 = 208 # :nodoc:
151
+ R_NDS32_DATA = 209 # :nodoc:
152
+ R_NDS32_TRAN = 210 # :nodoc:
153
+ R_NDS32_TLS_LE_ADD = 211 # :nodoc:
154
+ R_NDS32_TLS_LE_LS = 212 # :nodoc:
155
+ R_NDS32_EMPTY = 213 # :nodoc:
156
+ R_NDS32_TLS_DESC_ADD = 214 # :nodoc:
157
+ R_NDS32_TLS_DESC_FUNC = 215 # :nodoc:
158
+ R_NDS32_TLS_DESC_CALL = 216 # :nodoc:
159
+ R_NDS32_TLS_DESC_MEM = 217 # :nodoc:
160
+ R_NDS32_RELAX_REMOVE = 218 # :nodoc:
161
+ R_NDS32_RELAX_GROUP = 219 # :nodoc:
162
+ R_NDS32_TLS_IEGP_LW = 220 # :nodoc:
163
+ R_NDS32_LSI = 221 # :nodoc:
164
+ end
165
+ end
166
+ end
167
+ end
@@ -0,0 +1,41 @@
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 NFP.
10
+ module NFP
11
+ R_NFP_NOTYPE = 0 # :nodoc:
12
+ R_NFP_W32LE = 1 # :nodoc:
13
+ R_NFP_SRC8_A = 2 # :nodoc:
14
+ R_NFP_SRC8_B = 3 # :nodoc:
15
+ R_NFP_IMMED8_I = 4 # :nodoc:
16
+ R_NFP_SC = 5 # :nodoc:
17
+ R_NFP_IMMED_LO16_I_A = 6 # :nodoc:
18
+ R_NFP_IMMED_LO16_I_B = 7 # :nodoc:
19
+ R_NFP_SRC7_B = 8 # :nodoc:
20
+ R_NFP_SRC7_A = 9 # :nodoc:
21
+ R_NFP_SRC8_I_B = 10 # :nodoc:
22
+ R_NFP_SRC8_I_A = 11 # :nodoc:
23
+ R_NFP_IMMED_HI16_I_A = 12 # :nodoc:
24
+ R_NFP_IMMED_HI16_I_B = 13 # :nodoc:
25
+ R_NFP_W64LE = 14 # :nodoc:
26
+ R_NFP_SH_INFO = 15 # :nodoc:
27
+ R_NFP_W32BE = 16 # :nodoc:
28
+ R_NFP_W64BE = 17 # :nodoc:
29
+ R_NFP_W32_29_24 = 18 # :nodoc:
30
+ R_NFP_W32LE_AND = 19 # :nodoc:
31
+ R_NFP_W32BE_AND = 20 # :nodoc:
32
+ R_NFP_W32LE_OR = 21 # :nodoc:
33
+ R_NFP_W32BE_OR = 22 # :nodoc:
34
+ R_NFP_W64LE_AND = 23 # :nodoc:
35
+ R_NFP_W64BE_AND = 24 # :nodoc:
36
+ R_NFP_W64LE_OR = 25 # :nodoc:
37
+ R_NFP_W64BE_OR = 26 # :nodoc:
38
+ end
39
+ end
40
+ end
41
+ 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 NFP3200.
10
+ module NFP3200
11
+ R_NFP3200_NOTYPE = 0 # :nodoc:
12
+ R_NFP3200_W32LE = 1 # :nodoc:
13
+ R_NFP3200_SRC8_A = 2 # :nodoc:
14
+ R_NFP3200_SRC8_B = 3 # :nodoc:
15
+ R_NFP3200_IMMED8_I = 4 # :nodoc:
16
+ R_NFP3200_SC = 5 # :nodoc:
17
+ R_NFP3200_IMMED_LO16_I_A = 6 # :nodoc:
18
+ R_NFP3200_IMMED_LO16_I_B = 7 # :nodoc:
19
+ R_NFP3200_SRC7_B = 8 # :nodoc:
20
+ R_NFP3200_SRC7_A = 9 # :nodoc:
21
+ R_NFP3200_SRC8_I_B = 10 # :nodoc:
22
+ R_NFP3200_SRC8_I_A = 11 # :nodoc:
23
+ R_NFP3200_IMMED_HI16_I_A = 12 # :nodoc:
24
+ R_NFP3200_IMMED_HI16_I_B = 13 # :nodoc:
25
+ R_NFP3200_RSVD_0 = 14 # :nodoc:
26
+ R_NFP3200_RSVD_1 = 15 # :nodoc:
27
+ R_NFP3200_RSVD_2 = 16 # :nodoc:
28
+ R_NFP3200_RSVD_3 = 17 # :nodoc:
29
+ R_NFP3200_RSVD_4 = 18 # :nodoc:
30
+ R_NFP3200_RSVD_5 = 19 # :nodoc:
31
+ R_NFP3200_RSVD_6 = 20 # :nodoc:
32
+ R_NFP3200_W64LE = 21 # :nodoc:
33
+ R_NFP3200_W32BE = 22 # :nodoc:
34
+ R_NFP3200_W64BE = 23 # :nodoc:
35
+ R_NFP3200_W32LE_AND = 24 # :nodoc:
36
+ R_NFP3200_W32BE_AND = 25 # :nodoc:
37
+ R_NFP3200_W32LE_OR = 26 # :nodoc:
38
+ R_NFP3200_W32BE_OR = 27 # :nodoc:
39
+ R_NFP3200_W64LE_AND = 28 # :nodoc:
40
+ R_NFP3200_W64BE_AND = 29 # :nodoc:
41
+ R_NFP3200_W64LE_OR = 30 # :nodoc:
42
+ R_NFP3200_W64BE_OR = 31 # :nodoc:
43
+ end
44
+ end
45
+ end
46
+ end