Example of an IPA link step listing

Figure 1 shows an example of an IPA link step listing.

Figure 1. Example of an IPA link step listing
15650-ZOS V2.1.1 z/OS XL C/C++ IPA                      DD:SYSIN                    07/17/2014 05:06:30   Page     1

                                      * * * * *   P R O L O G   * * * * *

  Compile Time Library . . . . : 42020000
  Command options:
     Primary input name. . . . : DD:SYSIN
     Compiler options. . . . . : *IPA(LINK,MAP,LEVEL(1),DUP,ER,NONCAL,NOUPCASE,NOPDF1,NOPDF2,NOPDFNAME,NOCONTROL) 
                               : *NOGONUMBER  *NOHOT       *NOALIAS     *TERMINAL    *LIST        *XREF        *ATTR  
                               : *NOOFFSET    *MEMORY      *NOCSECT     *NODFP       *LIBANSI     *FLAG(I)            
                               : *NOTEST(NOSYM,NOBLOCK,NOLINE,NOPATH,NOHOOK)         *OPTIMIZE(2)                     
                               : *INLINE(AUTO,REPORT,1000,8000)         *OPTFILE(DD:OPTIONS)      *NOSERVICE   *NOOE  
                               : *NOLOCALE    *HALT(16)    *NOGOFF      *NOSPLITLIST 
                               * * * * *   E N D   O F   P R O L O G   * * * * *

15650-ZOS V2.1.1 z/OS XL C/C++ IPA                      DD:SYSIN                    07/17/2014 05:06:30   Page     2

                             * * * * *   O B J E C T   F I L E   M A P   * * * * *

 *ORIGIN  IPA  FILE ID  FILE NAME
    P               1   //DD:SYSIN
    PI     Y        2   USERID1.IPA.OBJECT(HELLO1)
    PI     Y        3   USERID1.IPA.OBJECT(HELLO2)
    PI     Y        4   USERID1.IPA.OBJECT(HELLO3)
    L               5   CEE.SCEELKED(PRINTF)
    L               6   CEE.SCEELKED(CEESG003)

 ORIGIN:  P=primary input     PI=primary INCLUDE        SI=secondary INCLUDE   IN=internal
          A=automatic call     U=UPCASE automatic call   R=RENAME card          L=C Library

                      * * * * *   E N D   O F   O B J E C T   F I L E   M A P   * * * * *

15650-ZOS V2.1.1 z/OS XL C/C++ IPA                      DD:SYSIN                    07/17/2014 05:06:30   Page     3

                        * * * * *   C O M P I L E R   O P T I O N S   M A P   * * * * *

