summaryrefslogtreecommitdiff
path: root/src/pkg/syscall/mksysnum_linux.sh
diff options
context:
space:
mode:
authorOndřej Surý <ondrej@sury.org>2011-01-17 12:40:45 +0100
committerOndřej Surý <ondrej@sury.org>2011-01-17 12:40:45 +0100
commit3e45412327a2654a77944249962b3652e6142299 (patch)
treebc3bf69452afa055423cbe0c5cfa8ca357df6ccf /src/pkg/syscall/mksysnum_linux.sh
parentc533680039762cacbc37db8dc7eed074c3e497be (diff)
downloadgolang-upstream/2011.01.12.tar.gz
Imported Upstream version 2011.01.12upstream/2011.01.12
Diffstat (limited to 'src/pkg/syscall/mksysnum_linux.sh')
-rwxr-xr-xsrc/pkg/syscall/mksysnum_linux.sh16
1 files changed, 12 insertions, 4 deletions
diff --git a/src/pkg/syscall/mksysnum_linux.sh b/src/pkg/syscall/mksysnum_linux.sh
index 74a1931bb..89ece8a91 100755
--- a/src/pkg/syscall/mksysnum_linux.sh
+++ b/src/pkg/syscall/mksysnum_linux.sh
@@ -14,12 +14,20 @@ package syscall
const(
EOF
+sub fmt {
+ my ($name, $num) = @_;
+ $name =~ y/a-z/A-Z/;
+ print " SYS_$name = $num;\n";
+}
+
+my $prev;
while(<>){
if(/^#define __NR_(\w+)\s+([0-9]+)/){
- my $name = "SYS_$1";
- my $num = $2;
- $name =~ y/a-z/A-Z/;
- print " $name = $num;\n";
+ $prev = $2;
+ fmt($1, $2);
+ }
+ elsif(/^#define __NR_(\w+)\s+\(\w+\+([0-9]+)\)/){
+ fmt($1, $prev+$2)
}
}