z/OS MVS Programming: Workload Management Services
Previous topic | Next topic | Contents | Index | Contact z/OS | Library | PDF


Binding an ARM-instrumented Application

z/OS MVS Programming: Workload Management Services
SC34-2663-00

Binding an ARM-instrumented Application

Using the Binder in BATCH

Figure 16 shows sample JCL that illustrates the required options to compile an ARM-instrumented 31-bit XPLINK application in MVS™ batch.

Figure 16. Sample JCL for Binding an ARM-instrumented Application in MVS Batch
//MYJOB     jobcard
//*
//          JCLLIB ORDER=CBC.SCCNPRC
//*
//BIND    EXEC CBCXB, Non-XPLINK: CBCB, 64BIT: CBCQB
//          BPARM='CALL,NOMAP,RENT,DYNAM=DLL',
//          OUTFILE='myloadlib,DISP=SHR',
//          INFILE='myobject(mymain)'
//BIND.ARMSIDE DD DISP=SHR,DSN=SYS1.SIEASID
//BIND.MYOBJ DD DISP=SHR,DSN=myobject
//SYSIN DD * INCLUDE MYOBJ(mymem2, ...)
  INCLUDE ARMSIDE(LARM43X)
  ENTRY CEESTART 64BIT: CELQSTRT
  NAME mymain(R)

For 31-bit non-XPLINK applications, use the procedure CBCB rather than CBCXB (line 5 in the example), and specify SIEASID member LARM431 rather than LARM43X (third line from the bottom in the example).

For 64-bit applications (compiled with compiler option LP64) use the procedure CBCQB rather than CBCXB (line 5 in the example), and specify SIEASID member LARM464 rather than LARM43X (third line from the bottom). In addition, specify an ENTRY point for the binder of CELQSTRT instead of CEESTART (second line from the bottom in the example).

Using the Binder under z/OS® UNIX System Services

Run the c89 / c++ command specifying the appropriate side-deck for the ARM DLL and the correct binder options. Table 16 shows sample commands for 31-bit and 64-bit environments.

Table 16. Sample Commands for Binding Applications
EnvironmentSample Command
31-bit XPLINK
c++ -o mymain -Wl,"DLL,XPLINK" mymain.o mymem2.o \
   /usr/lib/libarm4_3x.x
31-bit non-XPLINK
c++ -o mymain -Wl,"DLL" mymain.o mymem2.o \
   /usr/lib/libarm4_31.x
64-bit
c++ -o mymain -Wl,"LP64,DLL" mymain.o mymem2.o \
   /usr/lib/libarm4_64.x

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014