Fix Minijail x32 compilation.

BUG=chromium-os:38539
TEST=./setup_board --board=x32-generic; emerge-x32-generic chromeos-minijail

Change-Id: I4ca1c78d583976a6f692a589c5b153101700beee
Reviewed-on: https://gerrit.chromium.org/gerrit/42543
Tested-by: Jorge Lucangeli Obes <jorgelo@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>
Commit-Queue: Jorge Lucangeli Obes <jorgelo@chromium.org>
diff --git a/bpf.c b/bpf.c
index f7252df..97f0d5b 100644
--- a/bpf.c
+++ b/bpf.c
@@ -83,6 +83,7 @@
  * On 64 bits, we have to do two 32-bit comparisons.
  * We jump true when *both* comparisons are true.
  */
+#if defined(BITS64)
 size_t bpf_comp_jeq64(struct sock_filter *filter, uint64_t c,
 		unsigned char jt, unsigned char jf)
 {
@@ -98,6 +99,7 @@
 
 	return curr_block - filter;
 }
+#endif
 
 /* Size-aware bitwise AND. */
 size_t bpf_comp_jset32(struct sock_filter *filter, unsigned long mask,
@@ -112,6 +114,7 @@
  * On 64 bits, we have to do two 32-bit bitwise ANDs.
  * We jump true when *either* bitwise AND is true (non-zero).
  */
+#if defined(BITS64)
 size_t bpf_comp_jset64(struct sock_filter *filter, uint64_t mask,
 		unsigned char jt, unsigned char jf)
 {
@@ -127,6 +130,7 @@
 
 	return curr_block - filter;
 }
+#endif
 
 size_t bpf_arg_comp(struct sock_filter **pfilter,
 		int op, int argidx, unsigned long c, unsigned int label_id)
diff --git a/bpf.h b/bpf.h
index ab81154..d5010d9 100644
--- a/bpf.h
+++ b/bpf.h
@@ -15,7 +15,7 @@
 #include <stddef.h>
 #include <sys/user.h>
 
-#if __BITS_PER_LONG == 32
+#if __BITS_PER_LONG == 32 || defined(__ILP32__)
 #define BITS32
 #elif __BITS_PER_LONG == 64
 #define BITS64