Jakub Konka
fc7dd3e285
elf: enable adding support for additional cpu archs
2024-02-16 21:54:43 +01:00
Jakub Konka
216a5594f6
elf: use u32 for all section indexes
2024-02-13 20:33:08 +01:00
Jakub Konka
e401930fa8
elf: store relative offsets in atom and symbol
2024-02-13 20:33:01 +01:00
Jakub Konka
a94d5895cf
elf: do not prealloc input objects, pread selectively
2024-02-12 23:07:51 +01:00
Jacob Young
b3aed4e2c8
link: report function failures in FuncAnalysis
...
This unblocks backend errors after #18814 .
2024-02-07 07:12:32 +00:00
Andrew Kelley
78f15bc714
compiler: rename value.zig to Value.zig
...
This commit only does the file rename to be friendlier to version
control conflicts.
2024-02-05 18:13:07 -07:00
Jakub Konka
7a96907b92
elf: check for and report duplicate symbol definitions
2024-01-14 20:39:00 +01:00
Andrew Kelley
b1fc3fe1c4
Elf: fix invalid free of path field
...
It's now arena-allocated so no need to free it with gpa
2024-01-01 17:51:20 -07:00
Andrew Kelley
2047a6b82d
fix remaining compile errors except one
2024-01-01 17:51:20 -07:00
Andrew Kelley
b54ad93175
update codegen.llvm references to bin_file.options
2024-01-01 17:51:19 -07:00
Andrew Kelley
f54471b54c
compiler: miscellaneous branch progress
...
implement builtin.zig file population for all modules rather than
assuming there is only one global builtin.zig module.
move some fields from link.File to Compilation
move some fields from Module to Compilation
compute debug_format in global Compilation config resolution
wire up C compilation to the concept of owner modules
make whole cache mode call link.File.createEmpty() instead of
link.File.open()
2024-01-01 17:51:19 -07:00
Andrew Kelley
0789e91eeb
linkers: update references to "options" field
2024-01-01 17:51:19 -07:00
Andrew Kelley
2bef0715c7
move a large chunk of linker logic away from "options"
...
These options are only supposed to be provided to the initialization
functions, resolved, and then computed values stored in the appropriate
place (base struct or the object-format-specific structs).
Many more to go...
2024-01-01 17:51:18 -07:00
Jakub Konka
d05db52616
elf: copy out committed ZigObject to a buffer when creating static lib
2023-12-05 17:29:26 +01:00
Meghan Denny
2549de80b2
move Module.Decl.Index and Module.Namespace.Index to InternPool
2023-11-26 02:24:40 -05:00
Techatrix
18608223ef
convert toType and toValue to Type.fromInterned and Value.fromInterned
2023-11-25 04:09:53 -05:00
Jakub Konka
6f3bbd5eaa
elf: we were writing too many symbols in the symtab
2023-11-15 19:00:13 +01:00
Jakub Konka
4adb8f786f
elf: do not pointlessly store zerofill data for TLVs
2023-11-14 16:51:25 +01:00
Jakub Konka
575c29e5c4
elf: set symbol flags such as needs_zig_got in ZigObject
2023-11-12 18:12:41 -05:00
Jakub Konka
51efee2cb6
elf: fix allocating local TLS symbols
2023-11-12 18:12:41 -05:00
Jakub Konka
1afc6917f5
x86_64: get something going for the local exec model
2023-11-12 18:12:41 -05:00
Jakub Konka
b48baeeebb
elf: fix typo in initial section offsets
2023-11-12 18:12:41 -05:00
Jakub Konka
aa0fbbcb39
elf: check for empty relocs buffers in ZigObject before emitting section
2023-11-12 18:12:40 -05:00
Jakub Konka
f34247c4bc
elf: lower TLS data into appropriate TLS section
2023-11-12 18:12:40 -05:00
Jakub Konka
0de5dd2ef1
elf: misc fixes
2023-11-09 10:32:39 +01:00
Jakub Konka
a16e6706b3
elf: LLVM emits relocs to undef local symbols - color me surprised!
2023-11-08 15:10:28 +01:00
Jakub Konka
ae08f9bfe9
elf: claim unresolved dangling symbols as undef externs in -r mode
2023-11-08 11:51:11 +01:00
Jakub Konka
e87c751558
elf: reference .rela sections via output section index
2023-11-08 10:57:34 +01:00
Jakub Konka
5e78600f0f
elf: actually track output symtab index of symbols
2023-11-07 23:18:41 +01:00
Jakub Konka
c7ed7c4690
elf: generate section symbols when writing symtab
2023-11-07 13:31:31 +01:00
Jakub Konka
3df53d1722
elf: create skeleton of required changes for supporting -r mode
2023-11-07 11:19:55 +01:00
Jakub Konka
8142925c7e
elf: hook up saving object files in an archive
2023-11-05 13:37:13 +01:00
Jakub Konka
9cf3ebe524
elf: fix more int resolution issues
2023-11-04 09:13:50 +01:00
Jakub Konka
56296694d9
elf: fix 32bit build
2023-11-04 09:13:43 +01:00
Jakub Konka
e3b82eaa66
elf: do not store filename in strtab unless longer than 15 chars
2023-11-04 09:13:26 +01:00
Jakub Konka
acd700ac6b
elf: store ar state per input object file
2023-11-04 09:13:18 +01:00
Jakub Konka
3b9455f005
elf: generate pretty rudimentary archive
2023-11-04 09:12:07 +01:00
Jakub Konka
eddf9cc65b
elf: collect exports from ZigObject into AR symtab
2023-11-04 09:11:58 +01:00
Jakub Konka
481ee1b598
elf: enable static-lib flush path
2023-11-04 09:11:47 +01:00
Jakub Konka
ccb2afacc0
elf: postpone creation of .got.zig entry until code emit
2023-11-04 09:11:29 +01:00
Jakub Konka
5affd29b47
elf: use StringTable for strtab management in ZigObject
2023-11-04 09:11:22 +01:00
Jakub Konka
96f221236d
elf: fix r_offset when emitting relocs for the linker
2023-11-04 09:11:14 +01:00
Jakub Konka
7c5c59191e
elf: claim unresolved dangling symbols as undef externs when emitting object
2023-11-04 09:10:43 +01:00
Jakub Konka
dbe13200f1
elf: emit STT_SECTION symbols
2023-11-04 09:10:30 +01:00
Jakub Konka
8055f68765
elf: make sure we never emit .got.zig relocs when linking object files
2023-11-04 09:10:23 +01:00
Jakub Konka
5698be3ef0
elf: write out contents of .rela sections
2023-11-04 09:10:06 +01:00
Jakub Konka
3606b5df3f
elf: improve Symbol to handle emitting relocatable object files
2023-11-04 09:09:57 +01:00
Jakub Konka
ec2671d16b
elf: update .rela section sizes; skip .got.zig when emitting object
2023-11-04 09:09:46 +01:00
Jakub Konka
0ee2ab413f
elf: emit valid section headers table when building an object file
2023-11-04 09:09:26 +01:00
Jakub Konka
abf6c20cb9
elf: rename .rodata to .data.rel.ro and remove allocateAllocSection helper
2023-11-04 09:09:01 +01:00