Re: XL C\C++ COMPILE PRELINK and LINK

2019-07-07 Thread Joseph Reichman
Thanks 




> On Jul 7, 2019, at 5:42 PM, Don Poitras  wrote:
> 
> LP64 requires XPLINK. XPLINK cannot run from a PDS. I've never used the
> Debug Tool, so I can't address that. For 64-bit DLL (and main), set the
> entry point to be CELQSTRT.
> 
> In article <006401d53506$febc0af0$fc3420d0$@gmail.com> you wrote:
>> HI
> 
>> 
> 
>> I am getting the following message my source is a simple program that just
>> open a dataset. In addition since I would like to debug this from TSO I was
>> wondering if I could use __ceetest() in the code to invoke Debug tool
> 
>> 
> 
>> Here is my source
> 
>> 
> 
>> #include   
> 
>> #include  
> 
>> #pragma export(openadata)   
> 
>> #pragma csect(STATIC,"TESTDLL")
> 
>> void openadata(char *filename)  
> 
>> {   
> 
>>  FILE *fp = fopen("DD:TESTDD","r");   
> 
>> }   
> 
>> 
> 
>> Here are my compiler options
> 
>> 
> 
>> 
> 
>> SET CPARM='NOOPTIMIZE,SSCOM,LIST,SOURCE,LONGNAME,RENT,DLL(NOCBA),LP  
> 
>>64,DEBUG(FORMAT(DWARF),LEVEL(9),SYMBOL)'  
> 
>> 
> 
>> Linker option
> 
>> 
> 
>> LPARM='AMODE=64'
> 
>> 
> 
>> 
> 
>> IEW2677S 5130 A VALID ENTRY POINT COULD NOT BE DETERMINED.   
> 
>> IEW2230S 0414 MODULE HAS NO TEXT.
> 
>> IEW2677S 5130 A VALID ENTRY POINT COULD NOT BE DETERMINED.   
> 
>> 
> 
>> 
> 
>> I am using compile prelink and link because I would like the DLL to be in a
>> PDS
> 
>> 
> 
>> Below Is my JCL
> 
>> //*---  
> 
>> //*  COMPILE STEP:  
> 
>> //*---  
> 
>> //COMPILE EXEC PGM=CCNDRVR, 
> 
>> //PARM=('/'),COND=(8,LT) 
> 
>> //* 
> 
>> //* STEPLIB DD specifies the location of the compiler and runtime   
> 
>> //* libraries.  
> 
>> //* 
> 
>> //STEPLIB  DD  DSN=CEE.SCEERUN2,DISP=SHR
> 
>> // DD  DSN=CEE.SCEERUN,DISP=SHR 
> 
>> // DD  DSN=CBC.SCCNCMP,DISP=SHR 
> 
>> //* 
> 
>> //* SYSLIB DD specifies the location of the IBM-supplied C header   
> 
>> //* (hwthic).   
> 
>> //* 
> 
>> //SYSLIB   DD  DSN=SYS1.SIEAHDRV.H,DISP=SHR@01C 
> 
>> // DD  DSN=CEE.SCEEH.H,DISP=SHR 
> 
>> //*
> 
>> //SYSINDD  DSN=IBMUSER.TEST.SOURCE(TESTDLL),DISP=SHR  
> 
>> //*
> 
>> //* SYSLIN DD specifies the output location of the object module   
> 
>> //* generated by the compile step. 
> 
>> //*
> 
>> //SYSLIN   DD  DSN=&,UNIT=, 
> 
>> // DISP=(MOD,PASS),SPACE=(TRK,(3,3)),  
> 
>> // DCB=(RECFM=FB,LRECL=80,BLKSIZE=)
> 
>> //SYSPRINT DD  SYSOUT=*
> 
>> //SYSCPRT  DD  DSN=IBMUSER.TEST.SYSPRINT(TESTDLL),DISP=SHR
> 
>> //*
> 
>> //*-   
> 
>> //* PRE-LINKEDIT STEP: 
> 
>> //*-   
> 
>> //PLKED EXEC PGM=EDCPRLK,  
> 
>> //PARM='',COND=(4,LT,COMPILE)
> 
>> //STEPLIB  DD  DSN=CEE.SCEERUN2,DISP=SHR   
> 
>> // DD  DSN=CEE.SCEERUN,DISP=SHR
> 
>> //SYSMSGS  DD  DSN=CEE.SCEEMSGP(),DISP=SHR   
> 
>> //SYSLIB   DD  DSN=CEE.SCEEOBJ,DISP=SHR
> 
>> // DD  DSN=CEE.SCEECPP,DISP=SHR
> 
>> // DD  DSN=CEE.SCEERUN,DISP=SHR
> 
>> // DD  DSN=CEE.SCEERUN2,DISP=SHR   
> 
>> //*
> 
>> //* SYSIN DD specifies the object module generated by the compile  
> 
>> //* 

