func main()

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)
	}
}