summaryrefslogtreecommitdiff
path: root/libc/sysdeps/linux/avr32/__longjmp.S
blob: 245611a467dc92f198c710e0dfd15eae38bb0ed7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
/*
 * Copyright (C) 2004-2007 Atmel Corporation
 *
 * This file is subject to the terms and conditions of the GNU Lesser General
 * Public License.  See the file "COPYING.LIB" in the main directory of this
 * archive for more details.
 */

       .global __longjmp
       .type   __longjmp,"function"
       .align  1
__longjmp:
       ldm     r12++, r0-r8,sp,lr
       mustr   r8              /* restore status register (lower half) */
       cp      r11, 0          /* can't return zero */
       frs
       moveq   r11, 1
       retal   r11
       .size   __longjmp, . - __longjmp

libc_hidden_def(__longjmp)