This is the mail archive of the
ecos-discuss@sources.redhat.com
mailing list for the eCos project.
Re: Help with linux synthetic target, please.
- From: Andrew Lunn <andrew at lunn dot ch>
- To: Gordon Scott <g dot ecos dot a at gscott dot co dot uk>
- Cc: eCos discussion list <ecos-discuss at sources dot redhat dot com>
- Date: Mon, 8 Mar 2004 17:04:22 +0100
- Subject: Re: [ECOS] Help with linux synthetic target, please.
- References: <Pine.LNX.4.33.0403081525190.32672-100000@cerana.gscott.co.uk>
On Mon, Mar 08, 2004 at 03:41:25PM +0000, Gordon Scott wrote:
> Hi,
>
> I've been trying to do this apparently simple task for hours and keep
> falling.
>
> I've finally gotten eCos itself to build (configtool, Build->Library)
> after discovering the rather hidden hal/synth...host stuff,
It might be hidden, but running the configure script would of found
and built it for you. Did you read the README.host file?
> but I'm now
> falling at getting the tests running. configtool, Build->Tests fails
> with a rather fundamental undefined reference: __write that sounds like
> I still have some host support stuff missing. What's amiss, please?
No this is normal for that one test. Its a toolchain issue which only
affects synth. Its a particularly thorny problem with no simple
solutions so we simply leave it broken and tell people every time they
ask without searching the email archive :-)
You should find that all the other tests build properly.
> Here's the tail of the Build-Tests output, if it helps.
>
>
> /opt/ecos/ecos-2.0/packages/infra/v2_0/tests/cxxsupp.cxx
> /opt/ecos/ecos-2.0/packages/infra/v2_0/tests/cxxsupp.cxx: In function `void cyg_start()':
> /opt/ecos/ecos-2.0/packages/infra/v2_0/tests/cxxsupp.cxx:70: warning: can't inline call to `void Pure::inline_fun1()'
> /opt/ecos/ecos-2.0/packages/infra/v2_0/tests/cxxsupp.cxx:133: warning: called from here
> gcc -g -nostdlib -Wl,-static -Wl,--fatal-warnings -L/Toolsets/eCos/ecos/build/ecos-work/synth_build/linux-synth_install/lib -Ttarget.ld -o /Toolsets/eCos/ecos/build/ecos-work/synth_build/linux-synth_install/tests/infra/v2_0/tests/cxxsupp tests/cxxsupp.o
> make[1]: Leaving directory `/Toolsets/eCos/ecos/build/ecos-work/synth_build/linux-synth_build/infra/v2_0'
> /usr/lib/gcc-lib/i486-suse-linux/2.95.3/libgcc.a(_pure.o): In function `__pure_virtual':
> make: Leaving directory `/Toolsets/eCos/ecos/build/ecos-work/synth_build/linux-synth_build'
> /usr/src/packages/BUILD/gcc-2.95.3/obj-i486-suse-linux/gcc/../../gcc/libgcc2.c(.text+0x22): undefined reference to `__write'
>
> collect2: ld returned 1 exit status
> make[1]: *** [/Toolsets/eCos/ecos/build/ecos-work/synth_build/linux-synth_install/tests/infra/v2_0/tests/cxxsupp] Error 1
> make: *** [tests] Error 2
>
> Hmm, another question .. the two tests that do appear to have made
> OK, 'basic' and 'context', will run in a ddd window, but never break
> anywghere in the main() function supplied. I get the impression that
> main() is a placeholder to keep linker happy and not breaking ther is
> normal. Right? .. or do I have some other fundamental problem?
There are a number of startup functions, cyg_user_start(), cyg_start()
etc. The tests tend to use these and not main(). See the
documentation. main() is there more for POSIX compatibility. This is
all in the documentation.
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