mirror of
https://github.com/reactos/syzkaller-ros.git
synced 2025-03-01 08:06:16 +00:00
sysgen: Cope with non-inline kernel build
When regenerating system call tables, cope with a local kernel tree where the kernel has been built into a separate directory (with `make O=...`) rather than inline. So: - LINUX makefile var / -linux command line option give location of source tree - LINUXBLD makefile var / -linuxbld command line option gives location of built kernel
This commit is contained in:
parent
98cd0cc66d
commit
064e1a65a5
2
Makefile
2
Makefile
@ -44,7 +44,7 @@ SYSCALL_FILES=sys/sys.txt sys/socket.txt sys/tty.txt sys/perf.txt \
|
||||
sys/kvm.txt sys/sndseq.txt sys/sndtimer.txt sys/sndcontrol.txt sys/input.txt \
|
||||
sys/netlink.txt sys/tun.txt sys/random.txt
|
||||
generate: bin/syz-sysgen $(SYSCALL_FILES)
|
||||
bin/syz-sysgen -linux=$(LINUX) $(SYSCALL_FILES)
|
||||
bin/syz-sysgen -linux=$(LINUX) -linuxbld=$(LINUXBLD) $(SYSCALL_FILES)
|
||||
bin/syz-sysgen: sysgen/*.go
|
||||
go build -o $@ sysgen/*.go
|
||||
|
||||
|
@ -43,13 +43,14 @@ func fetchValues(arch string, vals []string, includes []string, defines map[stri
|
||||
"-D__KERNEL__",
|
||||
"-DKBUILD_MODNAME=\"-\"",
|
||||
"-I" + *flagLinux + "/arch/" + arch + "/include",
|
||||
"-I" + *flagLinux + "/arch/" + arch + "/include/generated/uapi",
|
||||
"-I" + *flagLinux + "/arch/" + arch + "/include/generated",
|
||||
"-I" + *flagLinuxBld + "/arch/" + arch + "/include/generated/uapi",
|
||||
"-I" + *flagLinuxBld + "/arch/" + arch + "/include/generated",
|
||||
"-I" + *flagLinuxBld + "/include",
|
||||
"-I" + *flagLinux + "/include",
|
||||
"-I" + *flagLinux + "/arch/" + arch + "/include/uapi",
|
||||
"-I" + *flagLinux + "/arch/" + arch + "/include/generated/uapi",
|
||||
"-I" + *flagLinuxBld + "/arch/" + arch + "/include/generated/uapi",
|
||||
"-I" + *flagLinux + "/include/uapi",
|
||||
"-I" + *flagLinux + "/include/generated/uapi",
|
||||
"-I" + *flagLinuxBld + "/include/generated/uapi",
|
||||
"-I" + *flagLinux,
|
||||
"-include", *flagLinux + "/include/linux/kconfig.h",
|
||||
}...)
|
||||
|
@ -17,7 +17,8 @@ import (
|
||||
)
|
||||
|
||||
var (
|
||||
flagLinux = flag.String("linux", "", "path to linux kernel checkout")
|
||||
flagLinux = flag.String("linux", "", "path to linux kernel source checkout")
|
||||
flagLinuxBld = flag.String("linuxbld", "", "path to linux kernel build directory")
|
||||
)
|
||||
|
||||
func main() {
|
||||
@ -25,6 +26,9 @@ func main() {
|
||||
if *flagLinux == "" {
|
||||
failf("provide path to linux kernel checkout via -linux flag (or make generate LINUX= flag)")
|
||||
}
|
||||
if *flagLinuxBld == "" {
|
||||
flagLinuxBld = flagLinux
|
||||
}
|
||||
if len(flag.Args()) == 0 {
|
||||
failf("usage: sysgen -linux=linux_checkout input_file")
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user