<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: HP-UX gprof vs. GNU binutils' gprof in Operating System - HP-UX</title>
    <link>https://community.hpe.com/t5/operating-system-hp-ux/hp-ux-gprof-vs-gnu-binutils-gprof/m-p/3494542#M846321</link>
    <description>typographical correction - PA-RISC has _no_ integer multiply or divide instructions</description>
    <pubDate>Thu, 03 Mar 2005 12:51:28 GMT</pubDate>
    <dc:creator>rick jones</dc:creator>
    <dc:date>2005-03-03T12:51:28Z</dc:date>
    <item>
      <title>HP-UX gprof vs. GNU binutils' gprof</title>
      <link>https://community.hpe.com/t5/operating-system-hp-ux/hp-ux-gprof-vs-gnu-binutils-gprof/m-p/3494537#M846316</link>
      <description>(Originally posted to: &lt;A href="http://devresource.hp.com/forums/thread.jspa?threadID=2646&amp;amp;tstart=0&amp;amp;forumID=4)" target="_blank"&gt;http://devresource.hp.com/forums/thread.jspa?threadID=2646&amp;amp;tstart=0&amp;amp;forumID=4)&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;The original HP-UX gprof seems to process gmon.out file of multithreaded application in a wrong way, and GNU binutils' gprof does it in a more correct manner.&lt;BR /&gt;&lt;BR /&gt;Or, HP-UX's gprof seems to create gmon.out that can be wrong. GNU gprof gives different output.&lt;BR /&gt;&lt;BR /&gt;Out product is a rather complicated multithreaded application that eats a lot of CPU. We are trying to profile the application of different platforms to find out what are major time-consuming parts of it, since the application behave slightly different on different platforms (because of the OS implementations, etc).&lt;BR /&gt;&lt;BR /&gt;One of the test was done on HP-UX 11.11 machine, when our application was built as 32-bit application (it may be built as a 64-bit application).&lt;BR /&gt;&lt;BR /&gt;The test ran some time (~100 seconds), and the gmon.out file was generated at the end. When the gprof was run for the tested binary and the gprof.out file, there were strange results. Here it's start and the end:&lt;BR /&gt;&lt;BR /&gt;---&lt;BR /&gt;granularity: each sample hit covers 4 byte(s) for 0.01% of 111.62 seconds&lt;BR /&gt;%time cumsecs seconds calls msec/call name&lt;BR /&gt;19.1 21.27 21.27 _mcount&lt;BR /&gt;3.2 24.84 3.57 $$remU&lt;BR /&gt;3.0 28.23 3.38 $$divU&lt;BR /&gt;3.0 31.57 3.35 $$div2I&lt;BR /&gt;1.0 32.72 1.14 _mcleanup&lt;BR /&gt;0.9 33.77 1.05 $$dyncall_external&lt;BR /&gt;0.4 34.27 0.50 4378429 0.00 hrMalloc(unsigned long)&lt;BR /&gt;0.2 34.49 0.23 8756076 0.00 hrCheckMemory()&lt;BR /&gt;0.1 34.65 0.15 $$dyncall&lt;BR /&gt;0.1 34.73 0.08 532042 0.00 SmartPtr&lt;CUBE&gt;::~SmartPtr()&lt;BR /&gt;0.1 34.80 0.07 $$mulU&lt;BR /&gt;0.0 34.85 0.05 $$divoI&lt;BR /&gt;0.0 34.89 0.04 $$rem2U&lt;BR /&gt;0.0 34.91 0.02 $$bit_adrs_store&lt;BR /&gt;0.0 34.92 0.01 1 10.00 printMallocCountSet()&lt;BR /&gt;0.0 34.92 0.00 2780939 0.00 hrFree(void *)&lt;BR /&gt;0.0 34.92 0.00 44581182 0.00 Mutex::getOwnership()&lt;BR /&gt;0.0 34.92 0.00 44580989 0.00 Mutex::release()&lt;BR /&gt;0.0 34.92 0.00 31745415 0.00 DimManager::getArrByMode() const&lt;BR /&gt;... [skipped ]&lt;BR /&gt;0.0 34.92 0.00 1597376 0.00 _strncpy&lt;BR /&gt;... [skipped ]&lt;BR /&gt;0.0 34.92 0.00 1 0.00 Cube::writeXml(Xml *,int) const&lt;BR /&gt;0.0 34.92 0.00 1 0.00 xmlLoadDLL(Xml *)&lt;BR /&gt;---&lt;BR /&gt;&lt;BR /&gt;1. The total (last) "cumsecs" row was about 1/3 of the time (N, below) that was printed in the line (with "granularity").&lt;BR /&gt;2. The "top" calls are very strange: $$remU, $$divU, $$div2I, ...&lt;BR /&gt;3. Our functions are counted, but "self seconds" are "0.00", almost always.&lt;BR /&gt;&lt;BR /&gt;The same output was generated with GNU gprof from GNU binutils 2.15 that was built on HP-UX 11.00 machine, and the result differs.&lt;BR /&gt;The result of GNU gprof seems to be more realistic, than the original gprof's.&lt;BR /&gt;Here is the GNU gprof output (from the same binary application and the same gmon.out file):&lt;BR /&gt;&lt;BR /&gt;---&lt;BR /&gt;granularity: each sample hit covers 4 byte(s) for 0.01% of 89.22 seconds&lt;BR /&gt;Each sample counts as 0.01 seconds.&lt;BR /&gt;% cumulative self self total &lt;BR /&gt;time seconds seconds calls s/call s/call name &lt;BR /&gt;8.27 7.38 7.38 _recv_sys&lt;BR /&gt;7.74 14.29 6.91 _select_sys&lt;BR /&gt;4.33 18.15 3.86 _send_sys&lt;BR /&gt;3.83 21.57 3.42 regular_seq&lt;BR /&gt;3.74 24.91 3.34 pthread_mutex_lock&lt;BR /&gt;3.40 27.94 3.03 44580989 0.00 0.00 Mutex::release(void)&lt;BR /&gt;3.16 30.76 2.82 normal&lt;BR /&gt;3.10 33.53 2.77 44581182 0.00 0.00 Mutex::getOwnership(void)&lt;BR /&gt;2.73 35.97 2.44 pthread_mutex_unlock&lt;BR /&gt;1.98 37.74 1.77 __mutex_unlock_handoff_enabled&lt;BR /&gt;1.83 39.37 1.63 InnerLoop&lt;BR /&gt;1.71 40.90 1.53 532236 0.00 0.00 Worker::processStreamPoint(QueryStream *, AskedCubesInfo *, CubesBuffers *, PointToSend *, bool &amp;amp;)&lt;BR /&gt;1.52 42.26 1.36 __spin_lock&lt;BR /&gt;1.36 43.47 1.21 __spin_unlock&lt;BR /&gt;1.34 44.67 1.20 $$dyncall_external&lt;BR /&gt;1.18 45.72 1.05 12477282 0.00 0.00 indexToCoord__10DimManagerCFPUpi15CalculationMode&lt;BR /&gt;1.12 46.72 1.00 8525168 0.00 0.00 moveToSuccessor__13DirEntryArrayFPUlN21PUpb15CalculationModeUl&lt;BR /&gt;1.10 47.70 0.98 13586523 0.00 0.00 putIntoIndex__10DimManagerCFPUpUlT215CalculationMode&lt;BR /&gt;1.09 48.67 0.97 4378219 0.00 0.00 real_malloc&lt;BR /&gt;1.02 49.58 0.91 31745415 0.00 0.00 DimManager::getArrByMode( const(CalculationMode))&lt;BR /&gt;0.92 50.40 0.82 10008954 0.00 0.00 inLimits__11AbstrLimitsCFUlN21b&lt;BR /&gt;... [skipped ]&lt;BR /&gt;0.11 81.48 0.10 1597376 0.00 0.00 strncpy&lt;BR /&gt;... [skipped ]&lt;BR /&gt;0.00 89.22 0.00 1 0.00 0.00 Cube::writeXml( const(Xml *, int))&lt;BR /&gt;0.00 89.22 0.00 1 0.00 0.01 xmlLoadDLL(Xml *)&lt;BR /&gt;---&lt;BR /&gt;&lt;BR /&gt;The final question is: what is wrong?&lt;BR /&gt;Should I install some patches? Should I compile/build differently?&lt;BR /&gt;Should I reconfigure something?&lt;BR /&gt;&lt;BR /&gt;---&lt;BR /&gt;&lt;BR /&gt;System and tools version:&lt;BR /&gt;what /usr/bin/ld&lt;BR /&gt;/usr/bin/ld:&lt;BR /&gt;$Revision: 92453-07 linker linker crt0.o B.11.37 040218 $&lt;BR /&gt;HP aC++ B3910B A.03.52 Classic Iostream Library&lt;BR /&gt;HP aC++ B3910B A.03.52 Language Support Library&lt;BR /&gt;ld_msgs.cat: $Revision: 1.85 $&lt;BR /&gt;92453-07 linker command s800.sgs ld PA64 B.11.43 REL 050124&lt;BR /&gt;what /opt/aCC/bin/aCC&lt;BR /&gt;/opt/aCC/bin/aCC:&lt;BR /&gt;HP aC++ B3910B A.03.13&lt;BR /&gt;HP aC++ B3910B X.03.11.10 Language Support Library&lt;BR /&gt;what /usr/bin/gprof&lt;BR /&gt;/usr/bin/gprof:&lt;BR /&gt;gprof.c $Date: 2003/03/03 00:46:07 $Revision: r11.11/2 PATCH_11.11 (PHCO_27848)&lt;BR /&gt;calls.c $Date: 2002/11/13 07:47:41 $Revision: r11.11/1 PATCH_11.11 (PHCO_27848)&lt;BR /&gt;printgprof.c $Date: 2002/11/13 07:48:25 $Revision: r11.11/1 PATCH_11.11 (PHCO_27848)&lt;BR /&gt;fixbounds.c $Date: 2003/03/03 00:46:07 $Revision: r11.11/2 PATCH_11.11 (PHCO_27848)&lt;BR /&gt;$Revision: @(#) all CUP11.11_BL2003_0310_3 PATCH_11.11 PHCO_27848&lt;BR /&gt;Mon Mar 10 21:58:20 PST 2003 $&lt;BR /&gt;/usr/local/bin/gprof --version&lt;BR /&gt;GNU gprof 2.15&lt;BR /&gt;Based on BSD gprof, copyright 1983 Regents of the University of California.&lt;BR /&gt;This program is free software. This program has absolutely no warranty.&lt;BR /&gt;what /usr/lib/libpthread.sl&lt;BR /&gt;/usr/lib/libpthread.sl:&lt;BR /&gt;Pthread Interfaces &lt;BR /&gt;$Revision: libpthread.1: @(#) depot-32pa CUP11.11_BL2002_0405_3 PATCH_11.11 PHCO_26466 Fri Apr 5 12:25:38 PST 2002 $&lt;BR /&gt;what /usr/lib/libc.sl&lt;BR /&gt;/usr/lib/libc.sl:&lt;BR /&gt;$ PATCH_11.11/PHCO_29955 Jan 28 2004 01:24:54 $ &lt;BR /&gt;what /usr/lib/libp/libc.a&lt;BR /&gt;/usr/lib/libp/libc.a:&lt;BR /&gt;$ PATCH_11.11/PHCO_29955 Jan 28 2004 01:26:40 $ &lt;BR /&gt;&lt;BR /&gt;Patches tried: (that relate to any of the words: gprof crt0 gcrt0 _mcount&lt;BR /&gt;PHCO_27848 s700_800 11.11 gprof(1) patch&lt;BR /&gt;PHSS_30970 s700_800 11.11 ld(1) and linker tools cumulative patch&lt;BR /&gt;PHSS_28435 s700_800 11.11 linker startup code / SLLIC ELF support&lt;BR /&gt;(does not include gcrt0.o file)&lt;BR /&gt;&lt;BR /&gt;Compile time options:&lt;BR /&gt;for release version:&lt;BR /&gt;aCC +z \&lt;BR /&gt;-DRWSTD_MULTI_THREAD -D_LARGEFILE64_SOURCE -D__STDC_EXT__ \&lt;BR /&gt;-D_POSIX2_SOURCE -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199506L \&lt;BR /&gt;-D_HPUX_SOURCE -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED \&lt;BR /&gt;-D_XPG4 \&lt;BR /&gt;+O2 -D_FILE_OFFSET_BITS=32 +W495 -D_REENTRANT \&lt;BR /&gt;-I&lt;PROJECT-INCLUDES&gt; -D&lt;PROJECT-DEFINES&gt; \&lt;BR /&gt;-c &lt;SOURCE-FILE&gt; -o &lt;RELEASE-OBJFILE&gt;&lt;BR /&gt;for profile version:&lt;BR /&gt;aCC +O2 \&lt;BR /&gt;-DRWSTD_MULTI_THREAD -D_LARGEFILE64_SOURCE -D__STDC_EXT__ \&lt;BR /&gt;-D_POSIX2_SOURCE -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199506L \&lt;BR /&gt;-D_HPUX_SOURCE -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED \&lt;BR /&gt;-D_XPG4 \&lt;BR /&gt;-G -D_FILE_OFFSET_BITS=32 +W495 -D_REENTRANT \&lt;BR /&gt;-I&lt;PROJECT-INCLUDES&gt; -D&lt;PROJECT-DEFINES&gt; \&lt;BR /&gt;-c &lt;SOURCE-FILE&gt; -o &lt;RELEASE-OBJFILE&gt;&lt;BR /&gt;Note, that option "-G" can not go with "+z" (PIC).&lt;BR /&gt;May this be a problem ?&lt;BR /&gt;&lt;BR /&gt;Build time options:&lt;BR /&gt;for release version:&lt;BR /&gt;aCC +O2 -o &lt;EXECUTABLE&gt; -L&lt;LOCATION_TO_OUR_RELEASE_LIBS&gt; \&lt;BR /&gt;-l&lt;OUR-LIBS&gt; -ldld -lpthread -lrt -Wl,-N&lt;BR /&gt;for profile version:&lt;BR /&gt;aCC -G -o &lt;EXECUTABLE&gt; -L&lt;LOCATION_TO_OUR_PROFILE_LIBS&gt; \&lt;BR /&gt;-l&lt;OUR-LIBS&gt; -ldld -lpthread -lrt -Wl,-N&lt;BR /&gt;where &lt;OUR-LIBS&gt; are compiled using appropriate compile options, and created with "ar(1)" command with "ranlib" afterwards.&lt;BR /&gt;&lt;BR /&gt;---&lt;BR /&gt;&lt;BR /&gt;swlist -l file | egrep 'gprof|crt0|libp/|bin/aCC|bin/ld'&lt;BR /&gt;&lt;BR /&gt;ACXX.ACXX: /opt/aCC/bin/aCC&lt;BR /&gt;# Auxiliary-Opt.LANG-STARTUP B.11.01.06 Family of Startup crt0.o files&lt;BR /&gt;Auxiliary-Opt.LANG-STARTUP: /opt/langtools/lib/crt0.o&lt;BR /&gt;Auxiliary-Opt.LANG-STARTUP: /opt/langtools/lib/gcrt0.o&lt;BR /&gt;Auxiliary-Opt.LANG-STARTUP: /opt/langtools/lib/icrt0.o&lt;BR /&gt;Auxiliary-Opt.LANG-STARTUP: /opt/langtools/lib/mcrt0.o&lt;BR /&gt;Auxiliary-Opt.LANG-STARTUP: /opt/langtools/lib/pa20_64/crt0.o&lt;BR /&gt;Auxiliary-Opt.LANG-STARTUP: /opt/langtools/lib/scrt0.o&lt;BR /&gt;BLINKLINK.BLINKLINK: /opt/blinklink/obsolete/bin/ld&lt;BR /&gt;HPPAK.HPPAK: /opt/langtools/hppak/ui/icons/gprof_icon.pm&lt;BR /&gt;OS-Core.C-KRN: /usr/ccs/bin/ld&lt;BR /&gt;OS-Core.C-KRN: /usr/ccs/lbin/ld32&lt;BR /&gt;OS-Core.C-KRN: /usr/ccs/lbin/ld64&lt;BR /&gt;OS-Core.C-MIN: /usr/ccs/lib/crt0.o&lt;BR /&gt;OS-Core.C-MIN-32ALIB: /usr/lib/libp/libpthread.a&lt;BR /&gt;OS-Core.C-MIN-64ALIB: /usr/ccs/lib/pa20_64/crt0.o&lt;BR /&gt;OS-Core.C-MIN-64ALIB: /usr/lib/pa20_64/libp/libpthread.a&lt;BR /&gt;OS-Core.CMDS-AUX: /usr/ccs/bin/ldd&lt;BR /&gt;OS-Core.CMDS-AUX: /usr/ccs/lbin/ldd32&lt;BR /&gt;OS-Core.CMDS-AUX: /usr/ccs/lbin/ldd64&lt;BR /&gt;OS-Core.CORE-64SLIB: /usr/lib/pa20_64/libgprof.1&lt;BR /&gt;OS-Core.CORE-64SLIB: /usr/lib/pa20_64/libgprof.a&lt;BR /&gt;OS-Core.CORE-64SLIB: /usr/lib/pa20_64/libgprof.sl&lt;BR /&gt;OS-Core.CORE-KRN: /usr/conf/sys/gprof.h&lt;BR /&gt;OS-Core.CORE-SHLIBS: /usr/lib/libgprof.1&lt;BR /&gt;OS-Core.CORE-SHLIBS: /usr/lib/libgprof32.sl&lt;BR /&gt;# PHCO_27848 1.0 gprof(1) patch.&lt;BR /&gt;PHCO_27848.PROG-AUX: /usr/ccs/bin/gprof&lt;BR /&gt;PHCO_29955.PROG-AUX: /usr/lib/libp/libc.a&lt;BR /&gt;PHCO_29955.PROG-AX-64ALIB: /usr/lib/pa20_64/libp/libc.a&lt;BR /&gt;PHSS_28435.LANG-STARTUP: /opt/langtools/lib/crt0.o&lt;BR /&gt;PHSS_28435.LANG-STARTUP: /opt/langtools/lib/icrt0.o&lt;BR /&gt;PHSS_28435.LANG-STARTUP: /opt/langtools/lib/pa20_64/crt0.o&lt;BR /&gt;PHSS_28435.LANG-STARTUP: /opt/langtools/lib/scrt0.o&lt;BR /&gt;PHSS_30970.C-INC: /usr/include/crt0.h&lt;BR /&gt;PHSS_30970.C-KRN: /usr/ccs/bin/ld&lt;BR /&gt;PHSS_30970.C-KRN: /usr/ccs/lbin/ld32&lt;BR /&gt;PHSS_30970.C-KRN: /usr/ccs/lbin/ld64&lt;BR /&gt;PHSS_30970.C-MIN: /usr/ccs/lib/crt0.o&lt;BR /&gt;PHSS_30970.C-MIN-64ALIB: /usr/ccs/lib/pa20_64/crt0.o&lt;BR /&gt;PHSS_30970.CMDS-AUX: /usr/ccs/bin/ldd&lt;BR /&gt;PHSS_30970.CMDS-AUX: /usr/ccs/lbin/ldd32&lt;BR /&gt;PHSS_30970.CMDS-AUX: /usr/ccs/lbin/ldd64&lt;BR /&gt;ProgSupport.C-INC: /usr/include/crt0.h&lt;BR /&gt;ProgSupport.C-INC: /usr/include/sys/gprof.h&lt;BR /&gt;ProgSupport.PAUX-ENG-A-MAN: /usr/share/man/man1.Z/gprof.1&lt;BR /&gt;ProgSupport.PAUX-ENG-A-MAN: /usr/share/man/man3.Z/crt0.3&lt;BR /&gt;ProgSupport.PAUX-ENG-A-MAN: /usr/share/man/man3.Z/crt0.o.3&lt;BR /&gt;ProgSupport.PAUX-ENG-A-MAN: /usr/share/man/man3.Z/gcrt0.o.3&lt;BR /&gt;ProgSupport.PAUX-ENG-A-MAN: /usr/share/man/man3.Z/mcrt0.o.3&lt;BR /&gt;ProgSupport.PAUX-JPN-E-MAN: /usr/share/man/ja_JP.eucJP/man1.Z/gprof.1&lt;BR /&gt;ProgSupport.PAUX-JPN-E-MAN: /usr/share/man/ja_JP.eucJP/man3.Z/crt0.3&lt;BR /&gt;ProgSupport.PAUX-JPN-E-MAN: /usr/share/man/ja_JP.eucJP/man3.Z/crt0.o.3&lt;BR /&gt;ProgSupport.PAUX-JPN-E-MAN: /usr/share/man/ja_JP.eucJP/man3.Z/gcrt0.o.3&lt;BR /&gt;ProgSupport.PAUX-JPN-E-MAN: /usr/share/man/ja_JP.eucJP/man3.Z/mcrt0.o.3&lt;BR /&gt;ProgSupport.PAUX-JPN-S-MAN: /usr/share/man/ja_JP.SJIS/man1.Z/gprof.1&lt;BR /&gt;ProgSupport.PAUX-JPN-S-MAN: /usr/share/man/ja_JP.SJIS/man3.Z/crt0.3&lt;BR /&gt;ProgSupport.PAUX-JPN-S-MAN: /usr/share/man/ja_JP.SJIS/man3.Z/crt0.o.3&lt;BR /&gt;ProgSupport.PAUX-JPN-S-MAN: /usr/share/man/ja_JP.SJIS/man3.Z/gcrt0.o.3&lt;BR /&gt;ProgSupport.PAUX-JPN-S-MAN: /usr/share/man/ja_JP.SJIS/man3.Z/mcrt0.o.3&lt;BR /&gt;ProgSupport.PROG-AUX: /usr/ccs/bin/gprof&lt;BR /&gt;ProgSupport.PROG-AUX: /usr/lib/gprof.callg&lt;BR /&gt;ProgSupport.PROG-AUX: /usr/lib/gprof.flat&lt;BR /&gt;ProgSupport.PROG-AUX: /usr/lib/libp/libc.a&lt;BR /&gt;ProgSupport.PROG-AX-64ALIB: /usr/lib/pa20_64/libp/libc.a&lt;BR /&gt;gcc.gcc-MAN: /usr/local/man/man1/gprof.1&lt;BR /&gt;gcc.gcc-RUN: /usr/local/bin/gprof&lt;BR /&gt;gcc.gcc-RUN: /usr/local/info/gprof.info&lt;BR /&gt;gcc.gcc-RUN: /usr/local/share/locale/da/LC_MESSAGES/gprof.mo&lt;BR /&gt;gcc.gcc-RUN: /usr/local/share/locale/de/LC_MESSAGES/gprof.mo&lt;BR /&gt;gcc.gcc-RUN: /usr/local/share/locale/es/LC_MESSAGES/gprof.mo&lt;BR /&gt;gcc.gcc-RUN: /usr/local/share/locale/fr/LC_MESSAGES/gprof.mo&lt;BR /&gt;gcc.gcc-RUN: /usr/local/share/locale/id/LC_MESSAGES/gprof.mo&lt;BR /&gt;gcc.gcc-RUN: /usr/local/share/locale/pt_BR/LC_MESSAGES/gprof.mo&lt;BR /&gt;gcc.gcc-RUN: /usr/local/share/locale/sv/LC_MESSAGES/gprof.mo&lt;BR /&gt;gcc.gcc-RUN: /usr/local/share/locale/tr/LC_MESSAGES/gprof.mo&lt;BR /&gt;Total=17:05.53 (CPU/TOTAL=1.2%, user=9.56 kernel=3.51)&lt;BR /&gt;&lt;BR /&gt;--- END --- &lt;BR /&gt;&lt;/OUR-LIBS&gt;&lt;/OUR-LIBS&gt;&lt;/LOCATION_TO_OUR_PROFILE_LIBS&gt;&lt;/EXECUTABLE&gt;&lt;/OUR-LIBS&gt;&lt;/LOCATION_TO_OUR_RELEASE_LIBS&gt;&lt;/EXECUTABLE&gt;&lt;/RELEASE-OBJFILE&gt;&lt;/SOURCE-FILE&gt;&lt;/PROJECT-DEFINES&gt;&lt;/PROJECT-INCLUDES&gt;&lt;/RELEASE-OBJFILE&gt;&lt;/SOURCE-FILE&gt;&lt;/PROJECT-DEFINES&gt;&lt;/PROJECT-INCLUDES&gt;&lt;/CUBE&gt;</description>
      <pubDate>Mon, 28 Feb 2005 14:28:01 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-hp-ux/hp-ux-gprof-vs-gnu-binutils-gprof/m-p/3494537#M846316</guid>
      <dc:creator>Alexey Roytman</dc:creator>
      <dc:date>2005-02-28T14:28:01Z</dc:date>
    </item>
    <item>
      <title>Re: HP-UX gprof vs. GNU binutils' gprof</title>
      <link>https://community.hpe.com/t5/operating-system-hp-ux/hp-ux-gprof-vs-gnu-binutils-gprof/m-p/3494538#M846317</link>
      <description>You can use 11.23.04.09 binary on 11.11 system. It should work fine.</description>
      <pubDate>Tue, 01 Mar 2005 01:06:44 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-hp-ux/hp-ux-gprof-vs-gnu-binutils-gprof/m-p/3494538#M846317</guid>
      <dc:creator>Amit Agarwal_1</dc:creator>
      <dc:date>2005-03-01T01:06:44Z</dc:date>
    </item>
    <item>
      <title>Re: HP-UX gprof vs. GNU binutils' gprof</title>
      <link>https://community.hpe.com/t5/operating-system-hp-ux/hp-ux-gprof-vs-gnu-binutils-gprof/m-p/3494539#M846318</link>
      <description>Two questions: &lt;BR /&gt;1. where do I get this binary (I have HP-UX 11.11 on PA-RISC machine) ?&lt;BR /&gt;2. gprof works fine for a simple applications; it does not work "fine" for something really complicated.&lt;BR /&gt;</description>
      <pubDate>Tue, 01 Mar 2005 12:09:38 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-hp-ux/hp-ux-gprof-vs-gnu-binutils-gprof/m-p/3494539#M846318</guid>
      <dc:creator>Alexey Roytman</dc:creator>
      <dc:date>2005-03-01T12:09:38Z</dc:date>
    </item>
    <item>
      <title>Re: HP-UX gprof vs. GNU binutils' gprof</title>
      <link>https://community.hpe.com/t5/operating-system-hp-ux/hp-ux-gprof-vs-gnu-binutils-gprof/m-p/3494540#M846319</link>
      <description>On HP-UX, ifyou have a complicated aplication, with threads and the like, for PA-RISC I'd probably suggest using Prospect to profile - IIRC &lt;A href="http://www.hp.com/go/prospect." target="_blank"&gt;http://www.hp.com/go/prospect.&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;If all the $$ stuff is what you think is wrong with the profile with HP-UX grpof, those are millicode routines for integer multiply and divide and such.  PA-RISC has native integer multiple or divide and so the compiler will direct the math to millicode routines.&lt;BR /&gt;&lt;BR /&gt;I do not know about the aCC compiler in this regard, but if you compile C with the HP ANSI C compiler, and tall it to produce a PA 2.0 binary with a suitable optimization level, at least some of the integer ops can be sent to the floating point unit (FPU).  The compiler can do this because it can safely ass-u-me that any PA 2.0 system has an FPU.  That assumption was not safe for PA 1.1 (aka +DAportable).&lt;BR /&gt;&lt;BR /&gt;By default, the compiler produces code matching the CPU on which the compile takes place.  So, if your's is a PA 1.1 system it would be consistent.  The "file" command will tell you what flavor of binary was produced.&lt;BR /&gt;&lt;BR /&gt;Of course, HP-UX gprof may still not be getting it right, in which case all the above is of only academic interest :)&lt;BR /&gt;&lt;BR /&gt;If the GNU version is correct, all that time in select() suggests you may want to consider using evenports - man 7 poll on an HP-UX system.</description>
      <pubDate>Tue, 01 Mar 2005 12:36:04 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-hp-ux/hp-ux-gprof-vs-gnu-binutils-gprof/m-p/3494540#M846319</guid>
      <dc:creator>rick jones</dc:creator>
      <dc:date>2005-03-01T12:36:04Z</dc:date>
    </item>
    <item>
      <title>Re: HP-UX gprof vs. GNU binutils' gprof</title>
      <link>https://community.hpe.com/t5/operating-system-hp-ux/hp-ux-gprof-vs-gnu-binutils-gprof/m-p/3494541#M846320</link>
      <description>&lt;BR /&gt;&amp;gt;&amp;gt;&amp;gt; 1. where do I get this binary (I have HP-UX 11.11 on PA-RISC machine) ?&lt;BR /&gt;&lt;BR /&gt;This looks like a problem for you. You must get in touch with HP contact (Response Centre Engineer). There must be one for you(your company).&lt;BR /&gt;&lt;BR /&gt;&amp;gt;&amp;gt;&amp;gt; 2. gprof works fine for a simple applications; it does not work "fine" for something really complicated. &lt;BR /&gt;&lt;BR /&gt;the issue has nothing to do with application's complexity or size. It is incorrect timing caculation that it does. hence this problem.</description>
      <pubDate>Thu, 03 Mar 2005 03:05:54 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-hp-ux/hp-ux-gprof-vs-gnu-binutils-gprof/m-p/3494541#M846320</guid>
      <dc:creator>Amit Agarwal_1</dc:creator>
      <dc:date>2005-03-03T03:05:54Z</dc:date>
    </item>
    <item>
      <title>Re: HP-UX gprof vs. GNU binutils' gprof</title>
      <link>https://community.hpe.com/t5/operating-system-hp-ux/hp-ux-gprof-vs-gnu-binutils-gprof/m-p/3494542#M846321</link>
      <description>typographical correction - PA-RISC has _no_ integer multiply or divide instructions</description>
      <pubDate>Thu, 03 Mar 2005 12:51:28 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-hp-ux/hp-ux-gprof-vs-gnu-binutils-gprof/m-p/3494542#M846321</guid>
      <dc:creator>rick jones</dc:creator>
      <dc:date>2005-03-03T12:51:28Z</dc:date>
    </item>
    <item>
      <title>Re: HP-UX gprof vs. GNU binutils' gprof</title>
      <link>https://community.hpe.com/t5/operating-system-hp-ux/hp-ux-gprof-vs-gnu-binutils-gprof/m-p/3494543#M846322</link>
      <description>Amit,&lt;BR /&gt;&lt;BR /&gt;Why are you so sure that a 11.23.04.09 binary will work OK on my system ?&lt;BR /&gt;I was sure that my HP-UX's original "gprof" works OK, too, until the moment I understood that I must suspect something.&lt;BR /&gt;</description>
      <pubDate>Sun, 06 Mar 2005 03:38:53 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-hp-ux/hp-ux-gprof-vs-gnu-binutils-gprof/m-p/3494543#M846322</guid>
      <dc:creator>Alexey Roytman</dc:creator>
      <dc:date>2005-03-06T03:38:53Z</dc:date>
    </item>
    <item>
      <title>Re: HP-UX gprof vs. GNU binutils' gprof</title>
      <link>https://community.hpe.com/t5/operating-system-hp-ux/hp-ux-gprof-vs-gnu-binutils-gprof/m-p/3494544#M846323</link>
      <description>Rick,&lt;BR /&gt;&lt;BR /&gt;I've looked at "prospect", and it definitely is not a tool I want: I want to profile not only system calls and library function, but my own code, that eats CPU time.&lt;BR /&gt;&lt;BR /&gt;I know what are millicode routines, and their presence (if it's actual) does not make me suspect anything. I'm OK with them.&lt;BR /&gt;&lt;BR /&gt;The main problem is: which of the two "gprof" binaries gives correct results (if any), and what am I doing wrongly?&lt;BR /&gt;If I can proof that HP's gprof is incorrect, how do I submit a bug report about it? Should I have a open contract to HP?&lt;BR /&gt;&lt;BR /&gt;"man 7 poll" does not give my anything. I have a manual page for "poll" only in section 2.&lt;BR /&gt;</description>
      <pubDate>Sun, 06 Mar 2005 03:44:11 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-hp-ux/hp-ux-gprof-vs-gnu-binutils-gprof/m-p/3494544#M846323</guid>
      <dc:creator>Alexey Roytman</dc:creator>
      <dc:date>2005-03-06T03:44:11Z</dc:date>
    </item>
    <item>
      <title>Re: HP-UX gprof vs. GNU binutils' gprof</title>
      <link>https://community.hpe.com/t5/operating-system-hp-ux/hp-ux-gprof-vs-gnu-binutils-gprof/m-p/3494545#M846324</link>
      <description>Alexey,&lt;BR /&gt;&lt;BR /&gt;&amp;gt;&amp;gt;Why are you so sure that a 11.23.04.09 binary will work OK on my system ?&lt;BR /&gt;&lt;BR /&gt;Amit: Because I myself have fixed this problem in HP-UX gprof. And since gprof plainly reads gmon.out and binary to give the profliing output, it is version or platform independant.&lt;BR /&gt;&lt;BR /&gt;&amp;gt;&amp;gt;I was sure that my HP-UX's original "gprof" works OK, too, until the moment I understood that I must suspect something. &lt;BR /&gt;&lt;BR /&gt;Amit: The defect that you are seeing is one of the corner cases. You may not see it while profiling other application.</description>
      <pubDate>Sun, 06 Mar 2005 04:19:35 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-hp-ux/hp-ux-gprof-vs-gnu-binutils-gprof/m-p/3494545#M846324</guid>
      <dc:creator>Amit Agarwal_1</dc:creator>
      <dc:date>2005-03-06T04:19:35Z</dc:date>
    </item>
    <item>
      <title>Re: HP-UX gprof vs. GNU binutils' gprof</title>
      <link>https://community.hpe.com/t5/operating-system-hp-ux/hp-ux-gprof-vs-gnu-binutils-gprof/m-p/3494546#M846325</link>
      <description>Amit,&lt;BR /&gt;&lt;BR /&gt;I've tried a gprof from a patch:&lt;BR /&gt;   PHCO_31548   s700_800 11.23 gprof(1) cumulative patch&lt;BR /&gt;which had a symptom:&lt;BR /&gt;   gprof(1) gives incorrect profiling result for PA 32-bit applications&lt;BR /&gt;&lt;BR /&gt;"what PHCO_31548/PROG2-AUX.2/usr/ccs/bin/gprof" gives:&lt;BR /&gt;   $Revision: 92453-07 linker linker crt0.o B.11.16.01 030415 $&lt;BR /&gt;   $Revision: B11.23.0409LR&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;The patch seems to provide really correct gprof binary, but it can not be installed on a HP-UX 11.11 platform.&lt;BR /&gt;</description>
      <pubDate>Sun, 06 Mar 2005 04:57:50 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-hp-ux/hp-ux-gprof-vs-gnu-binutils-gprof/m-p/3494546#M846325</guid>
      <dc:creator>Alexey Roytman</dc:creator>
      <dc:date>2005-03-06T04:57:50Z</dc:date>
    </item>
    <item>
      <title>Re: HP-UX gprof vs. GNU binutils' gprof</title>
      <link>https://community.hpe.com/t5/operating-system-hp-ux/hp-ux-gprof-vs-gnu-binutils-gprof/m-p/3494547#M846326</link>
      <description>Alexey,&lt;BR /&gt;&lt;BR /&gt;You cannot install 11.23.0409 patch on 11.11 system. Instead you need to install the patch on 11.23 system, and then copy (remote copy) /usr/ccs/bin/gprof onto 11.11 system. &lt;BR /&gt;&lt;BR /&gt;-Amit</description>
      <pubDate>Wed, 09 Mar 2005 09:32:31 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-hp-ux/hp-ux-gprof-vs-gnu-binutils-gprof/m-p/3494547#M846326</guid>
      <dc:creator>Amit Agarwal_1</dc:creator>
      <dc:date>2005-03-09T09:32:31Z</dc:date>
    </item>
    <item>
      <title>Re: HP-UX gprof vs. GNU binutils' gprof</title>
      <link>https://community.hpe.com/t5/operating-system-hp-ux/hp-ux-gprof-vs-gnu-binutils-gprof/m-p/3494548#M846327</link>
      <description>Was curious to know, the steps I told you did they help?</description>
      <pubDate>Mon, 14 Mar 2005 00:29:20 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-hp-ux/hp-ux-gprof-vs-gnu-binutils-gprof/m-p/3494548#M846327</guid>
      <dc:creator>Amit Agarwal_1</dc:creator>
      <dc:date>2005-03-14T00:29:20Z</dc:date>
    </item>
    <item>
      <title>Re: HP-UX gprof vs. GNU binutils' gprof</title>
      <link>https://community.hpe.com/t5/operating-system-hp-ux/hp-ux-gprof-vs-gnu-binutils-gprof/m-p/3494549#M846328</link>
      <description>Amit,&lt;BR /&gt;yes, your answer was useful; the gprof binary extracted from the patch gave an output that was very close (by timings) to the GNUish output. So, I suppose that this patch provides more correct gprof, like the GNUish one.&lt;BR /&gt;&lt;BR /&gt;But since I have no HP-UX 11.23 machine, the patch can not be installed for me.&lt;BR /&gt;Also, I have no support contract with HP, and can not ask for them to backport that patch to HP-UX 11.11.&lt;BR /&gt;&lt;BR /&gt;Bottom line: I'll either use a GNU binary (for 32-bit), or the extracted file (for 32-bit and 64-bit).&lt;BR /&gt;</description>
      <pubDate>Mon, 14 Mar 2005 02:13:41 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-hp-ux/hp-ux-gprof-vs-gnu-binutils-gprof/m-p/3494549#M846328</guid>
      <dc:creator>Alexey Roytman</dc:creator>
      <dc:date>2005-03-14T02:13:41Z</dc:date>
    </item>
  </channel>
</rss>

