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