aboutsummaryrefslogtreecommitdiffstats
path: root/cc
diff options
context:
space:
mode:
authorChristopher Ferris <cferris@google.com>2019-04-10 17:57:50 -0700
committerChristopher Ferris <cferris@google.com>2019-04-10 19:23:47 -0700
commitcf788674176513efca5773cea0701e636669a057 (patch)
tree5e99a65ffe2f7a196b644a8ae23d3bcc7106b284 /cc
parent479465691f305b402aa3cf65cc092fcd985fa0cf (diff)
downloadbuild_soong-cf788674176513efca5773cea0701e636669a057.tar.gz
build_soong-cf788674176513efca5773cea0701e636669a057.tar.bz2
build_soong-cf788674176513efca5773cea0701e636669a057.zip
Do not re-export _Unwind_XXX symbols.
Bug: 130267141 Test: All system shared libraries do not contain global _Unwind_XXX symbols. Change-Id: I79673753bb8197041bfe8ffb016d9f5fdf4cada5
Diffstat (limited to 'cc')
-rw-r--r--cc/config/global.go1
-rw-r--r--cc/stl.go5
2 files changed, 5 insertions, 1 deletions
diff --git a/cc/config/global.go b/cc/config/global.go
index 372ffc47..07ef9d00 100644
--- a/cc/config/global.go
+++ b/cc/config/global.go
@@ -83,6 +83,7 @@ var (
"-Wl,--warn-shared-textrel",
"-Wl,--fatal-warnings",
"-Wl,--no-undefined-version",
+ "-Wl,--exclude-libs,libgcc.a",
}
deviceGlobalLldflags = append(ClangFilterUnknownLldflags(deviceGlobalLdflags),
diff --git a/cc/stl.go b/cc/stl.go
index e59f6776..1a5dd79c 100644
--- a/cc/stl.go
+++ b/cc/stl.go
@@ -245,7 +245,10 @@ func (stl *stl) flags(ctx ModuleContext, flags Flags) Flags {
ndkSrcRoot := android.PathForSource(ctx, "prebuilts/ndk/current/sources/cxx-stl/system/include")
flags.CFlags = append(flags.CFlags, "-isystem "+ndkSrcRoot.String())
case "ndk_libc++_shared", "ndk_libc++_static":
- // Nothing.
+ if ctx.Arch().ArchType == android.Arm {
+ // Make sure the _Unwind_XXX symbols are not re-exported.
+ flags.LdFlags = append(flags.LdFlags, "-Wl,--exclude-libs,libunwind.a")
+ }
case "":
// None or error.
if !ctx.toolchain().Bionic() {