From 4abab5ad6c8465a7528ccdd5f49367da05f78bbd Mon Sep 17 00:00:00 2001 From: Vladimir Azarov Date: Tue, 1 Oct 2024 15:47:05 +0200 Subject: Initial version --- arch/mips64/crt_arch.h | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 arch/mips64/crt_arch.h (limited to 'arch/mips64/crt_arch.h') diff --git a/arch/mips64/crt_arch.h b/arch/mips64/crt_arch.h new file mode 100644 index 0000000..d148f97 --- /dev/null +++ b/arch/mips64/crt_arch.h @@ -0,0 +1,33 @@ +__asm__( +".set push\n" +".set noreorder\n" +".text \n" +".global _" START "\n" +".global " START "\n" +".global " START "_data\n" +".type _" START ", @function\n" +".type " START ", @function\n" +".type " START "_data, @function\n" +"_" START ":\n" +"" START ":\n" +".align 8 \n" +" bal 1f \n" +" move $fp, $0 \n" +"" START "_data: \n" +" .gpdword " START "_data \n" +" .gpdword " START "_c \n" +".weak _DYNAMIC \n" +".hidden _DYNAMIC \n" +" .gpdword _DYNAMIC \n" +"1: ld $gp, 0($ra) \n" +" dsubu $gp, $ra, $gp \n" +" move $4, $sp \n" +" ld $5, 16($ra) \n" +" daddu $5, $5, $gp \n" +" ld $25, 8($ra) \n" +" daddu $25, $25, $gp \n" +" and $sp, $sp, -16 \n" +" jalr $25 \n" +" nop \n" +".set pop \n" +); -- cgit v1.2.3