| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2024-02-03 | macho: minor fixes and sanitize input *_zig segment/sections names | Jakub Konka | |
| 2024-02-03 | macho: make atom address relative wrt defining section | Jakub Konka | |
| 2024-02-03 | macho: emit relocs for ZigObject | Jakub Konka | |
| 2024-01-31 | macho: improve error msg when relaxing GOT fails | Jakub Konka | |
| 2024-01-28 | macho: move getAtomData switch into Atom | Jakub Konka | |
| 2024-01-28 | macho: do not allocate input files in full | Jakub Konka | |
| 2024-01-24 | macho: clean up logic for deciding if needs __stub_helper | Jakub Konka | |
| 2024-01-24 | macho: fix 32bit compilation issues | Jakub Konka | |
| 2024-01-24 | macho: resolve relocs pointing at __got_zig | Jakub Konka | |
| 2024-01-24 | macho: re-read atom code from ZigObject when resolving relocs | Jakub Konka | |
| 2024-01-24 | macho: allocate sections and segments that need it | Jakub Konka | |
| 2024-01-24 | macho: fix symbol index dereference in codegen wrt ZigObject | Jakub Konka | |
| This is incredibly confusing and I really need to simplify it. Elf also possesses this shortcoming so once I get Coff up to speed it should hopefully become clear on how to refactor this. | |||
| 2024-01-24 | codegen: re-implement enough of codegen to error out instead panic | Jakub Konka | |
| 2024-01-24 | macho: fill the rest of ZigObject | Jakub Konka | |
| 2024-01-24 | macho: implement more self-hosted primitives | Jakub Konka | |
| 2024-01-24 | macho: add __zig_got section implementation | Jakub Konka | |
| 2024-01-24 | macho: create Atom for Decl in ZigObject | Jakub Konka | |
| 2024-01-24 | macho: split symbol.flags.got into needs_got and has_got | Jakub Konka | |
| 2024-01-24 | macho: introduce ZigObject | Jakub Konka | |
| 2024-01-24 | macho: preserve section name for code sections | 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: write to file | Jakub Konka | |
| 2024-01-24 | macho: sort sections; use Atom.Alignment for alignment; init segments | Jakub Konka | |
| 2024-01-24 | macho: report undefined symbols to the user | Jakub Konka | |
| 2024-01-24 | macho: parse an input object file! | 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-01 | fix a round of compile errors caused by this branch | Andrew Kelley | |
| 2024-01-01 | linker: update target references | Andrew Kelley | |
| 2023-10-31 | std.builtin.Endian: make the tags lower case | Andrew Kelley | |
| Let's take this breaking change opportunity to fix the style of this enum. | |||
| 2023-10-31 | mem: fix ub in writeInt | Jacob Young | |
| Use inline to vastly simplify the exposed API. This allows a comptime-known endian parameter to be propogated, making extra functions for a specific endianness completely unnecessary. | |||
| 2023-10-30 | macho: implement enough of extern handling to pass comptime export tests | 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-08-30 | macho: remove obsolete error.FailedToResolveRelocationTarget | Jakub Konka | |
| 2023-08-29 | macho: merge Zld state with MachO state | Jakub Konka | |
| 2023-08-29 | macho: save indexes to all sections of interest | Jakub Konka | |
| 2023-08-29 | macho: unify creating atoms | Jakub Konka | |
| 2023-08-29 | macho: move initSection into MachO from Zld | Jakub Konka | |
| 2023-08-29 | macho: move getOutputSection into Atom | Jakub Konka | |
| 2023-08-29 | macho: remove dead code | Jakub Konka | |
| 2023-08-29 | macho: use TableSection for stub entries in zld driver | Jakub Konka | |
| Write thunks separately from other atoms - this can still be improved by not using atoms at all, but one thing at a time. | |||
| 2023-08-29 | macho: use TableSection for TLV pointer entries in zld driver | Jakub Konka | |
| 2023-08-29 | macho: use TableSection for GOT entries in zld driver | Jakub Konka | |
| 2023-08-29 | macho: unify Atom concept between drivers | Jakub Konka | |
| 2023-08-29 | macho: unify concept of SymbolWithLoc across drivers | Jakub Konka | |
| 2023-05-11 | fix incorrect use of mutable pointers to temporary values | Veikka Tuominen | |
| 2023-04-21 | macho: do not allocate atoms for stub entries | Jakub Konka | |
| 2023-04-13 | macho: refactor relocation type in incremental linker | Jakub Konka | |
| 2023-04-05 | macho: reapply relocation dirtying logic from coff linker | Jakub Konka | |