SOURCE FILE ID   COMPILE OPTIONS
            2    *AGGRCOPY(NOOVERLAP)      *NOALIAS     *ANSIALIAS   *ARCH(7)     *ARGPARSE    *NOASCII     *NOASM
                 *ASSERT(RESTRICT)         *NORESTRICT  *BITFIELD(UNSIGNED)       *CHARS(UNSIGNED)    *NOCOMPACT  
                 *NOCOMPRESS  *NOCONVLIT   *NOCSECT     *NODEBUG     *NODFP       *NODLL(NOCALLBACKANY)           
                 *ENUMSIZE(SMALL)          *EXECOPS     *NOEXPORTALL *FLOAT(HEX,FOLD,NOMAF,NORRM,AFP(NOVOLATILE)) 
                 *NOFUNCEVENT *NOGOFF      *NOGONUMBER  *NOHGPR      *NOHOT       *NOIGNERRNO  *ILP32 *NOINITAUTO 
                 *INLINE(AUTO,NOREPORT,100,1000)        *IPA(NOLINK,NOOBJ,COM,OPT,NOGONUM)     *LANGLVL(EXTENDED) 
                 *NOLIBANSI   *NOLOCALE    *LONGNAME    *MAXMEM(2097152)          *OPTIMIZE(2) *PLIST(HOST) *PREFETCH
                 *REDIR       *RENT        *NOROCONST   *ROUND(Z)    *ROSTRING    *NORTCHECK   *NOSERVICE   *NOSMP   
                 *SPILL(128)  *START       *STRICT      *NOSTRICT_INDUCTION       *TARGET(LE,zOSV2R1)       *THREADED
                 *TUNE(7)     *UNROLL(AUTO)             *NOUPCONV    *NOVECTOR    *NOWSIZEOF   *NOXPLINK             
                                                                                                                     
            3    *AGGRCOPY(NOOVERLAP)      *NOALIAS     *ANSIALIAS   *ARCH(7)     *ARGPARSE    *NOASCII    *NOASM    
                 *ASSERT(RESTRICT)         *NORESTRICT  *BITFIELD(UNSIGNED)       *CHARS(UNSIGNED)         *NOCOMPACT
                 *NOCOMPRESS  *NOCONVLIT   *NOCSECT     *NODEBUG     *NODFP       *NODLL(NOCALLBACKANY)              
                 *ENUMSIZE(SMALL)          *EXECOPS     *NOEXPORTALL *FLOAT(HEX,FOLD,NOMAF,NORRM,AFP(NOVOLATILE))    
                 *NOFUNCEVENT *NOGOFF      *NOGONUMBER  *NOHGPR      *NOHOT       *NOIGNERRNO  *ILP32     *NOINITAUTO
                 *INLINE(AUTO,NOREPORT,100,1000)        *IPA(NOLINK,NOOBJ,COM,OPT,NOGONUM)     *LANGLVL(EXTENDED)    
                 *NOLIBANSI   *NOLOCALE    *LONGNAME    *MAXMEM(2097152)          *OPTIMIZE(2) *PLIST(HOST) *PREFETCH
                 *REDIR       *RENT        *NOROCONST   *ROUND(Z)    *ROSTRING    *NORTCHECK   *NOSERVICE   *NOSMP   
                 *SPILL(128)  *START       *STRICT      *NOSTRICT_INDUCTION       *TARGET(LE,zOSV2R1)       *THREADED
                 *TUNE(7)     *UNROLL(AUTO)             *NOUPCONV    *NOVECTOR    *NOWSIZEOF   *NOXPLINK             
                                                                                                                     
            1    *AGGRCOPY(NOOVERLAP)      *NOALIAS     *ANSIALIAS   *ARCH(7)     *ARGPARSE    *NOASCII    *NOASM    
                 *ASSERT(RESTRICT)         *NORESTRICT  *BITFIELD(UNSIGNED)       *CHARS(UNSIGNED)         *NOCOMPACT
                 *NOCOMPRESS  *NOCONVLIT   *NOCSECT     *NODEBUG     *NODFP       *NODLL(NOCALLBACKANY)              
                 *ENUMSIZE(SMALL)          *EXECOPS     *NOEXPORTALL *FLOAT(HEX,FOLD,NOMAF,NORRM,AFP(NOVOLATILE))    
                 *NOFUNCEVENT *NOGOFF      *NOGONUMBER  *NOHGPR      *NOHOT       *NOIGNERRNO  *ILP32    *NOINITAUTO 
                 *INLINE(AUTO,NOREPORT,100,1000)        *IPA(NOLINK,NOOBJ,COM,OPT,NOGONUM)     *LANGLVL(EXTENDED)    
                 *NOLIBANSI   *NOLOCALE    *LONGNAME    *MAXMEM(2097152)          *OPTIMIZE(2) *PLIST(HOST) *PREFETCH
                 *REDIR       *RENT        *NOROCONST   *ROUND(Z)    *ROSTRING    *NORTCHECK   *NOSERVICE   *NOSMP   
                 *SPILL(128)  *START       *STRICT      *NOSTRICT_INDUCTION       *TARGET(LE,zOSV2R1)       *THREADED
                 *TUNE(7)     *UNROLL(AUTO)             *NOUPCONV    *NOVECTOR    *NOWSIZEOF   *NOXPLINK

                 * * * * *   E N D   O F   C O M P I L E R   O P T I O N S   M A P   * * * * *
