aboutsummaryrefslogtreecommitdiffstats
path: root/tools/llvm-readobj
diff options
context:
space:
mode:
Diffstat (limited to 'tools/llvm-readobj')
-rw-r--r--tools/llvm-readobj/llvm-readobj.cpp46
1 files changed, 18 insertions, 28 deletions
diff --git a/tools/llvm-readobj/llvm-readobj.cpp b/tools/llvm-readobj/llvm-readobj.cpp
index 40e3b8c9..a30b0a8 100644
--- a/tools/llvm-readobj/llvm-readobj.cpp
+++ b/tools/llvm-readobj/llvm-readobj.cpp
@@ -33,17 +33,7 @@ using namespace llvm::object;
static cl::opt<std::string>
InputFilename(cl::Positional, cl::desc("<input object>"), cl::init(""));
-void DumpSymbolHeader() {
- outs() << format(" %-32s", (const char*)"Name")
- << format(" %-4s", (const char*)"Type")
- << format(" %-16s", (const char*)"Address")
- << format(" %-16s", (const char*)"Size")
- << format(" %-16s", (const char*)"FileOffset")
- << format(" %-26s", (const char*)"Flags")
- << "\n";
-}
-
-const char *GetTypeStr(SymbolRef::Type Type) {
+static const char *getTypeStr(SymbolRef::Type Type) {
switch (Type) {
case SymbolRef::ST_Unknown: return "?";
case SymbolRef::ST_Data: return "DATA";
@@ -55,7 +45,7 @@ const char *GetTypeStr(SymbolRef::Type Type) {
return "INV";
}
-std::string GetFlagStr(uint32_t Flags) {
+static std::string getSymbolFlagStr(uint32_t Flags) {
std::string result;
if (Flags & SymbolRef::SF_Undefined)
result += "undef,";
@@ -79,7 +69,8 @@ std::string GetFlagStr(uint32_t Flags) {
return result;
}
-void DumpSymbol(const SymbolRef &Sym, const ObjectFile *obj, bool IsDynamic) {
+static void
+dumpSymbol(const SymbolRef &Sym, const ObjectFile *obj, bool IsDynamic) {
StringRef Name;
SymbolRef::Type Type;
uint32_t Flags;
@@ -108,24 +99,23 @@ void DumpSymbol(const SymbolRef &Sym, const ObjectFile *obj, bool IsDynamic) {
// format() can't handle StringRefs
outs() << format(" %-32s", FullName.c_str())
- << format(" %-4s", GetTypeStr(Type))
+ << format(" %-4s", getTypeStr(Type))
<< format(" %16" PRIx64, Address)
<< format(" %16" PRIx64, Size)
<< format(" %16" PRIx64, FileOffset)
- << " " << GetFlagStr(Flags)
+ << " " << getSymbolFlagStr(Flags)
<< "\n";
}
-
// Iterate through the normal symbols in the ObjectFile
-void DumpSymbols(const ObjectFile *obj) {
+static void dumpSymbols(const ObjectFile *obj) {
error_code ec;
uint32_t count = 0;
outs() << "Symbols:\n";
symbol_iterator it = obj->begin_symbols();
symbol_iterator ie = obj->end_symbols();
while (it != ie) {
- DumpSymbol(*it, obj, false);
+ dumpSymbol(*it, obj, false);
it.increment(ec);
if (ec)
report_fatal_error("Symbol iteration failed");
@@ -135,14 +125,14 @@ void DumpSymbols(const ObjectFile *obj) {
}
// Iterate through the dynamic symbols in the ObjectFile.
-void DumpDynamicSymbols(const ObjectFile *obj) {
+static void dumpDynamicSymbols(const ObjectFile *obj) {
error_code ec;
uint32_t count = 0;
outs() << "Dynamic Symbols:\n";
symbol_iterator it = obj->begin_dynamic_symbols();
symbol_iterator ie = obj->end_dynamic_symbols();
while (it != ie) {
- DumpSymbol(*it, obj, true);
+ dumpSymbol(*it, obj, true);
it.increment(ec);
if (ec)
report_fatal_error("Symbol iteration failed");
@@ -151,21 +141,21 @@ void DumpDynamicSymbols(const ObjectFile *obj) {
outs() << " Total: " << count << "\n\n";
}
-void DumpLibrary(const LibraryRef &lib) {
+static void dumpLibrary(const LibraryRef &lib) {
StringRef path;
lib.getPath(path);
outs() << " " << path << "\n";
}
// Iterate through needed libraries
-void DumpLibrariesNeeded(const ObjectFile *obj) {
+static void dumpLibrariesNeeded(const ObjectFile *obj) {
error_code ec;
uint32_t count = 0;
library_iterator it = obj->begin_libraries_needed();
library_iterator ie = obj->end_libraries_needed();
outs() << "Libraries needed:\n";
while (it != ie) {
- DumpLibrary(*it);
+ dumpLibrary(*it);
it.increment(ec);
if (ec)
report_fatal_error("Needed libraries iteration failed");
@@ -174,7 +164,7 @@ void DumpLibrariesNeeded(const ObjectFile *obj) {
outs() << " Total: " << count << "\n\n";
}
-void DumpHeaders(const ObjectFile *obj) {
+static void dumpHeaders(const ObjectFile *obj) {
outs() << "File Format : " << obj->getFileFormatName() << "\n";
outs() << "Arch : "
<< Triple::getArchTypeName((llvm::Triple::ArchType)obj->getArch())
@@ -209,10 +199,10 @@ int main(int argc, char** argv) {
errs() << InputFilename << ": Object type not recognized\n";
}
- DumpHeaders(obj);
- DumpSymbols(obj);
- DumpDynamicSymbols(obj);
- DumpLibrariesNeeded(obj);
+ dumpHeaders(obj);
+ dumpSymbols(obj);
+ dumpDynamicSymbols(obj);
+ dumpLibrariesNeeded(obj);
return 0;
}