Commit fee3aca2 authored by Anthony Martin's avatar Anthony Martin Committed by Russ Cox

syscall: fix mksysnum_linux.sh

A few system call numbers on x86 Linux are
defined in terms of a previous definition,

e.g.,
	#define __NR_timer_create	259
	#define __NR_timer_settime	(__NR_timer_create+1)
	...
	#define __NR_mq_open		277
	#define __NR_mq_unlink		(__NR_mq_open+1)

This change assumes the numbers are sorted
sequentially in the input file.

R=rsc, bradfitzwork
CC=golang-dev
https://golang.org/cl/3946041
parent 882f9d6d
...@@ -14,12 +14,20 @@ package syscall ...@@ -14,12 +14,20 @@ package syscall
const( const(
EOF EOF
sub fmt {
my ($name, $num) = @_;
$name =~ y/a-z/A-Z/;
print " SYS_$name = $num;\n";
}
my $prev;
while(<>){ while(<>){
if(/^#define __NR_(\w+)\s+([0-9]+)/){ if(/^#define __NR_(\w+)\s+([0-9]+)/){
my $name = "SYS_$1"; $prev = $2;
my $num = $2; fmt($1, $2);
$name =~ y/a-z/A-Z/; }
print " $name = $num;\n"; elsif(/^#define __NR_(\w+)\s+\(\w+\+([0-9]+)\)/){
fmt($1, $prev+$2)
} }
} }
......
...@@ -262,6 +262,14 @@ const ( ...@@ -262,6 +262,14 @@ const (
SYS_REMAP_FILE_PAGES = 257 SYS_REMAP_FILE_PAGES = 257
SYS_SET_TID_ADDRESS = 258 SYS_SET_TID_ADDRESS = 258
SYS_TIMER_CREATE = 259 SYS_TIMER_CREATE = 259
SYS_TIMER_SETTIME = 260
SYS_TIMER_GETTIME = 261
SYS_TIMER_GETOVERRUN = 262
SYS_TIMER_DELETE = 263
SYS_CLOCK_SETTIME = 264
SYS_CLOCK_GETTIME = 265
SYS_CLOCK_GETRES = 266
SYS_CLOCK_NANOSLEEP = 267
SYS_STATFS64 = 268 SYS_STATFS64 = 268
SYS_FSTATFS64 = 269 SYS_FSTATFS64 = 269
SYS_TGKILL = 270 SYS_TGKILL = 270
...@@ -272,6 +280,11 @@ const ( ...@@ -272,6 +280,11 @@ const (
SYS_GET_MEMPOLICY = 275 SYS_GET_MEMPOLICY = 275
SYS_SET_MEMPOLICY = 276 SYS_SET_MEMPOLICY = 276
SYS_MQ_OPEN = 277 SYS_MQ_OPEN = 277
SYS_MQ_UNLINK = 278
SYS_MQ_TIMEDSEND = 279
SYS_MQ_TIMEDRECEIVE = 280
SYS_MQ_NOTIFY = 281
SYS_MQ_GETSETATTR = 282
SYS_KEXEC_LOAD = 283 SYS_KEXEC_LOAD = 283
SYS_WAITID = 284 SYS_WAITID = 284
SYS_ADD_KEY = 286 SYS_ADD_KEY = 286
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment