| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
llvm-svn: 326013
|
|
|
|
| |
llvm-svn: 326012
|
|
|
|
| |
llvm-svn: 325955
|
|
|
|
|
|
| |
Differential Revision: https://reviews.llvm.org/D43526
llvm-svn: 325953
|
|
|
|
|
|
|
|
| |
Because it's a waste of time to handle --mllvm before --version.
Differential Revision: https://reviews.llvm.org/D43527
llvm-svn: 325952
|
|
|
|
|
|
| |
Differential Revision: https://reviews.llvm.org/D43525
llvm-svn: 325948
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change modified lld to in response the llvm change which
moved to a more explicit symbol table in the object format.
Based on patches by Nicholas Wilson:
1. https://reviews.llvm.org/D41955
2. https://reviews.llvm.org/D42585
The primary difference that we see in the test output is that
for relocatable (-r) output we now have symbol table which
replaces exports/imports and globals.
See: https://github.com/WebAssembly/tool-conventions/issues/38
Differential Revision: https://reviews.llvm.org/D43264
llvm-svn: 325861
|
|
|
|
|
|
| |
Differential Revision: https://reviews.llvm.org/D43534
llvm-svn: 325857
|
|
|
|
|
|
|
|
|
| |
lld uses an arena allocator to one of allocations
like these can just use make<>.
Differential Revision: https://reviews.llvm.org/D43587
llvm-svn: 325706
|
|
|
|
|
|
|
|
|
| |
This avoids confusion with the `DefinedFunction` symbol
type.
Differential Revision: https://reviews.llvm.org/D43588
llvm-svn: 325705
|
|
|
|
|
|
| |
Patch by Nicholas Wilson!
llvm-svn: 325656
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Purely a rename in preparation for adding new global symbol type.
We want to use GlobalSymbol to represent real wasm globals and
DataSymbol for pointers to things in linear memory (what ELF would
call STT_OBJECT).
This reduces the size the patch to add the explicit symbol table
which is coming soon!
Differential Revision: https://reviews.llvm.org/D43476
llvm-svn: 325645
|
|
|
|
|
|
|
|
|
| |
The profailing style in lld seem to be to not include such empty lines.
Clang-tidy/clang-format seem to handle this just fine.
Differential Revision: https://reviews.llvm.org/D43528
llvm-svn: 325629
|
|
|
|
|
|
|
|
|
|
|
| |
I think if statements that end with return is easier to read than
cascaded if-else-if-else-if statements because it makes clear that
execution of a function terminates there. This patch also adds more
blank lines to separate code blocks to meaningful pieces.
Differential Revision: https://reviews.llvm.org/D43517
llvm-svn: 325625
|
|
|
|
| |
llvm-svn: 325624
|
|
|
|
| |
llvm-svn: 325614
|
|
|
|
|
|
|
|
| |
Subscribers: jfb, dschuff, jgravelle-google, aheejin, sunfish, llvm-commits
Differential Revision: https://reviews.llvm.org/D43496
llvm-svn: 325613
|
|
|
|
|
|
|
|
|
| |
This header used to be needed here for the `OutRelocation` struct
but that no longer exists.
Differential Revision: https://reviews.llvm.org/D43516
llvm-svn: 325608
|
|
|
|
|
|
|
|
|
|
| |
Instead include InputFuction and InputSegment directly
in the subclasses that use them (DefinedFunction and
DefinedGlobal).
Differential Revision: https://reviews.llvm.org/D43493
llvm-svn: 325603
|
|
|
|
|
|
|
|
| |
Subscribers: jfb, dschuff, jgravelle-google, aheejin, sunfish, llvm-commits
Differential Revision: https://reviews.llvm.org/D43492
llvm-svn: 325598
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch removes `OutRelocations` vector from the InputChunk and
directly consume `Relocations` vector instead. This should make the linker
faster because we don't create a temporary data structure, and it matches
the lld's design principle that we don't create temporary data structures
for object files but instead directly consume mmap'ed data whenever possible.
Differential Revision: https://reviews.llvm.org/D43491
llvm-svn: 325549
|
|
|
|
|
|
| |
Differential Revision: https://reviews.llvm.org/D43406
llvm-svn: 325538
|
|
|
|
| |
llvm-svn: 325537
|
|
|
|
|
|
| |
Differential Revision: https://reviews.llvm.org/D43435
llvm-svn: 325536
|
|
|
|
|
|
|
|
| |
Define toString(wasm::InputChunk *) and use that in MarkLive.cpp.
Differential Revision: https://reviews.llvm.org/D43434
llvm-svn: 325535
|
|
|
|
|
|
|
|
|
| |
We already have isa<> for this, and these methods were simply
duplicating those redundantly.
Differential Revision: https://reviews.llvm.org/D43422
llvm-svn: 325418
|
|
|
|
|
|
| |
Differential Revision: https://reviews.llvm.org/D43416
llvm-svn: 325415
|
|
|
|
|
|
| |
Differential Revision: https://reviews.llvm.org/D43405
llvm-svn: 325414
|
|
|
|
|
|
| |
Differential Revision: https://reviews.llvm.org/D43408
llvm-svn: 325406
|
|
|
|
| |
llvm-svn: 325387
|
|
|
|
| |
llvm-svn: 325384
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
- Makes code more in line with LLVM style (e.g. const char * -> StringRef)
- Do not use formatv since we can construct message just by `+`
- Replace some odd types such as `const StringRef` with more common type
- Do not use default arguments if they are not necessary
Reviewers: sbc100
Subscribers: jfb, aheejin, llvm-commits, sunfish
Differential Revision: https://reviews.llvm.org/D43403
llvm-svn: 325383
|
|
|
|
| |
llvm-svn: 325382
|
|
|
|
| |
llvm-svn: 325377
|
|
|
|
|
|
|
|
|
|
| |
This bug effected undefined symbols that were resolved by
existing defined symbols. We were skipping the signature
check in this case.
Differential Revision: https://reviews.llvm.org/D43399
llvm-svn: 325376
|
|
|
|
|
|
| |
Patch by Nicholas Wilson!
llvm-svn: 325370
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This was causing GCC builds with fail with:
Symbols.h:240:3: error: static assertion failed: Symbol types must be
trivially destructible
static_assert(std::is_trivially_destructible<T>(
The reason this is a gcc-only failure is that OptionalStorage has
as specialization for POD types that isn't built under GCC.
Differential Revision: https://reviews.llvm.org/D43317
llvm-svn: 325185
|
|
|
|
|
|
| |
This reverts commit r325158 because it broke GCC builds.
llvm-svn: 325183
|
|
|
|
|
|
|
| |
This static_assert is legitimate, but it is failing on some build environments.
I'm removing it until it's fixed to unbreak the bots.
llvm-svn: 325181
|
|
|
|
|
|
| |
Differential Revision: https://reviews.llvm.org/D43305
llvm-svn: 325158
|
|
|
|
|
|
|
|
|
| |
This brings wasm into line with ELF and COFF in terms of
symbol types are represented.
Differential Revision: https://reviews.llvm.org/D43112
llvm-svn: 325150
|
|
|
|
|
|
|
|
|
| |
SetVector guarantees ordering, so with that we can get a deterministic
output for error messages.
Differential Revision: https://reviews.llvm.org/D43254
llvm-svn: 325064
|
|
|
|
|
|
|
|
|
| |
It seems redundant to store this information twice. None of the
locations where this bit is checked care about the distinction.
Differential Revision: https://reviews.llvm.org/D43250
llvm-svn: 325046
|
|
|
|
|
|
|
|
|
|
|
|
| |
These were duplicating (incorrectly) some of the logic for
handling conflicts, but since they are only ever added right
at the start we can assume no existing symbols.
Also rename these methods for clarity.
Differential Revision: https://reviews.llvm.org/D43252
llvm-svn: 325045
|
|
|
|
| |
llvm-svn: 324716
|
|
|
|
| |
llvm-svn: 324715
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is similar to _end (See https://linux.die.net/man/3/edata for more)
but using our own unique name since our use cases will most likely be
different and we want to keep our options open WRT to memory layout.
This change will allow is to remove the DataSize from the linking
metadata section which is currently being used by emscripten to derive
the end of the data.
Differential Revision: https://reviews.llvm.org/D42867
llvm-svn: 324443
|
|
|
|
|
|
|
|
|
|
|
|
| |
Group all synthetic symbols in the in single struct to match
the ELF linker.
This change is part of a larger change to add more linker
symbols such as `_end` and `_edata`.
Differential Revision: https://reviews.llvm.org/D42866
llvm-svn: 324157
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Don't include type signatures that are not referenced by
some relocation.
We don't include this in the -gc-sections settings since
we are always building the type section from scratch,
just like we do the table elements.
In the future we might want to unify the relocation
processing which is currently done once for gc-sections
and then again for building the sympathetic type and
table sections.
Differential Revision: https://reviews.llvm.org/D42747
llvm-svn: 323931
|
|
|
|
|
|
|
|
|
|
| |
See: https://reviews.llvm.org/rL323901
Patch by Nicholas Wilson!
Differential Revision: https://reviews.llvm.org/D42751
llvm-svn: 323903
|