This is the mail archive of the
ecos-maintainers@sourceware.org
mailing list for the eCos project.
eCos with arm eabi compiler
- From: taiyun at sunnorth dot com dot cn
- To: ecos-maintainers at ecos dot sourceware dot org
- Date: Wed, 12 Sep 2007 11:15:30 +0800
- Subject: eCos with arm eabi compiler
- Sensitivity:
Dear all:
We are now porting eCos kernel to our platform, EVB named
spaca556g(arm926ej-s). We choose a gcc4.2 eabi
compiler(http://www.codesourcery.com/gnu_toolchains/arm/download.html). The
reason of choosing this compiler is that an EABI compiler can be completely
compatible with ARM RealView libraries. With this arm-eabi compiler,
libraries built from realview can be used.
But there are some problems using this eabi compiler. Because of different
constructing method between arm-elf compiler and eabi compiler,
constructors of global instances can't be invoked automatically when using
the eabi compiler. As a result, we have to make changes to arm.ld and
hal_misc.c files.
NOTE: arm-elf compiler use .ctor section and 2 labels(__CTOR_LIST__,
__CTOR_END__) to invoke constructors, BUT arm-eabi compiler use .init_array
section and lables(__init_array_start, __init_array_end)
arm-eabi compiler's linker script has different sections from arm-elf
compiler's, e.g: .ARM.extab, .ARM.exidx and .ARM.attributes 0, these 3
sections are own in arm-eabi compiler. These sections should be added to
arm.ld, aren't they? If so, there are 2 ways to achieve this goal. One is
making direct changes to arm.ld and adding corresponding sections'
definitions. The other is setting up a new arch-eabi directory in hal/arm,
which is only for arm-eabi compiler. Which is the best?
Taylor Wang
-------------------------------------------------
Special Manager,
Product Development Div I.,
Bejing Sunnorth Electronic Technology Co.,LTD
Email: taiyun@sunnorth.com.cn
Tel: 62981668 Ext.2302
Fax: 62985972