Commit Graph

395 Commits

Author SHA1 Message Date
Andrew Kelley 0f3471eb66 maker: finish porting over run step 2026-05-25 18:54:34 -07:00
Alex Rønne Petersen ea2032fa0f std.Target: remove a TODO that's likely never going to be addressed 2026-05-26 01:57:59 +02:00
Alex Rønne Petersen 31f157d807 std.Target: add win11_br and win11_kr to WindowsVersion 2026-05-24 08:54:21 +02:00
Alex Rønne Petersen b868412444 std.Target: add Abi.call0 for xtensa
closes https://codeberg.org/ziglang/zig/issues/30950
2026-05-23 15:51:46 +02:00
Alex Rønne Petersen 07262bddd6 std: add basic target information for m88k-openbsd
closes https://codeberg.org/ziglang/zig/issues/31816
2026-05-23 11:02:55 +02:00
Alex Rønne Petersen b87caa4546 std.Target: fix default calling convention for m68k
Apparently everyone actually just uses the GNU ABI.
2026-05-23 11:02:36 +02:00
Alex Rønne Petersen b9a00fe6aa std.Target: fix default calling convention for ps3 2026-05-23 10:22:40 +02:00
Alex Rønne Petersen 0cafb9b591 std.Target: fix default calling convention for x32 2026-05-23 08:51:32 +02:00
Alex Rønne Petersen 388c0918d6 std.Target: add standard dynamic linker paths for or1k 2026-05-23 08:51:14 +02:00
Alex Rønne Petersen 9a578b7b48 std.Target: glibc doesn't support thumb, so has no standard dynamic linker path 2026-05-23 08:50:25 +02:00
Alex Rønne Petersen 3140b375fc std.Target: update a bunch of min/max OS versions 2026-05-22 19:19:52 +02:00
Alex Rønne Petersen 3a6ddce4cf Merge pull request 'libc: Update macOS headers to SDK 26.5' (#35382) from linus/zig:bump-macos-libc into master
Reviewed-on: https://codeberg.org/ziglang/zig/pulls/35382
Reviewed-by: Alex Rønne Petersen <alex@alexrp.com>
2026-05-22 18:53:47 +02:00
Alex Rønne Petersen 038c0783d4 std.Target: only make v9 the baseline for sparc-linux
NetBSD supports older models, for example.
2026-05-22 18:41:03 +02:00
Alex Rønne Petersen 8930bdfeb6 std.Target: make arch11 (z13) the baseline for s390x
arch8 (z10) is from 2008; arch11 (z13) is from 2015. I believe all Linux distros
have already made arch11 the baseline, so let's do the same.
2026-05-22 18:41:03 +02:00
Alex Rønne Petersen a8859a6d21 std.Target: make octeon the baseline for mips64-openbsd
From https://www.openbsd.org/octeon.html:

    OpenBSD/octeon is a port intended to run on MIPS64-based systems that
    utilize the Cavium OCTEON, OCTEON Plus, OCTEON II, and OCTEON III system on
    chips.
2026-05-22 18:41:03 +02:00
Alex Rønne Petersen 9f6d31c1bf std.Target: make 750 the baseline for powerpc-openbsd
From https://www.openbsd.org/macppc.html:

    OpenBSD/macppc runs on the PowerPC-based Macintosh systems from the
    "New World" family
2026-05-22 18:41:03 +02:00
Alex Rønne Petersen 552c0fe914 std.Target: make pwr9 the baseline for powerpc64-openbsd
From https://www.openbsd.org/powerpc64.html:

    OpenBSD/powerpc64 runs on PowerNV machines using the IBM POWER9 processors.
2026-05-22 18:41:03 +02:00
Alex Rønne Petersen 1fd1fadc02 std.Target: make ultrasparc the baseline for sparc64
No OSs actually support CPUs older than this.
2026-05-22 18:41:03 +02:00
Alex Rønne Petersen 51962172f7 std.Target: make esp32 the baseline for xtensa
This is the MCU that the overwhelming majority of hobbyists target.
2026-05-22 18:41:03 +02:00
Alex Rønne Petersen c49f7fbffd std.Target: make m68030 the baseline for m68k
It's the oldest model that has an integrated MMU.
2026-05-22 18:41:00 +02:00
Alex Rønne Petersen 0b00adc6fc std.Target: make cortex_a55 the baseline for aarch64-haiku
Haiku's build system targets this.
2026-05-22 03:10:56 +02:00
Linus Groh 761809e793 std.Target: Update supported Apple OS versions 2026-05-22 00:44:16 +01:00
Alex Rønne Petersen bf1c847719 Merge pull request 'OpenBSD 7.9 cross libc support' (#35375) from alexrp/zig:openbsd-7.9 into master
Reviewed-on: https://codeberg.org/ziglang/zig/pulls/35375
2026-05-21 06:47:10 +02:00
Alex Rønne Petersen 3b3833acf7 remove remnants of {m68k,powerpc,sparc64}-haiku support
These ports of Haiku have been nonfunctional/incomplete for years. We do not
generally treat such ports as "real" targets.

https://codeberg.org/ziglang/ziglang.org/commit/1efffd83ffd4078cea456c80ae806259207530ad
2026-05-21 06:38:51 +02:00
Alex Rønne Petersen 86b9e985cc std.Target: bump max OpenBSD version to 7.9 2026-05-21 03:05:18 +02:00
Linus Groh 991f56fd6b std.meta: Remove Int in favor of @Int 2026-05-03 21:42:06 +01:00
Alex Rønne Petersen 9f2f6aaef5 drop support for powerpc64-linux-gnu
glibc has never officially supported ELFv2 on big-endian PowerPC, and we do not
(and likely never will) support linking ELFv1. So just drop this target instead
of pretending we actually have anything resembling usable support for it. This
is a dying target anyway; IBM have been pushing people to powerpc64le for years
now, and most distros have dropped big endian.

glibc headers and abilists are not updated as part of this; I'll just let that
happen automatically on the next glibc update. Size savings are expected to be
very minimal anyway since there's large overlap between powerpc64 and
powerpc64le.

This commit also fixes a couple of bad assumptions in std.Target:

* The dynamic linker path should be /lib64/ld64.so.1. We should get this right
  even if the Zig compiler doesn't support the target.
* cCallingConvention() was picking powerpc64_elf_v2 only for musl targets. In
  reality, for the targets we support in std.Target, it should pick v2 for all
  except powerpc64-linux-gnu.

Finally, this switches LLVM codegen to use ELFv2 data layout for all targets
except ps3.
2026-04-26 19:24:46 +02:00
Alex Rønne Petersen ca0b3318a0 std.Target: update CPU and feature data to LLVM 22 2026-04-25 21:54:47 +02:00
Alex Rønne Petersen 48d5b66677 std.Target: fuchsia supports arm/thumb now 2026-04-25 21:49:38 +02:00
Alex Rønne Petersen 8a1ec6a54d std.Target: fix Abi.float() for muslsf 2026-04-25 21:49:38 +02:00
Andrew Kelley bea4ea5ff8 Merge pull request 'zigc: long double: call double function if long double and double are equivalent' (#31775) from rpkak/zig:zigc-long-double into master
Reviewed-on: https://codeberg.org/ziglang/zig/pulls/31775
Reviewed-by: Andrew Kelley <andrew@ziglang.org>
2026-04-16 19:57:54 +02:00
Sam Connelly 17e0afd0e5 feat: init eZ80 arch via CBE 2026-04-16 19:21:16 +02:00
rpkak f564a7733c remove code, which is only reached if c_longdouble is only 16 or 32 bits big 2026-04-16 07:05:31 +02:00
Alex Rønne Petersen d2e42fe9de std.Target: default ABI to eabihf for psp 2026-04-11 12:55:45 +02:00
Alex Rønne Petersen 71e5ee9a51 std.Target: allegrex mips CPU can only be little endian 2026-04-11 12:48:58 +02:00
Alex Rønne Petersen c3d474bf6f Merge pull request 'link.MachO.Dylib: allow aarch64-macos to match arm64e-macos TBD entries' (#31673) from alexrp/zig:thanks-apple into master
Reviewed-on: https://codeberg.org/ziglang/zig/pulls/31673
2026-03-27 01:30:00 +01:00
Alex Rønne Petersen cef16b5130 std.Target: don't claim that OpenBSD requires libc
https://codeberg.org/ziglang/zig/issues/30982
2026-03-26 05:50:51 +01:00
Nathan Bourgeois c824ce954e misc: Add allegrex CPU & features, run tool, update semver 2026-03-21 19:39:04 -04:00
Nathan Bourgeois fdf19984b8 std.Target: add psp os 2026-03-21 02:56:24 -04:00
Alex Rønne Petersen fcf0fc225a std.Target: update max Linux version to 6.19 2026-02-09 23:54:30 +01:00
Luna Schwalbe 04e73d03bd android: detect native ABI and API level correctly
ABI detection previously did not take into account the non-standard
directory structure of Android. This has been fixed.

The API level is detected by running `getprop ro.build.version.sdk`,
since we don't want to depend on bionic, and reading system properties
ourselves is not trivially possible.
2026-01-09 02:47:13 +01:00
Alex Rønne Petersen 504de5c887 std.Target: bump baseline openbsd version from 7.7 to 7.8
Since this is the first version we support cross-compiling for.
2026-01-05 14:52:48 +01:00
Alex Rønne Petersen 39bb452d96 std.Target: factor arch/abi into openbsd minimum version logic 2026-01-05 14:52:48 +01:00
Alex Rønne Petersen 32b250109f std.Target: add isOpenBSDLibC() 2026-01-05 14:52:48 +01:00
Alex Rønne Petersen 00903d35b1 std.Target: openbsd's landisk port is only little endian 2025-12-16 06:27:25 +01:00
Alex Rønne Petersen 81c52fd621 std.Target: bump max freebsd version to 15.0 2025-12-07 09:48:19 +01:00
Alex Rønne Petersen c1862ce642 drop support for powerpc-freebsd-eabihf
FreeBSD 15 dropped this target. It also dropped x86-freebsd-none, but since that
target remains buildable and usable with the 32-bit compat layer, we keep it for
now.
2025-12-07 09:29:54 +01:00
Alex Rønne Petersen 16fc083f2b std.Target: remove Abi.code16
This functionality -- if it's actually needed -- can be reintroduced through
some other mechanism. An ABI is clearly not the right way to represent it.

closes #25918
2025-11-23 10:22:03 +01:00
Alex Rønne Petersen b38fb4bff3 Merge pull request #25917 from alexrp/target-features
`std.Target`: add CPU features and models for alpha and hppa
2025-11-14 12:23:09 +01:00
Alex Rønne Petersen 9ab7eec23e represent Mac Catalyst as aarch64-maccatalyst-none rather than aarch64-ios-macabi
Apple's own headers and tbd files prefer to think of Mac Catalyst as a distinct
OS target. Earlier, when DriverKit support was added to LLVM, it was represented
a distinct OS. So why Apple decided to only represent Mac Catalyst as an ABI in
the target triple is beyond me. But this isn't the first time they've ignored
established target triple norms (see: armv7k and aarch64_32) and it probably
won't be the last.

While doing this, I also audited all Darwin OS prongs throughout the codebase
and made sure they cover all the tags.
2025-11-14 11:33:35 +01:00