Jump to content United States-English
HP.com Home Products and Services Support and Drivers Solutions How to Buy
» Contact HP
More options
HP.com home
HP-UX 11i Version 2 March 2006 Release Notes: HP 9000 and HP Integrity Servers > Chapter 2 Introduction to HP-UX 11i Version 2

HP-UX 11i v2 Compatibility

» 

Technical documentation

Complete book in PDF
» Feedback
Content starts here

 » Table of Contents

HP-UX Compatibility between HP-UX Releases, Across Architectures, and Across Hardware Platforms

Introduction

HP understands the need for investment protection. HP provides complete compatibility for the most comprehensive investment protection in the industry. HP provides:

  • Binary and source code compatibility across operating system releases (no application recompilation required for binary compatibility)

  • Binary and source code compatibility across architectures

  • Field upgradability across architectures (HP customers can upgrade their systems in place)

Compatibility Across Operating System Releases

Hewlett-Packard provides forward binary compatibility for “well-behaved” applications between the versions of HP-UX 11i on the same architecture.

A “well-behaved” application is an application that adheres to the following characteristics:

  • Uses only documented public APIs

    • Documented interfaces are those found at http://docs.hp.com

    • Applications that are kernel intrusive are NOT “well-behaved

  • Adheres to the required practices that are specifically documented

    • For example: Building an application that has a dependency from a shared library to an archive library is NOT supported

  • Does not use documented features that are specifically described as having platform architecture or configuration limitations

  • Does not decompose an HP-UX product and then reuse the results of the decomposition

    • For example: Extracting and using a module from a system library, or copying a system library or command from one release to another is NOT supported

Within the “well-behaved” application context, the following is true:

  • HP-UX 11.0 application programs run unmodified on HP-UX 11i version 1

NOTE: Applications that are kernel intrusive or depend on internal proprietary data structures of HP-UX 11i version 1 may NOT be binary compatible.
  • HP-UX 11i version 1.5 applications run unmodified on HP-UX 11i version 1.6 and on HP-UX 11i version 2 (hereafter version 1, version 1.5, version 1.6, and version 2 are referred to as v1, v1.5, v1.6, and v2).

  • HP-UX 11i v1.6 applications run unmodified on HP-UX 11i v2.

  • The HP-UX 11i v2 update release named “HP-UX 11i v2 September 2004” adds support for the HP 9000 (PA-RISC) and enhancements to HP-UX 11i v2 for Integrity servers based on Intel® Itanium ® 2 processors. HP-UX 11i v2 for the HP 9000 is engineered to provide application binary compatibility between HP-UX 11i v1 and HP-UX 11i v2 on PA-RISC. Additionally, applications developed for the original HP-UX 11i v2 release for Integrity (introduced and shipped in 2003) require no actions. Note, however, that this is not an Enterprise release for Integrity servers. Again, binary compatibility does not necessarily apply to kernel-intrusive applications or applications that rely on proprietary data structures inside HP-UX.

NOTE: HP-UX 11i v2 September 2004 returns “B.11.23” as the release identifier in the uname command.

The C compiler standard C89 is supported on the HP 9000 (PA-RISC) while the C compiler standard C99 is supported on Integrity servers. This means that while C code developed on PA-RISC is forward compatible to Integrity, the reverse is not necessarily true.

HP-UX 11.0 applications that have been certified or proven to run correctly on HP-UX 11i v1 can also be considered to be compatible with HP-UX 11i v2 for the HP 9000. Compatibility details are fully documented in the Release Notes. Additionally, there is complete data compatibility between the Architectures.

Compatibility features between the two architectures (PA-RISC and Integrity) include the following:

  • HP-UX 11i v2 on Integrity servers can transparently execute PA-RISC binaries. This is possible through the Aries dynamic code translation technology which is a built-in, integrated part of every copy of HP-UX 11i on Integrity servers. Performance in compatibility mode may be less than native mode, but binary compatibility ensures that all PA-RISC applications can be executed on the Integrity server's architecture without recompilation.

  • HP-UX 11i v2 on Integrity servers and HP-UX 11i v2 on PA-RISC are built from the same source code. This means that HP-UX 11i v2 has the same look and feel and operates in a very similar fashion on both architectures.

  • The system management, security, and high availability tools and products for HP-UX 11i v2 on Integrity servers are the same as for HP-UX 11i v2 on PA-RISC. This means that current HP-UX 11i system administrators can apply their skillsets directly to HP-UX 11i Integrity servers.

  • HP-UX 11i v2 features application source code and application build environment compatibility across the PA-RISC and Integrity server architectures.

    • Source Code Compatibility:

      Application programs from HP-UX 11i on PA-RISC can be made into native Integrity server applications with recompilation; no source code modifications are necessary regardless of whether the application is 32 or 64 bits on PA-RISC (HP-UX 11i on Integrity servers supports both 32-bit and 64-bit applications even though Integrity servers are a 64-bit architecture.) However, converting a 32-bit PA-RISC application into a 64-bit Integrity server application may require some source code changes.

    • Application Build Environment Compatibility:

      HP-UX 11i also features Application Build Environment compatibility across the PA-RISC and Integrity server architectures. This means that PA-RISC application build environments (make files, script files, etc.) can be moved to Integrity servers and will, without modification, function the same way that they did on A-RISC.

  • HP-UX 11i on Integrity servers has the same data formats as HP-UX 11i on PA- RISC. This means that there is complete data compatibility between the two architectures. This interoperability allows the seamless integration of HP-UX 11i Integrity servers into a network of HP-UX 11i PA-RISC systems.

HP Integrity Virtual Machines Compatibility

HP Integrity Virtual Machines (VM) are engineered to provide application binary compatibility between HP-UX 11i v2 Integrity server native applications and the same applications running in virtual machines. This binary compatibility applies to applications with no specific device dependencies and to applications that depend only on devices currently virtualized by Integrity VM. Most applications do not have specific device dependencies. However, if your application has specific device dependencies, please refer to the “HP Integrity Virtual Machines QuickSpec” at http://docs.hp.com for details.

ISV Application Availability Across Architectures

With the source, data, and binary compatibility that HP provides from the PA-RISC architecture to the Integrity server architecture, it is expected that the vast majority of independent software vendors (ISVs) that support applications on PA-RISC will be able to readily transition these applications to HP-UX 11i on Integrity servers. This means that not only will HP-UX 11i and its layered system management, security, and high availability products have a common “look and feel” on the two architectures, it also means that application products will have a common “look and feel” across the two architectures, thus eliminating the need to retrain users for new applications.

Exceptions to PA-RISC/Integrity server Binary Compatibility

In nearly all cases PA-RISC applications can execute under the Aries dynamic code translator which is included as an integrated component in every copy of HP-UX 11i for Integrity servers. The following list documents the exceptions to binary compatibility.

HP's Aries dynamic code translator does not support the following:

  • binary mixed mode between PA-RISC and Integrity servers (application must be all PA-RISC, all 32 bits or all 64 bits)

  • applications compiled on HP-UX 8.x or earlier

  • PA-RISC privileged instructions

  • applications that depend on kernel data structures

  • timing-dependent applications

  • signaling via floating point NaNs (Not a Number)

  • applications or debuggers that use ptrace, ttrace, and profil system calls

  • core dumps for PA-RISC applications that abort

  • applications that read the B-bit in the PSW (Process Status Word)

  • applications that use maximum virtual memory (because the dynamic translator itself consumes a small amount of the virtual memory of a process)

  • applications that rely on differences between vfork and fork system calls

  • the emulation of debugging tools that have architectural dependencies on the PA-RISC architecture

Recompiling 32-Bit PA-RISC Applications for Native Execution on Integrity Servers

In nearly all cases, 32-bit PA-RISC applications can be recompiled for native execution on Integrity servers without source code modifications. This is true because the HP compilers for Integrity servers support both 32-bit and 64-bit data models. 32-bit applications use a data model known as ILP32 in which integers, long integers, and pointers are all 32 bits. 64-bit applications use a data model known as LP64 in which integers are 32 bits but long integers and pointers are 64 bits. HP compilers for Integrity servers support both data models.

In the case of a 32-bit PA-RISC application that is being recompiled for native execution on Integrity servers, the compiler will emit instructions that cause the application to behave as though it is a 32-bit application executing on a 32-bit architecture even though the underlying architecture is 64 bits. This is transparent to the application; it has no awareness that it is actually executing on a 64-bit architecture. It is this feature of the HP compilers for Integrity servers that allow the vast majority of 32-bit PA-RISC applications to be recompiled without source code modification for native execution on the Integrity server architecture.

Help for Independent Software Vendors

Independent Software Vendors (ISVs):

whose HP-UX 11i v1 application meets the criteria for binary compatibility (i.e., not kernel intrusive, etc.) and fails to function on HP-UX 11i v2 for PA-RISC as it functions on HP-UX v1

or

whose HP-UX 11i v2 Integrity server native application is limited to the devices currently virtualized by Integrity VM and fails to function in a virtual machine as it functions outside of the virtual machine can contact HP through a special support line (for North America) at 1-800-249-3294 and use option 2, and then option 1. Help is also available alternatively by sending an e-mail to spp@cup.hp.com. When calling this number or sending an e-mail, identify the problem as a “compatibility failure” and the support staff will help you with the situation.

Binary Compatibility Across Hardware Platforms

HP maintains application binary compatibility across all hardware platforms of the same family which are supported by the same version of HP-UX. This binary compatibility requires that application software uses only externally documented and supported software interfaces. In other words, binary compatibility across the members of a hardware family (such as PA-RISC) is provided if the following conditions apply:

  • The hardware platforms are members of the same family, e.g., they are all PA-RISC-based.

  • The hardware platforms are both running the same version of HP-UX.

  • The application has used only externally documented and supported software interfaces (e.g., does not use undocumented interfaces).

  • The application software has no dependencies on specific types of hardware (e.g., specific mass storage devices or specific I/O or networking adapters).

HP has an excellent record of introducing new processors that provide complete software binary compatibility with previous processors, thus protecting customer and partner investments and allowing support for new processors with a minimum of risk and investment. HP has always recognized that software binary compatibility with new processors is an important partner and customer requirement.

PA-8800/PA-8900 Binary Compatibility

Applications and software developed for systems with the earlier generation PA 8x00 processors will run correctly and without modification on the PA-8800 and PA-8900 processors. These new processors differ from previous ones by providing two cores within a single processor (dual-core).

Compatibility Issues or Exceptions in HP-UX 11i v2 March 2006

Compatibility issues or exceptions have been noted for the following products or features that have been updated in March 2006. For details, see the indicated pages.[4]

NOTE: Before updating your system with any individual patches, patch bundles, or products released from September 2004 forward, you must consult the current Read Before Installing or Updating to HP-UX 11i Version 2 and the HP-UX 11i Version 2 Installation and Update Guide. Both are available at http://docs.hp.com/en/oshpux11iv2.html.

Chapter 4: Workstation- and Server-Specific Information. 

Support of Products

For information about the support of products not listed elsewhere in this document, refer to the product’s individual documentation, which may be found at the following locations:



[4] For documentation of compatibility issues or exceptions in previous updates to HP-UX 11i v2, see the previous editions of the HP-UX 11i v2 Release Notes, available at http://docs.hp.com/en/oshpux11iv2.html. The HP-UX 11i v2 September 2004 Release Notes, in particular, lists compatibility exceptions from HP-UX 11i v1 to HP-UX 11i v2.

Printable version
Privacy statement Using this site means you accept its terms Feedback to webmaster
© 2005-2006 Hewlett-Packard Development Company, L.P.