Mercurial > hg > truffle
annotate agent/src/share/classes/sun/jvm/hotspot/debugger/posix/elf/ELFHeader.java @ 20456:64156d22e49d
8032247: SA: Constantpool lookup for invokedynamic is not implemented
Summary: implement constant pool lookup for invokedynamic
Reviewed-by: sla, sspitsyn
author | dsamersoff |
---|---|
date | Thu, 11 Sep 2014 11:55:30 -0700 |
parents | c18cbe5936b8 |
children |
rev | line source |
---|---|
0 | 1 /* |
1552
c18cbe5936b8
6941466: Oracle rebranding changes for Hotspot repositories
trims
parents:
0
diff
changeset
|
2 * Copyright (c) 2001, 2003, Oracle and/or its affiliates. All rights reserved. |
0 | 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
4 * | |
5 * This code is free software; you can redistribute it and/or modify it | |
6 * under the terms of the GNU General Public License version 2 only, as | |
7 * published by the Free Software Foundation. | |
8 * | |
9 * This code is distributed in the hope that it will be useful, but WITHOUT | |
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | |
11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License | |
12 * version 2 for more details (a copy is included in the LICENSE file that | |
13 * accompanied this code). | |
14 * | |
15 * You should have received a copy of the GNU General Public License version | |
16 * 2 along with this work; if not, write to the Free Software Foundation, | |
17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. | |
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 | 22 * |
23 */ | |
24 | |
25 package sun.jvm.hotspot.debugger.posix.elf; | |
26 | |
27 import java.io.FileInputStream; | |
28 | |
29 /** | |
30 * This is a Java class that represents a ELF file header. | |
31 * | |
32 * @author Joshua W. Outwater | |
33 */ | |
34 public interface ELFHeader { | |
35 /** No file type. */ | |
36 public static final int FT_NONE = 0; | |
37 /** Relocatable file type. */ | |
38 public static final int FT_REL = 1; | |
39 /** Executable file type. */ | |
40 public static final int FT_EXEC = 2; | |
41 /** Shared object file type. */ | |
42 public static final int FT_DYN = 3; | |
43 /** Core file file type. */ | |
44 public static final int FT_CORE = 4; | |
45 /** Processor specific. */ | |
46 public static final int FT_LOCPROC = 0xff00; | |
47 /** Processor specific. */ | |
48 public static final int FT_HICPROC = 0xffff; | |
49 | |
50 /** No architecture type. */ | |
51 public static final int ARCH_NONE = 0; | |
52 /** AT&T architecture type. */ | |
53 public static final int ARCH_ATT = 1; | |
54 /** SPARC architecture type. */ | |
55 public static final int ARCH_SPARC = 2; | |
56 /** Intel 386 architecture type. */ | |
57 public static final int ARCH_i386 = 3; | |
58 /** Motorolla 68000 architecture type. */ | |
59 public static final int ARCH_68k = 4; | |
60 /** Motorolla 88000 architecture type. */ | |
61 public static final int ARCH_88k = 5; | |
62 /** Intel 860 architecture type. */ | |
63 public static final int ARCH_i860 = 7; | |
64 /** MIPS architecture type. */ | |
65 public static final int ARCH_MIPS = 8; | |
66 | |
67 /** Returns a file type which is defined by the file type constants. */ | |
68 public short getFileType(); | |
69 /** Returns one of the architecture constants. */ | |
70 public short getArch(); | |
71 /** Returns the size of a section header. */ | |
72 public short getSectionHeaderSize(); | |
73 /** Returns the number of section headers. */ | |
74 public short getNumberOfSectionHeaders(); | |
75 /** Returns the section header at the specified index. The section header | |
76 * at index 0 is the undefined section header. */ | |
77 public ELFSectionHeader getSectionHeader(int index); | |
78 /** Returns the section header string table associated with this ELF | |
79 * file. */ | |
80 public ELFStringTable getSectionHeaderStringTable(); | |
81 /** Returns the string table associated with this ELF file. */ | |
82 public ELFStringTable getStringTable(); | |
83 /** Returns the dynamic string table associated with this ELF file, or null | |
84 * if one does not exist. */ | |
85 public ELFStringTable getDynamicStringTable(); | |
86 /** Returns the hash table associated with this ELF file, or null if one | |
87 * does not exist. NOTE: Currently the ELFHashTable does not work so this | |
88 * method will always return null. */ | |
89 public ELFHashTable getHashTable(); | |
90 /** Returns the symbol table associated with this ELF file, or null if one | |
91 * does not exist. */ | |
92 public ELFSectionHeader getSymbolTableSection(); | |
93 /** Returns the dynamic symbol table associated with this ELF file, or null | |
94 * if one does not exist. */ | |
95 public ELFSectionHeader getDynamicSymbolTableSection(); | |
96 /** Returns the elf symbol with the specified name or null if one is not | |
97 * found. */ | |
98 public ELFSymbol getELFSymbol(String name); | |
99 /** Returns the elf symbol with the specified address or null if one is not | |
100 * found. 'address' is relative to base of shared object for .so's. */ | |
101 public ELFSymbol getELFSymbol(long address); | |
102 /** Returns the size of a program header. */ | |
103 //public short getProgramHeaderSize(); | |
104 /** Returns the number of program headers. */ | |
105 //public short getNumberOfProgramHeaders(); | |
106 /** Returns the program header at the specified index. */ | |
107 //public ProgramHeader getProgramHeader(int index); | |
108 } |