summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJeff Johnston <jjohnstn@redhat.com>2009-05-13 21:31:06 +0000
committerJeff Johnston <jjohnstn@redhat.com>2009-05-13 21:31:06 +0000
commit0d1c7d281c94e8b6d462286dfb97d256ea3af320 (patch)
tree5fddca654a137a52de5514618a6c44ca8efb87d1
parent5900080d7dd3e805415b6cd063d5a3707026042d (diff)
downloadcygnal-0d1c7d281c94e8b6d462286dfb97d256ea3af320.tar.gz
cygnal-0d1c7d281c94e8b6d462286dfb97d256ea3af320.tar.bz2
cygnal-0d1c7d281c94e8b6d462286dfb97d256ea3af320.zip
2009-05-13 Ulrich Weigand <uweigand@de.ibm.com>
* spu/crtn.S: Add dummy to ensure nothing gets linked at address 0. * spu/crti.S: Remove nop.
-rw-r--r--libgloss/ChangeLog5
-rw-r--r--libgloss/spu/crti.S5
-rw-r--r--libgloss/spu/crtn.S8
3 files changed, 13 insertions, 5 deletions
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 <uweigand@de.ibm.com>
+
+ * spu/crtn.S: Add dummy to ensure nothing gets linked at address 0.
+ * spu/crti.S: Remove nop.
+
2009-05-08 Nick Clifton <nickc@redhat.com>
* 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