APAR status
Closed as user error.
Error description
When a program compiled with -qpdf1 exits using the _exit() function instead of the exit() function, the profiling data generated is not written out to a PDF profiling data file. ===== TEST CASE ===== $ cat test2.c int main(int argc, char *argv[]) { if ( argc == 2 ) { if ( atoi(argv[1]) == 1 ) exit(0); else _exit(0); } return 0; } $ $cdir11com/xlc -qpdf1=pdfname=mypdf -qipa test2.c $ ./a.out 1 $ ls | grep mypdf mypdf $ rm mypdf $ ./a.out 2 $ ls | grep mypdf $
Local fix
Exit using exit() instead of _exit().
Problem summary
Problem conclusion
Temporary fix
Comments
The design of the PDF feature requires that the program exits via the exit() function because a 'fini' function (-binitfini::__pdfexit) must be invoked to write out the PDF data output file. If a program exits via _exit(), this function does not get called, and no PDF profiling file is created. Replace calls to _exit() with exit() to solve the issue.
APAR Information
APAR number
IV31921
Reported component name
XL C/C++ AIX
Reported component ID
5724X1300
Reported release
B10
Status
CLOSED USE
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt
Submitted date
2012-11-12
Closed date
2012-12-03
Last modified date
2012-12-03
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
Fix information
Applicable component levels
Rate this page:
Average rating
Copyright and trademark information
IBM, the IBM logo and ibm.com are trademarks of International Business Machines Corp., registered in many jurisdictions worldwide. Other product and service names might be trademarks of IBM or other companies. A current list of IBM trademarks is available on the Web at "Copyright and trademark information" at www.ibm.com/legal/copytrade.shtml.