Re: GCC cross-compilation

1997-06-24 Thread Galen Hazelwood
Hamish Moffatt wrote:
 
 On Jun 22, Galen Hazelwood wrote
  Hamish Moffatt wrote:
  Nope.  What happens is most (single-cpu) developers upload the source
  and binaries for one architecture.  Then helpful and nice developers who
  own other machines upload binaries for their cpu, built from the source.
 
 I see. Well, it would seem simpler to cross-compile.

Simpler...but much, much more dangerous.  I just sent mail to
debian-devel explaining why I don't trust cross-compilers.  If you don't
get debian-devel, the summary is that you (a) can't test the binaries
you produce and (b) cross-compilers can be unstable.  Just ask anybody
who ever tried to build alpha binaries on a 32-bit system.  :(

 I was thinking that the architecture independent parts of gcc
 could be placed in one package, and the architecture-specific
 parts in another. In my compilation of the cross-compiler,
 I just got a new cc1, etc, under /usr/lib/gcc-lib, and
 some other files. I was thinking that even the i386 files
 could be separated from the actually /usr/bin/gcc binary,
 because the gcc binary doesn't seem to know what
 targets it has by anything except what it can find in
 /usr/lib/gcc-lib; my cross-compile didn't give me a new gcc.

There are no architecture independent parts of gcc.  The defaults in
such things as /usr/bin/gcc are conditioned by the architecture. 
/usr/bin/gcc *does* know what targets it has--it has exactly one, the
one you configured it for.  You can get it to use others by command line
flags, but it's just as easy to produce binaries like
/usr/bin/cpu-os-gcc which do the job for you.  This means that cross
compilers can be installed and used even if you don't have the native
gcc for your system!

--Galen


--
TO UNSUBSCRIBE FROM THIS MAILING LIST: e-mail the word unsubscribe to
[EMAIL PROTECTED] . 
Trouble?  e-mail to [EMAIL PROTECTED] .



Re: GCC cross-compilation

1997-06-24 Thread Mark Eichin
Hmm.  While there are *particular* problems doing 32-64 bit cross
compilation, doing any 32-32 compilation is probably *quite* solid.
(In particular, compilers targeting the 68k are probably *better* than
the x86 native compiler -- because we've [we==Cygnus] actually had a
lot of paying 68k customers over the years funding development and bug
fixing...)

A particular example is the cross-tools for the USR PalmPilot PDA; you
can't run a native gcc in 512K or 1M, nor is there any reason to - the
cross compiler and related tools work fine... and as for testing:
all you need is a good emulator :-)  There are patches (I think
they're in 2.1.x, actually) for running executables which are
recognizably from some other architecture using an emulator, and
Andrew Tridgell's PPC emulator is good enough to boot NetBSD...  I'm
not absolutely recommending this, but it's something to keep in mind.

_Mark_ [EMAIL PROTECTED]
The Herd of Kittens
Debian X Maintainer


--
TO UNSUBSCRIBE FROM THIS MAILING LIST: e-mail the word unsubscribe to
[EMAIL PROTECTED] . 
Trouble?  e-mail to [EMAIL PROTECTED] .



RE: GCC cross-compilation

1997-06-24 Thread Michael Meskes
I see. But I do not totally agree. We're used to do SCO development on
theLinux box and it works like a charm.

Michael

--
Dr. Michael Meskes, Projekt-Manager| topsystem Systemhaus GmbH
[EMAIL PROTECTED]| Europark A2, Adenauerstr. 20
[EMAIL PROTECTED]  | 52146 Wuerselen
Go SF49ers! Go Rhein Fire! | Tel: (+49) 2405/4670-44
Use Debian GNU/Linux!  | Fax: (+49) 2405/4670-10

-Original Message-
From:  Galen Hazelwood [SMTP:[EMAIL PROTECTED]
Sent:  Tuesday, June 24, 1997 12:55 AM
To:Michael Meskes
Cc:debian-devel@lists.debian.org
Subject:   Re: GCC cross-compilation

Michael Meskes wrote:
 
 Does this mean I could upload all architecture version for my packages?
 If so yes, I think it's useful.
 
 Michael
 

Well, I personally distrust cross-compilers...at least gcc cross
compilers.  I know that at least one crossover (i386-alpha) has been
known to produce broken binaries at one time, and how can you tell when
the next such disaster will be?  Since you can't actually test the
cross-compiled programs you generated, you never know when you might be
uploading something _really_ broken into stable.

Cross compilers are very good for bootstrapping new linux ports and
things like that, but I wouldn't want to upload production binaries
built by a cross-compiler, and would be _very_ upset to find that I was
using one.

--Galen


--
TO UNSUBSCRIBE FROM THIS MAILING LIST: e-mail the word unsubscribe to
[EMAIL PROTECTED] . 
Trouble?  e-mail to [EMAIL PROTECTED] .



Re: GCC cross-compilation

1997-06-24 Thread Roman Hodek

 Well, I personally distrust cross-compilers...at least gcc cross
 compilers. I know that at least one crossover (i386-alpha) has been
 known to produce broken binaries at one time,

In that case, 32/64 bit stuff has been the cause...

 Since you can't actually test the cross-compiled programs you
 generated, you never know when you might be uploading something
 _really_ broken into stable.
 
 Cross compilers are very good for bootstrapping new linux ports and
 things like that, but I wouldn't want to upload production
 binaries built by a cross-compiler, and would be _very_ upset to
 find that I was using one.

I use cross-compiling most of the time for m68k, just because the
Intel machines are much faster... But I test the resulting packages on
the 68k machine :-) In that case, I think there's nothing to say
against cross-compiling...

BTW, what really doesn't work with cross-compiling is floating point,
due to deficiencies in gcc. But you can avoid problems if you use the
standard float.h installed with a cross-gcc. That one just contains
an #error, so you'll be notified at compile time.

Roman


--
TO UNSUBSCRIBE FROM THIS MAILING LIST: e-mail the word unsubscribe to
[EMAIL PROTECTED] . 
Trouble?  e-mail to [EMAIL PROTECTED] .



Re: GCC cross-compilation

1997-06-24 Thread Hamish Moffatt
On Tue, Jun 24, 1997 at 10:55:09AM +0200, Roman Hodek wrote:
 I use cross-compiling most of the time for m68k, just because the
 Intel machines are much faster... But I test the resulting packages on
 the 68k machine :-) In that case, I think there's nothing to say
 against cross-compiling...
 
 BTW, what really doesn't work with cross-compiling is floating point,
 due to deficiencies in gcc. But you can avoid problems if you use the
 standard float.h installed with a cross-gcc. That one just contains
 an #error, so you'll be notified at compile time.

I find this surprising. Presumably, the same gcc source produces
fine binaries for platform x when running on platform x, and fine
binaries for platform y when running on platform y. But what
is the dependence on the host platform? Admittedly, I know
nothing about compiler internals, but I cannot see a reason
why compilation should be at all dependent on the host platform.

In any case, I mentioned this originally because I'd just compiled
gcc for the 6811, to run in i386. I don't think an 8 bit machine
with 64k of address space will run gcc ..

Hamish
-- 
Hamish Moffatt, StudIEAust[EMAIL PROTECTED]
Student, computer science  computer systems engineering.3rd year, RMIT.
http://hamish.home.ml.org/ (PGP key here) CPOM: [  ] 48%
The opposite of a profound truth may well be another profound truth.  --Bohr


--
TO UNSUBSCRIBE FROM THIS MAILING LIST: e-mail the word unsubscribe to
[EMAIL PROTECTED] . 
Trouble?  e-mail to [EMAIL PROTECTED] .



Re: GCC cross-compilation

1997-06-24 Thread Galen Hazelwood
Mark Eichin wrote:
 
 Hmm.  While there are *particular* problems doing 32-64 bit cross
 compilation, doing any 32-32 compilation is probably *quite* solid.
 (In particular, compilers targeting the 68k are probably *better* than
 the x86 native compiler -- because we've [we==Cygnus] actually had a
 lot of paying 68k customers over the years funding development and bug
 fixing...)

Sure, it's probably safe, and I agree that gcc generates better m68k
code than i386 code.  But until somebody produces 100% reliable
emulators for all Debian targets, we're probably better off not using
cross-compilers for main distribution stuff.

However, it does seem that people want cross-compilers, and I have no
objection to making them available.  Pre-packaged compilers should
probably also have the basic development environment as well:  libc6 at
minimum, perhaps ncurses as well.

--Galen


--
TO UNSUBSCRIBE FROM THIS MAILING LIST: e-mail the word unsubscribe to
[EMAIL PROTECTED] . 
Trouble?  e-mail to [EMAIL PROTECTED] .



RE: GCC cross-compilation

1997-06-23 Thread Michael Meskes
Does this mean I could upload all architecture version for my packages?
If so yes, I think it's useful.

Michael

