Jump to content
HP.com Home Products and Services Support and Drivers Solutions How to Buy
» Contact HP
HP.com home

Transition Impacts

HP-UX Software Transition Kit
» 

DSPP Home

» HP STK home
HP-UX STK
» Home
» Overview
» Tools
» Documentation
» Transition impacts
» Identifier types
» Impact list
» Qualifying on HP-UX
» Porting to HP-UX
» FAQ
» Glossary
» Help
» Send us feedback
Site maps
» HP-UX STK
» DSPP
Content starts here

library impacts summary

 

Library Impacts Summary

This impact class contains impacts related to shared and archive libraries, including the standard C library (libc). Many of these impacts require you to modify your source code.

HP-UX 11i (B.11.22) and later HP-UX versions running on the Itanium architecture use the ELF (Executable and Linking Format) standard for both 32-bit (ELF32) and 64-bit (ELF64) applications. This is different from earlier releases of HP-UX 11i. HP-UX 11i (B.11.11) uses ELF64 for 64-bit applications, but uses the COFF (Common Object File Format) standard for 32-bit applications.

HP-UX 11i (B.11.22) and later HP-UX versions do not provide system libraries in archive format, and the use of archive libraries has been deprecated in HP-UX 11i (B.11.11). This change was introduced to reduce the number of issues caused by symbol collisions between archive and shared libraries. HP-UX 11i uses dynamically bound applications by default.

A small archive library, libcres.a, is provided for customers running performance-critical applications who wish to link statically. This library provides a subset of the standard libc functions. Statically linking libc is not supported on HP-UX 11i (B.11.11) and is not available on HP-UX 11i (B.11.22) and later. The functions included in libcres.a are as follows:

abs() bsearch() div() ffs() insque()
labs() ldiv() memchr() memcmp() memcpy()
memmove() memset() strcat() strchr() strcmp()
strcpy() strcspn() strlen() strncat() strncmp()
strncpy() strrchr() strspn() strstr() swab()

The functions in libcres cannot be preempted but libc functions can be. Therefore, user libraries cannot contain functions with these names when using libcres. Detailed information on the use of libcres.a is available in the libcres.a(5) reference page.

The math library (libm) on HP-UX 11i (B.11.22) provides C99 math compliance. HP-UX 11i (B.11.11) does not currently provide full C99 math support. HP aC++ provides support for float (32-bit), double (64-bit), extended (80-bit), and long double (128-bit) floating-point calculations. The extended type is not enabled by default and requires the -fpwidetypes option.

The standard C library (libc) provides standard APIs as well as extensions. HP-UX 11i provides UNIX 95 and partial UNIX 98 compliance. Applications developed based on these standards are highly portable.

Note: To include only library impacts when running the scansummary and scandetail tools, use the option:
  +C LIB
To exclude these impacts, use the option:
  -C LIB
For more information on filtering output in reports, see Filtering the Output.

 

For more information

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