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{
2121 .{ .arch = .arm, .os = .netbsd, .abi = .eabi, .os_ver = .{ .major = 1, .minor = 2, .patch = 0 } },
2222 .{ .arch = .arm, .os = .netbsd, .abi = .eabihf, .os_ver = .{ .major = 1, .minor = 2, .patch = 0 } },
2323 .{ .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 } },
25 .{ .arch = .armeb, .os = .linux, .abi = .gnueabihf, .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 }, .glibc_triple = "armeb-linux-gnueabihf-be8" },
2626 .{ .arch = .armeb, .os = .linux, .abi = .musleabi, .os_ver = .{ .major = 2, .minor = 6, .patch = 0 } },
2727 .{ .arch = .armeb, .os = .linux, .abi = .musleabihf, .os_ver = .{ .major = 2, .minor = 6, .patch = 0 } },
2828 .{ .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 {
871871 try std.fmt.allocPrint(arena, "-float-abi={s}", .{if (target.abi.float() == .hard) "hard" else "soft"}),
872872 });
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
874879 if (comp.config.lto != .none) {
875880 switch (comp.root_mod.optimize_mode) {
876881 .Debug => {},