A fix is available
APAR status
Closed as new function.
Error description
Refit all recent maintenance to HLASM R5 into HLASM R6, to allow the servicing of both releases to be brought into sync. R5 APARs included in this APAR are: PK59290 PK62615 PK62855 PK63827 PK68665 PK69527 PK70241 PK70304 PK72450 PK73714 PK79869 PK83221
Local fix
Problem summary
**************************************************************** * USERS AFFECTED: 1. Users calling macros with a literal as a * * macro operand. * * 2. Users of the WORKFILE option. * * 3. Users of conditional assembly. * * 4. Users of batched assemblies and very * * large assemblies with NOWORKFILE and * * WORKFILE option. * * 5. Users of the TYPECHECK(REGISTER) option * * using type checking for the FLOGR * * instruction. * * 6. All users. * * 7. Users of the assembler when the ADATA * * option has been specified. * * 8. Users using Quadword instructions in * * DSECTS with SECTALGN(16) not specified. * **************************************************************** * PROBLEM DESCRIPTION: 1. Possible S0C6 when passing a literal * * as a macro operand. * * 2. When using the WORKFILE option the * * assembler is not using the correct * * BLKSIZE for the WORKFILE and is * * trying to put all internal blocks in * * storage. * * 3. ASMA074E incorrectly generated with * * some combinations of data in a DC * * operand. * * 4. When using batched assemblies, the * * assembler is not cleaning up all * * storage between assemblies causing * * it to sometimes run out of internal * * storage space, plus for large * * assemblies the assembler can * * sometimes run out of internal * * storage space. * * 5. ASMA323W generated incorrectly for * * the FLOGR instruction when * * TYPECHECK(REGISTER) option used. * * 6. Possible creation of bad USING map * * record, leading to bad ESDID record * * in SYSADATA file. * * 7. Using the ADATA option when there is * * a duplicate EQU symbol can cause a * * null pointer, which may cause the * * assembly to fail and leave a * * truncated assembly listing. * * 8. ASMA500E was being generated * * unnecessarily for Quadword alignment * * in a DSECT. * **************************************************************** * RECOMMENDATION: Apply the PTF provided. * **************************************************************** 1. Possible ABEND S0C6 when passing a literal as a macro operand. 2. Fixes the problem with the assembler not correctly using the WORKFILE when defined. The assembler previously tried to define all internal blocks in storage and did not use the correct BLKSIZE for the WORKFILE. 3. ASMA074E incorrectly generated with some (rare) combinations of data in a DC operand. The error only occurs when the data begins with a 'C' or 'c', followed somewhere in the operand with a space and a substitution variable. 4. Fixes a problem with the assembler not freeing up some storage in batched assemblies and corrects Work File counts between assemblies when the WORKFILE is used. 5. Incorrect register type checking for FLOGR operands, causing ASMA323W to be generated when GR64 is specified for the registers used in the instruction. 6. When a USING instruction refers to an externally-defined symbol, it sometimes led to the assembler creating an invalid USING map record, which in turn led to the creation of an invalid ESDID record in the SYSADATA file. 7. When using the ADATA option and the source code contains a duplicate EQU symbol, the assembler may attempt to use a null pointer. Depending on the operating system; the assembly may complete successfully or the assembly may fail during processing of the Ordinary Symbol and Literal Cross Reference section of the assembly listing. 8. When QUADWORD alignment is used in a DSECT without SECTALGN(16) being specified ASMA500E is generated unnecessarily.
Problem conclusion
Temporary fix
Comments
The High Level Assembler has been modified: 1. To correctly handle a literal. 2. To ensure that the WORKFILE is used when required and that the correct BLKSIZE is used. 3. To correctly scan operands before performing variable substitution to prevent the ASMA074E diagnostic from being incorrectly generated. 4. To ensure that storage is freed up between batched assemblies, plus when an internal storage block fills up for an address/length pair, the length field is correctly setup in the new block and storage areas from a previous control block do not overlay storage in the new storage block. 5. So that the OPCODE table has the correct operand length for the FLOGR instruction. 6. To prevent the creation of invalid USING map records when USING refers to an external symbol. 7. To correctly recognize the duplicate EQU symbol and not attempt to extract further information about that particular symbol entry. 8. So that when Quadword alignment is used in a DSECT without SECTALGN(16) ASMA500E is not generated. ×**** PE09/04/15 FIX IN ERROR. SEE APAR PK84776 FOR DESCRIPTION
APAR Information
APAR number
PK77171
Reported component name
HLASM MVS, VM &
Reported component ID
569623400
Reported release
160
Status
CLOSED UR1
PE
NoPE
HIPER
YesHIPER
Special Attention
NoSpecatt / Xsystem
Submitted date
2008-12-10
Closed date
2009-03-25
Last modified date
2009-06-16
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
UK45173 UK45203 UK45216
Modules/Macros
ASMADOPD ASMAINFO ASMA00 ASMA1A ASMA1G ASMA1K ASMA1P ASMA1S ASMA1U ASMA13 ASMA2R ASMA22 ASMA24 ASMA26 ASMA5UNI ASMA9Z ASMA92 OPGEN
Fix information
Fixed component name
HLASM MVS, VM &
Fixed component ID
569623400
Applicable component levels
R160 PSY UK45203
UP09/03/27 P F903
R360 PSY UK45173
UP09/03/26 P 0903
R689 PSY UK45216
UP09/03/26 P E421
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":"BU054","label":"Systems w\/TPS"},"Product":{"code":"SG19M","label":"APARs - z\/OS environment"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"160","Edition":"","Line of Business":{"code":"","label":""}},{"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSENW6","label":"High Level Assembler and Toolkit Feature"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"160","Edition":"","Line of Business":{"code":"","label":""}}]
Document Information
Modified date:
16 June 2009