| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Specifically add support for custom sections that contain
relocations, and for the two new relocation types needed
by DWARF sections.
See: https://reviews.llvm.org/D44184
Patch by Yury Delendik!
Differential Revision: https://reviews.llvm.org/D44184
llvm-svn: 331566
|
| |
|
|
|
|
|
|
|
|
| |
start of linear memory
Fixes https://bugs.llvm.org/show_bug.cgi?id=37181
Differential Revision: https://reviews.llvm.org/D46141
llvm-svn: 331467
|
| |
|
|
|
|
| |
Differential Revision: https://reviews.llvm.org/D46070
llvm-svn: 330971
|
| |
|
|
| |
llvm-svn: 330785
|
| |
|
|
|
|
| |
Differential Revision: https://reviews.llvm.org/D45795
llvm-svn: 330750
|
| |
|
|
|
|
| |
Differential Revision: https://reviews.llvm.org/D44313
llvm-svn: 330454
|
| |
|
|
|
|
|
|
|
|
| |
Enables cleaning up confusion between which name variables are mangled
and which are unmangled, and --print-gc-sections then excersises and
tests that.
Differential Revision: https://reviews.llvm.org/D44440
llvm-svn: 330449
|
| |
|
|
|
|
|
|
|
| |
Copy user-defined custom sections into the output, concatenating
sections with the same name.
Differential Revision: https://reviews.llvm.org/D45340
llvm-svn: 329717
|
| |
|
|
|
|
| |
This addresses a late review comment from D44427/rLLD328643
llvm-svn: 328700
|
| |
|
|
|
|
|
|
|
|
| |
This enables callback-style programming where the JavaScript environment
can call back into the Wasm environment using a function pointer
received from the module.
Differential Revision: https://reviews.llvm.org/D44427
llvm-svn: 328643
|
| |
|
|
| |
llvm-svn: 327579
|
| |
|
|
|
|
| |
Differential Revision: https://reviews.llvm.org/D44150
llvm-svn: 327527
|
| |
|
|
|
|
|
|
|
| |
This reduces the number of lookups to one per COMDAT group, rather than
one per symbol in a COMDAT group.
Differential Revision: https://reviews.llvm.org/D44344
llvm-svn: 327523
|
| |
|
|
|
|
|
|
|
| |
Previously, Config->InitialMemory/MaxMemory were hooked up to some
commandline args but had no effect at all.
Differential Revision: https://reviews.llvm.org/D44393
llvm-svn: 327508
|
| |
|
|
|
|
| |
Differential Revision: https://reviews.llvm.org/D44441
llvm-svn: 327507
|
| |
|
|
|
|
| |
Differential Revision: https://reviews.llvm.org/D44316
llvm-svn: 327392
|
| |
|
|
|
|
| |
Differential Revision: https://reviews.llvm.org/D44358
llvm-svn: 327326
|
| |
|
|
|
|
|
|
|
| |
This bug was found by accident while trying to expand out testcases
for imported symbols, and is covered by the additional test case.
Differential Revision: https://reviews.llvm.org/D44331
llvm-svn: 327290
|
| |
|
|
|
|
|
|
|
| |
This matches the existing ordering that's been there for globals
for a while (__stack_pointer coming first).
Differential Revision: https://reviews.llvm.org/D44333
llvm-svn: 327286
|
| |
|
|
|
|
|
|
|
|
| |
Previously we created __wasm_call_ctors with null InputFunction, and
added the InputFunction later. Now we create the SyntheticFunction with
null body, and set the body later.
Differential Revision: https://reviews.llvm.org/D44206
llvm-svn: 327149
|
| |
|
|
| |
llvm-svn: 326896
|
| |
|
|
|
|
| |
Differential Revision: https://reviews.llvm.org/D44146
llvm-svn: 326888
|
| |
|
|
|
|
| |
Differential Revision: https://reviews.llvm.org/D44149
llvm-svn: 326885
|
| |
|
|
|
|
|
|
| |
This matches LLVM change D43940.
Differential Revision: https://reviews.llvm.org/D43946
llvm-svn: 326693
|
| |
|
|
|
|
|
|
| |
This fixes a TODO introduced in rLLD325861.
Differential Revision: https://reviews.llvm.org/D43930
llvm-svn: 326581
|
| |
|
|
|
|
|
|
|
| |
This avoids the Writer unnecessarily having a member to retain ownership
of the function body.
Differential Revision: https://reviews.llvm.org/D43933
llvm-svn: 326580
|
| |
|
|
|
|
| |
Differential Revision: https://reviews.llvm.org/D43947
llvm-svn: 326579
|
| |
|
|
|
|
| |
Differential Revision: https://reviews.llvm.org/D43922
llvm-svn: 326455
|
| |
|
|
|
|
|
|
| |
This fixes a TODO introduced in rLLD325861.
Differential Revision: https://reviews.llvm.org/D43877
llvm-svn: 326424
|
| |
|
|
|
|
| |
Differential Revision: https://reviews.llvm.org/D43855
llvm-svn: 326340
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Let X and Y be types. Previously, functions F(X, Y) and G(Y, X) had
the same hash value because their hash values are computed as follows:
hash(F) = hash(X) + hash(Y)
hash(G) = hash(Y) + hash(X)
This patch fixes the issue by using hash_combine.
Differential Revision: https://reviews.llvm.org/D43856
llvm-svn: 326336
|
| |
|
|
| |
llvm-svn: 326300
|
| |
|
|
|
|
|
|
|
| |
These output section names are ELF-specific. We shouldn't have this rule
for WebAssembly.
Differential Revision: https://reviews.llvm.org/D43712
llvm-svn: 326289
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
SubSection inherited from SyntheticSection, and SyntheticSection inherits
from OutputSection, so SubSection was an OutputSection. But that's wrong
because SubSection is not actually a WebAssembly output section.
It shares some functionalities with OutputSection, but overall it's very
different.
This patch removes that inheritance.
Differential Revision: https://reviews.llvm.org/D43719
llvm-svn: 326286
|
| |
|
|
|
|
|
|
| |
That variable hides the class of the same name.
Differential Revision: https://reviews.llvm.org/D43718
llvm-svn: 326283
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
FileOutputBuffer automatically removes an existing file, so we don't
need to do that. Actually doing that is discouraged because when the
linker fails to create an output for some reason after instantiating
FileOutputBufffer, FileOutputBuffer removes a temporary file and don't
touch an existing file. That's an desired behavior from the user's
point of view.
(Internally, FileOutputBuffer writes its contents to a temporary file
and then rename it over to an existing file on commit()).
Differential Revision: https://reviews.llvm.org/D43728
llvm-svn: 326281
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Summary: [WebAssembly] Simplify createLikingSection.
Reviewers: sbc100
Subscribers: jfb, dschuff, jgravelle-google, aheejin, sunfish, llvm-commits
Differential Revision: https://reviews.llvm.org/D43715
llvm-svn: 326279
|
| |
|
|
|
|
|
|
|
| |
Instead of {Function,Global,Data}Symbol, use Defined{Function,Global,Data}
because undefined symbol should never reach this function.
Differential Revision: https://reviews.llvm.org/D43710
llvm-svn: 326275
|
| |
|
|
|
|
|
|
|
|
| |
I think calling reserve() for each object file is too many and isn't useful.
We can add reserve() later. By default, we shouldn't add reserve() to a lot
of places.
Differential Revision: https://reviews.llvm.org/D43722
llvm-svn: 326273
|
| |
|
|
|
|
| |
Differential Revision: https://reviews.llvm.org/D43721
llvm-svn: 326269
|
| |
|
|
|
|
|
|
|
| |
This means we don't need to write the linking metadata section
at all for executable (non-relocatable) output.
Differential Revision: https://reviews.llvm.org/D42869
llvm-svn: 326268
|
| |
|
|
| |
llvm-svn: 326017
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
| |
We already have isa<> for this, and these methods were simply
duplicating those redundantly.
Differential Revision: https://reviews.llvm.org/D43422
llvm-svn: 325418
|