summaryrefslogtreecommitdiff
path: root/toolchain/binutils/patches/2.29.1/xtensa-fix-memory-corruption-by-broken-sysregs.patch
diff options
context:
space:
mode:
Diffstat (limited to 'toolchain/binutils/patches/2.29.1/xtensa-fix-memory-corruption-by-broken-sysregs.patch')
-rw-r--r--toolchain/binutils/patches/2.29.1/xtensa-fix-memory-corruption-by-broken-sysregs.patch42
1 files changed, 0 insertions, 42 deletions
diff --git a/toolchain/binutils/patches/2.29.1/xtensa-fix-memory-corruption-by-broken-sysregs.patch b/toolchain/binutils/patches/2.29.1/xtensa-fix-memory-corruption-by-broken-sysregs.patch
deleted file mode 100644
index 30103ee05..000000000
--- a/toolchain/binutils/patches/2.29.1/xtensa-fix-memory-corruption-by-broken-sysregs.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From 3c8788dbb70b40e737d4b8e30cab81406e5c5091 Mon Sep 17 00:00:00 2001
-From: Max Filippov <jcmvbkbc@gmail.com>
-Date: Wed, 2 Aug 2017 00:36:05 -0700
-Subject: [PATCH] xtensa: fix memory corruption by broken sysregs
-
-In some xtensa configurations there may be system/user registers in
-xtensa-modules with negative index. ISA initialization for such config
-may clobber heap and result in program termination.
-Don't update lookup table entries for register with negative indices.
-They are not directly accessible via RSR/WSR/XSR or RUR/WUR, so this
-change should not affect processing of valid assembly/binary code.
-
-bfd/
-2017-08-02 Max Filippov <jcmvbkbc@gmail.com>
-
- * xtensa-isa.c (xtensa_isa_init): Don't update lookup table
- entries for sysregs with negative indices.
-
-Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
----
-Backported from: d84ed528d4817b0ff854006b65a9f6ec75f0407a
-
- bfd/xtensa-isa.c | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/bfd/xtensa-isa.c b/bfd/xtensa-isa.c
-index 8da75bea8109..8c6ee88fdeae 100644
---- a/bfd/xtensa-isa.c
-+++ b/bfd/xtensa-isa.c
-@@ -292,7 +292,8 @@ xtensa_isa_init (xtensa_isa_status *errno_p, char **error_msg_p)
- xtensa_sysreg_internal *sreg = &isa->sysregs[n];
- is_user = sreg->is_user;
-
-- isa->sysreg_table[is_user][sreg->number] = n;
-+ if (sreg->number >= 0)
-+ isa->sysreg_table[is_user][sreg->number] = n;
- }
-
- /* Set up the interface lookup table. */
---
-2.1.4
-