forked from qt-creator/qt-creator
Utils: Comment out unused code in ElfReader
Change-Id: I34d335282190e62c3f5df73c82b082abcc5b2e4a Reviewed-by: hjk <hjk@qt.io>
This commit is contained in:
@@ -70,15 +70,15 @@ static void parseSectionHeader(const uchar *s, ElfSectionHeader *sh, const ElfDa
|
|||||||
sh->size = getOffset(s, context);
|
sh->size = getOffset(s, context);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void parseProgramHeader(const uchar *s, ElfProgramHeader *sh, const ElfData &context)
|
// static void parseProgramHeader(const uchar *s, ElfProgramHeader *sh, const ElfData &context)
|
||||||
{
|
// {
|
||||||
sh->type = getWord(s, context);
|
// sh->type = getWord(s, context);
|
||||||
sh->offset = getOffset(s, context);
|
// sh->offset = getOffset(s, context);
|
||||||
/* p_vaddr = */ getAddress(s, context);
|
// /* p_vaddr = */ getAddress(s, context);
|
||||||
/* p_paddr = */ getAddress(s, context);
|
// /* p_paddr = */ getAddress(s, context);
|
||||||
sh->filesz = getWord(s, context);
|
// sh->filesz = getWord(s, context);
|
||||||
sh->memsz = getWord(s, context);
|
// sh->memsz = getWord(s, context);
|
||||||
}
|
// }
|
||||||
|
|
||||||
ElfMapper::ElfMapper(const ElfReader *reader)
|
ElfMapper::ElfMapper(const ElfReader *reader)
|
||||||
: binary(reader->m_binary)
|
: binary(reader->m_binary)
|
||||||
@@ -135,8 +135,8 @@ ElfReader::Result ElfReader::readIt()
|
|||||||
{
|
{
|
||||||
if (!m_elfData.sectionHeaders.isEmpty())
|
if (!m_elfData.sectionHeaders.isEmpty())
|
||||||
return Ok;
|
return Ok;
|
||||||
if (!m_elfData.programHeaders.isEmpty())
|
// if (!m_elfData.programHeaders.isEmpty())
|
||||||
return Ok;
|
// return Ok;
|
||||||
|
|
||||||
ElfMapper mapper(this);
|
ElfMapper mapper(this);
|
||||||
if (!mapper.map())
|
if (!mapper.map())
|
||||||
@@ -187,7 +187,7 @@ ElfReader::Result ElfReader::readIt()
|
|||||||
/* e_version = */ getWord(data, m_elfData);
|
/* e_version = */ getWord(data, m_elfData);
|
||||||
m_elfData.entryPoint = getAddress(data, m_elfData);
|
m_elfData.entryPoint = getAddress(data, m_elfData);
|
||||||
|
|
||||||
quint64 e_phoff = getOffset(data, m_elfData);
|
/* quint64 e_phoff = */ getOffset(data, m_elfData);
|
||||||
quint64 e_shoff = getOffset(data, m_elfData);
|
quint64 e_shoff = getOffset(data, m_elfData);
|
||||||
/* e_flags = */ getWord(data, m_elfData);
|
/* e_flags = */ getWord(data, m_elfData);
|
||||||
|
|
||||||
@@ -200,7 +200,7 @@ ElfReader::Result ElfReader::readIt()
|
|||||||
|
|
||||||
quint32 e_phentsize = getHalfWord(data, m_elfData);
|
quint32 e_phentsize = getHalfWord(data, m_elfData);
|
||||||
QTC_CHECK(e_phentsize == (is64Bit ? 56 : 32));
|
QTC_CHECK(e_phentsize == (is64Bit ? 56 : 32));
|
||||||
quint32 e_phnum = getHalfWord(data, m_elfData);
|
/* quint32 e_phnum = */ getHalfWord(data, m_elfData);
|
||||||
|
|
||||||
quint32 e_shentsize = getHalfWord(data, m_elfData);
|
quint32 e_shentsize = getHalfWord(data, m_elfData);
|
||||||
|
|
||||||
@@ -272,14 +272,14 @@ ElfReader::Result ElfReader::readIt()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (e_phoff) {
|
// if (e_phoff) {
|
||||||
for (quint32 i = 0; i < e_phnum; ++i) {
|
// for (quint32 i = 0; i < e_phnum; ++i) {
|
||||||
const uchar *s = mapper.ustart + e_phoff + i * e_phentsize;
|
// const uchar *s = mapper.ustart + e_phoff + i * e_phentsize;
|
||||||
ElfProgramHeader ph;
|
// ElfProgramHeader ph;
|
||||||
parseProgramHeader(s, &ph, m_elfData);
|
// parseProgramHeader(s, &ph, m_elfData);
|
||||||
m_elfData.programHeaders.append(ph);
|
// m_elfData.programHeaders.append(ph);
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
return Ok;
|
return Ok;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -301,44 +301,44 @@ std::unique_ptr<ElfMapper> ElfReader::readSection(const QByteArray &name)
|
|||||||
return mapper;
|
return mapper;
|
||||||
}
|
}
|
||||||
|
|
||||||
static QByteArray cutout(const char *s)
|
// static QByteArray cutout(const char *s)
|
||||||
{
|
// {
|
||||||
QByteArray res(s, 80);
|
// QByteArray res(s, 80);
|
||||||
const int pos = res.indexOf('\0');
|
// const int pos = res.indexOf('\0');
|
||||||
if (pos != -1)
|
// if (pos != -1)
|
||||||
res.resize(pos - 1);
|
// res.resize(pos - 1);
|
||||||
return res;
|
// return res;
|
||||||
}
|
// }
|
||||||
|
|
||||||
QByteArray ElfReader::readCoreName(bool *isCore)
|
// QByteArray ElfReader::readCoreName(bool *isCore)
|
||||||
{
|
// {
|
||||||
*isCore = false;
|
// *isCore = false;
|
||||||
|
|
||||||
readIt();
|
// readIt();
|
||||||
|
|
||||||
ElfMapper mapper(this);
|
// ElfMapper mapper(this);
|
||||||
if (!mapper.map())
|
// if (!mapper.map())
|
||||||
return QByteArray();
|
// return QByteArray();
|
||||||
|
|
||||||
if (m_elfData.elftype != Elf_ET_CORE)
|
// if (m_elfData.elftype != Elf_ET_CORE)
|
||||||
return QByteArray();
|
// return QByteArray();
|
||||||
|
|
||||||
*isCore = true;
|
// *isCore = true;
|
||||||
|
|
||||||
for (int i = 0, n = m_elfData.sectionHeaders.size(); i != n; ++i)
|
// for (int i = 0, n = m_elfData.sectionHeaders.size(); i != n; ++i)
|
||||||
if (m_elfData.sectionHeaders.at(i).type == Elf_SHT_NOTE) {
|
// if (m_elfData.sectionHeaders.at(i).type == Elf_SHT_NOTE) {
|
||||||
const ElfSectionHeader &header = m_elfData.sectionHeaders.at(i);
|
// const ElfSectionHeader &header = m_elfData.sectionHeaders.at(i);
|
||||||
return cutout(mapper.start + header.offset + 0x40);
|
// return cutout(mapper.start + header.offset + 0x40);
|
||||||
}
|
// }
|
||||||
|
|
||||||
for (int i = 0, n = m_elfData.programHeaders.size(); i != n; ++i)
|
// for (int i = 0, n = m_elfData.programHeaders.size(); i != n; ++i)
|
||||||
if (m_elfData.programHeaders.at(i).type == Elf_PT_NOTE) {
|
// if (m_elfData.programHeaders.at(i).type == Elf_PT_NOTE) {
|
||||||
const ElfProgramHeader &header = m_elfData.programHeaders.at(i);
|
// const ElfProgramHeader &header = m_elfData.programHeaders.at(i);
|
||||||
return cutout(mapper.start + header.offset + 0xec);
|
// return cutout(mapper.start + header.offset + 0xec);
|
||||||
}
|
// }
|
||||||
|
|
||||||
return QByteArray();
|
// return QByteArray();
|
||||||
}
|
// }
|
||||||
|
|
||||||
int ElfData::indexOf(const QByteArray &name) const
|
int ElfData::indexOf(const QByteArray &name) const
|
||||||
{
|
{
|
||||||
|
@@ -104,15 +104,15 @@ public:
|
|||||||
quint64 addr;
|
quint64 addr;
|
||||||
};
|
};
|
||||||
|
|
||||||
class ElfProgramHeader
|
// class ElfProgramHeader
|
||||||
{
|
// {
|
||||||
public:
|
// public:
|
||||||
quint32 name;
|
// quint32 name;
|
||||||
quint32 type;
|
// quint32 type;
|
||||||
quint64 offset;
|
// quint64 offset;
|
||||||
quint64 filesz;
|
// quint64 filesz;
|
||||||
quint64 memsz;
|
// quint64 memsz;
|
||||||
};
|
// };
|
||||||
|
|
||||||
class QTCREATOR_UTILS_EXPORT ElfData
|
class QTCREATOR_UTILS_EXPORT ElfData
|
||||||
{
|
{
|
||||||
@@ -130,7 +130,7 @@ public:
|
|||||||
QByteArray buildId;
|
QByteArray buildId;
|
||||||
DebugSymbolsType symbolsType = UnknownSymbols;
|
DebugSymbolsType symbolsType = UnknownSymbols;
|
||||||
QList<ElfSectionHeader> sectionHeaders;
|
QList<ElfSectionHeader> sectionHeaders;
|
||||||
QList<ElfProgramHeader> programHeaders;
|
// QList<ElfProgramHeader> programHeaders;
|
||||||
};
|
};
|
||||||
|
|
||||||
class QTCREATOR_UTILS_EXPORT ElfReader
|
class QTCREATOR_UTILS_EXPORT ElfReader
|
||||||
@@ -142,7 +142,7 @@ public:
|
|||||||
ElfData readHeaders();
|
ElfData readHeaders();
|
||||||
std::unique_ptr<ElfMapper> readSection(const QByteArray §ionName);
|
std::unique_ptr<ElfMapper> readSection(const QByteArray §ionName);
|
||||||
QString errorString() const { return m_errorString; }
|
QString errorString() const { return m_errorString; }
|
||||||
QByteArray readCoreName(bool *isCore);
|
// QByteArray readCoreName(bool *isCore);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
friend class ElfMapper;
|
friend class ElfMapper;
|
||||||
|
Reference in New Issue
Block a user