freebsd-skq/lib/csu/mips/crti.S
kan d9106c4087 Make MIPS startup assembly files use neutral float ABI.
This allows these files to be used with hard and softfloat targets
with no special flags passed to the compiler.

Reviewed by: adrian, br, imp
Differential Revision:	https://reviews.freebsd.org/D8506
2016-11-16 03:21:49 +00:00

52 lines
1.1 KiB
ArmAsm

#include <machine/asm.h>
__FBSDID("$FreeBSD$");
.gnu_attribute 4, 0
.section .init,"ax",%progbits
.align 4
.globl _init
.type _init,%function
_init:
.set noreorder
#if defined(__ABICALLS__) && (defined(__mips_o32) || defined(__mips_o64))
SETUP_GP
#endif
PTR_ADDU sp, sp, -CALLFRAME_SIZ
REG_S ra, CALLFRAME_RA(sp)
#if defined(__ABICALLS__)
#if defined(__mips_o32) || defined(__mips_o64)
SAVE_GP(CALLFRAME_GP)
#else
SETUP_GP64(CALLFRAME_GP, _init)
#endif
#else /* __ABICALLS__ */
#if defined(__mips_n32) || defined(__mips_n64)
REG_S gp, CALLFRAME_GP(sp)
#endif
#endif
.set reorder
.section .fini,"ax",%progbits
.align 4
.globl _fini
.type _fini,%function
_fini:
.set noreorder
#if defined(__ABICALLS__) && (defined(__mips_o32) || defined(__mips_o64))
SETUP_GP
#endif
PTR_ADDU sp, sp, -CALLFRAME_SIZ
REG_S ra, CALLFRAME_RA(sp)
#if defined(__ABICALLS__)
#if defined(__mips_o32) || defined(__mips_o64)
SAVE_GP(CALLFRAME_GP)
#else
SETUP_GP64(CALLFRAME_GP, _fini)
#endif
#else /* __ABICALLS__ */
#if defined(__mips_n32) || defined(__mips_n64)
REG_S gp, CALLFRAME_GP(sp)
#endif
#endif
.set reorder