diff options
Diffstat (limited to 'llvm/tools/llvm-objdump/ELFDump.cpp')
-rw-r--r-- | llvm/tools/llvm-objdump/ELFDump.cpp | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/llvm/tools/llvm-objdump/ELFDump.cpp b/llvm/tools/llvm-objdump/ELFDump.cpp index 93d070eee16c..abfe08346bbd 100644 --- a/llvm/tools/llvm-objdump/ELFDump.cpp +++ b/llvm/tools/llvm-objdump/ELFDump.cpp @@ -105,9 +105,12 @@ static Error getRelocationValueString(const ELFObjectFile<ELFT> *Obj, } else { Fmt << "*ABS*"; } - - if (Addend != 0) - Fmt << (Addend < 0 ? "" : "+") << Addend; + if (Addend != 0) { + Fmt << (Addend < 0 + ? "-" + : "+") << format("0x%" PRIx64, + (Addend < 0 ? -(uint64_t)Addend : (uint64_t)Addend)); + } Fmt.flush(); Result.append(FmtBuf.begin(), FmtBuf.end()); return Error::success(); @@ -201,6 +204,9 @@ template <class ELFT> void printProgramHeaders(const ELFFile<ELFT> *o) { case ELF::PT_GNU_RELRO: outs() << " RELRO "; break; + case ELF::PT_GNU_PROPERTY: + outs() << " PROPERTY "; + break; case ELF::PT_GNU_STACK: outs() << " STACK "; break; |