d9106c4087
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
52 lines
1.1 KiB
ArmAsm
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
|