diff options
author | Thiago Macieira <thiago.macieira@intel.com> | 2021-09-12 20:35:39 -0700 |
---|---|---|
committer | Thiago Macieira <thiago.macieira@intel.com> | 2021-09-14 12:25:54 -0700 |
commit | 21dd9b96a57846f916ed9654d93bbfdb89b1c1a8 (patch) | |
tree | 48b6c30e07810b4a413d3f6cb9ddc24373dc7eef /src/corelib/plugin | |
parent | 42ec48d8197847c72a6c527faadee59d219f2043 (diff) |
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>
Diffstat (limited to 'src/corelib/plugin')
-rw-r--r-- | src/corelib/plugin/qelfparser_p.cpp | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/src/corelib/plugin/qelfparser_p.cpp b/src/corelib/plugin/qelfparser_p.cpp index 07f9a5323b..bbcfe2f865 100644 --- a/src/corelib/plugin/qelfparser_p.cpp +++ b/src/corelib/plugin/qelfparser_p.cpp @@ -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; } |