[llvm] Add functionality to llvm-objcopy to remove prefixes (PR #79415)

James Henderson via llvm-commits llvm-commits at lists.llvm.org
Thu Jan 25 00:10:18 PST 2024


================
@@ -731,7 +731,15 @@ objcopy::parseObjcopyOptions(ArrayRef<const char *> RawArgsArr,
         llvm::crc32(arrayRefFromStringRef(Debug->getBuffer()));
   }
   Config.SplitDWO = InputArgs.getLastArgValue(OBJCOPY_split_dwo);
+
   Config.SymbolsPrefix = InputArgs.getLastArgValue(OBJCOPY_prefix_symbols);
+  Config.SymbolsPrefixRemove =
+      InputArgs.getLastArgValue(OBJCOPY_prefix_symbols_remove);
+  if (!Config.SymbolsPrefix.empty() && !Config.SymbolsPrefixRemove.empty())
+    return createStringError(
+        errc::invalid_argument,
+        "--prefix-symbols and --prefix-symbols-remove are mutualy exclusive");
----------------
jh7370 wrote:

Why this error? It seems to me like you could do the prefix removal first and then the addition of the prefix, e.g. with removing "foo" and adding "bar", you could change "fooblob" into "barblob" with one llvm-objcopy run.

https://github.com/llvm/llvm-project/pull/79415


More information about the llvm-commits mailing list