annotate agent/src/share/classes/sun/jvm/hotspot/debugger/win32/coff/TypeIndicators.java @ 1913:3b2dea75431e

6984311: JSR 292 needs optional bootstrap method parameters Summary: Allow CONSTANT_InvokeDynamic nodes to have any number of extra operands. Reviewed-by: twisti
author jrose
date Sat, 30 Oct 2010 13:08:23 -0700
parents c18cbe5936b8
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
a61af66fc99e Initial load
duke
parents:
diff changeset
1 /*
1552
c18cbe5936b8 6941466: Oracle rebranding changes for Hotspot repositories
trims
parents: 0
diff changeset
2 * Copyright (c) 2000, Oracle and/or its affiliates. All rights reserved.
0
a61af66fc99e Initial load
duke
parents:
diff changeset
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
a61af66fc99e Initial load
duke
parents:
diff changeset
4 *
a61af66fc99e Initial load
duke
parents:
diff changeset
5 * This code is free software; you can redistribute it and/or modify it
a61af66fc99e Initial load
duke
parents:
diff changeset
6 * under the terms of the GNU General Public License version 2 only, as
a61af66fc99e Initial load
duke
parents:
diff changeset
7 * published by the Free Software Foundation.
a61af66fc99e Initial load
duke
parents:
diff changeset
8 *
a61af66fc99e Initial load
duke
parents:
diff changeset
9 * This code is distributed in the hope that it will be useful, but WITHOUT
a61af66fc99e Initial load
duke
parents:
diff changeset
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
a61af66fc99e Initial load
duke
parents:
diff changeset
11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
a61af66fc99e Initial load
duke
parents:
diff changeset
12 * version 2 for more details (a copy is included in the LICENSE file that
a61af66fc99e Initial load
duke
parents:
diff changeset
13 * accompanied this code).
a61af66fc99e Initial load
duke
parents:
diff changeset
14 *
a61af66fc99e Initial load
duke
parents:
diff changeset
15 * You should have received a copy of the GNU General Public License version
a61af66fc99e Initial load
duke
parents:
diff changeset
16 * 2 along with this work; if not, write to the Free Software Foundation,
a61af66fc99e Initial load
duke
parents:
diff changeset
17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
a61af66fc99e Initial load
duke
parents:
diff changeset
18 *
1552
c18cbe5936b8 6941466: Oracle rebranding changes for Hotspot repositories
trims
parents: 0
diff changeset
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
c18cbe5936b8 6941466: Oracle rebranding changes for Hotspot repositories
trims
parents: 0
diff changeset
20 * or visit www.oracle.com if you need additional information or have any
c18cbe5936b8 6941466: Oracle rebranding changes for Hotspot repositories
trims
parents: 0
diff changeset
21 * questions.
0
a61af66fc99e Initial load
duke
parents:
diff changeset
22 *
a61af66fc99e Initial load
duke
parents:
diff changeset
23 */
a61af66fc99e Initial load
duke
parents:
diff changeset
24
a61af66fc99e Initial load
duke
parents:
diff changeset
25 package sun.jvm.hotspot.debugger.win32.coff;
a61af66fc99e Initial load
duke
parents:
diff changeset
26
a61af66fc99e Initial load
duke
parents:
diff changeset
27 /** Enumerates the types of COFF object file relocations for all
a61af66fc99e Initial load
duke
parents:
diff changeset
28 currently-supported processors. (Some of the descriptions are
a61af66fc99e Initial load
duke
parents:
diff changeset
29 taken directly from Microsoft's documentation and are copyrighted
a61af66fc99e Initial load
duke
parents:
diff changeset
30 by Microsoft.) */
a61af66fc99e Initial load
duke
parents:
diff changeset
31
a61af66fc99e Initial load
duke
parents:
diff changeset
32 public interface TypeIndicators {
a61af66fc99e Initial load
duke
parents:
diff changeset
33 //
a61af66fc99e Initial load
duke
parents:
diff changeset
34 // I386 processors
a61af66fc99e Initial load
duke
parents:
diff changeset
35 //
a61af66fc99e Initial load
duke
parents:
diff changeset
36
a61af66fc99e Initial load
duke
parents:
diff changeset
37 /** This relocation is ignored. */
a61af66fc99e Initial load
duke
parents:
diff changeset
38 public static final short IMAGE_REL_I386_ABSOLUTE = 0x0000;
a61af66fc99e Initial load
duke
parents:
diff changeset
39 /** Not supported. */
a61af66fc99e Initial load
duke
parents:
diff changeset
40 public static final short IMAGE_REL_I386_DIR16 = (short) 0x0001;
a61af66fc99e Initial load
duke
parents:
diff changeset
41 /** Not supported. */
a61af66fc99e Initial load
duke
parents:
diff changeset
42 public static final short IMAGE_REL_I386_REL16 = (short) 0x0002;
a61af66fc99e Initial load
duke
parents:
diff changeset
43 /** The target?s 32-bit virtual address. */
a61af66fc99e Initial load
duke
parents:
diff changeset
44 public static final short IMAGE_REL_I386_DIR32 = (short) 0x0006;
a61af66fc99e Initial load
duke
parents:
diff changeset
45 /** The target?s 32-bit relative virtual address. */
a61af66fc99e Initial load
duke
parents:
diff changeset
46 public static final short IMAGE_REL_I386_DIR32NB = (short) 0x0007;
a61af66fc99e Initial load
duke
parents:
diff changeset
47 /** Not supported. */
a61af66fc99e Initial load
duke
parents:
diff changeset
48 public static final short IMAGE_REL_I386_SEG12 = (short) 0x0009;
a61af66fc99e Initial load
duke
parents:
diff changeset
49 /** The 16-bit-section index of the section containing the
a61af66fc99e Initial load
duke
parents:
diff changeset
50 target. This is used to support debugging information. */
a61af66fc99e Initial load
duke
parents:
diff changeset
51 public static final short IMAGE_REL_I386_SECTION = (short) 0x000A;
a61af66fc99e Initial load
duke
parents:
diff changeset
52 /** The 32-bit offset of the target from the beginning of its
a61af66fc99e Initial load
duke
parents:
diff changeset
53 section. This is used to support debugging information as well
a61af66fc99e Initial load
duke
parents:
diff changeset
54 as static thread local storage. */
a61af66fc99e Initial load
duke
parents:
diff changeset
55 public static final short IMAGE_REL_I386_SECREL = (short) 0x000B;
a61af66fc99e Initial load
duke
parents:
diff changeset
56 /** The 32-bit relative displacement to the target. This supports
a61af66fc99e Initial load
duke
parents:
diff changeset
57 the x86 relative branch and call instructions. */
a61af66fc99e Initial load
duke
parents:
diff changeset
58 public static final short IMAGE_REL_I386_REL32 = (short) 0x0014;
a61af66fc99e Initial load
duke
parents:
diff changeset
59
a61af66fc99e Initial load
duke
parents:
diff changeset
60 //
a61af66fc99e Initial load
duke
parents:
diff changeset
61 // MIPS processors
a61af66fc99e Initial load
duke
parents:
diff changeset
62 //
a61af66fc99e Initial load
duke
parents:
diff changeset
63
a61af66fc99e Initial load
duke
parents:
diff changeset
64 /** This relocation is ignored. */
a61af66fc99e Initial load
duke
parents:
diff changeset
65 public static final short IMAGE_REL_MIPS_ABSOLUTE = (short) 0x0000;
a61af66fc99e Initial load
duke
parents:
diff changeset
66 /** The high 16 bits of the target's 32-bit virtual address. */
a61af66fc99e Initial load
duke
parents:
diff changeset
67 public static final short IMAGE_REL_MIPS_REFHALF = (short) 0x0001;
a61af66fc99e Initial load
duke
parents:
diff changeset
68 /** The target's 32-bit virtual address. */
a61af66fc99e Initial load
duke
parents:
diff changeset
69 public static final short IMAGE_REL_MIPS_REFWORD = (short) 0x0002;
a61af66fc99e Initial load
duke
parents:
diff changeset
70 /** The low 26 bits of the target's virtual address. This
a61af66fc99e Initial load
duke
parents:
diff changeset
71 supports the MIPS J and JAL instructions. */
a61af66fc99e Initial load
duke
parents:
diff changeset
72 public static final short IMAGE_REL_MIPS_JMPADDR = (short) 0x0003;
a61af66fc99e Initial load
duke
parents:
diff changeset
73 /** The high 16 bits of the target's 32-bit virtual address. Used
a61af66fc99e Initial load
duke
parents:
diff changeset
74 for the first instruction in a two-instruction sequence that
a61af66fc99e Initial load
duke
parents:
diff changeset
75 loads a full address. This relocation must be immediately
a61af66fc99e Initial load
duke
parents:
diff changeset
76 followed by a PAIR relocations whose SymbolTableIndex contains a
a61af66fc99e Initial load
duke
parents:
diff changeset
77 signed 16-bit displacement which is added to the upper 16 bits
a61af66fc99e Initial load
duke
parents:
diff changeset
78 taken from the location being relocated. */
a61af66fc99e Initial load
duke
parents:
diff changeset
79 public static final short IMAGE_REL_MIPS_REFHI = (short) 0x0004;
a61af66fc99e Initial load
duke
parents:
diff changeset
80 /** The low 16 bits of the target's virtual address. */
a61af66fc99e Initial load
duke
parents:
diff changeset
81 public static final short IMAGE_REL_MIPS_REFLO = (short) 0x0005;
a61af66fc99e Initial load
duke
parents:
diff changeset
82 /** 16-bit signed displacement of the target relative to the Global
a61af66fc99e Initial load
duke
parents:
diff changeset
83 Pointer (GP) register. */
a61af66fc99e Initial load
duke
parents:
diff changeset
84 public static final short IMAGE_REL_MIPS_GPREL = (short) 0x0006;
a61af66fc99e Initial load
duke
parents:
diff changeset
85 /** Same as IMAGE_REL_MIPS_GPREL. */
a61af66fc99e Initial load
duke
parents:
diff changeset
86 public static final short IMAGE_REL_MIPS_LITERAL = (short) 0x0007;
a61af66fc99e Initial load
duke
parents:
diff changeset
87 /** The 16-bit section index of the section containing the target.
a61af66fc99e Initial load
duke
parents:
diff changeset
88 This is used to support debugging information. */
a61af66fc99e Initial load
duke
parents:
diff changeset
89 public static final short IMAGE_REL_MIPS_SECTION = (short) 0x000A;
a61af66fc99e Initial load
duke
parents:
diff changeset
90 /** The 32-bit offset of the target from the beginning of its
a61af66fc99e Initial load
duke
parents:
diff changeset
91 section. This is used to support debugging information as well
a61af66fc99e Initial load
duke
parents:
diff changeset
92 as static thread local storage. */
a61af66fc99e Initial load
duke
parents:
diff changeset
93 public static final short IMAGE_REL_MIPS_SECREL = (short) 0x000B;
a61af66fc99e Initial load
duke
parents:
diff changeset
94 /** The low 16 bits of the 32-bit offset of the target from the
a61af66fc99e Initial load
duke
parents:
diff changeset
95 beginning of its section. */
a61af66fc99e Initial load
duke
parents:
diff changeset
96 public static final short IMAGE_REL_MIPS_SECRELLO = (short) 0x000C;
a61af66fc99e Initial load
duke
parents:
diff changeset
97 /** The high 16 bits of the 32-bit offset of the target from the
a61af66fc99e Initial load
duke
parents:
diff changeset
98 beginning of its section. A PAIR relocation must immediately
a61af66fc99e Initial load
duke
parents:
diff changeset
99 follow this on. The SymbolTableIndex of the PAIR relocation
a61af66fc99e Initial load
duke
parents:
diff changeset
100 contains a signed 16-bit displacement, which is added to the
a61af66fc99e Initial load
duke
parents:
diff changeset
101 upper 16 bits taken from the location being relocated. */
a61af66fc99e Initial load
duke
parents:
diff changeset
102 public static final short IMAGE_REL_MIPS_SECRELHI = (short) 0x000D;
a61af66fc99e Initial load
duke
parents:
diff changeset
103 /** The low 26 bits of the target's virtual address. This supports
a61af66fc99e Initial load
duke
parents:
diff changeset
104 the MIPS16 JAL instruction. */
a61af66fc99e Initial load
duke
parents:
diff changeset
105 public static final short IMAGE_REL_MIPS_JMPADDR16 = (short) 0x0010;
a61af66fc99e Initial load
duke
parents:
diff changeset
106 /** The target's 32-bit relative virtual address. */
a61af66fc99e Initial load
duke
parents:
diff changeset
107 public static final short IMAGE_REL_MIPS_REFWORDNB = (short) 0x0022;
a61af66fc99e Initial load
duke
parents:
diff changeset
108 /** This relocation is only valid when it immediately follows a
a61af66fc99e Initial load
duke
parents:
diff changeset
109 REFHI or SECRELHI relocation. Its SymbolTableIndex contains a
a61af66fc99e Initial load
duke
parents:
diff changeset
110 displacement and not an index into the symbol table. */
a61af66fc99e Initial load
duke
parents:
diff changeset
111 public static final short IMAGE_REL_MIPS_PAIR = (short) 0x0025;
a61af66fc99e Initial load
duke
parents:
diff changeset
112
a61af66fc99e Initial load
duke
parents:
diff changeset
113 //
a61af66fc99e Initial load
duke
parents:
diff changeset
114 // Alpha processors
a61af66fc99e Initial load
duke
parents:
diff changeset
115 //
a61af66fc99e Initial load
duke
parents:
diff changeset
116
a61af66fc99e Initial load
duke
parents:
diff changeset
117 /** This relocation is ignored. */
a61af66fc99e Initial load
duke
parents:
diff changeset
118 public static final short IMAGE_REL_ALPHA_ABSOLUTE = (short) 0x0000;
a61af66fc99e Initial load
duke
parents:
diff changeset
119 /** The target's 32-bit virtual address. This fixup is illegal in a
a61af66fc99e Initial load
duke
parents:
diff changeset
120 PE32+ image unless the image has been sandboxed by clearing the
a61af66fc99e Initial load
duke
parents:
diff changeset
121 IMAGE_FILE_LARGE_ADDRESS_AWARE bit in the File Header. */
a61af66fc99e Initial load
duke
parents:
diff changeset
122 public static final short IMAGE_REL_ALPHA_REFLONG = (short) 0x0001;
a61af66fc99e Initial load
duke
parents:
diff changeset
123 /** The target's 64-bit virtual address. */
a61af66fc99e Initial load
duke
parents:
diff changeset
124 public static final short IMAGE_REL_ALPHA_REFQUAD = (short) 0x0002;
a61af66fc99e Initial load
duke
parents:
diff changeset
125 /** 32-bit signed displacement of the target relative to the Global
a61af66fc99e Initial load
duke
parents:
diff changeset
126 Pointer (GP) register. */
a61af66fc99e Initial load
duke
parents:
diff changeset
127 public static final short IMAGE_REL_ALPHA_GPREL32 = (short) 0x0003;
a61af66fc99e Initial load
duke
parents:
diff changeset
128 /** 16-bit signed displacement of the target relative to the Global
a61af66fc99e Initial load
duke
parents:
diff changeset
129 Pointer (GP) register. */
a61af66fc99e Initial load
duke
parents:
diff changeset
130 public static final short IMAGE_REL_ALPHA_LITERAL = (short) 0x0004;
a61af66fc99e Initial load
duke
parents:
diff changeset
131 /** Reserved for future use. */
a61af66fc99e Initial load
duke
parents:
diff changeset
132 public static final short IMAGE_REL_ALPHA_LITUSE = (short) 0x0005;
a61af66fc99e Initial load
duke
parents:
diff changeset
133 /** Reserved for future use. */
a61af66fc99e Initial load
duke
parents:
diff changeset
134 public static final short IMAGE_REL_ALPHA_GPDISP = (short) 0x0006;
a61af66fc99e Initial load
duke
parents:
diff changeset
135 /** The 21-bit relative displacement to the target. This supports
a61af66fc99e Initial load
duke
parents:
diff changeset
136 the Alpha relative branch instructions. */
a61af66fc99e Initial load
duke
parents:
diff changeset
137 public static final short IMAGE_REL_ALPHA_BRADDR = (short) 0x0007;
a61af66fc99e Initial load
duke
parents:
diff changeset
138 /** 14-bit hints to the processor for the target of an Alpha jump
a61af66fc99e Initial load
duke
parents:
diff changeset
139 instruction. */
a61af66fc99e Initial load
duke
parents:
diff changeset
140 public static final short IMAGE_REL_ALPHA_HINT = (short) 0x0008;
a61af66fc99e Initial load
duke
parents:
diff changeset
141 /** The target's 32-bit virtual address split into high and low
a61af66fc99e Initial load
duke
parents:
diff changeset
142 16-bit parts. Either an ABSOLUTE or MATCH relocation must
a61af66fc99e Initial load
duke
parents:
diff changeset
143 immediately follow this relocation. The high 16 bits of the
a61af66fc99e Initial load
duke
parents:
diff changeset
144 target address are stored in the location identified by the
a61af66fc99e Initial load
duke
parents:
diff changeset
145 INLINE_REFLONG relocation. The low 16 bits are stored four bytes
a61af66fc99e Initial load
duke
parents:
diff changeset
146 later if the following relocation is of type ABSOLUTE or at a
a61af66fc99e Initial load
duke
parents:
diff changeset
147 signed displacement given in the SymbolTableIndex if the
a61af66fc99e Initial load
duke
parents:
diff changeset
148 following relocation is of type MATCH. */
a61af66fc99e Initial load
duke
parents:
diff changeset
149 public static final short IMAGE_REL_ALPHA_INLINE_REFLONG = (short) 0x0009;
a61af66fc99e Initial load
duke
parents:
diff changeset
150 /** The high 16 bits of the target's 32-bit virtual address. Used
a61af66fc99e Initial load
duke
parents:
diff changeset
151 for the first instruction in a two-instruction sequence that
a61af66fc99e Initial load
duke
parents:
diff changeset
152 loads a full address. This relocation must be immediately
a61af66fc99e Initial load
duke
parents:
diff changeset
153 followed by a PAIR relocations whose SymbolTableIndex contains a
a61af66fc99e Initial load
duke
parents:
diff changeset
154 signed 16-bit displacement which is added to the upper 16 bits
a61af66fc99e Initial load
duke
parents:
diff changeset
155 taken from the location being relocated. */
a61af66fc99e Initial load
duke
parents:
diff changeset
156 public static final short IMAGE_REL_ALPHA_REFHI = (short) 0x000A;
a61af66fc99e Initial load
duke
parents:
diff changeset
157 /** The low 16 bits of the target's virtual address. */
a61af66fc99e Initial load
duke
parents:
diff changeset
158 public static final short IMAGE_REL_ALPHA_REFLO = (short) 0x000B;
a61af66fc99e Initial load
duke
parents:
diff changeset
159 /** This relocation is only valid when it immediately follows a
a61af66fc99e Initial load
duke
parents:
diff changeset
160 REFHI , REFQ3, REFQ2, or SECRELHI relocation. Its
a61af66fc99e Initial load
duke
parents:
diff changeset
161 SymbolTableIndex contains a displacement and not an index into
a61af66fc99e Initial load
duke
parents:
diff changeset
162 the symbol table. */
a61af66fc99e Initial load
duke
parents:
diff changeset
163 public static final short IMAGE_REL_ALPHA_PAIR = (short) 0x000C;
a61af66fc99e Initial load
duke
parents:
diff changeset
164 /** This relocation is only valid when it immediately follows
a61af66fc99e Initial load
duke
parents:
diff changeset
165 INLINE_REFLONG relocation. Its SymbolTableIndex contains the
a61af66fc99e Initial load
duke
parents:
diff changeset
166 displacement in bytes of the location for the matching low
a61af66fc99e Initial load
duke
parents:
diff changeset
167 address and not an index into the symbol table. */
a61af66fc99e Initial load
duke
parents:
diff changeset
168 public static final short IMAGE_REL_ALPHA_MATCH = (short) 0x000D;
a61af66fc99e Initial load
duke
parents:
diff changeset
169 /** The 16-bit section index of the section containing the target.
a61af66fc99e Initial load
duke
parents:
diff changeset
170 This is used to support debugging information. */
a61af66fc99e Initial load
duke
parents:
diff changeset
171 public static final short IMAGE_REL_ALPHA_SECTION = (short) 0x000E;
a61af66fc99e Initial load
duke
parents:
diff changeset
172 /** The 32-bit offset of the target from the beginning of its
a61af66fc99e Initial load
duke
parents:
diff changeset
173 section. This is used to support debugging information as well
a61af66fc99e Initial load
duke
parents:
diff changeset
174 as static thread local storage. */
a61af66fc99e Initial load
duke
parents:
diff changeset
175 public static final short IMAGE_REL_ALPHA_SECREL = (short) 0x000F;
a61af66fc99e Initial load
duke
parents:
diff changeset
176 /** The target's 32-bit relative virtual address. */
a61af66fc99e Initial load
duke
parents:
diff changeset
177 public static final short IMAGE_REL_ALPHA_REFLONGNB = (short) 0x0010;
a61af66fc99e Initial load
duke
parents:
diff changeset
178 /** The low 16 bits of the 32-bit offset of the target from the
a61af66fc99e Initial load
duke
parents:
diff changeset
179 beginning of its section. */
a61af66fc99e Initial load
duke
parents:
diff changeset
180 public static final short IMAGE_REL_ALPHA_SECRELLO = (short) 0x0011;
a61af66fc99e Initial load
duke
parents:
diff changeset
181 /** The high 16 bits of the 32-bit offset of the target from the
a61af66fc99e Initial load
duke
parents:
diff changeset
182 beginning of its section. A PAIR relocation must immediately
a61af66fc99e Initial load
duke
parents:
diff changeset
183 follow this on. The SymbolTableIndex of the PAIR relocation
a61af66fc99e Initial load
duke
parents:
diff changeset
184 contains a signed 16-bit displacement which is added to the
a61af66fc99e Initial load
duke
parents:
diff changeset
185 upper 16 bits taken from the location being relocated. */
a61af66fc99e Initial load
duke
parents:
diff changeset
186 public static final short IMAGE_REL_ALPHA_SECRELHI = (short) 0x0012;
a61af66fc99e Initial load
duke
parents:
diff changeset
187 /** The low 16 bits of the high 32 bits of the target's 64-bit
a61af66fc99e Initial load
duke
parents:
diff changeset
188 virtual address. This relocation must be immediately followed by
a61af66fc99e Initial load
duke
parents:
diff changeset
189 a PAIR relocations whose SymbolTableIndex contains a signed
a61af66fc99e Initial load
duke
parents:
diff changeset
190 32-bit displacement which is added to the 16 bits taken from the
a61af66fc99e Initial load
duke
parents:
diff changeset
191 location being relocated. The 16 bits in the relocated location
a61af66fc99e Initial load
duke
parents:
diff changeset
192 are shifted left by 32 before this addition. */
a61af66fc99e Initial load
duke
parents:
diff changeset
193 public static final short IMAGE_REL_ALPHA_REFQ3 = (short) 0x0013;
a61af66fc99e Initial load
duke
parents:
diff changeset
194 /** The high 16 bits of the low 32 bits of the target's 64-bit
a61af66fc99e Initial load
duke
parents:
diff changeset
195 virtual address. This relocation must be immediately followed by
a61af66fc99e Initial load
duke
parents:
diff changeset
196 a PAIR relocations whose SymbolTableIndex contains a signed
a61af66fc99e Initial load
duke
parents:
diff changeset
197 16-bit displacement which is added to the upper 16 bits taken
a61af66fc99e Initial load
duke
parents:
diff changeset
198 from the location being relocated. */
a61af66fc99e Initial load
duke
parents:
diff changeset
199 public static final short IMAGE_REL_ALPHA_REFQ2 = (short) 0x0014;
a61af66fc99e Initial load
duke
parents:
diff changeset
200 /** The low 16 bits of the target's 64-bit virtual address. */
a61af66fc99e Initial load
duke
parents:
diff changeset
201 public static final short IMAGE_REL_ALPHA_REFQ1 = (short) 0x0015;
a61af66fc99e Initial load
duke
parents:
diff changeset
202 /** The low 16 bits of the 32-bit signed displacement of the target
a61af66fc99e Initial load
duke
parents:
diff changeset
203 relative to the Global Pointer (GP) register. */
a61af66fc99e Initial load
duke
parents:
diff changeset
204 public static final short IMAGE_REL_ALPHA_GPRELLO = (short) 0x0016;
a61af66fc99e Initial load
duke
parents:
diff changeset
205 /** The high 16 bits of the 32-bit signed displacement of the target
a61af66fc99e Initial load
duke
parents:
diff changeset
206 relative to the Global Pointer (GP) register. */
a61af66fc99e Initial load
duke
parents:
diff changeset
207 public static final short IMAGE_REL_ALPHA_GPRELHI = (short) 0x0017;
a61af66fc99e Initial load
duke
parents:
diff changeset
208
a61af66fc99e Initial load
duke
parents:
diff changeset
209 //
a61af66fc99e Initial load
duke
parents:
diff changeset
210 // PowerPC processors
a61af66fc99e Initial load
duke
parents:
diff changeset
211 //
a61af66fc99e Initial load
duke
parents:
diff changeset
212
a61af66fc99e Initial load
duke
parents:
diff changeset
213 /** This relocation is ignored. */
a61af66fc99e Initial load
duke
parents:
diff changeset
214 public static final short IMAGE_REL_PPC_ABSOLUTE = (short) 0x0000;
a61af66fc99e Initial load
duke
parents:
diff changeset
215 /** The target's 64-bit virtual address. */
a61af66fc99e Initial load
duke
parents:
diff changeset
216 public static final short IMAGE_REL_PPC_ADDR64 = (short) 0x0001;
a61af66fc99e Initial load
duke
parents:
diff changeset
217 /** The target's 32-bit virtual address. */
a61af66fc99e Initial load
duke
parents:
diff changeset
218 public static final short IMAGE_REL_PPC_ADDR32 = (short) 0x0002;
a61af66fc99e Initial load
duke
parents:
diff changeset
219 /** The low 24 bits of the target's virtual address. This is only
a61af66fc99e Initial load
duke
parents:
diff changeset
220 valid when the target symbol is absolute and can be sign
a61af66fc99e Initial load
duke
parents:
diff changeset
221 extended to its original value. */
a61af66fc99e Initial load
duke
parents:
diff changeset
222 public static final short IMAGE_REL_PPC_ADDR24 = (short) 0x0003;
a61af66fc99e Initial load
duke
parents:
diff changeset
223 /** The low 16 bits of the target's virtual address. */
a61af66fc99e Initial load
duke
parents:
diff changeset
224 public static final short IMAGE_REL_PPC_ADDR16 = (short) 0x0004;
a61af66fc99e Initial load
duke
parents:
diff changeset
225 /** The low 14 bits of the target's virtual address. This is only
a61af66fc99e Initial load
duke
parents:
diff changeset
226 valid when the target symbol is absolute and can be sign
a61af66fc99e Initial load
duke
parents:
diff changeset
227 extended to its original value. */
a61af66fc99e Initial load
duke
parents:
diff changeset
228 public static final short IMAGE_REL_PPC_ADDR14 = (short) 0x0005;
a61af66fc99e Initial load
duke
parents:
diff changeset
229 /** A 24-bit PC-relative offset to the symbol's location. */
a61af66fc99e Initial load
duke
parents:
diff changeset
230 public static final short IMAGE_REL_PPC_REL24 = (short) 0x0006;
a61af66fc99e Initial load
duke
parents:
diff changeset
231 /** A 14-bit PC-relative offset to the symbol's location. */
a61af66fc99e Initial load
duke
parents:
diff changeset
232 public static final short IMAGE_REL_PPC_REL14 = (short) 0x0007;
a61af66fc99e Initial load
duke
parents:
diff changeset
233 /** The target's 32-bit relative virtual address. */
a61af66fc99e Initial load
duke
parents:
diff changeset
234 public static final short IMAGE_REL_PPC_ADDR32NB = (short) 0x000A;
a61af66fc99e Initial load
duke
parents:
diff changeset
235 /** The 32-bit offset of the target from the beginning of its
a61af66fc99e Initial load
duke
parents:
diff changeset
236 section. This is used to support debugging information as well
a61af66fc99e Initial load
duke
parents:
diff changeset
237 as static thread local storage. */
a61af66fc99e Initial load
duke
parents:
diff changeset
238 public static final short IMAGE_REL_PPC_SECREL = (short) 0x000B;
a61af66fc99e Initial load
duke
parents:
diff changeset
239 /** The 16-bit section index of the section containing the target.
a61af66fc99e Initial load
duke
parents:
diff changeset
240 This is used to support debugging information. */
a61af66fc99e Initial load
duke
parents:
diff changeset
241 public static final short IMAGE_REL_PPC_SECTION = (short) 0x000C;
a61af66fc99e Initial load
duke
parents:
diff changeset
242 /** The 16-bit offset of the target from the beginning of its
a61af66fc99e Initial load
duke
parents:
diff changeset
243 section. This is used to support debugging information as well
a61af66fc99e Initial load
duke
parents:
diff changeset
244 as static thread local storage. */
a61af66fc99e Initial load
duke
parents:
diff changeset
245 public static final short IMAGE_REL_PPC_SECREL16 = (short) 0x000F;
a61af66fc99e Initial load
duke
parents:
diff changeset
246 /** The high 16 bits of the target's 32-bit virtual address. Used
a61af66fc99e Initial load
duke
parents:
diff changeset
247 for the first instruction in a two-instruction sequence that
a61af66fc99e Initial load
duke
parents:
diff changeset
248 loads a full address. This relocation must be immediately
a61af66fc99e Initial load
duke
parents:
diff changeset
249 followed by a PAIR relocations whose SymbolTableIndex contains a
a61af66fc99e Initial load
duke
parents:
diff changeset
250 signed 16-bit displacement which is added to the upper 16 bits
a61af66fc99e Initial load
duke
parents:
diff changeset
251 taken from the location being relocated. */
a61af66fc99e Initial load
duke
parents:
diff changeset
252 public static final short IMAGE_REL_PPC_REFHI = (short) 0x0010;
a61af66fc99e Initial load
duke
parents:
diff changeset
253 /** The low 16 bits of the target's virtual address. */
a61af66fc99e Initial load
duke
parents:
diff changeset
254 public static final short IMAGE_REL_PPC_REFLO = (short) 0x0011;
a61af66fc99e Initial load
duke
parents:
diff changeset
255 /** This relocation is only valid when it immediately follows a
a61af66fc99e Initial load
duke
parents:
diff changeset
256 REFHI or SECRELHI relocation. Its SymbolTableIndex contains a
a61af66fc99e Initial load
duke
parents:
diff changeset
257 displacement and not an index into the symbol table. */
a61af66fc99e Initial load
duke
parents:
diff changeset
258 public static final short IMAGE_REL_PPC_PAIR = (short) 0x0012;
a61af66fc99e Initial load
duke
parents:
diff changeset
259 /** The low 16 bits of the 32-bit offset of the target from the
a61af66fc99e Initial load
duke
parents:
diff changeset
260 beginning of its section. */
a61af66fc99e Initial load
duke
parents:
diff changeset
261 public static final short IMAGE_REL_PPC_SECRELLO = (short) 0x0013;
a61af66fc99e Initial load
duke
parents:
diff changeset
262 /** The high 16 bits of the 32-bit offset of the target from the
a61af66fc99e Initial load
duke
parents:
diff changeset
263 beginning of its section. A PAIR relocation must immediately
a61af66fc99e Initial load
duke
parents:
diff changeset
264 follow this on. The SymbolTableIndex of the PAIR relocation
a61af66fc99e Initial load
duke
parents:
diff changeset
265 contains a signed 16-bit displacement which is added to the
a61af66fc99e Initial load
duke
parents:
diff changeset
266 upper 16 bits taken from the location being relocated. */
a61af66fc99e Initial load
duke
parents:
diff changeset
267 public static final short IMAGE_REL_PPC_SECRELHI = (short) 0x0014;
a61af66fc99e Initial load
duke
parents:
diff changeset
268 /** 16-bit signed displacement of the target relative to the Global
a61af66fc99e Initial load
duke
parents:
diff changeset
269 Pointer (GP) register. */
a61af66fc99e Initial load
duke
parents:
diff changeset
270 public static final short IMAGE_REL_PPC_GPREL = (short) 0x0015;
a61af66fc99e Initial load
duke
parents:
diff changeset
271
a61af66fc99e Initial load
duke
parents:
diff changeset
272 //
a61af66fc99e Initial load
duke
parents:
diff changeset
273 // SH3 and SH4 processors
a61af66fc99e Initial load
duke
parents:
diff changeset
274 //
a61af66fc99e Initial load
duke
parents:
diff changeset
275
a61af66fc99e Initial load
duke
parents:
diff changeset
276 /** This relocation is ignored. */
a61af66fc99e Initial load
duke
parents:
diff changeset
277 public static final short IMAGE_REL_SH3_ABSOLUTE = (short) 0x0000;
a61af66fc99e Initial load
duke
parents:
diff changeset
278 /** Reference to the 16-bit location that contains the virtual
a61af66fc99e Initial load
duke
parents:
diff changeset
279 address of the target symbol. */
a61af66fc99e Initial load
duke
parents:
diff changeset
280 public static final short IMAGE_REL_SH3_DIRECT16 = (short) 0x0001;
a61af66fc99e Initial load
duke
parents:
diff changeset
281 /** The target's 32-bit virtual address. */
a61af66fc99e Initial load
duke
parents:
diff changeset
282 public static final short IMAGE_REL_SH3_DIRECT32 = (short) 0x0002;
a61af66fc99e Initial load
duke
parents:
diff changeset
283 /** Reference to the 8-bit location that contains the virtual
a61af66fc99e Initial load
duke
parents:
diff changeset
284 address of the target symbol. */
a61af66fc99e Initial load
duke
parents:
diff changeset
285 public static final short IMAGE_REL_SH3_DIRECT8 = (short) 0x0003;
a61af66fc99e Initial load
duke
parents:
diff changeset
286 /** Reference to the 8-bit instruction that contains the effective
a61af66fc99e Initial load
duke
parents:
diff changeset
287 16-bit virtual address of the target symbol. */
a61af66fc99e Initial load
duke
parents:
diff changeset
288 public static final short IMAGE_REL_SH3_DIRECT8_WORD = (short) 0x0004;
a61af66fc99e Initial load
duke
parents:
diff changeset
289 /** Reference to the 8-bit instruction that contains the effective
a61af66fc99e Initial load
duke
parents:
diff changeset
290 32-bit virtual address of the target symbol. */
a61af66fc99e Initial load
duke
parents:
diff changeset
291 public static final short IMAGE_REL_SH3_DIRECT8_LONG = (short) 0x0005;
a61af66fc99e Initial load
duke
parents:
diff changeset
292 /** Reference to the 8-bit location whose low 4 bits contain the
a61af66fc99e Initial load
duke
parents:
diff changeset
293 virtual address of the target symbol. */
a61af66fc99e Initial load
duke
parents:
diff changeset
294 public static final short IMAGE_REL_SH3_DIRECT4 = (short) 0x0006;
a61af66fc99e Initial load
duke
parents:
diff changeset
295 /** Reference to the 8-bit instruction whose low 4 bits contain the
a61af66fc99e Initial load
duke
parents:
diff changeset
296 effective 16-bit virtual address of the target symbol. */
a61af66fc99e Initial load
duke
parents:
diff changeset
297 public static final short IMAGE_REL_SH3_DIRECT4_WORD = (short) 0x0007;
a61af66fc99e Initial load
duke
parents:
diff changeset
298 /** Reference to the 8-bit instruction whose low 4 bits contain the
a61af66fc99e Initial load
duke
parents:
diff changeset
299 effective 32-bit virtual address of the target symbol. */
a61af66fc99e Initial load
duke
parents:
diff changeset
300 public static final short IMAGE_REL_SH3_DIRECT4_LONG = (short) 0x0008;
a61af66fc99e Initial load
duke
parents:
diff changeset
301 /** Reference to the 8-bit instruction which contains the effective
a61af66fc99e Initial load
duke
parents:
diff changeset
302 16-bit relative offset of the target symbol. */
a61af66fc99e Initial load
duke
parents:
diff changeset
303 public static final short IMAGE_REL_SH3_PCREL8_WORD = (short) 0x0009;
a61af66fc99e Initial load
duke
parents:
diff changeset
304 /** Reference to the 8-bit instruction which contains the effective
a61af66fc99e Initial load
duke
parents:
diff changeset
305 32-bit relative offset of the target symbol. */
a61af66fc99e Initial load
duke
parents:
diff changeset
306 public static final short IMAGE_REL_SH3_PCREL8_LONG = (short) 0x000A;
a61af66fc99e Initial load
duke
parents:
diff changeset
307 /** Reference to the 16-bit instruction whose low 12 bits contain
a61af66fc99e Initial load
duke
parents:
diff changeset
308 the effective 16-bit relative offset of the target symbol. */
a61af66fc99e Initial load
duke
parents:
diff changeset
309 public static final short IMAGE_REL_SH3_PCREL12_WORD = (short) 0x000B;
a61af66fc99e Initial load
duke
parents:
diff changeset
310 /** Reference to a 32-bit location that is the virtual address of
a61af66fc99e Initial load
duke
parents:
diff changeset
311 the symbol's section. */
a61af66fc99e Initial load
duke
parents:
diff changeset
312 public static final short IMAGE_REL_SH3_STARTOF_SECTION = (short) 0x000C;
a61af66fc99e Initial load
duke
parents:
diff changeset
313 /** Reference to the 32-bit location that is the size of the
a61af66fc99e Initial load
duke
parents:
diff changeset
314 symbol's section. */
a61af66fc99e Initial load
duke
parents:
diff changeset
315 public static final short IMAGE_REL_SH3_SIZEOF_SECTION = (short) 0x000D;
a61af66fc99e Initial load
duke
parents:
diff changeset
316 /** The 16-bit section index of the section containing the target.
a61af66fc99e Initial load
duke
parents:
diff changeset
317 This is used to support debugging information. */
a61af66fc99e Initial load
duke
parents:
diff changeset
318 public static final short IMAGE_REL_SH3_SECTION = (short) 0x000E;
a61af66fc99e Initial load
duke
parents:
diff changeset
319 /** The 32-bit offset of the target from the beginning of its
a61af66fc99e Initial load
duke
parents:
diff changeset
320 section. This is used to support debugging information as well
a61af66fc99e Initial load
duke
parents:
diff changeset
321 as static thread local storage. */
a61af66fc99e Initial load
duke
parents:
diff changeset
322 public static final short IMAGE_REL_SH3_SECREL = (short) 0x000F;
a61af66fc99e Initial load
duke
parents:
diff changeset
323 /** The target's 32-bit relative virtual address. */
a61af66fc99e Initial load
duke
parents:
diff changeset
324 public static final short IMAGE_REL_SH3_DIRECT32_NB = (short) 0x0010;
a61af66fc99e Initial load
duke
parents:
diff changeset
325
a61af66fc99e Initial load
duke
parents:
diff changeset
326 //
a61af66fc99e Initial load
duke
parents:
diff changeset
327 // ARM processors
a61af66fc99e Initial load
duke
parents:
diff changeset
328 //
a61af66fc99e Initial load
duke
parents:
diff changeset
329
a61af66fc99e Initial load
duke
parents:
diff changeset
330 /** This relocation is ignored. */
a61af66fc99e Initial load
duke
parents:
diff changeset
331 public static final short IMAGE_REL_ARM_ABSOLUTE = (short) 0x0000;
a61af66fc99e Initial load
duke
parents:
diff changeset
332 /** The target's 32-bit virtual address. */
a61af66fc99e Initial load
duke
parents:
diff changeset
333 public static final short IMAGE_REL_ARM_ADDR32 = (short) 0x0001;
a61af66fc99e Initial load
duke
parents:
diff changeset
334 /** The target's 32-bit relative virtual address. */
a61af66fc99e Initial load
duke
parents:
diff changeset
335 public static final short IMAGE_REL_ARM_ADDR32NB = (short) 0x0002;
a61af66fc99e Initial load
duke
parents:
diff changeset
336 /** The 24-bit relative displacement to the target. */
a61af66fc99e Initial load
duke
parents:
diff changeset
337 public static final short IMAGE_REL_ARM_BRANCH24 = (short) 0x0003;
a61af66fc99e Initial load
duke
parents:
diff changeset
338 /** Reference to a subroutine call, consisting of two 16-bit
a61af66fc99e Initial load
duke
parents:
diff changeset
339 instructions with 11-bit offsets. */
a61af66fc99e Initial load
duke
parents:
diff changeset
340 public static final short IMAGE_REL_ARM_BRANCH11 = (short) 0x0004;
a61af66fc99e Initial load
duke
parents:
diff changeset
341 /** The 16-bit section index of the section containing the target.
a61af66fc99e Initial load
duke
parents:
diff changeset
342 This is used to support debugging information. */
a61af66fc99e Initial load
duke
parents:
diff changeset
343 public static final short IMAGE_REL_ARM_SECTION = (short) 0x000E;
a61af66fc99e Initial load
duke
parents:
diff changeset
344 /** The 32-bit offset of the target from the beginning of its
a61af66fc99e Initial load
duke
parents:
diff changeset
345 section. This is used to support debugging information as well
a61af66fc99e Initial load
duke
parents:
diff changeset
346 as static thread local storage. */
a61af66fc99e Initial load
duke
parents:
diff changeset
347 public static final short IMAGE_REL_ARM_SECREL = (short) 0x000F;
a61af66fc99e Initial load
duke
parents:
diff changeset
348 }