diff options
Diffstat (limited to 'toolchain/gcc/patches/9.2.0/100-Fix_uninitialised_use_in_mips_split_move.patch')
-rw-r--r-- | toolchain/gcc/patches/9.2.0/100-Fix_uninitialised_use_in_mips_split_move.patch | 55 |
1 files changed, 0 insertions, 55 deletions
diff --git a/toolchain/gcc/patches/9.2.0/100-Fix_uninitialised_use_in_mips_split_move.patch b/toolchain/gcc/patches/9.2.0/100-Fix_uninitialised_use_in_mips_split_move.patch deleted file mode 100644 index 3529a19d8c..0000000000 --- a/toolchain/gcc/patches/9.2.0/100-Fix_uninitialised_use_in_mips_split_move.patch +++ /dev/null @@ -1,55 +0,0 @@ -From d57faea9337ad595d005687247c3322252f70ba1 Mon Sep 17 00:00:00 2001 -From: rsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4> -Date: Sun, 7 Jul 2019 09:49:14 +0000 -Subject: [PATCH] Fix uninitialised use in mips_split_move - -While testing the fix for PR91068, I hit an rtl checking failure -while building newlib. mips_split_move was decomposing an address that -happened to be symbolic and then tried to access the REGNO of the base -register field, which wasn't initialised but which by chance pointed to -valid memory. - -2019-07-07 Richard Sandiford <richard.sandiford@arm.com> - -gcc/ - * config/mips/mips.c (mips_split_move): Zero-initialize addr - and check whether addr.reg is nonnull before using it. - - -git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@273174 138bc75d-0d04-0410-961f-82ee72b054a4 ---- - gcc/ChangeLog | 5 +++++ - gcc/config/mips/mips.c | 4 ++-- - 2 files changed, 7 insertions(+), 2 deletions(-) - ---- a/gcc/ChangeLog -+++ b/gcc/ChangeLog -@@ -1,3 +1,8 @@ -+2019-07-07 Richard Sandiford <richard.sandiford@arm.com> -+ -+ * config/mips/mips.c (mips_split_move): Zero-initialize addr -+ and check whether addr.reg is nonnull before using it. -+ - 2019-08-12 Release Manager - - * GCC 9.2.0 released. ---- a/gcc/config/mips/mips.c -+++ b/gcc/config/mips/mips.c -@@ -4849,7 +4849,7 @@ mips_split_move (rtx dest, rtx src, enum - can forward SRC for DEST. This is most useful if the next insn is a - simple store. */ - rtx_insn *insn = (rtx_insn *)insn_; -- struct mips_address_info addr; -+ struct mips_address_info addr = {}; - if (insn) - { - rtx_insn *next = next_nonnote_nondebug_insn_bb (insn); -@@ -4862,7 +4862,7 @@ mips_split_move (rtx dest, rtx src, enum - { - rtx tmp = XEXP (src, 0); - mips_classify_address (&addr, tmp, GET_MODE (tmp), true); -- if (REGNO (addr.reg) != REGNO (dest)) -+ if (addr.reg && REGNO (addr.reg) != REGNO (dest)) - validate_change (next, &SET_SRC (set), src, false); - } - else |