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,57 @@
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 FRV.
10
+ module FRV
11
+ R_FRV_NONE = 0 # :nodoc:
12
+ R_FRV_32 = 1 # :nodoc:
13
+ R_FRV_LABEL16 = 2 # :nodoc:
14
+ R_FRV_LABEL24 = 3 # :nodoc:
15
+ R_FRV_LO16 = 4 # :nodoc:
16
+ R_FRV_HI16 = 5 # :nodoc:
17
+ R_FRV_GPREL12 = 6 # :nodoc:
18
+ R_FRV_GPRELU12 = 7 # :nodoc:
19
+ R_FRV_GPREL32 = 8 # :nodoc:
20
+ R_FRV_GPRELHI = 9 # :nodoc:
21
+ R_FRV_GPRELLO = 10 # :nodoc:
22
+ R_FRV_GOT12 = 11 # :nodoc:
23
+ R_FRV_GOTHI = 12 # :nodoc:
24
+ R_FRV_GOTLO = 13 # :nodoc:
25
+ R_FRV_FUNCDESC = 14 # :nodoc:
26
+ R_FRV_FUNCDESC_GOT12 = 15 # :nodoc:
27
+ R_FRV_FUNCDESC_GOTHI = 16 # :nodoc:
28
+ R_FRV_FUNCDESC_GOTLO = 17 # :nodoc:
29
+ R_FRV_FUNCDESC_VALUE = 18 # :nodoc:
30
+ R_FRV_FUNCDESC_GOTOFF12 = 19 # :nodoc:
31
+ R_FRV_FUNCDESC_GOTOFFHI = 20 # :nodoc:
32
+ R_FRV_FUNCDESC_GOTOFFLO = 21 # :nodoc:
33
+ R_FRV_GOTOFF12 = 22 # :nodoc:
34
+ R_FRV_GOTOFFHI = 23 # :nodoc:
35
+ R_FRV_GOTOFFLO = 24 # :nodoc:
36
+ R_FRV_GETTLSOFF = 25 # :nodoc:
37
+ R_FRV_TLSDESC_VALUE = 26 # :nodoc:
38
+ R_FRV_GOTTLSDESC12 = 27 # :nodoc:
39
+ R_FRV_GOTTLSDESCHI = 28 # :nodoc:
40
+ R_FRV_GOTTLSDESCLO = 29 # :nodoc:
41
+ R_FRV_TLSMOFF12 = 30 # :nodoc:
42
+ R_FRV_TLSMOFFHI = 31 # :nodoc:
43
+ R_FRV_TLSMOFFLO = 32 # :nodoc:
44
+ R_FRV_GOTTLSOFF12 = 33 # :nodoc:
45
+ R_FRV_GOTTLSOFFHI = 34 # :nodoc:
46
+ R_FRV_GOTTLSOFFLO = 35 # :nodoc:
47
+ R_FRV_TLSOFF = 36 # :nodoc:
48
+ R_FRV_TLSDESC_RELAX = 37 # :nodoc:
49
+ R_FRV_GETTLSOFF_RELAX = 38 # :nodoc:
50
+ R_FRV_TLSOFF_RELAX = 39 # :nodoc:
51
+ R_FRV_TLSMOFF = 40 # :nodoc:
52
+ R_FRV_GNU_VTINHERIT = 200 # :nodoc:
53
+ R_FRV_GNU_VTENTRY = 201 # :nodoc:
54
+ end
55
+ end
56
+ end
57
+ 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 FT32.
10
+ module FT32
11
+ R_FT32_NONE = 0 # :nodoc:
12
+ R_FT32_32 = 1 # :nodoc:
13
+ R_FT32_16 = 2 # :nodoc:
14
+ R_FT32_8 = 3 # :nodoc:
15
+ R_FT32_10 = 4 # :nodoc:
16
+ R_FT32_20 = 5 # :nodoc:
17
+ R_FT32_17 = 6 # :nodoc:
18
+ R_FT32_18 = 7 # :nodoc:
19
+ R_FT32_RELAX = 8 # :nodoc:
20
+ R_FT32_SC0 = 9 # :nodoc:
21
+ R_FT32_SC1 = 10 # :nodoc:
22
+ R_FT32_15 = 11 # :nodoc:
23
+ R_FT32_DIFF32 = 12 # :nodoc:
24
+ end
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,69 @@
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 H8.
10
+ module H8
11
+ R_H8_NONE = 0 # :nodoc:
12
+ R_H8_DIR32 = 1 # :nodoc:
13
+ R_H8_DIR32_28 = 2 # :nodoc:
14
+ R_H8_DIR32_24 = 3 # :nodoc:
15
+ R_H8_DIR32_16 = 4 # :nodoc:
16
+ R_H8_DIR32U = 6 # :nodoc:
17
+ R_H8_DIR32U_28 = 7 # :nodoc:
18
+ R_H8_DIR32U_24 = 8 # :nodoc:
19
+ R_H8_DIR32U_20 = 9 # :nodoc:
20
+ R_H8_DIR32U_16 = 10 # :nodoc:
21
+ R_H8_DIR24 = 11 # :nodoc:
22
+ R_H8_DIR24_20 = 12 # :nodoc:
23
+ R_H8_DIR24_16 = 13 # :nodoc:
24
+ R_H8_DIR24U = 14 # :nodoc:
25
+ R_H8_DIR24U_20 = 15 # :nodoc:
26
+ R_H8_DIR24U_16 = 16 # :nodoc:
27
+ R_H8_DIR16 = 17 # :nodoc:
28
+ R_H8_DIR16U = 18 # :nodoc:
29
+ R_H8_DIR16S_32 = 19 # :nodoc:
30
+ R_H8_DIR16S_28 = 20 # :nodoc:
31
+ R_H8_DIR16S_24 = 21 # :nodoc:
32
+ R_H8_DIR16S_20 = 22 # :nodoc:
33
+ R_H8_DIR16S = 23 # :nodoc:
34
+ R_H8_DIR8 = 24 # :nodoc:
35
+ R_H8_DIR8U = 25 # :nodoc:
36
+ R_H8_DIR8Z_32 = 26 # :nodoc:
37
+ R_H8_DIR8Z_28 = 27 # :nodoc:
38
+ R_H8_DIR8Z_24 = 28 # :nodoc:
39
+ R_H8_DIR8Z_20 = 29 # :nodoc:
40
+ R_H8_DIR8Z_16 = 30 # :nodoc:
41
+ R_H8_PCREL16 = 31 # :nodoc:
42
+ R_H8_PCREL8 = 32 # :nodoc:
43
+ R_H8_BPOS = 33 # :nodoc:
44
+ R_H8_DIR16A8 = 59 # :nodoc:
45
+ R_H8_DIR16R8 = 60 # :nodoc:
46
+ R_H8_DIR24A8 = 61 # :nodoc:
47
+ R_H8_DIR24R8 = 62 # :nodoc:
48
+ R_H8_DIR32A16 = 63 # :nodoc:
49
+ R_H8_DISP32A16 = 64 # :nodoc:
50
+ R_H8_ABS32 = 65 # :nodoc:
51
+ R_H8_ABS32A16 = 127 # :nodoc:
52
+ R_H8_SYM = 128 # :nodoc:
53
+ R_H8_OPneg = 129 # :nodoc:
54
+ R_H8_OPadd = 130 # :nodoc:
55
+ R_H8_OPsub = 131 # :nodoc:
56
+ R_H8_OPmul = 132 # :nodoc:
57
+ R_H8_OPdiv = 133 # :nodoc:
58
+ R_H8_OPshla = 134 # :nodoc:
59
+ R_H8_OPshra = 135 # :nodoc:
60
+ R_H8_OPsctsize = 136 # :nodoc:
61
+ R_H8_OPhword = 137 # :nodoc:
62
+ R_H8_OPlword = 138 # :nodoc:
63
+ R_H8_OPhigh = 139 # :nodoc:
64
+ R_H8_OPlow = 140 # :nodoc:
65
+ R_H8_OPscttop = 141 # :nodoc:
66
+ end
67
+ end
68
+ end
69
+ end
@@ -0,0 +1,135 @@
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 HPPA.
10
+ module HPPA
11
+ R_PARISC_NONE = 0 # No reloc
12
+ R_PARISC_DIR32 = 1 # :nodoc:
13
+ R_PARISC_DIR21L = 2 # :nodoc:
14
+ R_PARISC_DIR17R = 3 # :nodoc:
15
+ R_PARISC_DIR17F = 4 # :nodoc:
16
+ R_PARISC_DIR14R = 6 # :nodoc:
17
+ R_PARISC_DIR14F = 7 # :nodoc:
18
+ R_PARISC_PCREL12F = 8 # :nodoc:
19
+ R_PARISC_PCREL32 = 9 # :nodoc:
20
+ R_PARISC_PCREL21L = 10 # :nodoc:
21
+ R_PARISC_PCREL17R = 11 # :nodoc:
22
+ R_PARISC_PCREL17F = 12 # :nodoc:
23
+ R_PARISC_PCREL17C = 13 # :nodoc:
24
+ R_PARISC_PCREL14R = 14 # :nodoc:
25
+ R_PARISC_PCREL14F = 15 # :nodoc:
26
+ R_PARISC_DPREL21L = 18 # :nodoc:
27
+ R_PARISC_DPREL14WR = 19 # :nodoc:
28
+ R_PARISC_DPREL14DR = 20 # :nodoc:
29
+ R_PARISC_DPREL14R = 22 # :nodoc:
30
+ R_PARISC_DPREL14F = 23 # :nodoc:
31
+ R_PARISC_DLTREL21L = 26 # :nodoc:
32
+ R_PARISC_DLTREL14R = 30 # :nodoc:
33
+ R_PARISC_DLTREL14F = 31 # :nodoc:
34
+ R_PARISC_DLTIND21L = 34 # :nodoc:
35
+ R_PARISC_DLTIND14R = 38 # :nodoc:
36
+ R_PARISC_DLTIND14F = 39 # :nodoc:
37
+ R_PARISC_SETBASE = 40 # :nodoc:
38
+ R_PARISC_SECREL32 = 41 # :nodoc:
39
+ R_PARISC_BASEREL21L = 42 # :nodoc:
40
+ R_PARISC_BASEREL17R = 43 # :nodoc:
41
+ R_PARISC_BASEREL17F = 44 # :nodoc:
42
+ R_PARISC_BASEREL14R = 46 # :nodoc:
43
+ R_PARISC_BASEREL14F = 47 # :nodoc:
44
+ R_PARISC_SEGBASE = 48 # :nodoc:
45
+ R_PARISC_SEGREL32 = 49 # :nodoc:
46
+ R_PARISC_PLTOFF21L = 50 # :nodoc:
47
+ R_PARISC_PLTOFF14R = 54 # :nodoc:
48
+ R_PARISC_PLTOFF14F = 55 # :nodoc:
49
+ R_PARISC_LTOFF_FPTR32 = 57 # :nodoc:
50
+ R_PARISC_LTOFF_FPTR21L = 58 # :nodoc:
51
+ R_PARISC_LTOFF_FPTR14R = 62 # :nodoc:
52
+ R_PARISC_FPTR64 = 64 # :nodoc:
53
+ R_PARISC_PLABEL32 = 65 # :nodoc:
54
+ R_PARISC_PLABEL21L = 66 # :nodoc:
55
+ R_PARISC_PLABEL14R = 70 # :nodoc:
56
+ R_PARISC_PCREL64 = 72 # :nodoc:
57
+ R_PARISC_PCREL22C = 73 # :nodoc:
58
+ R_PARISC_PCREL22F = 74 # :nodoc:
59
+ R_PARISC_PCREL14WR = 75 # :nodoc:
60
+ R_PARISC_PCREL14DR = 76 # :nodoc:
61
+ R_PARISC_PCREL16F = 77 # :nodoc:
62
+ R_PARISC_PCREL16WF = 78 # :nodoc:
63
+ R_PARISC_PCREL16DF = 79 # :nodoc:
64
+ R_PARISC_DIR64 = 80 # :nodoc:
65
+ R_PARISC_DIR14WR = 83 # :nodoc:
66
+ R_PARISC_DIR14DR = 84 # :nodoc:
67
+ R_PARISC_DIR16F = 85 # :nodoc:
68
+ R_PARISC_DIR16WF = 86 # :nodoc:
69
+ R_PARISC_DIR16DF = 87 # :nodoc:
70
+ R_PARISC_GPREL64 = 88 # :nodoc:
71
+ R_PARISC_DLTREL14WR = 91 # :nodoc:
72
+ R_PARISC_DLTREL14DR = 92 # :nodoc:
73
+ R_PARISC_GPREL16F = 93 # :nodoc:
74
+ R_PARISC_GPREL16WF = 94 # :nodoc:
75
+ R_PARISC_GPREL16DF = 95 # :nodoc:
76
+ R_PARISC_LTOFF64 = 96 # :nodoc:
77
+ R_PARISC_DLTIND14WR = 99 # :nodoc:
78
+ R_PARISC_DLTIND14DR = 100 # :nodoc:
79
+ R_PARISC_LTOFF16F = 101 # :nodoc:
80
+ R_PARISC_LTOFF16WF = 102 # :nodoc:
81
+ R_PARISC_LTOFF16DF = 103 # :nodoc:
82
+ R_PARISC_SECREL64 = 104 # :nodoc:
83
+ R_PARISC_BASEREL14WR = 107 # :nodoc:
84
+ R_PARISC_BASEREL14DR = 108 # :nodoc:
85
+ R_PARISC_SEGREL64 = 112 # :nodoc:
86
+ R_PARISC_PLTOFF14WR = 115 # :nodoc:
87
+ R_PARISC_PLTOFF14DR = 116 # :nodoc:
88
+ R_PARISC_PLTOFF16F = 117 # :nodoc:
89
+ R_PARISC_PLTOFF16WF = 118 # :nodoc:
90
+ R_PARISC_PLTOFF16DF = 119 # :nodoc:
91
+ R_PARISC_LTOFF_FPTR64 = 120 # :nodoc:
92
+ R_PARISC_LTOFF_FPTR14WR = 123 # :nodoc:
93
+ R_PARISC_LTOFF_FPTR14DR = 124 # :nodoc:
94
+ R_PARISC_LTOFF_FPTR16F = 125 # :nodoc:
95
+ R_PARISC_LTOFF_FPTR16WF = 126 # :nodoc:
96
+ R_PARISC_LTOFF_FPTR16DF = 127 # :nodoc:
97
+ R_PARISC_COPY = 128 # :nodoc:
98
+ R_PARISC_IPLT = 129 # :nodoc:
99
+ R_PARISC_EPLT = 130 # :nodoc:
100
+ R_PARISC_TPREL32 = 153 # :nodoc:
101
+ R_PARISC_TPREL21L = 154 # :nodoc:
102
+ R_PARISC_TPREL14R = 158 # :nodoc:
103
+ R_PARISC_LTOFF_TP21L = 162 # :nodoc:
104
+ R_PARISC_LTOFF_TP14R = 166 # :nodoc:
105
+ R_PARISC_LTOFF_TP14F = 167 # :nodoc:
106
+ R_PARISC_TPREL64 = 216 # :nodoc:
107
+ R_PARISC_TPREL14WR = 219 # :nodoc:
108
+ R_PARISC_TPREL14DR = 220 # :nodoc:
109
+ R_PARISC_TPREL16F = 221 # :nodoc:
110
+ R_PARISC_TPREL16WF = 222 # :nodoc:
111
+ R_PARISC_TPREL16DF = 223 # :nodoc:
112
+ R_PARISC_LTOFF_TP64 = 224 # :nodoc:
113
+ R_PARISC_LTOFF_TP14WR = 227 # :nodoc:
114
+ R_PARISC_LTOFF_TP14DR = 228 # :nodoc:
115
+ R_PARISC_LTOFF_TP16F = 229 # :nodoc:
116
+ R_PARISC_LTOFF_TP16WF = 230 # :nodoc:
117
+ R_PARISC_LTOFF_TP16DF = 231 # :nodoc:
118
+ R_PARISC_GNU_VTENTRY = 232 # :nodoc:
119
+ R_PARISC_GNU_VTINHERIT = 233 # :nodoc:
120
+ R_PARISC_TLS_GD21L = 234 # :nodoc:
121
+ R_PARISC_TLS_GD14R = 235 # :nodoc:
122
+ R_PARISC_TLS_GDCALL = 236 # :nodoc:
123
+ R_PARISC_TLS_LDM21L = 237 # :nodoc:
124
+ R_PARISC_TLS_LDM14R = 238 # :nodoc:
125
+ R_PARISC_TLS_LDMCALL = 239 # :nodoc:
126
+ R_PARISC_TLS_LDO21L = 240 # :nodoc:
127
+ R_PARISC_TLS_LDO14R = 241 # :nodoc:
128
+ R_PARISC_TLS_DTPMOD32 = 242 # :nodoc:
129
+ R_PARISC_TLS_DTPMOD64 = 243 # :nodoc:
130
+ R_PARISC_TLS_DTPOFF32 = 244 # :nodoc:
131
+ R_PARISC_TLS_DTPOFF64 = 245 # :nodoc:
132
+ end
133
+ end
134
+ end
135
+ end
@@ -0,0 +1,26 @@
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 I370.
10
+ module I370
11
+ R_I370_NONE = 0 # :nodoc:
12
+ R_I370_ADDR31 = 1 # :nodoc:
13
+ R_I370_ADDR32 = 2 # :nodoc:
14
+ R_I370_ADDR16 = 3 # :nodoc:
15
+ R_I370_REL31 = 4 # :nodoc:
16
+ R_I370_REL32 = 5 # :nodoc:
17
+ R_I370_ADDR12 = 6 # :nodoc:
18
+ R_I370_REL12 = 7 # :nodoc:
19
+ R_I370_ADDR8 = 8 # :nodoc:
20
+ R_I370_REL8 = 9 # :nodoc:
21
+ R_I370_COPY = 10 # :nodoc:
22
+ R_I370_RELATIVE = 11 # :nodoc:
23
+ end
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,59 @@
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 I386.
10
+ module I386
11
+ R_386_NONE = 0 # No reloc
12
+ R_386_32 = 1 # Direct 32 bit
13
+ R_386_PC32 = 2 # PC relative 32 bit
14
+ R_386_GOT32 = 3 # 32 bit GOT entry
15
+ R_386_PLT32 = 4 # 32 bit PLT address
16
+ R_386_COPY = 5 # Copy symbol at runtime
17
+ R_386_GLOB_DAT = 6 # Create GOT entry
18
+ R_386_JUMP_SLOT = 7 # Create PLT entry
19
+ R_386_RELATIVE = 8 # Adjust by program base
20
+ R_386_GOTOFF = 9 # 32 bit offset to GOT
21
+ R_386_GOTPC = 10 # 32 bit PC relative offset to GOT
22
+ R_386_32PLT = 11 # Used by Sun
23
+ R_386_TLS_TPOFF = 14 # :nodoc:
24
+ R_386_TLS_IE = 15 # :nodoc:
25
+ R_386_TLS_GOTIE = 16 # :nodoc:
26
+ R_386_TLS_LE = 17 # :nodoc:
27
+ R_386_TLS_GD = 18 # :nodoc:
28
+ R_386_TLS_LDM = 19 # :nodoc:
29
+ R_386_16 = 20 # :nodoc:
30
+ R_386_PC16 = 21 # :nodoc:
31
+ R_386_8 = 22 # :nodoc:
32
+ R_386_PC8 = 23 # :nodoc:
33
+ R_386_TLS_GD_32 = 24 # :nodoc:
34
+ R_386_TLS_GD_PUSH = 25 # :nodoc:
35
+ R_386_TLS_GD_CALL = 26 # :nodoc:
36
+ R_386_TLS_GD_POP = 27 # :nodoc:
37
+ R_386_TLS_LDM_32 = 28 # :nodoc:
38
+ R_386_TLS_LDM_PUSH = 29 # :nodoc:
39
+ R_386_TLS_LDM_CALL = 30 # :nodoc:
40
+ R_386_TLS_LDM_POP = 31 # :nodoc:
41
+ R_386_TLS_LDO_32 = 32 # :nodoc:
42
+ R_386_TLS_IE_32 = 33 # :nodoc:
43
+ R_386_TLS_LE_32 = 34 # :nodoc:
44
+ R_386_TLS_DTPMOD32 = 35 # :nodoc:
45
+ R_386_TLS_DTPOFF32 = 36 # :nodoc:
46
+ R_386_TLS_TPOFF32 = 37 # :nodoc:
47
+ R_386_SIZE32 = 38 # 32-bit symbol size
48
+ R_386_TLS_GOTDESC = 39 # :nodoc:
49
+ R_386_TLS_DESC_CALL = 40 # :nodoc:
50
+ R_386_TLS_DESC = 41 # :nodoc:
51
+ R_386_IRELATIVE = 42 # Adjust indirectly by program base
52
+ R_386_GOT32X = 43 # :nodoc:
53
+ R_386_USED_BY_INTEL_200 = 200 # :nodoc:
54
+ R_386_GNU_VTINHERIT = 250 # :nodoc:
55
+ R_386_GNU_VTENTRY = 251 # :nodoc:
56
+ end
57
+ end
58
+ end
59
+ end
@@ -0,0 +1,48 @@
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 I860.
10
+ module I860
11
+ R_860_NONE = 0 # No reloc
12
+ R_860_32 = 1 # S+A
13
+ R_860_COPY = 2 # No calculation
14
+ R_860_GLOB_DAT = 3 # S, Create GOT entry
15
+ R_860_JUMP_SLOT = 4 # S+A, Create PLT entry
16
+ R_860_RELATIVE = 5 # B+A, Adj by program base
17
+ R_860_PC26 = 48 # (S+A-P) >> 2
18
+ R_860_PLT26 = 49 # (L+A-P) >> 2
19
+ R_860_PC16 = 50 # (S+A-P) >> 2
20
+ R_860_LOW0 = 64 # S+A
21
+ R_860_SPLIT0 = 66 # S+A
22
+ R_860_LOW1 = 68 # S+A
23
+ R_860_SPLIT1 = 70 # S+A
24
+ R_860_LOW2 = 72 # S+A
25
+ R_860_SPLIT2 = 74 # S+A
26
+ R_860_LOW3 = 76 # S+A
27
+ R_860_LOGOT0 = 80 # G
28
+ R_860_SPGOT0 = 82 # G
29
+ R_860_LOGOT1 = 84 # G
30
+ R_860_SPGOT1 = 86 # G
31
+ R_860_LOGOTOFF0 = 96 # O
32
+ R_860_SPGOTOFF0 = 98 # O
33
+ R_860_LOGOTOFF1 = 100 # O
34
+ R_860_SPGOTOFF1 = 102 # O
35
+ R_860_LOGOTOFF2 = 104 # O
36
+ R_860_LOGOTOFF3 = 108 # O
37
+ R_860_LOPC = 112 # (S+A-P) >> 2
38
+ R_860_HIGHADJ = 128 # hiadj(S+A)
39
+ R_860_HAGOT = 144 # hiadj(G)
40
+ R_860_HAGOTOFF = 160 # hiadj(O)
41
+ R_860_HAPC = 176 # hiadj((S+A-P) >> 2)
42
+ R_860_HIGH = 192 # (S+A) >> 16
43
+ R_860_HIGOT = 208 # G >> 16
44
+ R_860_HIGOTOFF = 224 # O
45
+ end
46
+ end
47
+ end
48
+ 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 I960.
10
+ module I960
11
+ R_960_NONE = 0 # :nodoc:
12
+ R_960_12 = 1 # :nodoc:
13
+ R_960_32 = 2 # :nodoc:
14
+ R_960_IP24 = 3 # :nodoc:
15
+ R_960_SUB = 4 # :nodoc:
16
+ R_960_OPTCALL = 5 # :nodoc:
17
+ R_960_OPTCALLX = 6 # :nodoc:
18
+ R_960_OPTCALLXA = 7 # :nodoc:
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,117 @@
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 IA64.
10
+ module IA64
11
+ R_IA64_NONE = 0 # none
12
+ R_IA64_IMM14 = 33 # symbol + addend, add imm14
13
+ R_IA64_IMM22 = 34 # symbol + addend, add imm22
14
+ R_IA64_IMM64 = 35 # symbol + addend, mov imm64
15
+ R_IA64_DIR32MSB = 36 # symbol + addend, data4 MSB
16
+ R_IA64_DIR32LSB = 37 # symbol + addend, data4 LSB
17
+ R_IA64_DIR64MSB = 38 # symbol + addend, data8 MSB
18
+ R_IA64_DIR64LSB = 39 # symbol + addend, data8 LSB
19
+ R_IA64_GPREL22 = 42 # @gprel(sym+add), add imm22
20
+ R_IA64_GPREL64I = 43 # @gprel(sym+add), mov imm64
21
+ R_IA64_GPREL32MSB = 44 # @gprel(sym+add), data4 MSB
22
+ R_IA64_GPREL32LSB = 45 # @gprel(sym+add), data4 LSB
23
+ R_IA64_GPREL64MSB = 46 # @gprel(sym+add), data8 MSB
24
+ R_IA64_GPREL64LSB = 47 # @gprel(sym+add), data8 LSB
25
+ R_IA64_LTOFF22 = 50 # @ltoff(sym+add), add imm22
26
+ R_IA64_LTOFF64I = 51 # @ltoff(sym+add), mov imm64
27
+ R_IA64_PLTOFF22 = 58 # @pltoff(sym+add), add imm22
28
+ R_IA64_PLTOFF64I = 59 # @pltoff(sym+add), mov imm64
29
+ R_IA64_PLTOFF64MSB = 62 # @pltoff(sym+add), data8 MSB
30
+ R_IA64_PLTOFF64LSB = 63 # @pltoff(sym+add), data8 LSB
31
+ R_IA64_FPTR64I = 67 # @fptr(sym+add), mov imm64
32
+ R_IA64_FPTR32MSB = 68 # @fptr(sym+add), data4 MSB
33
+ R_IA64_FPTR32LSB = 69 # @fptr(sym+add), data4 LSB
34
+ R_IA64_FPTR64MSB = 70 # @fptr(sym+add), data8 MSB
35
+ R_IA64_FPTR64LSB = 71 # @fptr(sym+add), data8 LSB
36
+ R_IA64_PCREL60B = 72 # @pcrel(sym+add), brl
37
+ R_IA64_PCREL21B = 73 # @pcrel(sym+add), ptb, call
38
+ R_IA64_PCREL21M = 74 # @pcrel(sym+add), chk.s
39
+ R_IA64_PCREL21F = 75 # @pcrel(sym+add), fchkf
40
+ R_IA64_PCREL32MSB = 76 # @pcrel(sym+add), data4 MSB
41
+ R_IA64_PCREL32LSB = 77 # @pcrel(sym+add), data4 LSB
42
+ R_IA64_PCREL64MSB = 78 # @pcrel(sym+add), data8 MSB
43
+ R_IA64_PCREL64LSB = 79 # @pcrel(sym+add), data8 LSB
44
+ R_IA64_LTOFF_FPTR22 = 82 # @ltoff(@fptr(s+a)), imm22
45
+ R_IA64_LTOFF_FPTR64I = 83 # @ltoff(@fptr(s+a)), imm64
46
+ R_IA64_LTOFF_FPTR32MSB = 84 # @ltoff(@fptr(s+a)), 4 MSB
47
+ R_IA64_LTOFF_FPTR32LSB = 85 # @ltoff(@fptr(s+a)), 4 LSB
48
+ R_IA64_LTOFF_FPTR64MSB = 86 # @ltoff(@fptr(s+a)), 8 MSB
49
+ R_IA64_LTOFF_FPTR64LSB = 87 # @ltoff(@fptr(s+a)), 8 LSB
50
+ R_IA64_SEGREL32MSB = 92 # @segrel(sym+add), data4 MSB
51
+ R_IA64_SEGREL32LSB = 93 # @segrel(sym+add), data4 LSB
52
+ R_IA64_SEGREL64MSB = 94 # @segrel(sym+add), data8 MSB
53
+ R_IA64_SEGREL64LSB = 95 # @segrel(sym+add), data8 LSB
54
+ R_IA64_SECREL32MSB = 100 # @secrel(sym+add), data4 MSB
55
+ R_IA64_SECREL32LSB = 101 # @secrel(sym+add), data4 LSB
56
+ R_IA64_SECREL64MSB = 102 # @secrel(sym+add), data8 MSB
57
+ R_IA64_SECREL64LSB = 103 # @secrel(sym+add), data8 LSB
58
+ R_IA64_REL32MSB = 108 # data 4 + REL
59
+ R_IA64_REL32LSB = 109 # data 4 + REL
60
+ R_IA64_REL64MSB = 110 # data 8 + REL
61
+ R_IA64_REL64LSB = 111 # data 8 + REL
62
+ R_IA64_LTV32MSB = 116 # symbol + addend, data4 MSB
63
+ R_IA64_LTV32LSB = 117 # symbol + addend, data4 LSB
64
+ R_IA64_LTV64MSB = 118 # symbol + addend, data8 MSB
65
+ R_IA64_LTV64LSB = 119 # symbol + addend, data8 LSB
66
+ R_IA64_PCREL21BI = 121 # @pcrel(sym+add), ptb, call
67
+ R_IA64_PCREL22 = 122 # @pcrel(sym+add), imm22
68
+ R_IA64_PCREL64I = 123 # @pcrel(sym+add), imm64
69
+ R_IA64_IPLTMSB = 128 # dynamic reloc, imported PLT, MSB
70
+ R_IA64_IPLTLSB = 129 # dynamic reloc, imported PLT, LSB
71
+ R_IA64_COPY = 132 # dynamic reloc, data copy
72
+ R_IA64_LTOFF22X = 134 # LTOFF22, relaxable
73
+ R_IA64_LDXMOV = 135 # Use of LTOFF22X
74
+ R_IA64_TPREL14 = 145 # @tprel(sym+add), add imm14
75
+ R_IA64_TPREL22 = 146 # @tprel(sym+add), add imm22
76
+ R_IA64_TPREL64I = 147 # @tprel(sym+add), add imm64
77
+ R_IA64_TPREL64MSB = 150 # @tprel(sym+add), data8 MSB
78
+ R_IA64_TPREL64LSB = 151 # @tprel(sym+add), data8 LSB
79
+ R_IA64_LTOFF_TPREL22 = 154 # @ltoff(@tprel(s+a)), add imm22
80
+ R_IA64_DTPMOD64MSB = 166 # @dtpmod(sym+add), data8 MSB
81
+ R_IA64_DTPMOD64LSB = 167 # @dtpmod(sym+add), data8 LSB
82
+ R_IA64_LTOFF_DTPMOD22 = 170 # @ltoff(@dtpmod(s+a)), imm22
83
+ R_IA64_DTPREL14 = 177 # @dtprel(sym+add), imm14
84
+ R_IA64_DTPREL22 = 178 # @dtprel(sym+add), imm22
85
+ R_IA64_DTPREL64I = 179 # @dtprel(sym+add), imm64
86
+ R_IA64_DTPREL32MSB = 180 # @dtprel(sym+add), data4 MSB
87
+ R_IA64_DTPREL32LSB = 181 # @dtprel(sym+add), data4 LSB
88
+ R_IA64_DTPREL64MSB = 182 # @dtprel(sym+add), data8 MSB
89
+ R_IA64_DTPREL64LSB = 183 # @dtprel(sym+add), data8 LSB
90
+ R_IA64_LTOFF_DTPREL22 = 186 # @ltoff(@dtprel(s+a)), imm22
91
+ R_IA64_VMS_DIR8 = 1_879_048_192 # S + A
92
+ R_IA64_VMS_DIR16LSB = 1_879_048_193 # S + A
93
+ R_IA64_VMS_CALL_SIGNATURE = 1_879_048_194 # :nodoc:
94
+ R_IA64_VMS_EXECLET_FUNC = 1_879_048_195 # :nodoc:
95
+ R_IA64_VMS_EXECLET_DATA = 1_879_048_196 # :nodoc:
96
+ R_IA64_VMS_FIX8 = 1_879_048_197 # S + A
97
+ R_IA64_VMS_FIX16 = 1_879_048_198 # S + A
98
+ R_IA64_VMS_FIX32 = 1_879_048_199 # S + A
99
+ R_IA64_VMS_FIX64 = 1_879_048_200 # S + A
100
+ R_IA64_VMS_FIXFD = 1_879_048_201 # :nodoc:
101
+ R_IA64_VMS_ACC_LOAD = 1_879_048_202 # ACC = S + A
102
+ R_IA64_VMS_ACC_ADD = 1_879_048_203 # ACC += S + A
103
+ R_IA64_VMS_ACC_SUB = 1_879_048_204 # ACC -= S + A
104
+ R_IA64_VMS_ACC_MUL = 1_879_048_205 # ACC *= S + A
105
+ R_IA64_VMS_ACC_DIV = 1_879_048_206 # ACC /= S + A
106
+ R_IA64_VMS_ACC_AND = 1_879_048_207 # ACC &= S + A
107
+ R_IA64_VMS_ACC_IOR = 1_879_048_208 # ACC |= S + A
108
+ R_IA64_VMS_ACC_EOR = 1_879_048_209 # ACC ^= S + A
109
+ R_IA64_VMS_ACC_ASH = 1_879_048_210 # ACC >>= S + A
110
+ R_IA64_VMS_ACC_STO8 = 1_879_048_212 # ACC
111
+ R_IA64_VMS_ACC_STO16LSH = 1_879_048_213 # ACC
112
+ R_IA64_VMS_ACC_STO32LSH = 1_879_048_214 # ACC
113
+ R_IA64_VMS_ACC_STO64LSH = 1_879_048_215 # ACC
114
+ end
115
+ end
116
+ end
117
+ end
@@ -0,0 +1,29 @@
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 IP2K.
10
+ module IP2K
11
+ R_IP2K_NONE = 0 # :nodoc:
12
+ R_IP2K_16 = 1 # :nodoc:
13
+ R_IP2K_32 = 2 # :nodoc:
14
+ R_IP2K_FR9 = 3 # :nodoc:
15
+ R_IP2K_BANK = 4 # :nodoc:
16
+ R_IP2K_ADDR16CJP = 5 # :nodoc:
17
+ R_IP2K_PAGE3 = 6 # :nodoc:
18
+ R_IP2K_LO8DATA = 7 # :nodoc:
19
+ R_IP2K_HI8DATA = 8 # :nodoc:
20
+ R_IP2K_LO8INSN = 9 # :nodoc:
21
+ R_IP2K_HI8INSN = 10 # :nodoc:
22
+ R_IP2K_PC_SKIP = 11 # :nodoc:
23
+ R_IP2K_TEXT = 12 # :nodoc:
24
+ R_IP2K_FR_OFFSET = 13 # :nodoc:
25
+ R_IP2K_EX8DATA = 14 # :nodoc:
26
+ end
27
+ end
28
+ end
29
+ 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 IQ2000.
10
+ module IQ2000
11
+ R_IQ2000_NONE = 0 # :nodoc:
12
+ R_IQ2000_16 = 1 # :nodoc:
13
+ R_IQ2000_32 = 2 # :nodoc:
14
+ R_IQ2000_26 = 3 # :nodoc:
15
+ R_IQ2000_PC16 = 4 # :nodoc:
16
+ R_IQ2000_HI16 = 5 # :nodoc:
17
+ R_IQ2000_LO16 = 6 # :nodoc:
18
+ R_IQ2000_OFFSET_16 = 7 # :nodoc:
19
+ R_IQ2000_OFFSET_21 = 8 # :nodoc:
20
+ R_IQ2000_UHI16 = 9 # :nodoc:
21
+ R_IQ2000_32_DEBUG = 10 # :nodoc:
22
+ R_IQ2000_GNU_VTINHERIT = 200 # :nodoc:
23
+ R_IQ2000_GNU_VTENTRY = 201 # :nodoc:
24
+ end
25
+ end
26
+ end
27
+ end