This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
[PATCH][aarch64] fix inline asm clobber list in tls-macros.h
- From: Szabolcs Nagy <szabolcs dot nagy at arm dot com>
- To: libc-alpha at sourceware dot org
- Cc: Marcus Shawcroft <marcus dot shawcroft at arm dot com>
- Date: Thu, 05 Mar 2015 10:12:15 +0000
- Subject: [PATCH][aarch64] fix inline asm clobber list in tls-macros.h
- Authentication-results: sourceware.org; auth=none
AArch64 TLS_GD macro calls __tlsget_addr from inline asm, because
the exact TLS instruction sequence matters, but cc was not on the
clobber list so elf/tst-tlsmod2.so was miscompiled and thus
elf/tst-tls4 and elf/tst-tls-dlinfo tests failed.
It seems tls-macros.h is only used in tests.
Is this patch ok?
Changelog:
2015-03-05 Szabolcs Nagy <szabolcs.nagy@arm.com>
* sysdeps/aarch64/tls-macros.h (TLS_GD): Add "cc" to the clobber list.
diff --git a/sysdeps/aarch64/tls-macros.h b/sysdeps/aarch64/tls-macros.h
index 07d02eb..8142185 100644
--- a/sysdeps/aarch64/tls-macros.h
+++ b/sysdeps/aarch64/tls-macros.h
@@ -29,7 +29,7 @@
: "x1", "x2", "x3", "x4", "x5", "x6", \
"x7", "x8", "x9", "x10", "x11", "x12", \
"x13", "x14", "x15", "x16", "x17", "x18", \
- "x30", "memory"); \
+ "x30", "memory", "cc"); \
(int *) (__result); })
#define TLS_IE(x) \