mirror of
https://github.com/ziglang/zig.git
synced 2026-01-20 22:35:24 +00:00
libc: Work around LLVM's misassembly of j <reg> on mips r6.
See: https://github.com/ziglang/zig/issues/21315
This commit is contained in:
parent
b19d0fb0fd
commit
c1cc63e5ff
@ -42,7 +42,8 @@
|
||||
lw $31,28($sp)
|
||||
.set noreorder
|
||||
.set nomacro
|
||||
j $31
|
||||
/* zig patch: j <reg> -> jr <reg> for https://github.com/ziglang/zig/issues/21315 */
|
||||
jr $31
|
||||
addiu $sp,$sp,32
|
||||
.set macro
|
||||
.set reorder
|
||||
@ -51,7 +52,8 @@
|
||||
lw $31,28($sp)
|
||||
.set noreorder
|
||||
.set nomacro
|
||||
j $31
|
||||
/* zig patch: j <reg> -> jr <reg> for https://github.com/ziglang/zig/issues/21315 */
|
||||
jr $31
|
||||
addiu $sp,$sp,32
|
||||
.set macro
|
||||
.set reorder
|
||||
|
||||
@ -43,7 +43,8 @@
|
||||
ld $28,0($sp)
|
||||
.set noreorder
|
||||
.set nomacro
|
||||
j $31
|
||||
/* zig patch: j <reg> -> jr <reg> for https://github.com/ziglang/zig/issues/21315 */
|
||||
jr $31
|
||||
addiu $sp,$sp,16
|
||||
.set macro
|
||||
.set reorder
|
||||
@ -53,7 +54,8 @@
|
||||
ld $28,0($sp)
|
||||
.set noreorder
|
||||
.set nomacro
|
||||
j $31
|
||||
/* zig patch: j <reg> -> jr <reg> for https://github.com/ziglang/zig/issues/21315 */
|
||||
jr $31
|
||||
addiu $sp,$sp,16
|
||||
.set macro
|
||||
.set reorder
|
||||
|
||||
@ -43,7 +43,8 @@
|
||||
ld $28,0($sp)
|
||||
.set noreorder
|
||||
.set nomacro
|
||||
j $31
|
||||
/* zig patch: j <reg> -> jr <reg> for https://github.com/ziglang/zig/issues/21315 */
|
||||
jr $31
|
||||
daddiu $sp,$sp,16
|
||||
.set macro
|
||||
.set reorder
|
||||
@ -53,7 +54,8 @@
|
||||
ld $28,0($sp)
|
||||
.set noreorder
|
||||
.set nomacro
|
||||
j $31
|
||||
/* zig patch: j <reg> -> jr <reg> for https://github.com/ziglang/zig/issues/21315 */
|
||||
jr $31
|
||||
daddiu $sp,$sp,16
|
||||
.set macro
|
||||
.set reorder
|
||||
|
||||
@ -39,7 +39,8 @@
|
||||
.end function; \
|
||||
.size function,.-function
|
||||
|
||||
#define ret j ra ; nop
|
||||
// zig patch: j <reg> -> jr <reg> for https://github.com/ziglang/zig/issues/21315
|
||||
#define ret jr ra ; nop
|
||||
|
||||
#undef PSEUDO_END
|
||||
#define PSEUDO_END(sym) cfi_endproc; .end sym; .size sym,.-sym
|
||||
|
||||
@ -3,11 +3,13 @@
|
||||
.section .init
|
||||
lw $gp,24($sp)
|
||||
lw $ra,28($sp)
|
||||
j $ra
|
||||
# zig patch: j <reg> -> jr <reg> for https://github.com/ziglang/zig/issues/21315
|
||||
jr $ra
|
||||
addu $sp,$sp,32
|
||||
|
||||
.section .fini
|
||||
lw $gp,24($sp)
|
||||
lw $ra,28($sp)
|
||||
j $ra
|
||||
# zig patch: j <reg> -> jr <reg> for https://github.com/ziglang/zig/issues/21315
|
||||
jr $ra
|
||||
addu $sp,$sp,32
|
||||
|
||||
@ -3,11 +3,13 @@
|
||||
.section .init
|
||||
ld $gp,16($sp)
|
||||
ld $ra,24($sp)
|
||||
j $ra
|
||||
# zig patch: j <reg> -> jr <reg> for https://github.com/ziglang/zig/issues/21315
|
||||
jr $ra
|
||||
daddu $sp,$sp,32
|
||||
|
||||
.section .fini
|
||||
ld $gp,16($sp)
|
||||
ld $ra,24($sp)
|
||||
j $ra
|
||||
# zig patch: j <reg> -> jr <reg> for https://github.com/ziglang/zig/issues/21315
|
||||
jr $ra
|
||||
daddu $sp,$sp,32
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user