Additional SHF flags

This commit is contained in:
tgotic 2022-09-26 12:17:17 +02:00 committed by Serge Lamikhov-Center
parent 766f5e4dda
commit 19bfbd5825
2 changed files with 41 additions and 3 deletions

View File

@ -542,7 +542,13 @@ constexpr Elf_Xword SHF_LINK_ORDER = 0x80;
constexpr Elf_Xword SHF_OS_NONCONFORMING = 0x100;
constexpr Elf_Xword SHF_GROUP = 0x200;
constexpr Elf_Xword SHF_TLS = 0x400;
constexpr Elf_Xword SHF_MASKOS = 0x0ff00000;
constexpr Elf_Xword SHF_COMPRESSED = 0x800;
constexpr Elf_Xword SHF_GNU_RETAIN = 0x200000;
constexpr Elf_Xword SHF_GNU_MBIND = 0x01000000;
constexpr Elf_Xword SHF_MASKOS = 0x0FF00000;
constexpr Elf_Xword SHF_MIPS_GPREL = 0x10000000;
constexpr Elf_Xword SHF_ORDERED = 0x40000000;
constexpr Elf_Xword SHF_EXCLUDE = 0x80000000;
constexpr Elf_Xword SHF_MASKPROC = 0xF0000000;
// Section group flags

View File

@ -739,8 +739,10 @@ class dump
section_header( out, i, sec, reader.get_class() );
}
out << "Key to Flags: W (write), A (alloc), X (execute)\n\n"
<< std::endl;
out << "Key to Flags: W (write), A (alloc), X (execute), " << std::endl;
out << " M (merge), S (strings), I (info)," << std::endl;
out << " L (link order), O (extra OS processing required)," << std::endl;
out << " G (group), T (TLS), C (compressed), E (exclude)" << std::endl;
}
//------------------------------------------------------------------------------
@ -1299,6 +1301,36 @@ class dump
if ( flags & SHF_EXECINSTR ) {
ret += "X";
}
if ( flags & SHF_MERGE ) {
ret += "M";
}
if ( flags & SHF_STRINGS ) {
ret += "S";
}
if ( flags & SHF_INFO_LINK ) {
ret += "I";
}
if ( flags & SHF_LINK_ORDER ) {
ret += "L";
}
if ( flags & SHF_OS_NONCONFORMING ) {
ret += "O";
}
if ( flags & SHF_GROUP ) {
ret += "G";
}
if ( flags & SHF_TLS ) {
ret += "T";
}
if ( flags & SHF_COMPRESSED ) {
ret += "C";
}
if ( flags & SHF_EXCLUDE ) {
ret += "E";
}
if ( flags & SHF_GNU_MBIND ) {
ret += "D";
}
return ret;
}