Porting OpenVMS Applications to Itanium™ Processor Family
Gaitan D’Antoni
OpenVMS Technical Architect for Application Development Technology
Session 1619
Outline
•	Introduction
•	Strategy and plans
•	OpenVMS compilers and tools
•	Key differences between Alpha and Itanium™ processor family
•	Moving your application to Itanium™ processor family
•	Q & A
Terminology 
•	IA-64       Intel® processor architecture
•	Itanium™ processor family - Family of 	         microprocessors that implement IA-64
•	Itanium    Specific member of the family
Strategic Compaq OpenVMS actions 
•	Announced the alignment of all 64-bit enterprise servers on Intel® Itanium™ processor family architecture microprocessor
•	Long-term collaborative technology/marketing agreement with Intel®
•	Full port of OpenVMS to new Intel® architecture
–	If you’re on Alpha, you’re a recompile and requal “away” from being on Itanium™ processor family
•	Enhanced server roadmaps for OpenVMS, NonStop™ Himalaya,  Linux, Tru64 UNIX, and Windows customers
–	Alpha EV6 speedups and EV7 Marvel program
–	New NonStop™ Himalaya speedups
OpenVMS Alpha and Itanium™ processor family porting timeline

OpenVMS Itanium™ processor family product porting rollout
Compiler plans (1 of 2)
•	C/C++
–	CPQ C
•	Looks just like today’s Compaq C (DEC C)
•	Recompile/relink/requal
–	CPQ I?? C/C++
•	Intel® based C/C++
•	C/C++ decision based on file type or switch
•	Will include some features from Compaq C
•	Compiler for moving forward
•	COBOL, BASIC, PASCAL, BLISS, Java
–	Itanium™ processor family versions of Compaq compilers
Compiler plans (2 of 2)
•	Fortran
–	Intel® based Fortran
•	IMACRO
–	Tool to emulate or convert Macro-32 and AMacro code to Itanium™ processor family instructions   
–	Will provide support for Macro-32 (VAX) and Macro (mixed VAX and Alpha) as well as some Itanium™ processor family instructions specific to OpenVMS architectural needs
•	ADA
–	We will provide an Ada compiler
Development tools
•	DECset development tools 
–	PCA may not be available for the H1 2003 release
•	OpenVMS Debugger
•	Binary translator
–	There will be a binary translator to translate Alpha images to Itanium™ processor family images
–	Translation of VAX images is being considered
–	We do not support translated images that dynamically create/call code
–	Tell us what you need
•	Compaq Services will be prepared to assist
OpenVMS Application Development
So, what’s different? (1 of 3)
•	Calling Standard
–	Intel® calling standard with OpenVMS modifications
•	Still being designed
–	All Compaq provided tools will “know” about these changes
–	Your code that “knows” about the standard may have to change
•	Most code not affected
So, what’s different? (2 of 3)
•	Object file format
–	ELF/DWARF industry standard
•	ELF - Executable and Linkable Format, IA-64 object code, images, etc.
•	DWARF - Debugging and traceback information (embeded in ELF).
–	All Compaq provided tools will “know” about these changes
–	User written code that “knows” the object file format may have to change
–	Image header “tricks” may no longer work (Flip a bit to turn on/off debugging)
So, what’s different? (3 of 3)
•	Floating point data types
–	Itanium™ processor family supports IEEE float only
–	All compilers should be able to deal with F, D, G, S, T, and X (S and T are native IEEE formats)
–	Document forthcoming with details
–	Tell us what you need
•	Licensing
–	We’re investigating the use of FlexLM
•	We need your input
What code will I need to change?
•	Architecture Specific code
–	Assembler code
•	Build command files
–	$ if .not. Alpha  ! Assumes VAX
•	Alpha specific compiler built-ins may have to be recoded
What can I do today?
•	Examine your code for known differences and architecture dependencies
•	If you’re using /STANDARD=VAXC to compile your C code today try using /STANDARD=RELAXED_ANSI89 to see what pops out
–	Will not be an issue for Compaq C but may be an issue for I?? C/C++
•	Tell us now what concerns you about moving to Itanium™ processor family
–	Are there tools I haven’t mentioned?
•	Tell us what /VAXC extensions you want in I?? C/C++
How to contact us
•	I’m here all week
Gaitan.dantoni@compaq.com
•	Pat.mulvey@compaq.com for /VAXC extensions requests
For more information
•	Compaq and Intel® Initiative
http://www.compaq.com/hps/ipf-enterprise/
•	Itanium™ processor family architecture: 
ftp://download.intel.com/design/IA-64/Downloads/archSysSoftware.pdf
•	Itanium™ processor family processor hardware: 
ftp://download.intel.com/design/IA-64/Downloads/24870101.pdf
•	Software manuals: 
http://developer.intel.com/design/itanium/manuals.htm