aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libgloss/ChangeLog5
-rw-r--r--libgloss/mips/crt0.S10
2 files changed, 11 insertions, 4 deletions
diff --git a/libgloss/ChangeLog b/libgloss/ChangeLog
index 6403ca2..d7ace73 100644
--- a/libgloss/ChangeLog
+++ b/libgloss/ChangeLog
@@ -1,3 +1,8 @@
+2001-03-30 Richard Henderson <rth@redhat.com>
+ Eric Christopher <echristo@redhat.com>
+
+ * mips/crt0.S: Fix for .init/.fini sections.
+
2001-08-30 Richard Henderson <rth@redhat.com>
Eric Christopher <echristo@redhat.com>
diff --git a/libgloss/mips/crt0.S b/libgloss/mips/crt0.S
index dbecc5e..00a398c 100644
--- a/libgloss/mips/crt0.S
+++ b/libgloss/mips/crt0.S
@@ -116,7 +116,6 @@ _start:
.globl get_mem_info .text
.globl __stack
.globl __global
- .globl zerobss
.ent zerobss
zerobss:
LA (v0, _fbss)
@@ -163,10 +162,10 @@ zerobss:
*/
.globl hardware_init_hook .text
.globl software_init_hook .text
- .globl __do_global_dtors .text
+ .type _fini,@function
+ .type _init,@function
.globl atexit .text
.globl exit .text
- .globl init
.ent init
init:
LA (t9, hardware_init_hook) # init the hardware if needed
@@ -181,7 +180,7 @@ init:
jal t9
nop
7:
- LA (a0, __do_global_dtors)
+ LA (a0, _fini)
jal atexit
nop
@@ -194,6 +193,9 @@ init:
nop
#endif
+ jal _init # run global constructors
+ nop
+
move a0,zero # set argc to 0
jal main # call the program start function
nop