<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Jul 3, 2017 at 11:12 AM, Rafael Avila de Espindola <span dir="ltr"><<a href="mailto:rafael.espindola@gmail.com" target="_blank">rafael.espindola@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><span class="gmail-">Sam Clegg via llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org">llvm-dev@lists.llvm.org</a>> writes:<br>
<br>
>> Can you elaborate on semantically what the linker is actually doing for<br>
>> wasm?<br>
><br>
> You are correct that the wasm linker does have more work to do than a<br>
> traditional linker.  There are more sections that the linker will need<br>
> to re-construct fully.  This is because there is more high level<br>
> information required in the wasm format.  For example, as you point<br>
> out, the type of each function.   Functions also live in their own<br>
> index space outside of the program's memory space.  This means that<br>
> the simple approach of traditional linkers where almost everything can<br>
> be boiled down to virtual addresses don't make as much sense here.<br>
> This is part of the reason why early attempts to use ELF as the<br>
> encapsulation format were abandoned:  wasm is different enough that is<br>
> didn't make sense.<br>
<br>
</span>BTW, is that summarized somewhere?<br>
<br>
I remember the discussion about having relocations that would resolve to<br>
function numbers, but I don't remember where that failed.<br></blockquote><div><br></div><div>Looking at Sam's patch, it seems like that's what it does, e.g. R_WEBASSEMBLY_FUNCTION_INDEX_LEB</div><div><br></div><div>-- Sean Silva</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
Cheers,<br>
Rafael<br>
</blockquote></div><br></div></div>