
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
|