Skip to content
  • Nicolas Pitre's avatar
    ARM: 8723/2: always assume the "unified" syntax for assembly code · 75fea300
    Nicolas Pitre authored
    
    
    The GNU assembler has implemented the "unified syntax" parsing since
    2005. This "unified" syntax is required when the kernel is built in
    Thumb2 mode. However the "unified" syntax is a mixed bag of features,
    including not requiring a `#' prefix with immediate operands. This leads
    to situations where some code builds just fine in Thumb2 mode and fails
    to build in ARM mode if that prefix is missing. This behavior
    discrepancy makes build tests less valuable, forcing both ARM and Thumb2
    builds for proper coverage.
    
    Let's "fix" this issue by always using the "unified" syntax for both ARM
    and Thumb2 mode. Given that the documented minimum binutils version that
    properly builds the kernel is version 2.20 released in 2010, we can
    assume that any toolchain capable of building the latest kernel is also
    "unified syntax" capable.
    
    Whith this, a bunch of macros used to mask some differences between both
    syntaxes can be removed, with the side effect of making LTO easier.
    
    Suggested-by: default avatarRobin Murphy <robin.murphy@arm.com>
    Signed-off-by: default avatarNicolas Pitre <nico@linaro.org>
    Signed-off-by: default avatarRussell King <rmk+kernel@armlinux.org.uk>
    75fea300