2013-07-02 Joey Ye <joey.ye@arm.com>
* arm/crt0.S (_mainCRTStartup): Weak reference to atexit and _fini when lite exit is enabled.
This commit is contained in:
parent
e2ac49d3d7
commit
2404223df6
@ -1,3 +1,8 @@
|
||||
2013-07-02 Joey Ye <joey.ye@arm.com>
|
||||
|
||||
* arm/crt0.S (_mainCRTStartup): Weak reference to atexit and _fini
|
||||
when lite exit is enabled.
|
||||
|
||||
2013-06-28 Yufeng Zhang <Yufeng.Zhang@arm.com>
|
||||
|
||||
* aarch64/syscalls.c (POINTER_TO_PARAM_BLOCK_T): New macro.
|
||||
|
@ -390,12 +390,21 @@ __change_mode:
|
||||
for _fini to be called at program exit. */
|
||||
movs r4, r0
|
||||
movs r5, r1
|
||||
#ifdef _LITE_EXIT
|
||||
/* Make reference to atexit weak to avoid unconditionally pulling in
|
||||
support code. Refer to comments in __atexit.c for more details. */
|
||||
.weak FUNCTION(atexit)
|
||||
ldr r0, .Latexit
|
||||
cmp r0, #0
|
||||
beq .Lweak_atexit
|
||||
#endif
|
||||
ldr r0, .Lfini
|
||||
bl FUNCTION (atexit)
|
||||
.Lweak_atexit:
|
||||
bl FUNCTION (_init)
|
||||
movs r0, r4
|
||||
movs r1, r5
|
||||
#endif
|
||||
#endif
|
||||
bl FUNCTION (main)
|
||||
|
||||
bl FUNCTION (exit) /* Should not return. */
|
||||
@ -465,6 +474,13 @@ change_back:
|
||||
.LC2:
|
||||
.word __bss_end__
|
||||
#ifdef __USES_INITFINI__
|
||||
#ifdef _LITE_EXIT
|
||||
.Latexit:
|
||||
.word FUNCTION(atexit)
|
||||
|
||||
/* Weak reference _fini in case of lite exit. */
|
||||
.weak FUNCTION(_fini)
|
||||
#endif
|
||||
.Lfini:
|
||||
.word FUNCTION(_fini)
|
||||
#endif
|
||||
|
Loading…
x
Reference in New Issue
Block a user