[lld] r364368 - [lld/WebAssembly] Slightly nicer error message for malformed input files

Keno Fischer via llvm-commits llvm-commits at lists.llvm.org
Tue Jun 25 17:52:46 PDT 2019


Author: kfischer
Date: Tue Jun 25 17:52:46 2019
New Revision: 364368

URL: http://llvm.org/viewvc/llvm-project?rev=364368&view=rev
Log:
[lld/WebAssembly] Slightly nicer error message for malformed input files

Summary:
Before:
```
wasm-ld: error: Relocations not in offset order
```
After
```
wasm-ld: error: While processing `libjulia.so`: Relocations not in offset order
```

At least this way you get to find out which input file is malformed.

Reviewers: sbc100
Differential Revision: https://reviews.llvm.org/D63694

Added:
    lld/trunk/test/wasm/corrupted.wasm.test   (with props)
Modified:
    lld/trunk/wasm/InputFiles.cpp

Added: lld/trunk/test/wasm/corrupted.wasm.test
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/wasm/corrupted.wasm.test?rev=364368&view=auto
==============================================================================
Binary file - no diff available.

Propchange: lld/trunk/test/wasm/corrupted.wasm.test
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Modified: lld/trunk/wasm/InputFiles.cpp
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/wasm/InputFiles.cpp?rev=364368&r1=364367&r2=364368&view=diff
==============================================================================
--- lld/trunk/wasm/InputFiles.cpp (original)
+++ lld/trunk/wasm/InputFiles.cpp Tue Jun 25 17:52:46 2019
@@ -52,7 +52,8 @@ InputFile *lld::wasm::createObjectFile(M
                                        StringRef ArchiveName) {
   file_magic Magic = identify_magic(MB.getBuffer());
   if (Magic == file_magic::wasm_object) {
-    std::unique_ptr<Binary> Bin = check(createBinary(MB));
+    std::unique_ptr<Binary> Bin =
+        CHECK(createBinary(MB), MB.getBufferIdentifier());
     auto *Obj = cast<WasmObjectFile>(Bin.get());
     if (Obj->isSharedObject())
       return make<SharedFile>(MB);




More information about the llvm-commits mailing list