15650-ZOS V2.1.1 z/OS XL C/C++ IPA                      DD:SYSIN                    07/17/2014 05:06:30   Page     4

                               * * * * *   I N L I N E   R E P O R T   * * * * *

                     IPA Inline Report (Summary)

  Reason:    P : #pragma noinline was specified for this routine
             F : #pragma inline was specified for this routine
             A : Automatic inlining
             C : Partition conflict
             N : Not IPA Object
             - : No reason
  Action:    I : Routine is inlined at least once
             L : Routine is initially too large to be inlined
             T : Routine expands too large to be inlined
             C : Candidate for inlining but not inlined
             N : No direct calls to routine are found in file (no action)
             U : Some calls not inlined due to recursion or parameter mismatch
             - : No action
  Status:    D : Internal routine is discarded
             R : A direct call remains to internal routine (cannot discard)
             A : Routine has its address taken (cannot discard)
             E : External routine (cannot discard)
             - : Status unchanged
  Calls/I      : Number of calls to defined routines / Number inline
  Called/I     : Number of times called / Number of times inlined

  Reason  Action  Status   Size (init)    Calls/I   Called/I     Name

     A      I       D      0 (40)           2/1       1/1        func2
     A      I       D      0 (32)           1/0       1/1        func3
     A      N       -      100 (28)         1/1       0          main
     N      -       E      0                0         2/0        PRINTF
  Mode = AUTO     Inlining Threshold =    1000    Expansion Limit =    8000

15650-ZOS V2.1.1 z/OS XL C/C++ IPA                      DD:SYSIN                    07/17/2014 05:06:30   Page     5

                     IPA Inline Report (Call Structure)

  Defined Subprogram    : main
      Calls To(1,1)     : func2(1,1)
   Called From          : 0

  Defined Subprogram    : func2
      Calls To(2,1)     : func3(1,1)
                          PRINTF(1,0)
   Called From(1,1)     : main(1,1)

  Defined Subprogram    : PRINTF
      Calls To          : 0
   Called From(2,0)     : func3(1,0)
                          func2(1,0)

  Defined Subprogram    : func3
      Calls To(1,0)     : PRINTF(1,0)
   Called From(1,1)     : func2(1,1)


                        * * * * *   E N D   O F   I N L I N E   R E P O R T   * * * * *
15650-ZOS V2.1.1 z/OS XL C/C++ IPA                      DD:SYSIN                    07/17/2014 05:06:30   Page     6

                               * * * * *   P A R T I T I O N   M A P   * * * * *

 PARTITION 1 OF 1

 PARTITION SIZE:
    Actual: 17300
     Limit: 1572864

 PARTITION CSECT NAMES:
      Code: none
    Static: none
      Test: none

 PARTITION DESCRIPTION:
    Primary partition

 COMPILER OPTIONS FOR PARTITION 1:                                                                                   
   *AGGRCOPY(NOOVERLAP)    *NOALIAS    *ARCH(7)    *ARGPARSE    *ATTR    *NOCOMPACT   *NOCOMPRESS  *NOCSECT    *NODLL
   *EXECOPS     *FLOAT(HEX,FOLD,AFP)   *NOGOFF     *NOGONUMBER  *NOIGNERRNO  *ILP32   *NOINITAUTO                    
   *INLINE(AUTO,REPORT,1000,8000)      *IPA(LINK)  *LIBANSI     *LIST        *NOLOCALE  *LONGNAME  *MAXMEM(2097152)  
   *OPTIMIZE(2) *PLIST(HOST) *PREFETCH *REDIR      *RENT        *NOROCONST   *SPILL(128)  *START   *STRICT           
   *NOSTRICT_INDUCTION       *NOTEST   *TUNE(7)    *NOXPLINK    *XREF

 SYMBOLS IN PARTITION 1:

  *TYPE     FILE ID    SYMBOL
     F           2     main

   TYPE:  F=function     D=data

 SOURCE FILES FOR PARTITION 1:

  *ORIGIN     FILE ID     SOURCE FILE NAME
      P            1      //'USERID1.IPA.SOURCE(HELLO3)'
      P            2      //'USERID1.IPA.SOURCE(HELLO1)'
      P            3      //'USERID1.IPA.SOURCE(HELLO2)'

  ORIGIN:  P=primary input     PI=primary INCLUDE


                        * * * * *   E N D   O F   P A R T I T I O N   M A P   * * * * *
