ELFSectionProgBits.hxx revision 58611fc8193e7386698178f167a2e0cbdd6a4f6f
14f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber#ifndef ELF_SECTION_PROGBITS_HXX
24f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber#define ELF_SECTION_PROGBITS_HXX
34f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber
44f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber#include "ELFTypes.h"
54f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber
64f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber#include <llvm/Support/Format.h>
74f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber#include <llvm/Support/raw_ostream.h>
84f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber
94f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber#include "utils/raw_ostream.h"
104f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber
114f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Hubertemplate <unsigned Bitwidth>
124f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Hubervoid ELFSectionProgBits<Bitwidth>::print() const {
134f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber  using namespace llvm;
144f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber
154f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber  out() << '\n' << fillformat('=', 79) << '\n';
164f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber  out().changeColor(raw_ostream::WHITE, true);
174f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber  out() << "ELF PROGBITS: " << this->section_header->getName() << '\n';
184f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber  out().resetColor();
194f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber  out() << fillformat('-', 79) << '\n';
204f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber
214f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber  out() << "  Size         : " << this->size() << '\n';
224f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber  out() << "  Start Address: "
234f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber    << static_cast<addr_t>((size_t)this->buf) << '\n';
244f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber  out() << fillformat('-', 79) << '\n';
254f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber
264f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber  dump_hex(this->buf, this->buf_size, 0, this->buf_size);
274f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber
284f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber  out() << fillformat('=', 79) << '\n';
294f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber}
304f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber
314f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber#endif // ELF_SECTION_PROGBITS_HXX
324f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber