ARM: 7670/1: fix the memset fix
authorNicolas Pitre <nicolas.pitre@linaro.org>
Tue, 12 Mar 2013 12:00:42 +0000 (13:00 +0100)
committerGrazvydas Ignotas <notasas@gmail.com>
Sat, 14 Dec 2013 21:15:42 +0000 (23:15 +0200)
commit249197068c299a407a72f3c4cb88e75f3cdf3d6b
tree4adb239e6fc274aa926623ed0fdbf9c993312987
parent8ea7808bd767321c7bce4bcc06a43dbd7e6ee3b3
ARM: 7670/1: fix the memset fix

Commit 455bd4c430b0 ("ARM: 7668/1: fix memset-related crashes caused by
recent GCC (4.7.2) optimizations") attempted to fix a compliance issue
with the memset return value.  However the memset itself became broken
by that patch for misaligned pointers.

This fixes the above by branching over the entry code from the
misaligned fixup code to avoid reloading the original pointer.

Also, because the function entry alignment is wrong in the Thumb mode
compilation, that fixup code is moved to the end.

While at it, the entry instructions are slightly reworked to help dual
issue pipelines.

Signed-off-by: Nicolas Pitre <nico@linaro.org>
Tested-by: Alexander Holler <holler@ahsoftware.de>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
arch/arm/lib/memset.S