bpf: check _Alignof(u64) == 8 (except i386 where 4)

Make sure _Alignof(unsigned long long) is 4 on i386
and 8 on all other archs.

This should be a no-op, as it should be trivially true on
any 64-bit architectures (aarch64/riscv64/x86-64), and is
also true on 32-bit arm.

btw. currently failing targets if you just == 8 unconditionally
include at least:

cf_gwear_x86-trunk_staging-userdebug:git_main
test_suites_x86_64-trunk_staging:aosp-main
test_suites_x86_64-trunk_staging:git_main
test_suites_x86_64-trunk_staging_coverage:aosp-main
test_suites_x86_64-trunk_staging_coverage:git_main

Test: TreeHugger
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: I2fac89d552232150b167e9f67fe1bd0cf2c129ee
diff --git a/bpf/headers/include/bpf_map_def.h b/bpf/headers/include/bpf_map_def.h
index d67da48..e95ca5f 100644
--- a/bpf/headers/include/bpf_map_def.h
+++ b/bpf/headers/include/bpf_map_def.h
@@ -106,8 +106,12 @@
 // Here sizeof & __alignof__ are consistent, but _Alignof is not: compile for 'aosp_cf_x86_phone'
 _Static_assert(sizeof(unsigned long long) == 8, "sizeof unsigned long long != 8");
 _Static_assert(__alignof__(unsigned long long) == 8, "__alignof__ unsigned long long != 8");
-// BPF wants 8, but 32-bit x86 wants 4
-//_Static_assert(_Alignof(unsigned long long) == 8, "_Alignof unsigned long long != 8");
+// BPF & everyone else wants 8, but 32-bit x86 wants 4
+#if defined(__i386__)
+_Static_assert(_Alignof(unsigned long long) == 4, "x86-32 _Alignof unsigned long long != 4");
+#else
+_Static_assert(_Alignof(unsigned long long) == 8, "_Alignof unsigned long long != 8");
+#endif
 
 
 // for maps: