diff options
author | Ilya Leoshkevich <iii@linux.ibm.com> | 2018-09-25 06:38:20 +0000 |
---|---|---|
committer | Ilya Leoshkevich <iii@gcc.gnu.org> | 2018-09-25 06:38:20 +0000 |
commit | d5c4f75ddbf2994b6c462ed4b624ab5fcf23674f (patch) | |
tree | dfab1d5f8d007337eaf612fa53c320d10aa138c9 /gcc/alias.c | |
parent | 75902396e6dbed2a3cacb42452992db156c6f32f (diff) | |
download | gcc-d5c4f75ddbf2994b6c462ed4b624ab5fcf23674f.zip gcc-d5c4f75ddbf2994b6c462ed4b624ab5fcf23674f.tar.gz gcc-d5c4f75ddbf2994b6c462ed4b624ab5fcf23674f.tar.bz2 |
Fix EQ_ATTR_ALT size calculation (PR bootstrap/87417)
"r264537: Change EQ_ATTR_ALT to support up to 64 alternatives" changed
the format of EQ_ATTR_ALT from ii to ww. This broke the bootstrap on
32-bit systems, because the formula for rtx_code_size assumed that only
certain codes contain HOST_WIDE_INTs. This did not surface on 64-bit
systems, because rtunion is 8 bytes anyway, but on 32-bit systems it's
only 4 bytes. This resulted in out-of-bounds writes and memory
corruptions in genattrtab.
gcc/ChangeLog:
2018-09-25 Ilya Leoshkevich <iii@linux.ibm.com>
PR bootstrap/87417
* rtl.c (rtx_code_size): Take into account that EQ_ATTR_ALT
contains HOST_WIDE_INTs when computing its size.
From-SVN: r264556
Diffstat (limited to 'gcc/alias.c')
0 files changed, 0 insertions, 0 deletions