[llvm-dev] [LLD] Adding WebAssembly support to lld

Sean Silva via llvm-dev llvm-dev at lists.llvm.org
Tue Jul 4 13:10:19 PDT 2017


On Mon, Jul 3, 2017 at 11:12 AM, Rafael Avila de Espindola <
rafael.espindola at gmail.com> wrote:

> Sam Clegg via llvm-dev <llvm-dev at lists.llvm.org> writes:
>
> >> Can you elaborate on semantically what the linker is actually doing for
> >> wasm?
> >
> > You are correct that the wasm linker does have more work to do than a
> > traditional linker.  There are more sections that the linker will need
> > to re-construct fully.  This is because there is more high level
> > information required in the wasm format.  For example, as you point
> > out, the type of each function.   Functions also live in their own
> > index space outside of the program's memory space.  This means that
> > the simple approach of traditional linkers where almost everything can
> > be boiled down to virtual addresses don't make as much sense here.
> > This is part of the reason why early attempts to use ELF as the
> > encapsulation format were abandoned:  wasm is different enough that is
> > didn't make sense.
>
> BTW, is that summarized somewhere?
>
> I remember the discussion about having relocations that would resolve to
> function numbers, but I don't remember where that failed.
>

Looking at Sam's patch, it seems like that's what it does, e.g.
R_WEBASSEMBLY_FUNCTION_INDEX_LEB

-- Sean Silva


>
> Cheers,
> Rafael
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20170704/a0ab4c6f/attachment-0001.html>


More information about the llvm-dev mailing list