Add the (untested) mips and sparc64 .init call sequences.
The BSD crtbegin/crtend code now builds on all architectures, however further work is needed to check if it works correctly. MFC with: r339738 Sponsored by: DARPA, AFRL
This commit is contained in:
parent
b6f712a95b
commit
573e268cd6
@ -27,5 +27,25 @@
|
|||||||
#define _CRT_H_
|
#define _CRT_H_
|
||||||
|
|
||||||
#define HAVE_CTORS
|
#define HAVE_CTORS
|
||||||
|
#define CTORS_CONSTRUCTORS
|
||||||
|
#ifdef __mips_o32
|
||||||
|
#define INIT_CALL_SEQ(func) \
|
||||||
|
".set noreorder \n" \
|
||||||
|
"bal 1f \n" \
|
||||||
|
"nop \n" \
|
||||||
|
"1: \n" \
|
||||||
|
".cpload $ra \n" \
|
||||||
|
".set reorder \n" \
|
||||||
|
"jal " __STRING(func)
|
||||||
|
#else
|
||||||
|
#define INIT_CALL_SEQ(func) \
|
||||||
|
".set noreorder \n" \
|
||||||
|
"bal 1f \n" \
|
||||||
|
"nop \n" \
|
||||||
|
"1: \n" \
|
||||||
|
".set reorder \n" \
|
||||||
|
".cpsetup $ra, $v0, 1b \n" \
|
||||||
|
"jal " __STRING(func)
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -27,5 +27,7 @@
|
|||||||
#define _CRT_H_
|
#define _CRT_H_
|
||||||
|
|
||||||
#define HAVE_CTORS
|
#define HAVE_CTORS
|
||||||
|
#define CTORS_CONSTRUCTORS
|
||||||
|
#define INIT_CALL_SEQ(func) "call " __STRING(func) "; nop"
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -193,6 +193,7 @@ __DEFAULT_YES_OPTIONS = \
|
|||||||
ZONEINFO
|
ZONEINFO
|
||||||
|
|
||||||
__DEFAULT_NO_OPTIONS = \
|
__DEFAULT_NO_OPTIONS = \
|
||||||
|
BSD_CRTBEGIN \
|
||||||
BSD_GREP \
|
BSD_GREP \
|
||||||
CLANG_EXTRAS \
|
CLANG_EXTRAS \
|
||||||
DTRACE_TESTS \
|
DTRACE_TESTS \
|
||||||
@ -385,13 +386,6 @@ BROKEN_OPTIONS+=HYPERV
|
|||||||
BROKEN_OPTIONS+=NVME
|
BROKEN_OPTIONS+=NVME
|
||||||
.endif
|
.endif
|
||||||
|
|
||||||
.if ${__T} == "aarch64" || ${__T} == "amd64" || ${__T} == "i386" || \
|
|
||||||
${__T} == "powerpc64"
|
|
||||||
__DEFAULT_NO_OPTIONS+=BSD_CRTBEGIN
|
|
||||||
.else
|
|
||||||
BROKEN_OPTIONS+=BSD_CRTBEGIN
|
|
||||||
.endif
|
|
||||||
|
|
||||||
.include <bsd.mkopt.mk>
|
.include <bsd.mkopt.mk>
|
||||||
|
|
||||||
#
|
#
|
||||||
|
Loading…
x
Reference in New Issue
Block a user