Jakub Konka
e1d5bb365b
elf: fix 32bit build
2024-09-04 15:55:38 +02:00
Jakub Konka
516955dbdb
elf: add AtomList.zig to CMakeLists.txt
2024-09-04 13:45:16 +02:00
Jakub Konka
b6caab63cb
elf: actually commit AtomList.zig
2024-09-04 13:44:06 +02:00
Jakub Konka
f3d527c082
elf: migrate thunks to the new mechanism (AtomList)
2024-09-04 13:34:26 +02:00
Jakub Konka
d302a1068e
elf: rename SectionChunk into AtomList and store as part of Section
2024-09-04 13:34:26 +02:00
Jakub Konka
64ad6eff16
elf: create back/forward links for atoms within section chunks
2024-09-04 13:34:26 +02:00
Jakub Konka
6ec8b15918
elf: fix emitting static lib when ZigObject is present
2024-09-04 13:34:26 +02:00
Jakub Konka
8c76a61ef5
test/link/elf: test --gc-sections on Zig input with LLVM too
2024-09-04 13:34:26 +02:00
Jakub Konka
801f038c2c
elf: do not pad placeholders coming from input object files
...
This is currently not entirely accurate since no padding will affect
the last-most atom of ZigObject that should be padded.
2024-09-04 13:34:26 +02:00
Jakub Konka
eeec50d251
elf: misc .eh_frame management fixes
2024-09-04 13:34:26 +02:00
Jakub Konka
fca92fd7c0
elf: copy existing data when allocating other alloc sections in relocatable mode
2024-09-04 13:34:26 +02:00
Jakub Konka
5cdad186fe
elf: do not create .eh_frame section if ZigObject already did so in relocatable mode
2024-09-04 13:34:26 +02:00
Jakub Konka
88e0d49feb
elf: init rela sections in a separate pass for ZigObject
2024-09-04 13:34:26 +02:00
Jakub Konka
2ef3e30e2d
elf: emit relocs for self-hosted generated .eh_frame section
2024-09-04 13:34:26 +02:00
Jakub Konka
5cb51c10de
elf: fix relocatable mode
2024-09-04 13:34:26 +02:00
Jakub Konka
6b53dc9461
elf: actually allocate atoms within each section chunk
2024-09-04 13:34:26 +02:00
Jakub Konka
6a50a0f0ed
elf: update osec index for section chunks in objects
2024-09-04 13:34:26 +02:00
Jakub Konka
f87a7251a3
elf: actually write allocated atoms in object files
2024-09-04 13:34:26 +02:00
Jakub Konka
874ef6308e
elf: do not create .eh_frame section if ZigObject already did so
2024-09-04 13:34:26 +02:00
Jakub Konka
45e46f0fb9
elf: allocate atom chunks using allocateChunk mechanics in objects
2024-09-04 13:34:25 +02:00
Jakub Konka
1ef96f05eb
elf: introduce SectionChunk - a container of atoms per object file
2024-09-04 13:34:25 +02:00
Jakub Konka
6ec5df3898
elf: allocate .tdata and .tbss using allocateAtom mechanics
2024-09-04 13:34:25 +02:00
Jakub Konka
3e100c5dab
dwarf: make Section.off a function
2024-09-04 13:34:25 +02:00
Jakub Konka
da60159d85
elf+dwarf: refer sections via section symbols
2024-09-04 13:34:25 +02:00
Jakub Konka
acb91f4b30
elf: fix emitting correct .rela. sections in -r mode
2024-09-04 13:34:25 +02:00
Jakub Konka
25fa092bb1
elf: fix a typo in setting ZigObject.data_relro_index
2024-09-04 13:34:25 +02:00
Jakub Konka
bc39bddd5f
elf: remove isDebugSection helper
2024-09-04 13:34:25 +02:00
Jakub Konka
ef6ee90ff8
elf: remove now unused number_of_zig_segments
2024-09-04 13:34:25 +02:00
Jakub Konka
2d0f4fc9c0
elf: allocate .text in ZigObject similarly to .eh_frame
2024-09-04 13:34:25 +02:00
Jakub Konka
848535535d
elf: allocate .data.rel.ro and .rodata in ZigObject similarly to .eh_frame
2024-09-04 13:34:25 +02:00
Jakub Konka
0b92404ddf
elf: allocate .data in ZigObject similarly to .eh_frame
2024-09-04 13:34:25 +02:00
Jakub Konka
37a1f0e7f2
elf: allocate .bss in ZigObject similarly to .eh_frame
2024-09-04 13:34:25 +02:00
Jakub Konka
8f1ce3c85b
elf: shuffle some stages to make it clear what needs what
2024-09-04 13:34:25 +02:00
Jakub Konka
d32af9ea2a
elf: move initOutputSection into Elf from Object
2024-09-04 13:34:25 +02:00
Jakub Konka
b44dd599ad
elf: split Atom.allocate into Atom-independent parts
2024-09-04 13:34:25 +02:00
Arwalk
f87dd43c12
stdlib : base64 encode to writer ( #20961 )
2024-09-04 08:10:12 +00:00
Alex Rønne Petersen
e5ee9c1e43
std.elf: Bring the EM enum up to date.
...
Based on:
* `include/elf/common.h` in binutils
* `include/uapi/linux/elf-em.h` in Linux
* https://www.sco.com/developers/gabi/latest/ch4.eheader.html
I opted to use the tag naming of binutils because it seems to be by far the most
complete and authoritative source at this point in time.
2024-09-03 17:44:01 -07:00
Alex Rønne Petersen
290ccb160e
glibc: Avoid building and linking stub libraries that were emptied in 2.34.
...
Closes #20919 .
2024-09-03 17:33:23 -07:00
Michael Dusan
7a4d69983a
AstGen: update @errorCast to maybe eval to err
...
Consequently, `AstGen.ret()` now passes the error code to
`.defer_error_code`. Previously, the error union value was passed.
closes #20371
2024-09-03 22:56:23 +01:00
Andrew Kelley
242d268a06
Merge pull request #21277 from antlilja/llvm-module-flags
...
LLVM: Set module flags through Builder instead of LLVM API bindings
2024-09-02 17:57:27 -07:00
Alex Rønne Petersen
9bcb0e938c
std.crypto.ml_kem: Reduce test iteration counts from 100 to 10. ( #21285 )
...
Closes #21255 .
2024-09-02 23:20:48 +00:00
fdfdjfk3
a670f55195
std.fmt.fmtIntSize*: document when precision is ignored
2024-09-02 14:21:59 +03:00
Jeremy Hertel
13da34955c
std.hash_map: fix error message in getAutoHashFn
2024-09-02 12:09:10 +03:00
Matthew Lugg
6d2945f1fe
Merge pull request #21264 from mlugg/decl-literals
...
compiler: implement decl literals
2024-09-02 00:44:11 +01:00
Jeremy Hertel
227fb4875f
std.math: rename make_f80 to F80.toFloat and break_f80 to F80.fromFloat
2024-09-02 00:10:22 +03:00
mlugg
0b9fccf508
std: deprecate some incorrect default initializations
...
In favour of newly-added decls, which can be used via decl literals.
2024-09-01 17:34:07 +01:00
mlugg
6e3e23a941
compiler: implement decl literals
...
Resolves : #9938
2024-09-01 17:34:07 +01:00
mlugg
9e683f0f35
compiler: provide result type to operand of try
...
This is mainly useful in conjunction with Decl Literals (#9938 ).
Resolves : #19777
2024-09-01 17:34:07 +01:00
David Rubin
fbac7afa0f
riscv: implement errunion_payload_ptr_set
2024-09-01 17:34:06 +01:00
WillLillis
28383d4d98
fix(Sema): patch segfault in finishStructInit
2024-09-01 17:31:00 +03:00