From 0e1d7c6b1420447e328cfed8eb56a924b3a7c8d5 Mon Sep 17 00:00:00 2001 From: Joerg Bornemann Date: Wed, 6 Jun 2012 15:30:39 +0200 Subject: [PATCH] Windows compile fix for elfreader Change-Id: Ie7c0d9d57cddc609fe621876cfc63e0c60b0fa39 Reviewed-by: hjk --- src/libs/utils/elfreader.cpp | 12 ++++++------ src/libs/utils/elfreader.h | 3 ++- src/plugins/debugger/gdb/gdbengine.cpp | 4 ++-- 3 files changed, 10 insertions(+), 9 deletions(-) diff --git a/src/libs/utils/elfreader.cpp b/src/libs/utils/elfreader.cpp index 1bf20b81a9c..3a357ef0974 100644 --- a/src/libs/utils/elfreader.cpp +++ b/src/libs/utils/elfreader.cpp @@ -122,7 +122,7 @@ ElfReader::ElfReader(const QString &binary) ElfHeaders ElfReader::readHeaders() { - if (m_headers.isEmpty()) + if (m_headers.headers.isEmpty()) readIt(); return m_headers; } @@ -271,7 +271,7 @@ ElfReader::Result ElfReader::readIt() m_headers.symbolsType = PlainSymbols; else if (section.name == ".gnu_debuglink") m_headers.symbolsType = SeparateSymbols; - m_headers.append(section); + m_headers.headers.append(section); s += e_shentsize; } @@ -281,7 +281,7 @@ ElfReader::Result ElfReader::readIt() QByteArray ElfReader::readSection(const QByteArray &name) { QByteArray contents; - if (m_headers.isEmpty()) + if (m_headers.headers.isEmpty()) readIt(); int i = m_headers.indexOf(name); if (i == -1) @@ -291,7 +291,7 @@ QByteArray ElfReader::readSection(const QByteArray &name) if (!mapper.map()) return contents; - const ElfHeader §ion = m_headers.at(i); + const ElfHeader §ion = m_headers.headers.at(i); contents = QByteArray((const char *)mapper.start + section.offset, section.size); return contents; @@ -299,8 +299,8 @@ QByteArray ElfReader::readSection(const QByteArray &name) int ElfHeaders::indexOf(const QByteArray &name) const { - for (int i = 0, n = size(); i != n; ++i) - if (at(i).name == name) + for (int i = 0, n = headers.size(); i != n; ++i) + if (headers.at(i).name == name) return i; return -1; } diff --git a/src/libs/utils/elfreader.h b/src/libs/utils/elfreader.h index 21378a7e267..af65c42445a 100644 --- a/src/libs/utils/elfreader.h +++ b/src/libs/utils/elfreader.h @@ -73,7 +73,7 @@ public: quint64 data; }; -class QTCREATOR_UTILS_EXPORT ElfHeaders : public QList +class QTCREATOR_UTILS_EXPORT ElfHeaders { public: ElfHeaders() : symbolsType(UnknownSymbols) {} @@ -81,6 +81,7 @@ public: public: DebugSymbolsType symbolsType; + QList headers; }; class QTCREATOR_UTILS_EXPORT ElfReader diff --git a/src/plugins/debugger/gdb/gdbengine.cpp b/src/plugins/debugger/gdb/gdbengine.cpp index f50a2a6aaa0..a3d89f6dc24 100644 --- a/src/plugins/debugger/gdb/gdbengine.cpp +++ b/src/plugins/debugger/gdb/gdbengine.cpp @@ -5385,7 +5385,7 @@ void GdbEngine::checkForReleaseBuild() } QSet seen; - foreach (const ElfHeader §ion, sections) { + foreach (const ElfHeader §ion, sections.headers) { msg.append(section.name); msg.append(' '); if (interesting.contains(section.name)) @@ -5398,7 +5398,7 @@ void GdbEngine::checkForReleaseBuild() return; } - if (sections.isEmpty()) { + if (sections.headers.isEmpty()) { showMessage(_("NO SECTION HEADERS FOUND. IS THIS AN EXECUTABLE?")); return; }