Patch Name: PHSS_28435 Patch Description: s700_800 11.11 linker startup code / SLLIC ELF support Creation Date: 03/04/04 Post Date: 03/04/11 Hardware Platforms - OS Releases: s700: 11.11 s800: 11.11 Products: Auxiliary-Opt B.11.11 B.11.11.01 B.11.11.02 B.11.11.04 B.11.11.06 Filesets: Auxiliary-Opt.LANG-STARTUP,fr=B.11.11,fa=HP-UX_B.11.11_32/64,v=HP Auxiliary-Opt.LANG-STARTUP,fr=B.11.11.01,fa=HP-UX_B.11.11_32/64,v=HP Auxiliary-Opt.LANG-STARTUP,fr=B.11.01.06,fa=HP-UX_B.11.11_32/64,v=HP Auxiliary-Opt.LANG-STARTUP,fr=B.11.11.02,fa=HP-UX_B.11.11_32/64,v=HP Auxiliary-Opt.LANG-STARTUP,fr=B.11.11.04,fa=HP-UX_B.11.00_32/64,v=HP Auxiliary-Opt.LANG-STARTUP,fr=B.11.11.06,fa=HP-UX_B.11.00_32/64,v=HP Auxiliary-Opt.LANG-HELP,fr=B.11.11,fa=HP-UX_B.11.11_32/64,v=HP Auxiliary-Opt.LANG-HELP,fr=B.11.11.01,fa=HP-UX_B.11.11_32/64,v=HP Auxiliary-Opt.LANG-HELP,fr=B.11.01.06,fa=HP-UX_B.11.11_32/64,v=HP Auxiliary-Opt.LANG-HELP,fr=B.11.11.02,fa=HP-UX_B.11.11_32/64,v=HP Auxiliary-Opt.LANG-HELP,fr=B.11.11.04,fa=HP-UX_B.11.00_32/64,v=HP Auxiliary-Opt.LANG-HELP,fr=B.11.11.06,fa=HP-UX_B.11.00_32/64,v=HP Automatic Reboot?: No Status: General Release Critical: Yes PHSS_28435: ABORT OTHER Contains fixes for the following: JAGae01140 : coredump JAGae53435 : fdp_init is not thread safe PHSS_26558: HANG Contains fix for fdp_init hang Category Tags: defect_repair enhancement general_release critical halts_system Path Name: /hp-ux_patches/s700_800/11.X/PHSS_28435 Symptoms: PHSS_28435: - JAGae01140: Severity :9 assertion failed: __tls_prealloc_dtv > 0, private.c, line: 788 - JAGae40091: Severity :4 Order of invoking INIT functions is different in 32 and 64 bit - JAGae53435: Severity :4 fdp_init is not thread safe - JAGae54173: Severity :4 basename() in fdp_init behaves strangely in multithreaded apps PHSS_26558: - JAGae29357: Severity :4 icrt0/fdp_init hangs with C++ apps - JAGae11697: Severity :4 32bit : profilebucketsize not passed properly to gprof PHSS_26264: - JAGad99094: Severity :4 flow.data dumper code broken if # of calls > MAXINT PHSS_24302: - JAGad12001: Severity :2 Wasteful code in mapdld.c - JAGab68968: Severity :4 Compile crt0 files with +ESlit, use #pragma versionid too - JAGad86251: Severity :4 dummy definition of _mcount(crt0.o) need to be replaced for MSLP support PHSS_23794: - Support for Open MP Initialized Thread Local Storage (ITLS) - JAGad45672: Severity : 2 obsolete functionality in crt0.o (the check for HP-UX 8 or 9) - JAGad68781: Severity : 8 Building a executable with ld32 -N -a archive dumps core PHSS_22804: - JAGad12002 : Severity : 6 Signal 11 in __map_dld (crt0.o) when using +Ofastaccess & +k - JAGad04090 : Severity : 7 Need crt0 compiled with +k, large amount of shared libs - JAGac59673 : Severity : 5 Can't profile shared libraries of executables built with old crt0.o - JAGab46472 : Severity : 4 Use standard preprocessor macro in crt0.h - JAGaa84952 : Severity : 3 Abort in scrt0.o when PBO-instrumented shlib shl_unload()'ed - JAGad13995 : Severity : 4 Cant PBO shared libraries Defect Description: PHSS_28435: - JAGae01140: Severity :9 assertion failed: __tls_prealloc_dtv > 0, private.c, line: 788 Resolution: Enhancement: implemented dynamic thread local storage (DTLS) - JAGae40091: Severity :4 Order of invoking INIT functions is different in 32 and 64 bit Resolution: modified code to traverse initializers in reverse order in 32 bit linker. - JAGae53435: Severity :4 fdp_init is not thread safe Resolution: compiled fdp_init.c with -D_REENTRANT flag, corrected bug in lockf() call - JAGae54173: Severity :4 basename() in fdp_init behaves strangely in multithreaded apps Resolution: strdup'd parameter to basename() before call to avoid overwriting PHSS_26558: - JAGae29357: Severity :4 icrt0/fdp_init hangs with C++ apps Resolution: changed the code to be more agressive allocating memory to avoid frequent re-allocs. - JAGae11697: Severity :4 32bit : profilebucketsize not passed properly to gprof Resolution: crt0.o accesses the absolute symbol __profil_size and passes it to dld which inturn pass it to libgprof PHSS_26264: - JAGad99094: Severity :4 flow.data dumper code broken if # of calls > MAXINT Resolution: added code to guard against MAXINT overflow. PHSS_24302: - JAGad12001: Severity :2 Wasteful code in mapdld.c Resolution: Changed the code so that the assignment which was wastefully done is removed. - JAGab68968: Severity :4 Compile crt0 files with +ESlit, use #pragma versionid too Resolution: Changed crt0.o so that strings used in crt0.o can be put in the text space itself. - JAGad86251: Severity :4 dummy definition of _mcount(crt0.o) need to be replaced for MSLP support Resolution: Changed crt0.o so that the dummy definition of _mcount is replaced with a new definition. PHSS_23794: - Support for Open MP Initialized Thread Local Storage (ITLS) Resolution: PA32/PA64 linker has been modified to support initialized TLS variables in PA32/PA64 threaded applications. To get the complete functionality of ITLS (Initialized thread local storage) the following patches have to be installed. PHCO_23427 - libc PHCO_23792 - libpthread PHSS_23953 - Fortran compiler Currently this feature is available with Fortran compiler only.No changes are required to be done in linker when this feature is made available for any other compilers. - JAGad45672: Severity : 2 obsolete functionality in crt0.o (the check for HP-UX 8 or 9) Resolution: Removed the check condition in crt0.o for HP-UX 8 or 9. - JAGad68781: Severity : 8 Building a executable with ld32 -N -a archive dumps core Resolution: There was an assumption made in crt0 that data always falls in the second quadrant which lead to a regression, therefore fixed the runtime component crt0.o PHSS_22804: - JAGad12002 : Severity : 6 Signal 11 in __map_dld (crt0.o) when using +Ofastaccess & +k Resolution: Fixed ld32 to correctly handle +k instruction sequences. - JAGad04090 : Severity : 7 Need crt0 compiled with +k, large amount of shared libs Resolution: crt0 is compiled with +k. - JAGac59673 : Severity : 5 Can't profile shared libraries of executables built with old crt0.o - JAGab46472 : Severity : 4 Use standard preprocessor macro in crt0.h - JAGaa84952 : Severity : 3 Abort in scrt0.o when PBO-instrumented shlib shl_unload()'ed - JAGad13995 : Severity : 4 Cant PBO shared libraries Resolution: fix FDP to handle legitimate flow.data files which contain no counter data. Enhancement: Yes PHSS_28435: This patch provides new functionality for: - dynamic thread local storage PHSS_26262: Enhancements were delivered in this patch or one it has replaced. Please review the Defect Description text for more information. SR: 4701404731 4701414599 8606142647 8606134956 8606126832 8606103733 8606144655 8606176434 8606199595 8606142646 8606102909 8606217097 8606230043 8606245224 8606265026 8606231904 8606276014 8606289504 8606290247 Patch Files: Auxiliary-Opt.LANG-STARTUP,fr=B.11.11, fa=HP-UX_B.11.11_32/64,v=HP: Auxiliary-Opt.LANG-STARTUP,fr=B.11.11.01, fa=HP-UX_B.11.11_32/64,v=HP: Auxiliary-Opt.LANG-STARTUP,fr=B.11.01.06, fa=HP-UX_B.11.11_32/64,v=HP: Auxiliary-Opt.LANG-STARTUP,fr=B.11.11.02, fa=HP-UX_B.11.11_32/64,v=HP: Auxiliary-Opt.LANG-STARTUP,fr=B.11.11.04, fa=HP-UX_B.11.00_32/64,v=HP: Auxiliary-Opt.LANG-STARTUP,fr=B.11.11.06, fa=HP-UX_B.11.00_32/64,v=HP: /opt/langtools/lib/crt0.o /opt/langtools/lib/icrt0.o /opt/langtools/lib/scrt0.o /opt/langtools/lib/pa20_64/crt0.o Auxiliary-Opt.LANG-HELP,fr=B.11.11,fa=HP-UX_B.11.11_32/64, v=HP: Auxiliary-Opt.LANG-HELP,fr=B.11.11.01, fa=HP-UX_B.11.11_32/64,v=HP: Auxiliary-Opt.LANG-HELP,fr=B.11.01.06, fa=HP-UX_B.11.11_32/64,v=HP: Auxiliary-Opt.LANG-HELP,fr=B.11.11.02, fa=HP-UX_B.11.11_32/64,v=HP: Auxiliary-Opt.LANG-HELP,fr=B.11.11.04, fa=HP-UX_B.11.00_32/64,v=HP: Auxiliary-Opt.LANG-HELP,fr=B.11.11.06, fa=HP-UX_B.11.00_32/64,v=HP: /opt/langtools/lib/linker/dt/appconfig/help/C/linker.sdl what(1) Output: Auxiliary-Opt.LANG-STARTUP,fr=B.11.11, fa=HP-UX_B.11.11_32/64,v=HP: /opt/langtools/lib/crt0.o: $Revision: 92453-07 linker linker crt0.o B.11.36 030 403 $ /opt/langtools/lib/icrt0.o: $Revision: 92453-07 linker linker crt0.o B.11.36 030 403 $ /opt/langtools/lib/scrt0.o: $Revision: 92453-07 linker linker crt0.o B.11.36 030 403 $ /opt/langtools/lib/pa20_64/crt0.o: None Auxiliary-Opt.LANG-HELP,fr=B.11.11,fa=HP-UX_B.11.11_32/64, v=HP: /opt/langtools/lib/linker/dt/appconfig/help/C/linker.sdl: None cksum(1) Output: Auxiliary-Opt.LANG-STARTUP,fr=B.11.11, fa=HP-UX_B.11.11_32/64,v=HP: 2038205223 12996 /opt/langtools/lib/crt0.o 1905765188 30100 /opt/langtools/lib/icrt0.o 3725138980 20504 /opt/langtools/lib/scrt0.o 3208296468 16400 /opt/langtools/lib/pa20_64/crt0.o Auxiliary-Opt.LANG-HELP,fr=B.11.11,fa=HP-UX_B.11.11_32/64, v=HP: 3752362426 588304 /opt/langtools/lib/linker/dt/appconfig/ help/C/linker.sdl Patch Conflicts: None Patch Dependencies: s700: 11.11: PHSS_28436 s800: 11.11: PHSS_28436 Hardware Dependencies: None Other Dependencies: None Supersedes: PHSS_22804 PHSS_23794 PHSS_24302 PHSS_26264 PHSS_26558 Equivalent Patches: None Patch Package Size: 670 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 PHSS_28435 5. Run swinstall to install the patch: swinstall -x autoreboot=true -x patch_match_target=true \ -s /tmp/PHSS_28435.depot By default swinstall will archive the original software in /var/adm/sw/save/PHSS_28435. 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 PHSS_28435.text file is available in the product readme: swlist -l product -a readme -d @ /tmp/PHSS_28435.depot To put this patch on a magnetic tape and install from the tape drive, use the command: dd if=/tmp/PHSS_28435.depot of=/dev/rmt/0m bs=2k Special Installation Instructions: None