Skip to content

Commit da81eb3

Browse files
committed
Move the option to common config and add checks in config manager
1 parent 10f6e33 commit da81eb3

File tree

5 files changed

+10
-10
lines changed

5 files changed

+10
-10
lines changed

llvm/include/llvm/ObjCopy/CommonConfig.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -233,6 +233,7 @@ struct CommonConfig {
233233
NameMatcher UnneededSymbolsToRemove;
234234
NameMatcher SymbolsToWeaken;
235235
NameMatcher SymbolsToKeepGlobal;
236+
NameMatcher SymbolsToSkip;
236237

237238
// Map options
238239
StringMap<SectionRename> SectionsToRename;

llvm/include/llvm/ObjCopy/ELF/ELFConfig.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@ namespace objcopy {
1919
struct ELFConfig {
2020
uint8_t NewSymbolVisibility = (uint8_t)ELF::STV_DEFAULT;
2121

22-
NameMatcher SymbolsToSkip;
2322
std::vector<std::pair<NameMatcher, uint8_t>> SymbolsToSetVisibility;
2423

2524
// ELF entry point address expression. The input parameter is an entry point

llvm/lib/ObjCopy/ConfigManager.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ namespace objcopy {
1515

1616
Expected<const COFFConfig &> ConfigManager::getCOFFConfig() const {
1717
if (!Common.SplitDWO.empty() || !Common.SymbolsPrefix.empty() ||
18-
!Common.SymbolsPrefixRemove.empty() ||
18+
!Common.SymbolsPrefixRemove.empty() || !Common.SymbolsToSkip.empty() ||
1919
!Common.AllocSectionsPrefix.empty() || !Common.KeepSection.empty() ||
2020
!Common.SymbolsToGlobalize.empty() || !Common.SymbolsToKeep.empty() ||
2121
!Common.SymbolsToLocalize.empty() || !Common.SymbolsToWeaken.empty() ||
@@ -34,7 +34,7 @@ Expected<const COFFConfig &> ConfigManager::getCOFFConfig() const {
3434

3535
Expected<const MachOConfig &> ConfigManager::getMachOConfig() const {
3636
if (!Common.SplitDWO.empty() || !Common.SymbolsPrefix.empty() ||
37-
!Common.SymbolsPrefixRemove.empty() ||
37+
!Common.SymbolsPrefixRemove.empty() || !Common.SymbolsToSkip.empty() ||
3838
!Common.AllocSectionsPrefix.empty() || !Common.KeepSection.empty() ||
3939
!Common.SymbolsToGlobalize.empty() || !Common.SymbolsToKeep.empty() ||
4040
!Common.SymbolsToLocalize.empty() ||
@@ -56,7 +56,7 @@ Expected<const MachOConfig &> ConfigManager::getMachOConfig() const {
5656
Expected<const WasmConfig &> ConfigManager::getWasmConfig() const {
5757
if (!Common.AddGnuDebugLink.empty() || Common.ExtractPartition ||
5858
!Common.SplitDWO.empty() || !Common.SymbolsPrefix.empty() ||
59-
!Common.SymbolsPrefixRemove.empty() ||
59+
!Common.SymbolsPrefixRemove.empty() || !Common.SymbolsToSkip.empty() ||
6060
!Common.AllocSectionsPrefix.empty() ||
6161
Common.DiscardMode != DiscardType::None || !Common.SymbolsToAdd.empty() ||
6262
!Common.SymbolsToGlobalize.empty() || !Common.SymbolsToLocalize.empty() ||
@@ -77,7 +77,7 @@ Expected<const WasmConfig &> ConfigManager::getWasmConfig() const {
7777
Expected<const XCOFFConfig &> ConfigManager::getXCOFFConfig() const {
7878
if (!Common.AddGnuDebugLink.empty() || Common.ExtractPartition ||
7979
!Common.SplitDWO.empty() || !Common.SymbolsPrefix.empty() ||
80-
!Common.SymbolsPrefixRemove.empty() ||
80+
!Common.SymbolsPrefixRemove.empty() || !Common.SymbolsToSkip.empty() ||
8181
!Common.AllocSectionsPrefix.empty() ||
8282
Common.DiscardMode != DiscardType::None || !Common.AddSection.empty() ||
8383
!Common.DumpSection.empty() || !Common.SymbolsToAdd.empty() ||

llvm/lib/ObjCopy/ELF/ELFObjcopy.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -291,7 +291,7 @@ static Error updateAndRemoveSymbols(const CommonConfig &Config,
291291
return Error::success();
292292

293293
Obj.SymbolTable->updateSymbols([&](Symbol &Sym) {
294-
if (ELFConfig.SymbolsToSkip.matches(Sym.Name))
294+
if (Config.SymbolsToSkip.matches(Sym.Name))
295295
return;
296296

297297
// Common and undefined symbols don't make sense as local symbols, and can

llvm/tools/llvm-objcopy/ObjcopyOptions.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -979,13 +979,13 @@ objcopy::parseObjcopyOptions(ArrayRef<const char *> RawArgsArr,
979979
SymbolMatchStyle, ErrorCallback))
980980
return std::move(E);
981981
for (auto *Arg : InputArgs.filtered(OBJCOPY_skip_symbol))
982-
if (Error E = ELFConfig.SymbolsToSkip.addMatcher(NameOrPattern::create(
982+
if (Error E = Config.SymbolsToSkip.addMatcher(NameOrPattern::create(
983983
Arg->getValue(), SymbolMatchStyle, ErrorCallback)))
984984
return std::move(E);
985985
for (auto *Arg : InputArgs.filtered(OBJCOPY_skip_symbols))
986-
if (Error E = addSymbolsFromFile(ELFConfig.SymbolsToSkip, DC.Alloc,
987-
Arg->getValue(), SymbolMatchStyle,
988-
ErrorCallback))
986+
if (Error E =
987+
addSymbolsFromFile(Config.SymbolsToSkip, DC.Alloc, Arg->getValue(),
988+
SymbolMatchStyle, ErrorCallback))
989989
return std::move(E);
990990
for (auto *Arg : InputArgs.filtered(OBJCOPY_add_symbol)) {
991991
Expected<NewSymbolInfo> SymInfo = parseNewSymbolInfo(Arg->getValue());

0 commit comments

Comments
 (0)