| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2024-01-24 | macho: move all unimplemented function stubs into ZigObject | Jakub Konka | |
| 2024-01-24 | macho: introduce ZigObject | Jakub Konka | |
| 2024-01-24 | test/link/macho: test force-loading objects containing ObjC from archives | Jakub Konka | |
| 2024-01-24 | macho: remove all rpath parsing from the linker | Jakub Konka | |
| 2024-01-24 | macho: print all definitions of symbols when printing duplicates | Jakub Konka | |
| 2024-01-24 | macho: fix invalid generation of FDE records | Jakub Konka | |
| 2024-01-24 | macho: preserve section name for code sections | Jakub Konka | |
| 2024-01-24 | macho: parse dependent dylibs | Jakub Konka | |
| 2024-01-24 | macho: fix dead stripping logic to exclude debug sections | Jakub Konka | |
| 2024-01-24 | macho: re-instate build-obj codepath | Jakub Konka | |
| 2024-01-24 | macho: report duplicate symbols | Jakub Konka | |
| 2024-01-24 | macho: write to file | Jakub Konka | |
| 2024-01-24 | macho: allocate sections, segments and atoms | Jakub Konka | |
| 2024-01-24 | macho: sort sections; use Atom.Alignment for alignment; init segments | Jakub Konka | |
| 2024-01-24 | macho: init output and synthetic sections | Jakub Konka | |
| 2024-01-24 | macho: report undefined symbols to the user | Jakub Konka | |
| 2024-01-24 | macho: set dylib ordinals after pruning | Jakub Konka | |
| 2024-01-24 | macho: dead strip dylibs | Jakub Konka | |
| 2024-01-24 | macho: mark imports and exports | Jakub Konka | |
| 2024-01-24 | macho: handle dead stripping of atoms | Jakub Konka | |
| 2024-01-24 | macho: claim unresolved symbols | Jakub Konka | |
| 2024-01-24 | macho: convert tentative defs and create objc sections | Jakub Konka | |
| 2024-01-24 | macho: resolve synthetic symbols | Jakub Konka | |
| 2024-01-24 | macho: resolve symbols and mark files live | Jakub Konka | |
| 2024-01-24 | macho: init InternalObject and add forced undefined globals | Jakub Konka | |
| 2024-01-24 | macho: prep for dylib deps (no resolution yet) | Jakub Konka | |
| 2024-01-24 | macho: parse tbds | Jakub Konka | |
| 2024-01-24 | macho: parse dylibs | Jakub Konka | |
| 2024-01-24 | macho: parse archives | Jakub Konka | |
| 2024-01-24 | macho: create scaffolding for parsing different input objects | Jakub Konka | |
| 2024-01-24 | macho: parse an input object file! | Jakub Konka | |
| 2024-01-24 | macho: re-enable --verbose-link | Jakub Konka | |
| 2024-01-24 | macho: get the ball rolling! | Jakub Konka | |
| 2024-01-24 | macho: copy over new implementation sources from zld | Jakub Konka | |
| 2024-01-22 | std.io: replace readStructBig with readStructEndian | Tristan Ross | |
| 2024-01-20 | mingw: update build logic | Elaine Gibson | |
| 2024-01-15 | Merge pull request #18560 from ziglang/elf-report-dupes | Jakub Konka | |
| elf: report duplicate symbol definitions | |||
| 2024-01-15 | Merge pull request #17917 from Jan200101/PR/each_lib_rpath_frontend | Jakub Konka | |
| move rpath to frontend and remove native paths from it | |||
| 2024-01-15 | add `SHT_NOBITS` check | David Rubin | |
| 2024-01-14 | compiler: move each_lib_rpath to frontend | Jan200101 | |
| Co-authored-by: Andrew Kelley <andrew@ziglang.org> | |||
| 2024-01-14 | elf: check for and report duplicate symbol definitions | Jakub Konka | |
| 2024-01-13 | Linux: Add fchmodat fallback when `flags` is nonzero | Stephen Gregoratto | |
| The check for determining whether to use the fallback code has been moved into an inline function as per Andrew's comments in #17954. | |||
| 2024-01-12 | wasm-linker: fix debug info relocation | Luuk de Gram | |
| This corrects calculating the offsets to the code section as we now correctly allocate the code atoms during write taking the 'size' into account. We also handle dead symbols which are garbage-collected by writing -2 and -1 to skip ranges, loc and other sections respectively. | |||
| 2024-01-12 | wasm-linker: delay code atom allocation till write | Luuk de Gram | |
| We delay atom allocation for the code section until we write the actual atoms. We do this to ensure the offset of the atom also includes the 'size' field which is leb128-encoded and therefore variable. We need this correct offset to ensure debug info works correctly. The ordering of the code section is now automatic due to iterating the function section and then finding the corresponding atom to each function. This also ensures each function corresponds to the right atom, and they do not go out-of-sync. Lastly, we removed the `next` field as it is no longer required and also removed manually setting the offset in synthetic functions. This means atoms use less memory and synthetic functions are less prone. They will also be placed in order of function order correctly. | |||
| 2024-01-12 | wasm-linker: ensure custom sections are parsed | Luuk de Gram | |
| Not all custom sections are represented by a symbol, which means the section will not be parsed by the lazy parsing and therefore get garbage- collected. This is problematic as it may contain debug information that should not be garbage-collected. To resolve this, we manually create local symbols for those sections and also ensure they do not get garbage- collected. | |||
| 2024-01-09 | Add support for `--(no-)undefined-version` | dhash | |
| Co-authored-by: Motiejus Jakštys <motiejus@jakstys.lt> Co-authored-by: Jakub Konka <kubkon@jakubkonka.com> Co-authored-by: Samuel Cantero <scanterog@gmail.com> Co-authored-by: Giorgos Georgiou <giorgos.georgiou@datadoghq.com> Co-authored-by: Carl Åstholm <carl@astholm.se> | |||
| 2024-01-08 | stage2 AArch64: get empty file compiling again | joachimschmidt557 | |
| 2024-01-08 | mingw: update from msvcrt to ucrt | Andrew Kelley | |
| 2024-01-08 | Use a fixed chunk size when calculating MachO UUID | Jeremy Volkman | |
| 2024-01-01 | link: accept the update arena in flush | Andrew Kelley | |
| This branch introduced an arena allocator for temporary allocations in Compilation.update. Almost every implementation of flush() inside the linker code was already creating a local arena that had the lifetime of the function call. This commit passes the update arena so that all those local ones can be deleted, resulting in slightly more efficient memory usage with every compilation update. While at it, this commit also removes the Compilation parameter from the linker flush function API since a reference to the Compilation is now already stored in `link.File`. | |||
