BINARY COMPATIBILITY (COMMON MODE) QUESTIONS.
ITEM: RTA000046677
QUESTION:
We support several software developer's and we want to ensure
that they are developing in Common Mode. Please address the
following questions.
1. -qarch=com (Common Mode is the default) for the following
AIX compilers beginning with ? version... (please supply version #)
- xlc version ?
- C++ version ?
- Cset++ version ?
- xlf version ?
2. Common mode IS the default, right?
3. On July 26th, 1994, IBM announced "IBM AIX Version 3.2.5 for
IBM Risc System/6000 Feature for Common Mode Development Static
Libraries."
It states "AIX Version 3.2.5 for Risc System/6000 Feature for
Common Mode Development Static Libraries will allow users, such as
independent software vendors, to build a single source binary
on AIX Version 3.2.5 in full "Common Mode.""
Do all ISV's immediately have to order this feature for the
ability to do common mode programming? Are our ISV's OK with
their current (pre-6/26/94) 3.2.5?
4. Specifically, I have an EDA ISV that is running AIX 3.2.5,
and the following compilers.
- xlC 1.1.2.41
- xlc 1.2.1.29
- xlf 2.3.0.29
If they compile with the defaults, will they be able to run on
all platforms? (Power, Power2, 601 PowerPC, 603+ PowerPC?)
---------- ---------- ---------- --------- ---------- ----------
A: Let me start my answer with the following information:
For AIX 3.2.5, the compiler, by default, operated in -qarch=com mode,
with the exception that the code for integer divides used the POWER
instructions. True "common" mode requires calls to certain routines,
located at low-storage addresses, to accomplish integer divide and
remainder functions. These routines can now be accessed with the AIX
Version 3.2.5 Feature for Common Mode Development Static Libraries.
AIX 4.1 will be the first version of AIX that will support hardware
platforms based upon the PowerPC 604 microprocessor. PowerPC processors
beginning with the 604 processor will not support the full instruction
set of the POWER family RISC processors. While the next release of AIX
will provide a mechanism for these instructions to be emulated on
PowerPC based systems, there will be a severe performance penalty.
Applications that bind with non-shared libraries (or libraries with
non-shared part) might experience this performance penalty because the
libraries were built for the POWER processor.
Proper use of the AIX Version 3.2.5 Feature for Common Mode Development
Static Libraries will allow a developer to produce a single binary that
will run on both AIX 3.2.5 and follow-on releases in full common mode.
This will reduce the maintenance costs for developers because of the
single binary and eliminate the need for software emulation of Power
instructions not contained in the PowerPC instruction set.
It is recommended that AIX 3.2.5 plus the AIX Version 3.2.5 Feature
for Common Mode Development Static Libraries be the development platform
for applications intended to run on AIX 3.2.5 and future releases. The
only changes necessary to incorporate this feature are to include a
-L flag to point to the proper static libraries during the bind stage
and to include an imports file that defines some millicode routines.
Please note: common mode applications will not run on AIX releases
prior to AIX 3.2.3.
Now to answer you specific questions.
1. -qarch=com (Common mode is the default for the following AIX
compilers beginning with version...)
- xlc version 1.3
- xlC++ version - none
- Cset ++ version 2.1
- xlf version 3.1
2. Yes, common mode is the default.
3. Your customer can still do common mode compilation without this but
it will not be "true" common mode. We recommend that your customer use
3.2.5 and this feature as the development platform for applications
intended to run on AIX 3.2.5 and future releases. If the customer
chooses not to use this feature, they may encounter problems such as
performance degradation when migrating to the PowerPC 604
microprocessor.
4. With the current compilers your customer has, he should be able to
run his applications on all the microprocessors but he may encounter
performance problems when the processors have to emulate missing
instructions. The newer versions of the compilers should also produce
more efficient code in any mode so I would recommend getting the
newer versions of the compilers if possible.
---------- ---------- ---------- --------- ---------- ----------
This item was created from library item Q668389 CVCXT
Additional search words:
BINARY CAPABILITY COMMON COMPATIBILIT COMPATIBLE COMPILERS CVCXT IX
MODE OZNEW QUESTION RISCL RISCSYSTEM SEP94 SOFTWARE VERSIONS
WWQA: ITEM: RTA000046677 ITEM: RTA000046677
Dated: 06/1996 Category: RISCL
This HTML file was generated 99/06/24~12:43:18
Comments or suggestions?
Contact us