15650-ZOS V2.1.1 z/OS XL C/C++ IPA                      DD:SYSIN                    07/17/2014 05:06:30   Page     7

 OFFSET OBJECT CODE        LINE#  FILE#    P S E U D O   A S S E M B L Y   L I S T I N G

                           Timestamp and Version Information
 000000  F2F0  F1F4                                          =C'2014'           Compiled Year                        
 000004  F0F7  F1F7                                          =C'0717'           Compiled Date MMDD                   
 000008  F0F5  F0F6  F2F5                                    =C'050625'         Compiled Time HHMMSS                 
 00000E  F0F2  F0F1  F0F1                                    =C'020101'         Compiler Version                     
                                                                                                                     
 000014  008E  ****                                          AL2(142),C'...'    Saved Options String

                           Timestamp and Version End

15650-ZOS V2.1.1 z/OS XL C/C++ IPA                      DD:SYSIN                    07/17/2014 05:06:30   Page     8

 OFFSET OBJECT CODE        LINE#  FILE#    P S E U D O   A S S E M B L Y   L I S T I N G

 0000A8                    000010 |    2   main     DS       0D
 0000A8  47F0  F024        000010 |    2            B        36(,r15)
 0000AC  01C3C5C5                                            CEE eyecatcher
 0000B0  000000A8                                            DSA size
 0000B4  000000F8                                            =A(PPA1-main)
 0000B8  47F0  F001        000010 |    2            B        1(,r15)
 0000BC  58F0  C31C        000010 |    2            L        r15,796(,r12)
 0000C0  184E              000010 |    2            LR       r4,r14
 0000C2  05EF              000010 |    2            BALR     r14,r15
 0000C4  00000000                                            =F'0'
 0000C8  A7F4  000C        000010 |    2            J        *+24
 0000CC  90E6  D00C        000010 |    2            STM      r14,r6,12(r13)
 0000D0  58E0  D04C        000010 |    2            L        r14,76(,r13)
 0000D4  4100  E0A8        000010 |    2            LA       r0,168(,r14)
 0000D8  5500  C314        000010 |    2            CL       r0,788(,r12)
 0000DC  A724  FFF0        000010 |    2            JH       *-32
 0000E0  58F0  C280        000010 |    2            L        r15,640(,r12)
 0000E4  90F0  E048        000010 |    2            STM      r15,r0,72(r14)
 0000E8  9210  E000        000010 |    2            MVI      0(r14),16
 0000EC  50D0  E004        000010 |    2            ST       r13,4(,r14)
 0000F0  18DE              000010 |    2            LR       r13,r14
 0000F2  C030  0000  0041  000010 |    2            LARL     r3,F'65'
 0000F8                    End of Prolog

 0000F8  5820  C1F4        000000 |                 L        r2,_CEECAA_(,r12,500)
 0000FC  5840  3000        000012 |    2            L        r4,=Q(@STATIC)(,r3,0)
 000100  C050  0000  0040  000000 |                 LARL     r5,F'64'
 000106  58F0  3004        000013 |    3  +         L        r15,=V(printf)(,r3,4)
 00010A  5804  2000        000012 |    2            L        r0,seen_main(r4,r2,0)
 00010E  5864  2008        000011 |    3  +         L        r6,seen_func2(r4,r2,8)
 000112  58E4  2004        000013 |    2            L        r14,string1(r4,r2,4)
 000116  5E00  5018        000012 |    2            AL       r0,+CONSTANT_AREA(,r5,24)
 00011A  50E0  D09C        000013 |    3  +         ST       r14,#MX_TEMP1(,r13,156)
 00011E  5004  2000        000012 |    2            ST       r0,seen_main(r4,r2,0)
 000122  4110  500F        000013 |    3  +         LA       r1,+CONSTANT_AREA(,r5,15)
 000126  5E60  5018        000011 |    3  +         AL       r6,+CONSTANT_AREA(,r5,24)
 00012A  5010  D098        000013 |    3  +         ST       r1,#MX_TEMP1(,r13,152)
 00012E  5064  2008        000011 |    3  +         ST       r6,seen_func2(r4,r2,8)
 000132  4110  D098        000013 |    3  +         LA       r1,#MX_TEMP1(,r13,152)
 000136  0DEF              000013 |    3  +         BASR     r14,r15
 000138  5814  200C        000013 |    3  +         L        r1,string2(r4,r2,12)
 00013C  5804  2010        000015 |    1  +         L        r0,seen_func3(r4,r2,16)
 000140  5010  D09C        000017 |    1  +         ST       r1,#MX_TEMP1(,r13,156)
 000144  A70A  0001        000015 |    1  +         AHI      r0,H'1'
 000148  41E0  5013        000017 |    1  +         LA       r14,+CONSTANT_AREA(,r5,19)
 00014C  50E0  D098        000017 |    1  +         ST       r14,#MX_TEMP1(,r13,152)
 000150  58F0  3004        000017 |    1  +         L        r15,=V(printf)(,r3,4)
 000154  5004  2010        000015 |    1  +         ST       r0,seen_func3(r4,r2,16)
 000158  4110  D098        000017 |    1  +         LA       r1,#MX_TEMP1(,r13,152)
 00015C  0DEF              000017 |    1  +         BASR     r14,r15
 00015E  41F0  0000        000015 |    2            LA       r15,0
 000162                    000015 |    2   @1L3     DS       0H

 000162                    Start of Epilog
 000162  180D              000016 |    2            LR       r0,r13
 000164  58D0  D004        000016 |    2            L        r13,4(,r13)
