in arch/mk_syscalls_linux.go [400:442]
func main() {
flag.Parse()
// Make temporary work directory.
tmp, err := ioutil.TempDir("", "mk_linux_syscalls")
if err != nil {
log.Fatal(err)
}
defer os.RemoveAll(tmp)
params := TemplateParams{
LinuxVersion: linuxVersion,
}
// List of all builders.
builders := []builderFunc{
buildARM,
buildAARCH64,
build386,
buildX32,
buildX86_64,
}
// Build a syscall table for each architecture.
for _, b := range builders {
arch, err := b(tmp)
if err != nil {
log.Fatal(err)
}
params.Arches = append(params.Arches, *arch)
}
// Write the output file based on the template.
out, err := os.Create(outputFile)
if err != nil {
log.Fatal(err)
}
defer out.Close()
if err = tmpl.Execute(out, params); err != nil {
log.Fatal(err)
}
}