Fixes are available
October 2009 Update for XL C/C++ for Linux, V10.1
June 2011 Update for XL C/C++ for Linux, V10.1
XL C/C++ for Linux Fix Pack 8 (January 2014 Update) for 10.1
August 2010 Update for XL C/C++ for Linux, V10.1
January 2011 Update for XL C/C++ for Linux, V10.1
January 2012 Update for XL C/C++ for Linux, V10.1
July 2012 Update for XL C/C++ for Linux, V10.1
APAR status
Closed as program error.
Error description
The compiler does not seem to be putting the correct line numbers for large source code compiled with -q64. In 64 bit mode, it should be able to show the line numbers upto 2^32 lines. ===== ACTUAL OUTPUT: //This one is as expected $ xlC_r -o tcSMALL tcSMALL.c -q64 -g $ ./tcSMALL Abort process (core dumped) $ dbx tcSMALL core Type 'help' for help. [using memory image in core] reading symbolic information ... IOT/Abort trap in pthread_kill at 0x90000000018d6bc ($t1) 0x90000000018d6bc (pthread_kill+0x88) e8410028 ld r2,0x28(r1) (dbx) where pthread_kill(??, ??) at 0x90000000018d6bc _p_raise(??) at 0x90000000018d0d0 raise.raise(??) at 0x900000000341298 abort() at 0x90000000036cdac main(), line 30000 in "tcSMALL.c" (dbx) quit //This one is the one that fails. Also, notice the warning message $ xlC_r -o tcBIG tcBIG.c -q64 -g 65533 1500-042: (W) WARNING in main: Debug line numbers >65535 discarded. Reduce file size and recompile to allow full debugging. $ ./tcBIG Abort process (core dumped) $ dbx tcBIG core Type 'help' for help. [using memory image in core] reading symbolic information ... IOT/Abort trap in pthread_kill at 0x90000000018d6bc ($t1) 0x90000000018d6bc (pthread_kill+0x88) e8410028 ld r2,0x28(r1) (dbx) where pthread_kill(??, ??) at 0x90000000018d6bc _p_raise(??) at 0x90000000018d0d0 raise.raise(??) at 0x900000000341298 abort() at 0x90000000036cdac main() at 0x100167298 (dbx) quit ===== EXPECTED OUTPUT: For the failing one above, it should not show the warning message when in 64 bit mode and it should show the line numbers in the dbx output.
Local fix
n/a
Problem summary
Users debugging code with more than 65536 source lines in 64 bit mode (-q64) are affected by this issue. Line numbers greater than 65536 were being removed from -g data, making it impossible for debuggers to map instructions back to source line numbers greater than 65536.
Problem conclusion
The fix is to increase the size of internal storage for line number variables.
Temporary fix
Comments
APAR Information
APAR number
LI75150
Reported component name
XL C/C++ SLES10
Reported component ID
5724U8300
Reported release
A10
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt
Submitted date
2009-12-01
Closed date
2009-12-01
Last modified date
2009-12-01
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
Fix information
Fixed component name
XL C/C++ SLES10
Fixed component ID
5724U8300
Applicable component levels
RA10 PSN IZ55631
UP06/09/13
[{"Business Unit":{"code":"BU054","label":"Systems w\/TPS"},"Product":{"code":"SSJT9L","label":"XL C\/C++"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"A.1","Line of Business":{"code":"LOB08","label":"Cognitive Systems"}}]
Document Information
Modified date:
14 October 2021