Merge "Compile 'minijail0' on Brillo/Android."
diff --git a/Android.mk b/Android.mk
index 021fef0..186e569 100644
--- a/Android.mk
+++ b/Android.mk
@@ -16,7 +16,7 @@
# Common variables.
-# ========================================================
+# =========================================================
libminijailSrcFiles := \
bpf.c \
libminijail.c \
@@ -35,8 +35,9 @@
minijailCommonCFlags += -DUSE_SECCOMP_SOFTFAIL
endif
+
# Static library for generated code.
-# ========================================================
+# =========================================================
include $(CLEAR_VARS)
LOCAL_MODULE := libminijail_generated
@@ -87,7 +88,7 @@
# libminijail shared library for target.
-# ========================================================
+# =========================================================
include $(CLEAR_VARS)
LOCAL_MODULE := libminijail
@@ -102,7 +103,7 @@
# libminijail static library for target.
-# ========================================================
+# =========================================================
include $(CLEAR_VARS)
LOCAL_MODULE := libminijail
@@ -117,7 +118,7 @@
# libminijail native unit tests. Run with:
# adb shell /data/nativetest/libminijail_unittest/libminijail_unittest
-# ========================================================
+# =========================================================
include $(CLEAR_VARS)
LOCAL_MODULE := libminijail_unittest
ifdef BRILLO
@@ -141,7 +142,7 @@
# Syscall filtering native unit tests. Run with:
# adb shell /data/nativetest/syscall_filter_unittest/syscall_filter_unittest
-# ========================================================
+# =========================================================
include $(CLEAR_VARS)
LOCAL_MODULE := syscall_filter_unittest
ifdef BRILLO
@@ -162,7 +163,7 @@
# libminijail usage example.
-# ========================================================
+# =========================================================
include $(CLEAR_VARS)
LOCAL_MODULE := drop_privs
LOCAL_MODULE_TAGS := optional
@@ -173,3 +174,23 @@
LOCAL_SHARED_LIBRARIES := libbase libminijail
include $(BUILD_EXECUTABLE)
+
+
+# minijail0 executable.
+# This is not currently used on Brillo/Android,
+# but it's convenient to be able to build it.
+# =========================================================
+include $(CLEAR_VARS)
+LOCAL_MODULE := minijail0
+LOCAL_MODULE_TAGS := optional
+LOCAL_CFLAGS := \
+ $(minijailCommonCFlags) -Wno-missing-field-initializers \
+ -DPRELOADPATH=\"/invalidminijailpreload.so\"
+LOCAL_CLANG := true
+LOCAL_SRC_FILES := \
+ elfparse.c \
+ minijail0.c \
+
+LOCAL_STATIC_LIBRARIES := libminijail_generated
+LOCAL_SHARED_LIBRARIES := $(minijailCommonLibraries) libminijail
+include $(BUILD_EXECUTABLE)
diff --git a/elfparse.h b/elfparse.h
index 6b65eae..599eb11 100644
--- a/elfparse.h
+++ b/elfparse.h
@@ -24,7 +24,9 @@
* The compiler could mess with aligmment depending on arch
* so I'm redefining them here and packing them to 1-byte alignment.
*/
+#if !defined(EI_NIDENT)
#define EI_NIDENT (16)
+#endif
#pragma pack(push)
#pragma pack(1)
typedef struct
diff --git a/minijail0.c b/minijail0.c
index 58c6063..9b7260d 100644
--- a/minijail0.c
+++ b/minijail0.c
@@ -342,7 +342,7 @@
int main(int argc, char *argv[])
{
struct minijail *j = minijail_new();
- char *dl_mesg = NULL;
+ const char *dl_mesg = NULL;
int exit_immediately = 0;
char *program_path;
int consumed = parse_args(j, argc, argv, &exit_immediately);