:::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::: Release Notes for HP-UX 11.0 HP 9000 Series Computers Printed in U.S.A. October 1997 Sixth Edition E1097 :::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::: Searching for Information or Topics ======================================================================== The following "search strings" will help you locate chapters, main headings, and subheadings. ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^ String Action Taken by Searching on the String ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^ ^ ^ ########## Takes you to a chapter beginning. ^ ^ ^ ^ @@@@@@@@@@ Takes you to a major heading within a chapter ^ ^ (a major topic). ^ ^ ^ ^ ********** Takes you to a subheading within a major heading. ^ ^ (a subtopic) ^ ^ ^ ^ ---------- Takes you to a subheading within a subheading. ^ ^ ^ ^ ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ CHAPTER 1: Overview of Release Notes for HP-UX 11.0 ######################################################################## This chapter: * Describes the release notes. * Explains the purpose of the release notes. * Points to other sources of information on the HP-UX 11.0 release. This document contains information about the HP-UX 11.0 release (referred to as "11.0"). Also included in this document is information about the HP-UX 10.30 release. If you are updating your system from HP-UX Release 10.20, read the chapter 10.30 release notes contained in this document, as well as the chapter on the 11.0 release notes. If you are updating from an earlier release to HP-UX 10.x, consult the relnotes.archive document(/usr/share/doc/10.xRelNotes for information about the 10.00, 10.01, and 10.10 releases. Consult the following chapters for information about: * Chapter 2--what is new at 11.0 * Chapter 3--compatibility on 11.0 * Chapter 4--information about the HP-UX 11.0 64-bit capable implementation. * Chapter 5--what was new at 10.30 * Chapter 6--Other Operating System and Subsystem Changes * Chapter 7--Networking * Chapter 8--Commands and Libraries The Release Notes and Release Notes Files @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ The 11.0 Release Notes are contained in the following: * HP Instant Information CD-ROM * an ASCII file that is part of your core HP-UX 11.0 system (/usr/share/doc/11.0RelNotes) Also included in this directory is the 10x.RelNotes file, containing information about prior 10.x releases of HP-UX. You will find additional product-specific release notes files under /opt productname. For example, Distributed Computing Environment (DCE) release notes are in the /opt/dce/newconfig/RelNotes directory. In addition, if you add a new product to your system, its release notes will be loaded into /opt productname. The Purpose of Release Notes @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ Release notes provide you with information on new, changed, and removed functionality (features). This particular release notes document explains the major differences between HP-UX 10.30 and release 11.0. For changes to HP-UX occurring at a prior HP-UX 10.x release, refer to the relnotes.archive file(/usr/share/doc/10.xRelNotes). Release notes do not completely document all of the features of a release. Instead, release notes contain high-level information and provide pointers to more detailed operating system and product-specific documentation. Where appropriate, release notes also tell you about changes in the support of products. Where to Find Transition Information for Moving to HP-UX 64-bit 11.0 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ The 64-bit implementation of HP-UX at 11.0 requires an understanding of the features and benefits of 64-bit computing, and thoughtful planning before undertaking the transition. Significant information is available to aid you in this planning process. See the following material for specific information: *"Installing and Updating HP-UX Release 11.0" for specific information about the steps and order of tasks necessary for upgrading your hardware system to a 64-bit capable system, if applicable. See below for a list of systems that are 64-bit capable or upgradable to 64-bit capable). *"Read Me Before Installing or Updating to HP-UX Release 11.0" for important information about firmware upgrades that might be necessary to upgrade your system for use of HP-UX 64-bit release 11.0. *Chapter 4 of this document, "64 Bit HP-UX", for a roadmap of the paths available for transitioning to HP-UX 64-bit 11.0. *The "Softare Transition Kit", available online and at the following web site for information about the impact of 64-bit computing, transitioning to and developing in a 64-bit environment, tools available to make your transition smooth, and compatibility information. See "Transition Tools" in Chapter 2. *The "Managing Systems and Workgroups" document is available on Instant Information and in hardcopy. System administrators may want to review this information before transitioning to 64-bit 11.0. Other Sources of Information @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ In addition to these release notes, you have many other sources of information available to you. README Documents ************************************************************************ README documents contain information about the installation process that may not appear in the installation manual. Any product may have a README document, so you may have several README documents. Online Documents ************************************************************************ This document and a number of 10.0, 10.01, 10.10, 10.20, and 10.30 white papers are available online on 11.0 systems in /usr/share/doc. For a listing of online documents, refer to Table 1-6 in the HP-UX 11.0 Documentation Map online white paper. This white paper is available as a PostScript file (doc_map.ps) and as an ASCII file (doc_map.txt) in /usr/share/doc. _____ NOTE ____________________________________________________________ For 11.0 and 10.30, the manpages are available in Instant Information under the title HP-UX Reference and via the man command. For 10.10 and 10.20, the manpages are available in LaserROM under the title HP-UX Reference and via the man command. For 10.01, the manpages are available in LaserROM under the title HP-UX Reference, in hardcopy as the HP-UX Reference, and via the man command. ________________________________________________________________________ The HP-UX Documentation Set ************************************************************************* The HP-UX documentation set describes how to set up and use the basic HP-UX system. It includes information on system administration, networking, Windows, and so on. For more information on the 11.0 documentation set, refer to the HP-UX 11.0 Documentation Map online white paper. The HP-UX 11.0 Documentation Map is available as a PostScript file (doc_map.ps) and as an ASCII file (doc_map.txt) in /usr/share/doc. As of HP-UX Release 10.30, Hewlett-Packard introduced a new product, Instant Information (product number 50726-10316), which provides HP-UX documentation on a CD-ROM. This new format replaces the HP LaserROM product completely as of HP-UX Release 11.0. Instant Information provides improved online presentation, print quality and search capabilities. Pre-enabled and New system Summary @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ Systems Pre-enabled in 11.0 ************************************************************************ System CPU Speed(MHz) Model Product Line ------------------------------------------------------------------------ K-class PCxW 300 TBD S800 New Systems that fully supported in 11.0 System CPU 32/64 bit Speed(MHz) Product Line ------------------------------------------------------------------------ V2200 16w PCxU+ 64 200 S800 T600 PCxU+ both 200 S800 K370,K570 6w PCxU+ both 200 S800 D280/D380 2w PCxU+ 32 180 S8000 No Instant Ignition will be available. All users will be required to do a cold install or update to HP-Ux 11.0 on workstations. SYSTEMS ------------------------------------------------------------------------ NOTE: The following workstations have become obsolete at HP-UX 11.0. 705, 710, 715/33, 715/50, 715/75, 720, 725/50, 725/75, 730, 735, 750, 755 SPUs; GRX, CRX, CRX-24, CRX-48Z graphics NOTE: The 735 and 755 are the only platforms on which the Built-in FDDI Products run. SUPPORTED WORKSTATIONS AT 11.0 ----------------------------------------------------------------- B-class (B132L, B132L+, B160L, B180L+) C-class (C100, C110, C160, C160L, C180, C200+) J-class (J200, J210, J210XC, J280, J282) 712 715/xx (715/64, 715/80, 715/100, 715/100XC) 725/100 735 743 744 X terminals BUNDLED SOFTWARE ------------------------------------------------------------------------ Motif (latest version) CDE X11R6 2-D graphics (color graphics, HCRX-8, HCRX-24, VISUALIZE-EG) BUNDLED SOFTWARE NO LONGER SUPPORTED ------------------------------------ NOT Supported - NFS-D NOT Supported - 3D graphics (hardware or software) NOT Supported - workstation Instant Ignition NOT Supported - LP changes, beyond a cover paragraph I/0 ------------------------------------------------------------------------ Supported: GSC FWD SCSI-2 card NOT Supported: EISA HP-IB host adaptor EISA Fast SE SCSI-2 host adaptor EISA Fast differential SCSI-2 host adaptor PERIPHERALS ------------------------------------------------------------------------ Supported: -All legacy peripherals supported by the legacy workstations -All new peripherals added at HP-UX 11.0 that are appropriate to workstations NOT Supported: -Discontinued peripherals at HP-UX 11.0 -"Server-class" peripherals such as StorageTek CHAPTER 2: Major Changes and Features of HP-UX 11.0 ######################################################################## Chapter 2 describes the following HP-UX 11.0 changes: *32-bit and 64-bit Operating System *ASE *Unified Binaries *V2200 *DCE *NCS/NCK Obsolete *Dynamically Loadable Kernel Module(DLKM) *Variable Size Pages *APIs *New API's and Commands *Commands Changed *System Recovery *CDE & Motif *Software Distributor SDUX *HP Distributed Print Server *Fast Dump *iFOR/ls *SAM *64-Bit *Lazy Swap *UP Emulation *Posix 1003.1b *Transition *Cross Platform Development Environment *PEX, PHIGS, OGL & Starbase Also see the following chapters for additional 10.30 and 11.0 changes: * Chapter 4--information about the HP-UX 11.0 64-bit capable implementation. * Chapter 6, "Other Operating System and Subsystem Changes" * Chapter 7, "Networking" * Chapter 8, "Commands and Libraries" 32-bit and 64-bit Operating System @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ HP-UX 11.0 provides maximum computing power with a full 64-bit operating system. HP-UX 10.x applications will generally run unmodified on HP-UX 11.0, providing binary compatibility. HP-UX 11.0 is a superset of HP-UX 10.x, with kernel threads, enhanced system administration tools, and improved system management capabilities. HP-UX 11.0 can run as either a 32-bit or 64-bit operating system. The HP-UX 11.0 release offers several features to enable the full power of 64-bit computing. Tools are included to transition applications from 32-bit to 64-bit mode. This release of the operating system: * Provides 64-bit addressing when the 64-bit version of HP-UX is installed on HP 64-bit hardware platforms. This enables programs to take advantage of very large address spaces and larger physical memory limits. * Provides kernel level threads for maximum efficiency of multi-threaded applications. * Complies with the latest NIS+ (Network Information Service) and NFS PV3 standards for more secure network name services and larger network file systems. * Runs in 32-bit mode on HP-UX 32-bit hardware platforms and in either 32-bit or 64-bit mode on HP-UX 64-bit hardware platforms. * Supports run-time execution of both 32-bit and 64-bit applications on HP-UX 64-bit platforms. * Supports inter-process communication between 32-bit and 64-bit applications with message queues, pipes, shared memory, and networking protocols. * Provides a cross-platform development environment for developing 32-bit and 64-bit applications. The following table shows the evolution of recent HP-UX releases: Capacities of Recent HP-UX Releases: Attribute 10.01 10.10 10.20 64-bit\11.0 --------- ----- ----- ----- -------------- File System 4 GB 128 GB 128 GB 128 GB File Size 2 GB 2 GB 128 GB local, 128 GB local 2 GB network 128 GB network Physical RAM 2 GB 3.75 GB 3.75 GB 4 TB Shared Memory 1.75 GB 1.75 GB 2.75 GB 8 TB Process Data Space .9 GB 1.9 GB 1.9 GB 4 TB # File Descriptors 2 K 60 K 60 K 60 K # of User Ids 60 K 60 K ~2,000 K ~2,000 K Benefits for 64-bit Applications ************************************************************************ Some applications need to transition to 64-bit mode because they are limited by the 32-bit address space. Examples include: * database management systems * engineering and mechanical design automation systems * simulation and modeling programs * decision support applications The advantage of transitioning 32-bit applications to 64-bit applications include: * Large file caches are allowed on systems with large physical memory. * Database servers have improved performance when they can load significant portions of the database into memory. * Large process data space is mapped in a large virtual address space. * Simulation programs able to map the entire simulation model into virtual memory. * Large file support uses standard system library calls. * Databases can contain data sets larger than 2 GB. It is simpler to store this information for a large data set in a single file. * 64-bit applications can use standard I/O routines to access files larger than 2 GB. HP-UX Compilers ************************************************************************ The following HP compiler products support both 64-bit and 32-bit program development: * HP C * HP aC++ * HP Assembler * HP DDE (debugger bundled with compilers) * HP PAK (performance toolkit bundled with compilers) * HP Linker toolset (bundled with the operating system) The following HP compiler products do not support 64-bit program development, but are available for 32-bit program development: * HP Fortran 77 and Fortran 90 * HP Pascal * HP MicroFocus COBOL Transition Tools ************************************************************************ There are several tools that can help transition your application from previous releases of HP-UX: * HP-UX Software Transition Toolkit (STK) Aids in transitioning your software to either the 32-bit or the 64-bit version of HP-UX 11.0. Users can use its tools and documentation to identify and fix obsolete or changed APIs in C and C++ source code, scripts, and makefiles. In order to use the HP-UX STK, you must install it. The HP-UX STK is available free of charge on the HP-UX 11.0 Application Release CD-ROM, or on the World Wide Web at http://www.software.hp.com/STK/. * HP-UX Software Transition Kit The HP-UX Software Transition Kit (STK) provides a complete solution that enables you, the HP-UX application developer, to easily transition your software from HP-UX 10.x to either the 32-bit or the 64-bit version of HP-UX 11.0. In most cases, you will not need to make source changes to run your software on HP-UX 11.0. The HP-UX STK helps you answer high-level planning questions such as: * What new features does HP-UX 11.0 offer and how can I take advantage of them? * Do I want a 32-bit or 64-bit version of my application? * Can I run my application on HP-UX 11.0 without making any changes to it, or should I port it? The HP-UX STK provides complete process descriptions for planning and performing the transition. It contains easy-to-follow instructions, a set of background documents, and tools to help you identify and resolve any required API changes in your C or C++ source code. These tools are known as scanimpacts and scanprobs. scanimpacts summarizes the number and type of API transition problems in your source files, and is useful for planning; scanprobs lists each instance of API problems by source file name and line number and is useful for making source code changes. If you use these types of source files: * C programs * C++ programs * scripts * makefiles the HP-UX STK tools help you locate and fix any changed or obsolete: * functions * commands * macros * structures and structure members * header files * language keywords * libraries * variables The HP-UX STK tools also identify opportunities for using some enhanced features of HP-UX 11.0. In addition to these tools, the HP-UX STK also explains how to use the compiler and lint to identify and fix other 64-bit transition issues such as data model changes (e.g. not assigning longs to ints). To use the HP-UX STK, you must install it. The HP-UX STK is available free of charge on the HP-UX 11.0 Application Release CD-ROM, or via the World Wide Web at http://www.software.hp.com/STK. * HP-UX Script Scanner A new tool, /usr/sbin/scanscript, is available to help you locate and fix any changed or obsolete functionality in installation or shell scripts. scanscript can help you determine if your scripts contain any commands, paths, libraries, or variables that must be changed. For more information, see the scanscript(1M) man page. HP C/HP-UX *********************************************************************** Summary of Change ----------------------------------------------------------------------- Release A.11.00 of the HP C/HP-UX compiler product includes support for both the 32-bit data model and the new 64-bit data model. New compile-line options, new pragmas and macros, and a new object file format support the 64-bit mode, and changes to the online and hardcopy documentation describe the new features. The default compilation mode has not changed--it remains 32-bits. Also, the default target architecture continues to be determined by the host machine and the system file /usr/lib/sched.models. In 64-bit mode, the long and pointer data types are 64-bits long. In 32-bit mode, the long and pointer data types are the same size as the The term used to specify the 64-bit mode in which the long and pointer types are 64-bits is LP64, and the term for 32-bit mode in which the int, long and pointer types are 32-bits is called ILP32. New or Changed Options ----------------------- * -dynamic--Lets you tell the linker that position-independent code (PIC) objects are being linked, causing the creation of a dynamically-bound executable. This option is available in 64-bit mode only and is the default in that mode. * -noshared--Lets you tell the linker that the program you are building does not use shared libraries. This overrides the LP64 default option, -dynamic. This option is available in 64-bit mode only. * +DA2.0 or +DA2.0N--Equivalent options which allow you to compile in 32-bit mode (narrow mode) for the PA-RISC 2.0 architecture. * +DD32--This option allows you to compile in 32-bit mode (narrow mode) for the PA-RISC 1.1 architecture. This option is equivalent to +DAportable. * +DD64 or +DA2.0W--Equivalent options which allow you to compile in 64-bit mode (wide mode) for the PA-RISC 2.0 architecture. The +DA2.0W usage is provided for backward compatibility, while the +DD64 usage is provided for future compatibility and is the preferred usage. The +DD64 and +DA2.0W options are specific to the PA-RISC 2.0 architecture. * +DCapptype--This option is provided for optimizing portable or embedded applications. Specify +DCemb to enable the code-generation options most often used to optimize code for embedded applications. This option is available in 64-bit mode only. * +M1--Turns on migration warnings regarding possible conflicts with future architectures. * +M2--Turns on LP64 data model migration warnings. This option is available in 64-bit mode only. * Advanced optimization options +Omultiprocessor and +Oextern have been added to optimize code for processor configuration and external symbol usage, respectively. New Preprocessor Macros ----------------------------------------------------------------------------- * __LP64__--Defined by compiler in 64-bit mode. * _PA_RISC2_0--Defined when compiling for PA2.0 in 32- or 64-bit modes. New Features ------------ * The compiler now generates standard SVR4 ELF object module format in 64-bit mode. New Pragmas ----------- * PACK-like HP_ALIGN, but more intuitive. Allows user to set the alignment of structs and unions along n-byte boundaries. * INIT, FINI-pragmas for program initialization and termination. * The Fast Libcall Pragmas: * HP_DEFINED_EXTERNAL (32-bit only) * HP_LONG_RETURN * HP_NO_RELOCATION New Libraries and Loader ------------------------- * 64-bit libraries: /opt/langtools/lib/pa20_64/libl.a /opt/langtools/lib/pa20_64/liby.a * 64-bit dynamic loader: /usr/lib/pa20_64/dld.sl o New libraries for threads: /opt/langtools/lib/libl_thread.a /opt/langtools/lib/pa20_64/libl_thread.a New Defaults ------------ o The compiler option +Z is the default in 64-bit mode (position independent code, or "PIC", is generated). The default in 32-bit mode remains non-PIC. For more information on the HP C/HP-UX 11.0 release and documentation see the HP C/HP-UX Release Notes included with the HP C/HP-UX product in the text file /opt/ansic/newconfig/RelNotes/ansic.11.00. HP-UX Developer's Kit for Java(tm) and the HP-UX Virtual Machines (with JIT) *********************************************************************** Summary of Changes ------------------------------------------------------------------------ The HP-UX Virtual Machines with JIT for Java(tm) and the HP-UX Developer's Kit for Java (JDK) release 1.1.2 for HP-UX 11.0 provide the solutions necessary to develop or deploy performance-enhanced Java applications on HP 9000 Enterprise Servers, HP 9000 Workstations, and HP Visualize Workstations. Release 1.1.2 for HP-UX 11.0 includes the addition of a second virtual machine which permits you to use kernel threads to implement Java threads thus allowing a single Java application to make use of additional processors in a multiprocessor machine. This new virtual machine is the default virtual machine. The other virtual machine does not make use of kernel-threads to implement Java threads--it uses a portable, user-level "green threads" package. You have the option of using either virtual machine, and may want to try both to see which provides the best performance for your application. Release 1.1.2 for both the 100% Java compatible HP-UX Virtual Machines with JIT for Java and HP-UX Developer's Kit for Java also continues to provide a comprehensive and rich set of API library packages: * Reflection -- provides a type-safe and secure means to discover and access the fields and methods of Java objects at runtime, including new services such as JavaBeans and object scripting, and tools such as inspectors, browsers and debuggers. * AWT -- includes APIs for printing, faster scrolling, popup menus, imaging, graphics, and flexible font support. Basic graphical user interface (GUI) components such as windows, buttons, text field, and menu choices provide a standard and extensible base for creating GUI-based applications. This release also includes new popup menu and scrollplane classes. A lightweight user interface (UI) framework allows Java programs to directly extend components and containers. Graphics image handling features in Release 1.1.2 give improved and faster image cropping, scaling, and rendering. Users can activate Java programs with menu functions by keyboard shortcuts. New printing capabilities allow users to easily print all screen graphics. * Security Package -- provides for digital signatures, certificate and key management and access control. Java Cryptography Architecture is a flexible API which includes digital signatures and message digests. This architecture provides cross-provider interoperability, and supports algorithm independence and widely used algorithms such as DSA, SHA and MD5. The java.security APIs provide a standard set of algorithm specific interfaces, access control, secure hash functions, and 100% Java implementation of DSA, MD5 and SHA. The Security Utilities provide a number of security functions such as code-signing facilities for x.509 certificate parsing and generation, certificate requests, and private key encoding according to Public Key Cryptography Standards. * Internationalization Support -- enables development of localizable applications. This release enables developers to create multilingual programs easily and to format output and parse common data types for specific user-selected locales. * Remote Method Invocation (RMI) -- permits Java to Java communication. The Java to Java Object Distribution feature enables an object in one Java Virtual Machine (VM) to seamlessly invoke methods on objects in a remote VM. RMI supports communication among applets and applications over the internet by using the HTTP protocol. Distributed Polymorphism is an extension to object polymorphism. RMI sanctions this over distributed applications. * Java Database Connectivity(tm) (JDBC) -- provides SQL database access. The JDBC API provides database independent connectivity between a Java application and a wide range of databases. ODBC bridge drivers from your vendor of choice provide access to most popular databases. * JavaBeans(tm) -- gives end users a model with which to turn software components from one or more parties into applications. The JavaBeans APIs enable developers to write re-usable components. JavaBeans developers will have a seamless and powerful means to run their applications in COM/ActiveX, OpenDoc, and Netscape's LiveConnect(tm). * Java Native Interface (JNI) -- allows Java to call other language libraries. The Java Native Interface is a standard native method interface that allows Java to call up native libraries written in C, C++, assembly, or other languages. JNI offers a VM-independent programming interface to native programs that enables developers to write a single native method library version that will be binary compatible with all Java VMs on a given platform. The Invocation Interface API allows software vendors to load the VM into arbitrary native applications, and therefore, integrate Java-based applications or functionality into their applications. Native methods usage information and examples for the HP platform are available on the JDK software. The documentation installs in /opt/java/docs/hpux. Any updates will be published via our URL http://www.hp.com/go/JAVA. * Networking Package -- provides basic support for managing connections. The URL and Socket Connections feature provides the basic support for managing connections using UDP or TCP sockets. It also provides the basic support for managing IP addresses and Web URLs. New Socket options such as TCP_NODELAY and SO_TIMEOUT provide greater control over socket connections. New Extendible Socket and ServerSocket classes enable custom functions such as compression and encryption. * I/O Package -- supports 16-bit Unicode characters. The Basic Byte-Stream I/O classes provide basic facilities for file I/O, buffering, pipes, filtering, and reading and writing binary data in a portable format. The Character-Stream I/O package allows developers to use 16-bit Unicode characters to make it easy to internationalize programs. Object Serialization converts Java objects into a stream of bytes that can be saved, stored, transmitted, and later used to create objects. * Other APIs -- provide useful functions: The java.lang core language classes such as String, Thread, Math, and class wrappers for primitive data types extend the functionality of Java providing, for example, control over strings, math operations and multi-threading. Runtime classes such as ClassLoader, SecurityManager, and Runtime provide access to the VM so developers can customize runtime behavior. The text manipulation package java.text provides support for text formatting, input, and manipulation. Core Utility Classes include data structures which are useful in typical Java applications: a hash table, a class to manipulate dates, and a random number generator, for example. java.util.zip provides zip archival and retrieval support. For reference, the Java sources for the API classes are in the /opt/java/src directory. In addition to the rich set of APIs, release 1.1.2 also improves application performance by reducing call overhead for synchronized methods, improves garbage collection, and includes the JAR platform independent file format. The JAR (Java ARchive) format enables fast downloads and allows entries to be digitally signed to authenticate origin. For more information, see the release notes included with the Java product or check our web page at http://www.hp.com/go/JAVA. ---------------------------------------------------------------------- Java and all Java-based trademarks and logos are trademarks or registered trademarks of Sun Microsystems, Inc. in the U.S. and other countries. strtold(3C) ************************************************************************ strtold(3C) is being deprecated and may be replaced in a future release by an API of the same name but with a different return type (the deprecated strtold returns long_double (which is an array of four unsigned 32-bit ints); the future strtold, if implemented, will return an ANSI C long double (which is a 128-bit floating point scalar). Impact ----------------------------------------------------------------------- New applications should avoid using strtold whenever possible. If ANSI C applications must use strtold, they should convert the returned long_double to a long double as described below (see the "Alternatives" section below). Alternatives ----------------------------------------------------------------------- Applications that need to convert a long_double returned by strtold into an ANSI C long double should either use memcpy or use the C union type. Here is a code excerpt showing how to do the conversion with a union: union { long_double l_d; long double ld; } u; /* convert str to a long_double; store return val in union */ /* (Putting value into union enables converted value to be */ /* accessed as an ANSI C long double)*/ u.l_d = strtold( (const char *)str, (char **)NULL); WARNING: Applications must not cast a long_double * to a long double *. They are aligned on different boundaries, and the cast may cause a processor fault (bus error). Cross-Platform Development ************************************************************************ HP-UX 11.0 provides a cross-platform development environment. You can compile and link both 32-bit and 64-bit applications on HP-UX 11.0 32-bit systems. Also, you can compile and link both 32-bit and 64-bit applications on HP-UX 11.0 64-bit systems. You can optionally install 64-bit versions of HP-UX 11.0 system libraries on HP-UX 11.0 32-bit systems for cross-development. The 64-bit system libraries are in separate directories from the 32-bit system libraries. Linking 32-bit and 64-bit object files (.o, .sl, .a) together is not supported. All modules in a program must be linked from either 32-bit objects or 64-bit objects. You will need access to a 64-bit hardware platform running the 64-bit version of HP-UX 11.0 to test 64-bit programs. Compiler Options for Cross Development ------------------------------------------------------------------------ Unless specified, HP compilers generate object files that are compatible with the hardware on which you are compiling. HP-UX 64-bit platforms use the PA-RISC 2.0 system architecture. The default compilation mode for these systems is 32-bit narrow mode for PA-RISC 2.0. PA-RISC 2.0 narrow mode programs only run on PA-RISC 2.0 systems. The compiler command line option for this mode is +DA2.0 or +DA2.0N.(+DA means destination architecture.) HP compilers generate 64-bit code when you specify the +DA2.0W command-line option. This is known as PA-RISC 2.0 wide mode. PA-RISC 2.0 wide mode programs only run on PA-RISC 2.0 systems running the 64-bit version of HP-UX. For more details, see the "HP-UX 64-bit Porting and Transition Guide". Please note the following cross-platform guidelines: * Debugging and program dump analysis tools for 64-bit programs are only supported on 64-bit HP-UX. * Kernel cross-platform development is not supported. If the device driver refers to kernel header files and libraries, development must be done on the same platform as the target run-time platform. Compatibility with Previous Releases ************************************************************************ HP-UX 11.0 is generally binary compatible with HP-UX 10.x. Fully-bound shared or archived executables that work on any HP-UX 10.x release will generally continue to work on this release without recompiling, relinking, or modifying the application. A fully shared bound application consists of an executable program and all of its related user shared libraries. For more information on compatibility see CHAPTER 3 of this document. Asian System Environment (ASE) @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ ASE is the system for these four Asian countries: JSE Japanese System Environment KSE Korean System Environment SSE Simplified-Chinese System Environment TSE Traditional-Chinese System Environment Features ------------------------------------------------------------------------ JSE ************************************************************************ * The following printers are added to printer support: Printer LP model HPDPS model Canon LBP-730PS PS.nloo LBP-730PS Canon LBP-740 LIPS4 LBP-740 Canon LBP-750 LIPS4 LBP-750 Canon LBP-930 LIPS4 LBP-930 Oki Microline 900PSII LT PS.nloo ML900PSIILT Oki Microline 902PSII PS.nloo ML902PSII Oki Microline 903PSII PS.nloo ML903PSII Oki Microline 903PSII+F PS.nloo ML903PSII+F Oki Microline 905PSII+F PS.nloo ML905PSII+F EPSON VP-2200 ESCP VP-2200 EPSON VP-4200 ESCP VP-4200 EPSON VP-5200 ESCP VP-5200 * 106/109 Keyboard is added to keyboard support. TSE ************************************************************************ tconv, one tool of Traditional Chinese Toolkit (TTK), provides two new code conversions: GBK to Big5 and Big5 to GBK. ASE Common ************************************************************************ * ximsstart is replaced with dtimsstart on HP-UX 11.0 CDE. With this change, XimsMode in "Application Manager - Desktop_tools" on CDE is replaced with DtImsMode. But, the command like as "ximsmode" is not provided. * The following HP proprietary old locale names are no longer supported. japanese japanese.euc korean chinese-s chinese-t chinese-t.big5 * HP proprietary old X11 fonts are no longer supported. These X11 fonts under the following directories are deleted. /usr/lib/X11/fonts/hp_japanese/75dpi /usr/lib/X11/fonts/hp_korean/75dpi /usr/lib/X11/fonts/hp_chinese_s/75dpi /usr/lib/X11/fonts/hp_chinese_t/75dpi * Asian Starbase fonts are deleted. * udcsc(1) - Tool for User Defined Character of Starbase stroke font is deleted. * Open NLIO library (libnlio) is deleted. * LaserJet II series is no longer supported. * Printing Asian PCL file to LIPS, PS, ESC/P, Japanese PCL printers is no longer supported. The printing capability of Asian PCL file via following model files are removed at this release. model file option LIPS3 -opcl LIPS4 -opcl PS.nlio -opcl ESCP -opcl PCL5.asian -oapcl * Various printing options support of LP and HPDPS are removed at this release. For detail, see /usr/share/doc/PRINT-ASE-NOTE. JSE ************************************************************************ * Some of UDC files are removed, renamed, and resized. * Japanese Intellifont is no longer supported. * Japanese FA/FM fonts is no longer supported. * Xsi protocol of XJIM is no longer supported. * FSlib - Font Server Access Library is no longer supported. * jtos(1) - code conversion command jtos, jtou, stoj, stou, utoj, utos are no longer supported. * Following function groups in Japanese library (libjpn) are not supported. jcode(3X), ibmjcode(3X), jisconv(3X), jctype(3X), jwctype(3X), jconv(3X), jwstring(3X), cset(3X), getwidth(3X), euclen(3X), wstostr(3X) * dictmerge - dictionary merge tool for XJIM is not supported. * Kana Kanji conversion library (libjpn) is not supported. Impact ************************************************************************ ASE Common ------------------------------------------------------------------------ * If you use the old X11 fonts, you are impacted. You can use the new X11 fonts instead of Intellifont. * If you use the old locale, you are impacted. You can use the new locale. JSE ----------------------------------------------------------------------- * If you use Intellifonts, you are impacted. You can use the TrueType option of Ricoh instead of Intellifonts. * Printing applications that use Font Server access Library (FSlib) provided by JSE should be modified to use the X Print Server. Alternatives *********************************************************************** ASE Common ----------------------------------------------------------------------- * Instead of LaserJet II series, use Laserjet III, 4, and 5 series. * Instead of HP proprietary old locale names, use the following locales. old new japanese ja_JP.SJIS japanese.euc ja_JP.eucJP korean ko_KO.eucKR chinsee-s zh_CN.hp15CN chinese-t zh_TW.ccdc chinese-t.big5 zh_TW.big5 * Instead of HP proprietary old X11 fonts, use the new fonts under the following directories. /usr/lib/X11/fonts/hp_japanese/100dpi /usr/lib/X11/fonts/hp_korean/75dpi /usr/lib/X11/fonts/hp_chinese_s/75dpi /usr/lib/X11/fonts/hp_chinese_t/75dpi * Instead of Open NLIO library (libnlio), use X11R5 Ximp or X11R6 XIM protocol. JSE ------------------------------------------------------------------------- * Instead of Japanese Intellifont, use TrueType option fonts. * Instead of FS lib, use X print server. * Instead of jtos(1), use iconv(1) as follows: jtos: iconv -f jis -t sjis jtou: iconv -f jis -t eucJP stoj: iconv -f sjis -t jis stou: iconv -f sjis -t eucJP utoj: iconv -f eucJP -t jis utos: iconv -f eucJP -t sjis * Instead of Japanese library (libjpn), use iconv(3C), wctype(3C). * Instead of Kana Kanji conversion library (libjpn), use Xlib or OSF/Motif. Unified Binary Implementation for HP-UX 11.0 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ o HP-UX 11.0 is a unified binary implementation - the same kernel runs on HP 9000 Server and Workstation platforms. o The kernel is available in two modes: 32-bit and 64-bit. o Allocation of unique 7xx and 8xx identifiers for systems will be discontinued as of 11.0. Neutral values will be used in future PA-RISC systems. Use of the true machine identifiers will be emphasized. Existing assignments of 7xx and 8xx values will continue to be supported. o Use of commands and interfaces such as uname(1), uname(2), model(1), and machid(1) must be carefully examined. In particular, reliance on the machine name returned from these calls is discouraged. o Functionality has been added to the POSIX standard system information APIs: confstr(3C), getconf(1), and sysconf(2). Summary of Change ************************************************************************* HP-UX 11.0 has been designed and implemented as a unified binary for use on Hewlett-Packard Company HP 9000 Servers and Workstations. In previous releases of HP-UX, separate kernels existed for Servers and Workstations. Although both kernels provided the same APIs and functions, their implementations were architecturally dependent on the hardware. The Server kernel would not function on a Workstation and vice versa. As of 11.0 there are two kernels: a 32-bit kernel and a 64-bit kernel. These kernels are the same source compiled as a 32-bit program and as a 64-bit program. The same 32-bit kernel will operate on a workstation or a server. The 64-bit mode of 11.0 is not supported on workstations. Please refer to Chapter 4 for more details about the 32-bit and 64-bit implementations. The single 32-bit kernel provides infrastructure support for the entire HP9000 platform range but this does NOT mean that every Server function will operate on every Workstation. Conversley, traditionally recognized Workstation functions may not operate on all Servers. For example, MC/ServiceGuard is a high availability software product that is only supported on Servers. Similarly, many graphics display implementations are dependent on specific hardware being attached to the system Only a limited number of graphics hardware sets are supported on Servers. 32-bit and 64-bit Kernel support ************************************************************************ The 32-bit kernel can execute on any Server and Workstation supported on 11.0 except the V2200 Server. The 64-bit kernel executes only on certain Servers. The V2200 requires the use of the 64-bit kernel. Note that not all PA8x00 CPU equipped systems are supported for 64-bit operation. The following table summarizes the HP 9000 Server implementations: 32-bit Only 32-bit AND 64-bit 64-bit Only ------------------------------------------------------------------------ D, E, G, H, I-class K-class (PA8x00) V2200 K-class (PA7x00) T600 T500 T520 Kernel interaction ************************************************************************ HP-UX 11.0 is only supported in 32-bit mode on HP 9000 Workstations. On 32-bit only platforms, only the 32-bit version of 11.0 can be updated to or installed. Only 32-bit applications will execute on these systems. For 32 and 64-bit platforms, either 32-bit or 64-bit versions can be installed. You can update or install only one version at any given time. If the system is running 32-bit 11.0, only 32-bit applications can be executed. If the system is running 64-bit 11.0, both 32-bit and 64-bit applications can executed. For 64-bit only platforms, only the 64-bit version of 11.0 can be installed. These systems will permit execution of both 32-bit and 64-bit applications. Please consult the HP 9000 Enterprise Servers Configuration Guide (1997 or later edition) for full hardware details. The development environment available with HP-UX 11.0 permits the compilation and linking of application code for 32-bit or 64-bit operation regardless of the type of the operating system on which the compilation is performed. The rules listed above for application execution apply. For example, the compilers and linker on a 32-bit system can produce either 32-bit or 64-bit code. If the output binary is 32-bit, it can be executed on the system. If the output binary is 64-bit, it cannot be executed on the system. It must be moved to a 64-bit system to execute. Impact ********************************************************************** The unified binary implementation will not affect most applications. Other changes in HP-UX 11.0 might be more important. You should review this entire document to ascertain if 11.0 will affect your application(s). It is important for applications that have hardware archi- tecture dependencies, to properly determine the capabilities of the hardware on which they are executing and take appropriate action. Identifying System Model Information ************************************************************************ In the past, HP 9000 systems have been separated into two categories: Servers and Workstations, the Servers all having unique 8xx number identifiers and Workstations having unique 7xx identifiers. HP marketed new HP 9000 systems -class where is a letter For example, HP 9000 C-class or K-class. HP has continued to assign 7xx and 8xx values to ensure a unique value for most classes of machines. To these classes of systems 7xx or 8xx values themselves are not used by HP for support purposes. As of 11.0, HP will no longer assign unique 8xx and 7xx identifiers to HP 9000 systems. All new PA-RISC systems introduced at and after 11.0 will have a neutral value of 800 or 700 in the hardware model string. This will be done to maintain compatibility with scripts or application software that requires a 7xx or 8xx value in the model string. Formal identification of systems should be achieved using the POSIX standard system information APIs to determine the true Server or Workstation classification (such as K460, B130, V2200). All existing Servers and Workstations will retain their previously assigned 8xx and 7xx values. Compatibility ************************************************************************ Command Name: uname(1) and uname(2) ************************************************************************ Identification of the system type has often used the "uname" function. Two implementations are now available: uname(1) and uname(2). uname(1) is a command that interprets several items of information pertaining to the system and prints them. uname(2) is a programmatic version of this command returning the information in string buffers. The length of the return strings are governed by the standards based definition of the UTSNAME data structure found in the file . Of particular interest is the machine type return value from this interface. It is of the form: 9000/8xx or 9000/7xx Since the machine value is limited to only three characters the information returned will not fully identify the platform. It is strongly suggested that any of these instances in scripts or application code be replaced by the POSIX standard system information APIs which will correctly identify system attributes. The attribute functions are discussed more fully later in this chapter. Hewlett-Packard intends to ship computer systems in the future which will not be marketed as 800 or 700 systems, nor will model strings contain 7xx or 8xx values (not even the neutral values 700 or 800) and the uname interface will not be able to fully specify the system type. Making changes to scripts or application code prepared for 11.0 to use the POSIX standard system information APIs will ensure your scripts or code are prepared to identify future systems from Hewlett-Packard. The uname interface will continue to be supported in 11.0. Elements of the UTSNAME structure such as nodename, license level, and hardware id are only accessible through this interface. Command Name: model(1) and model(4) ************************************************************************ The model(1) command will continue to operate normally and return the full model string information. For example, on a K460 the model command will return: 9000/889/K460 while the uname -m command would only return: 9000/889 Note that the model string of a system may now be returned programmatically using the POSIX standard system information APIs. See confstr(3C), getconf(1), and sysconf(2) for details. NOTE: Definitions for model(4) implemented in the header file will continue to be supported for compatibility with application code written in previous HP-UX releases. Some of these constants may be misleading, and their use is discouraged. For example, #define HP_S_800 CPU_PA_RISC1_0 The value for this definition is found in and indicates that any HP 9000 system with a PA-RISC 1.0 CPU should always be treated as a Series 800 system. This is clearly no longer a useful definition because: 1) Series 800 system definitions are no longer used 2) Newer HP 9000 Servers use PA-RISC 1.1, 1.2, or 2.0 CPUs Instead of these definitions, the use of the POSIX standard system information APIs is encouraged. Command Name: machid(1) ************************************************************************ The use of machid(1) and aliased commands such as hp9000s800 will continue to be supported but as with uname, cannot fully identify the system on which they are executed. Also some commands are not particularly useful. For example, hp9000s800 always returns TRUE on any PA-RISC system. This means that the use of the hp9000s800 command on an HP 9000 Workstation would return TRUE. It is strongly suggested that scripts using these commands be modified to use the getconf(1) function to yield the model string and correctly interpret it. See the usage section for more details. See the man page for machid(1) for a full list of the commands involved. API: sysconf(2) *********************************************************************** Enhancements have been made to sysconf(2) in the HP-UX 11.0 release to: * supplement the information currently provided by uname(1), * indicate whether certain information pertaining to a specific programming model can be obtained using confstr(3C). sysconf() will support new system variables to supplement the infor- mation returned by uname(1) and to differentiate between 32-bit and 64-bit systems. It will also indicate whether certain information pertaining to a specific programming model can be obtained using confstr(3C). The same information will also be available through the getconf(1) utility, which relies on sysconf() to obtain the requested information. _SC_KERNEL_BITS ----------------------------------------------------------------------- Return whether the executing kernel is running in 32-bit or 64-bit mode. Value for name Value Returned -------------- -------------- _SC_KERNEL_BITS 32 if kernel is 32-bit 64 if kernel is 64-bit _SC_HW_32_64_CAPABLE ---------------------- Return whether the system is 64-bit capable; that is, can the hardware support a 64-bit kernel. Value for name Value Returned -------------- -------------- _SC_HW_32_64_CAPABLE a 2-bit encoding Use the following macros in to interpret the return: ------------------------------------------------------------------------ # define _SYSTEM_SUPPORTS_LP64OS(__x) ((__x) & 0x1) # define _SYSTEM_SUPPORTS_ILP32OS(__x) ((__x) & 0x2) _SC_CPU_CHIP_TYPE ------------------------------------------------------------------------ Return the HPPA or SPPA processor implementation. Value for name Value Returned -------------- -------------- _SC_CPU_CHIP_TYPE Encoding which indicates type of CPU chip employed in system. Bits 21-26 identify the model, bits 27-31 the revision. _SC_XBS5... ------------------------------------------------------------------------ Return the value of the following symbolic constants. Return -1 if they are not defined. This is used to determine if the corresponding _CS_XBS5 parameters (such as _CS_XBS5_ILP32_OFF32_CFLAGS, _CS_XBS5_LP64_OFF64_LDFLAGS, _CS_XBS5_LPBIG_OFFBIG_LIBS, and so forth) are supported by confstr(3C). Value for name Value Returned -------------- -------------- _SC_XBS5_ILP32_OFF32 value defined in as _SC_XBS5_ILP32_OFF32 _SC_XBS5_ILP32_OFFBIG value defined in as _SC_XBS5_ILP32_OFFBIG _SC_XBS5_LP64_OFF64 value defined in as _SC_XBS5_LP64_OFF64 _SC_XBS5_LPBIG_OFFBIG value defined in as _SC_XBS5_LPBIG_OFFBIG API: confstr(3C) ************************************************************************ size_t confstr(int name, char *buf, size_t len); Enhancements have been made to confstr(3C) in the HP-UX 11.0 release: * to supplement the information currently provided by uname(1) * to return the appropriate compiler options, libraries, and lint options to build/check an application using a particular programming model. The same information will also be available through the getconf(1) utility, which relies on confstr() to obtain the requested information. _CS_KERNEL_BITS ------------------------------------------------------------------------ Returns whether the executing kernel is running in 32-bit or 64-bit mode. Value for name Value Returned -------------- -------------- _CS_KERNEL_BITS "32" if kernel is 32-bit "32/64" if kernel is 64-bit (and, therefore, supports the execution of 32-bit applications) _CS_HW_CPU_SUPP_BITS ------------------------------------------------------------------------ Returns which kernel is supported on a particular system, regardless of what the hardware can actually support. Remember that not all systems using PA8x00 CPUs are supported for 64-bit. Value for name Value Returned -------------- -------------- _CS_HW_CPU_SUPP_BITS "32" Only 32-bit HP-UX is supported "32/64" Both 32-bit and 64-bit HP-UX are supported "64" Only 64-bit HP-UX is supported. _CS_MACHINE_MODEL ------------------------------------------------------------------------ Returns the hardware model string. Value for name Value Returned -------------- -------------- _CS_MACHINE_MODEL The HP hardware model name for the system. Example: "9000/715/50". _CS_XBS5_ILP32_OFF32_CFLAGS ------------------------------------------------------------------------ Returns the set of initial options to be given to the cc(1) and c89(1) utilities to build an application using a programming model with 32-bit int, long, pointer, and off_t types. Value for name Value Returned -------------- -------------- _CS_XBS5_ILP32_OFF32_CFLAGS "" (no value returned) _CS_XBS5_ILP32_OFF32_LDFLAGS ------------------------------------------------------------------------ Returns the set of final options to be given to the cc(1) and c89(1) utilities to build an application using a programming model with 32-bit int, long, pointer, and off_t types. Value for name Value Returned -------------- -------------- _CS_XBS5_ILP32_OFF32_LDFLAGS "" (no value returned) _CS_XBS5_ILP32_OFF32_LIBS ------------------------------------------------------------------------ Returns the set of libraries to be given to the cc(1) and c89(1) utilities to build an application using a programming model with 32-bit, int, long, pointer, and off_t types. Value for name Value Returned -------------- -------------- _CS_XBS5_ILP32_OFF32_LIBS "" (no value returned) _CS_XBS5_ILP32_OFF32_LINTFLAGS ------------------------------------------------------------------------ Returns the set of options to be given to the lint(1) utility to check application source using a programming model with 32-bit int, long, pointer, and off_t types. Value for name Value Returned -------------- -------------- _CS_XBS5_ILP32_OFF32_LINTFLAGS "" (no value returned) _CS_XBS5_ILP32_OFFBIG_CFLAGS ------------------------------------------------------------------------ Returns the set of initial options to be given to the cc(1) and c89(1) utilities to build an application using a programming model with 32-bit int, long, and pointer types, and an off_t type using 64-bits. Value for name Value Returned -------------- -------------- _CS_XBS5_ILP32_OFFBIG_CFLAGS "-D_FILE_OFFSET_BITS=64" _CS_XBS5_ILP32_OFFBIG_LDFLAGS ------------------------------------------------------------------------ Returns the set of final options to be given to the cc(1) and c89(1) utilities to build an application using a programming model with 32-bit int, long, and pointer types, and an off_t type using 64-bits. Value for name Value Returned -------------- -------------- _CS_XBS5_ILP32_OFFBIG_LDFLAGS "" (no value returned) _CS_XBS5_ILP32_OFFBIG_LIBS ------------------------------------------------------------------------ Returns the set of libraries to be given to the cc(1) and c89(1) utilities to build an application using a programming model with 32-bit int, long, and pointer types, and an off_t type using 64-bits. Value for name Value Returned -------------- -------------- _CS_XBS5_ILP32_OFFBIG_LIBS "" (no value returned) _CS_XBS5_ILP32_OFFBIG_LINTFLAGS ------------------------------------------------------------------------ Returns the set of options to be given to the lint(1) utility to check application source using a programming model with 32-bit int, long, and pointer types, and an off_t type using 64-bits. Value for name Value Returned -------------- -------------- _CS_XBS5_ILP32_OFFBIG_LINTFLAGS "-D_FILE_OFFSET_BITS=64" _CS_XBS5_LP64_OFF64_CFLAGS ------------------------------------------------------------------------ Returns the set of initial options to be given to the cc(1) and c89(1) utilities to build an application using a programming model with 32-bit int, and 64-bit long, pointer, and off_t types. Value for name Value Returned -------------- -------------- _CS_XBS5_LP64_OFF64_CFLAGS "+DA2.0W" _CS_XBS5_LP64_OFF64_LDFLAGS ------------------------------------------------------------------------ Returns the set of final options to be given to the cc(1) and c89(1) utilities to build an application using a programming model with 32-bit int, and 64-bit long, pointer, and off_t types. Value for name Value Returned -------------- -------------- _CS_XBS5_LP64_OFF64_LDFLAGS "" (no value returned) _CS_XBS5_LP64_OFF64_LIBS ------------------------------------------------------------------------ Returns the set of libraries to be given to the cc(1) and c89(1) utilities to build an application using a programming model with 32-bit int, and 64 bit long, pointer, and off_t types. Value for name Value Returned -------------- -------------- _CS_XBS5_LP64_OFF64_LIBS "" (no value returned) _CS_XBS5_LP64_OFF64_LINTFLAGS ------------------------------------------------------------------------ Returns the set of options to be given to the lint(1) utility to check application source using a programming model with 32-bit int, and 64-bit long, pointer, and off_t types. Value for name Value Returned -------------- -------------- _CS_XBS5_LP64_OFF64_LINTFLAGS "" (no value returned) _CS_XBS5_LPBIG_OFFBIG_CFLAGS ------------------------------------------------------------------------ Returns the set of initial options to be given to the cc(1) and c89(1) utilities to build an application using a programming model with an int type using 32 bits and long, pointer, and off_t types using 64-bits. Value for name Value Returned -------------- -------------- _CS_XBS5_LPBIG_OFFBIG_CFLAGS "+DA2.0W" _CS_XBS5_LPBIG_OFFBIG_LDFLAGS ------------------------------------------------------------------------ Returns the set of final options to be given to the cc(1) and c89(1) utilities to build an application using a programming model with an int type using 32 bits and long, pointer, and off_t types using 64-bits. Value for name Value Returned -------------- -------------- _CS_XBS5_LPBIG_OFFBIG_LDFLAGS "" (no value returned) _CS_XBS5_LPBIG_OFFBIG_LIBS ------------------------------------------------------------------------ Returns the set of libraries to be given to the cc(1) and c89(1) utilities to build an application using a programming model with an int type using 32 bits and long, pointer, and off_t types using 64-bits. Value for name Value Returned -------------- -------------- _CS_XBS5_LPBIG_OFFBIG_LIBS "" (no value returned) _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS ------------------------------------------------------------------------ Returns the set of options to be given to the lint(1) utility to check application source using a programming model with an int type using 32 bits and long, pointer, and off_t types using 64-bits. Value for name Value Returned -------------- -------------- _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS "" (no value returned) Command: confstr() ************************************************************************ confstr() will support new system variables to supplement the infor- mation returned by uname(1) and to differentiate between 32-bit and 64-bit systems. It will also return the appropriate compiler options, libraries, and lint options to build/check an application using a particular programming model. Alternatives ------------------------------------------------------------------------ The getconf() utility may be used to obtain the same information provided by confstr(). The manual page for confstr() has been updated to include the above changes. Alternatives ------------------------------------------------------------------------ The getconf() utility may be used to obtain the same information provided by confstr() V2200 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ To support the V2200, support for non-contiguous physical memory has been added to HP-UX 11.0. Some of the variables and data structures in the kernel changed. For example, physmem, which used to represent the number of pages of physical memory was removed. This may impact applications that use /dev/kmem to read kernel information. (In general, most generic commands have been ported to use the pstat(2) interface.) PCI device drivers ported to the V2200 must use shared memory. (All drivers for 11.0 conform to this requirement.) DCE Bundled Client (libdce, libcma) @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ * DCE module for the new Name Service Switch * DCE support of Kerberos V5 Beta 5-7 and Release 1.0 * DCE 32-bit application only * Completed the PAMization of all the integrated login utilities Summary of Change ---------------------------------------------------------------------- The DCE module for the Name Service Switch allows the getpwnam (and getgrnam) family of calls to retrieve user information directly from the DCE registry rather than from /etc/passwd. The major benefit is customers are no longer required to frequently run passwd_export to keep /etc/passwd synchronized with the DCE registry. The DCE configuration script, dce_config, has been updated to create the Kerberos configuration file, /etc/krb5.conf, in order to support Kerberos V5 Beta5 and Release 1.0 applications. The responsibility to maintain this configuration file is left to the administrator. DCE continues to create and maintain the Kerberos configuration files /krb5/krb.conf and /krb5/krb.realms to support Kerberos applications written prior to Beta 5. The DCE configuration script has also been updated to support the Kerberos V5 Beta5-7 and Release 1.0 keytab files by creating links from /etc/v5srvtab and /etc/krb5.keytab to /krb5/v5srvtab, the Beta4 version of the keytab which DCE continues to create and maintain. The following entries are added to /etc/services by the DCE configuration script to further support Kerberos V5 and secure remote utilities: kerberos-sec, klogin, kshell, ekshell, and eklogin. The migration of integrated login utilities from the libauth technology to the PAM technology has been completed. All integrated login utilities (login, su, passwd, dtlogin, dtsession, ftpd) now use PAM. DCE is a 32-bit application only. Properly built DCE applications will continue to run on HP-UX 11.0 on both the 32-bit OS and the 64-bit OS. Using Oracle 7.3.3. (HP-UX 10.20 build) @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ Oracle version 7.3.3, was built on HP-UX 10.20 and was compiled using libc.a (archived libc) and libcma.sl (shared libcma). This compilation mechanism is neither recommended by Hewlett-Packard, nor is it Oracle's usual compilation practice. However in the specific case of Oracle 7.3.3 this mechanism was used and has led to a specific issue with running the HP-UX 10.20 compiled Oracle 7.3.3. on HP-UX 11.0. In HP-UX 11.0, two shared versions of libcma.sl are provided in the HP-UX runtime product. The file /usr/lib/libcma.2 (the default libcma.sl) was compiled on 11.0. The file /usr/lib/libcma.1 is the latest 10.20 revision incorporating several defect repairs for problems uncovered in the field with HP-UX 10.20. A defect repair for large file size support in libcma.1 makes reference to the symbol "getrlimit64". This symbol was not referenced in the original 10.20 version of libcma.1 used by Oracle for the 7.3.3 build. If you attempt to install and run the 10.20 build of Oracle 7.3.3 on HP-UX 11.0, it will likely fail at runtime with the error: dld: could not resolve getrlimit64 from /usr/lib/libcma.1 There are two ways to avoid the problem: 1. Obtain the 11.0 compiled version of Oracle 7.3.3 by contacting your Oracle Sales Representative. This version will operate correctly on HP-UX 11.0. 2. Obtain the original 10.20 libcma.1 file and use it to replace the later revision of this file provided with 11.0. Please make a backup copy of the 11.0 version. The original file stamp for libcma.1 on HP-UX 10.20 is: # ll /usr/lib/libcma.1 -r-xr-xr-x 1 bin bin 520192 May 30 1996 /usr/lib/libcma.1 # # what /usr/lib/libcma.1 /usr/lib/libcma.1: HP DCE/9000 1.5 Module: libcma.sl (Export) Date: Apr 29 1996 22:11:24 # Applications built on HP-UX 10.30 using libcma.1 ************************************************************************ Since the version of libcma.1 provided with HP-UX 11.0 is the latest HP-UX 10.20 revision, if you attempt to install and run an application built on HP-UX 10.30 referencing libcma.1, the application will fail. You must reference the libcma.2 file provided with HP-UX 11.0 for the application to run. Size Requirement ---------------------------------------------------------------------- libdce and libcma deliveries are larger for 11.0 due to versioning of these libs to support the libc versioning in HP-UX 10.30. Refer to libc changes in HP-UX 10.30 for details. ________NOTE:___________________________________________________________ "The NCS/NCK product has been completely obsoleted from this release. The development environment for NCS has not been available for any of the HP-UX 10.* releases. The runtime environment was the only functionality available on the HP-UX 10.* versions. With HP-UX 11.0, the runtime environment is no longer available and has been removed from the system as part of the installation process. The replacement functionality for NCS runtime is DCE. Applications that have been designed to use NCS need to be ported to the DCE functionality. For information regarding this engineering effort, the DCE documentation should be used." _______________________________________________________________________ Dynamically Loadable Kernel Module(DLKM) @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ Dynamically Loadable Kernel Modules (DLKM) is an advanced operating system feature which provides the infrastructure necessary to load different subsystems into a running kernel. DLKM also provides the mechanisms to unload, configure, and query the loaded subsystems. The current HP-UX kernel configuration mechanism has been extended to support the configuration of dynamically loadable kernel modules. This involves introduction of new commands, extension of some existing commands and addition of files and directories to the current HP-UX directory structure. Summary of the Change ************************************************************************* With the introduction of DLKM, the system is now composed of both the static kernel and a set of loaded modules, each of which contain separate symbol tables and unwind information. Commands, libraries, and any applications which interact with kernel data, etc..., symbols, must now also address loadable modules in order to view the entire system. Towards this end, user level interfaces into the kernel have been modified to be made "DLKM aware" in order to obtain information from both the static kernel and any modules may which have been loaded. Additional commands and system calls have also been added to load, unload, configure, and query for loadable modules. The primary user level interface changes are as follows: *New system calls: getksym(2), modadm(2), moduload(2), modpath(2), modstat(2),modload(2), The getksym(2) system call obtains global kernel symbol information. The modadm(2) system call provides administrative access to DLKM modules. The modload(2) system call loads a loadable kernel module. The modpath(2) system call changes the search path for loadable modules. The modstat(2) system call obtains information about loadable modules. The moduload(2) system call unloads kernel modules. *Modified system calls: ioctl(2) The ioctl(2) will be extended to include the following: MIOC_READKSYM - Read buflen bytes of kernel memory, starting at the address, for the symbol name. MIOC_WRITEKSYM -Write buflen bytes into kernel memory starting at the address of the symbol name. MIOC_IREADKSYM -Indirect read: Read sizeof(void *)bytes of kernel memory starting at the address for the symbol name. Use that address to read buflen bytes of the kernel memory. MIOC_IWRITEKSYM -Indirect write: read sizeof(void *) bytes of kernel memory starting at the address for the symbol name. Use that as the kernel memory address into which buflen bytes from buf are written. MIOC_LOCKSYM - Increase by one the hold count on the module whose name is given as the third argument to the ioctl, thereby preventing the module from being unloaded. MIOC_UNLOCKSYM -Decrease by one the hold count on the module whose name is given as the third argument to the ioctl, thereby making the module a candidate for unloading if the hold count is now 0. Kernel Configuration ************************************************************************ The change in the kernel configuration design for DLKM revolves around the introduction of modules. A module may be viewed as an atomic unit that may be installed or removed from the system, to be configured and built as desired. The primary kernel configuration features visible to users are as follows: * New user level commands: kmadmin(1M): an administrative command for dynamically loadable kernel modules, allows administrators to load, unload, and query for loadable modules. kminstall(1M): install, remove and update a module on a system. kmsystem(1M): provides an interface to set the flags indicating whether a module needs to be configured and whether it needs to be built as loadable or static. kmtune(1M): provides an interface to set the tunable parameters for a module. kmmodreg(1M): register, unregister a loadable module with the kernel. kmupdate(1M): Updates default kernel file and associated modules and context files or updates specified loadable modules. * Modified user level commands: config(1M) currently is used to build the static kernel. New options are added to this command to allow the build of loadable modules. It will be possible to build the specified loadable modules individually and dynamically, without requiring a rebuild or reboot of the entire system. Old Usage: /usr/sbin/config [-t] [-m master] [-c c_file] [-l m_file] [-r dir] [-s] systemfile New Usage: /usr/sbin/config [-S] [-#] [-t] [-m master] [-c c_file] [-l m_file] [-r dir] [-u] [-s] systemfile -S option will build all modules statically. -u update kernel file and associated modules and context files during next shutdown. -# option will be the debug option. /usr/sbin/config -M module [[-M mod-name]..]] [-m master] [-u] [-#] -M option will build specified loadable modules -u update the module. -# option will be the debug option. mk_kernel(1M) currently calls config(1M) to build the static kernel. New options to build loadable modules are added to this command. It will call config(1M) with the extended options accordingly. Old Usage: /usr/sbin/mk_kernel [-v] [-o ] New usage: /usr/sbin/mk_kernel [[-M mod-name]..] [-v] [-o /usr/conf/master.d/. Only a user with appropriate privilege can specify the username as the optional parameter. Command Name: csplit ************************************************************************ An additional option {*} has been added to repeat previous operand as many times as necessary to finish input. Command Name: date(1) ************************************************************************ 1. date -a [-]sss[.fff] Slowly adjust the time by sss.fff seconds. The system's clock will be sped up or slowed down until it has drifted by the number of seconds specified. 2. date [-u] [mmddhhmm[[cc]yy]] Where cc is the century minus one (ie 19 or 20) 3. %R : Same as %H:%M %Ec : Alternate appropriate date and time representation. %EY : Full alternate year representation. Command Name: diff3(1) ************************************************************************ The -E option will produce a script for the editor ed(1) that will incorporate into file1 all changes between file2 and file3, but treat overlapping changes differently. The overlapping lines from both files will be inserted by the edit script, bracketed by <<<<<< and >>>>> lines. The -X option will produce a script that will incorporate only changes flagged ====, and treat these changes in the manner of the -E option. Impact ------------------------------------------------------------------------ Positive impact - The user can get the ed(1) script with or without overlapping changes marked. Command Name: dd(1) ************************************************************************ Three new options have been added to the dd command: "files", "iseek", and "oseek". Specifying "files=n" allows the user to copy and concatenate n input files. The "files" option should only be used when the input file is a magnetic tape device. The "iseek" and "oseek" options have been added as aliases for the "skip" and "seek" options, respectively. Summary of Change ------------------------------------------------------------------------ The following options have been added to the dd(1) command, and have been included on the dd(1) manual page: files=n Copy and concatenate n input files. iseek=n Seek n blocks from beginning of input file before copying. oseek=n Seek n blocks from beginning of output file before copying. Command Name: ex(1) ************************************************************************ The -C option is similar to -x, except that the input file is assumed to have been encrypted. Command Name: file(1) ************************************************************************ The '-h' option instructs the file(1) command not to follow link in case of files with symbolic links. Command Name: find(1) ************************************************************************ The following features are added : - "-local" option matches files which physically resides on a local file system. - "+" punctuation to the -exec cmd option which aggregates a set of pathnames and executes on the set. Impact ------------------------------------------------------------------------ The "-local" option also improves performance while searching is restricted only to file residing on the local file system as the remotely mounted filesystems are neglected. The "+" punctuation added to the -exec option results in improved performance when compared to the ";" punctuation. Note: If the user wishes to change the ";" to "+", then the find(1) command output sequence might differ. This is because find(1) "+" passes an aggregated set of pathnames to the command being executed, and the output depends on the way the command handles the aggregated set. For example, consider the sequence: $ mkdir -p tmp/tmp/tmp $ touch tmp/foo tmp/tmp/foo1 tmp/tmp/tmp/foo2 $ find tmp -name foo\* -exec ll {} \; -rw-r--r-- 1 arvind users 0 Jan 24 12:01 tmp/tmp/tmp/foo2 -rw-r--r-- 1 arvind users 0 Jan 24 12:01 tmp/tmp/foo1 -rw-r--r-- 1 arvind users 0 Jan 24 12:01 tmp/foo However, if we use "+", the output will be, $ find tmp -name foo\* -exec ll {} \+ -rw-r--r-- 1 arvind users 0 Jan 24 12:01 tmp/foo -rw-r--r-- 1 arvind users 0 Jan 24 12:01 tmp/tmp/foo1 -rw-r--r-- 1 arvind users 0 Jan 24 12:01 tmp/tmp/tmp/foo2 Note the change in the sequence of filenames being printed by find(1). This change in the output sequence of the filenames is because the "ll" command behaves differently when invoked with multiple pathnames and single pathnames. Performance ------------------------------------------------------------------------ The user is encouraged to use the new "+" punctuation instead of the currently supported ";" as this results in a large performance improvement. If only the local filesystems have to be searched, use the -local option which will not waste time accessing remotely mounted filesystems, thus improving performance. Command Name: finger(1) ************************************************************************ The following information has been added to default output format of finger: 1. Last time the user read mail, 2. Last time the user received the mail. Command Name: grep(1) ************************************************************************ The addition of the -h option suppresses printing of filenames when searching multiple filenames. Command Name: last(1), lastb(1) ************************************************************************ The -f "filename" option use "filename" as the name of the accounting file instead of /var/adm/wtmp. Impact ------------------------------------------------------------------------ This option provides the user with the flexibility to specify a different accounting file instead of the normal /var/adm/wtmp or /var/adm/btmp. Command Name: man(1) ************************************************************************ -M path Changes the search path for manual pages. path is colon-separated list of directories that contains manual page directory subtrees. -T macro-package Uses the macro package specified to display the manpage rather than the standard man macro defined in /usr/share/lib/tmac/tmac.an New sections local, new, old and public are supported. The user can specify any of these section names to get a manpage stored in the directories corresponding to the section. For example, man public