--
Dr. Michael Meskes, Projekt-Manager| topsystem Systemhaus GmbH
[EMAIL PROTECTED]| Europark A2, Adenauerstr. 20
[EMAIL PROTECTED]  | 52146 Wuerselen
Go SF49ers! Go Rhein Fire! | Tel: (+49) 2405/4670-44
Use Debian GNU/Linux!  | Fax: (+49) 2405/4670-10

-Original Message-
From:  Galen Hazelwood [SMTP:[EMAIL PROTECTED]
Sent:  Sunday, June 22, 1997 8:41 PM
To:Hamish Moffatt
Cc:Die Adresse des Empfängers ist unbekannt.
Subject:   Re: GCC cross-compilation

Hamish Moffatt wrote:
   It occurred to
 me that since most of the Debian packages
 are also available for m68k and also
 Sparc and Alpha now, the develops are probably
 using cross-compilation, rather than actually
 owning all these machines. 

Nope.  What happens is most (single-cpu) developers upload the source
and binaries for one architecture.  Then helpful and nice developers who
own other machines upload binaries for their cpu, built from the source.

   Is there a package
 for eg the m68k cross compiler? I couldn't
 find one with the package search on www.debian.org.

I don't think so.  At least, not one I built.

 Thinking about it, it would seem possible
 to have a gcc-core package which would
 include the gcc binary itself for
[snip]

There really isn't a core gcc package, just the native version.  gcc
cross compilers wouldn't need any other gcc packages to be useful.

 Is this plausible and/or useful?

Plausible.  Would anybody else consider this useful?

--Galen


--
TO UNSUBSCRIBE FROM THIS MAILING LIST: e-mail the word unsubscribe to
[EMAIL PROTECTED] . 
Trouble?  e-mail to [EMAIL PROTECTED] .



--
TO UNSUBSCRIBE FROM THIS MAILING LIST: e-mail the word unsubscribe to
[EMAIL PROTECTED] .
Trouble?  e-mail to [EMAIL PROTECTED] .



Re: GCC cross-compilation

1997-06-23 Thread Roman Hodek

 Does this mean I could upload all architecture version for my
 packages? If so yes, I think it's useful.

But if you do that, you haven't tested whether your package is really
running on another architecture...

Roman


--
TO UNSUBSCRIBE FROM THIS MAILING LIST: e-mail the word unsubscribe to
[EMAIL PROTECTED] . 
Trouble?  e-mail to [EMAIL PROTECTED] .



Re: GCC cross-compilation

1997-06-23 Thread Galen Hazelwood
Michael Meskes wrote:
 
 Does this mean I could upload all architecture version for my packages?
 If so yes, I think it's useful.
 
 Michael
 

Well, I personally distrust cross-compilers...at least gcc cross
compilers.  I know that at least one crossover (i386-alpha) has been
known to produce broken binaries at one time, and how can you tell when
the next such disaster will be?  Since you can't actually test the
cross-compiled programs you generated, you never know when you might be
uploading something _really_ broken into stable.

Cross compilers are very good for bootstrapping new linux ports and
things like that, but I wouldn't want to upload production binaries
built by a cross-compiler, and would be _very_ upset to find that I was
using one.

--Galen


--
TO UNSUBSCRIBE FROM THIS MAILING LIST: e-mail the word unsubscribe to
[EMAIL PROTECTED] . 
Trouble?  e-mail to [EMAIL PROTECTED] .



Re: GCC cross-compilation

1997-06-22 Thread Galen Hazelwood
Hamish Moffatt wrote:
   It occurred to
 me that since most of the Debian packages
 are also available for m68k and also
 Sparc and Alpha now, the develops are probably
 using cross-compilation, rather than actually
 owning all these machines. 

Nope.  What happens is most (single-cpu) developers upload the source
and binaries for one architecture.  Then helpful and nice developers who
own other machines upload binaries for their cpu, built from the source.

   Is there a package
 for eg the m68k cross compiler? I couldn't
 find one with the package search on www.debian.org.

I don't think so.  At least, not one I built.

 Thinking about it, it would seem possible
 to have a gcc-core package which would
 include the gcc binary itself for
[snip]

There really isn't a core gcc package, just the native version.  gcc
cross compilers wouldn't need any other gcc packages to be useful.

 Is this plausible and/or useful?

Plausible.  Would anybody else consider this useful?

--Galen


--
TO UNSUBSCRIBE FROM THIS MAILING LIST: e-mail the word unsubscribe to
[EMAIL PROTECTED] . 
Trouble?  e-mail to [EMAIL PROTECTED] .