 |
» |
|
|
 |
|  |  |
This section defines the obsolescence of core system libraries
and relocatable objects. Obsolescence of other products are covered
in separate sections. Rationale and Objectives |  |
The HP rational and objectives of obsolesence and deprecation
of APIs are: provide common, standard APIs across
UNIX vendors facilitate portability for our ISVs reduce confusion for the selection of similar APIs reduce the size of libc, thus increasing performance
of shared libc reduce the continued application turbulence for
future architecture changes remove the compatibility problems for applications
which link with shared libraries that have dependencies on archive
system libraries reduce satisfaction issues with APIs that have specification
defects, for example, compatibility issues reduce support costs for APIs that are not in the
strategic direction of standards, the industry, and our customers minimize adoption issues for new releases on PA
or IA-64
The intent is that there will be NO gratuitous changes, and
obsolescence of APIs and libraries is acceptable when initiated
to avoid application breakage or duplicate functionality. Terms and Definitions |  |
Deprecated: A "deprecated"
interface can have the following characteristics: functionality is available on the
system deprecation is a step towards obsolescence the specification is in flux functionality no longer makes sense functionality has been replaced support/enhancement expectations have been lowered warnings against usage/alternatives are provided the provider continues to test functionality migration plan/tools are provided
The reasons for marking an interface as "deprecated"
may include: marked "to be withdrawn"
by standards support is available via more standard means equivalent, enhanced, more reliable counterparts
exist also all reasons listed in the "Obsolete"
section below
Obsolete: An "obsolete"
interface may have the following characteristics: functionality is no longer available
on the system runtime support is undefined cannot develop or build with this interface documentation is not provided or recommends against
usage the final stage of the product life cycle has been
reached
The reasons for marking an interface as "obsolete"
may include: underlying infrastructure in either
the software or hardware is obsolete or not available changes to the system have decreased reliability miscellaneous business decisions such as: third parties solution exists support costs are too high
CMA Threads Obsolescence |  |
CMA threads (libcma) is a userspace implementation of POSIX P1003.1a (Draft
4), which was based on Concert Multi-Thread Architecture (CMA). Starting at HP-UX 11.0, multi-threading was also supported
in the HP-UX kernel and was known as kernel or POSIX threads (libpthread). The POSIX threads implementation supports the approved
POSIX 1003.1c (POSIX.1-1996 Draft 10) standard, which facilitates
application portability onto POSIX-compliant vendor platforms. POSIX
threads also enable the application to parallelize the execution
of threads on multiple processors in a multi-processor system. CMA threads (libcma) will be deprecated (advertised for future obsolescence)
at 11i and the development environment will no longer be shipped
on follow-on releases of HP-UX, including those supporting IA-64.
There is no plan to release native IA-64 CMA threads on follow-on releases
of HP-UX, including those supporting IA-64. Also see “Kernel Threads
vs. CMA Threads (new)” in Chapter 8. Applications using CMA threads have the following options: libcma PA applications will continue to run on follow-on releases
of HP-UX, including those supporting IA-64 via compatibility mode. Applications using libcma should start migrating to POSIX threads (libpthread). libcma applications can maintain their existing development environment
on 11.0 to 11i in order to continue to make application defect repairs
where the libcma development environment is still available and then
deploy the application on follow-on releases of HP-UX, including
those supporting IA-64.
Transitioning from CMA threads to POSIX threads is a non-trivial
effort. The 11.x/IA-64 Software
Transition Kit (STK) provides tools and documentation transition
aids to help with the transition at: http://devresource.hp.com/STK Additonal transition aids include: List of APIs to be Deprecated/ObsoletedA summary of information about the APIs to be deprecated and obsoleted is
provided in Table 12-1 “APIs to be Deprecated/Obsoleted” Table 12-1 APIs to be Deprecated/Obsoleted Library/API | Description | Release Deprecated | Native on IA-64 | Comments |
|---|
Entire
Libraries | libc.a pa20_64/libc.a | Archive/static libc | 11i 11i | No No | | libp/libc.a pa20_64/libp/ libc.a | Archive profile libc | 11i 11i | No | | libpicc.a | Build custom libc | 11i | No | | libPW.a | ATT Programmer's Workbench | 10.30 | No | Comparable APIs are in libc. | libBSD.a | BSD 4.2 library | 10.30 | No | Comparable APIs are in libc. | /usr/old/ libmalloc3x.a /usr/old/ malloc3c.o | Old malloc() relocatable objects for compatibility with pre-9.x | 10.01 11i | No | Use libc malloc(). | libcma.a libcma.1 libcma.2 | CMA threads | 11.0 & 11i | No No No | Use libpthread(). | libc
APIs | | memorymap() | Display the contents of the memory allocator. 32-bit
only (no 64-bit available) | 11i | No | Use mallinfo() instead. | blockmode() family blclose(), blget(), blopen(), blread(), blset(), <blmodeio.h> | HP proprietary terminal interfaces | 10.30 | No | Use libxcurses() instead. | File system descriptor file entry 4.2
BSD: endfsent(), getfsfile(), getfstype(), getfsent(), getfsspec(), setfsent() | File system APIs for compatibility with
4.2 BSD. | 10.30 | No | Use getmntent() APIs instead. | gettxt(), setcat() | SVID message catalog facility | 11i | Yes | Use catopen(), catgets() instead. | sys_errlist(), sys_nerr() | Array of message strings and largest
message number in the array. | 11i | Yes | Use strerror() instead. | ptrace(), ptrace64() | Process trace | 11i | No | | nl_tools_16() APIs and Macros: byte_status(), firstof2(), secoof2(), c_colwidth() | Tools to process 16-bit characters. | 10.0 | No | | Derived
Definitions for Header files | _INCLUDE_AES_SOURCE _XPG4_EXTENDED | Replaced by _INCLUDE_XOPEN_SOURCE_EXTENDED | 11i | No | | _SVID2 | No longer supported. | 11i | No | | _XPG2 | No longer supported. | 11i | No | | _XPG3 | No longer supported. | 11i | No | | _XPG4 | Replaced by _XOPEN_SOURCE | 11i | No | | _POSIX1_1988 | Replaced by _INCLUDE_POSIX_SOURCE. | 11i | No | | _CLASSIC_ANSI_TYPES _CLASSIC_POSIX_TYPES _CLASSIC_XOPEN_TYPES _CLASSIC_ID_TYPES | Supported in HP-UX 7.x, 8.x for HP-UX
6.x compatibility. HP-UX compatibility
is not required for 10.x. | 11i | No | |
|