zig

fork of https://codeberg.org/ziglang/zig
Log | Files | Refs | README | LICENSE

commit c6cb5f691dce18b2c5b50fac8b3a770f0c2965ba (tree)
parent a7b686ac5eb10cfc2d37f50908a9c4b527b97d60
Author: Alex Rønne Petersen <alex@alexrp.com>
Date:   Sat, 14 Mar 2026 06:19:00 +0100

Merge pull request '`link.Lld`: pass `--be8` to `ld.lld` for `armeb`/`thumbeb` for v6+' (#31489) from alexrp/zig:arm-be8 into master

Reviewed-on: https://codeberg.org/ziglang/zig/pulls/31489

Diffstat:
Mlib/std/zig/target.zig | 4++--
Msrc/link/Lld.zig | 5+++++
2 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/lib/std/zig/target.zig b/lib/std/zig/target.zig @@ -21,8 +21,8 @@ pub const available_libcs = [_]ArchOsAbi{ .{ .arch = .arm, .os = .netbsd, .abi = .eabi, .os_ver = .{ .major = 1, .minor = 2, .patch = 0 } }, .{ .arch = .arm, .os = .netbsd, .abi = .eabihf, .os_ver = .{ .major = 1, .minor = 2, .patch = 0 } }, .{ .arch = .arm, .os = .openbsd, .abi = .eabi, .os_ver = .{ .major = 6, .minor = 1, .patch = 0 } }, - .{ .arch = .armeb, .os = .linux, .abi = .gnueabi, .os_ver = .{ .major = 2, .minor = 6, .patch = 0 } }, - .{ .arch = .armeb, .os = .linux, .abi = .gnueabihf, .os_ver = .{ .major = 2, .minor = 6, .patch = 0 } }, + .{ .arch = .armeb, .os = .linux, .abi = .gnueabi, .os_ver = .{ .major = 2, .minor = 6, .patch = 0 }, .glibc_triple = "armeb-linux-gnueabi-be8" }, + .{ .arch = .armeb, .os = .linux, .abi = .gnueabihf, .os_ver = .{ .major = 2, .minor = 6, .patch = 0 }, .glibc_triple = "armeb-linux-gnueabihf-be8" }, .{ .arch = .armeb, .os = .linux, .abi = .musleabi, .os_ver = .{ .major = 2, .minor = 6, .patch = 0 } }, .{ .arch = .armeb, .os = .linux, .abi = .musleabihf, .os_ver = .{ .major = 2, .minor = 6, .patch = 0 } }, .{ .arch = .armeb, .os = .netbsd, .abi = .eabi, .os_ver = .{ .major = 1, .minor = 2, .patch = 0 } }, diff --git a/src/link/Lld.zig b/src/link/Lld.zig @@ -871,6 +871,11 @@ fn elfLink(lld: *Lld, arena: Allocator) !void { try std.fmt.allocPrint(arena, "-float-abi={s}", .{if (target.abi.float() == .hard) "hard" else "soft"}), }); + switch (target.cpu.arch) { + .armeb, .thumbeb => if (is_exe_or_dyn_lib and target.cpu.has(.arm, .has_v6)) try argv.append("--be8"), + else => {}, + } + if (comp.config.lto != .none) { switch (comp.root_mod.optimize_mode) { .Debug => {},