add prof2 profiler
[goodguy/cinelerra.git] / cinelerra-5.1 / prof2 / mksignalent
diff --git a/cinelerra-5.1/prof2/mksignalent b/cinelerra-5.1/prof2/mksignalent
new file mode 100755 (executable)
index 0000000..316d81f
--- /dev/null
@@ -0,0 +1,33 @@
+#!/usr/bin/awk -f
+
+# hack expression to generate arch/signalent.h from <asm/signal.h>
+# It reads from stdin and writes to stdout
+
+BEGIN {
+       max=0;
+}
+
+{
+       if (($1 ~ /^#define$/) && (!SIGNAL[$3]) && ($2 ~ /^SIG[A-Z]/) \
+           && ($2 !~ /^SIGRTMIN$/) && ($2 !~ /^SIGRTMAX$/) && ($2 !~ /^SIGSTKSZ$/) \
+           && ($3>=0) && ($3<=1000)) {
+               SIGNAL[$3]=$2;
+               if ($3 > max) {
+                       max=$3;
+               }
+       }
+}
+
+END {
+       for(i=0; i<=max; i++) {
+               if (!SIGNAL[i]) {
+                       SIGNAL[i] = "SIG_" i;
+               }
+               pad = 16 - length(SIGNAL[i]);
+               if (pad<1) {
+                       pad=1;
+               }
+               printf("\t\"%s\",%*s/* %d */\n", SIGNAL[i], pad, "", i);
+       }
+}
+