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

Commit 0eef27a5 authored by Ivan Lozano's avatar Ivan Lozano Committed by Gerrit Code Review
Browse files

Merge "rust: Pass lld flags from cc to rust linker args."

parents 29139f9c 6d45a986
Loading
Loading
Loading
Loading
+3 −7
Original line number Diff line number Diff line
@@ -23,12 +23,7 @@ import (
var (
	Arm64RustFlags            = []string{}
	Arm64ArchFeatureRustFlags = map[string][]string{}
	Arm64LinkFlags            = []string{
		"-Wl,--icf=safe",
		"-Wl,-z,max-page-size=4096",

		"-Wl,-z,separate-code",
	}
	Arm64LinkFlags            = []string{}

	Arm64ArchVariantRustFlags = map[string][]string{
		"armv8-a":  []string{},
@@ -59,7 +54,8 @@ func (t *toolchainArm64) RustTriple() string {
}

func (t *toolchainArm64) ToolchainLinkFlags() string {
	return "${config.DeviceGlobalLinkFlags} ${config.Arm64ToolchainLinkFlags}"
	// Prepend the lld flags from cc_config so we stay in sync with cc
	return "${config.DeviceGlobalLinkFlags} ${cc_config.Arm64Lldflags} ${config.Arm64ToolchainLinkFlags}"
}

func (t *toolchainArm64) ToolchainRustFlags() string {
+3 −5
Original line number Diff line number Diff line
@@ -23,10 +23,7 @@ import (
var (
	ArmRustFlags            = []string{}
	ArmArchFeatureRustFlags = map[string][]string{}
	ArmLinkFlags            = []string{
		"-Wl,--icf=safe",
		"-Wl,-m,armelf",
	}
	ArmLinkFlags            = []string{}

	ArmArchVariantRustFlags = map[string][]string{
		"armv7-a":      []string{},
@@ -59,7 +56,8 @@ func (t *toolchainArm) RustTriple() string {
}

func (t *toolchainArm) ToolchainLinkFlags() string {
	return "${config.DeviceGlobalLinkFlags} ${config.ArmToolchainLinkFlags}"
	// Prepend the lld flags from cc_config so we stay in sync with cc
	return "${config.DeviceGlobalLinkFlags} ${cc_config.ArmLldflags} ${config.ArmToolchainLinkFlags}"
}

func (t *toolchainArm) ToolchainRustFlags() string {
+6 −10
Original line number Diff line number Diff line
@@ -42,22 +42,18 @@ var (
	deviceGlobalRustFlags = []string{}

	deviceGlobalLinkFlags = []string{
		// Prepend the lld flags from cc_config so we stay in sync with cc
		"${cc_config.DeviceGlobalLldflags}",

		// Override cc's --no-undefined-version to allow rustc's generated alloc functions
		"-Wl,--undefined-version",

		"-Bdynamic",
		"-nostdlib",
		"-Wl,-z,noexecstack",
		"-Wl,-z,relro",
		"-Wl,-z,now",
		"-Wl,--build-id=md5",
		"-Wl,--warn-shared-textrel",
		"-Wl,--fatal-warnings",

		"-Wl,--pack-dyn-relocs=android+relr",
		"-Wl,--use-android-relr-tags",
		"-Wl,--no-undefined",
		"-Wl,--hash-style=gnu",

		"-B${cc_config.ClangBin}",
		"-fuse-ld=lld",
	}
)

+2 −1
Original line number Diff line number Diff line
@@ -61,7 +61,8 @@ func (t *toolchainX86_64) RustTriple() string {
}

func (t *toolchainX86_64) ToolchainLinkFlags() string {
	return "${config.DeviceGlobalLinkFlags} ${config.X86_64ToolchainLinkFlags}"
	// Prepend the lld flags from cc_config so we stay in sync with cc
	return "${config.DeviceGlobalLinkFlags} ${cc_config.X86_64Lldflags} ${config.X86_64ToolchainLinkFlags}"
}

func (t *toolchainX86_64) ToolchainRustFlags() string {
+2 −1
Original line number Diff line number Diff line
@@ -77,7 +77,8 @@ func (t *toolchainDarwin) ProcMacroSuffix() string {
}

func (t *toolchainDarwinX8664) ToolchainLinkFlags() string {
	return "${config.DarwinToolchainLinkFlags} ${config.DarwinToolchainX8664LinkFlags}"
	// Prepend the lld flags from cc_config so we stay in sync with cc
	return "${cc_config.DarwinClangLldflags} ${config.DarwinToolchainLinkFlags} ${config.DarwinToolchainX8664LinkFlags}"
}

func (t *toolchainDarwinX8664) ToolchainRustFlags() string {
Loading