.globl __sigsuspend_nocancel; .align 4; .ent __sigsuspend_nocancel,0; __sigsuspend_nocancel: .frame $30, 0, $26; ldgp $29,0($27); .prologue 1; ldq $16, 0($16); lda $0, 111; call_pal 131; bne $19, $syscall_error ret .end __sigsuspend_nocancel .globl __sigsuspend; .align 4; .type __sigsuspend, @function; .usepv __sigsuspend, std; .cfi_startproc; __sigsuspend: ldgp $29, 0($27); ; ldq $16, 0($16); ldah $1, __libc_multiple_threads($29) !gprelhigh; ldl $1, __libc_multiple_threads($1) !gprellow; bne $1, $pseudo_cancel; lda $0, 111; call_pal 131; bne $19, $syscall_error; $pseudo_ret: .subsection 2; .cfi_startproc; $pseudo_cancel: subq $30, 64, $30; .cfi_def_cfa_offset 64; stq $26, 0($30); .cfi_offset $26, -64; ; stq $16, 8($30); jsr $26, __libc_enable_asynccancel; ldgp $26, 0($29); ; ldq $16, 8($30); mov $0, $26; lda $0, 111; call_pal 131; stq $0, 8($30); mov $26, $16; bne $19, $multi_error; jsr $26, __libc_disable_asynccancel; ldgp $26, 0($29); ldq $26, 0($30); ldq $0, 8($30); addq $30, 64, $30; .cfi_remember_state; .cfi_restore $26; .cfi_def_cfa_offset 0; ret; .cfi_restore_state; $multi_error: jsr $26, __libc_disable_asynccancel; ldgp $26, 0($29); ldq $26, 0($30); ldq $0, 8($30); addq $30, 64, $30; .cfi_restore $26; .cfi_def_cfa_offset 0; $syscall_error: jmp $31, __syscall_error; .cfi_endproc; .previous ret .cfi_endproc; .subsection 2; .size __sigsuspend, .-__sigsuspend .weak sigsuspend ; sigsuspend = __sigsuspend .globl __libc_sigsuspend ; __libc_sigsuspend = __sigsuspend