This is the mail archive of the
ecos-patches@sources.redhat.com
mailing list for the eCos project.
Re: RFC - patch to fix JFFS2 problems to init sectors
- From: Andrew Lunn <andrew at lunn dot ch>
- To: oyvind dot harboe at zylin dot com
- Cc: 'eCos patches' <ecos-patches at sources dot redhat dot com>
- Date: Tue, 23 Sep 2003 14:29:19 +0200
- Subject: Re: RFC - patch to fix JFFS2 problems to init sectors
- References: <004601c35a9f$cf6b6e10$73dea8c0@lair>
On Mon, Aug 04, 2003 at 05:48:12PM +0200, ?yvind Harboe wrote:
> Spooky.
>
> I was having problems with JFFS2 not initialsing sectors(see errors
> below).
We came to the conclusion this was a gcc bug in the ARM compiler. Also
the upstream maintainer did not want to include a workaround since
later versions of gcc are fixed.
So im about to commit this patch which will detect if you are using
the broken compiler and let you know.
Andrew
Index: ChangeLog
===================================================================
RCS file: /cvs/ecos/ecos/packages/fs/jffs2/current/ChangeLog,v
retrieving revision 1.15
diff -u -r1.15 ChangeLog
--- ChangeLog 23 Sep 2003 11:47:59 -0000 1.15
+++ ChangeLog 23 Sep 2003 12:26:14 -0000
@@ -1,3 +1,7 @@
+2003-09-23 Andrew Lunn <andrew.lunn@ascom.ch>
+
+ * src/fs-ecos.c: Added test to detect known broken ARM compiler
+
2003-09-23 Thomas Koeller <thomas.koeller@baslerweb.com>
* src/fs-ecos.c: Fixed broken hard link creation.
Index: src/fs-ecos.c
===================================================================
RCS file: /cvs/ecos/ecos/packages/fs/jffs2/current/src/fs-ecos.c,v
retrieving revision 1.10
diff -u -r1.10 fs-ecos.c
--- src/fs-ecos.c 23 Sep 2003 11:47:59 -0000 1.10
+++ src/fs-ecos.c 23 Sep 2003 12:26:17 -0000
@@ -28,6 +28,12 @@
#include <cyg/io/config_keys.h>
#include <cyg/io/flash.h>
+#if (__GNUC__ == 3) && (__GNUC_MINOR__ == 2) && (__GNUC_PATCHLEVEL__ == 1) && \
+ defined (__ARM_ARCH_4__)
+#error This compiler is known to be broken. Please see:
+#error http://ecos.sourceware.org/ml/ecos-patches/2003-08/msg00006.html
+#endif
+
//==========================================================================
// Forward definitions