History log of /llvm-project/llvm/lib/Object/WasmObjectFile.cpp (Results 151 – 175 of 222)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
Revision tags: llvmorg-5.0.2, llvmorg-5.0.2-rc2, llvmorg-5.0.2-rc1
# 027b9357 14-Mar-2018 Nicholas Wilson <nicholas@nicholaswilson.me.uk>

[WebAssembly] Identify COMDATs by index rather than string. NFC

This will enable an optimisation in LLD.

Differential Revision: https://reviews.llvm.org/D44343

llvm-svn: 327522


# 15f349f7 09-Mar-2018 Nicholas Wilson <nicholas@nicholaswilson.me.uk>

[WebAssembly] Disallow weak undefined globals in the object format

This implements https://github.com/WebAssembly/tool-conventions/pull/47

Differential Revision: https://reviews.llvm.org/D44201

ll

[WebAssembly] Disallow weak undefined globals in the object format

This implements https://github.com/WebAssembly/tool-conventions/pull/47

Differential Revision: https://reviews.llvm.org/D44201

llvm-svn: 327146

show more ...


# fa5a04fb 06-Mar-2018 Sam Clegg <sbc@chromium.org>

[WebAssebmly] Remove reloc ordering constraint

The MC layer doesn't currently emit relocations in offset
order for the entire code section so this check was causing
failures on the wasm waterfall.

[WebAssebmly] Remove reloc ordering constraint

The MC layer doesn't currently emit relocations in offset
order for the entire code section so this check was causing
failures on the wasm waterfall.

Perhaps we can re-instate this check if we divide the relocations
per-function, or add extra ordering the MC object writer.

Differential Revision: https://reviews.llvm.org/D44136

llvm-svn: 326765

show more ...


# b3748f71 05-Mar-2018 Nicholas Wilson <nicholas@nicholaswilson.me.uk>

[WebAssembly] Add validation to reloc section

We now check relocations offsets are within range, and the relocation
index is valid.

Also updated tests which contained invalid Wasm files that were
p

[WebAssembly] Add validation to reloc section

We now check relocations offsets are within range, and the relocation
index is valid.

Also updated tests which contained invalid Wasm files that were
previously not checked.

Differential Revision: https://reviews.llvm.org/D43684

llvm-svn: 326697

show more ...


# 959e7371 05-Mar-2018 Nicholas Wilson <nicholas@nicholaswilson.me.uk>

[WebAssembly] Attach a name to globals similarly to function naming

This allows LLD to print the name for an InputGlobal when encountering
an error.

Differential Revision: https://reviews.llvm.org/

[WebAssembly] Attach a name to globals similarly to function naming

This allows LLD to print the name for an InputGlobal when encountering
an error.

Differential Revision: https://reviews.llvm.org/D44033

llvm-svn: 326691

show more ...


# 3b825105 02-Mar-2018 Nicholas Wilson <nicholas@nicholaswilson.me.uk>

[WebAssembly] Check function type indexes

Also update tests containing invalid Wasm files, exposed by the check

Differential Revision: https://reviews.llvm.org/D43954

llvm-svn: 326577


Revision tags: llvmorg-6.0.0
# 03e101f1 01-Mar-2018 Sam Clegg <sbc@chromium.org>

[WebAssembly] Use uint8_t for single byte values to match the spec

The original BinaryEncoding.md document used to specify that
these values were `varint7`, but the official spec lists them
explicit

[WebAssembly] Use uint8_t for single byte values to match the spec

The original BinaryEncoding.md document used to specify that
these values were `varint7`, but the official spec lists them
explicitly as single byte values and not LEB.

A similar change for wabt is in flight:
https://github.com/WebAssembly/wabt/pull/782

Differential Revision: https://reviews.llvm.org/D43921

llvm-svn: 326454

show more ...


# 7e4eee98 28-Feb-2018 Nicholas Wilson <nicholas@nicholaswilson.me.uk>

[WebAssembly] Fix copy-paste error in debugging string

llvm-svn: 326326


# 86b4a09a 27-Feb-2018 Sam Clegg <sbc@chromium.org>

[WebAssembly] Remove DataSize from linking metadata section

Neither the linker nor the runtime need this information
anymore. We were originally using this to model BSS size
but the plan is now to

[WebAssembly] Remove DataSize from linking metadata section

Neither the linker nor the runtime need this information
anymore. We were originally using this to model BSS size
but the plan is now to use the segment metadata to allow
for BSS segments.

Differential Revision: https://reviews.llvm.org/D41366

llvm-svn: 326267

show more ...


Revision tags: llvmorg-6.0.0-rc3
# 6c899ba6 23-Feb-2018 Sam Clegg <sbc@chromium.org>

[WebAssembly] Add first claass symbol table to wasm objects

This is combination of two patches by Nicholas Wilson:
1. https://reviews.llvm.org/D41954
2. https://reviews.llvm.org/D42495

Along wi

[WebAssembly] Add first claass symbol table to wasm objects

This is combination of two patches by Nicholas Wilson:
1. https://reviews.llvm.org/D41954
2. https://reviews.llvm.org/D42495

Along with a few local modifications:
- One change I made was to add the UNDEFINED bit to the binary format
to avoid the extra byte used when writing data symbols. Although this
bit is redundant for other symbols types (i.e. undefined can be
implied if a function or global is a wasm import)
- I prefer to be explicit and consistent and not have derived flags.
- Some field renaming.
- Some reverting of unrelated minor changes.
- No test output differences.

Differential Revision: https://reviews.llvm.org/D43147

llvm-svn: 325860

show more ...


# 0b55ccf6 09-Feb-2018 Sam Clegg <sbc@chromium.org>

[WebAssebmly] Report undefined symbols correctly in objdump

Peviously we were reporting undefined symbol as being defined
by the IMPORT sections.

This change reports undefined symbols in the same t

[WebAssebmly] Report undefined symbols correctly in objdump

Peviously we were reporting undefined symbol as being defined
by the IMPORT sections.

This change reports undefined symbols in the same that other
formats do, and also removes the need to store the section
with each symbol (since it can be derived from the symbol
type).

Differential Revision: https://reviews.llvm.org/D43101

llvm-svn: 324770

show more ...


Revision tags: llvmorg-6.0.0-rc2
# 6e7f1826 31-Jan-2018 Sam Clegg <sbc@chromium.org>

[WebAssembly] MC: Remove unused code for handling of wasm globals

For now, we are not using wasm globals, except for modeling of
the stack points.

Alos, factor out common struct WasmGlobalType, whi

[WebAssembly] MC: Remove unused code for handling of wasm globals

For now, we are not using wasm globals, except for modeling of
the stack points.

Alos, factor out common struct WasmGlobalType, which matches the
name for that tuple in the Wasm spec and rename methods
to "isBindingGlobal", "isTypeGlobal" to avoid ambiguity.

Patch by Nicholas Wilson!

Differential Revision: https://reviews.llvm.org/D42750

llvm-svn: 323901

show more ...


# 23012e98 24-Jan-2018 Sam Clegg <sbc@chromium.org>

[WebAssembly] Add minor helper functions to WasmObjectFile

Also, fix crash when exporting an imported function.

Differential Revision: https://reviews.llvm.org/D42454

llvm-svn: 323290


# 9f3fe42e 17-Jan-2018 Sam Clegg <sbc@chromium.org>

[WebAssembly] Remove debug names from symbol table

Get rid of DEBUG_FUNCTION_NAME symbols. When we actually debug
data, maybe we'll want somewhere to put it... but having a symbol
that just stores t

[WebAssembly] Remove debug names from symbol table

Get rid of DEBUG_FUNCTION_NAME symbols. When we actually debug
data, maybe we'll want somewhere to put it... but having a symbol
that just stores the name of another symbol seems odd.
It means you have multiple Symbols with the same name, one
containing the actual function and another containing the name!

Store the names in a vector on the WasmObjectFile when reading
them in. Also stash them on the WasmFunctions themselves.
The names are //not// "symbol names" or aliases or anything,
they're just the name that a debugger should show against the
function body itself. NB. The WasmObjectFile stores them so that
they can be exported in the YAML losslessly, and hence the tests
can be precise.

Enforce that the CODE section has been read in before reading
the "names" section. Requires minor adjustment to some tests.

Patch by Nicholas Wilson!

Differential Revision: https://reviews.llvm.org/D42075

llvm-svn: 322741

show more ...


Revision tags: llvmorg-6.0.0-rc1
# 4710ed7a 12-Jan-2018 Sam Clegg <sbc@chromium.org>

[WebAssembly] Don't allow functions to be named twice

The spec doesn't allow this.

Differential Revision: https://reviews.llvm.org/D41974

llvm-svn: 322343


# ea7cacee 09-Jan-2018 Sam Clegg <sbc@chromium.org>

[WebAssembly] Add COMDAT support

This adds COMDAT support to the Wasm object-file format.
Spec: https://github.com/WebAssembly/tool-conventions/pull/31

Corresponding LLD change:
https://bugs.llvm.o

[WebAssembly] Add COMDAT support

This adds COMDAT support to the Wasm object-file format.
Spec: https://github.com/WebAssembly/tool-conventions/pull/31

Corresponding LLD change:
https://bugs.llvm.org/show_bug.cgi?id=35533, and D40845

Patch by Nicholas Wilson

Differential Revision: https://reviews.llvm.org/D40844

llvm-svn: 322135

show more ...


# e53af7f6 09-Jan-2018 Sam Clegg <sbc@chromium.org>

[WebAssembly] Explicitly specify function/global index space in YAML

These indexes are useful because they are not always zero based and
functions and globals are referenced elsewhere by their index

[WebAssembly] Explicitly specify function/global index space in YAML

These indexes are useful because they are not always zero based and
functions and globals are referenced elsewhere by their index.

This matches what we already do for the type index space.

Differential Revision: https://reviews.llvm.org/D41877

llvm-svn: 322121

show more ...


# c5d8bc83 21-Dec-2017 Sam Clegg <sbc@chromium.org>

[WebAssembly] Remove unneeded sub-directory

This is the only wasm def (and likely likely will be
for the foreseeable) file so no need for a sub-directory

Differential Revision: https://reviews.llvm

[WebAssembly] Remove unneeded sub-directory

This is the only wasm def (and likely likely will be
for the foreseeable) file so no need for a sub-directory

Differential Revision: https://reviews.llvm.org/D41476

llvm-svn: 321246

show more ...


# b6a42984 21-Dec-2017 Sam Clegg <sbc@chromium.org>

[WebAssembly] Fix local references to weak aliases

When weak aliases are used with in same translation
unit we need to be able to directly reference to alias
and not just the thing it is aliases. W

[WebAssembly] Fix local references to weak aliases

When weak aliases are used with in same translation
unit we need to be able to directly reference to alias
and not just the thing it is aliases. We do this by
defining both a wasm import and a wasm export in this
case that result in a single Symbol. This change is
a partial revert of rL314245. A corresponding lld
change address the previous issues we had with this.

See: https://github.com/WebAssembly/tool-conventions/issues/34

Differential Revision: https://reviews.llvm.org/D41472

llvm-svn: 321242

show more ...


# c551522d 17-Dec-2017 Sam Clegg <sbc@chromium.org>

[WebAssembly] Export some more info on wasm funtions

Summary:
These fields are useful for lld's gc-sections support

Also remove an unused field.

Subscribers: jfb, dschuff, jgravelle-google, aheeji

[WebAssembly] Export some more info on wasm funtions

Summary:
These fields are useful for lld's gc-sections support

Also remove an unused field.

Subscribers: jfb, dschuff, jgravelle-google, aheejin, sunfish

Differential Revision: https://reviews.llvm.org/D41320

llvm-svn: 320946

show more ...


# 260fe3ec 14-Dec-2017 Zachary Turner <zturner@google.com>

Fix many -Wsign-compare and -Wtautological-constant-compare warnings.

Most of the -Wsign-compare warnings are due to the fact that
enums are signed by default in the MS ABI, while the
tautological c

Fix many -Wsign-compare and -Wtautological-constant-compare warnings.

Most of the -Wsign-compare warnings are due to the fact that
enums are signed by default in the MS ABI, while the
tautological comparison warnings trigger on x86 builds where
sizeof(size_t) is 4 bytes, so N > numeric_limits<unsigned>::max()
is always false.

Differential Revision: https://reviews.llvm.org/D41256

llvm-svn: 320750

show more ...


# 4273998c 14-Dec-2017 Sam Clegg <sbc@chromium.org>

[WebAssembly] Add support for init functions linking metadata

Summary:
This change lays the groundwork lowering of @llvm.global_ctors
and @llvm.global_dtors for the wasm object format. Some parts
o

[WebAssembly] Add support for init functions linking metadata

Summary:
This change lays the groundwork lowering of @llvm.global_ctors
and @llvm.global_dtors for the wasm object format. Some parts
of this patch are subset of: https://reviews.llvm.org/D40759

See https://github.com/WebAssembly/tool-conventions/issues/25

Subscribers: jfb, dschuff, jgravelle-google, aheejin, sunfish

Differential Revision: https://reviews.llvm.org/D41208

llvm-svn: 320742

show more ...


# 7ae3f465 06-Dec-2017 Dan Gohman <dan433584@gmail.com>

[WebAssembly] Commit a file I accidentally omitted from r319956.

llvm-svn: 319962


Revision tags: llvmorg-5.0.1, llvmorg-5.0.1-rc3
# a2b35dac 03-Dec-2017 Sam Clegg <sbc@chromium.org>

Reland "[WebAssembly] Add visibility flag to Wasm symbol flags""

Original change was rL319488.

This was reverted rL319602 due to a gcc 7.1 warning.

Differential Revision: https://reviews.llvm.org/

Reland "[WebAssembly] Add visibility flag to Wasm symbol flags""

Original change was rL319488.

This was reverted rL319602 due to a gcc 7.1 warning.

Differential Revision: https://reviews.llvm.org/D40772

llvm-svn: 319626

show more ...


# e74a864c 02-Dec-2017 Heejin Ahn <aheejin@gmail.com>

[WebAssembly] Revert r319488 "Add visibility flag to Wasm symbol flags"

This patch reportedly broke one of LLVM bots (ubuntu-gcc7.1-werror).

See http://lab.llvm.org:8011/builders/ubuntu-gcc7.1-werr

[WebAssembly] Revert r319488 "Add visibility flag to Wasm symbol flags"

This patch reportedly broke one of LLVM bots (ubuntu-gcc7.1-werror).

See http://lab.llvm.org:8011/builders/ubuntu-gcc7.1-werror/builds/3369 for
details.

llvm-svn: 319602

show more ...


123456789