aboutsummaryrefslogtreecommitdiff
path: root/src/link/MachO/UnwindInfo.zig
AgeCommit message (Collapse)Author
2025-11-20update deprecated ArrayListUnmanaged usage (#25958)Benjamin Jurk
2025-09-08fix linker code writing undefined memory to the output fileAndrew Kelley
missing `extern` on a struct. but also all these instances that call pwriteAll with a `@ptrCast` are endianness bugs. this should be changed to use File.Writer and call writeSliceEndian instead. this commit fixes one immediate problem but does not fix everything.
2025-08-31std.fmt: delete deprecated APIsAndrew Kelley
std.fmt.Formatter -> std.fmt.Alt std.fmt.format -> std.Io.Writer.print
2025-08-28link.MachO: update to not use GenericWriterAndrew Kelley
2025-07-07std.fmt: fully remove format string from format methodsAndrew Kelley
Introduces `std.fmt.alt` which is a helper for calling alternate format methods besides one named "format".
2025-07-07MachO: revert unfinished changesAndrew Kelley
2025-07-07MachO: update to new std.io APIsAndrew Kelley
2025-02-25link.MachO.UnwindInfo: reproduce lld's commentAndrew Kelley
it explains why zero is used instead of saturation
2025-02-25link.MachO.UnwindInfo: Handle u24 overflow for CU records pointing to DWARF.Alex Rønne Petersen
Closes #23010.
2024-09-12Replace deprecated default initializations with decl literalsLinus Groh
2024-07-22macho: run more things in parallelJakub Konka
2024-07-18macho: fix compile errorsJakub Konka
2024-07-18macho: migrate UnwindInfoJakub Konka
2024-07-18macho: move unwind info records ownership to ObjectsJakub Konka
2024-02-21MachO: fix `calcLoadCommandsSize` computationJacob Young
Closes #19026
2024-02-03macho: fix remaining references to Atom.valueJakub Konka
2024-01-24macho: fix 32bit compilation issuesJakub Konka
2024-01-24macho: fix invalid generation of FDE recordsJakub Konka
2024-01-24macho: sort sections; use Atom.Alignment for alignment; init segmentsJakub Konka
2024-01-24macho: parse an input object file!Jakub Konka
2024-01-24macho: get the ball rolling!Jakub Konka
2024-01-24macho: copy over new implementation sources from zldJakub Konka
2024-01-01linker: update target referencesAndrew Kelley
2023-11-19compiler: correct unnecessary uses of 'var'mlugg
2023-10-31std.builtin.Endian: make the tags lower caseAndrew Kelley
Let's take this breaking change opportunity to fix the style of this enum.
2023-10-31mem: fix ub in writeIntJacob 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-08-30macho: report basic __eh_frame problems as errorsJakub Konka
2023-08-29macho: merge Zld state with MachO stateJakub Konka
2023-08-29macho: save indexes to all sections of interestJakub Konka
2023-08-29macho: remove dead codeJakub Konka
2023-08-29macho: use TableSection for stub entries in zld driverJakub 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-29macho: use TableSection for GOT entries in zld driverJakub Konka
2023-08-29macho: unify Atom concept between driversJakub Konka
2023-08-29macho: unify concept of SymbolWithLoc across driversJakub Konka
2023-08-02macho: track unwind/dwarf cfi records by symbol rather than atomJakub Konka
This solves the nuance case of compiling hand-crafted assembly files which do not feature `MH_SUBSECTIONS_VIA_SYMBOLS` flag resulting in input `Atom`s encompassing multiple symbols each with unique unwind information.
2023-07-14macho: fix __unwind_info sentinel entry not always being the upper bound ↵Casey Banner
(#16395) macho: record highest address of unwind records before folding --------- Co-authored-by: Jakub Konka <kubkon@jakubkonka.com>
2023-06-25macho: add fixes to __eh_frame parsing emitted by Nix C++ compilerJakub Konka
2023-06-24all: migrate code to new cast builtin syntaxmlugg
Most of this migration was performed automatically with `zig fmt`. There were a few exceptions which I had to manually fix: * `@alignCast` and `@addrSpaceCast` cannot be automatically rewritten * `@truncate`'s fixup is incorrect for vectors * Test cases are not formatted, and their error locations change
2023-06-19all: zig fmt and rename "@XToY" to "@YFromX"Eric Joldasov
Signed-off-by: Eric Joldasov <bratishkaerik@getgoogleoff.me>
2023-05-23std.sort: add pdqsort and heapsortAli Chraghi
2023-04-28update codebase to use `@memset` and `@memcpy`Andrew Kelley
2023-03-22macho+zld: refactor parsing of relocation targetJakub Konka
2023-02-18update std lib and compiler sources to new for loop syntaxAndrew Kelley
2023-02-08macho: fix incorrect representation of encodings count per pageJakub Konka
There can be a maximum of 256 compact encodings per page in compact unwind info, and we were using `u8` to represent the count which is insufficient. This commit bumps it to `u9`.
2023-02-06macho: downgrade alignment requirements for symtab in object filesJakub Konka
Parse and sort relocations by address descending.
2023-01-21zld: fix 32bit buildJakub Konka
2023-01-21macho: synthesise unwind records in absence of compact unwind sectionJakub Konka
Unlike Apple ld, we will not do any DWARF CFI parsing and simply output DWARF type unwind records.
2023-01-20zld: parse, synthesise and emit unwind recordsJakub Konka