Update to v5.6 kernel headers.
Kernel headers coming from:
Git: https://android.googlesource.com/kernel/common/
Branch: android-mainline
Tag: android-mainline-5.6
Add a new method for removing structures. This is to deal with the kernel
headers changing some definitions of timeval to __kernel_old_timeval
and itimerval to __kernel_old_itimerval. Remove the __kernel_old_XX
strutures and change the other structures to the previous definitions.
This only works so long as these structures stay the same, if they
diverge, then a different strategy will need to be implemented.
Test: Booted cuttlefish/walleye.
Test: Ran bionic-unit-tests on cuttlefish/walleye.
Change-Id: I0a61f4fa6e4155c602e0414d9b38c2e1637829af
diff --git a/libc/kernel/tools/defaults.py b/libc/kernel/tools/defaults.py
index 90b56f5..04eb5f1 100644
--- a/libc/kernel/tools/defaults.py
+++ b/libc/kernel/tools/defaults.py
@@ -35,6 +35,17 @@
"__kernel_old_timeval": "1",
}
+# this is the set of known kernel data structures we want to remove from
+# the final headers
+kernel_structs_to_remove = set(
+ [
+ # Remove the structures since they are still the same as
+ # timeval, itimerval.
+ "__kernel_old_timeval",
+ "__kernel_old_itimerval",
+ ]
+ )
+
# define to true if you want to remove all defined(CONFIG_FOO) tests
# from the clean headers. testing shows that this is not strictly necessary
# but just generates cleaner results
@@ -86,6 +97,8 @@
# If struct __kernel_old_timeval and struct timeval become different,
# then a different solution needs to be implemented.
"__kernel_old_timeval": "timeval",
+ # Do the same for __kernel_old_itimerval as for timeval.
+ "__kernel_old_itimerval": "itimerval",
}