Patch Name: PHCO_31923
Patch Description: s700_800 11.11 libc cumulative header file patch
Creation Date: 04/10/20
Post Date: 04/12/13
Hardware Platforms - OS Releases:
s700: 11.11
s800: 11.11
Products: N/A
Filesets:
InternetSrvcs.INETSVCS-INETD,fr=B.11.11,fa=HP-UX_B.11.11_32/64,v=HP
ProgSupport.C-INC,fr=B.11.11,fa=HP-UX_B.11.11_32/64,v=HP
Automatic Reboot?: No
Status: General Release
Critical:
Yes
PHCO_31923: OTHER
Compilation of an application using aCC compiler
fails, if the application uses the
get_expiration_time(3T) API.
Applications using dbm(3C) API's whose
prototypes are not declared may show compiler
warnings or errors.
Category Tags:
defect_repair enhancement general_release critical
Path Name: /hp-ux_patches/s700_800/11.X/PHCO_31923
Symptoms:
PHCO_31923:
( SR:8606361294 CR:JAGaf21984 )
Prototype declaration for few of the dbm(3C) APIs is missing
in dbm.h.
( SR:8606364577 CR:JAGaf25216 )
Compilation of an C++ application using
get_expiration_time(3T) API will result in
"Unsatisfied symbols" error.
PHCO_25569:
( SR:8606178590 CR:JAGad47817 )
Presence of Obsolete symbols in ctype.h causes C++
compiler errors.
( SR:8606299245 CR:JAGae62739 )
The linker exits giving an error when any application
using getres() is compiled using C++ compiler.
The error is:
/usr/ccs/bin/ld: Unsatisfied symbols:
getres(void) (code)
PHCO_24402:
( SR:8606201456 CR:JAGad70632 )
Networking part of libc to be IPv6 enabled
PHCO_23094:
( SR:8606175166 CR:JAGad44410 )
gettimeofday is very slow for certain vendors who
use it for time stamping.
Defect Description:
PHCO_31923:
( SR:8606361294 CR:JAGaf21984 )
Prototype declaration for dbminit(), store(), delete() and
dbmclose() is missing in dbm.h. Compiling an application
which uses these APIs may result in compiler warnings or
errors.
Resolution:
Added prototype declaration for the dbm(3C) APIs in the
header file dbm.h.
( SR:8606364577 CR:JAGaf25216 )
extern "C" directive for get_expiration_time(3T) is missing
in time.h. As a result any C++ application using
get_expiration_time(3T) leads to "Unsatisfied symbols:
get_expiration_time" error during compilation.
Resolution:
time.h has been modified to include the extern "C"
directive for get_expiration_time(3T) API.
PHCO_25569:
( SR:8606178590 CR:JAGad47817 )
ctype.h has obsolete compiler defines that should be
removed.
Resolution:
Removed all obsolete symbols.
( SR:8606299245 CR:JAGae62739 )
The getres() function is mangled up and hence
linking C++ environment fails. The function name
encoding in C++ changes the name of the API in the
application. Hence at link time the right symbol
is not recognised and a linker error is flagged.
Resolution:
The getres() has been protected by the extern "C"
declaration. This tells the C++ compiler not to
follow function name encoding and hence mangling
does not occur. C type of compilation is followed
in the case of getres().
PHCO_24402:
( SR:8606201456 CR:JAGad70632 )
IPv6 functionality should be provided in libc
Resolution:
The header files have been modified to effect IPv6 changes
PHCO_23094:
( SR:8606175166 CR:JAGad44410 )
gettimeofday is very slow for certain vendors who
use it for time stamping because it calls a heavy
weight system call to get the current time of the
day.
Resolution:
A new API hrtime_t gethrtime(void) has been added
to libc. This API uses fast light weight system
call to get the nano seconds from certain time.
It does not give you the current time of day.
hrtime_t is a signed 64 bit number. This API will
only be available if the application is being
compiled in -Ae mode because 64 bit integer number
is not available in -Aa mode.
Enhancement:
No (superseded patches contained enhancements)
PHCO_25569:
Enhancements were delivered in a patch this one has
superseded. Please review the Defect Description
text for more information.
SR:
8606175166 8606178590 8606201456 8606299245 8606361294
8606364577
Patch Files:
InternetSrvcs.INETSVCS-INETD,fr=B.11.11,
fa=HP-UX_B.11.11_32/64,v=HP:
/usr/include/arpa/nameser.h
/usr/include/arpa/nameser_compat.h
/usr/include/netdb.h
/usr/include/resolv.h
ProgSupport.C-INC,fr=B.11.11,fa=HP-UX_B.11.11_32/64,v=HP:
/usr/include/ctype.h
/usr/include/dbm.h
/usr/include/time.h
what(1) Output:
InternetSrvcs.INETSVCS-INETD,fr=B.11.11,
fa=HP-UX_B.11.11_32/64,v=HP:
/usr/include/arpa/nameser.h:
None
/usr/include/arpa/nameser_compat.h:
None
/usr/include/netdb.h:
netdb.h 8.1 (Berkeley) 6/2/93
/usr/include/resolv.h:
resolv.h 8.1 (Berkeley) 6/2/93
ProgSupport.C-INC,fr=B.11.11,fa=HP-UX_B.11.11_32/64,v=HP:
/usr/include/ctype.h:
ctype.h $Date: 2003/07/07 09:12:52 $Revision: r11.11
/4 PATCH_11.11 (PHCO_25569) */
/usr/include/dbm.h:
dbm.h $Date: 2004/10/07 04:57:38 $Revision: r11.11/1
PATCH_11.11 (PHCO_31923) */
/usr/include/time.h:
time.h $Date: 2004/08/20 23:20:02 $Revision: r11.11/
2 PATCH_11.11 (PHCO_31923) */
cksum(1) Output:
InternetSrvcs.INETSVCS-INETD,fr=B.11.11,
fa=HP-UX_B.11.11_32/64,v=HP:
1074031379 16421 /usr/include/arpa/nameser.h
591096539 8318 /usr/include/arpa/nameser_compat.h
361465002 20638 /usr/include/netdb.h
3096284136 8588 /usr/include/resolv.h
ProgSupport.C-INC,fr=B.11.11,fa=HP-UX_B.11.11_32/64,v=HP:
2958536653 6563 /usr/include/ctype.h
2778543634 1351 /usr/include/dbm.h
2768064873 13961 /usr/include/time.h
Patch Conflicts: None
Patch Dependencies: None
Hardware Dependencies: None
Other Dependencies: None
Supersedes:
PHCO_25569 PHCO_24402 PHCO_23094
Equivalent Patches: None
Patch Package Size: 60 KBytes
Installation Instructions:
Please review all instructions and the Hewlett-Packard
SupportLine User Guide or your Hewlett-Packard support terms
and conditions for precautions, scope of license,
restrictions, and, limitation of liability and warranties,
before installing this patch.
------------------------------------------------------------
1. Back up your system before installing a patch.
2. Login as root.
3. Copy the patch to the /tmp directory.
4. Move to the /tmp directory and unshar the patch:
cd /tmp
sh PHCO_31923
5. Run swinstall to install the patch:
swinstall -x autoreboot=true -x patch_match_target=true \
-s /tmp/PHCO_31923.depot
By default swinstall will archive the original software in
/var/adm/sw/save/PHCO_31923. If you do not wish to retain a
copy of the original software, include the patch_save_files
option in the swinstall command above:
-x patch_save_files=false
WARNING: If patch_save_files is false when a patch is installed,
the patch cannot be deinstalled. Please be careful
when using this feature.
For future reference, the contents of the PHCO_31923.text file is
available in the product readme:
swlist -l product -a readme -d @ /tmp/PHCO_31923.depot
To put this patch on a magnetic tape and install from the
tape drive, use the command:
dd if=/tmp/PHCO_31923.depot of=/dev/rmt/0m bs=2k
Special Installation Instructions: None