
Hi Tom,
On Wed, 12 Feb 2014 09:35:55 -0500, Tom Rini trini@ti.com wrote:
On Tue, Feb 11, 2014 at 05:37:55PM +0100, Albert ARIBAUD wrote:
Hi Måns,
On Tue, 11 Feb 2014 15:33:09 +0000, Måns Rullgård mans@mansr.com wrote:
The problem is that the current settings do the exact opposite. By using -munaligned-access by default, you are asking the compiler to go ahead and do whatever it thinks is best, which is sometimes to perform an intentional unaligned access. Exactly when this will happen is largely impossible to predict.
The -munaligned-access option does *not* "[ask] the compiler to go ahead and do whatever it thinks is best", it tells it to use direct native accesses when unaligned accesses are required, as opposed to splitting unaligned accesses into smaller but aligned aligned native accesses, which is what you get with -mno-unaligned-access.
Incorrect, and gets to the heart of our problem. It says that native unaligned accesses are valid and make use of this as appropriate. So our goal of "make the compiler use native unaligned accesses so we can find bad code" is invalid. It's making properly written code fail instead and improperly written code will still be just as improper.
Code which translates into uncontrolled unaligned accesses is not properly written.
Amicalement,