diff options
author | 2023-05-08 15:09:31 -0700 | |
---|---|---|
committer | 2023-05-09 23:19:31 +0000 | |
commit | 80462dc04065495ead13fdaa9b92f537117ef25e (patch) | |
tree | c99b94b30712e399d0d15636de87b11392442b03 /fuzz | |
parent | 25ff305370712354a8a6f903825833893be275cc (diff) |
Propagate shared library destination path through FilesToZip
Shared libraries in fuzz zip files may have a different filename than
their source file, for example when the source file is a prebuilt in
the source tree. Propagate the computed library name through
FilesToZip to soong_zip to use the correct name in the zip file.
Bug: 254867347
Test: builds
Change-Id: Ib0def8decdbec7842b8e1a9056fac373d743bac0
Diffstat (limited to 'fuzz')
-rw-r--r-- | fuzz/fuzz_common.go | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/fuzz/fuzz_common.go b/fuzz/fuzz_common.go index f76529d31..2a1b40452 100644 --- a/fuzz/fuzz_common.go +++ b/fuzz/fuzz_common.go @@ -61,6 +61,7 @@ type FuzzPackager struct { type FileToZip struct { SourceFilePath android.Path DestinationPathPrefix string + DestinationPath string } type ArchOs struct { @@ -443,7 +444,7 @@ func (s *FuzzPackager) PackageArtifacts(ctx android.SingletonContext, module and FlagWithOutput("-o ", corpusZip) rspFile := corpusZip.ReplaceExtension(ctx, "rsp") command.FlagWithRspFileInputList("-r ", rspFile, fuzzModule.Corpus) - files = append(files, FileToZip{corpusZip, ""}) + files = append(files, FileToZip{SourceFilePath: corpusZip}) } // Package the data into a zipfile. @@ -456,17 +457,17 @@ func (s *FuzzPackager) PackageArtifacts(ctx android.SingletonContext, module and command.FlagWithArg("-C ", intermediateDir) command.FlagWithInput("-f ", f) } - files = append(files, FileToZip{dataZip, ""}) + files = append(files, FileToZip{SourceFilePath: dataZip}) } // The dictionary. if fuzzModule.Dictionary != nil { - files = append(files, FileToZip{fuzzModule.Dictionary, ""}) + files = append(files, FileToZip{SourceFilePath: fuzzModule.Dictionary}) } // Additional fuzz config. if fuzzModule.Config != nil && IsValidConfig(fuzzModule, module.Name()) { - files = append(files, FileToZip{fuzzModule.Config, ""}) + files = append(files, FileToZip{SourceFilePath: fuzzModule.Config}) } return files @@ -485,6 +486,9 @@ func (s *FuzzPackager) BuildZipFile(ctx android.SingletonContext, module android } else { command.Flag("-P ''") } + if file.DestinationPath != "" { + command.FlagWithArg("-e ", file.DestinationPath) + } command.FlagWithInput("-f ", file.SourceFilePath) } @@ -502,7 +506,7 @@ func (s *FuzzPackager) BuildZipFile(ctx android.SingletonContext, module android } s.FuzzTargets[module.Name()] = true - archDirs[archOs] = append(archDirs[archOs], FileToZip{fuzzZip, ""}) + archDirs[archOs] = append(archDirs[archOs], FileToZip{SourceFilePath: fuzzZip}) return archDirs[archOs], true } |