Merge changes Ia85d8dc0,I4ab3d47f,Ieeaa6554,I0b3c1f08 into main am: b60cd11bc7
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2788316 Change-Id: Iec51da037662a419bb00bd4d143622ac257251fd Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
@@ -46,6 +46,10 @@ var (
|
|||||||
"-Wl,--no-undefined-version",
|
"-Wl,--no-undefined-version",
|
||||||
}
|
}
|
||||||
|
|
||||||
|
linuxCrossLldflags = append(linuxCrossLdflags,
|
||||||
|
"-Wl,--compress-debug-sections=zstd",
|
||||||
|
)
|
||||||
|
|
||||||
// Embed the linker into host bionic binaries. This is needed to support host bionic,
|
// Embed the linker into host bionic binaries. This is needed to support host bionic,
|
||||||
// as the linux kernel requires that the ELF interpreter referenced by PT_INTERP be
|
// as the linux kernel requires that the ELF interpreter referenced by PT_INTERP be
|
||||||
// either an absolute path, or relative from CWD. To work around this, we extract
|
// either an absolute path, or relative from CWD. To work around this, we extract
|
||||||
@@ -60,6 +64,7 @@ var (
|
|||||||
func init() {
|
func init() {
|
||||||
exportedVars.ExportStringListStaticVariable("LinuxBionicArm64Cflags", linuxCrossCflags)
|
exportedVars.ExportStringListStaticVariable("LinuxBionicArm64Cflags", linuxCrossCflags)
|
||||||
exportedVars.ExportStringListStaticVariable("LinuxBionicArm64Ldflags", linuxCrossLdflags)
|
exportedVars.ExportStringListStaticVariable("LinuxBionicArm64Ldflags", linuxCrossLdflags)
|
||||||
|
exportedVars.ExportStringListStaticVariable("LinuxBionicArm64Lldflags", linuxCrossLldflags)
|
||||||
}
|
}
|
||||||
|
|
||||||
// toolchain config for ARM64 Linux CrossHost. Almost everything is the same as the ARM64 Android
|
// toolchain config for ARM64 Linux CrossHost. Almost everything is the same as the ARM64 Android
|
||||||
|
@@ -27,16 +27,24 @@ var (
|
|||||||
"-march=armv7a",
|
"-march=armv7a",
|
||||||
}
|
}
|
||||||
|
|
||||||
|
linuxArmLldflags = append(linuxArmLdflags,
|
||||||
|
"-Wl,--compress-debug-sections=zstd",
|
||||||
|
)
|
||||||
|
|
||||||
linuxArm64Ldflags = []string{}
|
linuxArm64Ldflags = []string{}
|
||||||
|
|
||||||
|
linuxArm64Lldflags = append(linuxArm64Ldflags,
|
||||||
|
"-Wl,--compress-debug-sections=zstd",
|
||||||
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
exportedVars.ExportStringListStaticVariable("LinuxArmCflags", linuxArmCflags)
|
exportedVars.ExportStringListStaticVariable("LinuxArmCflags", linuxArmCflags)
|
||||||
exportedVars.ExportStringListStaticVariable("LinuxArm64Cflags", linuxArm64Cflags)
|
exportedVars.ExportStringListStaticVariable("LinuxArm64Cflags", linuxArm64Cflags)
|
||||||
exportedVars.ExportStringListStaticVariable("LinuxArmLdflags", linuxArmLdflags)
|
exportedVars.ExportStringListStaticVariable("LinuxArmLdflags", linuxArmLdflags)
|
||||||
exportedVars.ExportStringListStaticVariable("LinuxArmLldflags", linuxArmLdflags)
|
exportedVars.ExportStringListStaticVariable("LinuxArmLldflags", linuxArmLldflags)
|
||||||
exportedVars.ExportStringListStaticVariable("LinuxArm64Ldflags", linuxArm64Ldflags)
|
exportedVars.ExportStringListStaticVariable("LinuxArm64Ldflags", linuxArm64Ldflags)
|
||||||
exportedVars.ExportStringListStaticVariable("LinuxArm64Lldflags", linuxArm64Ldflags)
|
exportedVars.ExportStringListStaticVariable("LinuxArm64Lldflags", linuxArm64Lldflags)
|
||||||
|
|
||||||
exportedVars.ExportStringListStaticVariable("LinuxArmYasmFlags", []string{"-f elf32 -m arm"})
|
exportedVars.ExportStringListStaticVariable("LinuxArmYasmFlags", []string{"-f elf32 -m arm"})
|
||||||
exportedVars.ExportStringListStaticVariable("LinuxArm64YasmFlags", []string{"-f elf64 -m aarch64"})
|
exportedVars.ExportStringListStaticVariable("LinuxArm64YasmFlags", []string{"-f elf64 -m aarch64"})
|
||||||
|
@@ -133,6 +133,9 @@ var (
|
|||||||
// Using simple template names reduces the size of debug builds.
|
// Using simple template names reduces the size of debug builds.
|
||||||
"-gsimple-template-names",
|
"-gsimple-template-names",
|
||||||
|
|
||||||
|
// Use zstd to compress debug data.
|
||||||
|
"-gz=zstd",
|
||||||
|
|
||||||
// Make paths in deps files relative.
|
// Make paths in deps files relative.
|
||||||
"-no-canonical-prefixes",
|
"-no-canonical-prefixes",
|
||||||
}
|
}
|
||||||
@@ -200,7 +203,9 @@ var (
|
|||||||
"-Wl,-mllvm,-regalloc-enable-advisor=release",
|
"-Wl,-mllvm,-regalloc-enable-advisor=release",
|
||||||
}
|
}
|
||||||
|
|
||||||
deviceGlobalLldflags = append(deviceGlobalLdflags, commonGlobalLldflags...)
|
deviceGlobalLldflags = append(append(deviceGlobalLdflags, commonGlobalLldflags...),
|
||||||
|
"-Wl,--compress-debug-sections=zstd",
|
||||||
|
)
|
||||||
|
|
||||||
hostGlobalCflags = []string{}
|
hostGlobalCflags = []string{}
|
||||||
|
|
||||||
|
@@ -53,6 +53,10 @@ var (
|
|||||||
"--gcc-toolchain=${LinuxBionicGccRoot}",
|
"--gcc-toolchain=${LinuxBionicGccRoot}",
|
||||||
}
|
}
|
||||||
|
|
||||||
|
linuxBionicLldflags = append(linuxBionicLdflags,
|
||||||
|
"-Wl,--compress-debug-sections=zstd",
|
||||||
|
)
|
||||||
|
|
||||||
// Embed the linker into host bionic binaries. This is needed to support host bionic,
|
// Embed the linker into host bionic binaries. This is needed to support host bionic,
|
||||||
// as the linux kernel requires that the ELF interpreter referenced by PT_INTERP be
|
// as the linux kernel requires that the ELF interpreter referenced by PT_INTERP be
|
||||||
// either an absolute path, or relative from CWD. To work around this, we extract
|
// either an absolute path, or relative from CWD. To work around this, we extract
|
||||||
@@ -71,7 +75,7 @@ const (
|
|||||||
func init() {
|
func init() {
|
||||||
exportedVars.ExportStringListStaticVariable("LinuxBionicCflags", linuxBionicCflags)
|
exportedVars.ExportStringListStaticVariable("LinuxBionicCflags", linuxBionicCflags)
|
||||||
exportedVars.ExportStringListStaticVariable("LinuxBionicLdflags", linuxBionicLdflags)
|
exportedVars.ExportStringListStaticVariable("LinuxBionicLdflags", linuxBionicLdflags)
|
||||||
exportedVars.ExportStringListStaticVariable("LinuxBionicLldflags", linuxBionicLdflags)
|
exportedVars.ExportStringListStaticVariable("LinuxBionicLldflags", linuxBionicLldflags)
|
||||||
|
|
||||||
// Use the device gcc toolchain for now
|
// Use the device gcc toolchain for now
|
||||||
exportedVars.ExportStringStaticVariable("LinuxBionicGccVersion", x86_64GccVersion)
|
exportedVars.ExportStringStaticVariable("LinuxBionicGccVersion", x86_64GccVersion)
|
||||||
|
@@ -59,6 +59,10 @@ var (
|
|||||||
"--gcc-toolchain=${LinuxGccRoot}",
|
"--gcc-toolchain=${LinuxGccRoot}",
|
||||||
}
|
}
|
||||||
|
|
||||||
|
linuxLldflags = append(linuxLdflags,
|
||||||
|
"-Wl,--compress-debug-sections=zstd",
|
||||||
|
)
|
||||||
|
|
||||||
linuxGlibcLdflags = []string{
|
linuxGlibcLdflags = []string{
|
||||||
"--sysroot ${LinuxGccRoot}/sysroot",
|
"--sysroot ${LinuxGccRoot}/sysroot",
|
||||||
}
|
}
|
||||||
@@ -138,7 +142,7 @@ func init() {
|
|||||||
|
|
||||||
exportedVars.ExportStringListStaticVariable("LinuxCflags", linuxCflags)
|
exportedVars.ExportStringListStaticVariable("LinuxCflags", linuxCflags)
|
||||||
exportedVars.ExportStringListStaticVariable("LinuxLdflags", linuxLdflags)
|
exportedVars.ExportStringListStaticVariable("LinuxLdflags", linuxLdflags)
|
||||||
exportedVars.ExportStringListStaticVariable("LinuxLldflags", linuxLdflags)
|
exportedVars.ExportStringListStaticVariable("LinuxLldflags", linuxLldflags)
|
||||||
exportedVars.ExportStringListStaticVariable("LinuxGlibcCflags", linuxGlibcCflags)
|
exportedVars.ExportStringListStaticVariable("LinuxGlibcCflags", linuxGlibcCflags)
|
||||||
exportedVars.ExportStringListStaticVariable("LinuxGlibcLdflags", linuxGlibcLdflags)
|
exportedVars.ExportStringListStaticVariable("LinuxGlibcLdflags", linuxGlibcLdflags)
|
||||||
exportedVars.ExportStringListStaticVariable("LinuxGlibcLldflags", linuxGlibcLdflags)
|
exportedVars.ExportStringListStaticVariable("LinuxGlibcLldflags", linuxGlibcLdflags)
|
||||||
|
@@ -65,6 +65,7 @@ var (
|
|||||||
"-lpthread",
|
"-lpthread",
|
||||||
"-lm",
|
"-lm",
|
||||||
"-lgcc_s",
|
"-lgcc_s",
|
||||||
|
"-Wl,--compress-debug-sections=zstd",
|
||||||
}
|
}
|
||||||
|
|
||||||
deviceGlobalRustFlags = []string{
|
deviceGlobalRustFlags = []string{
|
||||||
@@ -86,6 +87,7 @@ var (
|
|||||||
"-Wl,--use-android-relr-tags",
|
"-Wl,--use-android-relr-tags",
|
||||||
"-Wl,--no-undefined",
|
"-Wl,--no-undefined",
|
||||||
"-B${cc_config.ClangBin}",
|
"-B${cc_config.ClangBin}",
|
||||||
|
"-Wl,--compress-debug-sections=zstd",
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@@ -98,9 +98,17 @@ do_strip_keep_mini_debug_info_linux() {
|
|||||||
"${CLANG_BIN}/llvm-strip" --strip-all --keep-section=.ARM.attributes --remove-section=.comment "${infile}" -o "${outfile}.tmp" || fail=true
|
"${CLANG_BIN}/llvm-strip" --strip-all --keep-section=.ARM.attributes --remove-section=.comment "${infile}" -o "${outfile}.tmp" || fail=true
|
||||||
|
|
||||||
if [ -z $fail ]; then
|
if [ -z $fail ]; then
|
||||||
"${CREATE_MINIDEBUGINFO}" "${infile}" "${outfile}.mini_debuginfo.xz"
|
# create_minidebuginfo has issues with compressed debug sections. Just
|
||||||
|
# decompress them for now using objcopy which understands compressed
|
||||||
|
# debug sections.
|
||||||
|
# b/306150780 tracks supporting this directly in create_minidebuginfo
|
||||||
|
decompressed="${infile}.decompressed"
|
||||||
|
"${CLANG_BIN}/llvm-objcopy" --decompress-debug-sections \
|
||||||
|
"${infile}" "${decompressed}"
|
||||||
|
|
||||||
|
"${CREATE_MINIDEBUGINFO}" "${decompressed}" "${outfile}.mini_debuginfo.xz"
|
||||||
"${CLANG_BIN}/llvm-objcopy" --add-section .gnu_debugdata="${outfile}.mini_debuginfo.xz" "${outfile}.tmp"
|
"${CLANG_BIN}/llvm-objcopy" --add-section .gnu_debugdata="${outfile}.mini_debuginfo.xz" "${outfile}.tmp"
|
||||||
rm -f "${outfile}.mini_debuginfo.xz"
|
rm -f "${outfile}.mini_debuginfo.xz" "${decompressed}"
|
||||||
else
|
else
|
||||||
cp -f "${infile}" "${outfile}.tmp"
|
cp -f "${infile}" "${outfile}.tmp"
|
||||||
fi
|
fi
|
||||||
|
Reference in New Issue
Block a user