libk  Hex Artifact Content

Artifact 736d8ba137bccb8f54e146af1d2669798f69560220861ace3c2004ad231987c4:


0000: 23 21 2f 75 73 72 2f 62 69 6e 2f 65 6e 76 20 62  #!/usr/bin/env b
0010: 61 73 68 0a 73 65 74 20 2d 65 75 0a 0a 4f 55 54  ash.set -eu..OUT
0020: 44 49 52 3d 24 31 0a 41 42 49 3d 24 32 0a 0a 49  DIR=$1.ABI=$2..I
0030: 4e 43 5f 44 45 46 3d 2f 75 73 72 2f 73 72 63 2f  NC_DEF=/usr/src/
0040: 6c 69 6e 75 78 0a 70 5f 69 6e 63 6c 75 64 65 3d  linux.p_include=
0050: 22 24 7b 4c 49 4e 55 58 5f 53 52 43 3a 2d 24 49  "${LINUX_SRC:-$I
0060: 4e 43 5f 44 45 46 7d 22 0a 70 5f 75 61 70 69 3d  NC_DEF}".p_uapi=
0070: 22 24 70 5f 69 6e 63 6c 75 64 65 2f 74 6f 6f 6c  "$p_include/tool
0080: 73 2f 69 6e 63 6c 75 64 65 2f 75 61 70 69 22 0a  s/include/uapi".
0090: 0a 63 70 70 20 2d 44 5f 5f 22 24 41 42 49 22 5f  .cpp -D__"$ABI"_
00a0: 5f 20 2d 75 6e 64 65 66 20 2d 64 4d 20 2d 49 22  _ -undef -dM -I"
00b0: 24 70 5f 75 61 70 69 22 20 22 24 70 5f 75 61 70  $p_uapi" "$p_uap
00c0: 69 2f 61 73 6d 2d 67 65 6e 65 72 69 63 2f 75 6e  i/asm-generic/un
00d0: 69 73 74 64 2e 68 22 20 7c 20 73 6f 72 74 20 2d  istd.h" | sort -
00e0: 6e 72 6b 33 20 7c 20 61 77 6b 20 2d 46 27 20 27  nrk3 | awk -F' '
00f0: 20 27 7b 0a 69 66 20 28 24 32 20 7e 20 22 5f 5f   '{.if ($2 ~ "__
0100: 4e 52 22 29 20 7b 0a 09 69 64 73 5b 24 32 5d 3d  NR") {..ids[$2]=
0110: 24 33 3b 0a 09 73 75 62 28 22 5e 2e 2a 5f 22 2c  $3;..sub("^.*_",
0120: 20 22 22 2c 20 24 32 29 3b 0a 09 69 66 20 28 24   "", $2);..if ($
0130: 33 20 7e 20 2f 5e 5b 30 2d 39 5d 2b 24 2f 29 20  3 ~ /^[0-9]+$/) 
0140: 76 61 6c 3d 24 33 3b 0a 09 65 6c 73 65 20 76 61  val=$3;..else va
0150: 6c 3d 69 64 73 5b 24 33 5d 3b 0a 09 70 72 69 6e  l=ids[$3];..prin
0160: 74 20 76 61 6c 20 22 5c 74 63 6f 6d 6d 6f 6e 5c  t val "\tcommon\
0170: 74 22 20 24 32 7d 7d 27 20 7c 20 73 6f 72 74 20  t" $2}}' | sort 
0180: 2d 6e 20 3e 20 22 24 4f 55 54 44 49 52 2f 73 79  -n > "$OUTDIR/sy
0190: 73 74 65 6d 5f 63 61 6c 6c 73 2e 74 62 6c 22 0a  stem_calls.tbl".