[ARM] Fix ICE in Armv8-M Security Extensions code
authorThomas Preud'homme <thomas.preudhomme@arm.com>
Fri, 17 Nov 2017 10:00:02 +0000 (10:00 +0000)
committerThomas Preud'homme <thopre01@gcc.gnu.org>
Fri, 17 Nov 2017 10:00:02 +0000 (10:00 +0000)
commitcbabe49571dbc94f0dc810f7a7f122b9fdfbc5be
treee09a7ff3e3688b706f87812fb51675f076f89a93
parentc5e8a8c94a7f2e87b7b12f42cfda68a40ac58491
[ARM] Fix ICE in Armv8-M Security Extensions code

Commit r253825 which introduced some sanity checks for sbitmap revealed
a bug in the conversion of cmse_nonsecure_entry_clear_before_return ()
to using bitmap structure. bitmap_and expects that the two bitmaps have
the same length, yet the code in
cmse_nonsecure_entry_clear_before_return () have different size for
to_clear_bitmap and to_clear_arg_regs_bitmap, with the assumption that
bitmap_and would behave has if the bits not allocated were in fact zero.
This commit makes sure both bitmap are equally sized.

2017-11-17  Thomas Preud'homme  <thomas.preudhomme@arm.com>

    gcc/
    * config/arm/arm.c (cmse_nonsecure_entry_clear_before_return): Allocate
    to_clear_arg_regs_bitmap to the same size as to_clear_bitmap.

From-SVN: r254859
gcc/ChangeLog
gcc/config/arm/arm.c