From 939408aa221f13168b2fe9f033d7eb84e2d75de2 Mon Sep 17 00:00:00 2001 From: Dan Willemsen Date: Mon, 10 Jun 2019 18:02:25 -0700 Subject: [PATCH] Add dependency to version script when linking stub libraries This isn't an effective issue with local builds currently, since the version script is generated from the same rule as the sources used to compile the objects that are also used in the link command. But if we ever separated those paths or adopted restat, we could miss this dependency. This is also required for my RBE build to actually expose this file to the link step. Test: treehugger Change-Id: I32bbb18cf7edddc88759d4f445d081868f3e9b44 --- cc/llndk_library.go | 1 + cc/ndk_library.go | 1 + cc/vendor_public_library.go | 1 + 3 files changed, 3 insertions(+) diff --git a/cc/llndk_library.go b/cc/llndk_library.go index 6cdf5c700..37f217eea 100644 --- a/cc/llndk_library.go +++ b/cc/llndk_library.go @@ -134,6 +134,7 @@ func (stub *llndkStubDecorator) link(ctx ModuleContext, flags Flags, deps PathDe if !Bool(stub.Properties.Unversioned) { linkerScriptFlag := "-Wl,--version-script," + stub.versionScriptPath.String() flags.LdFlags = append(flags.LdFlags, linkerScriptFlag) + flags.LdFlagsDeps = append(flags.LdFlagsDeps, stub.versionScriptPath) } if len(stub.Properties.Export_preprocessed_headers) > 0 { diff --git a/cc/ndk_library.go b/cc/ndk_library.go index 44f773c52..969cb3fa7 100644 --- a/cc/ndk_library.go +++ b/cc/ndk_library.go @@ -337,6 +337,7 @@ func (stub *stubDecorator) link(ctx ModuleContext, flags Flags, deps PathDeps, if useVersionScript { linkerScriptFlag := "-Wl,--version-script," + stub.versionScriptPath.String() flags.LdFlags = append(flags.LdFlags, linkerScriptFlag) + flags.LdFlagsDeps = append(flags.LdFlagsDeps, stub.versionScriptPath) } return stub.libraryDecorator.link(ctx, flags, deps, objs) diff --git a/cc/vendor_public_library.go b/cc/vendor_public_library.go index 5738d25ab..f0de267c1 100644 --- a/cc/vendor_public_library.go +++ b/cc/vendor_public_library.go @@ -125,6 +125,7 @@ func (stub *vendorPublicLibraryStubDecorator) link(ctx ModuleContext, flags Flag if !Bool(stub.Properties.Unversioned) { linkerScriptFlag := "-Wl,--version-script," + stub.versionScriptPath.String() flags.LdFlags = append(flags.LdFlags, linkerScriptFlag) + flags.LdFlagsDeps = append(flags.LdFlagsDeps, stub.versionScriptPath) } return stub.libraryDecorator.link(ctx, flags, deps, objs) }