HP OpenVMS Migration Software for Alpha to Integrity Servers Build J2.0 Release Notes August 29, 2006 Operating System and Version: OpenVMS AXP Version 7.3 or higher for binary translator OpenVMS IA64 version V8.2 or higher for translated images Software Version: HP OpenVMS Migration Software for Alpha to Integrity Servers Version 2.0 Build J2.0 1 HP OpenVMS Migration Software for Alpha to Integrity Servers HP OpenVMS Migration Software for Alpha to Integrity Servers supports the migration of OpenVMS AXP applications to OpenVMS Itanium systems. A MSAI utility, the AXP Environment Software Translator (AEST), translates executable and shareable OpenVMS AXP images into functionally equivalent images that run on OpenVMS Itanium systems. A translated image is an OpenVMS Itanium image containing both AXP code translated into Itanium code as well as the original OpenVMS AXP image. The MSIA utility also translates AXP executables created by OpenVMS Migration Software for VAX to Alpha Systems (MSVA) into functional eqivalent OpenVMS/Ia64 images 2 Associated documents [1] OpenVMS Alpha-to-IPF Binary Translator Design Specification, version 0.9.7 from 09 April 2004 [2] HP OpenVMS Migration Software for Alpha to Integrity Servers, original manual from 27 September 2004. [3] OpenVMS Alpha-to-IPF Binary Translator Installation Guide, version 1.0 from 28 September 2004 [4] HP OpenVMS Migration Software for Alpha to Integrity Servers Software Product Description, version 1.0 from 27 September 2004 2 Operating System versions supported Current version of AEST utility could be used on OpenVMS/AXP version 7.3-2 or higher. Current version of AEST utility produces OpenVMS/IA64 executables which could be used ONLY on OpenVMS/IA64 version V8.2 or higher. 3. Restrictions and limitations General restrictions, run-time performance restrictions, multithreaded applications restrictions, interoperability restrictions, supported languages and RTLs etc. are described in document [4]. 4. Modifications history Build J2.0 (Version 2.0) o Fixed problem where AEST was not properly processing search lists when looking for images to translate. o Added support for translating images generated from programs written in PASCAL. OpenVMS Industry Standard 64 Operating System V8.3 is required for running vested PASCAL images. o The flags Nwf (no write but fixups) and Nwr (no write but relocations) were incorrectly set in the dynamic segment header of translated images. o Some performance enhancements from SRI included. Build J1.0 (Final delivary | DELIVERY I) o Run-time support of AXP images which were previously VESTed has been added into the TIE. Now the VESTed images may be correctly translated and later executed on I64 platform. o All other outstanding problems which were assigned to DELIVERY I have been fixed. o Some known problems have not beenn solved in DELIVERY I and postponed to DELIVARY II. See details in chapter (5), known problems and limitations. Build XA34 o Installation procedure has been modified. Now AEST command is registered in system command tables on installation, so users don't need to execute any command procedures on session startup. o PCSI installation procedure for TIE kit has been added to simplify kit installation on OpenVMS/IA64 systems. o Translated versions of FORTRAN run-time libraries have been added to TIE kit to avoid problems with many translated Fortran programs which raises ACCVIO using native DEC$FORRTL (PTR # 24). o Problem with PThreads structured exceptions handling (PTR # 7) has been patially fixed. Now threaded applications, which don't use UPCALLS, works correctly. Should work correctly with new OpenVMS/IA64 baselevel with modifications from Dennis Mattoon (CHF) - baselevel ID TBD. Problem still exist with application which use UPCALL. Corresponding PTR # 75-102-1245 has been opened. o Problems with translated COBOL applications which use HYPERSORT library (PTR # 25) has been fixed - corresponding OpenVMS/IA64 RTL HYPERSORT.EXE will be generated with TIE support. This functionality will work correctly with new OpenVMS/IA64 baselevels - baselevel ID TBD. Build XA33 o The problem with many SYS$... regression tests failed has been fixed (PTR # 18). The original problem could (potentially) affect different test applications. o The problem with wrong behavior of MERGE routines for translated COBOL applications (PTR # 8) has been fixed Build XA32 o TIE kit now contains translated versions of ALPHA run-time libraries (LIBOTS_AV.EXE, LIBOTS2_AV.EXE etc.) from OpenVMS/ALPHA 8.2 build XAAV. o The problem with translated version of MTH$RANDOM routine (DPML$SHR_AV translated library) has been fixed (PTR # 5). o The problem with ACCVIO occured when translating ALPHA image linked on OpenVMS/ALPHA 6.2 (PTR # 6) has been fixed. o The problem with Invalid condition processing for condition generated from PALcode emulation (PTR # 13) has been fixed. o The problem with TIE internal error generated when trying to emulate some VAX complex instruction (PTR # 16) has been fixed. Build XA30 o Support for many VESTed run-time libraries has been added (LIBRTL_TV etc. ). Should work with new OpenVMS/IA64 baselevel with modifications from Stu Davidson (image activator) - baselevel ID TBD. o Modifications in condition handling facility have been done to process correctly $UNWIND() operations in mixed environment (translated Alpha and native IA64 images). Should work correctly with new OpenVMS/IA64 baselevel with modifications from Dennis Dennis Mattoon (CHF) - baselevel ID TBD. o The support for Alpha GENTRAP PALcode has been added. Build XA29 o Translated version of DEC$COBRTL run-time library is included in TIE kit build XA29. o Different problems with translating of VESTed application have been fixed. This include problems like : ASSERTION failed: Split point algorithm failed DKA0:[IPF.SRC]BBPARSER.CXX;1 : 579 ASSERTION failed: Illegal virtual address supplied to mk_vaddr(va). Will cause exception on run-time at DKA0:[IPF.SRC]AXPIMG.CXX;1 : 732 %AEST-E-Relocation: virtual address FFFFFFFFFFFFFFFF out of range %AEST-E-BADEXE, Invalid entry point 7B7B7D7B7D7B7B7B specified in procedure descriptor at 500 o New qualifier /SEGMEM_ALIGN has been added. This is a temporary workaround to avoid problems with segments, which are relocated independently on OpenVMS/IA64. o New qualifier /VERBOSE has been added to suppress verbose messages in the default mode. Build XA27 o Translated version of DPML$SHR library is included in TIE kit. o Bug with incorrect VAX floating points parameters passing between translated AXP and native IA64 code fixed. Bug was introduced by incorrect optimization of code performed by XCC cross-compiler 5. Known problems and limitations o OpenVMS Migration Software for Alpha to Integrity Servers cannot generate a working program whenever when the original program uses atomic instructions RS and CALL_PAL AMOVRM. Thus, all applications which were previously VESTed with qualifier /PRESERVE=INSTRUCTION_ATOMICITY cannot be rightly translated. o The correct translation of multithreaded applications, that are written on low-level programming languages and use nonstandard locking/synchronization techniques, is not guaranteed. This is because Alpha instructions used for locking/synchronization have no direct equivalents in the IA64 processors architecture and cannot be translated instruction-by-instruction. So, we've postponed this problem to DELIVERY II. o Translated versions of FORTRAN run-time libraries are being used as before to void problems with numbers of translated Fortran programs which raises ACCVIO using native DEC$FORRTL (E.g. PTR # 118). We've tested interaction of translated images with native version of DEC$FORRTL on OpenVMS baselevel XABG and the problem really exists. During our discussion with HP engineers, namely with Deborah Belcher, who is responsible for DEC$FORRTL maintance, we detected the reason of this problem. DEC$FORRTL was incorrectly built for XABG baselevel and as result it's not suitable to interact with translated images. Namely, the components of this RTL have been compiled without /TIE qualifier and the library itself has been linked without /NONATIVE_ONLY. As result, the signatures of exported routines are absence and TIE cannot process any calls are different from defaults. Deborah Belcher did promise to rebuild DEC$FORRTL with /TIE and /NONATIVE_ONLY accordingly, and retests interaction of translated images with a native DEC$FORRTL. However, we've no any feedback from him till now... So, we changed the status of this problem to "Closed", the ball is on HP court for the time being. o If translatable program is compiled with G_FLOAT format the expected performance slow down factor to be more than a factor of 100 worst case. This problem is postponed to DELIVERY II. It's e.g. a PTR # 15. o SYS$UNWIND doesn't interact with translated images when the depth is 0. It's e.g. a PTR # 123. Thomas Dahl is originator of this PTR and knows details. He promised me to discuss with Dennis Mattoon who is responsible for CHF. So, we change the status of this PTR to "Closed" state until the problem will be solved. Now the ball is on HP court.