Note that there are some explanatory texts on larger screens.

plurals
  1. POHow to exclude shared library from instrumentalization with purify?
    text
    copied!<p>Instrumentalizing C Code that is linked against Oracle's libclntsh leads to crashes when running the resulting program. The program is terminated with a 'Illegal Instruction' signal.</p> <p>The bug is present for at least some versions of Oracle 11g and Purify.</p> <p>This is a <a href="http://www-01.ibm.com/support/docview.wss?uid=swg21319640" rel="nofollow">known bug and IBM has published a workaround</a>. Unfortunately, the workaround does not help in my work environment.</p> <p>I am using</p> <pre><code>$ purify -version Version 7.0.1.0-002.U 120210 Solaris SPARC </code></pre> <p>under Solaris 10 on Sun SPARC hardware. I compile the C source with Sun CC 11.</p> <p>Like described in the workaround I've tried excluding libclntsh from instrumentalization like this:</p> <pre><code>$ purify -verbose -cache-dir=purify_cache -always-use-cache-dir \ -selective -exclude-libs=/oracle/app/rdbms/ora11203/lib/libclntsh.so.11.1 \ cc -o myprogram ... -lclntsh </code></pre> <p>This does not work. Purify just says that it is instrumenting libclntsh.so.11.1, and surely enough I get a corresponding <code>_pp3_</code> file and not a <code>_pp0_</code> one.</p> <p>I tried variations of the exclude pattern:</p> <pre><code>-exclude-libs=libclntsh.so.11.1 -exclude-libs=clntsh.so </code></pre> <p>Without any success.</p> <p>Being able to exclude libclntsh would also greatly the instrumentalization time. On this SPARC machine it takes several minutes to instrumentalize libclntsh.so.</p> <p>Looking at the workaround, it just mentions HPUX - but I hope it is also applicable under Solaris ... somehow.</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload