From 0934f142036f12292711770d353f1c01ab718db7 Mon Sep 17 00:00:00 2001 From: "\"Jan-Benedict Glaw\"" Date: Fri, 27 Jan 2006 21:20:28 +0000 Subject: First round of VAX patches. This isn't complete right now, there are for sure still bugs (properly hidden, of course), a libm is completely missing (I've got one that implements some basic stuff, but that's really not ready for checking in...) I've also got a list of other things that need touch-ups, but that's mostly minor stuff that'll be done during the next days. --- libc/sysdeps/linux/vax/setjmp.S | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 libc/sysdeps/linux/vax/setjmp.S (limited to 'libc/sysdeps/linux/vax/setjmp.S') diff --git a/libc/sysdeps/linux/vax/setjmp.S b/libc/sysdeps/linux/vax/setjmp.S new file mode 100644 index 000000000..f81be9330 --- /dev/null +++ b/libc/sysdeps/linux/vax/setjmp.S @@ -0,0 +1,34 @@ +# setjmp.S atp. Sept. 2001 +# save regs and info needed for a longjmp + +.globl __sigsetjmp +.align 4 +__sigsetjmp: + .word 0x0000 # we look after reg saving here - this must + # match longjmp + movl 0x4(%ap), %r0 # our scratch reg + # kenn would probably use movq here. :-) + movl %r1, 0x14(%r0) # save regs + movl %r2, 0x18(%r0) + movl %r3, 0x1c(%r0) + movl %r4, 0x20(%r0) + movl %r5, 0x24(%r0) + movl %r6, 0x28(%r0) + movl %r7, 0x2c(%r0) + movl %r8, 0x30(%r0) + movl %r9, 0x34(%r0) + movl %r10, 0x38(%r0) + movl %r11, 0x3c(%r0) + # now save our call frame + movl (%fp), (%r0) # condition handler (for VMS emulation) + movl 0x4(%fp), 0x4(%r0) # psw + movl 0x8(%fp), 0x8(%r0) # ap + movl 0xc(%fp), 0xc(%r0) # fp + movl 0x10(%fp), 0x10(%r0) # pc + # call the sigjmp save routine + pushl 8(%ap) + pushl %r0 + calls $2, __sigjmp_save + # done + ret + -- cgit v1.2.3