public inbox for ecos-devel@sourceware.org
 help / color / mirror / Atom feed
From: Ilija Kocho <ilijak@siva.com.mk>
To: John Dallaway <john@dallaway.org.uk>
Cc: eCos developers <ecos-devel@ecos.sourceware.org>
Subject: Re: Gnutools: consideration for upgrade to GCC 4.6
Date: Sat, 14 Jan 2012 16:25:00 -0000	[thread overview]
Message-ID: <4F11AC54.7000902@siva.com.mk> (raw)
In-Reply-To: <4F11574D.9070002@dallaway.org.uk>

On 14.01.2012 11:22, John Dallaway wrote:
> Hi Ilija and all
>
> Ilija Kocho wrote:
>
>> Our GCC 4.3.2 is ageing and perhaps we should consider an upgrade.
>> My motive is it's lacking of support for Cortex-M4 SIMD (aka DSP) and
>> FPU instructions, but I think that other architectures shall gain from
>> newer compiler too. I have made some signal processing tests with GCC
>> 4.6.2 against current eCos compiler and they show performance gain even
>> with Cortex-M3 setting, though moderate. Performance is considerable
>> when Cortex-M4 setting is selected and is tremendous, as expected, when
>> SIMD are used. Recently introduced Cortex-M products with FPU (Kinetis
>> K70, K61, STM32F4) will further emphasise the benefit.
>>
>> Another reason, maybe not so important, is that GCC 4.3 is not
>> officially supported any more.
>>
>> Regarding this, I state my wish that we move to the latest stable GCC
>> release, that is at present rel. 4.6.2, accompanied with respective
>> binutils. I have tested binutils 2.21 but in meantime 2.22 has been
>> released. Of course, the list wouldn't be complete without the latest GDB.
> Moving to a more recent GCC makes sense to me.
>
> There are sure to be some new compiler warnings to deal with in the eCos
> sources. Are you aware of the scale of this issue with eCos CVS and GCC
> 4.6.2?

If it could be some measure, the compilation of eCos library for the 
/default/ template (target K60N512) raises 11 warnings, all seem to be 
the same type:
warning: variable ‘<varname>’ set but not used [-Wunused-but-set-variable]
Some cases are unused variables indeed, but of some the usage is 
"hidden" (within asm() or macro).

>
> There are a few patches that were applied to current toolchain sources:
>
>    ftp://ecos.sourceware.org/pub/ecos/gnutools/src/
>
> It would be useful to review these and determine which are still
> relevant.

I have implemented them in my build (for ARM only). They seem to fit 
with the new code but regarding relevancy it probably requires more 
analysis and better knowledge of GCC intrinsics than mine.

> Certainly we would need to adjust the multi-libbing for some
> target architectures.
>
> It would also be useful to test eCos with the new toolchain in an
> automated manner. I wonder if one of the maintainers at eCosCentric
> could set up testing in their test farm? In any case, I would advocate a
> cautious approach to roll out, creating an initial "test release" for
> use mostly by those interested in the new features.

This is a good approach. During the "test period" we can fix the 
warnings, etc.

> We could also
> consider building the toolchain for arm-eabi targets only in the first
> instance to reduce overall effort. Does anyone on this list have a
> particular interest in building eCos with recent GCC for another target
> architecture?
>
> It would be important to retain eCos source compatibility with the
> current toolchains based on GCC 4.3.2.

This probably shall not be a (big) problem. GCC 4.6 (be it minor 0, 1 or 
2) doesn't seem to require any changes other than elimination of 
warnings. From my experience, everything that works with GCC 4.3.2 also 
works with GCC 4.6. Of course some backward compatibility break is 
inevitable. The build options for new architectures are not supported by 
older versions (example -mcpu=cortex-m4). But that's why we're looking 
for the upgrade in the first place :) .

Ilija Kocho

  parent reply	other threads:[~2012-01-14 16:25 UTC|newest]

Thread overview: 76+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-01-13 17:01 Ilija Kocho
2012-01-13 18:54 ` Bernard Fouché
2012-01-13 19:39   ` Ilija Kocho
2012-01-13 19:09 ` Frank Pagliughi
2012-01-13 19:45   ` Ilija Kocho
2012-01-14 10:22 ` John Dallaway
2012-01-14 16:02   ` Sergei Gavrikov
2012-01-15 17:36     ` Grant Edwards
2012-01-15 18:42       ` Sergei Gavrikov
2012-01-15 21:39         ` Stanislav Meduna
2012-01-23  1:01           ` Jonathan Larmour
2012-01-15 22:21         ` Ilija Kocho
2012-01-23  1:07           ` Jonathan Larmour
2012-01-15 22:21         ` Ilija Kocho
2012-01-16 15:20         ` Grant Edwards
2012-01-16 20:43           ` Sergei Gavrikov
2012-01-16 21:11             ` Sergei Gavrikov
2012-01-17  9:58               ` Bernard Fouché
2012-01-17 10:38                 ` Paul Beskeen
2012-01-17 12:28                   ` Sergei Gavrikov
2012-01-23  0:59     ` Jonathan Larmour
2012-01-14 16:25   ` Ilija Kocho [this message]
2012-01-23  1:13     ` Jonathan Larmour
2012-01-23 18:40       ` Ilija Kocho
2012-01-23 19:29         ` Jonathan Larmour
2012-01-25 12:30         ` Alex Schuilenburg
2012-01-25 20:59           ` Ilija Kocho
2012-01-26 13:36             ` Alex Schuilenburg
2012-01-26 20:18               ` Ilija Kocho
2012-02-13 22:02           ` eCos GNU tools 4.6.2-20120125 ready for testing [Was Re: Gnutools: consideration for upgrade to GCC 4.6] Ilija Kocho
2012-02-20 16:00             ` Alex Schuilenburg
2012-02-20 20:45               ` Ilija Kocho
2012-03-02 16:36             ` Alex Schuilenburg
2012-03-03 13:32               ` Ilija Kocho
2012-03-04  0:10                 ` Alex Schuilenburg
2012-03-04 17:49                   ` Sergei Gavrikov
2012-03-04 23:08                     ` Alex Schuilenburg
2012-03-04 19:37                   ` eCos GNU tools 4.6.2-20120125 ready for testing John Dallaway
2012-03-04 23:47                     ` Alex Schuilenburg
2012-03-05  8:00                       ` Sergei Gavrikov
2012-03-07 13:51                         ` Sergei Gavrikov
2012-03-07 11:58                       ` Alex Schuilenburg
2012-03-07 13:01                         ` Ilija Kocho
2012-03-07 13:39                           ` Sergei Gavrikov
2012-03-07 13:13                         ` John Dallaway
2012-03-12 16:43                           ` Alex Schuilenburg
2012-03-16 15:05                             ` Alex Schuilenburg
2012-03-08 17:28                         ` Alex Schuilenburg
2012-03-09  9:39                           ` Ilija Kocho
2012-03-09 17:15                             ` Alex Schuilenburg
2012-03-10 17:16                           ` John Dallaway
2012-03-12 16:12                             ` Alex Schuilenburg
2012-03-13 13:31                               ` Alex Schuilenburg
2012-03-13 14:16                                 ` Ilija Kocho
2012-03-13 17:47                                   ` Sergei Gavrikov
2012-03-15  8:50                                     ` John Dallaway
2012-03-17 14:50                                       ` Sergei Gavrikov
2012-03-17 20:58                                         ` John Dallaway
2012-03-17 16:44                                       ` Stanislav Meduna
2012-03-18 19:10                                   ` eCos GNU tools 4.6.3-20120315 [Was Re: eCos GNU tools 4.6.2-20120125 ready for testing] Ilija Kocho
2012-04-04 12:57                                     ` Lambrecht Jürgen
2012-04-04 13:18                                       ` Ilija Kocho
2012-05-31  8:42                                         ` eCos GNU tools 4.6.3-20120315 and link time optimization Bernard Fouché
2012-03-05  8:30                     ` eCos GNU tools 4.6.2-20120125 ready for testing Tomas Frydrych
2012-03-05  8:56                       ` Tomas Frydrych
2012-03-05  9:50                         ` John Dallaway
2012-03-05  9:55                           ` Anders Montonen
2012-03-05 14:20                             ` John Dallaway
2012-03-05 10:16                           ` Ilija Kocho
2012-03-05 12:56                             ` Tomas Frydrych
2012-03-03 12:58             ` eCos GNU tools 4.6.2-20120125 ready for testing [Was Re: Gnutools: consideration for upgrade to GCC 4.6] Sergei Gavrikov
2012-01-17  9:37 ` Gnutools: consideration for upgrade to GCC 4.6 Tomas Frydrych
2012-01-17 16:10   ` Stanislav Meduna
2012-01-17 16:25     ` Tomas Frydrych
2012-01-17 16:45     ` Ilija Kocho
2012-01-20 14:42       ` Frank Pagliughi

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4F11AC54.7000902@siva.com.mk \
    --to=ilijak@siva.com.mk \
    --cc=ecos-devel@ecos.sourceware.org \
    --cc=john@dallaway.org.uk \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).