Re: XL C\C++ COMPILE PRELINK and LINK

2019-07-07 Thread Don Poitras
LP64 requires XPLINK. XPLINK cannot run from a PDS. I've never used the
Debug Tool, so I can't address that. For 64-bit DLL (and main), set the
entry point to be CELQSTRT.

In article <006401d53506$febc0af0$fc3420d0$@gmail.com> you wrote:
> HI

>  

> I am getting the following message my source is a simple program that just
> open a dataset. In addition since I would like to debug this from TSO I was
> wondering if I could use __ceetest() in the code to invoke Debug tool

>  

> Here is my source

>  

> #include   

>  #include  

>  #pragma export(openadata)   

>  #pragma csect(STATIC,"TESTDLL")

>  void openadata(char *filename)  

>  {   

>   FILE *fp = fopen("DD:TESTDD","r");   

>  }   

>  

> Here are my compiler options

>  

>  

> SET CPARM='NOOPTIMIZE,SSCOM,LIST,SOURCE,LONGNAME,RENT,DLL(NOCBA),LP  

> 64,DEBUG(FORMAT(DWARF),LEVEL(9),SYMBOL)'  

>  

> Linker option

> 

>  LPARM='AMODE=64'

>  

>  

> IEW2677S 5130 A VALID ENTRY POINT COULD NOT BE DETERMINED.   

> IEW2230S 0414 MODULE HAS NO TEXT.

> IEW2677S 5130 A VALID ENTRY POINT COULD NOT BE DETERMINED.   

>  

>  

> I am using compile prelink and link because I would like the DLL to be in a
> PDS

>  

> Below Is my JCL

> //*---  

>  //*  COMPILE STEP:  

>  //*---  

>  //COMPILE EXEC PGM=CCNDRVR, 

>  //PARM=('/'),COND=(8,LT) 

>  //* 

>  //* STEPLIB DD specifies the location of the compiler and runtime   

>  //* libraries.  

>  //* 

>  //STEPLIB  DD  DSN=CEE.SCEERUN2,DISP=SHR

>  // DD  DSN=CEE.SCEERUN,DISP=SHR 

>  // DD  DSN=CBC.SCCNCMP,DISP=SHR 

>  //* 

>  //* SYSLIB DD specifies the location of the IBM-supplied C header   

>  //* (hwthic).   

>  //* 

>  //SYSLIB   DD  DSN=SYS1.SIEAHDRV.H,DISP=SHR@01C 

>  // DD  DSN=CEE.SCEEH.H,DISP=SHR 

>  //*

>  //SYSINDD  DSN=IBMUSER.TEST.SOURCE(TESTDLL),DISP=SHR  

>  //*

>  //* SYSLIN DD specifies the output location of the object module   

>  //* generated by the compile step. 

>  //*

>  //SYSLIN   DD  DSN=&,UNIT=, 

>  // DISP=(MOD,PASS),SPACE=(TRK,(3,3)),  

>  // DCB=(RECFM=FB,LRECL=80,BLKSIZE=)

>  //SYSPRINT DD  SYSOUT=*

>  //SYSCPRT  DD  DSN=IBMUSER.TEST.SYSPRINT(TESTDLL),DISP=SHR

>  //*

>  //*-   

>  //* PRE-LINKEDIT STEP: 

>  //*-   

>  //PLKED EXEC PGM=EDCPRLK,  

>  //PARM='',COND=(4,LT,COMPILE)

> //STEPLIB  DD  DSN=CEE.SCEERUN2,DISP=SHR   

> // DD  DSN=CEE.SCEERUN,DISP=SHR

> //SYSMSGS  DD  DSN=CEE.SCEEMSGP(),DISP=SHR   

> //SYSLIB   DD  DSN=CEE.SCEEOBJ,DISP=SHR

> // DD  DSN=CEE.SCEECPP,DISP=SHR

> // DD  DSN=CEE.SCEERUN,DISP=SHR

> // DD  DSN=CEE.SCEERUN2,DISP=SHR   

> //*

> //* SYSIN DD specifies the object module generated by the compile  

> //* step as input to the prelinker.

> //*

> //SYSINDD  DSN=*.COMPILE.SYSLIN,DISP=(MOD,DELETE)  

> // DD  

XL C\C++ COMPILE PRELINK and LINK

2019-07-07 Thread Joseph Reichman
HI

 

I am getting the following message my source is a simple program that just
open a dataset. In addition since I would like to debug this from TSO I was
wondering if I could use __ceetest() in the code to invoke Debug tool

 

Here is my source

 

#include   

 #include  

 #pragma export(openadata)   

 #pragma csect(STATIC,"TESTDLL")

 void openadata(char *filename)  

 {   

  FILE *fp = fopen("DD:TESTDD","r");   

 }   

 

Here are my compiler options

 

 

SET CPARM='NOOPTIMIZE,SSCOM,LIST,SOURCE,LONGNAME,RENT,DLL(NOCBA),LP  

64,DEBUG(FORMAT(DWARF),LEVEL(9),SYMBOL)'  

 

Linker option



 LPARM='AMODE=64'

 

 

IEW2677S 5130 A VALID ENTRY POINT COULD NOT BE DETERMINED.   

IEW2230S 0414 MODULE HAS NO TEXT.

IEW2677S 5130 A VALID ENTRY POINT COULD NOT BE DETERMINED.   

 

 

I am using compile prelink and link because I would like the DLL to be in a
PDS

 

Below Is my JCL

//*---  

 //*  COMPILE STEP:  

 //*---  

 //COMPILE EXEC PGM=CCNDRVR, 

 //PARM=('/'),COND=(8,LT) 

 //* 

 //* STEPLIB DD specifies the location of the compiler and runtime   

 //* libraries.  

 //* 

 //STEPLIB  DD  DSN=CEE.SCEERUN2,DISP=SHR

 // DD  DSN=CEE.SCEERUN,DISP=SHR 

 // DD  DSN=CBC.SCCNCMP,DISP=SHR 

 //* 

 //* SYSLIB DD specifies the location of the IBM-supplied C header   

 //* (hwthic).   

 //* 

 //SYSLIB   DD  DSN=SYS1.SIEAHDRV.H,DISP=SHR@01C 

 // DD  DSN=CEE.SCEEH.H,DISP=SHR 

 //*

 //SYSINDD  DSN=IBMUSER.TEST.SOURCE(TESTDLL),DISP=SHR  

 //*

 //* SYSLIN DD specifies the output location of the object module   

 //* generated by the compile step. 

 //*

 //SYSLIN   DD  DSN=&,UNIT=, 

 // DISP=(MOD,PASS),SPACE=(TRK,(3,3)),  

 // DCB=(RECFM=FB,LRECL=80,BLKSIZE=)

 //SYSPRINT DD  SYSOUT=*

 //SYSCPRT  DD  DSN=IBMUSER.TEST.SYSPRINT(TESTDLL),DISP=SHR

 //*

 //*-   

 //* PRE-LINKEDIT STEP: 

 //*-   

 //PLKED EXEC PGM=EDCPRLK,  

 //PARM='',COND=(4,LT,COMPILE)

//STEPLIB  DD  DSN=CEE.SCEERUN2,DISP=SHR   

// DD  DSN=CEE.SCEERUN,DISP=SHR

//SYSMSGS  DD  DSN=CEE.SCEEMSGP(),DISP=SHR   

//SYSLIB   DD  DSN=CEE.SCEEOBJ,DISP=SHR

// DD  DSN=CEE.SCEECPP,DISP=SHR

// DD  DSN=CEE.SCEERUN,DISP=SHR

// DD  DSN=CEE.SCEERUN2,DISP=SHR   

//*

//* SYSIN DD specifies the object module generated by the compile  

//* step as input to the prelinker.

//*

//SYSINDD  DSN=*.COMPILE.SYSLIN,DISP=(MOD,DELETE)  

// DD  DSN=CBC.SCLBSID(IOSTREAM),DISP=SHR  

//*

//* SYSMOD DD specifies the output dataset to contain the prelinked

//* object module generated by the prelinker.  

//*

//SYSMOD   DD  DSN=&,UNIT=,DISP=(NEW,PASS),  

//