summaryrefslogtreecommitdiffstats
path: root/source/l/qt/QElfParser-fix-type-of-sh_size.patch
diff options
context:
space:
mode:
Diffstat (limited to 'source/l/qt/QElfParser-fix-type-of-sh_size.patch')
-rw-r--r--source/l/qt/QElfParser-fix-type-of-sh_size.patch41
1 files changed, 41 insertions, 0 deletions
diff --git a/source/l/qt/QElfParser-fix-type-of-sh_size.patch b/source/l/qt/QElfParser-fix-type-of-sh_size.patch
new file mode 100644
index 000000000..1c30f9a4f
--- /dev/null
+++ b/source/l/qt/QElfParser-fix-type-of-sh_size.patch
@@ -0,0 +1,41 @@
+From 9e981c4dd03effc2c52b52f529edfa8955e534ce Mon Sep 17 00:00:00 2001
+From: Pino Toscano <toscano.pino@tiscali.it>
+Date: Tue, 15 May 2012 14:40:15 +0200
+Subject: [PATCH] QElfParser: fix type of sh_size
+
+The type of the sh_size field of a section header is either Elf32_Word or Elf64_Xword,
+so the type used cannot be qelfword_t (always 32 bits) but qelfoff_t.
+
+Change-Id: Ia380b6823913fee7a96b39f742630ae3a9ca0cb8
+Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
+Reviewed-by: Arvid Picciani <arvid.picciani@nokia.com>
+(backport of 77b179689ba37dc909778fdd00df2701f83a2868 from qtbase)
+---
+ src/corelib/plugin/qelfparser_p.cpp | 4 ++--
+ src/corelib/plugin/qelfparser_p.h | 2 +-
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+--- a/src/corelib/plugin/qelfparser_p.cpp
++++ b/src/corelib/plugin/qelfparser_p.cpp
+@@ -61,8 +61,8 @@ const char *QElfParser::parseSectionHead
+ + sizeof(qelfaddr_t); // sh_addr
+ sh->offset = read<qelfoff_t>(data);
+ data += sizeof(qelfoff_t); // sh_offset
+- sh->size = read<qelfword_t>(data);
+- data += sizeof(qelfword_t); // sh_size
++ sh->size = read<qelfoff_t>(data);
++ data += sizeof(qelfoff_t); // sh_size
+ return data;
+ }
+
+--- a/src/corelib/plugin/qelfparser_p.h
++++ b/src/corelib/plugin/qelfparser_p.h
+@@ -80,7 +80,7 @@ public:
+ qelfword_t name;
+ qelfword_t type;
+ qelfoff_t offset;
+- qelfword_t size;
++ qelfoff_t size;
+ };
+
+ int m_endian;