fix build regression in arm atomics asm with new binutils
commitb261a24256792177a5f0531dbb25cc6267220ca5
authorRich Felker <dalias@aerifal.cx>
Wed, 15 Feb 2017 22:05:50 +0000 (15 17:05 -0500)
committerRich Felker <dalias@aerifal.cx>
Wed, 15 Feb 2017 22:50:47 +0000 (15 17:50 -0500)
tree365eae630b83259920b4b7bab5974a86dc3c666a
parent9201c3afce0ff53a9b1c5da5285ff84c11dee9d4
fix build regression in arm atomics asm with new binutils

binutils commit bada43421274615d0d5f629a61a60b7daa71bc15 tightened
immediate fixup handling in gas in such a way that the final .arch of
an object file must be compatible with the fixups used when the
instruction was assembled; this in turn broke assembling of atomics.s,
at least in thumb mode.

it's not clear whether this should be considered a bug in gas, but
.object_arch is preferable anyway for our purpose here of controlling
the ISA level tag on the object file being produced, and it's the
intended directive for use in object files with runtime code
selection. research by Szabolcs Nagy confirmed that .object_arch is
supported in all relevant versions of binutils and clang's integrated
assembler.

patch by Reiner Herrmann.
src/thread/arm/atomics.s