hc
2024-11-01 2f529f9b558ca1c1bd74be7437a84e4711743404
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#! /bin/sh
 
set -e
 
shift
 
awk '
match($0, /COBALT_SYSCALL\([^,]*,[ \t]*[^,]*/)  {
   str=substr($0, RSTART + 15, RLENGTH - 15)
   match(str, /[^, \t]*/)
   syscall=substr(str, RSTART, RLENGTH)
 
   if (syscall == "") {
       print "Failed to find syscall name in line " $0 > "/dev/stderr"
       exit 1
   }
 
   calls = calls "    __COBALT_CALL_ENTRY(" syscall ") \\\n"
   modes = modes "    __COBALT_MODE(" str ") \\\n"
   next
}
 
/COBALT_SYSCALL\(/  {
   print "Failed to parse line " $0 > "/dev/stderr"
   exit 1
}
 
END {
   print "#define __COBALT_CALL_ENTRIES \\\n" calls "    /* end */"
   print "#define __COBALT_CALL_MODES \\\n" modes "    /* end */"
}
' $*