Jakub Konka
acd700ac6b
elf: store ar state per input object file
2023-11-04 09:13:18 +01:00
Jakub Konka
eddf9cc65b
elf: collect exports from ZigObject into AR symtab
2023-11-04 09:11:58 +01:00
Jakub Konka
dbe13200f1
elf: emit STT_SECTION symbols
2023-11-04 09:10:30 +01:00
Jakub Konka
3606b5df3f
elf: improve Symbol to handle emitting relocatable object files
2023-11-04 09:09:57 +01:00
Jakub Konka
b8c8565e93
elf: implement --gc-sections for non-LLVM Zig source
2023-11-04 09:08:27 +01:00
Jakub Konka
25c53f08a6
elf: redo strings management in the linker
...
* atom names - are stored locally and pulled from defining object's
strtab
* local symbols - same
* global symbols - in principle, we could store them locally, but
for better debugging experience - when things go wrong - we
store the offsets in a global strtab used by the symbol resolver
2023-11-04 09:08:16 +01:00
Jakub Konka
b2e847a41a
elf: rename ZigModule to ZigObject
2023-10-30 19:09:13 +01:00
Jakub Konka
d1446565a1
elf: re-enable dynamic linking codepaths
2023-10-16 19:33:04 +02:00
Jakub Konka
75f4420c2d
elf: increase Atom.Index resolution to u32
2023-10-16 19:33:04 +02:00
Jakub Konka
1200a5a240
elf: allow expanding segments in virtual memory
2023-09-27 09:59:59 +02:00
Jakub Konka
ab8a5bfe83
elf: implement markLive for ZigModule
2023-09-23 17:17:20 +02:00
Jakub Konka
d37cb60621
elf: re-enable linking compiler_rt
2023-09-13 21:51:43 +02:00
Jakub Konka
dbde746f9d
elf: parse archives
2023-09-13 21:51:43 +02:00
Jakub Konka
1a6d12ea92
elf: clean up and unify symbol ref handling in relocs
...
Also, this lets us re-enable proper undefined symbols tracking.
2023-09-12 23:27:14 +02:00
Jakub Konka
c654f3b0ee
elf: claim unresolved dangling symbols that can be claimed
2023-09-12 15:44:16 +02:00
Jakub Konka
962b46148d
elf: add simplistic symbol resolution
2023-09-12 14:36:55 +02:00
Jakub Konka
53c3757c00
elf: start fixing symbol resolution
2023-09-12 14:02:15 +02:00
Jakub Konka
67d458370d
elf: add prelim impl of Object parsing
2023-09-11 22:49:42 +02:00
Jakub Konka
a455b5692a
elf: create required linker-defined symbols
2023-09-10 08:41:13 +02:00
Jakub Konka
93120a81fe
elf: lift-off - get it to compile and run until the error!
2023-09-06 14:42:32 +02:00
Jakub Konka
a9df098cd2
elf: make everything upside down - track by Symbol.Index rather than Atom.Index
2023-09-06 13:14:00 +02:00
Jakub Konka
d9fffd431a
elf: start porting abstraction of input file
2023-09-05 15:55:00 +02:00