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