From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 10580 invoked by alias); 20 Dec 2012 15:15:56 -0000 Received: (qmail 10564 invoked by uid 22791); 20 Dec 2012 15:15:54 -0000 X-SWARE-Spam-Status: No, hits=-2.5 required=5.0 tests=AWL,BAYES_00,KHOP_THREADED,RCVD_IN_HOSTKARMA_NO,RCVD_IN_HOSTKARMA_YE,TW_CX,TW_DC,TW_IB,TW_LG X-Spam-Check-By: sourceware.org Received: from p02c11o149.mxlogic.net (HELO p02c11o149.mxlogic.net) (208.65.144.82) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Thu, 20 Dec 2012 15:15:44 +0000 Received: from unknown [12.218.215.72] (EHLO p02c11o149.mxlogic.net) by p02c11o149.mxlogic.net(mxl_mta-6.16.0-0) with ESMTP id 0ab23d05.64f22940.76904.00-568.190825.p02c11o149.mxlogic.net (envelope-from ); Thu, 20 Dec 2012 08:15:44 -0700 (MST) X-MXL-Hash: 50d32ba05c9100ae-bdda06e9cd8caef504bc931c4160b37411724b83 Received: from unknown [12.218.215.72] (EHLO smtpauth1.linear.com) by p02c11o149.mxlogic.net(mxl_mta-6.16.0-0) with ESMTP id c9b23d05.0.76879.00-146.190760.p02c11o149.mxlogic.net (envelope-from ); Thu, 20 Dec 2012 08:15:42 -0700 (MST) X-MXL-Hash: 50d32b9e6130aae2-0d556db1e6d4c0aa7737627f0636ac6922168c3d Received: from smtpauth1.linear.com (localhost [127.0.0.1]) by smtpauth1.linear.com (Postfix) with ESMTP id 9B338740A9; Thu, 20 Dec 2012 07:15:40 -0800 (PST) Received: from [10.0.0.196] (63-253-251-83.ip.mcleodusa.net [63.253.251.83]) by smtpauth1.linear.com (Postfix) with ESMTPSA id 431C3740A6; Thu, 20 Dec 2012 07:15:40 -0800 (PST) Content-Type: text/plain; charset=iso-8859-1 Mime-Version: 1.0 (Mac OS X Mail 6.2 \(1499\)) From: Michael Jones In-Reply-To: <50D2CCFE.4030800@dallaway.org.uk> Date: Thu, 20 Dec 2012 15:15:00 -0000 Cc: eCos Discussion Content-Transfer-Encoding: quoted-printable Message-Id: References: <50D2CCFE.4030800@dallaway.org.uk> To: John Dallaway X-AnalysisOut: [v=2.0 cv=YNIoP26x c=1 sm=1 a=glloKNylpeYNumXQcclYyA==:17 a] X-AnalysisOut: [=_YBDr5jTXAcA:10 a=D2_GN2MmYMYA:10 a=BLceEmwcHowA:10 a=8nJ] X-AnalysisOut: [EP1OIZ-IA:10 a=MqDINYqSAAAA:8 a=b85RnLSK_MgA:10 a=CCpqsmhA] X-AnalysisOut: [AAAA:8 a=B3H3McAPAAAA:8 a=bEGw_QRvfA_J4BqdaTEA:9 a=wPNLvfG] X-AnalysisOut: [TeEIA:10 a=sku-3vnfjpamPOIg:21 a=_leYpJupN0Bi4TUW:21] X-MAIL-FROM: X-IsSubscribed: yes Mailing-List: contact ecos-discuss-help@ecos.sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: ecos-discuss-owner@ecos.sourceware.org Subject: Re: [ECOS] Eclipse / CDT without Makefile Project X-SW-Source: 2012-12/txt/msg00043.txt.bz2 John, Thanks, now it is closer. I have provided the output showing the final fail= ure: /opt/ecos/gnutools/arm-eabi/lib/gcc/arm-eabi/4.6.3/../../../../arm-eabi/bin= /ld: cannot find crt0.o: No such file or directory /opt/ecos/gnutools/arm-eabi/lib/gcc/arm-eabi/4.6.3/../../../../arm-eabi/bin= /ld: cannot find -lg /opt/ecos/gnutools/arm-eabi/lib/gcc/arm-eabi/4.6.3/../../../../arm-eabi/bin= /ld: cannot find -lc collect2: ld returned 1 exit status make: *** [Sources/hello.o] Error 1 07:56:20 Build Finished (took 929ms) What is interesting is that even with the -L option, it does not show up in= the compile output. The rule it makes in the makefile is hello_world: $(OBJS) $(USER_OBJS) @echo 'Building target: $@' @echo 'Invoking: Cross GCC Linker' arm-eabi-gcc -nostartfiles -nodefaultlibs -nostdlib -static -mcpu=3Dcortex= -m3 -mthumb -Wl,--gc-sections -Wl,-static -Wl,-n -g -v -nostdlib -L../../ec= os/TWR-K60D100M_install/lib -T../../ecos/TWR-K60D100M_install/lib/target.ld= -o "hello_world" $(OBJS) $(USER_OBJS) $(LIBS) @echo 'Finished building target: $@' @echo ' ' Somehow it does not get passed on to the linker.=20 My goal is a simple free platform for my customers to start with. RedBoot, = Eclipse, with GDB debugging from Eclipse. Then, they can try before buy, an= d if they want to use my embedded framework (may or may not end up GPL), th= ey pay for commercial tools with all the wonderful stuff ;-) But GDB command line is a non-starter for them. So the gap is too big. I think in general, eCos would benefit from both a good low end tool chain = that installs and just works on every platform, and many examples. This is = where Freescale MQX does well. They have a free version of Eclipse/Compiler= and many starter examples. But, they are very limited on number of platfor= ms. Another problem for me. Mike Complete Output ------------------------ 07:56:19 **** Incremental Build of configuration Debug for project hello_wo= rld **** make all=20 Building file: ../Sources/hello.c Invoking: Cross GCC Compiler arm-eabi-gcc -I/home/mike/Embedded/Freescale/ecos/TWR-K60D100M_install/incl= ude -O2 -g -Wall -Wpointer-arith -Wstrict-prototypes -Wundef -Wno-write-str= ings -mcpu=3Dcortex-m3 -mthumb -g -v -ffunction-sections -fdata-sections -f= no-exceptions -MMD -MP -MF"Sources/hello.d" -MT"Sources/hello.d" -o "Source= s/hello.o" "../Sources/hello.c" Using built-in specs. COLLECT_GCC=3Darm-eabi-gcc COLLECT_LTO_WRAPPER=3D/opt/ecos/gnutools/arm-eabi/libexec/gcc/arm-eabi/4.6.= 3/lto-wrapper Target: arm-eabi Configured with: ../../../../src/gcc-4.6.3/configure --target=3Darm-eabi --= with-cpu=3Darm7tdmi --prefix=3D/opt/ecos/gnutools/arm-eabi --with-newlib --= with-gnu-as --with-gnu-ld --with-gmp=3D/opt/gmp-4.3.2 --with-mpfr=3D/opt/mp= fr-2.4.2 --with-mpc=3D/opt/mpc-0.8.2 --enable-languages=3Dc,c++ --enable-th= reads --disable-hosted-libstdcxx --disable-__cxa_atexit --disable-libquadma= th --disable-decimal-float -with-pkgversion=3D'eCos GNU Tools 4.6.3-2012062= 3' --with-bugurl=3Dhttp://bugs.ecos.sourceware.org/ Thread model: single gcc version 4.6.3 (eCos GNU Tools 4.6.3-20120623)=20 COLLECT_GCC_OPTIONS=3D'-I' '/home/mike/Embedded/Freescale/ecos/TWR-K60D100M= _install/include' '-O2' '-g' '-Wall' '-Wpointer-arith' '-Wstrict-prototypes= ' '-Wundef' '-Wno-write-strings' '-mcpu=3Dcortex-m3' '-mthumb' '-g' '-v' '-= ffunction-sections' '-fdata-sections' '-fno-exceptions' '-MMD' '-MP' '-MF' = 'Sources/hello.d' '-MT' 'Sources/hello.d' '-o' 'Sources/hello.o' /opt/ecos/gnutools/arm-eabi/libexec/gcc/arm-eabi/4.6.3/cc1 -quiet -v -I /ho= me/mike/Embedded/Freescale/ecos/TWR-K60D100M_install/include -imultilib thu= mb/thumb2 -MMD Sources/hello.d -MF Sources/hello.d -MP -MT Sources/hello.d = -D__USES_INITFINI__ ../Sources/hello.c -quiet -dumpbase hello.c -mcpu=3Dcor= tex-m3 -mthumb -auxbase hello -g -g -O2 -Wall -Wpointer-arith -Wstrict-prot= otypes -Wundef -Wno-write-strings -version -ffunction-sections -fdata-secti= ons -fno-exceptions -o /tmp/ccPxGVxl.s GNU C (eCos GNU Tools 4.6.3-20120623) version 4.6.3 (arm-eabi) compiled by GNU C version 3.4.6 20060404 (Red Hat 3.4.6-11), GMP version 4= .3.2, MPFR version 2.4.2, MPC version 0.8.2 GGC heuristics: --param ggc-min-expand=3D100 --param ggc-min-heapsize=3D131= 072 ignoring nonexistent directory "/opt/ecos/gnutools/arm-eabi/lib/gcc/arm-eab= i/4.6.3/../../../../arm-eabi/sys-include" #include "..." search starts here: #include <...> search starts here: /home/mike/Embedded/Freescale/ecos/TWR-K60D100M_install/include /opt/ecos/gnutools/arm-eabi/lib/gcc/arm-eabi/4.6.3/include /opt/ecos/gnutools/arm-eabi/lib/gcc/arm-eabi/4.6.3/include-fixed /opt/ecos/gnutools/arm-eabi/lib/gcc/arm-eabi/4.6.3/../../../../arm-eabi/inc= lude End of search list. GNU C (eCos GNU Tools 4.6.3-20120623) version 4.6.3 (arm-eabi) compiled by GNU C version 3.4.6 20060404 (Red Hat 3.4.6-11), GMP version 4= .3.2, MPFR version 2.4.2, MPC version 0.8.2 GGC heuristics: --param ggc-min-expand=3D100 --param ggc-min-heapsize=3D131= 072 Compiler executable checksum: 1070891678fd12e4083fdb528309ae62 COLLECT_GCC_OPTIONS=3D'-I' '/home/mike/Embedded/Freescale/ecos/TWR-K60D100M= _install/include' '-O2' '-g' '-Wall' '-Wpointer-arith' '-Wstrict-prototypes= ' '-Wundef' '-Wno-write-strings' '-mcpu=3Dcortex-m3' '-mthumb' '-g' '-v' '-= ffunction-sections' '-fdata-sections' '-fno-exceptions' '-MMD' '-MP' '-MF' = 'Sources/hello.d' '-MT' 'Sources/hello.d' '-o' 'Sources/hello.o' /opt/ecos/gnutools/arm-eabi/lib/gcc/arm-eabi/4.6.3/../../../../arm-eabi/bin= /as -v -I /home/mike/Embedded/Freescale/ecos/TWR-K60D100M_install/include -= mcpu=3Dcortex-m3 -meabi=3D5 -o /tmp/ccMUDB6x.o /tmp/ccPxGVxl.s GNU assembler version 2.22 (arm-eabi) using BFD version (eCos GNU Tools 4.6= .3-20120623) 2.22 COMPILER_PATH=3D/opt/ecos/gnutools/arm-eabi/libexec/gcc/arm-eabi/4.6.3/:/op= t/ecos/gnutools/arm-eabi/libexec/gcc/arm-eabi/4.6.3/:/opt/ecos/gnutools/arm= -eabi/libexec/gcc/arm-eabi/:/opt/ecos/gnutools/arm-eabi/lib/gcc/arm-eabi/4.= 6.3/:/opt/ecos/gnutools/arm-eabi/lib/gcc/arm-eabi/:/opt/ecos/gnutools/arm-e= abi/lib/gcc/arm-eabi/4.6.3/../../../../arm-eabi/bin/ LIBRARY_PATH=3D/opt/ecos/gnutools/arm-eabi/lib/gcc/arm-eabi/4.6.3/thumb/thu= mb2/:/opt/ecos/gnutools/arm-eabi/lib/gcc/arm-eabi/4.6.3/../../../../arm-eab= i/lib/thumb/thumb2/:/opt/ecos/gnutools/arm-eabi/lib/gcc/arm-eabi/4.6.3/:/op= t/ecos/gnutools/arm-eabi/lib/gcc/arm-eabi/4.6.3/../../../../arm-eabi/lib/ COLLECT_GCC_OPTIONS=3D'-I' '/home/mike/Embedded/Freescale/ecos/TWR-K60D100M= _install/include' '-O2' '-g' '-Wall' '-Wpointer-arith' '-Wstrict-prototypes= ' '-Wundef' '-Wno-write-strings' '-mcpu=3Dcortex-m3' '-mthumb' '-g' '-v' '-= ffunction-sections' '-fdata-sections' '-fno-exceptions' '-MMD' '-MP' '-MF' = 'Sources/hello.d' '-MT' 'Sources/hello.d' '-o' 'Sources/hello.o' /opt/ecos/gnutools/arm-eabi/libexec/gcc/arm-eabi/4.6.3/collect2 -X -o Sourc= es/hello.o /opt/ecos/gnutools/arm-eabi/lib/gcc/arm-eabi/4.6.3/thumb/thumb2/= crti.o /opt/ecos/gnutools/arm-eabi/lib/gcc/arm-eabi/4.6.3/thumb/thumb2/crtb= egin.o crt0.o -L/opt/ecos/gnutools/arm-eabi/lib/gcc/arm-eabi/4.6.3/thumb/th= umb2 -L/opt/ecos/gnutools/arm-eabi/lib/gcc/arm-eabi/4.6.3/../../../../arm-e= abi/lib/thumb/thumb2 -L/opt/ecos/gnutools/arm-eabi/lib/gcc/arm-eabi/4.6.3 -= L/opt/ecos/gnutools/arm-eabi/lib/gcc/arm-eabi/4.6.3/../../../../arm-eabi/li= b /tmp/ccMUDB6x.o --start-group -lgcc -lg -lc --end-group /opt/ecos/gnutool= s/arm-eabi/lib/gcc/arm-eabi/4.6.3/thumb/thumb2/crtend.o /opt/ecos/gnutools/= arm-eabi/lib/gcc/arm-eabi/4.6.3/thumb/thumb2/crtn.o /opt/ecos/gnutools/arm-eabi/lib/gcc/arm-eabi/4.6.3/../../../../arm-eabi/bin= /ld: cannot find crt0.o: No such file or directory /opt/ecos/gnutools/arm-eabi/lib/gcc/arm-eabi/4.6.3/../../../../arm-eabi/bin= /ld: cannot find -lg /opt/ecos/gnutools/arm-eabi/lib/gcc/arm-eabi/4.6.3/../../../../arm-eabi/bin= /ld: cannot find -lc collect2: ld returned 1 exit status make: *** [Sources/hello.o] Error 1 07:56:20 Build Finished (took 929ms) On Dec 20, 2012, at 1:31 AM, John Dallaway wrote: > Mike >=20 > On 20/12/12 07:44, Michael Jones wrote: >=20 >> I have been trying to make an Eclipse/CDT (Juno) project for eCos, but n= ot a >> Makefile project. Mainly so that it can navigate to h files, and try to = see >> if it will drive GDB. >>=20 >> Eclipse seems to ignore linker options and do its own thing. For example= , for >> the linker I have: >>=20 >> -mcpu=3Dcortex-m3 -mthumb -Wl,--gc-sections -Wl,-static -Wl,-n -g -v -no= stdlib -T../../ecos/TWR-K60D100M_install/lib/target.ld >>=20 >> But, it appears that some options, like -T are ignored. And the linker t= ries >> to link in crt0.o, even if I set the compile options to not include star= tup >> files. >=20 > You are missing the -L linker option specifying the library search path > (location of libtarget.a). Try modifying your command line as follows: >=20 >> -mcpu=3Dcortex-m3 -mthumb -Wl,--gc-sections -Wl,-static -Wl,-n -g -v -no= stdlib -L../../ecos/TWR-K60D100M_install/lib -Ttarget.ld >=20 > I hope this helps... >=20 > John Dallaway > eCos maintainer > http://www.dallaway.org.uk/john >=20 > --=20 > Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos > and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss >=20 -- Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss