60ff77ec1d
Some checks failed
linux-x64-gcc / linux-gcc (Debug) (push) Failing after 58s
linux-mips64-gcc / linux-gcc-mips64el (Debug) (push) Failing after 1m17s
linux-x64-gcc / linux-gcc (Release) (push) Failing after 1m25s
linux-aarch64-cpu-gcc / linux-gcc-aarch64 (push) Failing after 1m46s
linux-arm-gcc / linux-gcc-armhf (push) Failing after 1m51s
linux-mips64-gcc / linux-gcc-mips64el (Release) (push) Failing after 2m0s
254 lines
4.7 KiB
C++
254 lines
4.7 KiB
C++
// Automatically generated by make at Sat Apr 6 08:57:23 AM UTC 2024
|
|
// DO NOT EDIT
|
|
|
|
#include "data.hh"
|
|
#include "to_hex.hh"
|
|
|
|
ELFPP_BEGIN_NAMESPACE
|
|
|
|
std::string
|
|
to_string(elfclass v)
|
|
{
|
|
switch (v) {
|
|
case elfclass::_32:
|
|
return "32";
|
|
case elfclass::_64:
|
|
return "64";
|
|
}
|
|
return "(elfclass)0x" + to_hex((int) v);
|
|
}
|
|
|
|
std::string
|
|
to_string(elfdata v)
|
|
{
|
|
switch (v) {
|
|
case elfdata::lsb:
|
|
return "lsb";
|
|
case elfdata::msb:
|
|
return "msb";
|
|
}
|
|
return "(elfdata)0x" + to_hex((int) v);
|
|
}
|
|
|
|
std::string
|
|
to_string(elfosabi v)
|
|
{
|
|
switch (v) {
|
|
case elfosabi::sysv:
|
|
return "sysv";
|
|
case elfosabi::hpux:
|
|
return "hpux";
|
|
case elfosabi::standalone:
|
|
return "standalone";
|
|
}
|
|
return "(elfosabi)0x" + to_hex((int) v);
|
|
}
|
|
|
|
std::string
|
|
to_string(et v)
|
|
{
|
|
switch (v) {
|
|
case et::none:
|
|
return "none";
|
|
case et::rel:
|
|
return "rel";
|
|
case et::exec:
|
|
return "exec";
|
|
case et::dyn:
|
|
return "dyn";
|
|
case et::core:
|
|
return "core";
|
|
case et::loos:
|
|
break;
|
|
case et::hios:
|
|
break;
|
|
case et::loproc:
|
|
break;
|
|
case et::hiproc:
|
|
break;
|
|
}
|
|
return "(et)0x" + to_hex((int) v);
|
|
}
|
|
|
|
std::string
|
|
to_string(sht v)
|
|
{
|
|
switch (v) {
|
|
case sht::null:
|
|
return "null";
|
|
case sht::progbits:
|
|
return "progbits";
|
|
case sht::symtab:
|
|
return "symtab";
|
|
case sht::strtab:
|
|
return "strtab";
|
|
case sht::rela:
|
|
return "rela";
|
|
case sht::hash:
|
|
return "hash";
|
|
case sht::dynamic:
|
|
return "dynamic";
|
|
case sht::note:
|
|
return "note";
|
|
case sht::nobits:
|
|
return "nobits";
|
|
case sht::rel:
|
|
return "rel";
|
|
case sht::shlib:
|
|
return "shlib";
|
|
case sht::dynsym:
|
|
return "dynsym";
|
|
case sht::loos:
|
|
break;
|
|
case sht::hios:
|
|
break;
|
|
case sht::loproc:
|
|
break;
|
|
case sht::hiproc:
|
|
break;
|
|
}
|
|
return "(sht)0x" + to_hex((int) v);
|
|
}
|
|
|
|
std::string
|
|
to_string(shf v)
|
|
{
|
|
std::string res;
|
|
if ((v & shf::write) == shf::write) {
|
|
res += "write|";
|
|
v &= ~shf::write;
|
|
}
|
|
if ((v & shf::alloc) == shf::alloc) {
|
|
res += "alloc|";
|
|
v &= ~shf::alloc;
|
|
}
|
|
if ((v & shf::execinstr) == shf::execinstr) {
|
|
res += "execinstr|";
|
|
v &= ~shf::execinstr;
|
|
}
|
|
if ((v & shf::maskos) == shf::maskos) {
|
|
res += "maskos|";
|
|
v &= ~shf::maskos;
|
|
}
|
|
if ((v & shf::maskproc) == shf::maskproc) {
|
|
res += "maskproc|";
|
|
v &= ~shf::maskproc;
|
|
}
|
|
if (res.empty() || v != (shf) 0)
|
|
res += "(shf)0x" + to_hex((int) v);
|
|
else
|
|
res.pop_back();
|
|
return res;
|
|
}
|
|
|
|
std::string
|
|
to_string(pt v)
|
|
{
|
|
switch (v) {
|
|
case pt::null:
|
|
return "null";
|
|
case pt::load:
|
|
return "load";
|
|
case pt::dynamic:
|
|
return "dynamic";
|
|
case pt::interp:
|
|
return "interp";
|
|
case pt::note:
|
|
return "note";
|
|
case pt::shlib:
|
|
return "shlib";
|
|
case pt::phdr:
|
|
return "phdr";
|
|
case pt::loos:
|
|
break;
|
|
case pt::hios:
|
|
break;
|
|
case pt::loproc:
|
|
break;
|
|
case pt::hiproc:
|
|
break;
|
|
}
|
|
return "(pt)0x" + to_hex((int) v);
|
|
}
|
|
|
|
std::string
|
|
to_string(pf v)
|
|
{
|
|
std::string res;
|
|
if ((v & pf::x) == pf::x) {
|
|
res += "x|";
|
|
v &= ~pf::x;
|
|
}
|
|
if ((v & pf::w) == pf::w) {
|
|
res += "w|";
|
|
v &= ~pf::w;
|
|
}
|
|
if ((v & pf::r) == pf::r) {
|
|
res += "r|";
|
|
v &= ~pf::r;
|
|
}
|
|
if ((v & pf::maskos) == pf::maskos) {
|
|
res += "maskos|";
|
|
v &= ~pf::maskos;
|
|
}
|
|
if ((v & pf::maskproc) == pf::maskproc) {
|
|
res += "maskproc|";
|
|
v &= ~pf::maskproc;
|
|
}
|
|
if (res.empty() || v != (pf) 0)
|
|
res += "(pf)0x" + to_hex((int) v);
|
|
else
|
|
res.pop_back();
|
|
return res;
|
|
}
|
|
|
|
std::string
|
|
to_string(stb v)
|
|
{
|
|
switch (v) {
|
|
case stb::local:
|
|
return "local";
|
|
case stb::global:
|
|
return "global";
|
|
case stb::weak:
|
|
return "weak";
|
|
case stb::loos:
|
|
break;
|
|
case stb::hios:
|
|
break;
|
|
case stb::loproc:
|
|
break;
|
|
case stb::hiproc:
|
|
break;
|
|
}
|
|
return "(stb)0x" + to_hex((int) v);
|
|
}
|
|
|
|
std::string
|
|
to_string(stt v)
|
|
{
|
|
switch (v) {
|
|
case stt::notype:
|
|
return "notype";
|
|
case stt::object:
|
|
return "object";
|
|
case stt::func:
|
|
return "func";
|
|
case stt::section:
|
|
return "section";
|
|
case stt::file:
|
|
return "file";
|
|
case stt::loos:
|
|
break;
|
|
case stt::hios:
|
|
break;
|
|
case stt::loproc:
|
|
break;
|
|
case stt::hiproc:
|
|
break;
|
|
}
|
|
return "(stt)0x" + to_hex((int) v);
|
|
}
|
|
|
|
ELFPP_END_NAMESPACE
|