diff --git a/sandbox/seccomp/mksysnum_linux.pl b/sandbox/seccomp/mksysnum_linux.pl index 0df511c..50b88b6 100755 --- a/sandbox/seccomp/mksysnum_linux.pl +++ b/sandbox/seccomp/mksysnum_linux.pl @@ -19,6 +19,7 @@ var syscallNum = map[string]int{ EOF my $offset = 0; +my $state = -1; sub fmt { my ($name, $num) = @_; @@ -30,13 +31,23 @@ sub fmt { (my $name_upper = $name) =~ y/a-z/A-Z/; $num = $num + $offset; if($num > 302){ # not wired in Go standard library - print " \"$name\": $num,\n"; + if($state < 0){ + print " \"$name\": SYS_$name_upper,\n"; + } + else{ + print " SYS_$name_upper = $num;\n"; + } + } + elsif($state < 0){ + print " \"$name\": SYS_$name_upper,\n"; } else{ - print " \"$name\": SYS_$name_upper,\n"; + return; } } +GENERATE: + my $prev; open(GCC, "gcc -E -dD $ARGV[0] |") || die "can't run gcc"; while(){ @@ -63,6 +74,10 @@ while(){ } } -print <