Patch Name: PHCO_25569 Patch Description: s700_800 11.11 libc cumulative header file patch Creation Date: 03/07/31 Post Date: 03/08/12 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: No Category Tags: defect_repair enhancement general_release Path Name: /hp-ux_patches/s700_800/11.X/PHCO_25569 Symptoms: 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_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 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/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: None /usr/include/resolv.h: None 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/time.h: $Revision: ../hdr/time.h@@/main/i80/r11.11/1 $ */ 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 2432072557 13825 /usr/include/time.h Patch Conflicts: None Patch Dependencies: None Hardware Dependencies: None Other Dependencies: None Supersedes: PHCO_24402 PHCO_23094 Equivalent Patches: None Patch Package Size: 50 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_25569 5. Run swinstall to install the patch: swinstall -x autoreboot=true -x patch_match_target=true \ -s /tmp/PHCO_25569.depot By default swinstall will archive the original software in /var/adm/sw/save/PHCO_25569. 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_25569.text file is available in the product readme: swlist -l product -a readme -d @ /tmp/PHCO_25569.depot To put this patch on a magnetic tape and install from the tape drive, use the command: dd if=/tmp/PHCO_25569.depot of=/dev/rmt/0m bs=2k Special Installation Instructions: None