Condition itet ARM instruction in strcpy.c on non-nacl
Unlike nacl-gcc, nacl-clang defaults to unified syntax for the compiler's
output. In pre-UAL syntax the it instruction is simply ignored; however in
unified syntax the condition is checked against the conditions on the
following instructions and an error is emitted if they do not match.
Since this it instruction specifies the conditions of the three
following instructions, they do not match when the sfi_breg
expands to additional instructions, triggering the error
when using nacl-clang.
Also change the condition for selecting the strcmp implementation
from __ARM_FEATURE_SIMD32 to __ARM_ARCH_PROFILE. The former
is only defined by the compiler when it supports certain
builtins (which clang does not support). But the builtins
are not actually needed, only assembler support for the
instructions.
So _ARM_ARCH_PROFILE better indicates the needed support.
R=jfb@chromium.org, mcgrathr@chromium.org
BUG= https://code.google.com/p/nativeclient/issues/detail?id=4018
Review URL: https://codereview.chromium.org/790643008
2 files changed