changeset 2399:ca28b7d466b8

* src/synth_entry.c (__stack_chk_fail): another new function needed when building with gcc 4.1.2 * current/src/synth.ld: place eh_frame_hdr into eh_frame.
author asl
date Tue, 12 Jun 2007 20:06:25 +0000
parents 1cc00c5dc8b1
children 6f68e28560d3
files packages/hal/synth/arch/current/ChangeLog packages/hal/synth/arch/current/src/synth.ld packages/hal/synth/arch/current/src/synth_entry.c
diffstat 3 files changed, 12 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/packages/hal/synth/arch/current/ChangeLog
+++ b/packages/hal/synth/arch/current/ChangeLog
@@ -1,3 +1,9 @@
+2007-06-12  Andrew Lunn  <andrew.lunn@ascom.ch>
+
+	* src/synth_entry.c (__stack_chk_fail): another new function
+	needed when building with gcc 4.1.2
+	* current/src/synth.ld: place eh_frame_hdr into eh_frame.
+
 2006-07-10  Bart Veer  <bartv@ecoscentric.com>
 
 	* src/synth_entry.c (__stack_chk_fail_local): new function needed
--- a/packages/hal/synth/arch/current/src/synth.ld
+++ b/packages/hal/synth/arch/current/src/synth.ld
@@ -110,7 +110,7 @@ GROUP(libtarget.a libgcc.a)
   .eh_frame _vma_ : _lma_                             \
     {                                                 \
        FORCE_OUTPUT;  __EH_FRAME_BEGIN__ = .;         \
-       KEEP(*(.eh_frame))                             \
+       KEEP(*(.eh_frame*))                             \
        __FRAME_END__ = .;                             \
        . = . + 8;                                     \
     } > _region_ = 0
--- a/packages/hal/synth/arch/current/src/synth_entry.c
+++ b/packages/hal/synth/arch/current/src/synth_entry.c
@@ -210,6 +210,11 @@ void __attribute__ ((noreturn))
     cyg_hal_sys_exit(1);
     for (;;);
 }
+// Another symbol which indicates a similar problem occurred.
+void __stack_chk_fail(void)
+{
+  __stack_chk_fail_local();
+}
 #endif
 
 //-----------------------------------------------------------------------------