forked from OSchip/llvm-project
[llvm-install-name-tool] Validate -id value early
The code which validates the value of -id is moved into the function parseInstallNameToolOptions. Test plan: make check-all Differential revision: https://reviews.llvm.org/D87855
This commit is contained in:
parent
2ac06241d2
commit
e9f9027c3c
|
@ -902,13 +902,16 @@ parseInstallNameToolOptions(ArrayRef<const char *> ArgsArr) {
|
|||
Config.RPathsToUpdate.insert({Old, New});
|
||||
}
|
||||
|
||||
if (auto *Arg = InputArgs.getLastArg(INSTALL_NAME_TOOL_id))
|
||||
if (auto *Arg = InputArgs.getLastArg(INSTALL_NAME_TOOL_id)) {
|
||||
Config.SharedLibId = Arg->getValue();
|
||||
|
||||
for (auto *Arg : InputArgs.filtered(INSTALL_NAME_TOOL_change)) {
|
||||
Config.InstallNamesToUpdate.insert({Arg->getValue(0), Arg->getValue(1)});
|
||||
if (Config.SharedLibId->empty())
|
||||
return createStringError(errc::invalid_argument,
|
||||
"cannot specify an empty id");
|
||||
}
|
||||
|
||||
for (auto *Arg : InputArgs.filtered(INSTALL_NAME_TOOL_change))
|
||||
Config.InstallNamesToUpdate.insert({Arg->getValue(0), Arg->getValue(1)});
|
||||
|
||||
SmallVector<StringRef, 2> Positional;
|
||||
for (auto Arg : InputArgs.filtered(INSTALL_NAME_TOOL_UNKNOWN))
|
||||
return createStringError(errc::invalid_argument, "unknown argument '%s'",
|
||||
|
|
|
@ -181,13 +181,9 @@ static Error processLoadCommands(const CopyConfig &Config, Object &Obj) {
|
|||
for (LoadCommand &LC : Obj.LoadCommands) {
|
||||
switch (LC.MachOLoadCommand.load_command_data.cmd) {
|
||||
case MachO::LC_ID_DYLIB:
|
||||
if (Config.SharedLibId) {
|
||||
StringRef Id = Config.SharedLibId.getValue();
|
||||
if (Id.empty())
|
||||
return createStringError(errc::invalid_argument,
|
||||
"cannot specify an empty id");
|
||||
updateLoadCommandPayloadString<MachO::dylib_command>(LC, Id);
|
||||
}
|
||||
if (Config.SharedLibId)
|
||||
updateLoadCommandPayloadString<MachO::dylib_command>(
|
||||
LC, *Config.SharedLibId);
|
||||
break;
|
||||
|
||||
case MachO::LC_RPATH: {
|
||||
|
|
Loading…
Reference in New Issue