[aarch64] fix inline asm clobber list in tls-macros.h
Commit Message
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.
Comments
On 05/03/15 10:12, Szabolcs Nagy wrote:
> 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?
>
ping
> Changelog:
>
> 2015-03-05 Szabolcs Nagy <szabolcs.nagy@arm.com>
>
> * sysdeps/aarch64/tls-macros.h (TLS_GD): Add "cc" to the clobber list.
>
On 5 March 2015 at 10:12, Szabolcs Nagy <szabolcs.nagy@arm.com> wrote:
> 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.
OK and committed for you.
/Marcus
@@ -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) \