- To: ecos-discuss@xxxxxxxxxxxxxxxxxx
- Subject: Re: eCos arm-eabi GNU tools - test release 4.6.2-20120125
- From: Grant Edwards <grant.b.edwards@xxxxxxxxx>
- Date: Fri, 24 Feb 2012 19:37:06 +0000 (UTC)
- Comment: DKIM? See http://www.dkim.org
- Comment: DomainKeys? See http://antispam.yahoo.com/domainkeys
- User-agent: slrn/pre0.9.9-102 (Linux)
On 2012-02-24, Ilija Kocho <ilijak@xxxxxxxxxxx> wrote:
> On 24.02.2012 18:10, Grant Edwards wrote:
>> On 2012-02-13, John Dallaway <john@xxxxxxxxxxxxxxx> wrote:
>>
>>> Ilija Kocho has been working with a new set of GNU tools for ARM targets
>>> based on GCC 4.6.2. The new tools incorporate support for Cortex-M4 SIMD
>>> and FPU instructions. Ref:
>>>
>>> http://ecos.sourceware.org/ml/ecos-devel/2012-01/msg00003.html
>>>
>>> I have generated builds of these tools intended for wider testing within
>>> the eCos community. The test builds can be downloaded from the eCos ftp
>>> site and are located under the "gnutools" directory:
>>
>> FWIW, I just tried the new tools building a fairly simple eCos kernel
>> (based on CVS HEAD from a couple weeks ago) with FreeBSD stack
>> enabled. The kernel build generated 172 compiler warnings. About
>> half of those (89) are aliasing violations in the bsd stack source
>> code, so it looks like '-fno-strict-aliasing' needs to be added to
>> the compiler flags for the FreeBSD stack to safely use the new
>> toolchain.
>>
>> Of the remaining warnings, about half (45) are variables that are set
>> but never used. Most of them are in the FreeBSD stack, but there are
>> a smattering of them in other places as well.
>>
>> The remaining warnings a variety things like printf format/arg
>> mismatches, failed inlines, signed/unsigned mismatches, and so on.
>>
>> Personally, I'm not comfortable shipping anything that builds with
>> that many warnings. For my code, the requirement is zero warnings.
>> For eCos code, the number of warnings has to be small enough that I
>> can anlyze them once and thereafter tell at a glance whether any new
>> ones have popped up.
>
> Yeah, every new release is trying to be more prudent than previous.
> There are two ways, suppressing warnings and/or fixing code. We need
> to consider it and decide how to approach on case by case basis. Zero
> warnings should be our goal.
I always try to fix the code if at all possible. In the case of the
aliasing violations, I'm happy with -fno-strict-aliasing, since that
isn't really supressing the warning -- it's telling the the compiler
to generate code in a way such that there is no condition about which
to be warned (if that makes sense). IIRC, there is a flag that just
supresses the strict-aliasing warning, but that seems like a bad idea.
There won't be any actual need for me to use a the newer toolchain for
many months, so it'll probably be a while before I start working on
fixing eCos code, but eventually I will start working on that.
[I was hoping the 3.2->4.6 change might produce noticably smaller or
faster code. The size reduction is about 0.8%, and though I haven't
done any extensive benchmarking, I haven't noticed any speed
improvement yet.]
--
Grant Edwards grant.b.edwards Yow! Mr and Mrs PED, can I
at borrow 26.7% of the RAYON
gmail.com TEXTILE production of the
INDONESIAN archipelago?
--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss
[Linux Embedded]
[U-Boot V2]
[Linux Kernel]
[Linux MIPS]
[Linux ARM]
[Linux for the Blind]
[Linux Resources]
[Photo]
[Yosemite]
[ISDN Cause Codes]
[ECOS Home]
[Site Home]