Re: LD error while porting GCC 3.3.2 for BeOS

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

 



Hi Nighteyes,

>I'm willing to port GCC 3.3.2 on BeOS platform, but I'm confronting a little problem :

Related website: http://www.beosonline.com/

The biggest problems I can foresee porting GCC 3.3.2 to BeOS...
1) BeOS uses a C++ OS API, and thus the particular ABI of GCC
2) BeOS's achilles heel is the Fragile Base Class problem

#2 is more of an issue between revisions of the OS, not between versions of GCC. But it's something that has to be taken into account, at least in the periphery of your attention.

#1 is the big one. BeOS is very tightly bound to the C++ ABI of GCC 2.95.

Unless you retrofit the C++ ABI of GCC 3.3.2 to be compliant with GCC 2.95, the C++ code generated with GCC 3.3.2 cannot partake of the OS C++ API.

Retrofitting the C++ ABI of GCC 3.3.2 to GCC 2.95's C++ ABI would get you the Most Thankless Task Award.

Note: not all is lost. You can still work with the OS C API (since the C ABI is stable between 2.95 to 3.3). But very little of the BeOS has a C API.

If you have access to the BeOS source code (if so... you lucky dog!), you could recompile the entire OS under the newer C++ ABI. However, that's a demarcation point for the OS, and no existing applications will work with it those apps were recompiled -- or until a GCC 2.95 "thunking shim" layer was created.

A "thunking shim" layer has a lot of similarities to Carbon on OS X or WoW (Win16 on Win32) for Windows NT. Different from OS X hosting OS 9 "penalty app", or NTVDM (NT Virtual Dos Machine) "penalty box".

I wish you good luck.
--Eljay

Valerie: Think it'll work?
Miracle Max: It would take a miracle.


[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux