summaryrefslogtreecommitdiffstats
path: root/llvm/tools/llvm-readobj/StreamWriter.h
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/tools/llvm-readobj/StreamWriter.h')
-rw-r--r--llvm/tools/llvm-readobj/StreamWriter.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/llvm/tools/llvm-readobj/StreamWriter.h b/llvm/tools/llvm-readobj/StreamWriter.h
index 809a09a2cd4..c1567d460b0 100644
--- a/llvm/tools/llvm-readobj/StreamWriter.h
+++ b/llvm/tools/llvm-readobj/StreamWriter.h
@@ -26,7 +26,17 @@ namespace llvm {
template<typename T>
struct EnumEntry {
StringRef Name;
+ // While Name suffices in most of the cases, in certain cases
+ // GNU style and LLVM style of ELFDumper do not
+ // display same string for same enum. The AltName if initialized appropriately
+ // will hold the string that GNU style emits.
+ // Example:
+ // "EM_X86_64" string on LLVM style for Elf_Ehdr->e_machine corresponds to
+ // "Advanced Micro Devices X86-64" on GNU style
+ StringRef AltName;
T Value;
+ EnumEntry(StringRef N, StringRef A, T V) : Name(N), AltName(A), Value(V) {}
+ EnumEntry(StringRef N, T V) : Name(N), AltName(N), Value(V) {}
};
struct HexNumber {
@@ -49,6 +59,8 @@ struct HexNumber {
};
raw_ostream &operator<<(raw_ostream &OS, const HexNumber& Value);
+const std::string to_hexString(uint64_t Value, bool UpperCase = true);
+const std::string to_string(uint64_t Value);
class StreamWriter {
public:
OpenPOWER on IntegriCloud