diff options
| -rw-r--r-- | cmds/dumpstate/dumpstate.cpp | 6 | ||||
| -rw-r--r-- | cmds/installd/dexopt.cpp | 5 | ||||
| -rw-r--r-- | cmds/installd/otapreopt_chroot.cpp | 2 | ||||
| -rw-r--r-- | cmds/installd/tests/installd_service_test.cpp | 18 | ||||
| -rw-r--r-- | libs/binder/include/binder/IInterface.h | 2 | ||||
| -rw-r--r-- | libs/binder/ndk/Android.bp | 9 | ||||
| -rw-r--r-- | opengl/libagl/Android.bp | 99 | ||||
| -rw-r--r-- | opengl/libagl/Android.mk | 49 | ||||
| -rw-r--r-- | services/surfaceflinger/OWNERS | 1 | ||||
| -rw-r--r-- | services/surfaceflinger/TimeStats/OWNERS | 1 | ||||
| -rw-r--r-- | services/surfaceflinger/surfaceflinger.rc | 1 | ||||
| -rw-r--r-- | vulkan/libvulkan/Android.bp | 4 |
12 files changed, 134 insertions, 63 deletions
diff --git a/cmds/dumpstate/dumpstate.cpp b/cmds/dumpstate/dumpstate.cpp index a91eafeb8b..8bd834d2de 100644 --- a/cmds/dumpstate/dumpstate.cpp +++ b/cmds/dumpstate/dumpstate.cpp @@ -1458,6 +1458,12 @@ static bool DumpstateDefault() { // Run iotop as root to show top 100 IO threads RunCommand("IOTOP", {"iotop", "-n", "1", "-m", "100"}); + // Gather shared memory buffer info if the product implements it + struct stat st; + if (!stat("/product/bin/dmabuf_dump", &st)) { + RunCommand("Dmabuf dump", {"/product/bin/dmabuf_dump"}); + } + if (!DropRootUser()) { return false; } diff --git a/cmds/installd/dexopt.cpp b/cmds/installd/dexopt.cpp index a6399510b6..852aa799fb 100644 --- a/cmds/installd/dexopt.cpp +++ b/cmds/installd/dexopt.cpp @@ -1958,6 +1958,11 @@ int dexopt(const char* dex_path, uid_t uid, const char* pkgname, const char* ins /* child -- drop privileges before continuing */ drop_capabilities(uid); + // Clear BOOTCLASSPATH. + // Let dex2oat use the BCP from boot image, excluding updatable BCP + // modules for AOT to avoid app recompilation after their upgrades. + unsetenv("BOOTCLASSPATH"); + SetDex2OatScheduling(boot_complete); if (flock(out_oat_fd.get(), LOCK_EX | LOCK_NB) != 0) { PLOG(ERROR) << "flock(" << out_oat_path << ") failed"; diff --git a/cmds/installd/otapreopt_chroot.cpp b/cmds/installd/otapreopt_chroot.cpp index 609ddaf9d7..670abea616 100644 --- a/cmds/installd/otapreopt_chroot.cpp +++ b/cmds/installd/otapreopt_chroot.cpp @@ -80,8 +80,6 @@ static std::vector<apex::ApexFile> ActivateApexPackages() { // system/apex/apexd/apexd_main.cpp. // // Only scan the APEX directory under /system (within the chroot dir). - // Note that this leaves around the loop devices created and used by - // libapexd's code, but this is fine, as we expect to reboot soon after. apex::scanPackagesDirAndActivate(apex::kApexPackageSystemDir); return apex::getActivePackages(); } diff --git a/cmds/installd/tests/installd_service_test.cpp b/cmds/installd/tests/installd_service_test.cpp index 73277100d1..ed1a0f4e4c 100644 --- a/cmds/installd/tests/installd_service_test.cpp +++ b/cmds/installd/tests/installd_service_test.cpp @@ -21,6 +21,7 @@ #include <stdlib.h> #include <string.h> #include <sys/statvfs.h> +#include <sys/stat.h> #include <sys/xattr.h> #include <android-base/file.h> @@ -70,27 +71,28 @@ static std::string get_full_path(const char* path) { static void mkdir(const char* path, uid_t owner, gid_t group, mode_t mode) { const std::string fullPath = get_full_path(path); - ::mkdir(fullPath.c_str(), mode); - ::chown(fullPath.c_str(), owner, group); - ::chmod(fullPath.c_str(), mode); + EXPECT_EQ(::mkdir(fullPath.c_str(), mode), 0); + EXPECT_EQ(::chown(fullPath.c_str(), owner, group), 0); + EXPECT_EQ(::chmod(fullPath.c_str(), mode), 0); } static void touch(const char* path, uid_t owner, gid_t group, mode_t mode) { int fd = ::open(get_full_path(path).c_str(), O_RDWR | O_CREAT, mode); - ::fchown(fd, owner, group); - ::fchmod(fd, mode); - ::close(fd); + EXPECT_NE(fd, -1); + EXPECT_EQ(::fchown(fd, owner, group), 0); + EXPECT_EQ(::fchmod(fd, mode), 0); + EXPECT_EQ(::close(fd), 0); } static int stat_gid(const char* path) { struct stat buf; - ::stat(get_full_path(path).c_str(), &buf); + EXPECT_EQ(::stat(get_full_path(path).c_str(), &buf), 0); return buf.st_gid; } static int stat_mode(const char* path) { struct stat buf; - ::stat(get_full_path(path).c_str(), &buf); + EXPECT_EQ(::stat(get_full_path(path).c_str(), &buf), 0); return buf.st_mode & (S_IRWXU | S_IRWXG | S_IRWXO | S_ISGID); } diff --git a/libs/binder/include/binder/IInterface.h b/libs/binder/include/binder/IInterface.h index f6381f7bc3..0d305608ca 100644 --- a/libs/binder/include/binder/IInterface.h +++ b/libs/binder/include/binder/IInterface.h @@ -54,6 +54,7 @@ public: virtual const String16& getInterfaceDescriptor() const; protected: + typedef INTERFACE BaseInterface; virtual IBinder* onAsBinder(); }; @@ -66,6 +67,7 @@ public: explicit BpInterface(const sp<IBinder>& remote); protected: + typedef INTERFACE BaseInterface; virtual IBinder* onAsBinder(); }; diff --git a/libs/binder/ndk/Android.bp b/libs/binder/ndk/Android.bp index 68011bbafc..a96c9a0eff 100644 --- a/libs/binder/ndk/Android.bp +++ b/libs/binder/ndk/Android.bp @@ -16,7 +16,7 @@ cc_library { name: "libbinder_ndk", - vendor_available: false, + vendor_available: true, export_include_dirs: [ "include_ndk", @@ -50,6 +50,13 @@ cc_library { "libandroid_runtime", ], + header_libs: [ + "jni_headers", + ], + export_header_lib_headers: [ + "jni_headers", + ], + version_script: "libbinder_ndk.map.txt", stubs: { symbol_file: "libbinder_ndk.map.txt", diff --git a/opengl/libagl/Android.bp b/opengl/libagl/Android.bp new file mode 100644 index 0000000000..6ec24b3712 --- /dev/null +++ b/opengl/libagl/Android.bp @@ -0,0 +1,99 @@ +// +// Build the software OpenGL ES library +// + +cc_defaults { + name: "libGLES_android_defaults", + + cflags: [ + "-DLOG_TAG=\"libagl\"", + "-DGL_GLEXT_PROTOTYPES", + "-DEGL_EGLEXT_PROTOTYPES", + "-fvisibility=hidden", + "-Wall", + "-Werror", + ], + + shared_libs: [ + "libcutils", + "libhardware", + "libutils", + "liblog", + "libpixelflinger", + "libETC1", + "libui", + "libnativewindow", + ], + + // we need to access the private Bionic header <bionic_tls.h> + include_dirs: ["bionic/libc/private"], + + arch: { + arm: { + cflags: ["-fstrict-aliasing"], + }, + + mips: { + cflags: [ + "-fstrict-aliasing", + // The graphics code can generate division by zero + "-mno-check-zero-division", + ], + }, + }, +} + +cc_library_shared { + name: "libGLES_android", + defaults: ["libGLES_android_defaults"], + + whole_static_libs: ["libGLES_android_arm"], + + srcs: [ + "egl.cpp", + "state.cpp", + "texture.cpp", + "Tokenizer.cpp", + "TokenManager.cpp", + "TextureObjectManager.cpp", + "BufferObjectManager.cpp", + ], + + arch: { + arm: { + srcs: [ + "fixed_asm.S", + "iterators.S", + ], + }, + + mips: { + rev6: { + srcs: ["arch-mips/fixed_asm.S"], + }, + }, + }, + + relative_install_path: "egl", +} + +cc_library_static { + name: "libGLES_android_arm", + defaults: ["libGLES_android_defaults"], + + srcs: [ + "array.cpp", + "fp.cpp", + "light.cpp", + "matrix.cpp", + "mipmap.cpp", + "primitives.cpp", + "vertex.cpp", + ], + + arch: { + arm: { + instruction_set: "arm", + }, + }, +} diff --git a/opengl/libagl/Android.mk b/opengl/libagl/Android.mk deleted file mode 100644 index 15a12e458d..0000000000 --- a/opengl/libagl/Android.mk +++ /dev/null @@ -1,49 +0,0 @@ -LOCAL_PATH:= $(call my-dir) - -# -# Build the software OpenGL ES library -# - -include $(CLEAR_VARS) - -LOCAL_SRC_FILES:= \ - egl.cpp \ - state.cpp \ - texture.cpp \ - Tokenizer.cpp \ - TokenManager.cpp \ - TextureObjectManager.cpp \ - BufferObjectManager.cpp \ - array.cpp.arm \ - fp.cpp.arm \ - light.cpp.arm \ - matrix.cpp.arm \ - mipmap.cpp.arm \ - primitives.cpp.arm \ - vertex.cpp.arm - -LOCAL_CFLAGS += -DLOG_TAG=\"libagl\" -LOCAL_CFLAGS += -DGL_GLEXT_PROTOTYPES -DEGL_EGLEXT_PROTOTYPES -LOCAL_CFLAGS += -fvisibility=hidden - -LOCAL_SHARED_LIBRARIES := libcutils libhardware libutils liblog libpixelflinger libETC1 libui libnativewindow - -LOCAL_SRC_FILES_arm += fixed_asm.S iterators.S -LOCAL_CFLAGS_arm += -fstrict-aliasing - -ifndef ARCH_MIPS_REV6 -LOCAL_SRC_FILES_mips += arch-mips/fixed_asm.S -endif -LOCAL_CFLAGS_mips += -fstrict-aliasing -# The graphics code can generate division by zero -LOCAL_CFLAGS_mips += -mno-check-zero-division - -LOCAL_CFLAGS += -Wall -Werror - -# we need to access the private Bionic header <bionic_tls.h> -LOCAL_C_INCLUDES += bionic/libc/private - -LOCAL_MODULE_RELATIVE_PATH := egl -LOCAL_MODULE:= libGLES_android - -include $(BUILD_SHARED_LIBRARY) diff --git a/services/surfaceflinger/OWNERS b/services/surfaceflinger/OWNERS index dc2b300717..ce0611c755 100644 --- a/services/surfaceflinger/OWNERS +++ b/services/surfaceflinger/OWNERS @@ -1,3 +1,4 @@ +akrulec@google.com chaviw@google.com lpy@google.com marissaw@google.com diff --git a/services/surfaceflinger/TimeStats/OWNERS b/services/surfaceflinger/TimeStats/OWNERS new file mode 100644 index 0000000000..ac02d12fcd --- /dev/null +++ b/services/surfaceflinger/TimeStats/OWNERS @@ -0,0 +1 @@ +zzyiwei@google.com
\ No newline at end of file diff --git a/services/surfaceflinger/surfaceflinger.rc b/services/surfaceflinger/surfaceflinger.rc index 5bec502e1d..aea602bba4 100644 --- a/services/surfaceflinger/surfaceflinger.rc +++ b/services/surfaceflinger/surfaceflinger.rc @@ -2,7 +2,6 @@ service surfaceflinger /system/bin/surfaceflinger class core animation user system group graphics drmrpc readproc - updatable onrestart restart zygote writepid /dev/stune/foreground/tasks socket pdx/system/vr/display/client stream 0666 system graphics u:object_r:pdx_display_client_endpoint_socket:s0 diff --git a/vulkan/libvulkan/Android.bp b/vulkan/libvulkan/Android.bp index fed8481e7b..206c8eb379 100644 --- a/vulkan/libvulkan/Android.bp +++ b/vulkan/libvulkan/Android.bp @@ -84,8 +84,8 @@ cc_library_shared { "libutils", "libcutils", "libz", - "libnativebridge", - "libnativeloader", + "libnativebridge_lazy", + "libnativeloader_lazy", "libnativewindow", "android.hardware.graphics.common@1.0", ], |