File: clang_helpers_64.S

package info (click to toggle)
linux 6.12.8-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 1,673,568 kB
  • sloc: ansic: 25,888,630; asm: 268,782; sh: 136,481; python: 64,809; makefile: 55,668; perl: 38,052; xml: 19,270; cpp: 5,893; yacc: 4,923; lex: 2,939; awk: 1,592; sed: 28; ruby: 25
file content (28 lines) | stat: -rw-r--r-- 564 bytes parent folder | download | duplicates (17)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
/* SPDX-License-Identifier: GPL-2.0-only */
/*
 * 64-bit assembly helpers for asm operations that lack support in both gcc and
 * clang. For example, clang asm does not support segment prefixes.
 */
.global dereference_seg_base

dereference_seg_base:
	mov %gs:(0), %rax
	ret

.global test_page
.global test_syscall_insn

.pushsection ".text", "ax"
.balign 4096
test_page: .globl test_page
	.fill 4094,1,0xcc

test_syscall_insn:
	syscall

.ifne . - test_page - 4096
	.error "test page is not one page long"
.endif
.popsection

.section .note.GNU-stack,"",%progbits