This is the mail archive of the
newlib@sourceware.org
mailing list for the newlib project.
Patch: clear BSS and register _fini for moxie port
- From: Anthony Green <green at moxielogic dot com>
- To: newlib at sourceware dot org
- Date: Sun, 10 May 2009 06:43:26 -0700
- Subject: Patch: clear BSS and register _fini for moxie port
I'm checking in the following patch. It simply clears BSS in crt0, and
registers _fini with atexit in order to call static destructors and the
like.
AG
2009-05-10 Anthony Green <green@moxielogic.com>
* moxie/crt0.S (_start): Clear BSS at startup. Register _fini()
with atexit().
* moxie/sim-open.S: Fix comment.
Index: libgloss/moxie/crt0.S
===================================================================
RCS file: /cvs/src/src/libgloss/moxie/crt0.S,v
retrieving revision 1.1
diff -u -r1.1 crt0.S
--- libgloss/moxie/crt0.S 22 Apr 2009 19:48:07 -0000 1.1
+++ libgloss/moxie/crt0.S 10 May 2009 04:09:36 -0000
@@ -1,6 +1,6 @@
/* crt0.S -- startup file for moxie
*
- * Copyright (c) 2008 Anthony Green
+ * Copyright (c) 2008, 2009 Anthony Green
*
* The authors hereby grant permission to use, copy, modify,
distribute,
* and license this software and its documentation for any purpose,
provided
@@ -23,12 +23,22 @@
ldi.l $fp, 0x0 /* zero fp to allow unwinders to stop */
/* zero the bss area */
- /* TODO */
- /* call memset */
+ dec $sp, 12
+ ldi.l $r0, __bss_start__
+ ldi.l $r1, __bss_end__
+ sub.l $r1, $r0
+ sto.l 8($sp), $r1
+ ldi.l $r1, 0
+ jsra memset
+ inc $sp, 12
- /* Call _init to invoke static constructors, etc. */
+ /* Call _init to invoke static constructors, etc. */
jsra _init
+ /* Call _fini at exit time for static destructors. */
+ ldi.l $r0, _fini
+ jsra atexit
+
/* Set argc and argv. These are populated by the simulator. */
lda.l $r0, 0x4
ldi.l $r1, 0x8
Index: libgloss/moxie/sim-open.S
===================================================================
RCS file: /cvs/src/src/libgloss/moxie/sim-open.S,v
retrieving revision 1.1
diff -u -r1.1 sim-open.S
--- libgloss/moxie/sim-open.S 22 Apr 2009 19:48:07 -0000 1.1
+++ libgloss/moxie/sim-open.S 10 May 2009 04:09:36 -0000
@@ -1,5 +1,5 @@
/*
- * sim-open.S -- open interface for frv simulator
+ * sim-open.S -- open interface for moxie simulator
*