aboutsummaryrefslogtreecommitdiff
path: root/src/link
AgeCommit message (Collapse)Author
2024-09-04elf: allocate .tdata and .tbss using allocateAtom mechanicsJakub Konka
2024-09-04dwarf: make Section.off a functionJakub Konka
2024-09-04elf+dwarf: refer sections via section symbolsJakub Konka
2024-09-04elf: fix emitting correct .rela. sections in -r modeJakub Konka
2024-09-04elf: fix a typo in setting ZigObject.data_relro_indexJakub Konka
2024-09-04elf: remove isDebugSection helperJakub Konka
2024-09-04elf: remove now unused number_of_zig_segmentsJakub Konka
2024-09-04elf: allocate .text in ZigObject similarly to .eh_frameJakub Konka
2024-09-04elf: allocate .data.rel.ro and .rodata in ZigObject similarly to .eh_frameJakub Konka
2024-09-04elf: allocate .data in ZigObject similarly to .eh_frameJakub Konka
2024-09-04elf: allocate .bss in ZigObject similarly to .eh_frameJakub Konka
2024-09-04elf: shuffle some stages to make it clear what needs whatJakub Konka
2024-09-04elf: move initOutputSection into Elf from ObjectJakub Konka
2024-09-04elf: split Atom.allocate into Atom-independent partsJakub Konka
2024-09-03glibc: Avoid building and linking stub libraries that were emptied in 2.34.Alex Rønne Petersen
Closes #20919.
2024-08-30Merge pull request #21174 from alexrp/win-armAndrew Kelley
Change `arm-windows-gnu` to `thumb-windows-gnu`, plus some initial port work
2024-08-30Elf: fix reference from `eh_frame_hdr` to `eh_frame`Jacob Young
2024-08-30dwarf: share and use `std.dwarf.EH_PE` constantsJacob Young
2024-08-30Dwarf: fix zir inst index comparison not checking the fileJacob Young
2024-08-29compiler: avoid field/decl name conflictsmlugg
Most of the required renames here are net wins for readaibility, I'd say. The ones in `arch` are a little more verbose, but I think better. I didn't bother renaming the non-conflicting functions in `arch/arm/bits.zig` and `arch/aarch64/bits.zig`, since these backends are pretty bit-rotted anyway AIUI.
2024-08-28link.Dwarf: skip tests in updateComptimeNavmlugg
These won't live in the parent namespace as decls which causes problems later in this function, and tests are guaranteed not to be referenced at comptime anyway, so there's actually no need to run this logic.
2024-08-28std: update `std.builtin.Type` fields to follow naming conventionsmlugg
The compiler actually doesn't need any functional changes for this: Sema does reification based on the tag indices of `std.builtin.Type` already! So, no zig1.wasm update is necessary. This change is necessary to disallow name clashes between fields and decls on a type, which is a prerequisite of #9938.
2024-08-28link.Coff: Set default image base correctly for thumb.Alex Rønne Petersen
2024-08-27Dwarf: implement .eh_frameJacob Young
2024-08-27Dwarf: fix and test string formatJacob Young
2024-08-26Merge pull request #21212 from ziglang/elf-incrAndrew Kelley
elf: cleanups, cleanups, cleanups
2024-08-26elf: make Atom.allocate and related ZigObject-independentJakub Konka
2024-08-25fix up merge conflicts with masterDavid Rubin
2024-08-25remove `mod` aliases for ZcusDavid Rubin
2024-08-25macho: remove deprecated `Module` usagesDavid Rubin
2024-08-25comp: rename `module` to `zcu`David Rubin
2024-08-25coff: remove deprecated `Module` usagesDavid Rubin
2024-08-25sema: rework type resolution to use Zcu when possibleDavid Rubin
2024-08-25elf: store atom refs for rela sections until we can do betterJakub Konka
2024-08-25elf: fix setting sh_info and sh_link for manually managed rela sectionsJakub Konka
2024-08-25elf: simplify output section symbol trackingJakub Konka
2024-08-25elf: fix shdr-to-phdr linksJakub Konka
2024-08-25elf: streamline sections containerJakub Konka
2024-08-25elf: finally move initMetadata into ZigObject.initJakub Konka
2024-08-23link: Rename InvalidCpuArch error to InvalidMachineType.Alex Rønne Petersen
2024-08-23std.{coff,elf}: Remove the {MachineType,EM}.toTargetCpuArch() functions.Alex Rønne Petersen
These are fundamentally incapable of producing accurate information for reasons I've laid out in #20771. Since our only use of these functions is to check that object files have the correct machine type, and since #21020 made `std.Target.to{Coff,Elf}Machine()` more accurate, just switch these checks over to that and compare the machine type tags instead. Closes #20771.
2024-08-22Elf: all dwarf relocs need to become linker relocsJacob Young
2024-08-22Dwarf: fix big and zero enum valuesJacob Young
2024-08-22Dwarf: add more childless special casesJacob Young
2024-08-22Dwarf: fix treating big int limbs as signedJacob Young
2024-08-22Dwarf: add missing var args info on function declsJacob Young
2024-08-22Dwarf: cleanup emitted debug infoJacob Young
* reduce iteration cost by not tracking unused entries * avoid emitting unused abbrevs to `.debug_abbrev` * get the compiler executable passing `llvm-dwarfdump --verify` * make it possible to skip `.debug_line` padding much more quickly
2024-08-22macho: emit local symbols for thunksJakub Konka
2024-08-21elf: refactor tracking debug section sizesJakub Konka
2024-08-21Dwarf: ensure stale relocations are deletedJacob Young