Merge "init: log failures if a service cannot start during class_start"
diff --git a/adb/shell_service.cpp b/adb/shell_service.cpp
index 5b48da0..0c7e1f9 100644
--- a/adb/shell_service.cpp
+++ b/adb/shell_service.cpp
@@ -95,6 +95,7 @@
#include <vector>
#include <android-base/logging.h>
+#include <android-base/properties.h>
#include <android-base/stringprintf.h>
#include <private/android_logger.h>
@@ -212,6 +213,13 @@
WaitForExit();
}
+static std::string GetHostName() {
+ char buf[HOST_NAME_MAX];
+ if (gethostname(buf, sizeof(buf)) != -1 && strcmp(buf, "localhost") != 0) return buf;
+
+ return android::base::GetProperty("ro.product.device", "android");
+}
+
bool Subprocess::ForkAndExec(std::string* error) {
unique_fd child_stdinout_sfd, child_stderr_sfd;
unique_fd parent_error_sfd, child_error_sfd;
@@ -250,11 +258,11 @@
}
if (pw != nullptr) {
- // TODO: $HOSTNAME? Normally bash automatically sets that, but mksh doesn't.
env["HOME"] = pw->pw_dir;
+ env["HOSTNAME"] = GetHostName();
env["LOGNAME"] = pw->pw_name;
- env["USER"] = pw->pw_name;
env["SHELL"] = pw->pw_shell;
+ env["USER"] = pw->pw_name;
}
if (!terminal_type_.empty()) {
diff --git a/base/Android.bp b/base/Android.bp
index da262d2..0fd00ea 100644
--- a/base/Android.bp
+++ b/base/Android.bp
@@ -89,7 +89,7 @@
cppflags: ["-Wexit-time-destructors"],
enabled: true,
},
- linux: {
+ linux_glibc: {
srcs: [
"chrono_utils.cpp",
"errors_unix.cpp",
@@ -135,7 +135,7 @@
misc_undefined: ["integer"],
},
},
- linux: {
+ linux_glibc: {
srcs: ["chrono_utils_test.cpp"],
},
windows: {
diff --git a/init/subcontext.cpp b/init/subcontext.cpp
index 1306c7d..85da237 100644
--- a/init/subcontext.cpp
+++ b/init/subcontext.cpp
@@ -40,8 +40,8 @@
namespace android {
namespace init {
-const std::string kInitContext = "u:object_r:init:s0";
-const std::string kVendorContext = "u:object_r:vendor_init:s0";
+const std::string kInitContext = "u:r:init:s0";
+const std::string kVendorContext = "u:r:vendor_init:s0";
namespace {
diff --git a/libbacktrace/Android.bp b/libbacktrace/Android.bp
index 69d7b6d..2f20684 100644
--- a/libbacktrace/Android.bp
+++ b/libbacktrace/Android.bp
@@ -83,7 +83,7 @@
darwin: {
enabled: true,
},
- linux: {
+ linux_glibc: {
srcs: libbacktrace_sources,
shared_libs: [
@@ -135,7 +135,7 @@
srcs: ["backtrace_testlib.cpp"],
target: {
- linux: {
+ linux_glibc: {
shared_libs: [
"libunwind",
"libunwindstack",
@@ -231,7 +231,7 @@
"libutils",
],
},
- linux: {
+ linux_glibc: {
host_ldlibs: [
"-lncurses",
],
diff --git a/libdiskconfig/Android.bp b/libdiskconfig/Android.bp
index 23a5c79..b92f086 100644
--- a/libdiskconfig/Android.bp
+++ b/libdiskconfig/Android.bp
@@ -23,7 +23,7 @@
darwin: {
enabled: false,
},
- linux: {
+ linux_glibc: {
cflags: [
"-O2",
"-g",
diff --git a/liblog/include/log/log_time.h b/liblog/include/log/log_time.h
index 3764faf..309f5d1 100644
--- a/liblog/include/log/log_time.h
+++ b/liblog/include/log/log_time.h
@@ -28,6 +28,10 @@
#ifndef __struct_log_time_defined
#define __struct_log_time_defined
+#define LOG_TIME_SEC(t) ((t)->tv_sec)
+/* next power of two after NS_PER_SEC */
+#define LOG_TIME_NSEC(t) ((t)->tv_nsec & (UINT32_MAX >> 2))
+
#ifdef __cplusplus
/*
@@ -167,15 +171,15 @@
#endif
} __attribute__((__packed__));
-#else
+#else /* __cplusplus */
typedef struct log_time {
uint32_t tv_sec;
uint32_t tv_nsec;
} __attribute__((__packed__)) log_time;
-#endif
+#endif /* __cplusplus */
-#endif
+#endif /* __struct_log_time_defined */
#endif /* _LIBS_LOG_LOG_TIME_H */
diff --git a/liblog/include_vndk/log/log_time.h b/liblog/include_vndk/log/log_time.h
deleted file mode 120000
index abfe439..0000000
--- a/liblog/include_vndk/log/log_time.h
+++ /dev/null
@@ -1 +0,0 @@
-../../include/log/log_time.h
\ No newline at end of file
diff --git a/liblog/include_vndk/log/log_time.h b/liblog/include_vndk/log/log_time.h
new file mode 100644
index 0000000..5a09959
--- /dev/null
+++ b/liblog/include_vndk/log/log_time.h
@@ -0,0 +1,47 @@
+/*
+ * Copyright (C) 2005-2017 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef _LIBS_LOG_LOG_TIME_H
+#define _LIBS_LOG_LOG_TIME_H
+
+#include <stdint.h>
+
+/* struct log_time is a wire-format variant of struct timespec */
+#ifndef NS_PER_SEC
+#define NS_PER_SEC 1000000000ULL
+#endif
+#ifndef US_PER_SEC
+#define US_PER_SEC 1000000ULL
+#endif
+#ifndef MS_PER_SEC
+#define MS_PER_SEC 1000ULL
+#endif
+
+#ifndef __struct_log_time_defined
+#define __struct_log_time_defined
+
+#define LOG_TIME_SEC(t) ((t)->tv_sec)
+/* next power of two after NS_PER_SEC */
+#define LOG_TIME_NSEC(t) ((t)->tv_nsec & (UINT32_MAX >> 2))
+
+typedef struct log_time {
+ uint32_t tv_sec;
+ uint32_t tv_nsec;
+} __attribute__((__packed__)) log_time;
+
+#endif
+
+#endif /* _LIBS_LOG_LOG_TIME_H */
diff --git a/libunwindstack/Android.bp b/libunwindstack/Android.bp
index cf2ac4e..7ab6699 100644
--- a/libunwindstack/Android.bp
+++ b/libunwindstack/Android.bp
@@ -67,7 +67,7 @@
target: {
// Always disable optimizations for host to make it easier to debug.
- linux: {
+ host: {
cflags: ["-O0", "-g"],
},
},
diff --git a/libutils/Android.bp b/libutils/Android.bp
index 038fd73..30e6b49 100644
--- a/libutils/Android.bp
+++ b/libutils/Android.bp
@@ -121,7 +121,7 @@
},
},
- linux: {
+ linux_glibc: {
srcs: [
"Looper.cpp",
"ProcessCallStack.cpp",
diff --git a/libutils/tests/Android.bp b/libutils/tests/Android.bp
index 3fadef4..6911fc5 100644
--- a/libutils/tests/Android.bp
+++ b/libutils/tests/Android.bp
@@ -46,7 +46,7 @@
"libbase",
],
},
- linux: {
+ linux_glibc: {
srcs: [
"Looper_test.cpp",
"RefBase_test.cpp",