Merge changes I34385c48,I1e48947c into main

* changes:
  disablePrebuilt: also clear sanitizer-dependent Srcs
  Define libc++ config macros to nothing
This commit is contained in:
Ryan Prichard
2024-02-29 20:51:48 +00:00
committed by Gerrit Code Review
2 changed files with 10 additions and 5 deletions

View File

@@ -260,6 +260,9 @@ func (p *prebuiltLibraryLinker) nativeCoverage() bool {
func (p *prebuiltLibraryLinker) disablePrebuilt() { func (p *prebuiltLibraryLinker) disablePrebuilt() {
p.properties.Srcs = nil p.properties.Srcs = nil
p.properties.Sanitized.None.Srcs = nil
p.properties.Sanitized.Address.Srcs = nil
p.properties.Sanitized.Hwaddress.Srcs = nil
} }
// Implements versionedInterface // Implements versionedInterface

View File

@@ -205,12 +205,14 @@ func (stl *stl) flags(ctx ModuleContext, flags Flags) Flags {
flags.extraLibFlags = append(flags.extraLibFlags, "-nostdlib++") flags.extraLibFlags = append(flags.extraLibFlags, "-nostdlib++")
if ctx.Windows() { if ctx.Windows() {
flags.Local.CppFlags = append(flags.Local.CppFlags, flags.Local.CppFlags = append(flags.Local.CppFlags,
// Disable visiblity annotations since we're using static // These macros can also be defined by libc++'s __config
// libc++. // or __config_site headers so define them the same way
"-D_LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS", // (i.e. to nothing). Disable visibility annotations since
"-D_LIBCXXABI_DISABLE_VISIBILITY_ANNOTATIONS", // we're using static libc++.
"-D_LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS=",
"-D_LIBCXXABI_DISABLE_VISIBILITY_ANNOTATIONS=",
// Use Win32 threads in libc++. // Use Win32 threads in libc++.
"-D_LIBCPP_HAS_THREAD_API_WIN32") "-D_LIBCPP_HAS_THREAD_API_WIN32=")
} }
} }
case "libstdc++": case "libstdc++":