This is the mail archive of the ecos-discuss@sourceware.org mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: JFFS2 on ARM target


I had the same problem with JFFS2 on my ARM target, and I also do not get the error message about a broken compiler.
I use an Atmel ARM7 AT91M55800A (on eb55 demo board), an arm7tdmi.
As you request below:

$ arm-elf-gcc -v
Reading specs from /opt/ecos/gnutools/arm-elf/bin/../lib/gcc-lib/arm-elf/3.2.1/specs
Configured with: /local/demonweb/tools/ecos-gnutools-v1.4/r2/arm-elf/cygwin/tar_bz2/source/gcc-3.2.1
/configure --target=arm-elf --prefix=/local/demonweb/tools/ecos-gnutools-v1.4/r2/arm-elf/cygwin/tar_
bz2/opt/ecos/gnutools/arm-elf --enable-languages=c,c++ --with-gnu-as --with-gnu-ld --with-newlib --w
ith-gxx-include-dir=/local/demonweb/tools/ecos-gnutools-v1.4/r2/arm-elf/cygwin/tar_bz2/opt/ecos/gnut
ools/arm-elf/arm-elf/include
Thread model: single
gcc version 3.2.1

with ' arm-elf-gcc -dumpspecs', I get amongs others this output:

*cpp_cpu_arch:
-Acpu=arm -Amachine=arm %{march=arm2:-D__ARM_ARCH_2__} %{march=arm250:-D__ARM_ARCH_2__} %{march=arm3
:-D__ARM_ARCH_2__} %{march=arm6:-D__ARM_ARCH_3__} %{march=arm600:-D__ARM_ARCH_3__} %{march=arm610:-D
__ARM_ARCH_3__} %{march=arm7:-D__ARM_ARCH_3__} %{march=arm700:-D__ARM_ARCH_3__} %{march=arm710:-D__A
RM_ARCH_3__} %{march=arm720:-D__ARM_ARCH_3__} %{march=arm7100:-D__ARM_ARCH_3__} %{march=arm7500:-D__
ARM_ARCH_3__} %{march=arm7500fe:-D__ARM_ARCH_3__} %{march=arm7m:-D__ARM_ARCH_3M__} %{march=arm7dm:-D
__ARM_ARCH_3M__} %{march=arm7dmi:-D__ARM_ARCH_3M__} %{march=arm7tdmi:-D__ARM_ARCH_4T__} %{march=arm8
:-D__ARM_ARCH_4__} %{march=arm810:-D__ARM_ARCH_4__} %{march=arm9:-D__ARM_ARCH_4T__} %{march=arm920:-
D__ARM_ARCH_4__} %{march=arm920t:-D__ARM_ARCH_4T__} %{march=arm9tdmi:-D__ARM_ARCH_4T__} %{march=stro
ngarm:-D__ARM_ARCH_4__} %{march=strongarm110:-D__ARM_ARCH_4__} %{march=strongarm1100:-D__ARM_ARCH_4_
_} %{march=xscale:-D__ARM_ARCH_5TE__} %{march=xscale:-D__XSCALE__} %{march=armv2:-D__ARM_ARCH_2__} %
{march=armv2a:-D__ARM_ARCH_2__} %{march=armv3:-D__ARM_ARCH_3__} %{march=armv3m:-D__ARM_ARCH_3M__} %{
march=armv4:-D__ARM_ARCH_4__} %{march=armv4t:-D__ARM_ARCH_4T__} %{march=armv5:-D__ARM_ARCH_5__} %{ma
rch=armv5t:-D__ARM_ARCH_5T__} %{march=armv5e:-D__ARM_ARCH_5E__} %{march=armv5te:-D__ARM_ARCH_5TE__}
%{!march=*:  %{mcpu=arm2:-D__ARM_ARCH_2__}  %{mcpu=arm250:-D__ARM_ARCH_2__}  %{mcpu=arm3:-D__ARM_ARC
H_2__}  %{mcpu=arm6:-D__ARM_ARCH_3__}  %{mcpu=arm600:-D__ARM_ARCH_3__}  %{mcpu=arm610:-D__ARM_ARCH_3
__}  %{mcpu=arm7:-D__ARM_ARCH_3__}  %{mcpu=arm700:-D__ARM_ARCH_3__}  %{mcpu=arm710:-D__ARM_ARCH_3__}
  %{mcpu=arm720:-D__ARM_ARCH_3__}  %{mcpu=arm7100:-D__ARM_ARCH_3__}  %{mcpu=arm7500:-D__ARM_ARCH_3__
}  %{mcpu=arm7500fe:-D__ARM_ARCH_3__}  %{mcpu=arm7m:-D__ARM_ARCH_3M__}  %{mcpu=arm7dm:-D__ARM_ARCH_3
M__}  %{mcpu=arm7dmi:-D__ARM_ARCH_3M__}  %{mcpu=arm7tdmi:-D__ARM_ARCH_4T__}  %{mcpu=arm8:-D__ARM_ARC
H_4__}  %{mcpu=arm810:-D__ARM_ARCH_4__}  %{mcpu=arm9:-D__ARM_ARCH_4T__}  %{mcpu=arm920:-D__ARM_ARCH_
4__}  %{mcpu=arm920t:-D__ARM_ARCH_4T__}  %{mcpu=arm9tdmi:-D__ARM_ARCH_4T__}  %{mcpu=strongarm:-D__AR
M_ARCH_4__}  %{mcpu=strongarm110:-D__ARM_ARCH_4__}  %{mcpu=strongarm1100:-D__ARM_ARCH_4__}  %{mcpu=x
scale:-D__ARM_ARCH_5TE__}  %{mcpu=xscale:-D__XSCALE__}  %{!mcpu*:%(cpp_cpu_arch_default)}}

