• Nicolas Pitre's avatar
    ARM: 7670/1: fix the memset fix · 418df63a
    Nicolas Pitre authored
    Commit 455bd4c4 ("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: default avatarNicolas Pitre <nico@linaro.org>
    Tested-by: default avatarAlexander Holler <holler@ahsoftware.de>
    Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
    418df63a
memset.S 2.33 KB