aboutsummaryrefslogtreecommitdiffstats
path: root/src/3rdparty
diff options
context:
space:
mode:
authorUlf Hermann <ulf.hermann@qt.io>2021-06-16 13:49:17 +0200
committerUlf Hermann <ulf.hermann@qt.io>2021-06-17 09:02:08 +0200
commit636481a31110f1819efaf6500b25fbc395854311 (patch)
tree439fbb3790833c90629d78db80e9157f2d9ad4c8 /src/3rdparty
parent733bb4366e6a59dcfd7be0b33e1ac885eb76e13c (diff)
Avoid undefined behavior in the JIT
We need to add an entry to all the RegisterID enums, so that we can mark a RegisterID as invalid. Pick-to: 6.2 Task-number: QTBUG-94068 Change-Id: I5c13b271eade50fd63327612514ba7ebe33a5c39 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Andrei Golubev <andrei.golubev@qt.io>
Diffstat (limited to 'src/3rdparty')
-rw-r--r--src/3rdparty/masm/assembler/ARM64Assembler.h1
-rw-r--r--src/3rdparty/masm/assembler/ARMv7Assembler.h1
-rw-r--r--src/3rdparty/masm/assembler/MIPSAssembler.h3
-rw-r--r--src/3rdparty/masm/assembler/X86Assembler.h1
4 files changed, 5 insertions, 1 deletions
diff --git a/src/3rdparty/masm/assembler/ARM64Assembler.h b/src/3rdparty/masm/assembler/ARM64Assembler.h
index a856196fe6..1431df50c8 100644
--- a/src/3rdparty/masm/assembler/ARM64Assembler.h
+++ b/src/3rdparty/masm/assembler/ARM64Assembler.h
@@ -517,6 +517,7 @@ typedef enum {
x29 = fp,
x30 = lr,
zr = 0x3f,
+ none = 0xff,
} RegisterID;
typedef enum {
diff --git a/src/3rdparty/masm/assembler/ARMv7Assembler.h b/src/3rdparty/masm/assembler/ARMv7Assembler.h
index 03cb9f42f8..330b6c3629 100644
--- a/src/3rdparty/masm/assembler/ARMv7Assembler.h
+++ b/src/3rdparty/masm/assembler/ARMv7Assembler.h
@@ -64,6 +64,7 @@ namespace ARMRegisters {
r13, sp = r13,
r14, lr = r14,
r15, pc = r15,
+ none = 0xff,
} RegisterID;
typedef enum {
diff --git a/src/3rdparty/masm/assembler/MIPSAssembler.h b/src/3rdparty/masm/assembler/MIPSAssembler.h
index 7f553bb9a1..0419ea0504 100644
--- a/src/3rdparty/masm/assembler/MIPSAssembler.h
+++ b/src/3rdparty/masm/assembler/MIPSAssembler.h
@@ -105,7 +105,8 @@ typedef enum {
gp = r28,
sp = r29,
fp = r30,
- ra = r31
+ ra = r31,
+ none = 0xff,
} RegisterID;
typedef enum {
diff --git a/src/3rdparty/masm/assembler/X86Assembler.h b/src/3rdparty/masm/assembler/X86Assembler.h
index e8ae687036..1061021227 100644
--- a/src/3rdparty/masm/assembler/X86Assembler.h
+++ b/src/3rdparty/masm/assembler/X86Assembler.h
@@ -62,6 +62,7 @@ namespace X86Registers {
r14,
r15,
#endif
+ none = 0xff,
} RegisterID;
typedef enum {