[Bug middle-end/51442] New: volatile bitfields broken on arm
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51442 Bug #: 51442 Summary: volatile bitfields broken on arm Classification: Unclassified Product: gcc Version: 4.6.3 Status: UNCONFIRMED Severity: normal Priority: P3 Component: middle-end AssignedTo: unassig...@gcc.gnu.org ReportedBy: bcono...@gmail.com
[Bug middle-end/51442] volatile bitfields broken on arm
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51442 --- Comment #1 from Brendan Conoboy 2011-12-06 21:02:22 UTC --- This bug is in reference to the patch that Diego Novillo accepted into 4.7 about 10 months ago: http://gcc.gnu.org/ml/gcc-patches/2011-03/msg01477.html The issue is still present in gcc 4.6.x and the same patch resolves the issue. This is a problem for all gcc 4.6-based ARM targets. In Debian, the discussion and resolution is here: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=625825 Linaro and Ubuntu use the same patch. Discussion here: https://bugs.launchpad.net/gcc-linaro/+bug/675347 We've been carrying the patch in Fedora-ARM as well. Without the patch applied the USB stack is broken on ARM, as are various KDE/Qt builds.
[Bug middle-end/51442] volatile bitfields broken on arm
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51442 --- Comment #2 from Brendan Conoboy 2011-12-06 21:12:46 UTC --- Created attachment 26010 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=26010 Only use BLKmode for volatile accesses which are not naturally aligned. Per Julian Brown's original email at http://gcc.gnu.org/ml/gcc-patches/2011-03/msg01477.html: gcc/ * expr.c (expand_expr_real_1): Only use BLKmode for volatile accesses which are not naturally aligned.
[Bug middle-end/51442] volatile bitfields broken on arm
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51442 --- Comment #4 from Brendan Conoboy 2011-12-10 01:49:25 UTC --- FYI, I've checked out svn://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch revision 182172, run and rerun the complete testsuite before and after this patch (As well as the patch Richard pointed at: http://gcc.gnu.org/ml/gcc-patches/2011-11/msg01390/volatile-bitfields-1110.patch) on an x86_64 host. The results are as follows: objc, gfortran, libstdc++-v3, libjava, libmudflap, libffi, libgomp: identical gcc: 2 new passes (These are from the testcase added by the second patch). Otherwise identical. To me this suggests there is very little risk in adding these patches to the branch. Likewise, there is a great deal to be gained for ARM users.