getaddrinfo: add EAI_NODATA error code to distinguish NODATA vs NxDomain
[musl] / src / thread / aarch64 / syscall_cp.s
index 6302a0b..41db68a 100644 (file)
@@ -4,13 +4,20 @@
 // syscall(nr, u, v, w, x, y, z)
 //         x8  x0 x1 x2 x3 x4 x5
 
+.global __cp_begin
+.hidden __cp_begin
+.global __cp_end
+.hidden __cp_end
+.global __cp_cancel
+.hidden __cp_cancel
+.hidden __cancel
 .global __syscall_cp_asm
+.hidden __syscall_cp_asm
 .type __syscall_cp_asm,%function
 __syscall_cp_asm:
-.global __cp_begin
 __cp_begin:
        ldr w0,[x0]
-       cbnz w0,1f
+       cbnz w0,__cp_cancel
        mov x8,x1
        mov x0,x2
        mov x1,x3
@@ -19,9 +26,7 @@ __cp_begin:
        mov x4,x6
        mov x5,x7
        svc 0
-.global __cp_end
 __cp_end:
        ret
-
-       // cbnz might not be able to jump far enough
-1:     b __cancel
+__cp_cancel:
+       b __cancel