*cpp_cpu_arch_default:
-D__ARM_ARCH_4T__


Kind regards, Jürgen Lambrecht


Andrew Lunn wrote:
On Thu, Mar 09, 2006 at 11:27:02AM -0500, Doyle, Patrick wrote:

-----Original Message-----
From: Andrew Lunn [mailto:andrew@lunn.ch] Sent: Wednesday, March 08, 2006 4:58 PM
To: Doyle, Patrick
Cc: ecos-discuss@ecos.sourceware.org
Subject: Re: [ECOS] JFFS2 on ARM target


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


Thanks Andrew, I'll look at mtd distribution, see if it includes ?yvind's patch, and figure out what to do next based on what I find there. In the mean time, experimental evidence suggests that the 'defined(__ARM_ARCH_4__)' should be 'defined(__ARM_ARCH_4T_)' in fs-ecos.c. At least on my system, which compiles fs-ecos.c with the following command:

arm-elf-gcc -c  -I/home/wpd/ess/redboot/dbw-redboot-ram/install/include
-I/home/wpd/eCos/ecos-20060228/packages/fs/jffs2/current
-I/home/wpd/eCos/ecos-20060228/packages/fs/jffs2/current/src
-I/home/wpd/eCos/ecos-20060228/packages/fs/jffs2/current/tests -I.
-I/home/wpd/eCos/ecos-20060228/packages/fs/jffs2/current/src/
-finline-limit=7000 -mcpu=arm9 -Wall -Wpointer-arith -Wstrict-prototypes
-Winline -Wundef  -g -O2 -ffunction-sections -fdata-sections
-fno-exceptions   -D__ECOS -nostdinc -iwithprefix include
-Wp,-MD,src/fs-ecos.tmp -o src/fs_jffs2_fs-ecos.o
/home/wpd/eCos/ecos-20060228/packages/fs/jffs2/current/src/fs-ecos.c


Strange, it works for me. I wounder if its becasue you are using arm9?

Please could you give the output when you call gcc with -v. I think
that will show all the defines which are passed to CPP.

        Thanks
                Andrew


-- Jürgen Lambrecht Diksmuidse Heerweg 338 8200 Sint-Andries Tel: +32 (0)50 842901 GSM: +32 (0)476 313389

--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]