public inbox for ecos-discuss@sourceware.org
 help / color / mirror / Atom feed
* [ECOS] Re: ecos on Intel CPU
@ 1998-12-10 12:22 Kenneth Porter
       [not found] ` < 199812102022.MAA13045@mail.well.com >
  0 siblings, 1 reply; 3+ messages in thread
From: Kenneth Porter @ 1998-12-10 12:22 UTC (permalink / raw)
  To: eCos Discuss

On Thu, 10 Dec 1998 17:37:17 GMT, Bart Veer wrote:

>eCos makes use of a number of very useful language extensions which
>are provided by gcc and g++ but not by other compilers, and there are
>no plans to support other compilers.

Can you enumerate these in the FAQ? I see two listed, priority
constructor ordering (required) and selective linking (optional).

I've been using Borland's compiler for some time in the PC 16-bit world
and in embedded system development and I know it supports a
generalization of priority constructor ordering: One can use "#pragma
startup" with a priority code to request that a function be executed
during RTL init. The RTL uses this mechanism to order initialization of
various RTL structures (heap, stdio, FPU emulator). The compiler uses
the same internal structures to implement constructor calls for static
objects.


Kenneth Porter
Kensington Laboratories, Inc.
mailto:kenneth_porter@kensingtonlabs.com
http://www.kensingtonlabs.com


^ permalink raw reply	[flat|nested] 3+ messages in thread

* [ECOS] compiler dependencies
       [not found] ` < 199812102022.MAA13045@mail.well.com >
@ 1998-12-22  7:02   ` Bart Veer
  0 siblings, 0 replies; 3+ messages in thread
From: Bart Veer @ 1998-12-22  7:02 UTC (permalink / raw)
  To: kenneth_porter; +Cc: ecos-discuss

>>>>> "Kenneth" == Kenneth Porter <kenneth_porter@kensingtonlabs.com> writes:

    >> eCos makes use of a number of very useful language extensions
    >> which are provided by gcc and g++ but not by other compilers,
    >> and there are no plans to support other compilers.

    Kenneth> Can you enumerate these in the FAQ? I see two listed,
    Kenneth> priority constructor ordering (required) and selective
    Kenneth> linking (optional).

I have now added a section to the FAQ related to this. Please see
http://sourceware.cygnus.com/ecos/faq.html#porting_compiler

    Kenneth> I've been using Borland's compiler for some time in the
    Kenneth> PC 16-bit world and in embedded system development and I
    Kenneth> know it supports a generalization of priority constructor
    Kenneth> ordering: One can use "#pragma startup" with a priority
    Kenneth> code to request that a function be executed during RTL
    Kenneth> init. The RTL uses this mechanism to order initialization
    Kenneth> of various RTL structures (heap, stdio, FPU emulator).
    Kenneth> The compiler uses the same internal structures to
    Kenneth> implement constructor calls for static objects.

#pragma is usually a poor choice for doing this sort of thing. The gcc
documentation includes the following in the description of
__attribute__:

>   Some people object to the `__attribute__' feature, suggesting that
> ANSI C's `#pragma' should be used instead. There are two reasons for
> not doing this.
>
>  1. It is impossible to generate `#pragma' commands from a macro.
>
>  2. There is no telling what the same `#pragma' might mean in
>  another compiler.
>
>   These two reasons apply to almost any application that might be
> proposed for `#pragma'. It is basically a mistake to use `#pragma'
> for *anything*.

There is some work in progress in the ISO C standard world to come up
with something like #pragma but without these shortcomings. Until that
becomes widely available it is not possible to use #pragma safely in
portable code.

Bart Veer // eCos net maintainer

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [ECOS] Re: ecos on Intel CPU
       [not found] ` < 199811112135.QAA00531@hil-img-ims-4.compuserve.com >
@ 1998-12-10 10:26   ` Bart Veer
  0 siblings, 0 replies; 3+ messages in thread
From: Bart Veer @ 1998-12-10 10:26 UTC (permalink / raw)
  To: kenneth_porter; +Cc: ecos-discuss

>>>>> "Kenneth" == Kenneth Porter <kenneth_porter@kensingtonlabs.com> writes:

    Kenneth> I'd like to see support of the 80C186.

Support for the 80C186 is unlikely any time soon because gcc and g++
do not support any members of the ix86 architecture before the 386.
eCos makes use of a number of very useful language extensions which
are provided by gcc and g++ but not by other compilers, and there are
no plans to support other compilers.

    Kenneth> Also, the new Motorola MPC555, an engine controller with
    Kenneth> a PowerPC core and lots of nice peripherals. See
    Kenneth> http://mot2.mot-sps.com/press/html/PR980413A.html for a
    Kenneth> description.

Ports to some other members of the PowerPC family are under
consideration, and I believe this part has been mentioned
specifically. If I find out more I shall let you know.

Bart Veer // eCos net maintainer

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~1998-12-22  7:02 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1998-12-10 12:22 [ECOS] Re: ecos on Intel CPU Kenneth Porter
     [not found] ` < 199812102022.MAA13045@mail.well.com >
1998-12-22  7:02   ` [ECOS] compiler dependencies Bart Veer
  -- strict thread matches above, loose matches on Subject: below --
1998-11-11 13:36 ecos on Intel CPU Kenneth Porter
     [not found] ` < 199811112135.QAA00531@hil-img-ims-4.compuserve.com >
1998-12-10 10:26   ` [ECOS] " Bart Veer

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).