diff --git a/libgcc/ChangeLog b/libgcc/ChangeLog
index 8b1baedb1cad48aa2768f2c00507404ca1a2b6ba..b0c7aafda767f432b2987fedadfcd6376fa5b2ca 100644
--- a/libgcc/ChangeLog
+++ b/libgcc/ChangeLog
@@ -1,3 +1,7 @@
+2013-03-04  Edgar E. Iglesias <edgar.iglesias@gmail.com>
+
+	* config/microblaze/crti.S: Setup stack protection at entry
+
 2013-03-04  Georg-Johann Lay  <avr@gjlay.de>
 
 	* config/avr/lib1funcs.S (__ashrdi3, __lshrdi3, __ashldi3)
diff --git a/libgcc/config/microblaze/crti.S b/libgcc/config/microblaze/crti.S
index e5136db069d3a499ae831794477f857f370c3dde..024a0ba45034700430bcf8c05eb0ba72e43480f3 100644
--- a/libgcc/config/microblaze/crti.S
+++ b/libgcc/config/microblaze/crti.S
@@ -26,10 +26,20 @@
 
     .section .init, "ax"
     .global __init
+
+    .weak _stack
+    .set  _stack, 0xffffffff
+    .weak _stack_end
+    .set  _stack_end, 0
+
     .align 2
 __init: 
     addik   r1, r1, -8
     sw      r15, r0, r1
+    la      r11, r0, _stack
+    mts     rshr, r11
+    la      r11, r0, _stack_end
+    mts     rslr, r11
 
     .section .fini, "ax"
     .global __fini