summaryrefslogtreecommitdiff
path: root/libgcc
diff options
context:
space:
mode:
authoreager <eager@138bc75d-0d04-0410-961f-82ee72b054a4>2013-03-04 15:23:05 +0000
committereager <eager@138bc75d-0d04-0410-961f-82ee72b054a4>2013-03-04 15:23:05 +0000
commit02f4bd0dc37217b48d0053ac4eec3d4c665aaba7 (patch)
tree08a1cb99388451edeb487808e0446aea88df2fe2 /libgcc
parent958069e9961bc53a7600d7ae9dfd3c3b282e9095 (diff)
downloadgcc-02f4bd0dc37217b48d0053ac4eec3d4c665aaba7.tar.gz
Setup stack protection at entry.
* config/microblaze/crti.S: Setup stack protection at entry git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@196432 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libgcc')
-rw-r--r--libgcc/ChangeLog4
-rw-r--r--libgcc/config/microblaze/crti.S10
2 files changed, 14 insertions, 0 deletions
diff --git a/libgcc/ChangeLog b/libgcc/ChangeLog
index 8b1baedb1ca..b0c7aafda76 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 e5136db069d..024a0ba4503 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