QElfParser: stop trying to look into the .rodata section

The return code NoQtSection was not being handled at all, so hasMetaData
remained equal to false. This was probably not intended, but has been
like that since Qt 5.0. See previous commit for details.

Change-Id: I42eb903a916645db9900fffd16a4445eff9a082c
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
This commit is contained in:
Thiago Macieira 2021-09-12 20:35:39 -07:00
parent 42ec48d819
commit 21dd9b96a5

View File

@ -204,7 +204,7 @@ auto QElfParser::parse(const char *dataStart, ulong fdlen, const QString &librar
qDebug() << "++++" << i << shnam;
#endif
if (qstrcmp(shnam, ".qtmetadata") == 0 || qstrcmp(shnam, ".rodata") == 0) {
if (qstrcmp(shnam, ".qtmetadata") == 0 ) {
if (!(sh.type & 0x1)) {
if (shnam[1] == 'r') {
if (lib)
@ -227,8 +227,7 @@ auto QElfParser::parse(const char *dataStart, ulong fdlen, const QString &librar
}
*pos = sh.offset;
*sectionlen = sh.size;
if (shnam[1] == 'q')
return QtMetaDataSection;
return QtMetaDataSection;
}
s += e_shentsize;
}