PROBLEM: (QAR 53676, QAR 44972) (Patch ID: OSF405-400325) ******** The atom command terminates with a SIGSEGV signal if the threaded program being instrumented uses a stripped shared library. The typical symptoms of the atom instrumentation failure are warnings like this: > atom -tool third -env threads server atom: Error: Command '/tmp/atomAAAaaBpfa/server.tool' terminated with receipt of SIGSEGV signal. atom: Error: Run atom with the -debug switch to see if the error is in the instrumentation code. > Using the -debug switch as suggested will show a segmentation fault in the search_procedures routine, for example: > atom -tool third -env threads server -debug dbx version 3.11.10 Type 'help' for help. [2] stop in InstrumentAll signal Segmentation fault at >*[search_procedures, 0x12008d1d0] ldl r2, 12(r2) (/bin/dbx) One kind of application that triggers this problem is one that uses DCE, because the libdce.so is stripped. However, any other threaded program that uses a stripped shared library can trigger it. PROBLEM: (QAR 51465) (Patch ID: OSF405-400325) ******** A threaded program may not execute correctly when instrumented with the "atom -tool third -all -env threads" or "atom -tool hiprof -all -env threads" command. This is because these commands instrument shared libraries (such as libc.so) that may be called by critical sections of libpthread.so. A workaround is to avoid instrumenting the system-libraries, by omitting the -all option from the atom command line or by appending the "-excobj libpthreads.so -excobj libmach.so -excobj libexc.so -excobj libc.so" options to the atom command. This patch changes the tools so that they always exclude these system-libraries from instrumentation, which results in the instrumented program executing correctly.