aboutsummaryrefslogtreecommitdiffstats
path: root/pkg/kfuzztest/testdata/linker.ld
diff options
context:
space:
mode:
Diffstat (limited to 'pkg/kfuzztest/testdata/linker.ld')
-rw-r--r--pkg/kfuzztest/testdata/linker.ld39
1 files changed, 39 insertions, 0 deletions
diff --git a/pkg/kfuzztest/testdata/linker.ld b/pkg/kfuzztest/testdata/linker.ld
new file mode 100644
index 000000000..345c02128
--- /dev/null
+++ b/pkg/kfuzztest/testdata/linker.ld
@@ -0,0 +1,39 @@
+/* Copyright 2025 syzkaller project authors. All rights reserved. */
+/* Use of this source code is governed by Apache 2 LICENSE that can be found in the LICENSE file. */
+
+/* Defines a basic linkage script for building kernel-like KFuzzTest metadata into a binary. */
+PAGE_SIZE = 0x1000;
+
+PHDRS
+{
+ text PT_LOAD FLAGS(5); /* R, X */
+ data PT_LOAD FLAGS(6); /* R, W */
+}
+
+SECTIONS
+{
+ .text : { *(.text) } :text
+
+ .rodata : {
+ *(.rodata*)
+
+ . = ALIGN(PAGE_SIZE);
+ __kfuzztest_targets_start = .;
+ KEEP(*(.kfuzztest_target));
+ __kfuzztest_targets_end = .;
+
+ . = ALIGN(PAGE_SIZE);
+ __kfuzztest_constraints_start = .;
+ KEEP(*(.kfuzztest_constraint));
+ __kfuzztest_constraints_end = .;
+
+ . = ALIGN(PAGE_SIZE);
+ __kfuzztest_annotations_start = .;
+ KEEP(*(.kfuzztest_annotation));
+ __kfuzztest_annotations_end = .;
+
+ } :text
+
+ .data : { *(.data) } :data
+ .bss : { *(.bss) } :data
+}