aboutsummaryrefslogtreecommitdiff
path: root/src/share/vm/utilities/elfFile.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/share/vm/utilities/elfFile.hpp')
-rw-r--r--src/share/vm/utilities/elfFile.hpp27
1 files changed, 14 insertions, 13 deletions
diff --git a/src/share/vm/utilities/elfFile.hpp b/src/share/vm/utilities/elfFile.hpp
index b40b90ae6..e6f4ce263 100644
--- a/src/share/vm/utilities/elfFile.hpp
+++ b/src/share/vm/utilities/elfFile.hpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -22,8 +22,8 @@
*
*/
-#ifndef __ELF_FILE_HPP
-#define __ELF_FILE_HPP
+#ifndef SHARE_VM_UTILITIES_ELF_FILE_HPP
+#define SHARE_VM_UTILITIES_ELF_FILE_HPP
#if !defined(_WINDOWS) && !defined(__APPLE__)
@@ -83,12 +83,12 @@ class ElfSymbolTable;
// part of code to be very defensive, and bait out if anything went wrong.
class ElfFile: public CHeapObj {
- friend class Decoder;
+ friend class ElfDecoder;
public:
ElfFile(const char* filepath);
~ElfFile();
- const char* decode(address addr, int* offset);
+ bool decode(address addr, char* buf, int buflen, int* offset);
const char* filepath() {
return m_filepath;
}
@@ -99,7 +99,7 @@ class ElfFile: public CHeapObj {
return (m_filepath && !strcmp(filepath, m_filepath));
}
- Decoder::decoder_status get_status() {
+ NullDecoder::decoder_status get_status() {
return m_status;
}
@@ -119,8 +119,9 @@ class ElfFile: public CHeapObj {
// return a string table at specified section index
ElfStringTable* get_string_table(int index);
- // look up an address and return the nearest symbol
- const char* look_up(Elf_Shdr shdr, address addr, int* offset);
+protected:
+ ElfFile* next() const { return m_next; }
+ void set_next(ElfFile* file) { m_next = file; }
protected:
ElfFile* m_next;
@@ -131,17 +132,17 @@ class ElfFile: public CHeapObj {
FILE* m_file;
// Elf header
- Elf_Ehdr m_elfHdr;
+ Elf_Ehdr m_elfHdr;
// symbol tables
- ElfSymbolTable* m_symbol_tables;
+ ElfSymbolTable* m_symbol_tables;
// string tables
- ElfStringTable* m_string_tables;
+ ElfStringTable* m_string_tables;
- Decoder::decoder_status m_status;
+ NullDecoder::decoder_status m_status;
};
#endif // _WINDOWS
-#endif // __ELF_FILE_HPP
+#endif // SHARE_VM_UTILITIES_ELF_FILE_HPP