kernel: Add clean headers script to workaround conflicts with bionic

After the "Avoid multiple definitions of sigaction." change in bionic,
we ought to modify our kernel headers to make sure that sigaction struct
is not present in uapi headers.

Change-Id: I15645480e013e79cbcafaac99253368b646b6b11
diff --git a/build/soong/Android.bp b/build/soong/Android.bp
index d77f391..e613a21 100644
--- a/build/soong/Android.bp
+++ b/build/soong/Android.bp
@@ -21,7 +21,7 @@
     name: "generated_kernel_includes",
 
     // The headers make command
-    cmd: "$(KERNEL_MAKE_CMD) $(KERNEL_MAKE_FLAGS) -C $(TARGET_KERNEL_SOURCE) O=$(KERNEL_BUILD_OUT_PREFIX)$(genDir) ARCH=$(KERNEL_ARCH) $(KERNEL_CROSS_COMPILE) headers_install",
+    cmd: "$(KERNEL_MAKE_CMD) $(KERNEL_MAKE_FLAGS) -C $(TARGET_KERNEL_SOURCE) O=$(KERNEL_BUILD_OUT_PREFIX)$(genDir) ARCH=$(KERNEL_ARCH) $(KERNEL_CROSS_COMPILE) headers_install && vendor/omni/tools/clean_headers.sh $(KERNEL_BUILD_OUT_PREFIX)$(genDir)",
 
     // Directories that can be imported by a cc_* module generated_headers property
     export_include_dirs: [
diff --git a/tools/clean_headers.sh b/tools/clean_headers.sh
new file mode 100755
index 0000000..627f646
--- /dev/null
+++ b/tools/clean_headers.sh
@@ -0,0 +1,7 @@
+#!/bin/bash
+set -eu
+
+export ANDROID_BUILD_TOP="$PWD"
+
+./bionic/libc/kernel/tools/clean_header.py -u \
+    "$1/usr/include/asm-generic/signal.h"