Mitigation for PR target/88469 on arm-based systems bootstrapping with gcc-6/7/8
authorRichard Earnshaw <rearnsha@arm.com>
Thu, 24 Jan 2019 16:06:34 +0000 (16:06 +0000)
committerRichard Earnshaw <rearnsha@gcc.gnu.org>
Thu, 24 Jan 2019 16:06:34 +0000 (16:06 +0000)
commit21f657a48fe0d110f3d35646657090cd77d0f76a
treedfeb8cb4562d124b0e15d2b56ceeb02d1c659638
parente658669fe18d27bbde85085d648f0392f3f9bce6
Mitigation for PR target/88469 on arm-based systems bootstrapping with gcc-6/7/8

This patch, for gcc 8/9 is a mitigation patch for PR target/88469
where gcc-6/7/8 miscompile a structure whose alignment is dominated by
a 64-bit bitfield member.  Since the PCS rules for such a type must
ignore any overalignment of the base type we cannot address this by
simply adding a larger alignment to the class.  We can, however, force
the alignment of the bit-field itself and GCC will handle that as
desired.

PR target/88469
* profile-count.h (profile_count): On ARM systems using GCC 6/7/8
force the alignment of m_val.

From-SVN: r268240
gcc/ChangeLog
gcc/profile-count.h