View previous topic :: View next topic |
Author |
Message |
issac1029 Intermediate
Joined: 10 Dec 2005 Posts: 159 Topics: 75
|
Posted: Mon Mar 20, 2006 4:15 am Post subject: about amode error |
|
|
Quote: | EDC5052S The application is running with AMODE=24 while the run-time
library was installed above the line.
Explanation: The application which is accessing the run-time library is
running with AMODE=24. But the run-time library was installed above the
16MB line, which the application cannot address.
Programmer Response: Ensure the AMODE of the application matches that of
the run-time library. Language Environment no longer supports C
applications in AMODE=24. Relink the application to have AMODE=31.
System Action: Application is terminated with 3000 abend.
Symbolic Feedback Code: EDC4TS |
Must loadlib be create with a amode? How to ensure a job run at proper run-time library ? I compile the pgm with link-edit (amod=24,rmode=24) |
|
Back to top |
|
|
issac1029 Intermediate
Joined: 10 Dec 2005 Posts: 159 Topics: 75
|
Posted: Mon Mar 20, 2006 4:41 am Post subject: |
|
|
I've resolve by recompile it with link-edit amode=31,
my jcl:
//RUNTEST EXEC PGM=TEST11,PARM=('1234 ','56789')
//STEPLIB DD DSN=STOZ.MSI.LOD,DISP=SHR
//SYSTSPRT DD SYSOUT=*
//SYSPRINT DD SYSOUT=*
//SYSUDUMP DD SYSOUT=*
//SYSOUT DD SYSOUT=*
If I use parm passing data to pgm,I must link-edit amod=31?I guess use parm pass data cause some assmble pgm which must be link-edit with option amod=31,am I right about that? If so,can I find some information about which module require amod31 in 'M O D U L E M A P'?Thanks! |
|
Back to top |
|
|
Cogito-Ergo-Sum Advanced
Joined: 15 Dec 2002 Posts: 637 Topics: 43 Location: Bengaluru, INDIA
|
Posted: Wed Mar 22, 2006 3:44 am Post subject: |
|
|
We will take the PARM part later. Try running your link-edit step with PARM=('AMODE(31),RMODE(ANY)')
BTW, are you running a C program ? See, if there is an option to provide a compile parameter equivalent to DATA(31) compile-option of COBOL ? _________________ ALL opinions are welcome.
Debugging tip:
When you have eliminated all which is impossible, then whatever remains, however improbable, must be the truth.
-- Sherlock Holmes. |
|
Back to top |
|
|
issac1029 Intermediate
Joined: 10 Dec 2005 Posts: 159 Topics: 75
|
Posted: Wed Mar 22, 2006 7:16 am Post subject: |
|
|
Cogito-Ergo-Sum,
Thanks
It's a cobol pgm,amode(31) can solve the problem.Only have a linkage definition,and a DISPLAY in procedure DIVISION.
I just want to know why I must LE with amode(31)?Thanks |
|
Back to top |
|
|
Cogito-Ergo-Sum Advanced
Joined: 15 Dec 2002 Posts: 637 Topics: 43 Location: Bengaluru, INDIA
|
Posted: Wed Mar 22, 2006 8:10 am Post subject: |
|
|
Run your COBOL progarm with PARM as Code: | PARM='/RPTOPTS(ON)' | Search for ALL31 in the SYSOUT listing. Please tell us what value it is set to. _________________ ALL opinions are welcome.
Debugging tip:
When you have eliminated all which is impossible, then whatever remains, however improbable, must be the truth.
-- Sherlock Holmes. |
|
Back to top |
|
|
issac1029 Intermediate
Joined: 10 Dec 2005 Posts: 159 Topics: 75
|
Posted: Thu Mar 23, 2006 2:41 am Post subject: |
|
|
NOAIXBLD
ALL31(OFF)
ANYHEAP(32768,16384,ANYWHERE,FREE)
How to analyse those information?pls give me a link to study it,thanks~ |
|
Back to top |
|
|
issac1029 Intermediate
Joined: 10 Dec 2005 Posts: 159 Topics: 75
|
Posted: Thu Mar 23, 2006 2:42 am Post subject: |
|
|
OPTION
---------------------------------------
ABPERC(NONE)
ABTERMENC(ABEND)
NOAIXBLD
ALL31(OFF)
ANYHEAP(32768,16384,ANYWHERE,FREE)
NOAUTOTASK
BELOWHEAP(32768,16384,FREE)
CBLOPTS(ON)
CBLPSHPOP(ON)
CBLQDA(OFF)
CHECK(ON)
COUNTRY(US)
DEBUG |
|
Back to top |
|
|
issac1029 Intermediate
Joined: 10 Dec 2005 Posts: 159 Topics: 75
|
Posted: Thu Mar 23, 2006 6:25 am Post subject: |
|
|
Cogito-Ergo-Sum,
I found there is a compile parameter DATA(31) compile-option of COBOL in my compile job.So that is the reason? |
|
Back to top |
|
|
kolusu Site Admin
Joined: 26 Nov 2002 Posts: 12375 Topics: 75 Location: San Jose
|
Posted: Thu Mar 23, 2006 6:31 am Post subject: |
|
|
Quote: |
Cogito-Ergo-Sum,
I found there is a compile parameter DATA(31) compile-option of COBOL in my compile job.So that is the reason?
|
yes it could be the reason and you can override that compile option with the following statement. Code this statement before the ID division
Hope this helps...
Cheers
Kolusu _________________ Kolusu
www.linkedin.com/in/kolusu |
|
Back to top |
|
|
Cogito-Ergo-Sum Advanced
Joined: 15 Dec 2002 Posts: 637 Topics: 43 Location: Bengaluru, INDIA
|
Posted: Thu Mar 23, 2006 6:34 am Post subject: |
|
|
issac1029,
My guess was, you had your program compiled with DATA(24) and LE option was set to ALL31(ON). But, it seems to be DATA(31) and ALL31(OFF) for you. In this case, I really do not know what is causing the problem. Sorry. _________________ ALL opinions are welcome.
Debugging tip:
When you have eliminated all which is impossible, then whatever remains, however improbable, must be the truth.
-- Sherlock Holmes. |
|
Back to top |
|
|
issac1029 Intermediate
Joined: 10 Dec 2005 Posts: 159 Topics: 75
|
Posted: Thu Mar 23, 2006 6:42 am Post subject: |
|
|
After I look up the ibmbook.I guess:If I compile with data,that means those dynamic dataarea can from both below or above the 16m lines.But I set amode=24 in link-edit,so those MODULES that belongs to LANGUAGE ENV are restricted to allocate the dynamic-dataarea because of the option of amode=24 .
Am I right?PLs verify about that,thanks. |
|
Back to top |
|
|
|
|