public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
* pre-build advice
@ 1998-05-04 18:07 Daniel Karipides
  1998-05-05 13:33 ` H.J. Lu
                   ` (2 more replies)
  0 siblings, 3 replies; 9+ messages in thread
From: Daniel Karipides @ 1998-05-04 18:07 UTC (permalink / raw)
  To: egcs

I'm looking for a little advice before I build the latest snapshot
of egcs.  I'm worried that a little of the information in the FAQ
and other places may be a little out of date, so I thought I would
ask here.

I will be building egcs on three system types:

- Pentium II, 300Mz, running Linux RedHat 5.0 (not sure what the
  config.guess will be here...)
- mips-sgi-irix5.3
- mips-sgi-irix6.2

My questions:

(1) For linux, I plan to use glibc 2.0.6 ... is this what people
    would recommend?

(2) Also for linux, what version of binutils should I use?  I've
    seen people recommend 2.8.1.0.23 and 2.9.  Does the 2.9 version
    work with glibc2?  Or should I use 2.8.1.0.23 that H.J. Lu
    mentioned in a previous message?

(3) For the SGI's, would people recommend using gas for 5.3?  I know
    that gas _should not_ be used for 6.2.  I assume I should get
    the latest binutils (2.9) so that I have ranlib.

(4) Given that gdb-4.1.7 is out, is there any reasons not to use
    DWARF2 debugging information; i.e., configure with the --with-stabs
    option, for example?

and perhaps an ignorant question:

(5) If I build glibc2, binutils, etc with an old version of cc (on SGI)
    or gcc (on linux), do I need to rebuild them once I get egcs
    compiled?  Explicitly, do I have to:

    -build binutils, etc with old compiler
    -build egcs
    -build binutils, etc with egcs
    -build egcs using egcs built with the new binutils, etc.

   I can't see what this would do for me, but I want to be sure.

Thanks in advance,

-Dan
----
karipid@mae.cornell.edu

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

* Re: pre-build advice
  1998-05-04 18:07 pre-build advice Daniel Karipides
@ 1998-05-05 13:33 ` H.J. Lu
  1998-05-05 16:32 ` Horst von Brand
  1998-05-06  2:02 ` Jim Wilson
  2 siblings, 0 replies; 9+ messages in thread
From: H.J. Lu @ 1998-05-05 13:33 UTC (permalink / raw)
  To: Daniel Karipides; +Cc: egcs

> 
> 
> I'm looking for a little advice before I build the latest snapshot
> of egcs.  I'm worried that a little of the information in the FAQ
> and other places may be a little out of date, so I thought I would
> ask here.
> 
> I will be building egcs on three system types:
> 
> - Pentium II, 300Mz, running Linux RedHat 5.0 (not sure what the
>   config.guess will be here...)
> - mips-sgi-irix5.3
> - mips-sgi-irix6.2
> 
> My questions:
> 
> (1) For linux, I plan to use glibc 2.0.6 ... is this what people
>     would recommend?

glibc 2.0.7 is much better. You can get it from redhat.com.

> 
> (2) Also for linux, what version of binutils should I use?  I've
>     seen people recommend 2.8.1.0.23 and 2.9.  Does the 2.9 version
>     work with glibc2?  Or should I use 2.8.1.0.23 that H.J. Lu
>     mentioned in a previous message?

binutils 2.9.1 is fine. I have made x86 gas changes to 2.9.1. It should
generate more efficient opcodes for x86 among other improvements.



H.J.

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

* Re: pre-build advice
  1998-05-04 18:07 pre-build advice Daniel Karipides
  1998-05-05 13:33 ` H.J. Lu
@ 1998-05-05 16:32 ` Horst von Brand
  1998-05-06  2:02 ` Jim Wilson
  2 siblings, 0 replies; 9+ messages in thread
From: Horst von Brand @ 1998-05-05 16:32 UTC (permalink / raw)
  To: Daniel Karipides; +Cc: egcs

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 1990 bytes --]

karipid@mae.cornell.edu (Daniel Karipides) said:
> I will be building egcs on three system types:

> - Pentium II, 300Mz, running Linux RedHat 5.0 (not sure what the
>   config.guess will be here...)

I can comment on this one.
- Get the latest updates for RedHat (glibc-2.0.7-7 for now, I believe)
- The guess should be i686-pc-linux-gnu (A PII is in its core a PPro)
- Note that the RedHat people configure their compilers and stuff as
  i386-redhat-linux... 
- binutils-2.9.1.0.3, glibc-2.0.92 (ss 980412) work fine here too. No heavy
  use, no much more than C though.

> (5) If I build glibc2, binutils, etc with an old version of cc (on SGI)
>     or gcc (on linux), do I need to rebuild them once I get egcs
>     compiled?  Explicitly, do I have to:
> 
>     -build binutils, etc with old compiler
>     -build egcs
>     -build binutils, etc with egcs
>     -build egcs using egcs built with the new binutils, etc.
> 
>    I can't see what this would do for me, but I want to be sure.

Hummm... the egcs compiler is much better at optimizing, and by building a
glibc et al just tailored to your system (RedHat builds to the minimal
common denominator, i.e., i386) you might get much better performance (my
libc-2.0.92.so is a third (!) of the size of the one RedHat distributes...
but probably most of the size change is due to debugging symbols that
aren't loaded into memory anyway). OTOH, I found out that old applications
using ncurses (linked dynamically) would work fine with the new glibc, but
freshly build ones would crash on startup.  Recompiling ncurses (from the
SRPM) cured that one. But my glibc is an experimental version, so YMMV
here. The newest binutils as does some optimizations like leaving out
unneded prefix bytes, so a newer binutils will do some good.

Just leave the builds running overnight ;-)
-- 
Horst von Brand                             vonbrand@sleipnir.valparaiso.cl
Casilla 9G, Viña del Mar, Chile                               +56 32 672616

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

* Re: pre-build advice
  1998-05-04 18:07 pre-build advice Daniel Karipides
  1998-05-05 13:33 ` H.J. Lu
  1998-05-05 16:32 ` Horst von Brand
@ 1998-05-06  2:02 ` Jim Wilson
  1998-05-07 16:19   ` Alexandre Oliva
  1998-05-08 15:42   ` Gerald Pfeifer
  2 siblings, 2 replies; 9+ messages in thread
From: Jim Wilson @ 1998-05-06  2:02 UTC (permalink / raw)
  To: Daniel Karipides; +Cc: egcs

Others have commented on the linux parts, I will just comment on the SGI
stuff.

	(3) For the SGI's, would people recommend using gas for 5.3?  I know
	    that gas _should not_ be used for 6.2.  I assume I should get
	    the latest binutils (2.9) so that I have ranlib.

You need gas if you want -g to work, so yes, I would recommend it.

There is a bug in the binutils 2.9 mips support, so you would want 2.9.1.
I don't know offhand if anyone has tested a egcs/gcc bootstrap with 2.9.1 on
a irix5 system yet.

If you use binutils 2.8, C++ EH won't work.  You need binutils from at least
Aug/Sep 1997 for that to work.  Most of the various linux binutils releases
will probably do.

	(4) Given that gdb-4.1.7 is out, is there any reasons not to use
	    DWARF2 debugging information; i.e., configure with the --with-stabs
	    option, for example?

I don't think anyone has tested the dwarf2 support on an irix5 system, but
you are welcome to try.  You would need to use gas, because the irix5 SGI as
won't handle dwarf2.  --with-stabs is the best tested and most likely to
work choice.

Dwarf2 is the default for irix6.  --with-stabs won't do anything.

You can get dwarf2 debug info on a linux system by using -ggdb, but they
still default to stabs.

	(5) If I build glibc2, binutils, etc with an old version of cc (on SGI)
	    or gcc (on linux), do I need to rebuild them once I get egcs
	    compiled?  Explicitly, do I have to:

	    -build binutils, etc with old compiler
	    -build egcs
	    -build binutils, etc with egcs
	    -build egcs using egcs built with the new binutils, etc.

Build binutils.  Build egcs.  Build glibc2 and other libraries with egcs.
There is no particular need to rebuild binutils with egcs

Jim

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

* Re: pre-build advice
  1998-05-06  2:02 ` Jim Wilson
@ 1998-05-07 16:19   ` Alexandre Oliva
  1998-05-08 15:42   ` Gerald Pfeifer
  1 sibling, 0 replies; 9+ messages in thread
From: Alexandre Oliva @ 1998-05-07 16:19 UTC (permalink / raw)
  To: Jim Wilson; +Cc: Daniel Karipides, egcs

Jim Wilson <wilson@cygnus.com> writes:

> There is a bug in the binutils 2.9 mips support, so you would want 2.9.1.
> I don't know offhand if anyone has tested a egcs/gcc bootstrap with 2.9.1 on
> a irix5 system yet.

I did, and it will fail at random points after having built stage2
xgcc.  As someone else pointed out in the gcc2 mailing list, the kind
of behavior I experienced seems to indicate it should be some kind of
hardware failure, but, as soon as I reverted to binutils 2.8.x, I was
able to bootstrap gcctest and egcs_latest_snapshot, which would fail
at random points with binutils 2.9.1.  It *might* be just a
coincidence, but I'm more and more inclined to believe it is not.

-- 
Alexandre Oliva
mailto:oliva@dcc.unicamp.br mailto:aoliva@acm.org
http://www.dcc.unicamp.br/~oliva
Universidade Estadual de Campinas, SP, Brasil


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

* Re: pre-build advice
  1998-05-06  2:02 ` Jim Wilson
  1998-05-07 16:19   ` Alexandre Oliva
@ 1998-05-08 15:42   ` Gerald Pfeifer
  1998-05-09 23:12     ` Jeffrey A Law
  1 sibling, 1 reply; 9+ messages in thread
From: Gerald Pfeifer @ 1998-05-08 15:42 UTC (permalink / raw)
  To: egcs; +Cc: Jim Wilson

On Tue, 5 May 1998, Jim Wilson wrote:
> Build binutils.  Build egcs.

How _exactly_ should this been done? 

---- first draft ----
cd /source/tree/binutils
./configure --prefix=/local/binaries
make; make install
cd /source/tree/egcs
./configure --prefix=/local/binaries --with-gnu-as --with-gnu-ld
make bootstrap; make install
---- first draft ----

I'm asking (again -- my first inquiry to this list hasn't been answered)
for two reasons: 

 a) I think this should go to the FAQ and/or docs and I'd be willing to
    write and  submit the corresponding entry.
 b) I believe it doesn't work under FreeBSD.

Gerald
-- 
Gerald Pfeifer (Jerry)      Vienna University of Technology
pfeifer@dbai.tuwien.ac.at   http://www.dbai.tuwien.ac.at/~pfeifer/


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

* Re: pre-build advice
  1998-05-08 15:42   ` Gerald Pfeifer
@ 1998-05-09 23:12     ` Jeffrey A Law
  1998-05-10 11:10       ` David Edelsohn
  0 siblings, 1 reply; 9+ messages in thread
From: Jeffrey A Law @ 1998-05-09 23:12 UTC (permalink / raw)
  To: Gerald Pfeifer; +Cc: egcs, Jim Wilson

  In message < Pine.GSO.3.96.980509002350.4750B-100000@nashira.dbai.tuwien.ac.at >you write:
  > On Tue, 5 May 1998, Jim Wilson wrote:
  > > Build binutils.  Build egcs.
  > 
  > How _exactly_ should this been done? 
It depends, that's why you don't get exact recepies.  For example
even when using binutils you might not want --with-gnu-ld.

You can also set up a "single tree" build environment which can
be used to build egcs, gdb, binutils and other tools from a 
single source tree with a single "make" command.  This kind of
setup is easier for folks building cross compilers.

  > ---- first draft ----
  > cd /source/tree/binutils
  > ./configure --prefix=/local/binaries
  > make; make install
  > cd /source/tree/egcs
  > ./configure --prefix=/local/binaries --with-gnu-as --with-gnu-ld
  > make bootstrap; make install
  > ---- first draft ----
Close.  Probably the only thing I would suggest is build in a
tree totally separate from your sources.


  >  b) I believe it doesn't work under FreeBSD.
It's possible.   We haven't received a whole lot of feedback and
contributions from the FreeBSD folks until fairly recently.

jeff

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

* Re: pre-build advice
  1998-05-09 23:12     ` Jeffrey A Law
@ 1998-05-10 11:10       ` David Edelsohn
  1998-05-10 20:57         ` Jeffrey A Law
  0 siblings, 1 reply; 9+ messages in thread
From: David Edelsohn @ 1998-05-10 11:10 UTC (permalink / raw)
  To: law; +Cc: Gerald Pfeifer, egcs, Jim Wilson

>>>>> Jeffrey A Law writes:

Jeff> You can also set up a "single tree" build environment which can
Jeff> be used to build egcs, gdb, binutils and other tools from a 
Jeff> single source tree with a single "make" command.  This kind of
Jeff> setup is easier for folks building cross compilers.

	While it is possible to combine egcs, binutils, newlib, gdb,
etc. into a single tree.  Including gdb seems to be discouraged because
both it and binutils rely upon bfd in subtle ways.  One can run into
problems because of source skew between binutils and gdb as only one
package can be the source for the bfd library.  binutils is more integral
in the toolchain, so it usually is better to include binutils in the
"single tree" and build gdb separately.

	Cygnus does not have this problem because they can access their
development tree in which bfd is not forked for a particular package.

David


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

* Re: pre-build advice
  1998-05-10 11:10       ` David Edelsohn
@ 1998-05-10 20:57         ` Jeffrey A Law
  0 siblings, 0 replies; 9+ messages in thread
From: Jeffrey A Law @ 1998-05-10 20:57 UTC (permalink / raw)
  To: David Edelsohn; +Cc: Gerald Pfeifer, egcs, Jim Wilson

  In message < 9805101810.AA37350@rios1.watson.ibm.com >you write:
  > >>>>> Jeffrey A Law writes:
  > 
  > Jeff> You can also set up a "single tree" build environment which can
  > Jeff> be used to build egcs, gdb, binutils and other tools from a 
  > Jeff> single source tree with a single "make" command.  This kind of
  > Jeff> setup is easier for folks building cross compilers.
  > 
  > 	While it is possible to combine egcs, binutils, newlib, gdb,
  > etc. into a single tree.  Including gdb seems to be discouraged because
  > both it and binutils rely upon bfd in subtle ways.  One can run into
  > problems because of source skew between binutils and gdb as only one
  > package can be the source for the bfd library.  binutils is more integral
  > in the toolchain, so it usually is better to include binutils in the
  > "single tree" and build gdb separately.
This is certainly an issue.  And I agree about the "solution" to
kick gdb out if there are bfd incompatibilties.


  > 	Cygnus does not have this problem because they can access their
  > development tree in which bfd is not forked for a particular package.
Yup.

Another solution is to pick up gdb & binutils snapshots to avoid bfd
version skew, but that's pretty high maintenance.

jeff

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

end of thread, other threads:[~1998-05-10 20:57 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1998-05-04 18:07 pre-build advice Daniel Karipides
1998-05-05 13:33 ` H.J. Lu
1998-05-05 16:32 ` Horst von Brand
1998-05-06  2:02 ` Jim Wilson
1998-05-07 16:19   ` Alexandre Oliva
1998-05-08 15:42   ` Gerald Pfeifer
1998-05-09 23:12     ` Jeffrey A Law
1998-05-10 11:10       ` David Edelsohn
1998-05-10 20:57         ` Jeffrey A Law

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