authorgravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2026-03-14 06:19:00+01:00
committergravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2026-03-14 06:19:00+01:00
logc6cb5f691dce18b2c5b50fac8b3a770f0c2965ba
tree6769950a12f5873ac46353794e6980b1852a59fe
parenta7b686ac5eb10cfc2d37f50908a9c4b527b97d60
parent05c059e563d88e277cbfb723449778c73ad94f8b

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

2 files changed, 7 insertions(+), 2 deletions(-)

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