Use a linker script for host bionic embedded linker sections
Use an implicit linker script instead of flags in a file to specify the locations of the host bionic embedded linker and to prevent it from being stripped. Test: build and run host bionic binary Change-Id: I64e12118d33c67bab5e657cbc3ea8cde8f0fd7e6
This commit is contained in:
@@ -178,7 +178,7 @@ func (binary *binaryDecorator) linkerDeps(ctx DepsContext, deps Deps) Deps {
|
||||
// the kernel before jumping to the embedded linker.
|
||||
if ctx.Os() == android.LinuxBionic && !binary.static() {
|
||||
deps.DynamicLinker = "linker"
|
||||
deps.LinkerFlagsFile = "host_bionic_linker_flags"
|
||||
deps.CrtBegin = append(deps.CrtBegin, "host_bionic_linker_script")
|
||||
}
|
||||
}
|
||||
|
||||
@@ -345,12 +345,6 @@ func (binary *binaryDecorator) link(ctx ModuleContext,
|
||||
|
||||
var linkerDeps android.Paths
|
||||
|
||||
// Add flags from linker flags file.
|
||||
if deps.LinkerFlagsFile.Valid() {
|
||||
flags.Local.LdFlags = append(flags.Local.LdFlags, "$$(cat "+deps.LinkerFlagsFile.String()+")")
|
||||
linkerDeps = append(linkerDeps, deps.LinkerFlagsFile.Path())
|
||||
}
|
||||
|
||||
if flags.DynamicLinker != "" {
|
||||
flags.Local.LdFlags = append(flags.Local.LdFlags, "-Wl,-dynamic-linker,"+flags.DynamicLinker)
|
||||
} else if ctx.toolchain().Bionic() && !binary.static() {
|
||||
|
Reference in New Issue
Block a user