[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [MiNT] Some comments on gcc 4.3.2




That means you built a native gcc 4.3.2 ?
Wow, I've always wondered if it was possible !
Yes, I did but it would be nice to verify the compilation on real atari (or aranym) ... it was proven in the past it wasn't always that easy :)

Hummm... what was wrong ?
good question. it seems HAVE_GNU_LD was defined but into empty value... code like 'if (HAVE_GNU_LD && some_variable)' was translated into if(&&some_variable) which is of course wrong. Thanks god these two files are the only ones which use this flag.

Hehe... You have been fooled by the optimizer ;-)
Wow! This is something! I played with some sample source code quite a long time before I was finally able to verify this -- that gcc is really smart! ;-) But this fact doesn't change anything on my hint to remove pml from compilation chain -- gcc is OK with its built-in stuff from mpfr (try to list libgcc.a with 'nm' -- a lot of math functions here), it needs libm / pml for nothing (tested -- I had no math lib installed during compilation).


Note that I originally used PML in my GCC port, because I didn't know fdlibm :-( Of course, PML should be dropped, and fdlibm be used instead, like in GCC 2.95. As an alternative, we may use the libm provided by Newlib: it is derived from fdlibm, it works and it is still maintained. Olivier Landemarre made tests with a FreeBSD libm, too.
Oh yes, I plan to look at that fdlibm, too. It's quite nice and handy library.. and as you say, still maintained.

Nice. But I guess it will always be mandatory for a cross-compiler...
True... but it isn't such nice after all ;-) I don't get that idea but it compiles all that m68020-60 etc stuff and then -- don't use it! When I ask gcc for multilib support without anything in t-mint, it says just 68000... why is m68020-60 etc compiled is really mystery for me...


I really would be interested in a quick benchmark of Quake compiled with GCC 2.95 and 4.3.2. However, the critical routines of Quake are written in assembly, so a compiler change may not show significant performance change...
You're right, it's not very visible...

Beware: I usually noticed *slower* performance with -O3 than with -O2... Make your own tests !
I will :)

You should publish your work on some website !
I will put a link on my one.
OK then, it's on my web in download section.
 
Anyway, congratulations for this native build !
I think you are the first to have compiled and run GCC 4.3.X natively :-)
Hehe, it wasn't such hard... but without cross compiler, this would be really 'funny' :)

By the way, I've made also something I call "gnu as democoder edition", basically it does everything which was in my power to make gnu as more usable for democoders, i.e. default MRI mode (this causes for example making bra, bsr etc without size [.b,.w,.l] equivalent to jra macro [i.e. take the shortest branch instead of default word size], more devpac-like syntax etc), default bitwise-or, killing that strange '#' and '|' comments, introduced ';' and '*' as regular comments and probably something else I don't remember now.

I will work on this more and when it will be ready / tested I put it on my web, too.

--
MiKRO / Mystic Bytes
http://mikro.atari.org