| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2021-07-18 | zld: move contents of Zld into MachO module | Jakub Konka | |
| 2021-07-18 | zld: migrate symbol mgmt to incremental backend | Jakub Konka | |
| 2021-07-17 | zld: allocate empty TextBlock for synthetic ___dso_handle | Jakub Konka | |
| 2021-07-17 | zld: more fixes todo with symbol resolution | Jakub Konka | |
| namely, fixes proper symbol reolution when scanning and including objects from static archives, and properly discard any null symbols when a tentative definition was substituted by a defined, global symbol. | |||
| 2021-07-17 | zld: fix incorrect global symbol collision check | Jakub Konka | |
| 2021-07-17 | zld: demote logging back to debug from warn | Jakub Konka | |
| 2021-07-17 | zld: fix committing stub info into final binary | Jakub Konka | |
| 2021-07-17 | zld: fixup flush function | Jakub Konka | |
| 2021-07-17 | zld: allocate TextBlocks and symbols | Jakub Konka | |
| 2021-07-17 | zld: correctly set n_sect for sections as symbols | Jakub Konka | |
| 2021-07-17 | zld: simplify and move Relocations into TextBlock | Jakub Konka | |
| It makes sense to have them as a dependent type since they only ever deal with TextBlocks. Simplify Relocations to rely on symbol indices and symbol resolver rather than pointers. | |||
| 2021-07-16 | zld: replace parsed reloc with a simple wrapper around macho.relocation_info | Jakub Konka | |
| 2021-07-16 | zld: draft symbol resolver on macho.nlist_64 only | Jakub Konka | |
| 2021-07-15 | zld: move TextBlock into standalone file | Jakub Konka | |
| which should make managing the logic of parsing and resolving relocs that much simpler to parse. | |||
| 2021-07-15 | zld: thin out Relocation by not storing *TextBlock | Jakub Konka | |
| this way we shave off 8 bytes per Relocation structure, and instead we can pass the *TextBlock as args to resolve function. | |||
| 2021-07-15 | zld: reuse string table for symbol names | Jakub Konka | |
| rather than manage allocs separately per symbol. | |||
| 2021-07-15 | zld: move tracking binding for proxies into TextBlock | Jakub Konka | |
| which is the source of binding rather than its target. That is, we now track by source. | |||
| 2021-07-15 | zld: remove StringTable abstraction | Jakub Konka | |
| 2021-07-15 | zld: add temp basic handling of debugging stabs | Jakub Konka | |
| 2021-07-15 | zld: fix incorrectly worked out section size | Jakub Konka | |
| Also, add a solution to a degenerate case where on x86_64 a relocation refers to a cell in a section via section start address even though a symbol exists. In such case, make the section spawned symbol an alias of the actual symbol. | |||
| 2021-07-15 | zld: add DICE support mainly for x86_64-macos | Jakub Konka | |
| 2021-07-15 | zld: add basic Signed reloc resolution | Jakub Konka | |
| and fix handling Unsigned for x86_64. | |||
| 2021-07-15 | zld: ___dso_handle is regular at 0x100000000 | Jakub Konka | |
| which points at the start of the __TEXT segment. Also, ensure C++ initializers and terminators are rebased. | |||
| 2021-07-15 | zld: correctly estimate TextBlock's alignment with | Jakub Konka | |
| section's alignment serving as the maximum alignment that can be seen in this particular section. However, TextBlocks are still allowed to have at most that alignment. | |||
| 2021-07-15 | zld: populate sections from the top rather than from bottom | Jakub Konka | |
| 2021-07-15 | zld: re-enable logging of TextBlocks | Jakub Konka | |
| 2021-07-15 | zld: fix allocating tentative defs | Jakub Konka | |
| 2021-07-15 | zld: turn logging off | Jakub Konka | |
| 2021-07-15 | zld: fix resolving TLV offset relocations | Jakub Konka | |
| 2021-07-15 | zld: TextBlock needs to be written to an aligend offset too | Jakub Konka | |
| 2021-07-15 | zld: dedup symbols in the symbol table | Jakub Konka | |
| 2021-07-15 | zld: re-enable all of linker after complete rewrite | Jakub Konka | |
| 2021-07-15 | zld: fix alloc alignment and resolve relocs | Jakub Konka | |
| 2021-07-15 | zld: track symbols defined within TextBlock | Jakub Konka | |
| in case TextBlock represents an entire section with symbols defined within. | |||
| 2021-07-15 | zld: allocate TextBlocks | Jakub Konka | |
| temporarily by iterating over all defined TextBlocks. However, once we merge this with MachO incremental, updates will be done at the point of creation and/or update. Also, fix mining TLV knowledge for working out TLV pointers. | |||
| 2021-07-15 | zld: save rebase and TLV offset as part of TextBlock | Jakub Konka | |
| instead of as part of the Symbol. This seems to be more optimal way of handling dyld ops in presence of no splittable input sections in object files. | |||
| 2021-07-15 | zld: keep text blocks per segment,section pair | Jakub Konka | |
| 2021-07-15 | zld: update relocs and start prepping for segment allocs | Jakub Konka | |
| 2021-07-15 | zld: dealloc TextBlock if omitted | Jakub Konka | |
| 2021-07-15 | zld: move should_rebase logic into Symbol | Jakub Konka | |
| 2021-07-15 | zld: simplify relocation parsing | Jakub Konka | |
| 2021-07-15 | zld: parse relocs per generated TextBlock | Jakub Konka | |
| 2021-07-15 | zld: create TextBlocks for tentative definitions | Jakub Konka | |
| and fix the links in the `TextBlock`s linked list! | |||
| 2021-07-15 | zld: refactor section into TextBlocks conversion | Jakub Konka | |
| 2021-07-15 | zld: convert section in linked list of TextBlocks | Jakub Konka | |
| 2021-07-15 | zld: draft up final format of TextBlock | Jakub Konka | |
| 2021-07-15 | zld: put relocs in a TextBlock | Jakub Konka | |
| 2021-07-15 | zld: draft out splitting sections into blocks | Jakub Konka | |
| 2021-07-15 | zld: reenable entire linker in the new scheme | Jakub Konka | |
| without the stabs... They are tricky and need a bit more work. | |||
| 2021-07-15 | zld: allocate symbols using the new scheme | Jakub Konka | |
