[PATCH] libgloss: csky: use atexit to call fini-array functions.

Xianmiao Qu cooper.qu@linux.alibaba.com
Fri Jan 13 12:46:47 GMT 2023


__libc_fini_array should be called upon exit to call the
global termination functions in fini-array, use atexit to
register it at __start.
---
 libgloss/csky/crt0.S | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/libgloss/csky/crt0.S b/libgloss/csky/crt0.S
index a0651a734..49f7da364 100644
--- a/libgloss/csky/crt0.S
+++ b/libgloss/csky/crt0.S
@@ -150,6 +150,8 @@ __start:
 	 * Assember start up done, C codes start here.
 	 */
 __goto_c:
+	lrw     r0, __libc_fini_array   # Register global termination functions
+	jbsr    atexit                  #  to be called upon exit
 	/*jsri	main*/
 	lrw	r5, __libc_init_array
 	jsr	r5
-- 
2.32.1 (Apple Git-133)



More information about the Newlib mailing list