[openbeos] Re: gcc 3.x ABI

  • From: "Axel Dörfler" <axeld@xxxxxxxxxxxxxxxx>
  • To: openbeos@xxxxxxxxxxxxx
  • Date: Wed, 18 Sep 2002 15:26:11 CEST (+0200)

Hi Thierry,

> Now, I 've took time to analize "why" and will send to the community 
> in 
> futurs days the result. I think, all of us, receive a lot of 
> questions 
> (like mines some months ago ;-) about 'why we don't use it', ' when 
> gcc3 will be available on BeOS', what it will be able to do ?', what 
> works on ? and not, does the base compiler is able to work for all or 
> not !

This will be very interesting for sure! I haven't spend much time with 
gcc yet, but that was one thing that always bothered me :)
> - the gcc 2.95.3/binutils 2.10.1 was port only by taking care to 
> reimplement inside this new versions, all the ack made by Be under 
> the 
> gnupro suite. None of the ports (I have found two ports of this suite 

ack == hack?

> BeOS) : the 2.95.3/and binutils 2.10.1 for BeOS only achieves 30% of 
> the test with the hack of Be !!!!! : objcopy don't work, objdump too 
> (yes it runs, but what they display or return is wrong !!!), ld 
> corrupt 
> our executables, debug symbols are sometimes invalid, gas generate 
> assembler code note suitable for target platform, some jump offset 
> are 
> sometimes invalid etc...

There is another reason BeOS has problems with the test suite; standard 
unix file systems know the concept of gaps in a file, and gcc (i.e. the 
bootstraping stuff) relies on that feature - if you write beyond the 
end of the file, the gap between the old end of file and the position 
of the write access is filled with zeros (i.e. a 4MB core file can take 
only 300kB on disk).
In BFS, though, this gap isn't initialized, so there is just some 
garbage in it (or even very secure data that has been part of a deleted 

> For sure ! I will detail all my current work when I will have 
> something 
> suitable for all the team : I'm currently investigating to know 
> what's 
> cheaper : correct Be'one ? Jump to 2.95.3 ? or switch to 3.x ? but it 
> will take me certainly a long time since I'm not a compiler's guru 
> and 
> I only have some basic knowledge of elf !

I would want to use the latest 2.95 version and try to get the running.
The ABI converter between 2.95 and 3 might even be impossible to do (at 
least there might be more than one way to demangle a symbol, so the 
linker would need to help).

Anyway, with the "fun" I already had with Be's gcc, I really think we 
should switch to something newer, if possible (also MMX/3Dnow! support 
would be a nice addition).

But I also think it may make sense to wait with gcc 3 until we have R1 


Other related posts: