Alex Rønne Petersen
eb4539a27d
std.Target: Rename glsl450 Arch tag to opengl.
...
Versions can simply use the normal version range mechanism, or alternatively an
Abi tag if that makes more sense. For now, we only care about 4.5 anyway.
2024-08-12 08:59:47 +02:00
Alex Rønne Petersen
15a3ee1979
std.Target: Remove supportsNewStackCall().
...
This is literally just isWasm() and has no uses in the repository.
2024-08-12 08:57:10 +02:00
Alex Rønne Petersen
0bb9db3998
std.Target: Add comments explaining the baseline CPUs for hexagon/s390x.
2024-08-12 08:57:10 +02:00
Alex Rønne Petersen
7f7008b5b2
std.Target: Sort Os tags in a hopefully more sensible way.
2024-08-12 08:57:10 +02:00
Alex Rønne Petersen
60bf1a6543
std.Target: Sort Arch tags in a hopefully more sensible way.
2024-08-12 08:57:10 +02:00
Alex Rønne Petersen
25096ed893
std.Target: Some corrections and additions to stackAlignment().
...
Sourced from LLVM and GCC backends and ABI documents.
2024-08-11 20:28:29 -07:00
Andrew Kelley
61dac74128
Merge pull request #20985 from alexrp/gpu-nonsense
...
Follow-up on `std.Target` GPU changes in #20960
2024-08-11 20:23:28 -07:00
Alex Rønne Petersen
6316fd9535
std.Target: Add goff and xcoff to ObjectFormat.
...
Also improve the docs a bit, and handle driverkit and dxil in default().
2024-08-11 20:21:28 -07:00
Linus Groh
4ef956ef14
std.Target: Rename c_type_* functions to camel case
...
From https://ziglang.org/documentation/master/#Names :
> If `x` is otherwise callable, then `x` should be `camelCase`.
2024-08-12 00:36:51 +01:00
Linus Groh
fd434fcd38
std.Target: Rename feature_set_fns to FeatureSetFns
...
From https://ziglang.org/documentation/master/#Names :
> If `x` is callable, and `x`'s return type is `type`, then `x` should
> be `TitleCase`.
2024-08-12 00:34:59 +01:00
Alex Rønne Petersen
8f917870a6
std.Target: Bump maximum supported versions of all Apple OSs.
...
https://support.apple.com/en-us/HT201222
2024-08-10 20:24:22 +02:00
Alex Rønne Petersen
b99777940e
std.Target: Bump maximum supported OpenBSD version to 7.5.
2024-08-10 20:24:21 +02:00
Alex Rønne Petersen
d7e19f7f8e
std.Target: Bump minimum supported OpenBSD version to 7.3.
...
Per 0.13.0 release notes: https://ziglang.org/download/0.13.0/release-notes.html#Tier-2-Support
2024-08-10 20:24:20 +02:00
Alex Rønne Petersen
8088027e72
std.Target: Bump minimum supported Windows version to win10.
...
Per 0.13.0 release notes: https://ziglang.org/download/0.13.0/release-notes.html
2024-08-10 20:24:19 +02:00
Alex Rønne Petersen
fa51e84a87
std.Target: Use Solaris version instead of SunOS version for solaris OS tag.
...
The latter is not a very useful number: https://en.wikipedia.org/wiki/Oracle_Solaris#Version_history
2024-08-10 20:24:18 +02:00
Alex Rønne Petersen
10949a6914
std.Target: Update default max Linux version to 6.10.3.
2024-08-09 00:34:54 +02:00
Alex Rønne Petersen
bf47cb4379
std.Target: Fix C type alignment calculation for spirv.
2024-08-08 02:41:17 +02:00
Alex Rønne Petersen
1b6b8813cf
Revert "std.Target: Fix ptrBitWidth_cpu_abi() for dxil (64-bit, not 32-bit)."
...
This reverts commit ab154be7f0 .
2024-08-08 02:03:17 +02:00
Alex Rønne Petersen
d415efd68f
Revert "std.Target: Fix C type alignment calculation for dxil."
...
This reverts commit e67388c2e5 .
2024-08-08 02:02:50 +02:00
Alex Rønne Petersen
ecf2069e30
Revert "std.Target: Fix C long long size for opencl (8, not 16)."
...
This reverts commit 606d011acf .
2024-08-08 02:02:33 +02:00
Alex Rønne Petersen
93e983489b
Revert "std.Target: Fix C long double size for opencl (8, not 16)."
...
This reverts commit a1d3e56763 .
2024-08-08 02:02:22 +02:00
Alex Rønne Petersen
1e1cd1f02c
Revert "std.Target: Fix C long double size for amdhsa, amdpal, and mesa3d (8, not 16)."
...
This reverts commit eef499812c .
2024-08-08 02:02:11 +02:00
Andrew Kelley
cd5f673cae
Merge pull request #20909 from alexrp/glibc-riscv
...
Support building glibc for riscv32/riscv64
2024-08-07 01:14:54 -07:00
Andrew Kelley
b071b10ce8
Merge pull request #20894 from alexrp/target-cleanup-4
...
`std.Target`: Minor rework to some `isArch()` functions, fix some related issues throughout `std`
2024-08-07 01:08:44 -07:00
Alex Rønne Petersen
00097c3bb8
std.Target: Some corrections and additions to charSignedness().
...
Sourced from GCC backends and some manual testing with clang.
2024-08-07 00:56:02 -07:00
Alex Rønne Petersen
ef502daafe
std.Target: Handle mesa3d in c_type_bit_size().
2024-08-06 20:17:03 +02:00
Alex Rønne Petersen
23b5a6c71e
std.Target: Treat spirv as identical to spirv64 for ABI size/alignment purposes.
...
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-06 20:17:03 +02:00
Alex Rønne Petersen
231f322a65
std.Target: Fix C long double size for ve (16, not 8).
2024-08-06 20:17:03 +02:00
Alex Rønne Petersen
7b47ebe576
std.Target: Fix C long double size for sparc32 (8, not 16).
2024-08-06 20:17:03 +02:00
Alex Rønne Petersen
eef499812c
std.Target: Fix C long double size for amdhsa, amdpal, and mesa3d (8, not 16).
2024-08-06 20:17:03 +02:00
Alex Rønne Petersen
a1d3e56763
std.Target: Fix C long double size for opencl (8, not 16).
...
This value was correct for the old SPIR, but not for SPIR-V.
2024-08-06 20:17:03 +02:00
Alex Rønne Petersen
606d011acf
std.Target: Fix C long long size for opencl (8, not 16).
...
This value was correct for the old SPIR, but not for SPIR-V.
2024-08-06 20:17:03 +02:00
Alex Rønne Petersen
5dd66cd964
std.Target: Fix C type alignment calculation for ve.
2024-08-06 20:17:03 +02:00
Alex Rønne Petersen
e678862520
std.Target: Fix C type alignment calculation for sparc64.
2024-08-06 20:17:03 +02:00
Alex Rønne Petersen
98153c8d81
std.Target: Fix C type alignment calculation for loongarch64.
2024-08-06 20:17:03 +02:00
Alex Rønne Petersen
29321ca4a2
std.Target: Fix C type alignment calculation for spirv32.
2024-08-06 20:17:03 +02:00
Alex Rønne Petersen
e67388c2e5
std.Target: Fix C type alignment calculation for dxil.
2024-08-06 20:17:03 +02:00
Alex Rønne Petersen
db8f00e277
std.Target: Fix ptrBitWidth_cpu_abi() for sparc32.
...
CPU feature set has nothing to do with ABI choice; the pointer bit width is
determined only by looking at the choice of sparc vs sparc64.
2024-08-06 20:17:03 +02:00
Alex Rønne Petersen
ab154be7f0
std.Target: Fix ptrBitWidth_cpu_abi() for dxil (64-bit, not 32-bit).
...
The DXIL documentation claims 32-bit pointers:
https://github.com/microsoft/DirectXShaderCompiler/blob/main/docs/DXIL.rst#memory-accesses
Despite this, Clang considers pointers 64-bit when targeting it.
2024-08-06 20:17:03 +02:00
Andrew Kelley
fab5df4028
Merge pull request #20934 from alexrp/sparc32-leon3
...
`std.Target`: Bump baseline CPU for sparc32 to v9; add `sparcv9-linux-gnu` to `process_headers.zig`
2024-08-05 09:52:52 -07:00
Alex Rønne Petersen
27775f1a9e
std.Target: Use v9 as the baseline CPU for sparc32.
...
It is impossible to even build projects like glibc when targeting a generic
SPARC v8 CPU; LEON3 is effectively considered the baseline for `sparc-linux-gnu`
now, particularly due to it supporting a CASA instruction similar to the one in
SPARC v9. However, it's slightly incompatible with SPARC v9 due to having a
different ASI tag, so resulting binaries would not be portable to regular SPARC
CPUs. So, as the least bad option, make v9 the baseline for sparc32.
2024-08-05 12:20:41 +02:00
Linus Groh
a18293214d
std.Target: Specify dynamic linker and C type sizes for serenity
2024-08-04 12:03:43 -07:00
Alex Rønne Petersen
3c2733de6e
std.Target: Use a saner default dynamic linker path for riscv.
...
The vast majority of Linux systems will be running these ABIs.
2024-08-02 09:54:08 +02:00
Alex Rønne Petersen
948bc91d12
std.Target.VersionRange: Make default() respect the minimum glibc version.
2024-08-02 09:54:08 +02:00
Alex Rønne Petersen
5a97045644
std.Target: Add isMIPS32()/isMIPS64() functions.
2024-08-01 20:58:08 +02:00
Alex Rønne Petersen
e5c75479c2
std.Target: Rework isPPC()/isPPC64() functions.
...
* Rename isPPC() -> isPowerPC32().
* Rename isPPC64() -> isPowerPC64().
* Add new isPowerPC() function which covers both.
There was confusion even in the standard library about what isPPC() meant. This
change makes these functions work how I think most people actually expect them
to work, and makes them consistent with isMIPS(), isSPARC(), etc.
I chose to rename from PPC to PowerPC because 1) it's more consistent with the
other functions, and 2) it'll cause loud rather than silent breakage for anyone
who might have been depending on isPPC() while misunderstanding it.
2024-08-01 20:58:05 +02:00
Alex Rønne Petersen
5e08d00862
std.Target: Add Arch.isLoongArch() function.
2024-08-01 13:11:21 +02:00
Andrew Kelley
8f7cbaa4c0
Merge pull request #20870 from alexrp/target-cleanup-3
...
`std.Target`: Remove more dead OS/architecture tags
2024-08-01 01:32:32 -07:00
Alex Rønne Petersen
8d5eaadb05
std.Target: Handle loongarch in Os.Tag.archName().
2024-08-01 01:08:20 -07:00
Alex Rønne Petersen
604e87a958
std.Target: Use hexagonv60 as the baseline CPU model for hexagon.
2024-08-01 01:01:24 -07:00