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
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)
}
}
SYS_REMAP_FILE_PAGES = 257
SYS_SET_TID_ADDRESS = 258
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_FSTATFS64 = 269
SYS_TGKILL = 270
SYS_GET_MEMPOLICY = 275
SYS_SET_MEMPOLICY = 276
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_WAITID = 284
SYS_ADD_KEY = 286