Patch Name: PHSS_20214 Patch Description: s700_800 10.26 cumulative pxdb patch Creation Date: 00/01/25 Post Date: 00/04/06 Hardware Platforms - OS Releases: s700: 10.26 s800: 10.26 Products: Debug support tools. Filesets: DebugPrg.DEBUG-PRG Automatic Reboot?: No Status: General Release Critical: No Path Name: /hp-ux_patches/s700_800/10.X/PHSS_20214 Symptoms: PHSS_20214: Repackaging of PHSS_17545 for TOS. (PHSS_17545) Note: some of these lines were wrapped to fit into a (required) 60 column format. This will make some message text look different from how it appears to the user. 1) pxdb internal warning: cu[#]:SLT_SRCFILE[#] out of synch 2) Runtime type identification no longer works in xdb 3) pxdb: warning: corrupted PD table (PHSS_13124) 1) PXDB: internal error, DDE: Unable to access object 2) Garbled/lost symbols in debuggers. 3) pxdb: internal error. File won't be debuggable (still a valid executable) 4) pxdb internal warning: unknown SLT type 13 5) pxdb internal warning: unknown SLT type 13 6) Warning: Unable to open pxdb message catalog using NLSPATH "/opt/langtools/lib/nls/msg/%L/%N.cat: /opt/langtools/lib/nls/msg/C/%N.cat" . Using internal messages. 7) debugger has a problem getting correct debug info from the executable file. (PHSS_11266) DDE couldn't resolve source lines if ANSI C++ Compile Time Template Instantiations were used. (PHSS_8490) pxdb aborts and coredumps with some files. (PHSS_7731) User transparent fix to pxdb necessary for C++. Without this patch, debugging C++ programs would be potentially unreliable. This patch also reduces the size of debug mode executable files. table Defect Description: PHSS_20214: Repackaging of PHSS_17545 for TOS. (PHSS_17545) Note: some of these lines were wrapped to fit into a (required) 60 column format. This will make some message text look different from how it appears to the user. 1) When some C programs are compiled with -g and -O options the C compiler gives the following message: Procedures: 7 pxdb internal warning: cu[#]: SLT_SRCFILE[#] out of synch Please contact your HP Support representative pxdb: internal error. File won't be debuggable (still a valid executable) 2) Runtime type identification did not work in xdb 11.0 versions. Due to this even when virtual functions are used, when the base class pointer pointed the derived class object, the base class function was selected by xdb instead of the derived class function. 3) On some programs pxdb gives the following warning: ... Procedures: 54 Files: 6 pxdb: warning: corrupted PD table VT table mmap purge. (PHSS_13124) Note: some of these lines were wrapped to fit into a (required) 60 column format. This will make some message text look different from how it appears to the user. 1) When I ran dde, I can't use source level debugging because pxdb32 failed with the following internal error: # dde basicdsd ... Procedures: 55 Files: 19 Executing image in process 4881: "/pdbuild/stran/bin/basicdsd". warning: cannot find VAL in modified Value Table. pxdb32: internal error. File won't be debuggable (still a valid executable) warning: cannot find m_r in modified Value Table. warning: cannot find mFv in modified Value Table. pxdb32: internal error. File won't be debuggable (still a valid executable) ============== Here's what appeared on the dde window: /opt/langtools/bin/pxdb will be run on object file /pdbuild/stran/bin/basicdsd. /opt/langtools/bin/pxdb will be run on object file /pd/stran.ros2/lib/libordered.sl. Unable to run pxdb on object file. /opt/langtools/bin/pxdb will be run on object file /pd/stran.ros2/lib/libpd.sl. Unable to run pxdb on object file. Break at: \\main\main\18 Unable to access object: main.cpp Unable to access object: main.cpp 2) When bringing up the debugger DDE on demo.z, one sees this (note garbage symbols starting with "kXti_Fi": Stopped at: $START$ (XXXXXXXX) (Warning) Unable to determine statement boundaries; stepping 1 instruction. Stepped to: $START$ (XXXXXXXX) ?(dde) Statement "42" not found in current environment. block \ block \\`declared block \\`implementation block \\`implementation\C++ block \\`predefined(lang_unknown,obj_som_som) ... block \\`predefined(lang_asm_pa,obj_som_som) block \\`image(a.out) block \\kXTi_Fi (statements, symbols not yet initialized) block \\kXTi_Fi\vctrXTi_Fv (statements, symbols not yet initialized) block \\k block \\k\i (statements, symbols not yet initialized) block \\k (statements, symbols not yet initialized) block \\k\XTPc_Fv (statements, symbols not yet initialized) block \\k\_Fv (statements, symbols not yet initialized) 3) $ cc -O -Ae -g -o kernel kernel.c pxdb32: internal error. File won't be debuggable (still a valid executable) 4,5) cc -O -Ae -g -o kernel kernel.c pxdb: internal error. File won't be debuggable (still a valid executable) *** Error exit code 11 (ignored) .... cc -O -Ae -g -o statvfs statvfs.c pxdb internal warning: unknown SLT type 13 Please contact your HP Support representative pxdb internal warning: unknown SLT type 13 pxdb internal warning: unknown SLT type 13 pxdb internal warning: unknown SLT type 13 pxdb internal warning: unknown SLT type 13 pxdb internal warning: unknown SLT type 13 pxdb internal warning: unknown SLT type 13 pxdb internal warning: unknown SLT type 13 pxdb internal warning: unknown SLT type 13 pxdb internal warning: unknown SLT type 13 pxdb internal warning: unknown SLT type 13 pxdb internal warning: unknown SLT type 13 pxdb internal warning: unknown SLT type 13 6) Warning: Unable to open pxdb message catalog using NLSPATH "/opt/langtools/lib/nls/msg/%L/%N.cat: /opt/langtools/lib/nls/msg/C/%N.cat" . Using internal messages. 7) On some programs DDE has a problem getting correct debug info from the executable file. This appears to be an interaction of pxdb with the underlying system, possibly mmap, because the problem doesn't happen on a copy of the program - even in the same directory. The bits in the original and the copy are the same, as seen by cmp. Another symptom: After compiling the test program `print' I attempted to load it into DDE. An unknown debug info node kind was encountered (DNTT index 0x162). Unexpected error in sym package. Unexpected error in sym package. (PHSS_11266) pxdb couldn't handle ANSI C++ Compile Time Template Instantiations. (PHSS_8490) The use of inlined functions can trigger the problem. (PHSS_7731) Patch is necessary for C++ patch PHSS_7497 and PHSS_7498 SR: 5003416990 5003378786 5003332239 Patch Files: /opt/langtools/bin/pxdb /opt/langtools/lib/nls/msg/C/pxdb.cat what(1) Output: /opt/langtools/bin/pxdb: HP92453-02 A.10.0A HP-UX SYMBOLIC DEBUGGER (PXDB) $R evision: 75.25 $ PHSS_17545 (10.0A PA-RISC) /opt/langtools/bin/pxdb $Revision: 75.25 $ $Date: 99/02/04 1 6:10:00 $ /opt/langtools/lib/nls/msg/C/pxdb.cat: None cksum(1) Output: 4005682243 139264 /opt/langtools/bin/pxdb 955253891 5585 /opt/langtools/lib/nls/msg/C/pxdb.cat Patch Conflicts: None Patch Dependencies: None Hardware Dependencies: None Other Dependencies: None Supersedes: None Equivalent Patches: PHSS_17545: s700: 10.20 s800: 10.20 Patch Package Size: 200 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_20214 5a. For a standalone system, run swinstall to install the patch: swinstall -x autoreboot=true -x match_target=true \ -s /tmp/PHSS_20214.depot By default swinstall will archive the original software in /var/adm/sw/patch/PHSS_20214. If you do not wish to retain a copy of the original software, you can create an empty file named /var/adm/sw/patch/PATCH_NOSAVE. WARNING: If this file exists when a patch is installed, the patch cannot be deinstalled. Please be careful when using this feature. It is recommended that you move the PHSS_20214.text file to /var/adm/sw/patch for future reference. To put this patch on a magnetic tape and install from the tape drive, use the command: dd if=/tmp/PHSS_20214.depot of=/dev/rmt/0m bs=2k Special Installation Instructions: None