Loading apex/allowed_deps.txt +1 −0 Original line number Diff line number Diff line Loading @@ -569,6 +569,7 @@ prebuilt_libclang_rt.builtins-aarch64-android(minSdkVersion:(no version)) prebuilt_libclang_rt.builtins-arm-android(minSdkVersion:(no version)) prebuilt_libclang_rt.builtins-i686-android(minSdkVersion:(no version)) prebuilt_libclang_rt.builtins-x86_64-android(minSdkVersion:(no version)) prebuilt_libunwind(minSdkVersion:(no version)) prebuilt_test_framework-sdkextensions(minSdkVersion:(no version)) server_configurable_flags(minSdkVersion:29) service-permission(minSdkVersion:current) Loading apex/apex.go +1 −1 Original line number Diff line number Diff line Loading @@ -2854,7 +2854,7 @@ func makeApexAvailableBaseline() map[string][]string { "libprofile-clang-extras_ndk", "libprofile-extras", "libprofile-extras_ndk", "libunwind_llvm", "libunwind", } return m } Loading apex/apex_test.go +2 −2 Original line number Diff line number Diff line Loading @@ -1752,10 +1752,10 @@ func TestQTargetApexUsesStaticUnwinder(t *testing.T) { // ensure apex variant of c++ is linked with static unwinder cm := ctx.ModuleForTests("libc++", "android_arm64_armv8-a_shared_apex29").Module().(*cc.Module) ensureListContains(t, cm.Properties.AndroidMkStaticLibs, "libgcc_stripped") ensureListContains(t, cm.Properties.AndroidMkStaticLibs, "libunwind") // note that platform variant is not. cm = ctx.ModuleForTests("libc++", "android_arm64_armv8-a_shared").Module().(*cc.Module) ensureListNotContains(t, cm.Properties.AndroidMkStaticLibs, "libgcc_stripped") ensureListNotContains(t, cm.Properties.AndroidMkStaticLibs, "libunwind") } func TestApexMinSdkVersion_ErrorIfIncompatibleStubs(t *testing.T) { Loading cc/config/global.go +3 −0 Original line number Diff line number Diff line Loading @@ -90,9 +90,12 @@ var ( "-Wl,--warn-shared-textrel", "-Wl,--fatal-warnings", "-Wl,--no-undefined-version", // TODO: Eventually we should link against a libunwind.a with hidden symbols, and then these // --exclude-libs arguments can be removed. "-Wl,--exclude-libs,libgcc.a", "-Wl,--exclude-libs,libgcc_stripped.a", "-Wl,--exclude-libs,libunwind_llvm.a", "-Wl,--exclude-libs,libunwind.a", } deviceGlobalLldflags = append(ClangFilterUnknownLldflags(deviceGlobalLdflags), Loading cc/stl.go +2 −9 Original line number Diff line number Diff line Loading @@ -140,11 +140,7 @@ func needsLibAndroidSupport(ctx BaseModuleContext) bool { } func staticUnwinder(ctx android.BaseModuleContext) string { if ctx.Arch().ArchType == android.Arm { return "libunwind_llvm" } else { return "libgcc_stripped" } return "libunwind" } func (stl *stl) deps(ctx BaseModuleContext, deps Deps) Deps { Loading Loading @@ -192,6 +188,7 @@ func (stl *stl) deps(ctx BaseModuleContext, deps Deps) Deps { if needsLibAndroidSupport(ctx) { deps.StaticLibs = append(deps.StaticLibs, "ndk_libandroid_support") } // TODO: Switch the NDK over to the LLVM unwinder for non-arm32 architectures. if ctx.Arch().ArchType == android.Arm { deps.StaticLibs = append(deps.StaticLibs, "ndk_libunwind") } else { Loading Loading @@ -231,10 +228,6 @@ func (stl *stl) flags(ctx ModuleContext, flags Flags) Flags { // Use Win32 threads in libc++. "-D_LIBCPP_HAS_THREAD_API_WIN32") } } else { if ctx.Arch().ArchType == android.Arm { flags.Local.LdFlags = append(flags.Local.LdFlags, "-Wl,--exclude-libs,libunwind_llvm.a") } } case "libstdc++": // Nothing Loading Loading
apex/allowed_deps.txt +1 −0 Original line number Diff line number Diff line Loading @@ -569,6 +569,7 @@ prebuilt_libclang_rt.builtins-aarch64-android(minSdkVersion:(no version)) prebuilt_libclang_rt.builtins-arm-android(minSdkVersion:(no version)) prebuilt_libclang_rt.builtins-i686-android(minSdkVersion:(no version)) prebuilt_libclang_rt.builtins-x86_64-android(minSdkVersion:(no version)) prebuilt_libunwind(minSdkVersion:(no version)) prebuilt_test_framework-sdkextensions(minSdkVersion:(no version)) server_configurable_flags(minSdkVersion:29) service-permission(minSdkVersion:current) Loading
apex/apex.go +1 −1 Original line number Diff line number Diff line Loading @@ -2854,7 +2854,7 @@ func makeApexAvailableBaseline() map[string][]string { "libprofile-clang-extras_ndk", "libprofile-extras", "libprofile-extras_ndk", "libunwind_llvm", "libunwind", } return m } Loading
apex/apex_test.go +2 −2 Original line number Diff line number Diff line Loading @@ -1752,10 +1752,10 @@ func TestQTargetApexUsesStaticUnwinder(t *testing.T) { // ensure apex variant of c++ is linked with static unwinder cm := ctx.ModuleForTests("libc++", "android_arm64_armv8-a_shared_apex29").Module().(*cc.Module) ensureListContains(t, cm.Properties.AndroidMkStaticLibs, "libgcc_stripped") ensureListContains(t, cm.Properties.AndroidMkStaticLibs, "libunwind") // note that platform variant is not. cm = ctx.ModuleForTests("libc++", "android_arm64_armv8-a_shared").Module().(*cc.Module) ensureListNotContains(t, cm.Properties.AndroidMkStaticLibs, "libgcc_stripped") ensureListNotContains(t, cm.Properties.AndroidMkStaticLibs, "libunwind") } func TestApexMinSdkVersion_ErrorIfIncompatibleStubs(t *testing.T) { Loading
cc/config/global.go +3 −0 Original line number Diff line number Diff line Loading @@ -90,9 +90,12 @@ var ( "-Wl,--warn-shared-textrel", "-Wl,--fatal-warnings", "-Wl,--no-undefined-version", // TODO: Eventually we should link against a libunwind.a with hidden symbols, and then these // --exclude-libs arguments can be removed. "-Wl,--exclude-libs,libgcc.a", "-Wl,--exclude-libs,libgcc_stripped.a", "-Wl,--exclude-libs,libunwind_llvm.a", "-Wl,--exclude-libs,libunwind.a", } deviceGlobalLldflags = append(ClangFilterUnknownLldflags(deviceGlobalLdflags), Loading
cc/stl.go +2 −9 Original line number Diff line number Diff line Loading @@ -140,11 +140,7 @@ func needsLibAndroidSupport(ctx BaseModuleContext) bool { } func staticUnwinder(ctx android.BaseModuleContext) string { if ctx.Arch().ArchType == android.Arm { return "libunwind_llvm" } else { return "libgcc_stripped" } return "libunwind" } func (stl *stl) deps(ctx BaseModuleContext, deps Deps) Deps { Loading Loading @@ -192,6 +188,7 @@ func (stl *stl) deps(ctx BaseModuleContext, deps Deps) Deps { if needsLibAndroidSupport(ctx) { deps.StaticLibs = append(deps.StaticLibs, "ndk_libandroid_support") } // TODO: Switch the NDK over to the LLVM unwinder for non-arm32 architectures. if ctx.Arch().ArchType == android.Arm { deps.StaticLibs = append(deps.StaticLibs, "ndk_libunwind") } else { Loading Loading @@ -231,10 +228,6 @@ func (stl *stl) flags(ctx ModuleContext, flags Flags) Flags { // Use Win32 threads in libc++. "-D_LIBCPP_HAS_THREAD_API_WIN32") } } else { if ctx.Arch().ArchType == android.Arm { flags.Local.LdFlags = append(flags.Local.LdFlags, "-Wl,--exclude-libs,libunwind_llvm.a") } } case "libstdc++": // Nothing Loading