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

Commit b60cd11b authored by Eric Rahm's avatar Eric Rahm Committed by Gerrit Code Review
Browse files

Merge changes Ia85d8dc0,I4ab3d47f,Ieeaa6554,I0b3c1f08 into main

* changes:
  Use zstd to compress debug info in rust libraries
  Use zstd to compress debug info in cc libraries
  Compress debug info in clang builds with zstd
  Decompress debug sections when creating debug info
parents a00cc919 a806f9dc
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -46,6 +46,10 @@ var (
		"-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,
	// 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
@@ -60,6 +64,7 @@ var (
func init() {
	exportedVars.ExportStringListStaticVariable("LinuxBionicArm64Cflags", linuxCrossCflags)
	exportedVars.ExportStringListStaticVariable("LinuxBionicArm64Ldflags", linuxCrossLdflags)
	exportedVars.ExportStringListStaticVariable("LinuxBionicArm64Lldflags", linuxCrossLldflags)
}

// toolchain config for ARM64 Linux CrossHost. Almost everything is the same as the ARM64 Android
+10 −2
Original line number Diff line number Diff line
@@ -27,16 +27,24 @@ var (
		"-march=armv7a",
	}

	linuxArmLldflags = append(linuxArmLdflags,
		"-Wl,--compress-debug-sections=zstd",
	)

	linuxArm64Ldflags = []string{}

	linuxArm64Lldflags = append(linuxArm64Ldflags,
		"-Wl,--compress-debug-sections=zstd",
	)
)

func init() {
	exportedVars.ExportStringListStaticVariable("LinuxArmCflags", linuxArmCflags)
	exportedVars.ExportStringListStaticVariable("LinuxArm64Cflags", linuxArm64Cflags)
	exportedVars.ExportStringListStaticVariable("LinuxArmLdflags", linuxArmLdflags)
	exportedVars.ExportStringListStaticVariable("LinuxArmLldflags", linuxArmLdflags)
	exportedVars.ExportStringListStaticVariable("LinuxArmLldflags", linuxArmLldflags)
	exportedVars.ExportStringListStaticVariable("LinuxArm64Ldflags", linuxArm64Ldflags)
	exportedVars.ExportStringListStaticVariable("LinuxArm64Lldflags", linuxArm64Ldflags)
	exportedVars.ExportStringListStaticVariable("LinuxArm64Lldflags", linuxArm64Lldflags)

	exportedVars.ExportStringListStaticVariable("LinuxArmYasmFlags", []string{"-f elf32 -m arm"})
	exportedVars.ExportStringListStaticVariable("LinuxArm64YasmFlags", []string{"-f elf64 -m aarch64"})
+6 −1
Original line number Diff line number Diff line
@@ -133,6 +133,9 @@ var (
		// Using simple template names reduces the size of debug builds.
		"-gsimple-template-names",

		// Use zstd to compress debug data.
		"-gz=zstd",

		// Make paths in deps files relative.
		"-no-canonical-prefixes",
	}
@@ -200,7 +203,9 @@ var (
		"-Wl,-mllvm,-regalloc-enable-advisor=release",
	}

	deviceGlobalLldflags = append(deviceGlobalLdflags, commonGlobalLldflags...)
	deviceGlobalLldflags = append(append(deviceGlobalLdflags, commonGlobalLldflags...),
		"-Wl,--compress-debug-sections=zstd",
	)

	hostGlobalCflags = []string{}

+5 −1
Original line number Diff line number Diff line
@@ -53,6 +53,10 @@ var (
		"--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,
	// 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
@@ -71,7 +75,7 @@ const (
func init() {
	exportedVars.ExportStringListStaticVariable("LinuxBionicCflags", linuxBionicCflags)
	exportedVars.ExportStringListStaticVariable("LinuxBionicLdflags", linuxBionicLdflags)
	exportedVars.ExportStringListStaticVariable("LinuxBionicLldflags", linuxBionicLdflags)
	exportedVars.ExportStringListStaticVariable("LinuxBionicLldflags", linuxBionicLldflags)

	// Use the device gcc toolchain for now
	exportedVars.ExportStringStaticVariable("LinuxBionicGccVersion", x86_64GccVersion)
+5 −1
Original line number Diff line number Diff line
@@ -59,6 +59,10 @@ var (
		"--gcc-toolchain=${LinuxGccRoot}",
	}

	linuxLldflags = append(linuxLdflags,
		"-Wl,--compress-debug-sections=zstd",
	)

	linuxGlibcLdflags = []string{
		"--sysroot ${LinuxGccRoot}/sysroot",
	}
@@ -138,7 +142,7 @@ func init() {

	exportedVars.ExportStringListStaticVariable("LinuxCflags", linuxCflags)
	exportedVars.ExportStringListStaticVariable("LinuxLdflags", linuxLdflags)
	exportedVars.ExportStringListStaticVariable("LinuxLldflags", linuxLdflags)
	exportedVars.ExportStringListStaticVariable("LinuxLldflags", linuxLldflags)
	exportedVars.ExportStringListStaticVariable("LinuxGlibcCflags", linuxGlibcCflags)
	exportedVars.ExportStringListStaticVariable("LinuxGlibcLdflags", linuxGlibcLdflags)
	exportedVars.ExportStringListStaticVariable("LinuxGlibcLldflags", linuxGlibcLdflags)
Loading