| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2025-01-15 | wasm linker: implement `@tagName` functions when tags are autoassigned | Andrew Kelley | |
| 2025-01-15 | wasm linker: don't crash on ref to void | Andrew Kelley | |
| 2025-01-15 | wasm-linker: add updateFunc log | Andrew Kelley | |
| 2025-01-15 | wasm linker: fix corruption of string bytes | Andrew Kelley | |
| if any fixups are emitted in lowering data, keep the string bytes allocated even if all zeroes because it is used as a fixup staging area. | |||
| 2025-01-15 | wasm linker: handle function data references properly | Andrew Kelley | |
| 2025-01-15 | wasm linker: don't call init functions unless object included | Andrew Kelley | |
| 2025-01-15 | implement indirect function table for object functions | Andrew Kelley | |
| 2025-01-15 | wasm linker: handle weak globals in relocs | Andrew Kelley | |
| 2025-01-15 | wasm linker: don't try to lower nav zcu data before updateNav is called | Andrew Kelley | |
| 2025-01-15 | wasm linker: don't assume nav callees are fully resolved | Andrew Kelley | |
| codegen can be called which contains calls to navs which have only their type resolved. this means the indirect function table needs to track nav indexes not ip indexes. | |||
| 2025-01-15 | wasm linker: distinguish symbol name vs import name, and implement weak | Andrew Kelley | |
| 2025-01-15 | wasm linker: fix not merging object memories | Andrew Kelley | |
| 2025-01-15 | fix merge conflicts with updating line numbers | Andrew Kelley | |
| 2025-01-15 | wasm linker: implement data relocs | Andrew Kelley | |
| 2025-01-15 | wasm linker: implement data symbols | Andrew Kelley | |
| 2025-01-15 | wasm linker: implement __wasm_call_ctors | Andrew Kelley | |
| 2025-01-15 | implement function relocations | Andrew Kelley | |
| not all relocation types are implemented yet | |||
| 2025-01-15 | type checking for synthetic functions | Andrew Kelley | |
| 2025-01-15 | wasm object parsing: fix handling of weak functions and globals | Andrew Kelley | |
| 2025-01-15 | wasm linker: improve error messages by making source locations more lazy | Andrew Kelley | |
| 2025-01-15 | wasm linker: chase relocations for references | Andrew Kelley | |
| 2025-01-15 | fix bad archive name calculation | Andrew Kelley | |
| 2025-01-15 | resolve merge conflicts | Andrew Kelley | |
| with 497592c9b45a94fb7b6028bf45b80f183e395a9b | |||
| 2025-01-15 | wasm linker: fix crashes when parsing compiler_rt | Andrew Kelley | |
| 2025-01-15 | wasm linker: fix relocation parsing | Andrew Kelley | |
| 2025-01-15 | wasm linker: fix missing function type entry for import | Andrew Kelley | |
| 2025-01-15 | wasm linker: implement indirect function calls | Andrew Kelley | |
| 2025-01-15 | wasm linker: implement stack pointer global | Andrew Kelley | |
| 2025-01-15 | wasm linker: fix data section in flush | Andrew Kelley | |
| 2025-01-15 | implement error table and error names data segments | Andrew Kelley | |
| 2025-01-15 | wasm linker: initialize the data segments table in flush | Andrew Kelley | |
| it cannot be done earlier since ids are not stable yet | |||
| 2025-01-15 | wasm linker: also call lowerZcuData in updateFunc | Andrew Kelley | |
| codegen can generate zcu data dependencies that need to be populated | |||
| 2025-01-15 | wasm linker: avoid recursion in lowerZcuData | Andrew Kelley | |
| instead of recursion, callers of the function are responsible for checking the respective tables that might have new entries in them and then calling lowerZcuData again. | |||
| 2025-01-15 | wasm linker: implement data fixups | Andrew Kelley | |
| one hash table lookup per fixup | |||
| 2025-01-15 | wasm linker: fix eliding empty data segments | Andrew Kelley | |
| 2025-01-15 | wasm linker: allow undefined imports when lib name is provided | Andrew Kelley | |
| and expose object_host_name as an option for setting the lib name for object files, since the wasm linking standards don't specify a way to do it. | |||
| 2025-01-15 | wasm linker: handle extern functions in updateNav | Andrew Kelley | |
| 2025-01-15 | wasm linker: fix data segments memory flow | Andrew Kelley | |
| Recognize three distinct phases: * before prelink ("object phase") * after prelink, before flush ("zcu phase") * during flush ("flush phase") With this setup, we create data structures during the object phase, then mutate them during the zcu phase, and then further mutate them during the flush phase. In order to make the flush phase repeatable, the data structures are copied just before starting the flush phase. Further Zcu updates occur against the non-copied data structures. What's not implemented is frontend garbage collection, in which case some more changes will be needed in this linker logic to achieve a valid state with data invariants intact. | |||
| 2025-01-15 | wasm linker: fix calling imported functions | Andrew Kelley | |
| and more disciplined type safety for output function indexes | |||
| 2025-01-15 | add safety for calling functions that get virtual addrs | Andrew Kelley | |
| 2025-01-15 | fix calculation of nav alignment | Andrew Kelley | |
| 2025-01-15 | complete wasm.Emit implementation | Andrew Kelley | |
| 2025-01-15 | wasm linker: implement missing logic | Andrew Kelley | |
| fix some compilation errors for reworked Emit now that it's actually referenced introduce DataSegment.Id for sorting data both from object files and from the Zcu. introduce optimization: data segment sorting includes a descending sort on reference count so that references to data can be smaller integers leading to better LEB encodings. this optimization is skipped for object files. implement uav address access function which is based on only 1 hash table lookup to find out the offset after sorting. | |||
| 2025-01-15 | wasm linker: implement type index method | Andrew Kelley | |
| 2025-01-15 | wasm linker: implement name subsection | Andrew Kelley | |
| unlike the previous implementation, we can simply iterate an array. | |||
| 2025-01-15 | wasm linker fixes | Andrew Kelley | |
| * function resolution now links to zcu_funcs, not navs_exe/navs_obj * updateFunc now adds things to output functions * updateNav now handles function aliases correctly * only report start symbol missing when it is unresolved | |||
| 2025-01-15 | fix compilation when enabling llvm | Andrew Kelley | |
| 2025-01-15 | wasm linker: finish the flush function | Andrew Kelley | |
| This branch is passing type checking now. | |||
| 2025-01-15 | wasm linker: flush export section | Andrew Kelley | |
| 2025-01-15 | wasm linker: flush implemented up to the export section | Andrew Kelley | |
