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
Jakub Konka
f4c1b1d9ad
elf: implement --verbose-link, and other fixes
2023-10-16 19:33:04 +02:00
Jakub Konka
4af5caa81f
elf: add missing generators for special dynamic sections
2023-10-16 19:33:04 +02:00
Jakub Konka
5fa90afb64
elf: fix synthetic section handling and actually parse DSOs
2023-10-16 19:33:04 +02:00
Jakub Konka
d1446565a1
elf: re-enable dynamic linking codepaths
2023-10-16 19:33:04 +02:00
Jakub Konka
04a8f217c6
elf: fix COMDAT deduping logic
2023-10-16 19:33:04 +02:00
Jakub Konka
9a80ac0429
elf: add garbage collection of sections
2023-10-16 19:33:04 +02:00
Jakub Konka
2ee221328f
elf: test garbage collection of sections
2023-10-16 19:33:04 +02:00
Jakub Konka
f1b9c365f2
elf: add incomplete handling of build-obj -fllvm -fno-lld
2023-10-16 19:33:04 +02:00
Jakub Konka
976d4f51cc
elf: add hello-world c++ link test
2023-10-16 19:33:04 +02:00
Jakub Konka
621ddc003a
elf: temporarily disable non-llvm linker tests
2023-10-16 19:33:04 +02:00
Jakub Konka
727d9431c8
elf: link hello-world in c++
2023-10-16 19:33:04 +02:00
Jakub Konka
d6cec5a586
elf: add more prepwork for linking c++ objects
2023-10-16 19:33:04 +02:00
Jakub Konka
66f34b15e8
elf: add symbols to .got section directly
2023-10-16 19:33:04 +02:00
Jakub Konka
2c2bc66ce1
elf: handle .eh_frame and non-alloc sections
2023-10-16 19:33:04 +02:00
Jakub Konka
9ccd94d560
elf: refactor object.shdrContents to never error out
2023-10-16 19:33:04 +02:00
Jakub Konka
53340544c6
elf: get hello-world with LLVM in Zig working
2023-10-16 19:33:04 +02:00
Jakub Konka
1b70ad622b
elf: port zld's allocation mechanism
2023-10-16 19:33:04 +02:00
Jakub Konka
860beda55f
elf: remove dirty from synthetic .got section
2023-10-16 19:33:04 +02:00
Jakub Konka
6faed6269f
elf: update section sizes accumulated from objects
2023-10-16 19:33:04 +02:00
Jakub Konka
14cff77d87
elf: create atom lists indexed by section index
2023-10-16 19:33:04 +02:00
Jakub Konka
540ef3e010
elf: sort sections by their rank to combine them by segment flags
...
Currently this ignores ZigModule, however, I believe we can make it
so that this is done excluding sections/segments emitted by ZigModule
and everything should work out just fine.
2023-10-16 19:33:04 +02:00
Jakub Konka
679accd887
elf: initialize output sections from input objects in a separate step
2023-10-16 19:33:04 +02:00
Jakub Konka
509da2316c
elf: run populateMissingMetadata only if ZigModule exists
2023-10-16 19:33:04 +02:00
Jakub Konka
f0f19e18c7
elf: write shdr_table in flush
2023-10-16 19:33:04 +02:00
Jakub Konka
87602092fa
elf: write .got in bulk after scanning objects
2023-10-16 19:33:04 +02:00
Jakub Konka
d565f8bef2
elf: check for null atom in ZigModule
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
605e3eb08c
elf: clean up generating GOT symbol names
2023-10-16 19:33:03 +02:00
Jakub Konka
43406c0696
elf: update .strtab with GOT symbols
2023-10-16 19:33:03 +02:00
Jakub Konka
d06aa21e48
elf: for now always update .shstrtab and .strtab sections
2023-10-16 19:33:03 +02:00
Jakub Konka
ff1423c4ce
elf: reuse addSection in alloc functions
2023-10-16 19:33:03 +02:00
Jakub Konka
c8c50a058e
elf: do not prealloc space for .symtab
2023-10-16 19:33:03 +02:00
Jakub Konka
52f8a1a24c
elf: move initializing string buffers out of populateMissingMetadata
2023-10-16 19:33:03 +02:00
joadnacer
7b9165b375
std.mem: Improve writeIntSlice performance
2023-10-16 08:49:05 -04:00
Veikka Tuominen
14efbf5ed1
Sema: fix missing check for tuple default initializers
...
Closes #17525
2023-10-16 14:00:18 +03:00
Veikka Tuominen
78855bd218
make distinct error limit configurable
...
Closes #786
2023-10-16 04:08:45 -04:00
Jacob Young
fbd90e487b
Build: fix some issues with ConfigHeader step
...
* include path was using bad default for dependency lazy paths
* unhashed config options caused changes to not trigger a rebuild
2023-10-16 03:50:47 -04:00
Andrew Kelley
ca690ffa22
Merge pull request #17448 from squeek502/win32-manifest
...
Add preliminary support for Windows `.manifest` files
2023-10-15 19:47:27 -07:00
Bogdan Romanyuk
ebde525cce
Sema: fix @extern error on function pointer
2023-10-16 01:30:39 +00:00
Robin Voetter
fd6b3db342
Merge pull request #17293 from Snektron/spirv-aaaa
...
spirv: more instructions
2023-10-16 02:04:09 +02:00
Ryan Liptak
b51147889f
Add warning if .xml file is used, since it's likely intended to be a Windows manifest file
...
Example:
> zig build-exe test.zig test.xml
warning: embedded manifest files must have the extension '.manifest'
error: unrecognized file extension of parameter 'test.xml'
2023-10-15 13:33:16 -07:00