aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/libthread/Linux-sparc64-asm.s13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/libthread/Linux-sparc64-asm.s b/src/libthread/Linux-sparc64-asm.s
new file mode 100644
index 00000000..c371266f
--- /dev/null
+++ b/src/libthread/Linux-sparc64-asm.s
@@ -0,0 +1,13 @@
+ .section ".text", #alloc, #execinstr
+ .align 8
+ .skip 16
+ .global _tas
+! .type _tas,2
+_tas:
+ or %g0,1,%o1
+ swap [%o0],%o1 ! o0 points to lock; key is first word
+ retl
+ mov %o1, %o0
+
+ .size _tas,(.-_tas)
+