This is the mail archive of the
ecos-maintainers@sourceware.org
mailing list for the eCos project.
Building RedBoot for SH3 targets with new toolchain
- From: John Dallaway <john at dallaway dot org dot uk>
- To: Jonathan Larmour <jifl at eCosCentric dot com>
- Cc: ecos-maintainers at ecos dot sourceware dot org
- Date: Wed, 21 Jan 2009 19:48:36 +0000
- Subject: Building RedBoot for SH3 targets with new toolchain
Hi Jifl
There is a problem linking RedBoot for all SH3 targets with the new
sh-elf toolchain based on GCC 4.3.2. For example, linking RAM RedBoot
for sh7708:
> /var/local/releng/build/redboot/install/lib/extras.o: In function `fis_write':
> /var/local/releng/ecos-3.0pre/packages/redboot/current/src/flash.c:1660: undefined reference to `___udivsi3_i4i'
> /var/local/releng/build/redboot/install/lib/extras.o: In function `fis_erase':
> /var/local/releng/ecos-3.0pre/packages/redboot/current/src/flash.c:1710: undefined reference to `___udivsi3_i4i'
> /var/local/releng/build/redboot/install/lib/extras.o: In function `do_flash_init':
> /var/local/releng/ecos-3.0pre/packages/redboot/current/src/flash.c:1920: undefined reference to `___udivsi3_i4i'
> /var/local/releng/build/redboot/install/lib/extras.o: In function `fis_create':
> /var/local/releng/ecos-3.0pre/packages/redboot/current/src/flash.c:1286: undefined reference to `___udivsi3_i4i'
> /var/local/releng/build/redboot/install/lib/libtarget.a(hal_common_hal_if.o): In function `flash_fis_op2':
> /var/local/releng/ecos-3.0pre/packages/hal/common/current/src/hal_if.c:264: undefined reference to `___udivsi3_i4i'
> /var/local/releng/build/redboot/install/lib/libtarget.a(io_flash_flash.o):/var/local/releng/ecos-3.0pre/packages/io/flash/current/src/flash.c:595: more undefined references to `___udivsi3_i4i' follow
> collect2: ld returned 1 exit status
I note that the multi-libbing for sh-elf has changed, but for both old
and new toolchains:
> [jld@cog ~]$ sh-elf-gcc -m3 -print-multi-directory
> m2
> [jld@cog ~]$ sh-elf-gcc -m3 -ml -print-multi-directory
> ml/m2
> [jld@cog ~]$
The m2 and ml/m2 multi-libs exist in both toolchains.
Building RedBoot for target sh4_202_md (an SH4 target) works fine with
the new tools and building RedBoot for SH3 targets works fine with the
old tools.
Any idea what's going wrong here?
John Dallaway