Messages in this thread | | | From | Catalin Marinas <> | Date | Wed, 7 Sep 2011 17:43:12 +0100 | Subject | Re: [PATCH] ARM: alignment: setup alignment handler earlier |
| |
On 7 September 2011 17:28, Russell King - ARM Linux <linux@arm.linux.org.uk> wrote: > On Wed, Sep 07, 2011 at 03:40:16PM +0100, Catalin Marinas wrote: >> On Wed, Sep 07, 2011 at 02:35:04PM +0100, John Ogness wrote: >> > From 6f3f381800367127dc6430d9b9fa9bd6fc6d8ed0 Mon Sep 17 00:00:00 2001 >> > From: John Ogness <john.ogness@linutronix.de> >> > >> > The alignment exception handler is setup fairly late in >> > the boot process (fs_initcall). However, with newer gcc >> > versions and the compiler option -fconserve-stack, code >> > accessing unaligned data is generated in functions that >> > are called earlier, for example pcpu_dump_alloc_info(). >> > This results in unhandled alignment exceptions during >> > boot. By setting up the exception handler sooner, we >> > reduce the window where a compiler may generate code >> > accessing unaligned data. >> >> While this reduces the window and fixes this particular case, it still >> doesn't solve the problem. We never know when some unaligned access >> would be generated for some earlier code. > > Is the problem even solvable? There are instructions on ARMv6+ which > always produce an alignment fault (eg, ldrd) irrespective of strict > alignment checking.
We can just hope that the compiler isn't that bad as to generate unaligned accesses with those instructions that are known to fault. That's what I would consider a compiler bug.
-- Catalin -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |