• Russell King's avatar
    ARM: Blacklist GCC 4.8.0 to GCC 4.8.2 - PR58854 · 7fc15054
    Russell King authored
    These stock GCC versions miscompile the kernel by incorrectly optimising
    the function epilogue code - by first increasing the stack pointer, and
    then loading entries from below the stack.  This means that an opportune
    interrupt or exception will corrupt the current function's saved state,
    which may result in the parent function seeing different register
    values.
    
    As this bug has been known to result in corrupted filesystems, and these
    buggy compiler versions seem to be frequently used, we have little
    option but to blacklist these compiler versions.
    
    Distributions may have fixed PR58854, but as their compilers are totally
    indistinguishable from the buggy versions, it is unfortunate that this
    also results in those also being blacklisted.  Given the filesystem
    corruption potential of the original, this is the lesser evil.  People
    who want to build with their fixed compiler versions will need to adjust
    the kernel source.  (Distros need to think about the implications of
    fixing such a compiler bug, and consider how to ensure that their fixed
    compiler versions can be detected if they wish to avoid this.)
    Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
    7fc15054
asm-offsets.c 9.22 KB