IBM Z and LinuxONE Languages

Languages

Languages

Broad range of supported development languages and tools allows to transform software delivery practices.


#Servers
 View Only
  • 1.  ASMA032E errors starting at label $STATIC when assembling the BAL code produced by Metal C.

    Posted 04/08/20 11:57 PM
    Hello,

    We have a module written in Metal C and are encountering ASMA032E errors during the assembly of the
    BAL code emitted by the C compiler. These errors start at the $STATIC label.
    We are using our own prolog/epilog code, but we are using that same
    code in other modules with no issue. We were wondering if there are limits to the size of individual functions --
    for example our 'main' is very large but even reducing the size has not worked.
    If we remove the prolog/epilog code we do not see the error -- but again we are unsure as to whether that
    is actually a red herring.


    Here is the error and a snippet of an the error and surrounding BAL code:
    005874                00000 066B2 13883 TCRTMAIN CSECT ,                                                         000000
    005878                            13884 $STATIC  DS    0D                                                        000000
    005878 0000000000000000           13885          DC    (2312)X'00'                                               000000
    006180                06180 05878 13886          ORG   $STATIC                                                   000000
    005878 9481899500                 13887          DC    XL5'9481899500'                                           000000
    00587D                0587D 06180 13888          ORG   ,                                                         000000
                                      13889          LCLC  &DSMAC                                                    000000
                                      13890          LCLA  &DSSIZE                                                   000000
                                      13891          LCLA  &MSIZE                                                    000000
    006180                06180 05880 13892          ORG   $STATIC+8                                                 000000
                          05880       13893 @@LAB@6  EQU   *                                                         000000
                                      13894          MODESET KEY=ZERO,MODE=SUP,MF=L                                  000000
                                      13895+* MACDATE Y-3 81030                                                @D1A        
    005880                            13897+         DS    0F                                                       01-MODE
    005880 0000003C                   13898+         DC    B'00000000000000000000000000111100'                      01-MODE
                          00004       13899 @@LAB@6L EQU   *-@@LAB@6                                                 000000
                                      13900 &DSMAC   SETC  '@@LAB@6'                                                 000000
                                      13901 &DSSIZE  SETA  256                                                       000000
                                      13902 &MSIZE   SETA  @@LAB@6L                                                  000000
    ** ASMA032E Relocatable value or unresolved symbol found when absolute value required - OPENC/@@LAB@6L                 
    ** ASMA435I Record 10727 in TCR.D1R1M0.METALC.ASM(TCRTMAIN) on volume: VPWRKA                                          
                                      13903          AIF   (&DSSIZE GE &MSIZE).@@OK@6                                000000
                                      13904 .@@OK@6  ANOP                                                            000000
    005884                05884 05980 13905          ORG   $STATIC+264                                               000000
                          05980       13906 @@LAB@7  EQU   *                                                         000000
                                      13907          MODESET KEY=NZERO,MODE=PROB,MF=L                                000000
                                      13908+* MACDATE Y-3 81030                                                @D1A        
    005980                            13910+         DS    0F                                                       01-MODE
    005980 00000024                   13911+         DC    B'00000000000000000000000000100100'                      01-MODE
                          00004       13912 @@LAB@7L EQU   *-@@LAB@7                                                 000000
                                      13913 &DSMAC   SETC  '@@LAB@7'                                                 000000
                                      13914 &DSSIZE  SETA  256                                                       000000
    
    ​

    When we remove the prolog/epilog code, we don't see the error. Here is what the same area looks like:

    00563C                00000 0647A 13081 TCRTMAIN CSECT ,                                                         000000 
    005640                            13082 $STATIC  DS    0D                                                        000000 
    005640 0000000000000000           13083          DC    (2312)X'00'                                               000000 
    005F48                05F48 05640 13084          ORG   $STATIC                                                   000000 
    005640 9481899500                 13085          DC    XL5'9481899500'                                           000000 
    005645                05645 05F48 13086          ORG   ,                                                         000000 
                                      13087          LCLC  &DSMAC                                                    000000 
                                      13088          LCLA  &DSSIZE                                                   000000 
                                      13089          LCLA  &MSIZE                                                    000000 
    005F48                05F48 05648 13090          ORG   $STATIC+8                                                 000000 
                          05648       13091 @@LAB@8  EQU   *                                                         000000 
                                      13092          MODESET KEY=ZERO,MODE=SUP,MF=L                                  000000 
                                      13093+* MACDATE Y-3 81030                                                @D1A         
    005648                            13095+         DS    0F                                                       01-MODES
    005648 0000003C                   13096+         DC    B'00000000000000000000000000111100'                      01-MODES
                          00004       13097 @@LAB@8L EQU   *-@@LAB@8                                                 000000 
                                      13098 &DSMAC   SETC  '@@LAB@8'                                                 000000 
                                      13099 &DSSIZE  SETA  256                                                       000000 
                                      13100 &MSIZE   SETA  @@LAB@8L                                                  000000 
                                      13101          AIF   (&DSSIZE GE &MSIZE).@@OK@8                                000000 
                                      13102 .@@OK@8  ANOP                                                            000000 
    00564C                0564C 05748 13103          ORG   $STATIC+264                                               000000 
                          05748       13104 @@LAB@9  EQU   *                                                         000000 
                                      13105          MODESET KEY=NZERO,MODE=PROB,MF=L                                000000 
                                      13106+* MACDATE Y-3 81030                                                @D1A         
    005748                            13108+         DS    0F                                                       01-MODES
    005748 00000024                   13109+         DC    B'00000000000000000000000000100100'                      01-MODES
                          00004       13110 @@LAB@9L EQU   *-@@LAB@9                                                 000000 
                                      13111 &DSMAC   SETC  '@@LAB@9'                                                 000000 
                                      13112 &DSSIZE  SETA  256                                                       000000 
                                      13113 &MSIZE   SETA  @@LAB@9L                                                  000000 
                                      13114          AIF   (&DSSIZE GE &MSIZE).@@OK@9                                000000 ​



    Does anyone have any insight as to why this occurring? Is there any further data I could provide?

    ------------------------------
    Nancy Kilroy
    ------------------------------


  • 2.  RE: ASMA032E errors starting at label $STATIC when assembling the BAL code produced by Metal C.

    Posted 04/09/20 05:52 AM
    Nancy,

    You're likely to get far more answers by posting questions like this to the ibm-main mailing list. Here's an example of a mail someone iused:

    <quote>
    When I subscribed last year I didn't code any firstname or lastname, but
    the response email indicated my name which it must have grabbed from my
    "From" address.  Here's the source of my request, if that helps at all.

     From - Sat Sep 13 23:32:27 2014
    X-Mozilla-Status: 0001
    X-Mozilla-Status2: 00800000
    Date: Sat, 13 Sep 2014 23:32:24 -0700
    </quote>

    Posting address is <IBM-MAIN@listserv.ua.edu>

    Robert


    --
    Robert AH Prins
    robert(a)prino(d)org


    ------Original Message------

    Hello,

    We have a module written in Metal C and are encountering ASMA032E errors during the assembly of the
    BAL code emitted by the C compiler. These errors start at the $STATIC label.
    We are using our own prolog/epilog code, but we are using that same
    code in other modules with no issue. We were wondering if there are limits to the size of individual functions --
    for example our 'main' is very large but even reducing the size has not worked.
    If we remove the prolog/epilog code we do not see the error -- but again we are unsure as to whether that
    is actually a red herring.


    Here is the error and a snippet of an the error and surrounding BAL code:
    005874                00000 066B2 13883 TCRTMAIN CSECT ,                                                         000000
    005878                            13884 $STATIC  DS    0D                                                        000000
    005878 0000000000000000           13885          DC    (2312)X'00'                                               000000
    006180                06180 05878 13886          ORG   $STATIC                                                   000000
    005878 9481899500                 13887          DC    XL5'9481899500'                                           000000
    00587D                0587D 06180 13888          ORG   ,                                                         000000
                                      13889          LCLC  &DSMAC                                                    000000
                                      13890          LCLA  &DSSIZE                                                   000000
                                      13891          LCLA  &MSIZE                                                    000000
    006180                06180 05880 13892          ORG   $STATIC+8                                                 000000
                          05880       13893 @@LAB@6  EQU   *                                                         000000
                                      13894          MODESET KEY=ZERO,MODE=SUP,MF=L                                  000000
                                      13895+* MACDATE Y-3 81030                                                @D1A        
    005880                            13897+         DS    0F                                                       01-MODE
    005880 0000003C                   13898+         DC    B'00000000000000000000000000111100'                      01-MODE
                          00004       13899 @@LAB@6L EQU   *-@@LAB@6                                                 000000
                                      13900 &DSMAC   SETC  '@@LAB@6'                                                 000000
                                      13901 &DSSIZE  SETA  256                                                       000000
                                      13902 &MSIZE   SETA  @@LAB@6L                                                  000000
    ** ASMA032E Relocatable value or unresolved symbol found when absolute value required - OPENC/@@LAB@6L                 
    ** ASMA435I Record 10727 in TCR.D1R1M0.METALC.ASM(TCRTMAIN) on volume: VPWRKA                                          
                                      13903          AIF   (&DSSIZE GE &MSIZE).@@OK@6                                000000
                                      13904 .@@OK@6  ANOP                                                            000000
    005884                05884 05980 13905          ORG   $STATIC+264                                               000000
                          05980       13906 @@LAB@7  EQU   *                                                         000000
                                      13907          MODESET KEY=NZERO,MODE=PROB,MF=L                                000000
                                      13908+* MACDATE Y-3 81030                                                @D1A        
    005980                            13910+         DS    0F                                                       01-MODE
    005980 00000024                   13911+         DC    B'00000000000000000000000000100100'                      01-MODE
                          00004       13912 @@LAB@7L EQU   *-@@LAB@7                                                 000000
                                      13913 &DSMAC   SETC  '@@LAB@7'                                                 000000
                                      13914 &DSSIZE  SETA  256                                                       000000
    
    ​

    When we remove the prolog/epilog code, we don't see the error. Here is what the same area looks like:

    00563C                00000 0647A 13081 TCRTMAIN CSECT ,                                                         000000 
    005640                            13082 $STATIC  DS    0D                                                        000000 
    005640 0000000000000000           13083          DC    (2312)X'00'                                               000000 
    005F48                05F48 05640 13084          ORG   $STATIC                                                   000000 
    005640 9481899500                 13085          DC    XL5'9481899500'                                           000000 
    005645                05645 05F48 13086          ORG   ,                                                         000000 
                                      13087          LCLC  &DSMAC                                                    000000 
                                      13088          LCLA  &DSSIZE                                                   000000 
                                      13089          LCLA  &MSIZE                                                    000000 
    005F48                05F48 05648 13090          ORG   $STATIC+8                                                 000000 
                          05648       13091 @@LAB@8  EQU   *                                                         000000 
                                      13092          MODESET KEY=ZERO,MODE=SUP,MF=L                                  000000 
                                      13093+* MACDATE Y-3 81030                                                @D1A         
    005648                            13095+         DS    0F                                                       01-MODES
    005648 0000003C                   13096+         DC    B'00000000000000000000000000111100'                      01-MODES
                          00004       13097 @@LAB@8L EQU   *-@@LAB@8                                                 000000 
                                      13098 &DSMAC   SETC  '@@LAB@8'                                                 000000 
                                      13099 &DSSIZE  SETA  256                                                       000000 
                                      13100 &MSIZE   SETA  @@LAB@8L                                                  000000 
                                      13101          AIF   (&DSSIZE GE &MSIZE).@@OK@8                                000000 
                                      13102 .@@OK@8  ANOP                                                            000000 
    00564C                0564C 05748 13103          ORG   $STATIC+264                                               000000 
                          05748       13104 @@LAB@9  EQU   *                                                         000000 
                                      13105          MODESET KEY=NZERO,MODE=PROB,MF=L                                000000 
                                      13106+* MACDATE Y-3 81030                                                @D1A         
    005748                            13108+         DS    0F                                                       01-MODES
    005748 00000024                   13109+         DC    B'00000000000000000000000000100100'                      01-MODES
                          00004       13110 @@LAB@9L EQU   *-@@LAB@9                                                 000000 
                                      13111 &DSMAC   SETC  '@@LAB@9'                                                 000000 
                                      13112 &DSSIZE  SETA  256                                                       000000 
                                      13113 &MSIZE   SETA  @@LAB@9L                                                  000000 
                                      13114          AIF   (&DSSIZE GE &MSIZE).@@OK@9                                000000 ​



    Does anyone have any insight as to why this occurring? Is there any further data I could provide?

    ------------------------------
    Nancy Kilroy
    ------------------------------


  • 3.  RE: ASMA032E errors starting at label $STATIC when assembling the BAL code produced by Metal C.

    Posted 04/09/20 05:58 AM
    This group obviously filters email addresses, to another try:

    <quote>
    When I subscribed last year I didn't code any firstname or lastname, but
    the response email indicated my name which it must have grabbed from my
    "From" address.  Here's the source of my request, if that helps at all.

     From - Sat Sep 13 23:32:27 2014
    X-Mozilla-Status: 0001
    X-Mozilla-Status2: 00800000
    Date: Sat, 13 Sep 2014 23:32:24 -0700
    </quote>

    Posting address is <IBM_MAIN(A)LISTSERV(D)UA(D)EDU>


    --
    Robert AH Prins
    robert(a)prino(d)org


    ------Original Message------

    Nancy,

    You're likely to get far more answers by posting questions like this to the ibm-main mailing list. Here's an example of a mail someone iused:

    <quote>
    When I subscribed last year I didn't code any firstname or lastname, but
    the response email indicated my name which it must have grabbed from my
    "From" address.  Here's the source of my request, if that helps at all.

     From - Sat Sep 13 23:32:27 2014
    X-Mozilla-Status: 0001
    X-Mozilla-Status2: 00800000
    Date: Sat, 13 Sep 2014 23:32:24 -0700
    </quote>

    Posting address is <IBM-MAIN@listserv.ua.edu>

    Robert


    --
    Robert AH Prins
    robert(a)prino(d)org




  • 4.  RE: ASMA032E errors starting at label $STATIC when assembling the BAL code produced by Metal C.

    Posted 04/15/20 03:38 PM
    Thanks for your reply Robert!  I will consider your suggestion.  Right now I have a workaround.  I sent an update to this discussion, although I don't see it posted yet.

    ------------------------------
    Nancy Kilroy
    ------------------------------



  • 5.  RE: ASMA032E errors starting at label $STATIC when assembling the BAL code produced by Metal C.

    Posted 04/15/20 03:38 PM
    Hi,
    In the meantime, we've discovered another wrinkle. 
    It turns out that the error occurs when the following code is present in the C source
    -- prolog code which includes the ESTAEX macro and the generation of a DSECT
    -- inclusion of the __func__ c macro in the code.

    Removing either one results in a good assembly.

    Also, interestingly, if I replace __func__ with __FUNCTION__ everything  compiles/assembles properly too.


    ------------------------------
    Nancy Kilroy
    ------------------------------



  • 6.  RE: ASMA032E errors starting at label $STATIC when assembling the BAL code produced by Metal C.

    Posted 05/04/20 05:29 PM
    Hi Nancy,

    __func__ is a C99 standard feature so it is not visible unless you use -qlanglvl=stdc99 or -qlanglvl=extc99. Take a look at Examples of predefined macros for more information about the function macros.

    Milos

    ------------------------------
    Milos Lalovic
    ------------------------------