aboutsummaryrefslogtreecommitdiffstats
path: root/main/musl/0011-fix-build-regression-in-arm-atomics-asm-with-new-bin.patch
blob: 37373594e29d0daf42aef605955c93844fe45768 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
From b261a24256792177a5f0531dbb25cc6267220ca5 Mon Sep 17 00:00:00 2001
From: Rich Felker <dalias@aerifal.cx>
Date: Wed, 15 Feb 2017 17:05:50 -0500
Subject: [PATCH] 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 | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/thread/arm/atomics.s b/src/thread/arm/atomics.s
index 202faa4a..101ad391 100644
--- a/src/thread/arm/atomics.s
+++ b/src/thread/arm/atomics.s
@@ -84,7 +84,7 @@ __a_gettp_cp15:
 	bx lr
 
 /* Tag this file with minimum ISA level so as not to affect linking. */
-.arch armv4t
+.object_arch armv4t
 .eabi_attribute 6,2
 
 .data
-- 
2.11.1