]> git.ipfire.org Git - thirdparty/glibc.git/blob - sysdeps/unix/sysv/linux/x86/tst-cet-property-dep-2.S
Prefer https to http for gnu.org and fsf.org URLs
[thirdparty/glibc.git] / sysdeps / unix / sysv / linux / x86 / tst-cet-property-dep-2.S
1 /* Test CET property note parser.
2 Copyright (C) 2018-2019 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see
17 <https://www.gnu.org/licenses/>. */
18
19 #include <cet.h>
20
21 .text
22 .p2align 4,,15
23 .globl bar
24 .type bar, @function
25 /* Since this function doesn't start with ENDBR, it should lead to the
26 IBT violation when called indirectly. */
27 bar:
28 .cfi_startproc
29 ret
30 .cfi_endproc
31 .size bar, .-bar
32
33 #if __SIZEOF_PTRDIFF_T__ == 8
34 # define ALIGN 3
35 #elif __SIZEOF_PTRDIFF_T__ == 4
36 # define ALIGN 2
37 #endif
38
39 /* In NT_GNU_PROPERTY_TYPE_0 note, add a GNU_PROPERTY_STACK_SIZE property
40 before the GNU_PROPERTY_X86_FEATURE_1_AND property. */
41 .section ".note.gnu.property", "a"
42 .p2align ALIGN
43 .long 1f - 0f /* name length */
44 .long 5f - 2f /* data length */
45 .long 5 /* note type */
46 0: .asciz "GNU" /* vendor name */
47 1:
48 .p2align ALIGN
49 2:
50 .long 1 /* pr_type. */
51 .long 4f - 3f /* pr_datasz. */
52 3:
53 #if __SIZEOF_PTRDIFF_T__ == 8
54 .long 0x800
55 .long 0x800
56 #else
57 .long 0x08000800
58 #endif
59 4:
60 .p2align ALIGN
61 5:
62
63 .section .note.GNU-stack,"",@progbits