Allow clang builds to disable -pie
am: 7a108bccad
Change-Id: I6c478610a71536b238dba05a4ead6d7c4af50a91
This commit is contained in:
11
cc/binary.go
11
cc/binary.go
@@ -41,6 +41,9 @@ type BinaryLinkerProperties struct {
|
|||||||
// extension (if any) appended
|
// extension (if any) appended
|
||||||
Symlinks []string `android:"arch_variant"`
|
Symlinks []string `android:"arch_variant"`
|
||||||
|
|
||||||
|
// do not pass -pie
|
||||||
|
No_pie *bool `android:"arch_variant"`
|
||||||
|
|
||||||
DynamicLinker string `blueprint:"mutated"`
|
DynamicLinker string `blueprint:"mutated"`
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -194,9 +197,11 @@ func (binary *binaryDecorator) linkerFlags(ctx ModuleContext, flags Flags) Flags
|
|||||||
flags = binary.baseLinker.linkerFlags(ctx, flags)
|
flags = binary.baseLinker.linkerFlags(ctx, flags)
|
||||||
|
|
||||||
if ctx.Host() && !binary.static() {
|
if ctx.Host() && !binary.static() {
|
||||||
flags.LdFlags = append(flags.LdFlags, "-pie")
|
if !ctx.AConfig().IsEnvTrue("DISABLE_HOST_PIE") {
|
||||||
if ctx.Os() == android.Windows {
|
flags.LdFlags = append(flags.LdFlags, "-pie")
|
||||||
flags.LdFlags = append(flags.LdFlags, "-Wl,-e_mainCRTStartup")
|
if ctx.Os() == android.Windows {
|
||||||
|
flags.LdFlags = append(flags.LdFlags, "-Wl,-e_mainCRTStartup")
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user