[U-Boot] [PATCH v2] arm: Switch to -mno-unaligned-access when supported by the compiler

Albert ARIBAUD albert.u.boot at aribaud.net
Wed Feb 12 17:19:15 CET 2014


Hi Tom,

On Wed, 12 Feb 2014 09:35:55 -0500, Tom Rini <trini at 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 at 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,
-- 
Albert.


More information about the U-Boot mailing list