sigsetjmp.S (0bfd163f522701b486e066fa2e56624c02f5081a) sigsetjmp.S (f2e71517e0b886518f755b55931807a67478a564)
1/* $NetBSD: sigsetjmp.S,v 1.6 2013/04/19 16:50:22 matt Exp $ */
2
3/*
4 * Copyright (c) 1997 Mark Brinicombe
5 * All rights reserved.
6 *
7 * Redistribution and use in source and binary forms, with or without
8 * modification, are permitted provided that the following conditions

--- 37 unchanged lines hidden (view full) ---

46 * by restoring registers from the stack.
47 * The previous signal state is restored.
48 */
49
50ENTRY(sigsetjmp)
51 teq r1, #0
52 beq PIC_SYM(_C_LABEL(_setjmp), PLT)
53 b PIC_SYM(_C_LABEL(setjmp), PLT)
1/* $NetBSD: sigsetjmp.S,v 1.6 2013/04/19 16:50:22 matt Exp $ */
2
3/*
4 * Copyright (c) 1997 Mark Brinicombe
5 * All rights reserved.
6 *
7 * Redistribution and use in source and binary forms, with or without
8 * modification, are permitted provided that the following conditions

--- 37 unchanged lines hidden (view full) ---

46 * by restoring registers from the stack.
47 * The previous signal state is restored.
48 */
49
50ENTRY(sigsetjmp)
51 teq r1, #0
52 beq PIC_SYM(_C_LABEL(_setjmp), PLT)
53 b PIC_SYM(_C_LABEL(setjmp), PLT)
54END(sigsetjmp)
54
55.L_setjmp_magic:
56 .word _JB_MAGIC__SETJMP
57WEAK_ALIAS(__siglongjmp, siglongjmp)
58
59ENTRY(siglongjmp)
60 ldr r2, .L_setjmp_magic /* load magic */
61 ldr r3, [r0] /* get magic from jmp_buf */
62 bic r3, r3, #(_JB_MAGIC__SETJMP ^ _JB_MAGIC__SETJMP_VFP)
63 /* ignore VFP-ness of magic */
64 teq r2, r3 /* magic correct? */
65 beq PIC_SYM(_C_LABEL(_longjmp), PLT)
66 b PIC_SYM(_C_LABEL(longjmp), PLT)
55
56.L_setjmp_magic:
57 .word _JB_MAGIC__SETJMP
58WEAK_ALIAS(__siglongjmp, siglongjmp)
59
60ENTRY(siglongjmp)
61 ldr r2, .L_setjmp_magic /* load magic */
62 ldr r3, [r0] /* get magic from jmp_buf */
63 bic r3, r3, #(_JB_MAGIC__SETJMP ^ _JB_MAGIC__SETJMP_VFP)
64 /* ignore VFP-ness of magic */
65 teq r2, r3 /* magic correct? */
66 beq PIC_SYM(_C_LABEL(_longjmp), PLT)
67 b PIC_SYM(_C_LABEL(longjmp), PLT)
68END(siglongjmp)