diff options
author | Dan Albert <danalbert@google.com> | 2016-07-28 17:40:28 -0700 |
---|---|---|
committer | Dan Albert <danalbert@google.com> | 2016-08-02 13:45:40 -0700 |
commit | 2bc91ba5493a63561d5cb3c7af3a85db2f62b96b (patch) | |
tree | dc6da122049ad1659310b739b16f80b85c6559c8 /cc/ndk_library.go | |
parent | f77e8d7ffc43fade072829e78cd0fd34d1e2a01f (diff) | |
download | build_soong-2bc91ba5493a63561d5cb3c7af3a85db2f62b96b.tar.gz build_soong-2bc91ba5493a63561d5cb3c7af3a85db2f62b96b.tar.bz2 build_soong-2bc91ba5493a63561d5cb3c7af3a85db2f62b96b.zip |
Use the version script for ndk_library.
We were generating this, but not actually using it yet.
Test: `make ndk` with libc/libm migration patches, readelf generated
libs.
Change-Id: I9aadf58307bc645b33cab5207409552c5046937a
Diffstat (limited to 'cc/ndk_library.go')
-rw-r--r-- | cc/ndk_library.go | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/cc/ndk_library.go b/cc/ndk_library.go index 903a96bf..d681b772 100644 --- a/cc/ndk_library.go +++ b/cc/ndk_library.go @@ -93,6 +93,8 @@ type stubCompiler struct { baseCompiler properties libraryProperties + + linker *stubLinker } // OMG GO @@ -175,6 +177,7 @@ func (c *stubCompiler) compile(ctx ModuleContext, flags Flags, deps PathDeps) an stubSrcPath := android.PathForModuleGen(ctx, stubSrcName) versionScriptName := fileBase + ".map" versionScriptPath := android.PathForModuleGen(ctx, versionScriptName) + c.linker.versionScriptPath = versionScriptPath symbolFilePath := android.PathForModuleSrc(ctx, c.properties.Symbol_file) ctx.ModuleBuild(pctx, android.ModuleBuildParams{ Rule: genStubSrc, @@ -209,6 +212,8 @@ func (c *stubCompiler) compile(ctx ModuleContext, flags Flags, deps PathDeps) an type stubLinker struct { libraryLinker + + versionScriptPath android.ModuleGenPath } func (linker *stubLinker) linkerDeps(ctx BaseModuleContext, deps Deps) Deps { @@ -221,6 +226,14 @@ func (linker *stubLinker) linkerFlags(ctx ModuleContext, flags Flags) Flags { return linker.libraryLinker.linkerFlags(ctx, flags) } +func (linker *stubLinker) link(ctx ModuleContext, flags Flags, deps PathDeps, + objFiles android.Paths) android.Path { + + linkerScriptFlag := "-Wl,--version-script," + linker.versionScriptPath.String() + flags.LdFlags = append(flags.LdFlags, linkerScriptFlag) + return linker.libraryLinker.link(ctx, flags, deps, objFiles) +} + type stubInstaller struct { baseInstaller @@ -258,6 +271,7 @@ func newStubLibrary() *Module { module.linker = linker compiler := &stubCompiler{} + compiler.linker = linker module.compiler = compiler module.installer = &stubInstaller{baseInstaller{ dir: "lib", |