22 Commits

Author SHA1 Message Date
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