aboutsummaryrefslogtreecommitdiff
path: root/contrib/bug216610/go/fibber/fibs_linux_amd64.s
diff options
context:
space:
mode:
authorSadaf Ebrahimi <sadafebrahimi@google.com>2023-08-24 01:50:07 +0000
committerAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2023-08-24 01:50:07 +0000
commitd7d1a0a38c5be06a7e7d6391d140b54878836f48 (patch)
tree14cfbb9d58780e8b97fa7ed642ea8b7dc1233c6c /contrib/bug216610/go/fibber/fibs_linux_amd64.s
parentbff7ee0debce60af18a069d107327bad351e41e8 (diff)
parent9577b17009379649c9220edca7d0077311445b95 (diff)
downloadlibcap-d7d1a0a38c5be06a7e7d6391d140b54878836f48.tar.gz
Upgrade libcap to libcap-2.69 am: 3620cbbd3a am: 73ad227596 am: 8a1cf2a372 am: bed57b7ffc am: 9577b17009android-wear-14.0.0-gpl_r1android-14.0.0_r51android-14.0.0_r50android14-qpr3-release
Original change: https://android-review.googlesource.com/c/platform/external/libcap/+/2724494 Change-Id: I4ea4e156399ef29965e8ef1e5ce85c0fb0a969db Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
Diffstat (limited to 'contrib/bug216610/go/fibber/fibs_linux_amd64.s')
-rw-r--r--contrib/bug216610/go/fibber/fibs_linux_amd64.s21
1 files changed, 21 insertions, 0 deletions
diff --git a/contrib/bug216610/go/fibber/fibs_linux_amd64.s b/contrib/bug216610/go/fibber/fibs_linux_amd64.s
new file mode 100644
index 0000000..5992d09
--- /dev/null
+++ b/contrib/bug216610/go/fibber/fibs_linux_amd64.s
@@ -0,0 +1,21 @@
+// To transition from a Go call to a C function call, we are skating
+// on really thin ice... Ceveat Emptor!
+//
+// Ref:
+// https://gitlab.com/x86-psABIs/x86-64-ABI/-/wikis/home
+//
+// This is not strictly needed, but it makes gdb debugging less
+// confusing because spacer ends up being an alias for the TEXT
+// section start.
+TEXT ·spacer(SB),$0
+ RET
+
+#define RINDEX(n) (8*n)
+
+// Header to this function wrapper is the last time we can voluntarily
+// yield to some other goroutine.
+TEXT ·syso(SB),$0-16
+ MOVQ cFn+RINDEX(0)(FP), SI
+ MOVQ state+RINDEX(1)(FP), DI
+ CALL *SI
+ RET