| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2024-08-21 | elf: fixes after rebase | Jakub Konka | |
| 2024-08-21 | elf: allow for concatenating atoms to merge sections | Jakub Konka | |
| 2024-08-21 | elf: remove obsolete call to Dwarf.resolveRelocs | Jakub Konka | |
| 2024-08-21 | elf: fix emitting cross-section relocs for .debug* sections | Jakub Konka | |
| 2024-08-21 | elf: emit DTPOFF32/DTPOFF64 relocation for .debug* sections | Jakub Konka | |
| 2024-08-21 | elf: parse and emit Elf relocs for cross section refs for .debug* sections | Jakub Konka | |
| 2024-08-21 | elf: emit .rela.debug* sections for relocatable if required | Jakub Konka | |
| 2024-08-21 | elf: start unraveling Dwarf relocs into Elf relocs | Jakub Konka | |
| 2024-08-21 | elf: populate debug atoms on the linker side after Dwarf.flushModule | Jakub Konka | |
| 2024-08-21 | elf: create section symbols and atoms per each ZigObject debug section | Jakub Konka | |
| 2024-08-21 | elf: remove unused code | Jakub Konka | |
| 2024-08-20 | Dwarf: fix issues with inline call sites | Jacob Young | |
| 2024-08-20 | Dwarf: emit info about inline call sites | Jacob Young | |
| 2024-08-20 | Dwarf: delete incorrect logic that also has the possibility of crashing | Jacob Young | |
| 2024-08-19 | replace Compilation.Emit with std.Build.Cache.Path | Robin Voetter | |
| This type is exactly the same as std.Build.Cache.Path, except for one function which is not used anymore. Therefore we can replace it without consequences. | |||
| 2024-08-18 | Zir: add instructions to fetch std.builtin types | mlugg | |
| This replaces the constant `Zir.Inst.Ref` tags (and the analagous tags in `Air.Inst.Ref`, `InternPool.Index`) referring to types in `std.builtin` with a ZIR instruction `extended(builtin_type(...))` which instructs Sema to fetch such a type, effectively as if it were a shorthand for the ZIR for `@import("std").builtin.xyz`. Previously, this was achieved through constant tags in `Ref`. The analagous `InternPool` indices began as `simple_type` values, and were later rewritten to the correct type information. This system was kind of brittle, and more importantly, isn't compatible with incremental compilation of std, since incremental compilation relies on the ability to recreate types at different indices when they change. Replacing the old system with this instruction slightly increases the size of ZIR, but it simplifies logic and allows incremental compilation to work correctly on the standard library. This shouldn't have a significant impact on ZIR size or compiler performance, but I will take measurements in the PR to confirm this. | |||
| 2024-08-17 | compiler: merge conflicts and typos | mlugg | |
| 2024-08-17 | Merge pull request #21111 from jacobly0/self-dwarf | Jacob Young | |
| Dwarf: debug info progress | |||
| 2024-08-17 | Dwarf: fix and test error unions | Jacob Young | |
| 2024-08-17 | Dwarf: fix and test allowzero pointers | Jacob Young | |
| 2024-08-17 | macho: update codegen and linker to distributed jump table approach | Jakub Konka | |
| 2024-08-16 | Coff: fix missing error lazy symbols | Jacob Young | |
| 2024-08-16 | Dwarf: incremental also needs `end_sequence` | Jacob Young | |
| The spec says that addresses can only increase within a sequence, so every decl must be a separate sequence since they are not sorted. | |||
| 2024-08-16 | Dwarf: fix cross-module inline function line info | Jacob Young | |
| 2024-08-16 | Dwarf: rework self-hosted debug info from scratch | Jacob Young | |
| This is in preparation for incremental and actually being able to debug executables built by the x86_64 backend. | |||
| 2024-08-16 | Merge pull request #21065 from ziglang/elf-zig-got | Jakub Konka | |
| elf: replace .got.zig with a zig jump table | |||
| 2024-08-15 | std.Target: Pull toCoffMachine()/toElfMachine() up from Arch to Target. | Alex Rønne Petersen | |
| This enables them to give more correct results. Contributes to #20771. | |||
| 2024-08-15 | std.coff: Remove MachineType.fromTargetCpuArch(). | Alex Rønne Petersen | |
| This does the same thing as std.Target.Cpu.Arch.toCoffMachine(). Just use that. | |||
| 2024-08-15 | elf: fix GOT32 reloc resolution logic | Jakub Konka | |
| 2024-08-15 | riscv: do not emit GOT relocations for special linker symbols | Jakub Konka | |
| 2024-08-15 | elf: introduce Symbol.flags.is_extern_ptr for refs potentially needing GOT | Jakub Konka | |
| 2024-08-15 | elf: check for relocs before deciding on shndx in getNavShdrIndex | Jakub Konka | |
| 2024-08-14 | elf: re-use old atom slot for a trampoline to that atom | Jakub Konka | |
| This is the initial implementation of Jacob Young's idea of re-using old function slots as trampolines for new function's location. This way the trampoline is guaranteed to be aligned to the function's alignment. The only edge case is if an incremental update further overaligns the function in which case we skip/delete the trampoline and re-evaluate all references. | |||
| 2024-08-13 | fix compile errors in other codegen backends | Jakub Konka | |
| 2024-08-13 | elf: do not emit zig jump table in relocatables | Jakub Konka | |
| 2024-08-13 | elf: only apply zig jump table indirection to function calls (PLT32) | Jakub Konka | |
| 2024-08-13 | elf: commit non-indirected symbol address to symtab | Jakub Konka | |
| 2024-08-13 | elf: pretty print alingment when pretty printing atoms | Jakub Konka | |
| 2024-08-13 | elf: make .text.zig bigger now that jump table is part of it | Jakub Konka | |
| 2024-08-13 | elf: fix circular dep loop in zig jump table | Jakub Konka | |
| 2024-08-13 | elf: make zig jump table indirection implicit via Symbol.address | Jakub Konka | |
| 2024-08-13 | x86_64: emit call rel32 for near calls with linker reloc | Jakub Konka | |
| 2024-08-13 | elf: rename OffsetTable to JumpTable | Jakub Konka | |
| 2024-08-13 | elf: add poorman's reporting tool for unallocated NAVs/UAVs | Jakub Konka | |
| 2024-08-13 | x86_64+elf: fix jump table indirection for functions | Jakub Konka | |
| 2024-08-13 | elf: emit a jump table in place of offset table for functions | Jakub Konka | |
| 2024-08-13 | elf: nuke ZigGotSection from existence | Jakub Konka | |
| 2024-08-13 | elf: relax R_X86_64_32 into jump table indirection if zig_offset_table set | Jakub Konka | |
| 2024-08-13 | elf: indirect via offset table in the linker away from backend | Jakub Konka | |
| 2024-08-13 | elf: dirty offset table entry on moving Atom in off/addr space | Jakub Konka | |
