diff options
| author | Ethan Graham <ethangraham@google.com> | 2025-09-15 12:56:38 +0000 |
|---|---|---|
| committer | Aleksandr Nogikh <nogikh@google.com> | 2025-09-22 09:11:54 +0000 |
| commit | 9a3002038e891237ff5b561f756a0ff6e32d1d2f (patch) | |
| tree | de544a42881a86c3d5e60f31bd83a1d5dd52425c /pkg/kfuzztest/testdata/linker.ld | |
| parent | 91601ce4199e5c85a51aa48270101c7fa5bff51a (diff) | |
pkg/kfuzztest: add pkg/kfuzztest
Add a new package, pkg/kfuzztest, that implements dynamic discovery of
KFuzzTest targets by parsing a vmlinux kernel binary.
Signed-off-by: Ethan Graham <ethangraham@google.com>
Diffstat (limited to 'pkg/kfuzztest/testdata/linker.ld')
| -rw-r--r-- | pkg/kfuzztest/testdata/linker.ld | 39 |
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 +} |
