Files
fail/bochs/bx_debug/make-syscalls-linux.pl
hsc b70b6fb43a another directory rename: failstar -> fail
"failstar" sounds like a name for a cruise liner from the 80s.  As "*" isn't a
desirable part of directory names, just name the whole thing "fail/", the core
parts being stored in "fail/core/".

Additionally fixing two build system dependency issues:
 - missing jobserver -> protomessages dependency
 - broken bochs -> fail dependency (add_custom_target DEPENDS only allows plain
   file dependencies ... cmake for the win)


git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@956 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-03-08 19:43:02 +00:00

35 lines
874 B
Perl
Executable File

#!/usr/bin/perl
#
# tested with linux 2.2.14
# reads <asm/unistd.h>, outputs syscalls-linux.h
$date = `date`;
print <<EOF;
//////////////////////////////////////////////////////////////////////////////
// Linux system call table
//////////////////////////////////////////////////////////////////////////////
//
// Format for each entry:
// DEF_LINUX_SYSCALL(syscall_number, "syscall_name")
// This file can be regenerated with the following command:
//
// ./make-syscalls-linux.pl < /usr/include/asm/unistd.h > syscalls-linux.h
//
EOF
$max = 0;
while (<STDIN>) {
$line = $_;
next unless /#define __NR_[a-z]/;
s/.*NR_//;
undef $number;
($name, $number) = split (/[\s]+/);
if ((length $number) < 1) {
die "bad line: $line";
}
if ($number > $max) { $max = $number; }
print "DEF_SYSCALL($number, \"$name\")\n";
}
print "#define N_SYSCALLS $max\n";