GNU Linux-libre 4.14.266-gnu1
[releases.git] / arch / sh / kernel / vsyscall / vsyscall-trapa.S
1 /* SPDX-License-Identifier: GPL-2.0 */
2         .text
3         .globl __kernel_vsyscall
4         .type __kernel_vsyscall,@function
5 __kernel_vsyscall:
6 .LSTART_vsyscall:
7         trapa   #0x10
8          nop
9 .LEND_vsyscall:
10         .size __kernel_vsyscall,.-.LSTART_vsyscall
11         .previous
12
13         .section .eh_frame,"a",@progbits
14 .LCIE:
15         .ualong .LCIE_end - .LCIE_start
16 .LCIE_start:
17         .ualong 0               /* CIE ID */
18         .byte   0x1             /* Version number */
19         .string "zR"            /* NUL-terminated augmentation string */
20         .uleb128 0x1            /* Code alignment factor */
21         .sleb128 -4             /* Data alignment factor */
22         .byte   0x11            /* Return address register column */
23         .uleb128 0x1            /* Augmentation length and data */
24         .byte 0x1b              /* DW_EH_PE_pcrel | DW_EH_PE_sdata4. */
25         .byte   0xc,0xf,0x0     /* DW_CFA_def_cfa: r15 ofs 0 */
26         .align 2
27 .LCIE_end:
28
29         .ualong .LFDE_end-.LFDE_start   /* Length FDE */
30 .LFDE_start:
31         .ualong .LFDE_start-.LCIE       /* CIE pointer */
32         .ualong .LSTART_vsyscall-.      /* PC-relative start address */
33         .ualong .LEND_vsyscall-.LSTART_vsyscall
34         .uleb128 0                      /* Augmentation */
35         .align 2
36 .LFDE_end:
37         .previous
38
39 /* Get the common code for the sigreturn entry points */
40 #include "vsyscall-sigreturn.S"