This is the mail archive of the
ecos-discuss@sourceware.org
mailing list for the eCos project.
Re: JFFS2 on ARM target
- From: Andrew Lunn <andrew at lunn dot ch>
- To: "Doyle, Patrick" <WPD at dtccom dot com>
- Cc: ecos-discuss at ecos dot sourceware dot org
- Date: Wed, 8 Mar 2006 22:58:03 +0100
- Subject: Re: [ECOS] JFFS2 on ARM target
- References: <3EDBCCE80E95E744A99895CA464987C4A7D291@dtcsrvr09>
On Wed, Mar 08, 2006 at 03:08:22PM -0500, Doyle, Patrick wrote:
> I'm confused by something I'm seeing with JFFS2 on my arm target, and I was
> wondering if anybody else had seen anything similar.
>
> Basically, what I see is that when JFFS2 goes through and marks a block as
> being erased, it seems to me that it should be writing 'JFFS2_MAGIC_BITMASK'
> (0x1985) to the marker for the block. What I'm seeing is that 0x2003 gets
> written into the marker field.
>
> Staring at disassembled code for a couple of hours makes me believe that
> this is, in fact, exactly what the opcodes are telling the CPU to do,
> despite what one would expect from looking at the C code.
>
> So now I'm curious... are there known bugs with gcc 3.2.1 for the ARM that
> make it a terrible candidate for processing linux-like code that includes
> constructs such as:
>
>
> struct jffs2_unknown_node marker = {
> .magic = cpu_to_je16(JFFS2_MAGIC_BITMASK),
> .nodetype = cpu_to_je16(JFFS2_NODETYPE_CLEANMARKER),
> .totlen = cpu_to_je32(c->cleanmarker_size)
> };
packages/fs/jffs2/current/src/fs-ecos.c:24
#if (__GNUC__ == 3) && (__GNUC_MINOR__ == 2) && 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
2003-09-23 Andrew Lunn <andrew.lunn@ascom.ch>
* src/fs-ecos.c: Added test to detect known broken ARM compiler
Andrew
--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss