This is the mail archive of the mailing list for the crossgcc project.

See the CrossGCC FAQ for lots more information.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Where's the Cross-GCC FAQ ?

Hi All - Comments in-line below...
Thanks in advance for your thoughts !

At 05:57 PM 11/28/2008, Yann E. MORIN wrote:

On Friday 28 November 2008 20:12:46 Dave Nadler wrote:
> Hi Yann & All - I am in need of building a cross-compiler for MIPS
> (PIC32MX), with host and build environment cygwin using gcc 3.4.4. Also,

Hmmm. gcc-3.4.4 is ageing now (May 2005)... Do you have strong requirements to stick with so old a version, and not upgrade?

The final compiler can be 4.x, but the host and build environment is 3.4.4 because that is the current stable tool-chain for cygwin as best I am able to understand.

> bare-metal libraries, including C++.

What are you calling "bare-metal libraries"?

"Bare-metal" (in my understanding) refer to a toolchain that targets no
"system". Generaly, you'd use a bare-metal compiler to build whatever runs
on the bare-metal, without any underlying kernel of any sort.

A bare-metal compiler can be used to build a bootloader, for example. It
should be able to build a Linux kernel also (but is curently impossible due
to dependencies on the target system C library for ACPI related stuff).

C++ is certainly not available on bare-metal!

There is no OS on the target hardware, which has 512kb ROM but only 32kb RAM. I am not trying to bootstrap, only build a useful cross-compiler. Certainly C++ can work well on such a target. C++ will help with existing C++ code I will run on this target and helps us keep the code small and fast - but you do need to understand C++ well to avoid bloat...

> From the crosstool-NG I understood that cygwin is not supported,

It is not supported. Which does not mean it doesn't work.

I have no Windows available, so can't test. As long as the configure and
Makefiles of the components (gcc, binutils, etc...) are correctly written,
and there's no reson they should not(*), they could be run under Cygwin,
and they do, or you wouldn't have toolchains under Cygwin.

As for crosstool-NG, it is written only with Makefiles and shell scripts.
So nothing should prevent it to run under Cygwin.

As to know whether there are quirks in the setup of the components so that
they build fine under Cygwin, I have no idea. And if even I had, I could
not test. You are welcome to test and report back! :-)

Maybe I'll give it a spin and see what happens...

> hence I was looking at Dan Kegel's tool - where I find a bunch of broken links.

Unfortunately, it looks like Dan no longer has time to maintain it. The
last time crosstool was (code-wise) modified was in August 2007...

> Would trying a current GCC under cygwin with crosstool-NG be a good
> idea or a hopeless exercise in frustration ?

It would be a very good idea and a very interesting exercise, indeed! As to
whether you'll get frustrated or not, I can't say! It took me more than two
years to bring it to the shape it currently is under Linux. I can only guess
it will take some time to make it work under another system (such as Cygwin),
and can only hope it will not be too long a time...

> It would be much easier under
> linux than cygwin I know, but cygwin is going to be much more practical for
> users of this toolchain at the moment.

I never buy such an argument. If you are developing for a Linux-based target,
it is so much easier to develop on a Linux-based system (or at least any
other POSIX-compliant system) than under an limited emulation layer under
Windows. Using a Linux-based development system would allow to first natively
develop, with all the tools commonly available (strace, ltrace, coverity)
that can run on x86 or x86_64 (and many other high-end Workstations), which
is much easier than to cross-develop at the first step...

Plus, if the developpers are not used to developping for Linux systems, they
starting off with cross-developping for a Linux target is really complex. If
they're used to it, I guess they'll hapily switch to Linux! ;-)

At worst, setup a Linux workstation to which users connect (via ssh with
putty, or via xdmcp with X under cygwin, or...).

Again, this is for developing on a bare-metal system, not Linux. The other tools the folks will be using are Windows. That's just the way it is for now, its not subject to religious arguments...

Thanks again for your thoughts,
Best Regards, Dave

Yann E. MORIN.

(*) except they most often than not are written with the crappy autotools
    stuff, which really sucks when it comes to cross-compilation...

| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +0/33 662376056 | Software Designer | \ / CAMPAIGN | ___ |
| --==< ^_^ >==-- `------------.-------: X AGAINST | \e/ There is no |
| | _/*\_ | / \ HTML MAIL | v conspiracy. |

Dave Nadler, USA East Coast voice (978) 263-0097,

For unsubscribe information see

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]