[PATCH] D53913: [llvm-objcopy] Support --{enable, disable}-deterministic-archives
James Henderson via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Nov 1 02:26:59 PDT 2018
jhenderson added inline comments.
================
Comment at: tools/llvm-objcopy/CopyConfig.cpp:348-349
+ InputArgs.hasArg(OBJCOPY_disable_deterministic_archives))
+ error("Specifying both --enable-deterministic-archives and "
+ "--disable-deterministic-archives is ambiguous");
+ if (InputArgs.hasArg(OBJCOPY_enable_deterministic_archives))
----------------
rupprecht wrote:
> jhenderson wrote:
> > Is this what GNU objcopy does? I'd actually expect this to be a "last one wins" scenario (similar to various --[no-]some-option in LLD etc.
> I thought it was simpler to just error instead of match objcopy, but it actually comes to fewer lines implementing last-one-wins. Done.
You don't need to use the filtered and loop method at all, you can just use the `hasFlag` method, which takes both a positive and negative option:
I think this is right (various LLD options are implemented this way):
```
Config->DeterministicArchives(OOBJCOPY_enable_deterministic_archvies, OBJCOPY_disable_deterministic_archives, /*default*/true);
```
================
Comment at: tools/llvm-objcopy/ObjcopyOpts.td:42
+ "for UIDs, GIDs, and timestamps).">;
+def D : Flag<[ "-" ], "D">, Alias<enable_deterministic_archives>;
+
----------------
Somebody pointed out in an llvm-objdump review (see D53804) that Alias options are not in the help text by default (they are hidden), but they really should be. This might want to be a wider issue for us to fix at some point though, but in the meantime, perhaps you should add these particular ones? What do you think?
Repository:
rL LLVM
https://reviews.llvm.org/D53913
More information about the llvm-commits
mailing list