15650-ZOS V2.1.1 z/OS XL C/C++ IPA                      DD:SYSIN                    07/17/2014 05:06:30   Page     9

 OFFSET OBJECT CODE        LINE#  FILE#    P S E U D O   A S S E M B L Y   L I S T I N G

 000168  58E0  D00C        000016 |    2            L        r14,12(,r13)
 00016C  9826  D01C        000016 |    2            LM       r2,r6,28(r13)
 000170  051E              000016 |    2            BALR     r1,r14
 000172  0707              000016 |    2            NOPR     7

 000174                    Start of Literals
 000174  00000000                                            =Q(@STATIC)
 000178  00000000                                            =V(printf)
 00017C                    End of Literals

                           ***   General purpose registers used: 1111111000001111
                           ***   Floating point  registers used: 1111111100000000
                           ***   Size of register spill area: 128(max) 0(used)
                           ***   Size of dynamic storage: 168
                           ***   Size of executable code: 204

 00017C  0000  0000

                           Constant Area
 000180  C8859393 96000000 A6969993 845A006C    |Hello...world!.%|
 000190  A240006C A21500C9 00000001             |s .%s..I....    |

15650-ZOS V2.1.1 z/OS XL C/C++ IPA                      DD:SYSIN                    07/17/2014 05:06:30   Page    10

 OFFSET OBJECT CODE        LINE#  FILE#    P S E U D O   A S S E M B L Y   L I S T I N G

                           PPA1: Entry Point Constants
 0001A0  1CCEA106                                            =F'483303686'      Flags
 0001A4  00000138                                            =A(PPA2-main)
 0001A8  00000000                                            =F'0'              No PPA3
 0001AC  00000000                                            =F'0'              No EPD
 0001B0  FF800000                                            =F'-8388608'       Register save mask
 0001B4  00000000                                            =F'0'              Member flags
 0001B8  90                                                  =AL1(144)          Flags
 0001B9  000000                                              =AL3(0)            Callee's DSA use/8
 0001BC  0040                                                =H'64'             Flags
 0001BE  0012                                                =H'18'             Offset/2 to CDL
 0001C0  00000000                                            =F'0'              Reserved
 0001C4  50000066                                            =F'1342177382'     CDL function length/2
 0001C8  FFFFFF08                                            =F'-248'           CDL function EP offset
 0001CC  38280000                                            =F'942145536'      CDL prolog
 0001D0  4009005D                                            =F'1074331741'     CDL epilog
 0001D4  00000000                                            =F'0'              CDL end
 0001D8  0004  ****                                          AL2(4),C'main'
                           PPA1 End

                           PPA2: Compile Unit Block
 0001E0  0300  2203                                          =F'50340355'       Flags
 0001E4  FFFF  FE20                                          =A(CEESTART-PPA2)
 0001E8  0000  0000                                          =F'0'              No PPA4
 0001EC  FFFF  FE20                                          =A(TIMESTMP-PPA2)
 0001F0  0000  0000                                          =F'0'              No primary
 0001F4  0200  0000                                          =F'33554432'       Flags
                           PPA2 End
15650-ZOS V2.1.1 z/OS XL C/C++ IPA                      DD:SYSIN                    07/17/2014 05:06:30   Page    11

                                   E X T E R N A L   S Y M B O L   D I C T I O N A R Y

                       TYPE  ID  ADDR    LENGTH            NAME

                        SD    1 000000   0001F8            @STATICP
                        PR    2 000000   000014            @STATIC
                        LD    0 0000A8   000001            main
                        ER    3 000000                     CEESG003
                        ER    4 000000                     PRINTF
                        ER    5 000000                     CEESTART
                        SD    6 000000   000008            @@PPA2
                        SD    7 000000   00000C            CEEMAIN
                        ER    8 000000                     EDCINPL

15650-ZOS V2.1.1 z/OS XL C/C++ IPA                      DD:SYSIN                    07/17/2014 05:06:30   Page    12

                             E X T E R N A L   S Y M B O L   C R O S S   R E F E R E N C E

           ORIGINAL NAME                                   EXTERNAL SYMBOL NAME

           @STATICP                                        @STATICP
           @STATIC                                         @STATIC
           main                                            main
           CEESG003                                        CEESG003
           printf                                          PRINTF
           CEESTART                                        CEESTART
           @@PPA2                                          @@PPA2
           CEEMAIN                                         CEEMAIN
           EDCINPL                                         EDCINPL

15650-ZOS V2.1.1 z/OS XL C/C++ IPA                      DD:SYSIN                    07/17/2014 05:06:30   Page    13

                                            * * * * *   S T A T I C     M A P   * * * * *

 OFFSET (HEX)   LENGTH (HEX)   NAME

           0             14    $COAL1

                                   * * * * *   E N D     O F     S T A T I C     M A P   * * * * *
15650-ZOS V2.1.1 z/OS XL C/C++ IPA                      DD:SYSIN                    07/17/2014 05:06:30   Page    14

                             * * * * *   S O U R C E   F I L E   M A P   * * * * *

             OBJECT      SOURCE
  *ORIGIN   FILE ID     FILE ID     SOURCE FILE NAME
      P          4           1      //'USERID1.IPA.SOURCE(HELLO3)'
                                      - Compiled by 5650ZOS V2 R1 z/OS C
                                                 on 03/13/2013 22:19:40
      P          2           2      //'USERID1.IPA.SOURCE(HELLO1)'
                                      - Compiled by 5650ZOS V2 R1 z/OS C
                                                 on 03/13/2013 22:19:37
      P          3           3      //'USERID1.IPA.SOURCE(HELLO2)'
                                      - Compiled by 5650ZOS V2 R1 z/OS C
                                                 on 03/13/2013 22:19:39


  ORIGIN:  P=primary input     PI=primary INCLUDE

                      * * * * *   E N D   O F   S O U R C E   F I L E   M A P   * * * * *

15650-ZOS V2.1.1 z/OS XL C/C++ IPA                      DD:SYSIN                    07/17/2014 05:06:30   Page    15

                                    * * * * *   M E S S A G E S   * * * * *

  MESSAGE CODE   PAGE   MESSAGE TEXT

                             * * * * *   E N D   O F   M E S S A G E S   * * * * *

15650-ZOS V2.1.1 z/OS XL C/C++ IPA                      DD:SYSIN                    07/17/2014 05:06:30   Page    16

                             * * * * *   M E S S A G E   S U M M A R Y   * * * * *

 TOTAL   UNRECOVERABLE  SEVERE       ERROR     WARNING    INFORMATIONAL
                (U)       (S)         (E)        (W)          (I)
     0           0         0           0          0            0

                      * * * * *   E N D   O F   M E S S A G E   S U M M A R Y   * * * * *

                          * * * * *   E N D   O F   C O M P I L A T I O N   * * * * *