[ECOS] JFFS2 on ARM target

Andrew Lunn andrew@lunn.ch
Wed Mar 8 21:58:00 GMT 2006


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



More information about the Ecos-discuss mailing list