Developer Area Developer Area
www.be.com

Becoming A Be Developer

Becoming A Be Developer

Join Registered Developer Program

Registered Developer Area

Developer Library

Marketing Resources

Developer Events

Search Contact


Frequently Asked Questions

Answers to many general questions about the R4 Tool and Binary Switch.

What is happening?
For the Intel version of BeOS Release 4 and beyond we have switched both the application binary format and the tools used to develop those applications. R4 for Intel will use the ELF binary format, rather than the PE format used in R3. Likewise, instead of the Metrowerks compilers and linkers, R4 for Intel will use the EGCS tools from Cygnus. Furthermore, we will be switching from the Metrowerks provided C and C++ libraries to the GNU libraries from the EGCS package.

These changes mean that there is no binary compatibility between R3 and R4 for Intel. To put it more succinctly, the actual application files that ran under R3 will not function under R4. Developers will have to recompile their applications to run in the new R4 environment, which might entail some minor changes to their code.

Why change developer tools?
The Metrowerks tools for Intel simply do not have the maturity, performance, and reliability of the more established Intel tools. We have seen a noticeable performance improvement with the new tools. The EGCS tool chain is a version of the well-established GNU tools, and as such is familiar to many developers and has a proven track record.

Why change binary format?
While there are various inherent advantages (and disadvantages) of the ELF binary format over PE, the main reason for switching is that EGCS's primary format is ELF. All of Cygnus' test and validation suites for the tools are in ELF, meaning that the tools will be much better tested, and bug-fixes will have a much faster turn around than if we had stayed with PE.

Why change libraries?
The new libraries are a fully-supported part of the EGCS tool chain, and should provide better performance than the current libraries.

What about the tools?
Information about distribution of BeOS developer tools, including the BeIDE, the PowerPC Metrowerks tools, the Intel Cygnus tools, and source-level debuggers, can be found on the Tools page. General information about the EGCS tools can be found at the EGCS Project Home Page.

Are there any coding implications?
Yes. No two compilers handle source code in an identical fashion, and there is room for interpretation of some parts of the language specifications. So it should come as no surprise that there are some minor changes to code necessary to make both gcc and mwcc happy. In addition, handling the export of symbols from a binary differs from PE to ELF, requiring some additional changes. All of these differences are detailed on the Code Issues page.

Are there any performance numbers to justify the change?
Of course. Performance numbers comparing R4 Metrowerks/PE to R4 Cygnus/ELF, as well as general R3 to R4 comparisons can be found on the Performance page.

What about a beta-test?
We will be holding a beta-test so that developers will have the opportunity to test the new tools and get a head start 'porting' their applications to the new development environment. We strongly urge all developers to update their information in the Developer database so that R4 can reach them safely. Note that due to time table for Release 4 we cannot open the beta to all developers. Those developers selected for the beta-test will be informed soon. Please DO NOT send in mail asking to join the beta-test. We have already determined who our testers will be, and simply do not have the manpower to wade through a hundred requests to join the list. R4 is on a fast schedule to ship, and you will all get it very soon. Thank you very much for your understanding.

What about PowerPC?
Nothing has changed on BeOS for PowerPC. Release 4 will still use the Metrowerks tools and the PEF binary format. There is no breaking of binary compatibility for PowerPC.

There was simply no advantage to changing anything on the PowerPC side. The Metrowerks PPC tools produce excellent code, and have been doing so for a long time. There would be no performance improvement for the switch, and a great deal of pain in the breaking of compatibility, as the PPC release has been available to users for a long time. A lot of pain for no gain just did not make any sense to us.

What is the future of the BeOS for PowerPC?
Before anyone speculates on this issue, let us be up front and candid. We have committed to supporting the BeBox through 1999. That means at a minimum R5, and perhaps R6 depending on its release schedule, will be released for PowerPC. At a minimum. Beyond that it will depend upon demand for the product. That demand is impossible for us to gauge at this point.


Back to the Switch

 

 

The BeOS News and Events Developers User Groups Support BeStore BeWare

Copyright ©1999 Be, Inc. Be, BeOS, and the Be and BeOS logos are registered trademarks, and BeBox, BeWare, GeekPort are trademarks of Be, Inc. All other trademarks mentioned are the property of their respective owners. Comments about this site? Please write us at webmaster@be.com. Icons used herein are the property of Be Inc. All rights reserved.