re PR sanitizer/88289 (r266664 causes asan to fail on many/most tests on BE)

PR sanitizer/88289
	* asan.c (asan_redzone_buffer::flush_redzone_payload): Fix up
	an off-by-one for BYTES_BIG_ENDIAN.

From-SVN: r266708
This commit is contained in:
Jakub Jelinek 2018-12-01 08:31:56 +01:00 committed by Jakub Jelinek
parent 6b4f5050a9
commit a5b2566158
2 changed files with 5 additions and 1 deletions

View file

@ -1,5 +1,9 @@
2018-12-01 Jakub Jelinek <jakub@redhat.com>
PR sanitizer/88289
* asan.c (asan_redzone_buffer::flush_redzone_payload): Fix up
an off-by-one for BYTES_BIG_ENDIAN.
PR target/54589
* combine.c (find_split_point): For invalid memory address
nonobj + obj + const, if reg + obj + const is valid addressing

View file

@ -1326,7 +1326,7 @@ asan_redzone_buffer::flush_redzone_payload (void)
for (unsigned i = 0; i < RZ_BUFFER_SIZE; i++)
{
unsigned char v
= m_shadow_bytes[BYTES_BIG_ENDIAN ? RZ_BUFFER_SIZE - i : i];
= m_shadow_bytes[BYTES_BIG_ENDIAN ? RZ_BUFFER_SIZE - i - 1 : i];
val |= (unsigned HOST_WIDE_INT)v << (BITS_PER_UNIT * i);
if (dump_file && (dump_flags & TDF_DETAILS))
fprintf (dump_file, "%02x ", v);