Enable safe ICF with LLD.
Support for safe ICF was added to LLD in LLVM r337429. This reduces the size of sailfish system.img by 7.6MB. The address-significance tables created by Clang to support LLD's implementation of safe ICF are incompatible with ld -r. Therefore we need to pass -fno-addrsig to the compiler to prevent it from creating an address-significance table when building a cc_object. Change-Id: I83e28741e6b3cdf09566447d2658ce48594f2074
This commit is contained in:
@@ -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()
|
||||
}
|
||||
|
Reference in New Issue
Block a user