[PATCH] D113130: [llvm-libtool-darwin] Throw an error if object file names are repeated

Roger Kim via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Nov 3 11:03:01 PDT 2021


Roger created this revision.
Roger requested review of this revision.
Herald added a project: LLVM.
Herald added a subscriber: llvm-commits.

This change does not allow static libraries to be created if any of the object
files in that library would have the same file name.

The tool will now throw an error if there is a name collision across:

- Two object files
- An object file and an object file from within a static library
- Two object files from different static libraries

Here is an example of the error:

  $ llvm-libtool-darwin -static -o archive.a out.o out.o
  error: file 'out.o' was specified multiple times.
  in: out.o
  in: out.o
  
  $ llvm-libtool-darwin -static -o archive.a out.o
  $ llvm-libtool-darwin -static -o combined.a archive.a out.o
  error: file 'out.o' was specified multiple times.
  in: archive.a
  in: out.o


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D113130

Files:
  llvm/test/tools/llvm-libtool-darwin/L-and-l.test
  llvm/test/tools/llvm-libtool-darwin/archive-flattening.test
  llvm/test/tools/llvm-libtool-darwin/create-static-lib.test
  llvm/test/tools/llvm-libtool-darwin/universal-bitcode-output.test
  llvm/test/tools/llvm-libtool-darwin/universal-object-output.test
  llvm/tools/llvm-libtool-darwin/llvm-libtool-darwin.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D113130.384525.patch
Type: text/x-patch
Size: 15239 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20211103/5ee331ab/attachment.bin>


More information about the llvm-commits mailing list