Skip to content

Commit d87cd45

Browse files
committed
PECOFF: consume errors properly
We would not ensure that the error is consumed in the case that logging is disabled. Ensure that we properly drop the error on the floor or we would re-trigger the checked failure. Differential Revision: https://reviews.llvm.org/D147669 Reviewed By: sgraenitz
1 parent 7960993 commit d87cd45

File tree

1 file changed

+22
-12
lines changed

1 file changed

+22
-12
lines changed

lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.cpp

Lines changed: 22 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -863,10 +863,14 @@ ObjectFilePECOFF::AppendFromExportTable(SectionList *sect_list,
863863
for (const auto &entry : m_binary->export_directories()) {
864864
llvm::StringRef sym_name;
865865
if (auto err = entry.getSymbolName(sym_name)) {
866-
LLDB_LOG(log,
867-
"ObjectFilePECOFF::AppendFromExportTable - failed to get export "
868-
"table entry name: {0}",
869-
llvm::fmt_consume(std::move(err)));
866+
if (log)
867+
log->Format(
868+
__FILE__, __func__,
869+
"ObjectFilePECOFF::AppendFromExportTable - failed to get export "
870+
"table entry name: {0}",
871+
llvm::fmt_consume(std::move(err)));
872+
else
873+
llvm::consumeError(std::move(err));
870874
continue;
871875
}
872876
Symbol symbol;
@@ -884,10 +888,13 @@ ObjectFilePECOFF::AppendFromExportTable(SectionList *sect_list,
884888
// it in symtab and make a note using the symbol name.
885889
llvm::StringRef forwarder_name;
886890
if (auto err = entry.getForwardTo(forwarder_name)) {
887-
LLDB_LOG(log,
888-
"ObjectFilePECOFF::AppendFromExportTable - failed to get "
889-
"forwarder name of forwarder export '{0}': {1}",
890-
sym_name, llvm::fmt_consume(std::move(err)));
891+
if (log)
892+
log->Format(__FILE__, __func__,
893+
"ObjectFilePECOFF::AppendFromExportTable - failed to get "
894+
"forwarder name of forwarder export '{0}': {1}",
895+
sym_name, llvm::fmt_consume(std::move(err)));
896+
else
897+
llvm::consumeError(std::move(err));
891898
continue;
892899
}
893900
llvm::SmallString<256> new_name = {symbol.GetDisplayName().GetStringRef(),
@@ -899,10 +906,13 @@ ObjectFilePECOFF::AppendFromExportTable(SectionList *sect_list,
899906

900907
uint32_t function_rva;
901908
if (auto err = entry.getExportRVA(function_rva)) {
902-
LLDB_LOG(log,
903-
"ObjectFilePECOFF::AppendFromExportTable - failed to get "
904-
"address of export entry '{0}': {1}",
905-
sym_name, llvm::fmt_consume(std::move(err)));
909+
if (log)
910+
log->Format(__FILE__, __func__,
911+
"ObjectFilePECOFF::AppendFromExportTable - failed to get "
912+
"address of export entry '{0}': {1}",
913+
sym_name, llvm::fmt_consume(std::move(err)));
914+
else
915+
llvm::consumeError(std::move(err));
906916
continue;
907917
}
908918
// Skip the symbol if it doesn't look valid.

0 commit comments

Comments
 (0)