From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 31775 invoked by alias); 12 Sep 2007 03:15:54 -0000 Received: (qmail 31766 invoked by uid 22791); 12 Sep 2007 03:15:53 -0000 X-Spam-Status: No, hits=1.0 required=5.0 tests=BAYES_50,DK_POLICY_SIGNSOME,NO_REAL_NAME X-Spam-Check-By: sourceware.org Received: from mail.sunnorth.com.cn (HELO bjmsw01.sunnorth.com.cn) (124.42.0.200) by sourceware.org (qpsmtpd/0.31) with ESMTP; Wed, 12 Sep 2007 03:15:49 +0000 Received: from maillog.sunnorth.com.cn (unverified [172.20.10.250]) by bjmsw01.sunnorth.com.cn (Clearswift SMTPRS 5.2.9) with ESMTP id for ; Wed, 12 Sep 2007 11:15:45 +0800 Received: from ntns1cn.sunnorth.com.cn (ntns1cn.sunnorth.com.cn [172.20.10.252]) by maillog.sunnorth.com.cn (8.12.10/8.12.10) with ESMTP id l8C3hdTY007659 for ; Wed, 12 Sep 2007 11:43:39 +0800 MIME-Version: 1.0 To: ecos-maintainers@ecos.sourceware.org From: taiyun@sunnorth.com.cn Importance: X-Priority: Subject: eCos with arm eabi compiler Sensitivity: Date: Wed, 12 Sep 2007 03:15:00 -0000 Message-ID: X-Mailer: Lotus Domino Web Server Release 6.5.5 November 30, 2005 X-MIMETrack: Serialize by Router on ntns1cn/Sunnorth(Release 6.5.5|November 30, 2005) at 09/12/2007 11:15:31 AM Content-type: text/plain; charset=US-ASCII Mailing-List: contact ecos-maintainers-help@ecos.sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Post: List-Help: , Sender: ecos-maintainers-owner@ecos.sourceware.org X-SW-Source: 2007-09/txt/msg00002.txt.bz2 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