This is the mail archive of the
ecos-discuss@sourceware.org
mailing list for the eCos project.
RE: Re: Gary, could you give me some suggestions?
- From: "Chris Zimman" <czimman at bloomberg dot com>
- To: <fisher dot zhu at gmail dot com>
- Cc: "eCos Discussion" <ecos-discuss at ecos dot sourceware dot org>
- Date: Tue, 13 May 2008 10:12:05 -0400
- Subject: RE: [ECOS] Re: Gary, could you give me some suggestions?
- References: <26302761.32251210643249759.JavaMail.nabble@isper.nabble.com> <4828FCCB.1050709@mlbassoc.com>
> > I use arm-none-eabi-ld --verbose and arm-elf-ld --verbose to print
> the detailed link script for comparison, and I also read the arm.ld of
> redboot in \src\hal\arm\arch\current\src.
> > I found after compiling with arm eabi tool chain, there is no
> ARM.exidex and ARM.extab in the generated target.ld. I edited target.ld
> and then make again. I get a redboot.elf. However, after I dumped the
> info of redboot.elf generated by arm-eabi. I found that __CTOR_LIST__
> ,__CTOR_END__, __DTOR_LIST__, and __DTOR_END__ have the same pointer.
> It means that the constructors and destructors of redboot don't be
> compiled correctly.
> >
> > could you give me more suggestions? I am a newbie in embedded linux.
There are a few things here if you're trying to get it to work with EABI.
(1) Constructors are in a new section called .init_array -- they get created
in the opposite order that they are done under arm-elf, so you would need to
modify arm/arch/hal_misc.c as well as arm/arch/arm.ld
(2) You need to provide .ARM.extab and .ARM.exidx as they are required by
EABI. They need to be added in arm/arch/arm.ld
I have a working port of eCos w/ ARM EABI support that I've given to
eCosCentric. I believe they are adding this to eCosPro (someone from
eCosCentric please correct me if I'm wrong here).
--Chris
--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss