public inbox for ecos-devel@sourceware.org
 help / color / mirror / Atom feed
From: Sergei Gavrikov <sergei.gavrikov@gmail.com>
To: Grant Edwards <grant.b.edwards@gmail.com>
Cc: ecos-devel@sources.redhat.com
Subject: Re: Gnutools: consideration for upgrade to GCC 4.6
Date: Mon, 16 Jan 2012 20:43:00 -0000	[thread overview]
Message-ID: <alpine.DEB.2.00.1201162153420.3570@vostro> (raw)
In-Reply-To: <jf1f49$i3n$1@dough.gmane.org>

On Mon, 16 Jan 2012, Grant Edwards wrote:

> On 2012-01-15, Sergei Gavrikov <sergei.gavrikov@gmail.com> wrote:
> > On Sun, 15 Jan 2012, Grant Edwards wrote:
> >
> >> On 2012-01-14, Sergei Gavrikov <sergei.gavrikov@gmail.com> wrote:
> >> 
> >> > By the way I like their built-in __rtems__ definition for own GCC
> >> > builds and I guess in the end we would propagate __ecos__ for own
> >> > ones on the occasion of renewal.
> >> 
> >> Why?
> >
> > Simply to distinguish the official releases of toolchains (I hope
> > well tested) and any home-cooked toolchains. I meant such predefined
> > things for GCC (CPP)
> 
> I realize it would distinguish official toolchains from others.  What
> I want to know is why that's useful.
> 
> >   % i386-rtems4.11-gcc -dM -E - </dev/null | grep __rtems__
> >   #define __rtems__ 1
> >
> > and the same we could have for officially supported releases for
> > ecos, e.g.
> >
> >   % i386-ecos3.12-gcc -dM -E -</dev/null | grep __ecos__
> >   #define __ecos__ 1
> >
> > Secondly, it lets anyone to use such checks in sources, e.g.
> >
> >   #if __linux__
> >   # include <endian.h>
> >   #elif __ecos__
> >   # include <machine/endian.h>
> >   #else
> >   ...
> >   #endif
> 
> That doesn't seem to be appropriate to me.  In eCos builds, the
> include files are not part of the toolchain and their locations
> shouldn't be determined based on the toolchain.  The eCos include
> files are part of the eCos source tree and build system (which
> provides __ECOS__).

I agree, snippet above does confuse most of you. I would defend it, but,
I do not want to do so as I do not desire to change the *Subject* of
this thread.  (I'm sorry Ilija)

> > For now we usually add '-D__ECOS__' to CFLAGS for some packages.

To be clear, I did not offer neither to remove nor replace -D__ECOS__
from CFLAGS in eCos config files. I'm sorry if you've seen this.

> > The third, Why we should avoid to say that eCos is also well known,
> > widely used OS?
> 
> For one thing, I use the same toolchain to build eCos stuff and
> non-eCos stuff.  The __ECOS__ macro can be used to tell the
> difference.
> 
> >> Are the eCos sources going to start requiring use of specific
> >> toolchain binaries?
> >
> > Nope. Anyone can use own binaries if he/she wants.
> 
> Not if eCos code is going to contain checks for __ecos__ that cause a
> build to fail without __ecos__.

I ever did not think about. I did not plan to implant such checks in
*eCos sources*.  I did not say, we should  s/__ECOS__/__ecos__/g.  I
wrote:

> >> > By the way I like their built-in __rtems__ definition for own GCC
> >> > builds and I guess in the end we would propagate __ecos__ for own
> >> > ones on the occasion of renewal.

> >> I've been using eCos for a long time, and have always used my own
> >> toolchains.  I'd be pretty unhappy if that was no longer possible.
> >
> > Why it will be not possible? I did not understand.
> 
> If the eCos code is going to be checking for __ecos__ then that code
> won't build with my toolchains.

Once again that was not attempt of any revisionism for eCos sources.
IMHO, built-in CPP definition (__ecos__) can be useful a) for portable
userland applications (not eCos sources); b) for shell scripts which
would detect toolchain easier; c) to distinguish home cooked or third
party toolchains from eCos stable ones (that was my main idea). I risk
to paste yet another check

    /*
     * NOTE: I do not offer such a check for eCos sources itself.
     */
  #ifdef __ECOS__
  # if !defined(__ecos__)
  #  warn Used wrong toolchain for mission critical application.
  #  BUG()
  # endif
  #endif

But. Can such check exist in userland application? [Not need to answer]

> > You can use own, but, a bug reporter should/may use officially
> > supported "labeled" toolchain to check the roots of some issue on
> > crashes. But, naturally, I do not resists on built-in label
> > __ecos__.  Look on that as a promotion eCos OS. If you think that my
> > points are wrong, please, forget it.
> 
> As long as nothing in the build process checks for or requires
> __ecos__, then that's fine.

I hope I have convinced you and Stano that I did not suggest to "close"
eCos sources by __ecos__ checks. More that to propagate that built-in
definition is only a few lines for GCC patch and if that is issue I am
ready to withdraw my "I like their built-in" :-)

Let's move on to the subject of the thread. It seemed for me that all of
us are interested in new toolchain(s) and if you are the experts here,
let's open Bugzilla entry for this, there we would accumulate a set of
patches for new toolchain base.

Sergei

> -- 
> Grant Edwards               grant.b.edwards        Yow! Hey, wait
>                                   at               a minute!!  I want a
>                               gmail.com            divorce!! ... you're not
>                                                    Clint Eastwood!!
> 

  reply	other threads:[~2012-01-16 20:43 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-15 22:21         ` Ilija Kocho
2012-01-23  1:07           ` Jonathan Larmour
2012-01-16 15:20         ` Grant Edwards
2012-01-16 20:43           ` Sergei Gavrikov [this message]
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
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=alpine.DEB.2.00.1201162153420.3570@vostro \
    --to=sergei.gavrikov@gmail.com \
    --cc=ecos-devel@sources.redhat.com \
    --cc=grant.b.edwards@gmail.com \
    /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).