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: Re: Gary, could you give me some suggestions?


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]