// Mark stack as non-executable #if defined(__linux__) && defined(__ELF__) .section .note.GNU-stack, "", @progbits #endif /* See i386/morestack.S for the lengthy, general explanation. */ .text .globl rust_stack_exhausted .globl __morestack .hidden __morestack .cfi_startproc .set nomips16 .ent __morestack __morestack: .set noreorder .set nomacro addiu $29, $29, -4 sw $30, 0($29) // 16 = 4 (current) + 12 (previous) .cfi_def_cfa_offset 16 .cfi_offset 31, -4 .cfi_offset 30, -16 move $30, $29 .cfi_def_cfa_register 30 // O32 ABI always reserves 16 bytes for arguments addiu $29, $29, -16 lw $25, %call16(rust_stack_exhausted)($28) jalr $25 nop // the above function make sure that we never get here .end __morestack .cfi_endproc