This is the mail archive of the crossgcc@sources.redhat.com mailing list for the crossgcc project.

See the CrossGCC FAQ for lots more information.


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: [ECOS] arm-elf & ecos


Like i said earlier, its to do with the line endings and the way you
have mounted the filesystems.

ANSI standard says that nothing should follow the \ continuation
character except the line feed. If you have M$ line endings, there is
a carriage return before the line feed. cygwin can mount its drives in
either binary or text mode. In text mode, it inserts carriage returns
before line feeds to keep M$ applications happy. In binary mode it
does not. You need to ensure your sources are on a binary mount point
and you do not corrupt your sources by using a editor which inserts
carriage returns.

         Andrew

On Mon, Aug 19, 2002 at 08:19:49AM +0000, Mike A wrote:
> Hi,
> 
> I have done a small experiment & found some amazing things about the 
> arm-elf I built.
> 
> I took line 257 of
> /ecos-c/rep/examples/test_install/include/cyg/infra/cyg_type.h & put it in 
> a empty file called test.c at two spot (or paths)
> 
> 1. At C:\rep\ecos\packages\hal\arm\arch\current\src\ ;this is path where 
> hal_mk_defs.c (file which included cyg_type.h that gave the error the other 
> day) lives.
> 2. At C:\cygwin\home\Administrator\test\ ;this just an alternative path I 
> chose.
> 
> When compiling this file “test.c” with the same command but at different 
> paths I get different results as below:
> 
> 1. test.c at C:\rep\ecos\packages\hal\arm\arch\current\src\
> C:\>arm-elf-gcc -S C:\cygwin\home\Administrator\test\test.c
> 
> 2. test.c at C:\cygwin\home\Administrator\test\
> C:\>arm-elf-gcc -S C:\rep\ecos\packages\hal\arm\arch\current\src\test.c
> C:\rep\ecos\packages\hal\arm\arch\current\src\test.c:1: Invalid token in 
> expression
> 
> test.c at hal_mk_defs.c's path, 
> "C:\rep\ecos\packages\hal\arm\arch\current\src\" fails...
> 
> But the same test.c at some arbitrary path compiles well...
> 
> Contents of test.c
> ------------------
> 
> #if defined(__cplusplus) && defined(__GNUC__) && \
>    !defined(CYGBLD_ATTRIB_INIT_PRI)
> #endif
> 
> Please let me know why such a thing is happening. Why is path becoming a 
> dependency?
> 
> Cheers,
> -Mike.
> 
> 
> >From: Andrew Lunn <andrew.lunn@ascom.ch>
> >To: Mike A <embeddedeng@hotmail.com>
> >CC: crossgcc@sources.redhat.com, ecos-discuss@sources.redhat.com,   
> >bgat@billgatliff.com
> >Subject: Re: [ECOS] arm-elf & ecos
> >Date: Thu, 15 Aug 2002 09:24:04 +0200
> >
> >Hi Mike
> >
> >First thing to check is that you have all the mounts the correct type,
> >ie text or binary. This is a common problem, so look in the archive
> >and read the documentation.
> >
> >    Andrew
> >
> >On Thu, Aug 15, 2002 at 07:18:07AM +0000, Mike A wrote:
> >> Hi,
> >>
> >> I could successfully build the arm-elf-gcc tool-chain on my Win 2000
> >> machine under cygwin by following the instruction given by William A.
> >> Gatliff.
> >>
> >> 1. Then I installed eocs configuration tool 2.08.
> >> 2. Synced to the ecos repository using WinCVS 1.3.
> >> 3. Then when I tried building the Tests for ARM PID (using the ARM PID
> >> template) I got the following errors:
> >>
> >>
> >> make tests -j1 --directory "/ecos-c/rep/examples/arm/arm_build"
> >>
> >> make: Entering directory `/ecos-c/rep/examples/arm/arm_build'
> >> make -r -C hal/arm/arch/v1_3_1 headers
> >> make[1]: Entering directory
> >> `/ecos-c/rep/examples/arm/arm_build/hal/arm/arch/v1_3_1'
> >> make[1]: Nothing to be done for `headers'.
> >> make[1]: Leaving directory
> >> `/ecos-c/rep/examples/arm/arm_build/hal/arm/arch/v1_3_1'
> >> make -r -C hal/arm/pid/v1_3_1 headers
> >> make[1]: Entering directory
> >> `/ecos-c/rep/examples/arm/arm_build/hal/arm/pid/v1_3_1'
> >> make[1]: Leaving directory
> >> `/ecos-c/rep/examples/arm/arm_build/hal/arm/pid/v1_3_1'
> >> make -r -C io/serial/v1_3_1 headers
> >> make[1]: Entering directory
> >> `/ecos-c/rep/examples/arm/arm_build/io/serial/v1_3_1'
> >> make[1]: Nothing to be done for `headers'.
> >> make[1]: Leaving directory
> >> `/ecos-c/rep/examples/arm/arm_build/io/serial/v1_3_1'
> >> make -r -C hal/common/v1_3_1 headers
> >> make[1]: Entering directory
> >> `/ecos-c/rep/examples/arm/arm_build/hal/common/v1_3_1'
> >> make[1]: Nothing to be done for `headers'.
> >> make[1]: Leaving directory
> >> `/ecos-c/rep/examples/arm/arm_build/hal/common/v1_3_1'
> >> make -r -C io/common/v1_3_1 headers
> >> make[1]: Entering directory
> >> `/ecos-c/rep/examples/arm/arm_build/io/common/v1_3_1'
> >> make[1]: Nothing to be done for `headers'.
> >> make[1]: Leaving directory
> >> `/ecos-c/rep/examples/arm/arm_build/io/common/v1_3_1'
> >> make -r -C infra/v1_3_1 headers
> >> make[1]: Entering directory
> >> `/ecos-c/rep/examples/arm/arm_build/infra/v1_3_1'
> >> make[1]: Nothing to be done for `headers'.
> >> make[1]: Leaving directory 
> >`/ecos-c/rep/examples/arm/arm_build/infra/v1_3_1'
> >> make -r -C kernel/v1_3_1 headers
> >> make[1]: Entering directory
> >> `/ecos-c/rep/examples/arm/arm_build/kernel/v1_3_1'
> >> make[1]: Nothing to be done for `headers'.
> >> make[1]: Leaving directory
> >> `/ecos-c/rep/examples/arm/arm_build/kernel/v1_3_1'
> >> make -r -C language/c/libc/v1_3_1 headers
> >> make[1]: Entering directory
> >> `/ecos-c/rep/examples/arm/arm_build/language/c/libc/v1_3_1'
> >> make[1]: Nothing to be done for `headers'.
> >> make[1]: Leaving directory
> >> `/ecos-c/rep/examples/arm/arm_build/language/c/libc/v1_3_1'
> >> make -r -C language/c/libm/v1_3_1 headers
> >> make[1]: Entering directory
> >> `/ecos-c/rep/examples/arm/arm_build/language/c/libm/v1_3_1'
> >> make[1]: Nothing to be done for `headers'.
> >> make[1]: Leaving directory
> >> `/ecos-c/rep/examples/arm/arm_build/language/c/libm/v1_3_1'
> >> make -r -C devs/wallclock/v1_3_1 headers
> >> make[1]: Entering directory
> >> `/ecos-c/rep/examples/arm/arm_build/devs/wallclock/v1_3_1'
> >> make[1]: Nothing to be done for `headers'.
> >> make[1]: Leaving directory
> >> `/ecos-c/rep/examples/arm/arm_build/devs/wallclock/v1_3_1'
> >> make -r -C error/v1_3_1 headers
> >> make[1]: Entering directory
> >> `/ecos-c/rep/examples/arm/arm_build/error/v1_3_1'
> >> make[1]: Nothing to be done for `headers'.
> >> make[1]: Leaving directory 
> >`/ecos-c/rep/examples/arm/arm_build/error/v1_3_1'
> >> headers finished
> >> make -r -C hal/arm/arch/v1_3_1 arm.inc
> >> make[1]: Entering directory
> >> `/ecos-c/rep/examples/arm/arm_build/hal/arm/arch/v1_3_1'
> >> arm-elf-gcc -mcpu=arm7tdmi -Wall -Wpointer-arith -Wstrict-prototypes
> >> -Winline -Wundef -Woverloaded-virtual -g -O2 -ffunction-sections
> >> -fdata-sections -fno-rtti -fno-exceptions -fvtable-gc -finit-priority
> >> -I/ecos-c/rep/examples/arm/arm_install/include
> >> -I/ecos-c/PROGRA~1/REDHAT~1/eCos/packages/hal/arm/arch/v1_3_1
> >> -I/ecos-c/PROGRA~1/REDHAT~1/eCos/packages/hal/arm/arch/v1_3_1/src
> >> -I/ecos-c/PROGRA~1/REDHAT~1/eCos/packages/hal/arm/arch/v1_3_1/tests -I.
> >> -Wp,-MD,arm.tmp -o hal_mk_defs.tmp -S
> >> 
> >/ecos-c/PROGRA~1/REDHAT~1/eCos/packages/hal/arm/arch/v1_3_1/src/hal_mk_defs.c
> >> In file included from
> >> /ecos-c/rep/examples/arm/arm_install/include/cyg/hal/hal_arch.h:49,
> >>                 from
> >> 
> >/ecos-c/PROGRA~1/REDHAT~1/eCos/packages/hal/arm/arch/v1_3_1/src/hal_mk_defs.c:48:
> >> /ecos-c/rep/examples/arm/arm_install/include/cyg/infra/cyg_type.h:160:
> >> parse error before `__tmp1'
> >> /ecos-c/rep/examples/arm/arm_install/include/cyg/infra/cyg_type.h:160:
> >> warning: type defaults to `int' in declaration of `__tmp1'
> >> /ecos-c/rep/examples/arm/arm_install/include/cyg/infra/cyg_type.h:160:
> >> `_name_' undeclared here (not in a function)
> >> /ecos-c/rep/examples/arm/arm_install/include/cyg/infra/cyg_type.h:160:
> >> warning: data definition has no type or storage class
> >> /ecos-c/rep/examples/arm/arm_install/include/cyg/infra/cyg_type.h:160:
> >> stray '\' in program
> >> /ecos-c/rep/examples/arm/arm_install/include/cyg/infra/cyg_type.h:161:
> >> parse error before `__tmp2'
> >> /ecos-c/rep/examples/arm/arm_install/include/cyg/infra/cyg_type.h:161:
> >> warning: type defaults to `int' in declaration of `__tmp2'
> >> /ecos-c/rep/examples/arm/arm_install/include/cyg/infra/cyg_type.h:161:
> >> initializer element is not constant
> >> /ecos-c/rep/examples/arm/arm_install/include/cyg/infra/cyg_type.h:161:
> >> warning: data definition has no type or storage class
> >> /ecos-c/rep/examples/arm/arm_install/include/cyg/infra/cyg_type.h:161:
> >> stray '\' in program
> >> /ecos-c/rep/examples/arm/arm_install/include/cyg/infra/cyg_type.h:162:
> >> warning: type defaults to `int' in declaration of `__tmp1'
> >> /ecos-c/rep/examples/arm/arm_install/include/cyg/infra/cyg_type.h:162:
> >> redefinition of `__tmp1'
> >> /ecos-c/rep/examples/arm/arm_install/include/cyg/infra/cyg_type.h:160:
> >> `__tmp1' previously defined here
> >> /ecos-c/rep/examples/arm/arm_install/include/cyg/infra/cyg_type.h:162:
> >> initializer element is not constant
> >> /ecos-c/rep/examples/arm/arm_install/include/cyg/infra/cyg_type.h:162:
> >> warning: data definition has no type or storage class
> >> /ecos-c/rep/examples/arm/arm_install/include/cyg/infra/cyg_type.h:162:
> >> stray '\' in program
> >> /ecos-c/rep/examples/arm/arm_install/include/cyg/infra/cyg_type.h:163:
> >> parse error before `}'
> >> /ecos-c/rep/examples/arm/arm_install/include/cyg/infra/cyg_type.h:171:
> >> stray '\' in program
> >> /ecos-c/rep/examples/arm/arm_install/include/cyg/infra/cyg_type.h:172:
> >> stray '\' in program
> >> /ecos-c/rep/examples/arm/arm_install/include/cyg/infra/cyg_type.h:173:
> >> stray '\' in program
> >> /ecos-c/rep/examples/arm/arm_install/include/cyg/infra/cyg_type.h:223:
> >> parse error before `CYG_BYTE'
> >> /ecos-c/rep/examples/arm/arm_install/include/cyg/infra/cyg_type.h:223:
> >> warning: type defaults to `int' in declaration of `CYG_BYTE'
> >> /ecos-c/rep/examples/arm/arm_install/include/cyg/infra/cyg_type.h:223:
> >> warning: data definition has no type or storage class
> >> /ecos-c/rep/examples/arm/arm_install/include/cyg/infra/cyg_type.h:282:
> >> parse error before `#'
> >> /ecos-c/rep/examples/arm/arm_install/include/cyg/infra/cyg_type.h:317:
> >> stray '\' in program
> >> /ecos-c/rep/examples/arm/arm_install/include/cyg/infra/cyg_type.h:341:
> >> warning: This file contains more `}'s than `{'s.
> >> In file included from
> >> 
> >/ecos-c/PROGRA~1/REDHAT~1/eCos/packages/hal/arm/arch/v1_3_1/src/hal_mk_defs.c:48:
> >> /ecos-c/rep/examples/arm/arm_install/include/cyg/hal/hal_arch.h:86: 
> >stray
> >> '\' in program
> >> /ecos-c/rep/examples/arm/arm_install/include/cyg/hal/hal_arch.h:99: 
> >parse
> >> error before `}'
> >> /ecos-c/rep/examples/arm/arm_install/include/cyg/hal/hal_arch.h:99:
> >> warning: type defaults to `int' in declaration of `HAL_SavedRegisters'
> >> /ecos-c/rep/examples/arm/arm_install/include/cyg/hal/hal_arch.h:99:
> >> warning: data definition has no type or storage class
> >> /ecos-c/rep/examples/arm/arm_install/include/cyg/hal/hal_arch.h:129: 
> >parse
> >> error before `do'
> >>
> >>
> >> It goes on like this for long. Please help me straighten this issue. 
> >Thanks
> >> a lot for your help!
> >>
> >> -Mike.
> >>
> >>
> >> _________________________________________________________________
> >> Chat with friends online, try MSN Messenger: http://messenger.msn.com
> >>
> >>
> >> --
> >> Before posting, please read the FAQ: http://sources.redhat.com/fom/ecos
> >> and search the list archive: http://sources.redhat.com/ml/ecos-discuss
> >>
> 
> 
> 
> 
> _________________________________________________________________
> Join the world’s largest e-mail service with MSN Hotmail. 
> http://www.hotmail.com
> 

------
Want more information?  See the CrossGCC FAQ, http://www.objsw.com/CrossGCC/
Want to unsubscribe? Send a note to crossgcc-unsubscribe@sources.redhat.com


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