Merge "Fix asan build for Macos" into main
This commit is contained in:
@@ -138,7 +138,6 @@ func makeVarsProvider(ctx android.MakeVarsContext) {
|
|||||||
ctx.Strict("CLANG_COVERAGE_HWASAN_FLAGS", strings.Join(clangCoverageHWASanFlags, " "))
|
ctx.Strict("CLANG_COVERAGE_HWASAN_FLAGS", strings.Join(clangCoverageHWASanFlags, " "))
|
||||||
|
|
||||||
ctx.Strict("ADDRESS_SANITIZER_CONFIG_EXTRA_CFLAGS", strings.Join(asanCflags, " "))
|
ctx.Strict("ADDRESS_SANITIZER_CONFIG_EXTRA_CFLAGS", strings.Join(asanCflags, " "))
|
||||||
ctx.Strict("ADDRESS_SANITIZER_CONFIG_EXTRA_LDFLAGS", strings.Join(asanLdflags, " "))
|
|
||||||
|
|
||||||
ctx.Strict("HWADDRESS_SANITIZER_CONFIG_EXTRA_CFLAGS", strings.Join(hwasanCflags, " "))
|
ctx.Strict("HWADDRESS_SANITIZER_CONFIG_EXTRA_CFLAGS", strings.Join(hwasanCflags, " "))
|
||||||
ctx.Strict("HWADDRESS_SANITIZER_GLOBAL_OPTIONS", strings.Join(hwasanGlobalOptions, ","))
|
ctx.Strict("HWADDRESS_SANITIZER_GLOBAL_OPTIONS", strings.Join(hwasanGlobalOptions, ","))
|
||||||
|
@@ -36,7 +36,6 @@ var (
|
|||||||
asanCflags = []string{
|
asanCflags = []string{
|
||||||
"-fno-omit-frame-pointer",
|
"-fno-omit-frame-pointer",
|
||||||
}
|
}
|
||||||
asanLdflags = []string{"-Wl,-u,__asan_preinit"}
|
|
||||||
|
|
||||||
// DO NOT ADD MLLVM FLAGS HERE! ADD THEM BELOW TO hwasanCommonFlags.
|
// DO NOT ADD MLLVM FLAGS HERE! ADD THEM BELOW TO hwasanCommonFlags.
|
||||||
hwasanCflags = []string{
|
hwasanCflags = []string{
|
||||||
@@ -797,16 +796,17 @@ func (s *sanitize) flags(ctx ModuleContext, flags Flags) Flags {
|
|||||||
flags.RequiredInstructionSet = "arm"
|
flags.RequiredInstructionSet = "arm"
|
||||||
}
|
}
|
||||||
flags.Local.CFlags = append(flags.Local.CFlags, asanCflags...)
|
flags.Local.CFlags = append(flags.Local.CFlags, asanCflags...)
|
||||||
flags.Local.LdFlags = append(flags.Local.LdFlags, asanLdflags...)
|
|
||||||
|
|
||||||
if Bool(sanProps.Writeonly) {
|
if Bool(sanProps.Writeonly) {
|
||||||
flags.Local.CFlags = append(flags.Local.CFlags, "-mllvm", "-asan-instrument-reads=0")
|
flags.Local.CFlags = append(flags.Local.CFlags, "-mllvm", "-asan-instrument-reads=0")
|
||||||
}
|
}
|
||||||
|
|
||||||
if ctx.Host() {
|
if ctx.Host() {
|
||||||
// -nodefaultlibs (provided with libc++) prevents the driver from linking
|
if !ctx.Darwin() { // ld64.lld doesn't know about '--no-as-needed'
|
||||||
// libraries needed with -fsanitize=address. http://b/18650275 (WAI)
|
// -nodefaultlibs (provided with libc++) prevents the driver from linking
|
||||||
flags.Local.LdFlags = append(flags.Local.LdFlags, "-Wl,--no-as-needed")
|
// libraries needed with -fsanitize=address. http://b/18650275 (WAI)
|
||||||
|
flags.Local.LdFlags = append(flags.Local.LdFlags, "-Wl,--no-as-needed")
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
flags.Local.CFlags = append(flags.Local.CFlags, "-mllvm", "-asan-globals=0")
|
flags.Local.CFlags = append(flags.Local.CFlags, "-mllvm", "-asan-globals=0")
|
||||||
if ctx.bootstrap() {
|
if ctx.bootstrap() {
|
||||||
|
Reference in New Issue
Block a user