Where's the Cross-GCC FAQ ?
Yann E. MORIN
yann.morin.1998@anciens.enib.fr
Wed Dec 3 23:16:00 GMT 2008
Dave,
All,
On Wednesday 03 December 2008 00:27:16 Dave Nadler wrote:
> We wait to hear how it worked Yann !
> And also a list of what cygwin pieces you needed to install... ;-)
> Thanks for your efforts,
> Best Regards, Dave
>
> PS: Just to be really clear about what I hope to get:
> - build and host environment is cygwin
> - target environment is bare-metal small MIPS machine
> - target libraries are needed to support any components
> expected by the compiler, including basic memory allocation
> and library routines needed to support C++...
Now for me to be very clear:
I am not paid for my work on crosstool-NG.
I am working on crosstool-NG on my spare time, because I have a need for it.
It takes me a lot of time, more than 3 hours a day after I come back from
work, plus more than 6 hours saturdays and sundays. That is above 30 hours a
week (*). This for about the last two years.
I exclusively have Linux machines at home, I don't have any Windows-based real
machine at hand, and thus have to rely on emulation (qemu) to run such a
machine. Cygwin is but a layer on top of Windows to emulate POSIX, and thus is
a real pain to work with... The last measurements I have give a ratio of 180
(yes, one hundred and eighty) when running crosstool-NG under this emulation,
compared to running crosstool-NG on the real Linux system (**).
Porting to Cygwin is a real pain, I can not afford working on it any longer.
I am not ready to do someone else's job.
Now, should soneone be really interested, I am ready to look at patches.
There shouldn't be a lot of work, crosstool-NG by itself is only shell
scripts and Makefiles, writen with portability in mind. The only problems
may arise with the components, which might need Cygwin-related patches or
build instructions. In my kindness, attached is an as-yet untested patch
to try and fix MPFR build. That won't go in the repository, and I'll revert
my changes, as I can't test it. Bite your teeth on it, who ever wants to...
BTW, I also have a girlfriend, a house that needs working on, friends...
Real life, I call it, and that's what matters most for me.
Regards,
Yann E. MORIN.
(*) building a single complete toolchain ranges from about 25 minutes, up to
35 minutes, mostly due to using glibc vs. uClibc. Bare metal is a special
case that takes approx. 5 minutes, but those are not too common. So testing
a change in crosstool-NG can take long...
(**) timings are done on a Core 2 Quad @ 2830MHz, with 4GiB RAM, an ageing SATA
80GiB disk. The emulated system is a WinXP with 768MiB RAM, an 8GiB virtual
disk in a (contiguous?) file, with Cygwin 1.5.25-25, running on the same
real machine.
Time to extract GMP + MPFR + binutils + gcc + gdb:
- real system: ~54 seconds
- emulated system: ~3600 seconds (more than 59 minutes in fact)
- ratio: ~66
Time to build GMP-4.2.4:
- real system: ~40 seconds
- emulated system: ~7200 seconds (2 hours and few secs in fact)
- ratio: ~180
So we are, more than probably, bound to the virtual CPU more than we are
to the virtual disk.
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +0/33 662376056 | Software Designer | \ / CAMPAIGN | ___ |
| --==< ^_^ >==-- `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
`------------------------------^-------^------------------^--------------------'
-------------- next part --------------
A non-text attachment was scrubbed...
Name: ct-ng.trunk-cygwin-mpfr.patch
Type: text/x-diff
Size: 2106 bytes
Desc: not available
URL: <http://sourceware.org/pipermail/crossgcc/attachments/20081203/80fda50c/attachment.bin>
-------------- next part --------------
--
For unsubscribe information see http://sourceware.org/lists.html#faq
More information about the crossgcc
mailing list