File tree Expand file tree Collapse file tree 7 files changed +11
-6
lines changed
Expand file tree Collapse file tree 7 files changed +11
-6
lines changed Original file line number Diff line number Diff line change 1010. global __wrap___stack_chk_init
1111.thumb_func
1212__wrap___stack_chk_init:
13+ // if r0 != 0 , skip initialization and jump directly to main
14+ // (don't overwrite parent canary during a libcall)
15+ cmp r0 , # 0
16+ bne 1f
17+
1318 // save arguments passed to main
1419 push {r0 - r3}
1520
Original file line number Diff line number Diff line change @@ -107,10 +107,10 @@ SECTIONS
107107 /* *
108108 * Place RAM uninitialized variables
109109 */
110- _bss = .;
111110 __stack_chk_guard = .;
112111 PROVIDE (__stack_chk_guard = .);
113112 . += 4 ;
113+ _bss = .;
114114 *(.bss *)
115115 _ebss = .;
116116
Original file line number Diff line number Diff line change @@ -107,10 +107,10 @@ SECTIONS
107107 /* *
108108 * Place RAM uninitialized variables
109109 */
110- _bss = .;
111110 __stack_chk_guard = .;
112111 PROVIDE (__stack_chk_guard = .);
113112 . += 4 ;
113+ _bss = .;
114114 *(.bss *)
115115 _ebss = .;
116116
Original file line number Diff line number Diff line change @@ -110,10 +110,10 @@ SECTIONS
110110 /* *
111111 * Place RAM uninitialized variables
112112 */
113- _bss = .;
114113 __stack_chk_guard = .;
115114 PROVIDE (__stack_chk_guard = .);
116115 . += 4 ;
116+ _bss = .;
117117 *(.bss *)
118118 _ebss = .;
119119
Original file line number Diff line number Diff line change @@ -109,10 +109,10 @@ SECTIONS
109109 /* *
110110 * Place RAM uninitialized variables
111111 */
112- _bss = .;
113112 __stack_chk_guard = .;
114113 PROVIDE (__stack_chk_guard = .);
115114 . += 4 ;
115+ _bss = .;
116116 *(.bss *)
117117 _ebss = .;
118118
Original file line number Diff line number Diff line change @@ -109,10 +109,10 @@ SECTIONS
109109 /* *
110110 * Place RAM uninitialized variables
111111 */
112- _bss = .;
113112 __stack_chk_guard = .;
114113 PROVIDE (__stack_chk_guard = .);
115114 . += 4 ;
115+ _bss = .;
116116 *(.bss *)
117117 _ebss = .;
118118
Original file line number Diff line number Diff line change @@ -110,10 +110,10 @@ SECTIONS
110110 /* *
111111 * Place RAM uninitialized variables
112112 */
113- _bss = .;
114113 __stack_chk_guard = .;
115114 PROVIDE (__stack_chk_guard = .);
116115 . += 4 ;
116+ _bss = .;
117117 *(.bss *)
118118 _ebss = .;
119119
You can’t perform that action at this time.
0 commit comments