Merge "libbase: make vendor_available" into oc-dev
diff --git a/base/Android.bp b/base/Android.bp
index 8d2a3f6..ae64f4d 100644
--- a/base/Android.bp
+++ b/base/Android.bp
@@ -20,6 +20,25 @@
"-Werror",
]
+cc_library_headers {
+ name: "libbase_headers",
+ vendor_available: true,
+ host_supported: true,
+ export_include_dirs: ["include"],
+
+ header_libs: ["libutils_headers"],
+ export_header_lib_headers: ["libutils_headers"],
+
+ target: {
+ linux_bionic: {
+ enabled: true,
+ },
+ windows: {
+ enabled: true,
+ },
+ },
+}
+
cc_library {
name: "libbase",
vendor_available: true,
@@ -34,9 +53,11 @@
"strings.cpp",
"test_utils.cpp",
],
- local_include_dirs: ["include"],
+
+ header_libs: ["libbase_headers"],
+ export_header_lib_headers: ["libbase_headers"],
+
cppflags: libbase_cppflags,
- export_include_dirs: ["include"],
shared_libs: ["liblog"],
header_libs: ["libutils_headers"],
target: {
diff --git a/fs_mgr/fs_mgr.cpp b/fs_mgr/fs_mgr.cpp
index 6636be2..120129c 100644
--- a/fs_mgr/fs_mgr.cpp
+++ b/fs_mgr/fs_mgr.cpp
@@ -283,7 +283,10 @@
return force_check;
}
*fs_stat |= FS_STAT_IS_EXT4;
- //TODO check if it is new version or not
+ LINFO << "superblock s_max_mnt_count:" << sb.s_max_mnt_count << "," << blk_device;
+ if (sb.s_max_mnt_count == 0xffff) { // -1 (int16) in ext2, but uint16 in ext4
+ *fs_stat |= FS_STAT_NEW_IMAGE_VERSION;
+ }
if ((sb.s_feature_incompat & EXT4_FEATURE_INCOMPAT_RECOVER) != 0 ||
(sb.s_state & EXT4_VALID_FS) == 0) {
LINFO << __FUNCTION__ << "(): was not clealy shutdown, state flag:"
diff --git a/include/backtrace b/include/backtrace
new file mode 120000
index 0000000..93ce2b1
--- /dev/null
+++ b/include/backtrace
@@ -0,0 +1 @@
+../libbacktrace/include/backtrace
\ No newline at end of file
diff --git a/init/init.cpp b/init/init.cpp
index 0063017..d07c308 100644
--- a/init/init.cpp
+++ b/init/init.cpp
@@ -812,7 +812,7 @@
const char* compile_args[] = {
"/system/bin/secilc",
plat_policy_cil_file,
- "-M", "true",
+ "-M", "true", "-G",
// Target the highest policy language version supported by the kernel
"-c", std::to_string(max_policy_version).c_str(),
mapping_file.c_str(),
diff --git a/init/reboot.cpp b/init/reboot.cpp
index 8e46d57..e887677 100644
--- a/init/reboot.cpp
+++ b/init/reboot.cpp
@@ -43,6 +43,7 @@
#include <cutils/android_reboot.h>
#include <fs_mgr.h>
#include <logwrap/logwrap.h>
+#include <private/android_filesystem_config.h>
#include "log.h"
#include "property_service.h"
@@ -305,7 +306,8 @@
Timer t;
LOG(INFO) << "Reboot start, reason: " << reason << ", rebootTarget: " << rebootTarget;
- android::base::WriteStringToFile(StringPrintf("%s\n", reason.c_str()), LAST_REBOOT_REASON_FILE);
+ android::base::WriteStringToFile(StringPrintf("%s\n", reason.c_str()), LAST_REBOOT_REASON_FILE,
+ S_IRUSR | S_IWUSR, AID_SYSTEM, AID_SYSTEM);
if (cmd == ANDROID_RB_THERMOFF) { // do not wait if it is thermal
DoThermalOff();
diff --git a/libbacktrace/Android.bp b/libbacktrace/Android.bp
index 8f74a1a..b0e0a23 100644
--- a/libbacktrace/Android.bp
+++ b/libbacktrace/Android.bp
@@ -55,6 +55,12 @@
"UnwindPtrace.cpp",
]
+cc_library_headers {
+ name: "libbacktrace_headers",
+ vendor_available: true,
+ export_include_dirs: ["include"],
+}
+
cc_library {
name: "libbacktrace",
defaults: ["libbacktrace_common"],
@@ -64,6 +70,8 @@
"BacktraceMap.cpp",
],
+ export_include_dirs: ["include"],
+
target: {
darwin: {
enabled: true,
diff --git a/include/backtrace/Backtrace.h b/libbacktrace/include/backtrace/Backtrace.h
similarity index 100%
rename from include/backtrace/Backtrace.h
rename to libbacktrace/include/backtrace/Backtrace.h
diff --git a/include/backtrace/BacktraceMap.h b/libbacktrace/include/backtrace/BacktraceMap.h
similarity index 100%
rename from include/backtrace/BacktraceMap.h
rename to libbacktrace/include/backtrace/BacktraceMap.h
diff --git a/include/backtrace/backtrace_constants.h b/libbacktrace/include/backtrace/backtrace_constants.h
similarity index 100%
rename from include/backtrace/backtrace_constants.h
rename to libbacktrace/include/backtrace/backtrace_constants.h
diff --git a/libsystem/Android.bp b/libsystem/Android.bp
index 4d076d5..e92fe63 100644
--- a/libsystem/Android.bp
+++ b/libsystem/Android.bp
@@ -1,4 +1,19 @@
cc_library_headers {
name: "libsystem_headers",
+ vendor_available: true,
+ host_supported: true,
+
+ header_libs: ["libaudio_system_headers"],
+ export_header_lib_headers: ["libaudio_system_headers"],
+
export_include_dirs: ["include"],
+
+ target: {
+ linux_bionic: {
+ enabled: true,
+ },
+ windows: {
+ enabled: true,
+ },
+ }
}
diff --git a/libsystem/include/system/window-deprecated.h b/libsystem/include/system/window-deprecated.h
index d1ef1e7..2ccfd66 100644
--- a/libsystem/include/system/window-deprecated.h
+++ b/libsystem/include/system/window-deprecated.h
@@ -32,6 +32,8 @@
**************************************************************************************************
**************************************************************************************************/
+#pragma once
+
#include <cutils/native_handle.h>
#include <errno.h>
#include <limits.h>
@@ -326,6 +328,12 @@
* if it is safe (i.e. no crash will occur) to call any method on it.
*/
NATIVE_WINDOW_IS_VALID = 17,
+
+ /*
+ * Returns 1 if NATIVE_WINDOW_GET_FRAME_TIMESTAMPS will return display
+ * present info, 0 if it won't.
+ */
+ NATIVE_WINDOW_FRAME_TIMESTAMPS_SUPPORTS_PRESENT = 18,
};
/* Valid operations for the (*perform)() hook.
@@ -445,6 +453,14 @@
*/
static const int64_t NATIVE_WINDOW_TIMESTAMP_AUTO = (-9223372036854775807LL-1);
+/* parameter for NATIVE_WINDOW_GET_FRAME_TIMESTAMPS
+ *
+ * Special timestamp value to indicate the timestamps aren't yet known or
+ * that they are invalid.
+ */
+static const int64_t NATIVE_WINDOW_TIMESTAMP_PENDING = -2;
+static const int64_t NATIVE_WINDOW_TIMESTAMP_INVALID = -1;
+
struct ANativeWindow
{
#ifdef __cplusplus
diff --git a/libutils/Android.bp b/libutils/Android.bp
index 50f3d97..696db3b 100644
--- a/libutils/Android.bp
+++ b/libutils/Android.bp
@@ -16,8 +16,16 @@
name: "libutils_headers",
vendor_available: true,
host_supported: true,
+
+ header_libs: ["libsystem_headers",],
+ export_header_lib_headers: ["libsystem_headers",],
export_include_dirs: ["include"],
+
target: {
+ android: {
+ header_libs: ["libbacktrace_headers"],
+ export_header_lib_headers: ["libbacktrace_headers"],
+ },
linux_bionic: {
enabled: true,
},
@@ -58,8 +66,12 @@
cflags: ["-Werror"],
include_dirs: ["external/safe-iop/include"],
- header_libs: ["libutils_headers"],
- export_header_lib_headers: ["libutils_headers"],
+ header_libs: [
+ "libutils_headers",
+ ],
+ export_header_lib_headers: [
+ "libutils_headers",
+ ],
arch: {
mips: {
diff --git a/rootdir/init.rc b/rootdir/init.rc
index 0b3e3ee..15bbd32 100644
--- a/rootdir/init.rc
+++ b/rootdir/init.rc
@@ -299,7 +299,9 @@
on post-fs
start logd
+ start servicemanager
start hwservicemanager
+ start vndservicemanager
# once everything is setup, no need to modify /
mount rootfs rootfs / ro remount
@@ -407,7 +409,7 @@
mkdir /data/misc/boottrace 0771 system shell
mkdir /data/misc/update_engine 0700 root root
mkdir /data/misc/trace 0700 root root
- mkdir /data/misc/reboot 0700 root root
+ mkdir /data/misc/reboot 0700 system system
# profile file layout
mkdir /data/misc/profiles 0771 system system
mkdir /data/misc/profiles/cur 0771 system system