Commit Graph
34717 Commits
Author SHA1 Message Date
Jakub Konka 1bd54a55fa fix compile errors in other codegen backends 2024-08-13 21:52:40 +02:00
Andrew Kelley 0b5ea2b902 Merge pull request #21053 from alexrp/mips-tests
`test`: Re-enable `mips(el)-linux(-musl)` tests.
2024-08-13 11:48:33 -07:00
Robin Voetter bcfc7cf13c nvptx: add implementations for GPU builtins 2024-08-13 20:07:23 +02:00
YANG Xudong 76f062690c add getcontext 2024-08-13 10:11:17 -07:00
Jakub Konka 97ab420dcf elf: do not emit zig jump table in relocatables 2024-08-13 13:30:24 +02:00
Jakub Konka 49d78cc793 elf: only apply zig jump table indirection to function calls (PLT32) 2024-08-13 13:30:24 +02:00
Jakub Konka 9daf5e81c4 elf: commit non-indirected symbol address to symtab 2024-08-13 13:30:24 +02:00
Jakub Konka df80ccf760 elf: pretty print alingment when pretty printing atoms 2024-08-13 13:30:24 +02:00
Jakub Konka 39ee346681 elf: make .text.zig bigger now that jump table is part of it 2024-08-13 13:30:24 +02:00
Jakub Konka afaec5c3e4 x86_64: fix generating lazy symbol refs 2024-08-13 13:30:24 +02:00
Jakub Konka edd72c75eb elf: fix circular dep loop in zig jump table 2024-08-13 13:30:24 +02:00
Jakub Konka 57f7209508 elf: replace use of linker_extern_fn with more generic Immediate.reloc 2024-08-13 13:30:24 +02:00
Jakub Konka ce8886d57d elf: make zig jump table indirection implicit via Symbol.address 2024-08-13 13:30:24 +02:00
Jakub Konka d25c93a868 x86_64: emit call rel32 for near calls with linker reloc 2024-08-13 13:30:24 +02:00
Jakub Konka ffcf0478fe x86_64: remove handling of .call since it's unused for now 2024-08-13 13:30:24 +02:00
Jakub Konka 78b1c73602 elf: rename OffsetTable to JumpTable 2024-08-13 13:30:24 +02:00
Jakub Konka e1ce9a7065 elf: add poorman's reporting tool for unallocated NAVs/UAVs 2024-08-13 13:30:24 +02:00
Jakub Konka e3f6ebaea9 x86_64+elf: fix jump table indirection for functions 2024-08-13 13:30:24 +02:00
Jakub Konka 16abf51cee x86_64: handle lea_symbol returned by genNavRef 2024-08-13 13:30:24 +02:00
Jakub Konka f968dd0cb1 comp: actually report codegen errors 2024-08-13 13:30:24 +02:00
Jakub Konka 5fd53dc36f x86_64: start converting away from .got.zig knowledge 2024-08-13 13:30:24 +02:00
Jakub Konka d7c5fbce92 elf: emit a jump table in place of offset table for functions 2024-08-13 13:30:24 +02:00
Jakub Konka d328140858 elf: nuke ZigGotSection from existence 2024-08-13 13:30:24 +02:00
Jakub Konka 4c2b34e8ab elf: relax R_X86_64_32 into jump table indirection if zig_offset_table set 2024-08-13 13:30:24 +02:00
Jakub Konka 7556b32840 elf: indirect via offset table in the linker away from backend 2024-08-13 13:30:24 +02:00
Jakub Konka 97a65ea0d5 elf: dirty offset table entry on moving Atom in off/addr space 2024-08-13 13:30:24 +02:00
Jakub Konka 24b915c9f2 elf: write offset table entry if dirty 2024-08-13 13:30:24 +02:00
Jakub Konka 67e703dc71 elf: allocate new offset table via Atom.allocate mechanism 2024-08-13 13:30:23 +02:00
Jakub Konka 27e1e63671 elf: introduce OffsetTable in ZigObject for funcs only 2024-08-13 13:30:23 +02:00
Alex Rønne Petersen eadc0c01cc test: Re-enable armv8-linux-gnueabihf tests.
Closes #3287.
2024-08-13 00:57:49 -07:00
Alex Rønne Petersen e725d1e226 std.Thread: Fix freeAndExit() syscall numbers for mips64.
These just seem to have been copy/pasted from mips32.
2024-08-13 00:56:35 -07:00
Alex Rønne Petersen d0ae803a77 std.Thread: Fix freeAndExit() assembly for powerpc.
Wrong source/destination register order.
2024-08-13 00:56:14 -07:00
Alex Rønne Petersen b00f586c3d std.os.linux: Add clone() implementation for mips64. (#21038)
Only for n64; no handling for n32 yet.

Also remove pointless comment about o32 in mips64 code.
2024-08-12 16:09:52 -07:00
Alex Rønne Petersen d6f9972594 all: Handle spirv in addition to spirv(32,64) where applicable.
Some of this is arbitrary since spirv (as opposed to spirv32/spirv64) refers to
the version with logical memory layout, i.e. no 'real' pointers. This change at
least matches what clang does.
2024-08-12 16:08:28 -07:00
Alex Rønne Petersen 6d23850108 std.Thread: Explain apparently pointless mips instruction in freeAndExit().
https://git.musl-libc.org/cgit/musl/commit/?id=ce3688eca920aa77549323f84e21f33522397115
2024-08-12 16:07:46 -07:00
Andrew Kelley f988cea825 Merge pull request #21019 from alexrp/target-os-cleanup
`std.Target`: Remove `minix` and `liteos`, rename `glsl450` to `opengl`, and some minor housekeeping
2024-08-12 16:06:57 -07:00
Alex Rønne Petersen 82b0f44721 llvm: Disable lowering to f16 on s390x.
https://github.com/llvm/llvm-project/issues/50374
2024-08-12 16:01:59 -07:00
Alex Rønne Petersen a1a823f69c llvm: Disable lowering to f128 on sparc32.
https://github.com/llvm/llvm-project/blob/efc6b50d2d93fa571572ee3ef1d4565c09ad1610/llvm/lib/Target/Sparc/SparcISelLowering.cpp#L561-L562
2024-08-12 16:01:34 -07:00
Alex Rønne Petersen 87ec4e11c9 compiler-rt: Fix the leoncasa CPU feature check for sparc32. 2024-08-12 14:36:21 -07:00
Alex Rønne Petersen f7fb261efd std.os.linux.tls: Support sparc32. 2024-08-12 14:22:24 -07:00
Alex Rønne Petersen 46f64358dd test: Re-enable mips(el)-linux(-musl) tests.
Closes #13782.
Closes #16846.
2024-08-12 13:34:19 +02:00
Alex Rønne Petersen 19a91084c2 test: Partially disable vector float operators on mips.
https://github.com/ziglang/zig/issues/21051
2024-08-12 13:34:19 +02:00
Alex Rønne Petersen abf6f35654 test: Disable reinterpret packed union on mips.
https://github.com/ziglang/zig/issues/21050
2024-08-12 13:34:19 +02:00
Linus Groh 9ef16b36ce std.os.linux: Fix definition of tc_lflag_t on MIPS
Regressed in #21000.
2024-08-12 00:46:28 -07:00
Alex Rønne Petersen 7a41e2f40b std.zig.target: Add missing thumbeb triples. 2024-08-12 00:44:56 -07:00
Rich Remer 6933ab4bf7 fix C type corresponding to f80 2024-08-12 00:25:16 -07:00
Alex Rønne Petersen 9f1fb45201 llvm: Move some OS selection prongs for clarity.
This makes it clearer which OSs are not known to or supported by LLVM at all vs
the ones where we're intentionally passing choosing "unknown".
2024-08-12 09:03:08 +02:00
Alex Rønne Petersen 8af4d65108 std.Target: Remove liteos OS tag.
It has not seen development in 4 years.

https://github.com/LiteOS/LiteOS/commits/master
2024-08-12 08:59:49 +02:00
Alex Rønne Petersen e211dce6fc std.Target: Remove minix OS tag.
It has not seen development in 6 years. RIP.

* https://github.com/Stichting-MINIX-Research-Foundation/minix/commits/master
* https://groups.google.com/g/minix3/c/nUG1NwxXXkg
2024-08-12 08:59:49 +02:00
Alex Rønne Petersen 4d4a023042 std.Target: Remove no longer relevant TODO about SPIR-V ABIs. 2024-08-12 08:59:49 +02:00