about summary refs log tree commit diff
path: root/sysdeps/unix/sysv/linux/ia64/setjmp.S
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/unix/sysv/linux/ia64/setjmp.S')
-rw-r--r--sysdeps/unix/sysv/linux/ia64/setjmp.S199
1 files changed, 0 insertions, 199 deletions
diff --git a/sysdeps/unix/sysv/linux/ia64/setjmp.S b/sysdeps/unix/sysv/linux/ia64/setjmp.S
deleted file mode 100644
index 53f80d203e..0000000000
--- a/sysdeps/unix/sysv/linux/ia64/setjmp.S
+++ /dev/null
@@ -1,199 +0,0 @@
-/* Copyright (C) 1999, 2000, 2001, 2002, 2004, 2005
-   Free Software Foundation, Inc.
-   Contributed by David Mosberger-Tang <davidm@hpl.hp.com>.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.
-
-   The layout of the jmp_buf is as follows.  This is subject to change
-   and user-code should never depend on the particular layout of
-   jmp_buf!
-
-
-  	offset:	description:
-	-------	------------
-  	0x000	stack pointer (r12)	; unchangeable (see _JMPBUF_UNWINDS)
-  	0x008	r1 (gp)
-	0x010	caller's unat
-	0x018	fpsr
-  	0x020	r4
-  	0x028	r5
-  	0x030	r6
-  	0x038	r7
-  	0x040	rp (b0)
-  	0x048	b1
-  	0x050	b2
-  	0x058	b3
-  	0x060	b4
-  	0x068	b5
-  	0x070	ar.pfs
-  	0x078	ar.lc
-  	0x080	pr
-  	0x088	ar.bsp			; unchangeable (see __longjmp.S)
-  	0x090	ar.unat
-	0x098	&__jmp_buf	; address of the jmpbuf (needed to locate NaT bits in unat)
-	0x0a0	 f2
-	0x0b0	 f3
-	0x0c0	 f4
-	0x0d0	 f5
-	0x0e0	f16
-  	0x0f0	f17
-  	0x100	f18
-  	0x110	f19
-  	0x120	f20
-  	0x130	f21
-  	0x130	f22
-  	0x140	f23
-  	0x150	f24
-  	0x160	f25
-  	0x170	f26
-  	0x180	f27
-  	0x190	f28
-  	0x1a0	f29
-  	0x1b0	f30
-  	0x1c0	f31 */
-
-#include <sysdep.h>
-#include <features.h>
-
-	/* The following two entry points are the traditional entry points: */
-
-LEAF(setjmp)
-	alloc r8=ar.pfs,2,0,0,0
-	mov in1=1
-	br.cond.sptk.many _GI___sigsetjmp
-END(setjmp)
-
-LEAF(_setjmp)
-	alloc r8=ar.pfs,2,0,0,0
-	mov in1=0
-	br.cond.sptk.many _GI___sigsetjmp
-END(_setjmp)
-libc_hidden_def (_setjmp)
-
-	/* __sigsetjmp(__jmp_buf buf, int savemask) */
-
-ENTRY(__sigsetjmp)
-	.prologue ASM_UNW_PRLG_RP|ASM_UNW_PRLG_PFS, ASM_UNW_PRLG_GRSAVE(2)
-	alloc loc1=ar.pfs,2,5,2,0
-	.save ar.unat, loc2
-	mov loc2=ar.unat
-	;;
-	mov r17=ar.fpsr
-	mov r2=in0
-	add r3=8,in0
-	;;
-.mem.offset 8,0;	st8.spill.nta [r2]=sp,16	// r12 (sp)
-.mem.offset 0,0;	st8.spill.nta [r3]=gp,16	// r1 (gp)
-	;;
-	st8.nta [r2]=loc2,16		// save caller's unat
-	st8.nta [r3]=r17,16		// save fpsr
-	add r8=0xa0,in0
-	;;
-.mem.offset 8,0;	st8.spill.nta [r2]=r4,16	// r4
-.mem.offset 0,0;	st8.spill.nta [r3]=r5,16	// r5
-	add r9=0xb0,in0
-	;;
-	stf.spill.nta [r8]=f2,32
-	stf.spill.nta [r9]=f3,32
-	mov loc0=rp
-	.body
-	;;
-	stf.spill.nta [r8]=f4,32
-	stf.spill.nta [r9]=f5,32
-	mov r17=b1
-	;;
-	stf.spill.nta [r8]=f16,32
-	stf.spill.nta [r9]=f17,32
-	mov r18=b2
-	;;
-	stf.spill.nta [r8]=f18,32
-	stf.spill.nta [r9]=f19,32
-	mov r19=b3
-	;;
-	stf.spill.nta [r8]=f20,32
-	stf.spill.nta [r9]=f21,32
-	mov r20=b4
-	;;
-	stf.spill.nta [r8]=f22,32
-	stf.spill.nta [r9]=f23,32
-	mov r21=b5
-	;;
-	stf.spill.nta [r8]=f24,32
-	stf.spill.nta [r9]=f25,32
-	mov r22=ar.lc
-	;;
-	stf.spill.nta [r8]=f26,32
-	stf.spill.nta [r9]=f27,32
-	mov r24=pr
-	;;
-	stf.spill.nta [r8]=f28,32
-	stf.spill.nta [r9]=f29,32
-#ifdef PTR_MANGLE
-	mov loc3=loc0
-	;;
-	PTR_MANGLE (loc3, loc4)
-#else
-	;;
-#endif
-	stf.spill.nta [r8]=f30
-	stf.spill.nta [r9]=f31
-
-.mem.offset 8,0;	st8.spill.nta [r2]=r6,16	// r6
-.mem.offset 0,0;	st8.spill.nta [r3]=r7,16	// r7
-	;;
-	mov r23=ar.bsp
-	mov r25=ar.unat
-	mov out0=in0
-
-#ifdef PTR_MANGLE
-	st8.nta [r2]=loc3,16		// b0
-#else
-	st8.nta [r2]=loc0,16		// b0
-#endif
-	st8.nta [r3]=r17,16		// b1
-	mov out1=in1
-	;;
-	st8.nta [r2]=r18,16		// b2
-	st8.nta [r3]=r19,16		// b3
-	;;
-	st8.nta [r2]=r20,16		// b4
-	st8.nta [r3]=r21,16		// b5
-	;;
-	st8.nta [r2]=loc1,16		// ar.pfs
-	st8.nta [r3]=r22,16		// ar.lc
-	;;
-	st8.nta [r2]=r24,16		// pr
-	st8.nta [r3]=r23,16		// ar.bsp
-	;;
-	st8.nta [r2]=r25		// ar.unat
-	st8.nta [r3]=in0		// &__jmp_buf
-#if defined NOT_IN_libc && defined IS_IN_rtld
-	/* In ld.so we never save the signal mask.  */
-	;;
-#else
-	br.call.dpnt.few rp=__sigjmp_save
-#endif
-.ret0:					// force a new bundle ::q
-	mov.m ar.unat=loc2		// restore caller's unat
-	mov rp=loc0
-	mov ar.pfs=loc1
-	mov r8=0
-	ret
-END(__sigsetjmp)
-strong_alias(__sigsetjmp, _GI___sigsetjmp)
-
-weak_extern(_setjmp)
-weak_extern(setjmp)