HP-UX 11i September 2001 Release Notes

Programming
Libraries
Chapter 13
206
small space cost per ordinary block cached. ISVs whose applications are very memory
intensive may want to configure only a minimum-sized or very small ordinary cache
when experimenting with this feature.
malloc() thread-private cache does not change the function of malloc() for
nonthreaded or cma threaded applications. It does maintain binary compatibility.
However, because it is a change in allocation policy, it can cause different sequences of
addresses to be emitted for the same sequence of requests than a previous version of
malloc would have emitted. This level of compatibility is more stringent than ordinary
binary compatibility and has never been guaranteed across releases of malloc.
The libcres.a Library
libcres.a is a small archive library provided at 11i.
libcres.a contains string, memory and other functions, to provide customers running
performance-critical applications with the benefit of a static link.
Linking statically with libc is not a supported method of linking an application. Any
performance improvement is highly dependent on the application’s use of the included
functions. The functions included in this library are:
abs(), bsearch(), div(), ffs(), insque(), labs(), ldiv(), memchr(),
memcmp(), memcpy(), memmove(), memset(), strcat(), strchr(), strcmp(),
strcpy(), strcspn(), strlen(), strncat(), strncmp(), strcpy(), strrchr(),
strspn(), strstr(), swab()
The libcres.a (5) manpage describes its use more thoroughly.
To make use of this library, existing makefiles must be modified to include it on the link
line. Existing applications must be re-linked to use this library.
The modules of this library are compiled with the HP optimizing compiler using a +O4
flag. As a result, the applications using this library can be linked only by using the HP
optimizing compiler.
The functions in this library cannot be overwritten with a user-defined function of the
same name, as is the case today with libc names. If this library is used, user libraries
cannot contain identically named functions or unexpected results may occur.
Performance of some applications may improve by using this library. The improvement
is highly dependent on the application’s use of the included functions.
Linker and Object File Tools (ld, crt0.o, dld.sl, libdld.sl, chatr and
odump) (new
at 11i original release)
The following list summarizes the changes to linker and object file tools.
Linker changes:
Incremental linking support in 64-bit ld and elfdump.
Unix 98 (32-bit dl()* calls) support in libdld.sl and dld.sl.
32-bit Filtered shared libraries support in ld, dld.sl and in odump.
GProf 32-bit shared library support in crt0.o and dld.sl.
ld +filter option to create filtered shared libraries.