similar to: Thoughts on the LLVM linker

Displaying 20 results from an estimated 10000 matches similar to: "Thoughts on the LLVM linker"

2017 Jun 30
3
[LLD] Adding WebAssembly support to lld
Hi llvmers, As you may know, work has been progressing on the experimental WebAssembly backend in llvm. However, there is currently not a good linking story. Most the of existing linking strategies (i.e. those in the emscripten toolchain) involve bitcode linking and whole program compilation at link time. To improve this situation I've been working on adding a wasm backend for lld. My
2017 Jul 01
1
[LLD] Adding WebAssembly support to lld
Can you link to docs about the wasm object format? (both relocatable and executable) Also, traditional object file linkers are primarily concerned with concatenating binary blobs with small amount of patching of said binary blobs based on computed virtual (memory) addresses. Or perhaps to put it another way, what traditional object file linkers do is construct program images meant to be mapped
2017 Jul 01
2
[LLD] Adding WebAssembly support to lld
Hi Sam, First, I want to know the symbol resolution semantics. I can imagine that that is set in stone yet, but just that you guys are still discussing what would be the best semantics or file format for the linkable wasm object file. I think by knowing more about the format and semantics, we can give you guys valuable feedback, as we've been actively working on the linker for a few years
2017 Jul 12
2
[LLD] Adding WebAssembly support to lld
On Mon, Jul 10, 2017 at 4:13 PM, Rui Ueyama via llvm-dev <llvm-dev at lists.llvm.org> wrote: > Sorry for the belated response. I was on vacation last week. A couple of > thoughts on this patch and the story of webassembly linking. And I'm about to be on (mostly) vacation for next 3 weeks :) > > - This patch adds a wasm support as yet another major architecture besides >
2018 Nov 17
2
Generating exported wasm functions
Using LLVM v5, my Cone compiler (https://github.com/jondgoodwin/cone) automatically directly generated all functions as named and exported for both wasm text and binary files (not using clang/lld etc, but using the API). Upgrading to LLVM v7, generated wasm object files now fail, exhibiting markedly different behavior, behavior that varies between the text and binary files. For example, the
2017 Jul 04
2
[LLD] Adding WebAssembly support to lld
Sean Silva <chisophugis at gmail.com> writes: > 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? >> > >> >
2017 Jul 06
3
[LLD] Adding WebAssembly support to lld
Dan Gohman <sunfish at mozilla.com> writes: >> Sorry, I meant why that didn't work with ELF (or what else didn't). >> > > The standard executable WebAssembly format does not use ELF, for numerous > reasons, most visibly that ELF is designed for sparse decoding -- headers > contain offsets to arbitrary points in the file, while WebAssembly's format > is
2020 Aug 10
2
(wasm-ld) Any fundamental problems with linking a shared wasm library statically?
wasm-ld is currently unable to link a shared wasm library (generated with `wasm-ld --shared`) with .o files and produce a working executable. I'm curious if there's a fundamental reason for this, or is this simply something that wasn't needed and could be implemented if needed. I think this could be done by - Resolving "GOT.mem" and "GOT.func" imports and
2017 Jul 03
3
[LLD] Adding WebAssembly support to lld
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 >
2019 Oct 15
4
Wasm, start function, and default globals
Apologies if there is a better forum for these questions. Please redirect me if so. I’ve been using the clang/wasm-ld tools to experiment with some basic examples, and there’s a couple things I’m wrestling with. 1) How to denote a function as the “start” function (https://webassembly.github.io/spec/core/binary/modules.html#start-section) 2) How to avoid the defaulted __heap_base global. I’ve
2019 May 08
2
Where to send emails with questions about WebAssembly?
Okay, so where should I send questions for WebAssembly? Is it this mailing list or a different one? I want to ask about how to compile WebAssembly modules with Clang directly, without Emscripten, for situations like what I have currently where I have a problem with generating WebAssembly and/or JavaScript glue code (I have a problem with the gen_struct_info stuff; I asked on the Emscripten
2019 Jul 08
2
Problem with the LLVM v8.0 IR 'select' instruction
Hi again, It is probably me doing something wrong, but I have attached a trimmed down sample that shows the issue and the output that Clang 8.0.0 makes (using the binary release from llvm.org). I invoke clang as follows: clang -S -O3 -o Evergrowing.s -Wall Evergrowing.ll I tried using -O1, -O2, and -O3, but all where the same. Please notice that I renamed 'main()' to
2018 Jun 01
2
[WebAssembly] lld dynamic loader
Hello, The table generated by lld (Wasm target) have a max size. So this make impossible to add some others functions in the table . As for the moment only one Table is available in WAsm this is the only way to add function in a dynamic way. Having a none static size of the table is useful for a kind dynamic loader/inker at run-time: by adding some exported functions coming from another
2018 Jun 15
2
[WebAssembly] lld dynamic loader
Hi Sam, Thanks for your answer! Sorry I didn't really know how to process, but this issue block me to make some legacy C code works without having some glue with a bit static lib ;( (The change have really low risk) The changes I used locally to make dlopen/dlclose et dlsym mechanism works :) : Index: wasm/Writer.cpp =================================================================== ---
2019 Jul 07
2
Problem with the LLVM v8.0 IR 'select' instruction
Hi guys, I am doing a hobby compiler using LLVM. I have a rather peculiar problem with the 'select' instruction, as far as I can see. Given this code: ************************************************ ; Run-time Library Definitions %Exception = type { i8 } define private %Exception* @Start(i1* %$result) #0 { prologue: store i1 true, i1* %$result br label %epilogue epilogue:
2018 Sep 19
10
WebAssembly into normal Target?
Hi All, WebAssembly has been around for a while now, it's still being actively worked on and used. I think it's long past time we make it a normal target so that it gets tested on a regular basis. (Most recent random breakage is https://reviews.llvm.org/rL342576 which fails make check with web assembly enabled). Any objections? I'll probably do this next week unless someone raises a
2017 Jan 03
2
LLVM WebAssembly target
Hello. Excuse me. Why CMakeLists.txt from llvm-3.9.1.src does not contain WebAssembly target? So, it is like set(LLVM_ALL_TARGETS AArch64 AMDGPU ARM BPF Hexagon Mips MSP430 NVPTX PowerPC Sparc SystemZ X86 XCore ) but not like set(LLVM_ALL_TARGETS AArch64 AMDGPU ARM BPF Hexagon Mips MSP430 NVPTX PowerPC Sparc SystemZ Webassembly X86
2020 Aug 31
3
Inlining with different target features
David, That's right, WebAssembly does not have a way to conditionally use a feature or even do runtime feature testing right now. It's on our roadmap of things to design and standardize, but it is still a long way off. > Another direction would be to require the features to be specified consistently for all components of the build, I guess - if that's the net effect anyway. Would
2012 May 24
3
[LLVMdev] Windows question: Dozens of linker warnings and errors
Thanks for the quick reply. I had a feeling that it was due to missing Windows support in clang++ and LLVM. """ This is due to clang not understanding force_inline. These functions are defined in a header included from Windows.h, so it ends up getting a definition everywhere it is included. """ How much work would it take to add support for force_inline? Are there
2020 Aug 05
2
Debugging a potential bug when generating wasm32
Hi, Sorry if you've seen this message before on llvm.discourse.group or elsewhere -- I've been trying to get to the bottom of this for a while now and asked about this in a few different platforms before. I'm currently trying to debug a bug in a LLVM-generated Wasm code. The bug could be in the code that generates LLVM (rustc) or in the LLVM, I'm not sure yet. LLVM IR and Wasm