| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2024-01-01 | fix remaining compile errors except one | Andrew Kelley | |
| 2024-01-01 | linker: fix some allocator references | Andrew Kelley | |
| 2024-01-01 | compiler: miscellaneous branch progress | Andrew Kelley | |
| implement builtin.zig file population for all modules rather than assuming there is only one global builtin.zig module. move some fields from link.File to Compilation move some fields from Module to Compilation compute debug_format in global Compilation config resolution wire up C compilation to the concept of owner modules make whole cache mode call link.File.createEmpty() instead of link.File.open() | |||
| 2024-01-01 | linkers: update references to "options" field | Andrew Kelley | |
| 2024-01-01 | linker: update target references | Andrew Kelley | |
| 2023-12-05 | elf: exit early with an error when parsing or init failed | Jakub Konka | |
| 2023-12-05 | elf: upcast e_shnum to u64 to check for valid ranges | Jakub Konka | |
| 2023-12-05 | elf: re-instate basic error reporting for LD script parser | Jakub Konka | |
| 2023-12-05 | elf: do not write ELF header if there were errors | Jakub Konka | |
| 2023-12-05 | elf: report error at the point where it is happening | Jakub Konka | |
| 2023-11-15 | elf: we were writing too many symbols in the symtab | Jakub Konka | |
| 2023-11-09 | elf: add SHF_INFO_LINK flag to any emitted SHT_RELA section | Jakub Konka | |
| 2023-11-09 | elf: init output COMDAT group sections | Jakub Konka | |
| 2023-11-09 | elf: correctly format output .eh_frame when emitting relocatable | Jakub Konka | |
| 2023-11-08 | elf: claim unresolved dangling symbols as undef externs in -r mode | Jakub Konka | |
| 2023-11-08 | elf: reference .rela sections via output section index | Jakub Konka | |
| 2023-11-07 | elf: actually track output symtab index of symbols | Jakub Konka | |
| 2023-11-07 | elf: create link between .rela and output section | Jakub Konka | |
| 2023-11-07 | elf: update .rela section sizes | Jakub Konka | |
| 2023-11-07 | elf: generate section symbols when writing symtab | Jakub Konka | |
| 2023-11-07 | elf: create skeleton of required changes for supporting -r mode | Jakub Konka | |
| 2023-11-05 | elf: hook up saving object files in an archive | Jakub Konka | |
| 2023-11-05 | elf: add hooks for archiving Objects | Jakub Konka | |
| 2023-11-05 | elf: init objects after parsing them | Jakub Konka | |
| 2023-11-04 | elf: redo strings management in the linker | Jakub Konka | |
| * atom names - are stored locally and pulled from defining object's strtab * local symbols - same * global symbols - in principle, we could store them locally, but for better debugging experience - when things go wrong - we store the offsets in a global strtab used by the symbol resolver | |||
| 2023-10-24 | elf: improve parsing of ld scripts and actually test linking against them | Jakub Konka | |
| 2023-10-18 | elf: parse GNU ld script as system lib indirection | Jakub Konka | |
| 2023-10-16 | elf: fix 32bit build | Jakub Konka | |
| 2023-10-16 | codegen+elf: check if extern is a variable ref | Jakub Konka | |
| 2023-10-16 | elf: make init/fini sorting deterministic | Jakub Konka | |
| 2023-10-16 | elf: hook up common symbols handler | Jakub Konka | |
| 2023-10-16 | elf: fix synthetic section handling and actually parse DSOs | Jakub Konka | |
| 2023-10-16 | elf: fix COMDAT deduping logic | Jakub Konka | |
| 2023-10-16 | elf: add more prepwork for linking c++ objects | Jakub Konka | |
| 2023-10-16 | elf: handle .eh_frame and non-alloc sections | Jakub Konka | |
| 2023-10-16 | elf: refactor object.shdrContents to never error out | Jakub Konka | |
| 2023-10-16 | elf: get hello-world with LLVM in Zig working | Jakub Konka | |
| 2023-10-16 | elf: port zld's allocation mechanism | Jakub Konka | |
| 2023-10-16 | elf: update section sizes accumulated from objects | Jakub Konka | |
| 2023-10-16 | elf: initialize output sections from input objects in a separate step | Jakub Konka | |
| 2023-09-28 | elf: move logic for extracing atom's code into input files | Jakub Konka | |
| 2023-09-28 | elf: report fatal linker error for unhandled relocation types | Jakub Konka | |
| 2023-09-27 | elf: allow expanding segments in virtual memory | Jakub Konka | |
| 2023-09-26 | elf: dynamically allocate remaining alloc sections (and segments) | Jakub Konka | |
| 2023-09-23 | elf: improve decl-to-section mapping logic | Jakub Konka | |
| 2023-09-21 | compiler: move struct types into InternPool proper | Andrew Kelley | |
| Structs were previously using `SegmentedList` to be given indexes, but were not actually backed by the InternPool arrays. After this, the only remaining uses of `SegmentedList` in the compiler are `Module.Decl` and `Module.Namespace`. Once those last two are migrated to become backed by InternPool arrays as well, we can introduce state serialization via writing these arrays to disk all at once. Unfortunately there are a lot of source code locations that touch the struct type API, so this commit is still work-in-progress. Once I get it compiling and passing the test suite, I can provide some interesting data points such as how it affected the InternPool memory size and performance comparison against master branch. I also couldn't resist migrating over a bunch of alignment API over to use the log2 Alignment type rather than a mismash of u32 and u64 byte units with 0 meaning something implicitly different and special at every location. Turns out you can do all the math you need directly on the log2 representation of alignments. | |||
| 2023-09-13 | elf: parse archives | Jakub Konka | |
| 2023-09-13 | elf: add u64 to usize casts where required | Jakub Konka | |
| 2023-09-12 | elf: clean up and unify symbol ref handling in relocs | Jakub Konka | |
| Also, this lets us re-enable proper undefined symbols tracking. | |||
| 2023-09-12 | elf: resolve and write objects to file | Jakub Konka | |
