This is the mail archive of the ecos-discuss@sourceware.org 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: eCos using Codesourcery Toolchain


Hi Simon,

It may be that the RAM/ROM region you have respectively set is too small for
the image that's being created -- or it may just be a binutils bug.
I didn't have any issues with any particular 'wierdness' like that.

What happens if you build your code under ARM ELF?  That was usually my
sanity check if I suspect the EABI tool chain was doing something weird.

--Chris
 
> -----Original Message-----
> From: simon.kallweit@intefo.ch [mailto:simon.kallweit@intefo.ch]
> Sent: 23 September 2008 12:31
> To: Chris Zimman; ecos-discuss@ecos.sourceware.org
> Subject: eCos using Codesourcery Toolchain
> 
> Hi Chris
> 
> Thanks again for your help. EABI seems to work fine so far. But I've
> run in another problem with the codesourcery toolchain, might be cortex
> specific though. I have a working RedBoot, but it crashes in a few
> places, because code is compiled wrong. Here are the warning from the
> linker:
> 
> /home/simon/ecos/tools/bin/../lib/gcc/arm-none-
> eabi/4.2.3/../../../../arm-none-eabi/bin/ld:
> /home/simon/ecos/build/stm32_redboot_install/lib/extras.o: access
> beyond end of merged section (-32599)
> /home/simon/ecos/tools/bin/../lib/gcc/arm-none-
> eabi/4.2.3/../../../../arm-none-eabi/bin/ld:
> /home/simon/ecos/build/stm32_redboot_install/lib/extras.o: access
> beyond end of merged section (-32603)
> /home/simon/ecos/tools/bin/../lib/gcc/arm-none-
> eabi/4.2.3/../../../../arm-none-eabi/bin/ld:
> /home/simon/ecos/build/stm32_redboot_install/lib/extras.o: access
> beyond end of merged section (-32603)
> /home/simon/ecos/tools/bin/../lib/gcc/arm-none-
> eabi/4.2.3/../../../../arm-none-eabi/bin/ld:
> /home/simon/ecos/build/stm32_redboot_install/lib/extras.o: access
> beyond end of merged section (-32599)
> /home/simon/ecos/tools/bin/../lib/gcc/arm-none-
> eabi/4.2.3/../../../../arm-none-eabi/bin/ld:
> /home/simon/ecos/build/stm32_redboot_install/lib/extras.o: access
> beyond end of merged section (-16335)
> /home/simon/ecos/tools/bin/../lib/gcc/arm-none-
> eabi/4.2.3/../../../../arm-none-eabi/bin/ld:
> /home/simon/ecos/build/stm32_redboot_install/lib/extras.o: access
> beyond end of merged section (-16335)
> /home/simon/ecos/tools/bin/../lib/gcc/arm-none-
> eabi/4.2.3/../../../../arm-none-eabi/bin/ld:
> /home/simon/ecos/build/stm32_redboot_install/lib/extras.o: access
> beyond end of merged section (-16303)
> /home/simon/ecos/tools/bin/../lib/gcc/arm-none-
> eabi/4.2.3/../../../../arm-none-eabi/bin/ld:
> /home/simon/ecos/build/stm32_redboot_install/lib/extras.o: access
> beyond end of merged section (-16303)
> /home/simon/ecos/tools/bin/../lib/gcc/arm-none-
> eabi/4.2.3/../../../../arm-none-eabi/bin/ld:
> /home/simon/ecos/build/stm32_redboot_install/lib/extras.o: access
> beyond end of merged section (-16295)
> /home/simon/ecos/tools/bin/../lib/gcc/arm-none-
> eabi/4.2.3/../../../../arm-none-eabi/bin/ld:
> /home/simon/ecos/build/stm32_redboot_install/lib/extras.o: access
> beyond end of merged section (-16295)
> /home/simon/ecos/tools/bin/../lib/gcc/arm-none-
> eabi/4.2.3/../../../../arm-none-eabi/bin/ld:
> /home/simon/ecos/build/stm32_redboot_install/lib/extras.o: access
> beyond end of merged section (-16263)
> /home/simon/ecos/tools/bin/../lib/gcc/arm-none-
> eabi/4.2.3/../../../../arm-none-eabi/bin/ld:
> /home/simon/ecos/build/stm32_redboot_install/lib/extras.o: access
> beyond end of merged section (-16263)
> 
> One problem is the fis_usage() function:
> 
> fis_usage(char *why)
> {
>     diag_printf("*** invalid 'fis' command: %s\n", why);
>     cmd_usage(__FIS_cmds_TAB__, &__FIS_cmds_TAB_END__, "fis "); }
> 
> The pointer resolution of the string literal ("*** invalid ...") is
> going wrong (r0 holds a wrong address), so diag_printf() corrupts
> memory and the whole system crashes. If I replace the function with a
> marco, the code works properly and I get a few less "access beyond"
> warnings.
> There must be other places where things go wrong.
> 
> Any ideas here?
> 
> I attach my current linker script, as I suppose the mistake could be
> there.


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