Patch Name: PHCO_29436 Patch Description: s700_800 11.11 som2elf cumulative patch Creation Date: 03/10/13 Post Date: 03/11/12 Hardware Platforms - OS Releases: s700: 11.11 s800: 11.11 Products: N/A Filesets: OS-Core.CORE-KRN,fr=B.11.11,fa=HP-UX_B.11.11_32/64,v=HP Automatic Reboot?: No Status: General Release Critical: Yes PHCO_29436: OTHER Dynamic Loadable Kernel Modules that use milli.a library for arithmetics will not load due to this defect which will cause the module to be unavailable. PHCO_22989: PANIC Category Tags: defect_repair general_release critical panic Path Name: /hp-ux_patches/s700_800/11.X/PHCO_29436 Symptoms: PHCO_29436: ( SR:8606306452 CR:JAGae69493 ) For a 32-bit DLKM module that is linked with milli.a library,'kmadmin -L' fails with the following error message: "kmadmin: : Object file error in loading kernel module". Also, syslog is updated with the following message: "NOTICE: MOD: mod_obj_load: Bad shndx 8000 for symbol index 77; e_shnum 1e". PHCO_22989: ( SR:8606170324 CR:JAGad39588 ) DLKM developer's system may panic if 16-byte data alignment is crucial (such as in locks) in a DLKM. End-user customers and system administrators will never see this problem. Developers will encounter this problem only if the module is using non-default alignment. We are releasing this patch specifically for DLKM driver developers. ( SR:8606157299 CR:JAGad26631 ) This is an obscure problem that a customer will not encounter. The problem is that a 32-bit DLKM module converted from SOM to ELF will end up with corrupted debugging information. So developers of kernel debugger tools may encounter this problem when developing for support of DLKM for 32-bit systems. To get this far, the developer needs to hex edit the ELF file and change a byte or two. This is ABSOLUTELY NOT CUSTOMER VISIBLE. It is being released to satisfy a development partner. Defect Description: PHCO_29436: ( SR:8606306452 CR:JAGae69493 ) kmadmin uses the ELF object file generated by som2elf. While converting the SOM symbol table into ELF symbol table, som2elf is not assigning the correct section header index and offset to the milli.a symbols. Resolution: som2elf code is modified so that appropriate section header index and offset values are assigned to all the milli.a symbols. PHCO_22989: ( SR:8606170324 CR:JAGad39588 ) Alignment specified for data in a SOM object file is not honored by som2elf during the conversion to ELF64. This was noticed by using #pragma align 16 to specify 16-byte alignment for lock_t in a 32-bit driver. Som2elf converted it with an 8-byte alignment, and the code panicked when the locking code detected the incorrect alignment. Resolution: The solution is to track the specified alignment in each SOM data subspace and use the largest value. ( SR:8606157299 CR:JAGad26631 ) 32-bit SOM debugging information is not transferred properly to the ELF64 object by som2elf during conversion. Resolution: Fixed by adjusting the copying of debugging information from the SOM file. Enhancement: No SR: 8606157299 8606170324 8606306452 Patch Files: OS-Core.CORE-KRN,fr=B.11.11,fa=HP-UX_B.11.11_32/64,v=HP: /usr/sbin/som2elf what(1) Output: OS-Core.CORE-KRN,fr=B.11.11,fa=HP-UX_B.11.11_32/64,v=HP: /usr/sbin/som2elf: $Revision: vw: -f selectors: R11.11_BL2003_1013_1 PHCO_29436 'R11.11_BL2003_1013_1' Mon Oct 13 07:42:08 PDT 2003 $ cksum(1) Output: OS-Core.CORE-KRN,fr=B.11.11,fa=HP-UX_B.11.11_32/64,v=HP: 4284879436 94208 /usr/sbin/som2elf Patch Conflicts: None Patch Dependencies: None Hardware Dependencies: None Other Dependencies: None Supersedes: PHCO_22989 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_29436 5. Run swinstall to install the patch: swinstall -x autoreboot=true -x patch_match_target=true \ -s /tmp/PHCO_29436.depot By default swinstall will archive the original software in /var/adm/sw/save/PHCO_29436. 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_29436.text file is available in the product readme: swlist -l product -a readme -d @ /tmp/PHCO_29436.depot To put this patch on a magnetic tape and install from the tape drive, use the command: dd if=/tmp/PHCO_29436.depot of=/dev/rmt/0m bs=2k Special Installation Instructions: None