A fix is available
APAR status
Closed as program error.
Error description
Assembler program calling COBOL V5+ program expects all general purpose registers to be restored upon return. Gpr0 and gpr1 were not, leadinbg to an exception in the assembler program.
Local fix
Don't use gpr0 or gpr1 as key registers in assembler
Problem summary
**************************************************************** * USERS AFFECTED: Users of Enterprise COBOL V6.1 compiling * * and running COBOL programs that are called * * from assembler programs. * * * **************************************************************** * PROBLEM DESCRIPTION: Incorrect output: Following linkage * * conventions, the compiler did not * * generate instructions to restore * * Register 0 or Register 1 before * * returning control to the assembler * * program, unlike Enterprise COBOL V4.2 * * and earlier compilers. If the * * assembler program depended on R0 or R1 * * being preserved while calling a COBOL * * program, the assembler program would * * have an incorrect value in R0 or R1 * * upon return from the COBOL program. * * * **************************************************************** * RECOMMENDATION: Apply the provided PTF. * * * **************************************************************** The compiler did not restore R0 or R1 when control was returned to a calling assembly program, which caused a difference in behavior when the COBOL program was migrated from COBOL V4 to COBOL V5/V6.
Problem conclusion
The compiler was fixed to generate instructions to restore R0 and R1 when control was returned to a calling program, as long as the COBOL program wasn't returning a 64-bit binary value. In that case, R0 contains part of the return value.
Temporary fix
Comments
APAR Information
APAR number
PI79788
Reported component name
ENT COBOL FOR Z
Reported component ID
5655EC600
Reported release
610
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt / Xsystem
Submitted date
2017-04-11
Closed date
2017-04-25
Last modified date
2017-05-05
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
Modules/Macros
IGYQCBE
Fix information
Fixed component name
ENT COBOL FOR Z
Fixed component ID
5655EC600
Applicable component levels
R610 PSY UI46711
UP17/04/29 P F704
Fix is available
Select the PTF appropriate for your component level. You will be required to sign in. Distribution on physical media is not available in all countries.
[{"Business Unit":{"code":"BU048","label":"IBM Software"},"Product":{"code":"SS6SG3","label":"Enterprise COBOL for z\/OS"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"6.1","Edition":"","Line of Business":{"code":"LOB70","label":"Z TPS"}}]
Document Information
Modified date:
05 September 2024