History log of /llvm-project/llvm/lib/Object/WasmObjectFile.cpp (Results 126 – 150 of 222)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 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


123456789