diff --git a/lib/std/Thread.zig b/lib/std/Thread.zig index a6ce01442d..d7e4f0f019 100644 --- a/lib/std/Thread.zig +++ b/lib/std/Thread.zig @@ -1264,7 +1264,7 @@ const LinuxThreadImpl = struct { \\ ori r12, r0, 91 # SYS_munmap \\ brki r14, 0x8 \\ ori r12, r0, 1 # SYS_exit - \\ or r5, r0, r0 + \\ ori r5, r0, 0 \\ brki r14, 0x8 : : [ptr] "{r5}" (@intFromPtr(self.mapped.ptr)), diff --git a/lib/std/start.zig b/lib/std/start.zig index 5ff0ce9dfe..6a20adf011 100644 --- a/lib/std/start.zig +++ b/lib/std/start.zig @@ -170,7 +170,7 @@ fn _start() callconv(.naked) noreturn { .loongarch32, .loongarch64 => ".cfi_undefined 1", .m68k => ".cfi_undefined %%pc", .m88k => ".cfi_undefined %%r1", - .microblaze, .microblazeel => ".cfi_undefined r15", + .microblaze, .microblazeel => "", // No CFI support. .mips, .mipsel, .mips64, .mips64el => ".cfi_undefined $ra", .or1k => ".cfi_undefined r9", .powerpc, .powerpcle, .powerpc64, .powerpc64le => ".cfi_undefined lr", @@ -345,11 +345,11 @@ fn _start() callconv(.naked) noreturn { , .microblaze, .microblazeel => // r1 = SP, r15 = LR, r19 = FP, r20 = GP - \\ ori r15, r0, r0 - \\ ori r19, r0, r0 + \\ ori r15, r0, 0 + \\ ori r19, r0, 0 \\ mfs r20, rpc - \\ addik r20, r20, _GLOBAL_OFFSET_TABLE_ + 8 - \\ ori r5, r1, r0 + \\ addi r20, r20, _GLOBAL_OFFSET_TABLE_ + 8 + \\ ori r5, r1, 0 \\ andi r1, r1, -4 \\ brlid r15, %[posixCallMainAndExit] ,