Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 22bf105b authored by Dan Albert's avatar Dan Albert Committed by android-build-merger
Browse files

Merge "Link libc++demangle with libc++ for the device." am: 6f65a201 am:...

Merge "Link libc++demangle with libc++ for the device." am: 6f65a201 am: d0f92225 am: e76715a1 am: 15da1fe4
am: dd45ceaa

Change-Id: I2bb20699bb89fa63a9dec056a1aebbdefd461a31
parents d6b12383 dd45ceaa
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -1941,13 +1941,13 @@ func TestStaticLibDepExport(t *testing.T) {
	// Check the shared version of lib2.
	variant := "android_arm64_armv8-a_core_shared"
	module := ctx.ModuleForTests("lib2", variant).Module().(*Module)
	checkStaticLibs(t, []string{"lib1", "libclang_rt.builtins-aarch64-android", "libatomic", "libgcc_stripped"}, module)
	checkStaticLibs(t, []string{"lib1", "libc++demangle", "libclang_rt.builtins-aarch64-android", "libatomic", "libgcc_stripped"}, module)

	// Check the static version of lib2.
	variant = "android_arm64_armv8-a_core_static"
	module = ctx.ModuleForTests("lib2", variant).Module().(*Module)
	// libc++_static is linked additionally.
	checkStaticLibs(t, []string{"lib1", "libc++_static", "libclang_rt.builtins-aarch64-android", "libatomic", "libgcc_stripped"}, module)
	checkStaticLibs(t, []string{"lib1", "libc++_static", "libc++demangle", "libclang_rt.builtins-aarch64-android", "libatomic", "libgcc_stripped"}, module)
}

var compilerFlagsTestCases = []struct {
+9 −0
Original line number Diff line number Diff line
@@ -161,6 +161,15 @@ func (stl *stl) deps(ctx BaseModuleContext, deps Deps) Deps {
		} else {
			deps.StaticLibs = append(deps.StaticLibs, stl.Properties.SelectedStl)
		}
		if ctx.Device() && !ctx.useSdk() {
			// __cxa_demangle is not a part of libc++.so on the device since
			// it's large and most processes don't need it. Statically link
			// libc++demangle into every process so that users still have it if
			// needed, but the linker won't include this unless it is actually
			// called.
			// http://b/138245375
			deps.StaticLibs = append(deps.StaticLibs, "libc++demangle")
		}
		if ctx.toolchain().Bionic() {
			if ctx.Arch().ArchType == android.Arm {
				deps.StaticLibs = append(deps.StaticLibs, "libunwind_llvm")
+10 −0
Original line number Diff line number Diff line
@@ -166,6 +166,16 @@ func GatherRequiredDepsForTest(os android.OsType) string {
				support_system_process: true,
			},
		}
		cc_library {
			name: "libc++demangle",
			no_libcrt: true,
			nocrt: true,
			system_shared_libs: [],
			stl: "none",
			host_supported: false,
			vendor_available: true,
			recovery_available: true,
		}
		cc_library {
			name: "libunwind_llvm",
			no_libcrt: true,