align mips _init/_fini functions
authorRich Felker <dalias@aerifal.cx>
Sun, 5 Aug 2012 18:12:10 +0000 (14:12 -0400)
committerRich Felker <dalias@aerifal.cx>
Sun, 5 Aug 2012 18:12:10 +0000 (14:12 -0400)
since .init and .fini are not .text, the toolchain does not seem to
align them for code by default. this yields random breakage depending
on the object sizes the linker is dealing with.

crt/mips/crti.s

index cbc6e3e..b1593d1 100644 (file)
@@ -2,6 +2,7 @@
 
 .section .init
 .global _init
 
 .section .init
 .global _init
+.align 2
 _init:
        subu $sp,$sp,32
        sw $gp,24($sp)
 _init:
        subu $sp,$sp,32
        sw $gp,24($sp)
@@ -9,6 +10,7 @@ _init:
 
 .section .fini
 .global _fini
 
 .section .fini
 .global _fini
+.align 2
 _fini:
        subu $sp,$sp,32
        sw $gp,24($sp)
 _fini:
        subu $sp,$sp,32
        sw $gp,24($sp)