#
da419bdb |
| 14-Nov-2018 |
Heejin Ahn <aheejin@gmail.com> |
[WebAssembly] Add support for the event section
Summary: This adds support for the 'event section' specified in the exception handling proposal. (This was named 'exception section' first, but later
[WebAssembly] Add support for the event section
Summary: This adds support for the 'event section' specified in the exception handling proposal. (This was named 'exception section' first, but later renamed to 'event section' to take possibilities of other kinds of events into consideration. But currently we only store exception info in this section.)
The event section is added between the global section and the export section. This is for ease of validation per request of the V8 team.
This patch: - Creates the event symbol type, which is a weak symbol - Makes 'throw' instruction take the event symbol '__cpp_exception' - Adds relocation support for events - Adds WasmObjectWriter / WasmObjectFile (Reader) support - Adds obj2yaml / yaml2obj support - Adds '.eventtype' printing support
Reviewers: dschuff, sbc100, aardappel
Subscribers: jgravelle-google, sunfish, llvm-commits
Differential Revision: https://reviews.llvm.org/D54096
llvm-svn: 346825
show more ...
|
#
68818062 |
| 06-Nov-2018 |
Derek Schuff <dschuff@google.com> |
[WebAssembly] Add shared memory support to limits field
Support the IS_SHARED bit in the memory limits flag word. The compiler does not create object files with memory definitions, but the field is
[WebAssembly] Add shared memory support to limits field
Support the IS_SHARED bit in the memory limits flag word. The compiler does not create object files with memory definitions, but the field is used by the linker.
Differential Revision: https://reviews.llvm.org/D54131
llvm-svn: 346246
show more ...
|
Revision tags: llvmorg-7.0.1-rc2, llvmorg-7.0.1-rc1 |
|
#
77a7a380 |
| 03-Oct-2018 |
Derek Schuff <dschuff@google.com> |
[WebAssembly] Refactor WasmSignature and use it for MCSymbolWasm
MCContext does not destroy MCSymbols on shutdown. So, rather than putting SmallVectors (which may heap-allocate) inside MCSymbolWasm,
[WebAssembly] Refactor WasmSignature and use it for MCSymbolWasm
MCContext does not destroy MCSymbols on shutdown. So, rather than putting SmallVectors (which may heap-allocate) inside MCSymbolWasm, use unowned pointer to a WasmSignature instead. The signatures are now owned by the AsmPrinter. Also uses WasmSignature instead of param and result vectors in TargetStreamer, and leaves some TODOs for further simplification.
Differential Revision: https://reviews.llvm.org/D52580
llvm-svn: 343733
show more ...
|
Revision tags: llvmorg-7.0.0, llvmorg-7.0.0-rc3 |
|
#
f208f631 |
| 05-Sep-2018 |
Heejin Ahn <aheejin@gmail.com> |
[WebAssembly] clang-format (NFC)
Summary: This patch runs clang-format on all wasm-only files.
Reviewers: aardappel, dschuff, sunfish, tlively
Subscribers: MatzeB, sbc100, jgravelle-google, llvm-c
[WebAssembly] clang-format (NFC)
Summary: This patch runs clang-format on all wasm-only files.
Reviewers: aardappel, dschuff, sunfish, tlively
Subscribers: MatzeB, sbc100, jgravelle-google, llvm-commits
Differential Revision: https://reviews.llvm.org/D51447
llvm-svn: 341439
show more ...
|
#
e3d6b978 |
| 31-Aug-2018 |
Jonas Devlieghere <jonas@devlieghere.com> |
[Wasm] Add missing EOF checks for floats
Adds the same checks we already do for ints to floats.
Fixes: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=8698 llvm-svn: 341216
|
Revision tags: llvmorg-7.0.0-rc2 |
|
#
f77dc2a8 |
| 22-Aug-2018 |
Sam Clegg <sbc@chromium.org> |
[WebAssembly] Ensure relocation entries are ordered by offset
wasm-lld expects relocation entries to be sorted by offset. In most cases llvm produces them in order, but the CODE section (which comb
[WebAssembly] Ensure relocation entries are ordered by offset
wasm-lld expects relocation entries to be sorted by offset. In most cases llvm produces them in order, but the CODE section (which combines many MCSections) is an exception because we order the functions in Symbol order, not in section order. What is more, its not clear weather `recordRelocation` is guaranteed to be called in offset order so this sort of most likely needed in the general case too.
Differential Revision: https://reviews.llvm.org/D51065
llvm-svn: 340423
show more ...
|
#
8511777d |
| 08-Aug-2018 |
Jonas Devlieghere <jonas@devlieghere.com> |
[WASM] Fix overflow when reading custom section
When reading a custom WASM section, it was possible that its name extended beyond the size of the section. This resulted in a bogus value for the sect
[WASM] Fix overflow when reading custom section
When reading a custom WASM section, it was possible that its name extended beyond the size of the section. This resulted in a bogus value for the section size due to the size overflowing.
Fixes heap buffer overflow detected by OSS-fuzz: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=8190
Differential revision: https://reviews.llvm.org/D50387
llvm-svn: 339269
show more ...
|
Revision tags: llvmorg-7.0.0-rc1 |
|
#
dcf5bd27 |
| 26-Jun-2018 |
Simon Pilgrim <llvm-dev@redking.me.uk> |
Fix MSVC "signed/unsigned mismatch" warning. NFCI.
llvm-svn: 335587
|
Revision tags: llvmorg-6.0.1, llvmorg-6.0.1-rc3, llvmorg-6.0.1-rc2 |
|
#
a81fb848 |
| 30-May-2018 |
Sam Clegg <sbc@chromium.org> |
MC: Remove redundant substr() call
Differential Revision: https://reviews.llvm.org/D47047
llvm-svn: 333496
|
#
f4f37509 |
| 29-May-2018 |
Sam Clegg <sbc@chromium.org> |
Fix build error introduced in rL333459
The DEBUG macro was renamed LLVM_DEBUG.
llvm-svn: 333462
|
#
b7c62394 |
| 29-May-2018 |
Sam Clegg <sbc@chromium.org> |
[WebAssembly] Add more error checking to object file parsing
This should address some of the assert failures the fuzzer has been finding such as: https://bugs.chromium.org/p/oss-fuzz/issues/detail
[WebAssembly] Add more error checking to object file parsing
This should address some of the assert failures the fuzzer has been finding such as: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=6719
Differential Revision: https://reviews.llvm.org/D47086
llvm-svn: 333459
show more ...
|
#
4bbc6b55 |
| 18-May-2018 |
Sam Clegg <sbc@chromium.org> |
[WebAssembly] Object: Add more error checking for object file reading
This should address some the assert failures the fuzzer has been finding such as: https://bugs.chromium.org/p/oss-fuzz/issues/
[WebAssembly] Object: Add more error checking for object file reading
This should address some the assert failures the fuzzer has been finding such as: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=6719
Differential Revision: https://reviews.llvm.org/D47046
llvm-svn: 332769
show more ...
|
#
ddc84bf7 |
| 16-May-2018 |
JF Bastien <jfb@google.com> |
[NFC] WebAssembly build break #2
Summary: Same as r332530, move WasmSymbol::dump to an implementation file to avoid linker issues when the dump function is seen in the header, doesn't get eliminated
[NFC] WebAssembly build break #2
Summary: Same as r332530, move WasmSymbol::dump to an implementation file to avoid linker issues when the dump function is seen in the header, doesn't get eliminated, and then linking fails because of the missing dependency.
<rdar://problem/40258137>
Reviewers: sbc100, ncw, paquette, vsk, dschuff
Subscribers: jgravelle-google, aheejin, sunfish, llvm-commits
Differential Revision: https://reviews.llvm.org/D46985
llvm-svn: 332542
show more ...
|
#
659932b0 |
| 16-May-2018 |
JF Bastien <jfb@google.com> |
[NFC] WebAssembly build fix
Summary: r332305 added a use of llvm::wasm::toString in llvm::object::WasmSymbol::print, which is in a header file. It also moves toString to BinaryFormat. This has the u
[NFC] WebAssembly build fix
Summary: r332305 added a use of llvm::wasm::toString in llvm::object::WasmSymbol::print, which is in a header file. It also moves toString to BinaryFormat. This has the unintended side-effect that any inclusion of Object/Wasm.h now relies on toString, and needs to required_libraries = BinaryFormat. Thankfully most builds don't fail with this because print just isn't used and gets eliminated, dropping the required dependency in the process. Not all builds are so lucky.
Fix this issue by moving print to the corresponding .cpp file.
<rdar://problem/40258137>
Reviewers: sbc100, ncw, paquette
Subscribers: dschuff, jgravelle-google, aheejin, sunfish, llvm-commits
Differential Revision: https://reviews.llvm.org/D46977
llvm-svn: 332530
show more ...
|
#
1be4bf9a |
| 15-May-2018 |
Sam Clegg <sbc@chromium.org> |
[WebAssembly] Provide WasmFunction content offset information.
WasmObjectWriter mostly operates with function segments offsets that do not include their size fields. WasmObjectFile needs to have and
[WebAssembly] Provide WasmFunction content offset information.
WasmObjectWriter mostly operates with function segments offsets that do not include their size fields. WasmObjectFile needs to have and provide this information to the lld to maintain proper R_WEBASSEMBLY_FUNCTION_OFFSET_I32 relocations entries.
Patch by Yury Delendik
Differential Revision: https://reviews.llvm.org/D46763
llvm-svn: 332406
show more ...
|
#
d34e60ca |
| 14-May-2018 |
Nicola Zaghen <nicola.zaghen@imgtec.com> |
Rename DEBUG macro to LLVM_DEBUG. The DEBUG() macro is very generic so it might clash with other projects. The renaming was done as follows: - git grep -l 'DEBUG' | xargs sed -i 's/\bDEBUG\s\?(/
Rename DEBUG macro to LLVM_DEBUG. The DEBUG() macro is very generic so it might clash with other projects. The renaming was done as follows: - git grep -l 'DEBUG' | xargs sed -i 's/\bDEBUG\s\?(/LLVM_DEBUG(/g' - git diff -U0 master | ../clang/tools/clang-format/clang-format-diff.py -i -p1 -style LLVM - Manual change to APInt - Manually chage DOCS as regex doesn't match it.
In the transition period the DEBUG() macro is still present and aliased to the LLVM_DEBUG() one.
Differential Revision: https://reviews.llvm.org/D43624
llvm-svn: 332240
show more ...
|
#
e0658119 |
| 27-Apr-2018 |
Sam Clegg <sbc@chromium.org> |
typo
llvm-svn: 331006
|
#
d5504a0a |
| 27-Apr-2018 |
Sam Clegg <sbc@chromium.org> |
[WebAssembly] Section symbols must have local binding
Summary: Also test for symbols information in test/MC/WebAssembly/debug-info.ll.
Subscribers: jfb, dschuff, jgravelle-google, aheejin, sunfish,
[WebAssembly] Section symbols must have local binding
Summary: Also test for symbols information in test/MC/WebAssembly/debug-info.ll.
Subscribers: jfb, dschuff, jgravelle-google, aheejin, sunfish, JDevlieghere, llvm-commits
Differential Revision: https://reviews.llvm.org/D46160
llvm-svn: 331005
show more ...
|
#
6a31a0d6 |
| 26-Apr-2018 |
Sam Clegg <sbc@chromium.org> |
[WebAssembly] Write DWARF data into wasm object file
- Writes ".debug_XXX" into corresponding custom sections. - Writes relocation records into "reloc.debug_XXX" sections.
Patch by Yury Delendik!
[WebAssembly] Write DWARF data into wasm object file
- Writes ".debug_XXX" into corresponding custom sections. - Writes relocation records into "reloc.debug_XXX" sections.
Patch by Yury Delendik!
Differential Revision: https://reviews.llvm.org/D44184
llvm-svn: 330982
show more ...
|
#
6bb5a41f |
| 26-Apr-2018 |
Sam Clegg <sbc@chromium.org> |
[WebAssembly] Add version to object file metadata
Summary: See https://github.com/WebAssembly/tool-conventions/issues/54
Subscribers: jfb, dschuff, jgravelle-google, aheejin, sunfish, llvm-commits
[WebAssembly] Add version to object file metadata
Summary: See https://github.com/WebAssembly/tool-conventions/issues/54
Subscribers: jfb, dschuff, jgravelle-google, aheejin, sunfish, llvm-commits
Differential Revision: https://reviews.llvm.org/D46069
llvm-svn: 330969
show more ...
|
#
f676cdd5 |
| 26-Apr-2018 |
Sam Clegg <sbc@chromium.org> |
[WebAssembly] Implement getRelocationValueString()
And use it in llvm-objdump.
Differential Revision: https://reviews.llvm.org/D46092
llvm-svn: 330957
|
#
9067b46e |
| 25-Apr-2018 |
Sam Clegg <sbc@chromium.org> |
[WebAssebmly] Add Module name to WasmSymbol
Imports in a wasm module can have custom module name. This change adds the module name to the WasmSymbol structure so that the linker can preserve this m
[WebAssebmly] Add Module name to WasmSymbol
Imports in a wasm module can have custom module name. This change adds the module name to the WasmSymbol structure so that the linker can preserve this module name.
This is needed to fix: https://bugs.llvm.org/show_bug.cgi?id=37168
Differential Revision: https://reviews.llvm.org/D45797
llvm-svn: 330854
show more ...
|
#
6f08c84a |
| 24-Apr-2018 |
Sam Clegg <sbc@chromium.org> |
[WebAssembly] Use section index in relocation section header
Rather than referring to sections my their code, use the absolute index of the target section within the module.
See https://github.com/
[WebAssembly] Use section index in relocation section header
Rather than referring to sections my their code, use the absolute index of the target section within the module.
See https://github.com/WebAssembly/tool-conventions/issues/52
Differential Revision: https://reviews.llvm.org/D45980
llvm-svn: 330749
show more ...
|
#
ef90ff36 |
| 20-Apr-2018 |
Nicholas Wilson <nicholas@nicholaswilson.me.uk> |
[WebAssembly] Distinguish debug/symbol names in the Wasm structs. NFC
Differential Revision: https://reviews.llvm.org/D45021
llvm-svn: 330448
|
Revision tags: llvmorg-6.0.1-rc1 |
|
#
9745afa6 |
| 12-Apr-2018 |
Sam Clegg <sbc@chromium.org> |
[WebAssembly] libObject: Don't include the name the size of custom sections
Differential Revision: https://reviews.llvm.org/D45579
llvm-svn: 329947
|