summaryrefslogtreecommitdiff
path: root/src/libs/utils/elfreader.cpp
diff options
context:
space:
mode:
authorhjk <qtc-committer@nokia.com>2012-06-04 18:06:59 +0200
committerhjk <qthjk@ovi.com>2012-06-05 11:23:57 +0200
commita7f8c3c8274d0ebc0225b62b18cb3cab26caac59 (patch)
treef9ebf0d8a584d4cd106fbcefb8f719e0239e98ad /src/libs/utils/elfreader.cpp
parent1b1dbf1b8b6cda0c4e63ef08b56f09e8fb755afd (diff)
downloadqt-creator-a7f8c3c8274d0ebc0225b62b18cb3cab26caac59.tar.gz
debugger: reshuffle sections in module data
Keep track of elf section headers, add a dumper for Utils::ElfSection etc. Change-Id: I06d01c0de01ffc6b827a4a79bdc91fdb3e761d75 Reviewed-by: hjk <qthjk@ovi.com>
Diffstat (limited to 'src/libs/utils/elfreader.cpp')
-rw-r--r--src/libs/utils/elfreader.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/libs/utils/elfreader.cpp b/src/libs/utils/elfreader.cpp
index 8499599730..6ac1f5f77f 100644
--- a/src/libs/utils/elfreader.cpp
+++ b/src/libs/utils/elfreader.cpp
@@ -225,6 +225,13 @@ ElfReader::Result ElfReader::parse(const char *dataStart, quint64 fdlen,
section.index = strtab.name;
section.offset = strtab.offset;
section.size = strtab.size;
+ if (section.name == ".gdb_index")
+ sections->symbolsType = FastSymbols;
+ else if (section.name == ".debug_info")
+ sections->symbolsType = PlainSymbols;
+ else if (section.name == ".gnu_debuglink")
+ sections->symbolsType = SeparateSymbols;
+ sections->sections.append(section);
}
s += e_shentsize;