Linux-libre 5.4.49-gnu
[librecmc/linux-libre.git] / arch / sh / kernel / vsyscall / vsyscall-sigreturn.S
1 /* SPDX-License-Identifier: GPL-2.0 */
2 #include <asm/unistd.h>
3
4         .text
5         .balign 32
6         .globl __kernel_sigreturn
7         .type __kernel_sigreturn,@function
8 __kernel_sigreturn:
9 .LSTART_sigreturn:
10         mov.w   1f, r3
11         trapa   #0x10
12         or      r0, r0
13         or      r0, r0
14         or      r0, r0
15         or      r0, r0
16         or      r0, r0
17
18 1:      .short  __NR_sigreturn
19 .LEND_sigreturn:
20         .size __kernel_sigreturn,.-.LSTART_sigreturn
21
22         .balign 32
23         .globl __kernel_rt_sigreturn
24         .type __kernel_rt_sigreturn,@function
25 __kernel_rt_sigreturn:
26 .LSTART_rt_sigreturn:
27         mov.w   1f, r3
28         trapa   #0x10
29         or      r0, r0
30         or      r0, r0
31         or      r0, r0
32         or      r0, r0
33         or      r0, r0
34
35 1:      .short  __NR_rt_sigreturn
36 .LEND_rt_sigreturn:
37         .size __kernel_rt_sigreturn,.-.LSTART_rt_sigreturn
38         .previous
39
40         .section .eh_frame,"a",@progbits
41 .LCIE1:
42         .ualong .LCIE1_end - .LCIE1_start
43 .LCIE1_start:
44         .ualong 0               /* CIE ID */
45         .byte   0x1             /* Version number */
46         .string "zRS"           /* NUL-terminated augmentation string */
47         .uleb128 0x1            /* Code alignment factor */
48         .sleb128 -4             /* Data alignment factor */
49         .byte   0x11            /* Return address register column */
50         .uleb128 0x1            /* Augmentation length and data */
51         .byte 0x1b              /* DW_EH_PE_pcrel | DW_EH_PE_sdata4. */
52         .byte   0xc, 0xf, 0x0   /* DW_CFA_def_cfa: r15 ofs 0 */
53
54         .align 2
55 .LCIE1_end:
56
57         .ualong .LFDE0_end-.LFDE0_start /* Length FDE0 */
58 .LFDE0_start:
59         .ualong .LFDE0_start-.LCIE1     /* CIE pointer */
60         .ualong .LSTART_sigreturn-.     /* PC-relative start address */
61         .ualong .LEND_sigreturn-.LSTART_sigreturn
62         .uleb128 0                      /* Augmentation */
63         .align 2
64 .LFDE0_end:
65
66         .ualong .LFDE1_end-.LFDE1_start /* Length FDE1 */
67 .LFDE1_start:
68         .ualong .LFDE1_start-.LCIE1     /* CIE pointer */
69         .ualong .LSTART_rt_sigreturn-.  /* PC-relative start address */
70         .ualong .LEND_rt_sigreturn-.LSTART_rt_sigreturn
71         .uleb128 0                      /* Augmentation */
72         .align 2
73 .LFDE1_end:
74
75         .previous