summaryrefslogtreecommitdiff
path: root/linuxthreads/sysdeps/unix/sysv/linux/alpha/vfork.S
diff options
context:
space:
mode:
authorRichard Henderson <rth@redhat.com>2003-06-06 05:51:03 +0000
committerRichard Henderson <rth@redhat.com>2003-06-06 05:51:03 +0000
commit63e1f70d4dcc68de6c6c31a3878bd319e9d79f81 (patch)
tree16bb7b68fd554326f6c498265c4929218bef9ec1 /linuxthreads/sysdeps/unix/sysv/linux/alpha/vfork.S
parent6f1e513dbbd1f786d93a6e402f2b23f4e0814a9d (diff)
downloadglibc-63e1f70d4dcc68de6c6c31a3878bd319e9d79f81.tar.gz
* sysdeps/unix/sysv/linux/alpha/sysdep-cancel.h (PSEUDO): Use and require CFI assembler directives. * sysdeps/unix/sysv/linux/alpha/vfork.S: Likewise.
2003-06-05 Richard Henderson <rth@redhat.com> * sysdeps/unix/sysv/linux/alpha/sysdep-cancel.h (PSEUDO): Use and require CFI assembler directives. * sysdeps/unix/sysv/linux/alpha/vfork.S: Likewise.
Diffstat (limited to 'linuxthreads/sysdeps/unix/sysv/linux/alpha/vfork.S')
-rw-r--r--linuxthreads/sysdeps/unix/sysv/linux/alpha/vfork.S17
1 files changed, 12 insertions, 5 deletions
diff --git a/linuxthreads/sysdeps/unix/sysv/linux/alpha/vfork.S b/linuxthreads/sysdeps/unix/sysv/linux/alpha/vfork.S
index b4f35e1a67..cfaae10606 100644
--- a/linuxthreads/sysdeps/unix/sysv/linux/alpha/vfork.S
+++ b/linuxthreads/sysdeps/unix/sysv/linux/alpha/vfork.S
@@ -19,12 +19,13 @@
#include <sysdep-cancel.h>
- .globl __vfork
.align 4
- .ent __vfork,0
-__LABEL(__vfork)
+ .globl __vfork
+ .type __vfork, @function
+ .usepv __vfork, std
+ cfi_startproc
+__vfork:
ldgp gp, 0(pv)
- .prologue 1
PSEUDO_PROF
#ifdef SHARED
@@ -46,18 +47,24 @@ __LABEL(__vfork)
fork and vfork object files. */
$do_fork:
subq sp, 16, sp
+ cfi_adjust_cfa_offset(16)
stq ra, 0(sp)
+ cfi_offset(ra, -16)
jsr ra, HIDDEN_JUMPTARGET (__fork)
ldgp gp, 0(ra)
ldq ra, 0(sp)
addq sp, 16, sp
+ cfi_restore(ra)
+ cfi_adjust_cfa_offset(-16)
ret
$syscall_error:
SYSCALL_ERROR_HANDLER
#endif
-PSEUDO_END(__vfork)
+ cfi_endproc
+ .size __vfork, .-__vfork
+
libc_hidden_def (__vfork)
weak_alias (__vfork, vfork)