Commit b7e48c6bcd
Changed files (2)
lib
lib/std/elf.zig
@@ -1626,6 +1626,9 @@ pub const EM = enum(u16) {
/// C-SKY
CSKY = 252,
+ /// LoongArch
+ LOONGARCH = 258,
+
/// Fujitsu FR-V
FRV = 0x5441,
@@ -1655,6 +1658,14 @@ pub const EM = enum(u16) {
.SPARCV9 => .sparc64,
.S390 => .s390x,
.SPU_2 => .spu_2,
+ // FIXME:
+ // No support for .loongarch32 yet so it is safe to assume we are on .loongarch64.
+ //
+ // However, when e_machine is .LOONGARCH, we should check
+ // ei_class's value to decide the CPU architecture.
+ // - ELFCLASS32 => .loongarch32
+ // - ELFCLASS64 => .loongarch64
+ .LOONGARCH => .loongarch64,
// there's many cases we don't (yet) handle, or will never have a
// zig target cpu arch equivalent (such as null).
else => null,
lib/std/Target.zig
@@ -1210,8 +1210,8 @@ pub const Cpu = struct {
.spirv => .NONE,
.spirv32 => .NONE,
.spirv64 => .NONE,
- .loongarch32 => .NONE,
- .loongarch64 => .NONE,
+ .loongarch32 => .LOONGARCH,
+ .loongarch64 => .LOONGARCH,
};
}