diff --git a/cc/config/clang.go b/cc/config/clang.go index 5c82604b4..bbc78faad 100644 --- a/cc/config/clang.go +++ b/cc/config/clang.go @@ -86,7 +86,6 @@ var ClangUnknownCflags = sorted([]string{ // Ldflags that should be filtered out when linking with clang lld var ClangUnknownLldflags = sorted([]string{ "-fuse-ld=gold", - "-Wl,--icf=safe", "-Wl,--fix-cortex-a8", "-Wl,--no-fix-cortex-a8", "-Wl,-m,aarch64_elf64_le_vec", diff --git a/cc/object.go b/cc/object.go index 0010621df..552f63997 100644 --- a/cc/object.go +++ b/cc/object.go @@ -39,6 +39,10 @@ func ObjectFactory() android.Module { baseLinker: NewBaseLinker(nil), } module.compiler = NewBaseCompiler() + + // Clang's address-significance tables are incompatible with ld -r. + module.compiler.appendCflags([]string{"-fno-addrsig"}) + module.stl = &stl{} return module.Init() }