This is the mail archive of the
ecos-patches@sourceware.org
mailing list for the eCos project.
sythn target with gcc 4.1.2
- From: Andrew Lunn <andrew at lunn dot ch>
- To: eCos Patches <ecos-patches at ecos dot sourceware dot org>
- Date: Tue, 12 Jun 2007 22:07:33 +0200
- Subject: sythn target with gcc 4.1.2
Hi Folks
I had to make a few minor changes to get the synth target to link with
gcc 4.1.2.
Andrew
Index: hal/synth/arch/current/ChangeLog
===================================================================
RCS file: /cvs/ecos/ecos/packages/hal/synth/arch/current/ChangeLog,v
retrieving revision 1.33
diff -u -r1.33 ChangeLog
--- hal/synth/arch/current/ChangeLog 10 Jul 2006 22:28:40 -0000 1.33
+++ hal/synth/arch/current/ChangeLog 12 Jun 2007 20:05:48 -0000
@@ -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
Index: hal/synth/arch/current/src/synth.ld
===================================================================
RCS file: /cvs/ecos/ecos/packages/hal/synth/arch/current/src/synth.ld,v
retrieving revision 1.6
diff -u -r1.6 synth.ld
--- hal/synth/arch/current/src/synth.ld 20 Nov 2005 16:21:18 -0000 1.6
+++ hal/synth/arch/current/src/synth.ld 12 Jun 2007 20:05:49 -0000
@@ -110,7 +110,7 @@
.eh_frame _vma_ : _lma_ \
{ \
FORCE_OUTPUT; __EH_FRAME_BEGIN__ = .; \
- KEEP(*(.eh_frame)) \
+ KEEP(*(.eh_frame*)) \
__FRAME_END__ = .; \
. = . + 8; \
} > _region_ = 0
Index: hal/synth/arch/current/src/synth_entry.c
===================================================================
RCS file: /cvs/ecos/ecos/packages/hal/synth/arch/current/src/synth_entry.c,v
retrieving revision 1.8
diff -u -r1.8 synth_entry.c
--- hal/synth/arch/current/src/synth_entry.c 10 Jul 2006 22:28:40 -0000 1.8
+++ hal/synth/arch/current/src/synth_entry.c 12 Jun 2007 20:05:49 -0000
@@ -210,6 +210,11 @@
cyg_hal_sys_exit(1);
for (;;);
}
+// Another symbol which indicates a similar problem occurred.
+void __stack_chk_fail(void)
+{
+ __stack_chk_fail_local();
+}
#endif
//-----------------------------------------------------------------------------