diff --git a/libgloss/ChangeLog b/libgloss/ChangeLog index e8068f456..835fd9278 100644 --- a/libgloss/ChangeLog +++ b/libgloss/ChangeLog @@ -1,3 +1,8 @@ +2009-05-13 Ulrich Weigand + + * spu/crtn.S: Add dummy to ensure nothing gets linked at address 0. + * spu/crti.S: Remove nop. + 2009-05-08 Nick Clifton * mn10300/sim.ld: Add missing section names such as .bss.* diff --git a/libgloss/spu/crti.S b/libgloss/spu/crti.S index 8e7f55d57..0e79a3937 100644 --- a/libgloss/spu/crti.S +++ b/libgloss/spu/crti.S @@ -46,11 +46,6 @@ .section ".init" .align 2 - - # To make sure the address of _init is not zero, because - # the default linker entry point is 0. - nop - .global _init .type _init, @function _init: diff --git a/libgloss/spu/crtn.S b/libgloss/spu/crtn.S index 8812f1f3e..ef4edfcf6 100644 --- a/libgloss/spu/crtn.S +++ b/libgloss/spu/crtn.S @@ -53,4 +53,12 @@ FUNC_END + # To ensure nothing is linked at address 0, provide a dummy + # .interrupt section. This is in crtn.S to make sure any + # user-provided real .interrupt section will get linked + # in front of this dummy. + .section ".interrupt","ax" + .align 2 + heq $0,$0 + # end of crtn.S