summaryrefslogtreecommitdiffstats
path: root/llvm/tools/llvm-readobj/StreamWriter.cpp
diff options
context:
space:
mode:
authorHemant Kulkarni <khemant@codeaurora.org>2016-02-10 18:21:01 +0000
committerHemant Kulkarni <khemant@codeaurora.org>2016-02-10 18:21:01 +0000
commitf46c92fe52aaa8fbc0f7b72b2848b973bd6ce5c9 (patch)
tree164209e7a792859133f5187c1fe05e97ed551e24 /llvm/tools/llvm-readobj/StreamWriter.cpp
parent11faff592d5e67c5f265bf07972144905c897ca1 (diff)
downloadbcm5719-llvm-f46c92fe52aaa8fbc0f7b72b2848b973bd6ce5c9.tar.gz
bcm5719-llvm-f46c92fe52aaa8fbc0f7b72b2848b973bd6ce5c9.zip
Revert "[llvm-readobj] Option to emit readelf like output"
This reverts commit a58765909660a7195b32e0cc8c7476168b913750. llvm-svn: 260397
Diffstat (limited to 'llvm/tools/llvm-readobj/StreamWriter.cpp')
-rw-r--r--llvm/tools/llvm-readobj/StreamWriter.cpp29
1 files changed, 15 insertions, 14 deletions
diff --git a/llvm/tools/llvm-readobj/StreamWriter.cpp b/llvm/tools/llvm-readobj/StreamWriter.cpp
index 390b05e358d..871811233a6 100644
--- a/llvm/tools/llvm-readobj/StreamWriter.cpp
+++ b/llvm/tools/llvm-readobj/StreamWriter.cpp
@@ -8,22 +8,23 @@ using namespace llvm::support;
namespace llvm {
raw_ostream &operator<<(raw_ostream &OS, const HexNumber& Value) {
- OS << "0x" << to_hexString(Value.Value);
- return OS;
-}
+ uint64_t N = Value.Value;
+ // Zero is a special case.
+ if (N == 0)
+ return OS << "0x0";
-const std::string to_hexString(uint64_t Value, bool UpperCase) {
- std::string number;
- llvm::raw_string_ostream stream(number);
- stream << format_hex_no_prefix(Value, 1, UpperCase);
- return stream.str();
-}
+ char NumberBuffer[20];
+ char *EndPtr = NumberBuffer + sizeof(NumberBuffer);
+ char *CurPtr = EndPtr;
+
+ while (N) {
+ uintptr_t X = N % 16;
+ *--CurPtr = (X < 10 ? '0' + X : 'A' + X - 10);
+ N /= 16;
+ }
-const std::string to_string(uint64_t Value) {
- std::string number;
- llvm::raw_string_ostream stream(number);
- stream << format_decimal(Value, 1);
- return stream.str();
+ OS << "0x";
+ return OS.write(CurPtr, EndPtr - CurPtr);
}
void StreamWriter::printBinaryImpl(StringRef Label, StringRef Str,
OpenPOWER on IntegriCloud