26432 Commits

Author SHA1 Message Date
Jakub Konka
c71a79f618 elf: make .zig.rodata writeable 2023-10-16 19:33:06 +02:00
Jakub Konka
17635e4f2a x86_64: add -fPIC support targeting ELF 2023-10-16 19:33:06 +02:00
Jakub Konka
b3d98a4b88 elf: emit dynamic base relocs for .zig.got entries when required 2023-10-16 19:33:06 +02:00
Jakub Konka
315cd7623e elf: fix section sorting logic 2023-10-16 19:33:05 +02:00
Jakub Konka
5fad683791 elf: emit (broken) debug sections 2023-10-16 19:33:05 +02:00
Jakub Konka
85d451f96c elf: re-enable self-hosted backends 2023-10-16 19:33:05 +02:00
Jakub Konka
7be983ac92 elf: create new synthetic section ZigGotSection 2023-10-16 19:33:05 +02:00
Jakub Konka
9b6337ab06 elf: exclude Zig special sections from bulk alloc 2023-10-16 19:33:05 +02:00
Jakub Konka
9da6574f7b elf: refactor 2023-10-16 19:33:05 +02:00
Jakub Konka
716a45a209 elf: use findFreeSpace mechanics to allocate object-extracted segments 2023-10-16 19:33:05 +02:00
Jakub Konka
5ff12003ee elf: dynamically allocate SHDR table 2023-10-16 19:33:05 +02:00
Jakub Konka
1939c7d182 elf: clean up logic for allocating TLS segment 2023-10-16 19:33:05 +02:00
Jakub Konka
c87e73b19f elf: allocate non-alloc sections using incremental mechanism 2023-10-16 19:33:05 +02:00
Jakub Konka
2aa6099ad9 elf: assume only one TLS segment for now 2023-10-16 19:33:05 +02:00
Jakub Konka
8be71906d9 elf: split allocating sections/segments into alloc and non-alloc 2023-10-16 19:33:05 +02:00
Jakub Konka
bcce035636 elf: bring back PT_LOAD for PT_PHDR for incremental codepath 2023-10-16 19:33:05 +02:00
Jakub Konka
43397bbdc4 elf: always write SHDR table, at least for now 2023-10-16 19:33:05 +02:00
Jakub Konka
6a7a20520d elf: always write PHDR table, at least for now 2023-10-16 19:33:05 +02:00
Jakub Konka
5148e38751 elf: create and allocate special PHDRs out of the loop 2023-10-16 19:33:05 +02:00
Jakub Konka
59fcf16732 elf: move creation of PT_PHDR out of initPhdrs and initMetadata 2023-10-16 19:33:05 +02:00
Jakub Konka
e571208433 elf: rename Zig-specific section handles to _zig_ infixed 2023-10-16 19:33:05 +02:00
Jakub Konka
871591ca1c elf: fix conflicts after rebase gone bad 2023-10-16 19:33:05 +02:00
Jakub Konka
b3f40c35dc elf: fix testTlsOffsetAlignment test 2023-10-16 19:33:05 +02:00
Jakub Konka
67a02bee2c elf: port more linker tests 2023-10-16 19:33:05 +02:00
Jakub Konka
81b68c7465 elf: port more linker tests 2023-10-16 19:33:05 +02:00
Jakub Konka
0b37a9c78d elf: fix GotSection.write in presence of TLSLD symbol 2023-10-16 19:33:05 +02:00
Jakub Konka
898c87bd2a elf: port more linker tests 2023-10-16 19:33:05 +02:00
Jakub Konka
1fe0fd69e0 elf: port more linker tests 2023-10-16 19:33:05 +02:00
Jakub Konka
9487007ffe elf: port more linker tests 2023-10-16 19:33:05 +02:00
Jakub Konka
1efc0519ce elf: make init/fini sorting deterministic 2023-10-16 19:33:05 +02:00
Jakub Konka
44f3085851 elf: refactor tests and disable currently impossible combinations 2023-10-16 19:33:05 +02:00
Jakub Konka
df656c4eef elf: test exporting symbols in exes 2023-10-16 19:33:05 +02:00
Jakub Konka
f2ad71991a elf: test --export-dynamic flag 2023-10-16 19:33:05 +02:00
Jakub Konka
20980b33e3 elf: test entry point 2023-10-16 19:33:05 +02:00
Jakub Konka
9861a9ea75 elf: test various copyrel edge cases 2023-10-16 19:33:05 +02:00
Jakub Konka
b6006df565 elf: refactor canonical PLT test 2023-10-16 19:33:05 +02:00
Jakub Konka
1772dbb503 elf: fix generating .plt.got indirection 2023-10-16 19:33:05 +02:00
Jakub Konka
06f3b385c4 elf: fix alignment of .eh_frame_hdr section 2023-10-16 19:33:05 +02:00
Jakub Konka
a748ca3725 elf: populate symtab with symbols coming from DSOs 2023-10-16 19:33:05 +02:00
Jakub Konka
c940735c4d elf: port more linker tests 2023-10-16 19:33:05 +02:00
Jakub Konka
149dd82d54 elf: add --as-needed test 2023-10-16 19:33:05 +02:00
Jakub Konka
7ff9461b88 elf: test large alignment of funcs in exe 2023-10-16 19:33:05 +02:00
Jakub Konka
11bdfe1179 elf: test large alignment of funcs in DSO 2023-10-16 19:33:04 +02:00
Jakub Konka
031e12b963 elf: override default dynamic linker path with system\`s dl when appropriate 2023-10-16 19:33:04 +02:00
Jakub Konka
62c6c4a46d elf: more DSO tests 2023-10-16 19:33:04 +02:00
Jakub Konka
2f497f9f05 elf: emit .got.plt when emitting .plt 2023-10-16 19:33:04 +02:00
Jakub Konka
e53fa93170 elf: test basic DSO generation and linking 2023-10-16 19:33:04 +02:00
Jakub Konka
ac03a35e82 elf: test common symbols in archives 2023-10-16 19:33:04 +02:00
Jakub Konka
cf2c8c0789 elf: test common symbols handling 2023-10-16 19:33:04 +02:00
Jakub Konka
def7190e84 elf: hook up common symbols handler 2023-10-16 19:33:04 +02:00