[PATCH] D77289: [Object] Fix crash caused by unhandled error.
Xing GUO via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Apr 8 09:45:08 PDT 2020
Higuoxing updated this revision to Diff 256045.
Higuoxing added a comment.
Herald added subscribers: aheejin, hiraditya, sbc100, emaste.
Herald added a reviewer: JDevlieghere.
Herald added a reviewer: espindola.
In D77289#1959092 <https://reviews.llvm.org/D77289#1959092>, @grimar wrote:
> I'd also recommend to start using "Edit related revisions" on the right panel of the phab.
> Then you should be able to edit related parent/child revisions, because currently it is unobvious which dependencies your patches has.
In D77289#1959211 <https://reviews.llvm.org/D77289#1959211>, @jhenderson wrote:
> Alternatively, you can put "Depends on D<number>" in the patch description and the stack is automatically formed without you needing to manually edit the related revisions.
Thanks a lot! Got it.
In D77289#1959072 <https://reviews.llvm.org/D77289#1959072>, @jhenderson wrote:
> Thinking about it, I'm reluctant to approve this as is, without a further change to actually report the error (possibly in a seperate patch). Prior to this patch, we have a failure that at least can be identified in certain build versions, whereas now the malformed-ness is not detectable at all. Perhaps this could temporarily use `report_fatal_error` with a follow-up patch bubbling the error further up the stack?
I've tried to change `uint32_t getSymbolFlags(DataRefImpl)` to `Expected<uint32_t> getSymbolFlags(DataRefImpl)`. However, there are several tools, object file formats and functions from core library involved. I tried to update them all carefully. Could you please give me some comments?
FYI: `getSymbolFlags()` on `ELFObjectFile` is fallible while on other object files (Mach-O, COFF, XCOFF ...) are not.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D77289/new/
https://reviews.llvm.org/D77289
Files:
llvm/include/llvm/ExecutionEngine/Orc/RTDyldObjectLinkingLayer.h
llvm/include/llvm/Object/COFF.h
llvm/include/llvm/Object/COFFImportFile.h
llvm/include/llvm/Object/ELFObjectFile.h
llvm/include/llvm/Object/IRObjectFile.h
llvm/include/llvm/Object/MachO.h
llvm/include/llvm/Object/ObjectFile.h
llvm/include/llvm/Object/SymbolicFile.h
llvm/include/llvm/Object/TapiFile.h
llvm/include/llvm/Object/Wasm.h
llvm/include/llvm/Object/XCOFFObjectFile.h
llvm/lib/ExecutionEngine/Orc/Mangling.cpp
llvm/lib/ExecutionEngine/Orc/RTDyldObjectLinkingLayer.cpp
llvm/lib/ExecutionEngine/RuntimeDyld/JITSymbol.cpp
llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyld.cpp
llvm/lib/Object/ArchiveWriter.cpp
llvm/lib/Object/COFFObjectFile.cpp
llvm/lib/Object/IRObjectFile.cpp
llvm/lib/Object/MachOObjectFile.cpp
llvm/lib/Object/ObjectFile.cpp
llvm/lib/Object/TapiFile.cpp
llvm/lib/Object/WasmObjectFile.cpp
llvm/lib/Object/XCOFFObjectFile.cpp
llvm/test/tools/llvm-nm/invalid-symbol-table-size.test
llvm/test/tools/llvm-objdump/ELF/invalid-symbol-table-size.test
llvm/tools/dsymutil/DebugMap.cpp
llvm/tools/dsymutil/MachODebugMapParser.cpp
llvm/tools/llvm-nm/llvm-nm.cpp
llvm/tools/llvm-objdump/MachODump.cpp
llvm/tools/llvm-objdump/llvm-objdump.cpp
llvm/tools/llvm-size/llvm-size.cpp
llvm/tools/sancov/sancov.cpp
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D77289.256045.patch
Type: text/x-patch
Size: 36044 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200408/9a7f689f/attachment.bin>
More information about the llvm-commits
mailing list