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