This is the mail archive of the ecos-discuss@sources.redhat.com 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: Now I'm confused ...


Chuck McManis said:
> So here's the deal, I recently upgraded my FreeBSD box to 4.9 the "hard
> way" (clean re-install) to get to KDE 3.2. The only thing that I didn't
> manage to protect was my existing eCos install.
>
> So basically I get to revisit all the stuff I did a year ago and forgot
> about :-)
>
> I've built a new gcc toolchain out of 3.3 (FreeBSD uses 2.95 by default in
> the 4-STABLE branch). All that went as planned.
>
> I uses anon-cvs to recover the ECOS packages (I had previously simply
> installed the 2.0 packages)
>
> I didn't find source to ecosconfig (I know its there somewhere, but ..) so
> I re-used the one that I had built from 2.0.
>
> To test the install I tried to rebuild my redboot image (target is
> i386-elf) so I did:
> ecosconfig tree
> and got:
>
> ecos.ecc: error
>      The savefile contains a cdl_option for an unknown option
> `CYGBLD_ISO_STDIO_FILEPOS'
> Invalid savefile "ecos.ecc".
> 1 error occurred while reading in the savefile data.
>
> Which wasn't particularly surprising given the amount of change since 2.0.
> So I tried to create a new redboot using:
>
> ecosconfig new pc redboot
> then edited ecos.ecc and changed the HAL_STARTUP option to FLOPPY
> Tried to gmake and got this:
>
> i386-elf-gcc -g -nostdlib -Wl,--gc-sections -Wl,-static
> -L/u1/cmcmanis/unix/tmp/ecos/usr/rb/install/lib -Ttarget.ld -o
> /u1/cmcmanis/unix/tmp/ecos/usr/rb/install/bin/gdb_module.img
> src/stubrom/gdb_module.o
> /u1/cmcmanis/unix/tmp/ecos/usr/rb/install/lib/libtarget.a(redboot_main.o)(.text.cyg_start+0x0):
> In function `valid_address':
> /u2/ecos-src/ecos/packages/redboot/current/src/main.c:743: multiple
> definition of `cyg_start'
> src/stubrom/gdb_module.o(.text.cyg_start+0x0):/u2/ecos-src/ecos/packages/hal/common/current/src/stubrom/stubrom.c:57:
> first defined here
> /usr/local/gnu/lib/gcc-lib/i386-elf/3.3.2/../../../../i386-elf/bin/ld:
> Warning: size of symbol `cyg_start' changed from 15 in
> src/stubrom/gdb_module.o to 896 in
> /u1/cmcmanis/unix/tmp/ecos/usr/rb/install/lib/libtarget.a(redboot_main.o)
> collect2: ld returned 1 exit status
> gmake[1]: ***
> [/u1/cmcmanis/unix/tmp/ecos/usr/rb/install/bin/gdb_module.img] Error 1
> gmake[1]: Leaving directory
> `/u1/cmcmanis/unix/tmp/ecos/usr/rb/hal/common/current'
> gmake: *** [build] Error 2
>
> Multiple definition of cyg_start ? I'd expect this to be redboot's entry point.
>

Obviously, it's trying to build the GDB stubs as well as RedBoot which
will cause no end of confusion.  I'm not sure how it got confused like
that.

> What else do I need to change in the ecos.ecc to get a vanilla redboot ?

You should be able to follow these steps:
  % ecosconfig new pc redboot
  % ecosconfig import ${ECOS_REPOSITORY}/hal/i386/pc/current/misc/redboot_FLOPPY.ecm
  % ecosconfig tree
  % make

I just tried it and it worked fine for me.




-- 
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]