Re: GCC cross-compilation
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
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
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
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
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
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
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
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
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
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] .