comp.lang.ada
 help / color / mirror / Atom feed
* How to build gnat on top of egcs-1.1.2, please?
@ 1999-05-05  0:00 Gary Gourley
  1999-05-05  0:00 ` David C. Hoos, Sr.
  0 siblings, 1 reply; 9+ messages in thread
From: Gary Gourley @ 1999-05-05  0:00 UTC (permalink / raw)


Hi,

To experience the power of Ada programming I download the
source of gnat-3.11p. However, from the README.BUILD file, I
find that it is supposed to be built on top of gcc-2.8.1
only. 

Please let me know how to build gnat on top of egcs-1.1.2 on
my Linux box. Thanks

-gary




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

* Re: How to build gnat on top of egcs-1.1.2, please?
  1999-05-05  0:00 How to build gnat on top of egcs-1.1.2, please? Gary Gourley
@ 1999-05-05  0:00 ` David C. Hoos, Sr.
  1999-05-05  0:00   ` David Starner
  1999-05-07  0:00   ` Gary Gourley
  0 siblings, 2 replies; 9+ messages in thread
From: David C. Hoos, Sr. @ 1999-05-05  0:00 UTC (permalink / raw)



Gary Gourley <not@here.org> wrote in message
news:372FE594.818795BA@here.org...
> Hi,
>
> To experience the power of Ada programming I download the
> source of gnat-3.11p. However, from the README.BUILD file, I
> find that it is supposed to be built on top of gcc-2.8.1
> only.
>
> Please let me know how to build gnat on top of egcs-1.1.2 on
> my Linux box. Thanks
>
As is more often than not the case with questions of this kind,
only a small part of the required information is supplied.

You make no mention of which Linux distribution (e.g., RedHat,
Slackware, etc.) or which hardware platform (e.g., Standard PC,
Power PC, etc.).

The best place for answers to GNAT on Linux is the Ada for
Linux Team.  their web site is at
http://www.cl.cam.ac.uk/~mgk25/linux-ada/

You can contact the team on Mike Feldman's
gnatlist@seas.gwu.edu mailinglist. To subscribe to this
mailing list, just send a single line message of the form

subscribe gnatlist your-first-name your-last-name

to the mailing list server listproc@seas.gwu.edu.

I am doing a major project on Linux with GNAT, but have
stayed with 2.8.1.

Some reasons for doing so are contained in this recent
posting to the Ada for Linux Team mail list, viz.:

On Wed, 3 Feb 1999, Juergen Pfeifer wrote:
>    -  Should we by default build packages based on egcs?

For the time being, I recommend the answer should clearly be: no.

Robert Dewar told me on the phone recently that an egcs built GNAT would
be very likely to be less reliable than a gcc 2.8 built GNAT. The fact
that some of the patches that are around work at all does not mean that
the result will work as correctly as one might hope. Egcs has introduced
many internal incompatibilities to gcc, some of which are rather subtle
to find and will cause problems only in rare situations. Egcs is also a
quickly moving target, and Cygnus has already an internal not yet
released new source tree that is very different from the currently
published source.

There is nothing wrong with experimenting with building gnat on egcs,
but the result should be treated with extreme care and should NOT be
what we should offer to inexperienced new users as an easy to use
package. Egcs is an *experimental* compiler and they really mean it this
way. Unfortunately, too many users seem to be more interested in
"getting the very latest thing" than in getting a really robust and
well-tested product.

We should not be so naive and get excited about egcs, just because it is
newer in some way. Some of the comments here sound as if there is a
really significant performance or any other advantage to be gained by
building gnat on top of egcs. I would like to see hard performance
numbers first before I get enthusiastic about these things. I have not
yet seen any performance improvement by egcs that would justify for me
the risk of switching to the much less well tested egcs environment. Gcc
2.8 is a pretty damn good code generator already and egcs does not seem
to contain any Ada-specific code generator improvements.

Markus

--
Markus G. Kuhn, Computer Laboratory, University of Cambridge, UK
Email: mkuhn at acm.org,  WWW: <http://www.cl.cam.ac.uk/~mgk25/>


Finally -- Why build it yourself?  Why not just use one of the several
binary GNAT distributions for Linux?

I hope this helps

David C. Hoos, Sr.






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

* Re: How to build gnat on top of egcs-1.1.2, please?
  1999-05-05  0:00 ` David C. Hoos, Sr.
@ 1999-05-05  0:00   ` David Starner
  1999-05-05  0:00     ` Robert Dewar
  1999-05-05  0:00     ` Robert Dewar
  1999-05-07  0:00   ` Gary Gourley
  1 sibling, 2 replies; 9+ messages in thread
From: David Starner @ 1999-05-05  0:00 UTC (permalink / raw)


"David C. Hoos, Sr." wrote:
> On Wed, 3 Feb 1999, Juergen Pfeifer wrote:
> >    -  Should we by default build packages based on egcs?
> 
> For the time being, I recommend the answer should clearly be: no.
The answer should probably be no. EGCS produces better C & FORTRAN, and
is far more C++ standard compliant than GCC 2.8.1. If you don't want to
mix versions, and Ada relibility is not very importatant, then go with
an EGCS solution.
 
> Egcs is also a
> quickly moving target, and Cygnus has already an internal not yet
> released new source tree that is very different from the currently
> published source.

In article <7g3klg$26p$1@rtl.cygnus.com> on gnu.misc.discuss &
comp.lang.ada, on 04/26/1999 Per Bothner <bothner@cygnus.com> wrote
> 
> Well, I can't think of a single Gcc feature, major or otherwise,
> that was in our standard customer release before being in EGCS.
> Note:  I am talking about the standard GNUPro product;  not
> contracted deliverables made to a specific customer.  (Obviously,
> if somebody pays for a new port to an unannounced chip, we are
> not going to put into Egcs before it is announced!)  But in
> general, customers do *not* get major features before Egcs.
> 
> Since we merge *from* Egcs to our internal tree, rather than
> vice versa, the check-in policy at Cygnus is:  Nothing gets
> into our internal tree unless it is in Egcs *or* specially
> marked as being Cygnus only or "sanitized".  That should make
> it obvious that the default is to check things into Egcs
> first or at the same time.

Unless Cygnus is openly lying about the matter, I'd say this myth is
clearly false.
> 
> There is nothing wrong with experimenting with building gnat on egcs,
> but the result should be treated with extreme care and should NOT be
> what we should offer to inexperienced new users as an easy to use
> package.
Why not easy to use? It's easy to use as GCC 2.8.1, and much easier if
you're trying to mix versions. 

> Egcs is an *experimental* compiler and they really mean it this
> way. 
Experimental in method (bazaar), not in style. It is replacing GCC as
the GNU compiler, so it's obvious RMS considers it a successful
experiment.

> Gcc 2.8 is a pretty damn good code generator already and egcs does not seem
> to contain any Ada-specific code generator improvements.
That's part of the point of a common backend, that you don't need to
make many Ada-specific code generator improvements.




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

* Re: How to build gnat on top of egcs-1.1.2, please?
  1999-05-05  0:00   ` David Starner
@ 1999-05-05  0:00     ` Robert Dewar
  1999-05-05  0:00     ` Robert Dewar
  1 sibling, 0 replies; 9+ messages in thread
From: Robert Dewar @ 1999-05-05  0:00 UTC (permalink / raw)


In article <37305FDB.44385920@aasaa.ofe.org>,
  David Starner <dstarner98@aasaa.ofe.org> wrote:
> "David C. Hoos, Sr." wrote:
> > On Wed, 3 Feb 1999, Juergen Pfeifer wrote:
> > >    -  Should we by default build packages based on egcs?
> >
> > For the time being, I recommend the answer should clearly be: no.
> The answer should probably be no. EGCS produces better C & FORTRAN, and
> is far more C++ standard compliant than GCC 2.8.1. If you don't want to
> mix versions, and Ada relibility is not very importatant, then go with
> an EGCS solution

On the other hand, as several people have documented from time to time, it
is no big deal to mix versions, so that is the recommended approach for now.

Robert Dewar
Ada Core Technologies


-----------== Posted via Deja News, The Discussion Network ==----------
http://www.dejanews.com/       Search, Read, Discuss, or Start Your Own    




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

* Re: How to build gnat on top of egcs-1.1.2, please?
  1999-05-05  0:00   ` David Starner
  1999-05-05  0:00     ` Robert Dewar
@ 1999-05-05  0:00     ` Robert Dewar
  1 sibling, 0 replies; 9+ messages in thread
From: Robert Dewar @ 1999-05-05  0:00 UTC (permalink / raw)


In article <37305FDB.44385920@aasaa.ofe.org>,
  David Starner <dstarner98@aasaa.ofe.org> wrote:

> Unless Cygnus is openly lying about the matter, I'd say this myth is
> clearly false.

Cygnus is a big company, and so the issue may well be that not everyone
knows what is going on. Just because you get told two different things
by two different people in a company does not mean that anyone is lying!

Certainly I know of at least one customer who was told by Cygnus that
there were features in GNUPro that were not (yet) in EGCS. Now it is
possible that this was misinformation, but it seems unlikely from what
I know.

I guess what is needed here if it is really of interest is a definitive
statement from Cygnus ...

It may simply be an issue of time lag, as occurs for GNAT. We issue the GNAT
Professional version first, and the public version follows, so there can be a
window where the public version does not yet have certain capabilities.

I don't see this as a big deal, so I really don't think it is that an
important issue ...

-----------== Posted via Deja News, The Discussion Network ==----------
http://www.dejanews.com/       Search, Read, Discuss, or Start Your Own    




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

* Re: How to build gnat on top of egcs-1.1.2, please?
  1999-05-05  0:00 ` David C. Hoos, Sr.
  1999-05-05  0:00   ` David Starner
@ 1999-05-07  0:00   ` Gary Gourley
  1999-05-07  0:00     ` Robert Dewar
  1 sibling, 1 reply; 9+ messages in thread
From: Gary Gourley @ 1999-05-07  0:00 UTC (permalink / raw)


>David C. Hoos, Sr." wrote:
> You make no mention of which Linux distribution (e.g., RedHat,
> Slackware, etc.) or which hardware platform (e.g., Standard PC,
> Power PC, etc.).

Basically, my i586 box is based on Redhat 5.0 but i am
running kernel 2.2.5. Actually, you can get this information
from  the field X-Mailer of the header of this message.

> 
> The best place for answers to GNAT on Linux is the Ada for
> Linux Team.  their web site is at
> http://www.cl.cam.ac.uk/~mgk25/linux-ada/
> 

Thanks. I have visited the site before. They have a patch
for egcs-1.1.1 only ... and seems that it doesn't work with
egcs-1.1.2

> Robert Dewar told me on the phone recently that an egcs built GNAT >would be very likely to be less reliable than a gcc 2.8 built GNAT. 

Oh, really? Are there any GNU testsuites for GNAT? Just like
the dejagnu testsuites for C, C++ and fortran? So we can
test it objectively.

> Unfortunately, too many users seem to be more interested in
> "getting the very latest thing" than in getting a really robust and
> well-tested product.

haha, you are quite right but I guess I am not. I still use
Redhat 5.0 based system and upgrade to kernel-2.2.5 myself
only very recently.

> 
> We should not be so naive and get excited about egcs, just because 
> it is newer in some way. Some of the comments here sound as if 
> there is a really significant performance or any other advantage to 
> be gained by building gnat on top of egcs. I would like to see hard 
> performance numbers first before I get enthusiastic about these 
> things. I have not yet seen any performance improvement by egcs 
> that would justify for me the risk of switching to the much less 
> well tested egcs environment. Gcc 2.8 is a pretty damn good code 
> generator already and egcs does not seem to contain any 
> Ada-specific code generator improvements.
> 

> Finally -- Why build it yourself?  Why not just use one of the 
> several binary GNAT distributions for Linux?

I wanna build it myself with egcs because I have applied the
Pentium processor optimization patch from Pentium Compiler
Group (www.goof.com/pcg) to egcs-1.1.2. The resulting binary
run faster on my 200MMx. For example, bzip2 built with
pgcc-1.1.2 (egcs + the Pentium patch) do compression much
much faster than egcs not to mention gcc-2.8. Here is the
result of a small test on the time egcs-generated bzip2 and
patched-egcs-generated bzip2 spent in compressing the linux
kernel-2.2.3 on a Intel 200MMX. 

__________________________________________________________________
TEST: time tar cvfI linux-2.2.3 kernel (54978KB) 
on a 200 MMX, 64MB SDRAM, IBM UDMA33 Harddisk 
__________________________________________________________________

bzip2, compile time option: -O6 -mpentium on egcs-1.1.2(no
patch)

Compression time:

244.66user 5.73system 4:34.04elapsed 91%CPU
(0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (15640major+1670minor)pagefaults 0swaps
--------------------------------------------------------------
bzip2, compile time option -06 -mpentium
--fno-strength-reduce on egcs-1.1.2 with the patch frpm
Pentium Compiler Group

Compression time:

227.25user 5.06system 4:22.11elapsed 88%CPU
(0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (15648major+1670minor)pagefaults 0swaps

--------------------------------------------------------------

> 
> I hope this helps
> 
> David C. Hoos, Sr.

Yes, thanks again. I guess I will upgrade my gcc-2.7.2.3 to
gcc-2.8.1 and build gnat with 2.8.1. Btw, are there any gnat 
patch for gdb-4.18?

Thanks

-gary




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

* Re: How to build gnat on top of egcs-1.1.2, please?
  1999-05-07  0:00   ` Gary Gourley
@ 1999-05-07  0:00     ` Robert Dewar
  1999-05-07  0:00       ` David Brown
  0 siblings, 1 reply; 9+ messages in thread
From: Robert Dewar @ 1999-05-07  0:00 UTC (permalink / raw)


In article <37325C20.6E63F83D@here.org>,
  Gary Gourley <not@here.org> wrote:
> Oh, really? Are there any GNU testsuites for GNAT? Just like
> the dejagnu testsuites for C, C++ and fortran? So we can
> test it objectively.

There is of course the ACVC suite, which is quite comprehensive.
But from our point of view the critical test suites are the ACT
internal regression suite (5500 directories of test cases with
many millions of lines of code), and the DEC test suite. Both
these suites contain highly proprietary customer code, and
cannot be released publicly.

> > Unfortunately, too many users seem to be more interested in
> > "getting the very latest thing" than in getting a really robust and
> > well-tested product.
>
> haha, you are quite right but I guess I am not.

Probably a good thing, but see below

> > Finally -- Why build it yourself?  Why not just use one of the
> > several binary GNAT distributions for Linux?
>
> I wanna build it myself with egcs because I have applied the
> Pentium processor optimization patch from Pentium Compiler
> Group (www.goof.com/pcg) to egcs-1.1.2. The resulting binary
> run faster on my 200MMx. For example, bzip2 built with
> pgcc-1.1.2 (egcs + the Pentium patch) do compression much
> much faster than egcs not to mention gcc-2.8. Here is the
> result of a small test on the time egcs-generated bzip2 and
> patched-egcs-generated bzip2 spent in compressing the linux
> kernel-2.2.3 on a Intel 200MMX.

Now you seem to be back in the mode of wanting the latest and
greatest even if it is not tested fully. Personally my reaction
to a 5% gain in speed for one program is that this is not
interesting enough to jump the gun and try to put together
software components that have not been designed to work with
one another and have not been tested.

But by all means go ahead, and definitely let others know your
experience. The pioneers can always help those who follow later :-)

-----------== Posted via Deja News, The Discussion Network ==----------
http://www.dejanews.com/       Search, Read, Discuss, or Start Your Own    




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

* Re: How to build gnat on top of egcs-1.1.2, please?
  1999-05-07  0:00     ` Robert Dewar
@ 1999-05-07  0:00       ` David Brown
  1999-05-08  0:00         ` dewarr
  0 siblings, 1 reply; 9+ messages in thread
From: David Brown @ 1999-05-07  0:00 UTC (permalink / raw)


>>>>> On Fri, 07 May 1999 13:42:57 GMT, Robert Dewar <robert_dewar@my-dejanews.com> said:

> Now you seem to be back in the mode of wanting the latest and
> greatest even if it is not tested fully. Personally my reaction
> to a 5% gain in speed for one program is that this is not
> interesting enough to jump the gun and try to put together
> software components that have not been designed to work with
> one another and have not been tested.

> But by all means go ahead, and definitely let others know your
> experience. The pioneers can always help those who follow later :-)

In my copious (:-) free time, I have been trying to build GNAT targed
for the ARM7TDMI process with the thumb instruction set.  Since this
target is not supported by GCC 2.8, but only in recent egcs trees, I
do not have much choice.

I have gotten basic code generation working, but I haven't worked far
enough to link something together yet.  The daunting task, is going to
be the run time.

At some point, I would like to put together the instructions about
what I did to build all of this.

Dave Brown




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

* Re: How to build gnat on top of egcs-1.1.2, please?
  1999-05-07  0:00       ` David Brown
@ 1999-05-08  0:00         ` dewarr
  0 siblings, 0 replies; 9+ messages in thread
From: dewarr @ 1999-05-08  0:00 UTC (permalink / raw)


In article <osogjx53pi.fsf@opus.davidb.org>,
  David Brown <davidb-cla@davidb.org> wrote:
> >>>>> On Fri, 07 May 1999 13:42:57 GMT, Robert Dewar
<robert_dewar@my-dejanews.com> said:

> In my copious (:-) free time, I have been trying to build GNAT targed
> for the ARM7TDMI process with the thumb instruction set.  Since this
> target is not supported by GCC 2.8, but only in recent egcs trees, I
> do not have much choice.

This may not be true. The machine description files have not changed
significantly between EGCS and GCC 2.8, so it should be perfectly easy
to import this architecture into GCC 2.8.

Whether this makes sense as an approach depends on your relative
knowledge of GCC and GNAT, and the time scale requirement.

-----------== Posted via Deja News, The Discussion Network ==----------
http://www.dejanews.com/       Search, Read, Discuss, or Start Your Own    




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

end of thread, other threads:[~1999-05-08  0:00 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1999-05-05  0:00 How to build gnat on top of egcs-1.1.2, please? Gary Gourley
1999-05-05  0:00 ` David C. Hoos, Sr.
1999-05-05  0:00   ` David Starner
1999-05-05  0:00     ` Robert Dewar
1999-05-05  0:00     ` Robert Dewar
1999-05-07  0:00   ` Gary Gourley
1999-05-07  0:00     ` Robert Dewar
1999-05-07  0:00       ` David Brown
1999-05-08  0:00         ` dewarr

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox