VA PL/I for OS/390: DLL questions 
Author Message
 VA PL/I for OS/390: DLL questions

(Cross-posted to comp.lang.pli and bit.listserv.ibm-main)

I am experimenting with the Visual Age PL/I for OS/390 compiler Version
V2.R2.06 on a OS/390 V2R8. I found several things that are not clearly
described in the manuals. Maybe some expert knows one or another answer?

1: Load a VA PL/I module from a LE conforming ASSEMBLER?

I can CEEFETCH and execute modules that are NOT compiled
OPTIONS(FETCHABLE). Executing a DLL results in a recursive error (abend
U4082). Is this a bug or a restriction?

2: Link two VA PL/I programs together?

I can PRELINK two VA PL/I object-modules together, but I cannot LINK
them together since their internal names are not the procedure names but

include the second module. Is there a possibility to name the CSECTs or
get the old names (***XXXX1 and ***XXXX2 for example)?

3. FETCH and/or DLL-Linkage?

I can only FETCH DLLs with names conforming to PL/I external names (7
bytes, uppercase). But I can resolve ALL (uppercase) names with the
Prelink utility. Is there any disadvantage if I use the Prelinker
instead of the FETCH?

4. Uppercase only?

I can CALL external names up to 100 characters long. But PL/I translates
them to uppercase. So I can can CALL a C-DLL with the name
'C_DLL_FUNCTION_1', but not a function 'c_dll_function_1'. Is there a
possibility like the 'PGMNAME(LONGMIXED)' option of COBOL?

Every answer or part of an answer is highly appreciated!

--
Daniel
------------------------------------------------------------
visit us at:
http://www.*-*-*.com/

Sent via Deja.com http://www.*-*-*.com/
Before you buy.



Mon, 28 Oct 2002 03:00:00 GMT  
 VA PL/I for OS/390: DLL questions
For 1 and 2, I'm going to have to refer you back to the guide, as it has the
best answer (for 1 you've half answerd your own question, for 2 it looks
like you're trying to link two options(main) routines).

For 3. FETCH is for dynamic (run-time) linking, prelink is for static (i.e.
link-time) linking. Hence it's not a question of disadvantage, it's a
question of what you're doing.

For 4. The external option on the "blah: proc" declaration allows you to
specify lower case chars. The default if you omit the external option is the
internal name, which in PL/I is always upper case.

--
Regards, Mark Yudkin, Yudkin Consulting AG, Authors of Cogent/SQL for MVS,
OS/2 and Windows NT.
The simplest way to publish live data on the World Wide Web.


Quote:
> (Cross-posted to comp.lang.pli and bit.listserv.ibm-main)

> I am experimenting with the Visual Age PL/I for OS/390 compiler Version
> V2.R2.06 on a OS/390 V2R8. I found several things that are not clearly
> described in the manuals. Maybe some expert knows one or another answer?

> 1: Load a VA PL/I module from a LE conforming ASSEMBLER?

> I can CEEFETCH and execute modules that are NOT compiled
> OPTIONS(FETCHABLE). Executing a DLL results in a recursive error (abend
> U4082). Is this a bug or a restriction?

> 2: Link two VA PL/I programs together?

> I can PRELINK two VA PL/I object-modules together, but I cannot LINK
> them together since their internal names are not the procedure names but

> include the second module. Is there a possibility to name the CSECTs or
> get the old names (***XXXX1 and ***XXXX2 for example)?

> 3. FETCH and/or DLL-Linkage?

> I can only FETCH DLLs with names conforming to PL/I external names (7
> bytes, uppercase). But I can resolve ALL (uppercase) names with the
> Prelink utility. Is there any disadvantage if I use the Prelinker
> instead of the FETCH?

> 4. Uppercase only?

> I can CALL external names up to 100 characters long. But PL/I translates
> them to uppercase. So I can can CALL a C-DLL with the name
> 'C_DLL_FUNCTION_1', but not a function 'c_dll_function_1'. Is there a
> possibility like the 'PGMNAME(LONGMIXED)' option of COBOL?

> Every answer or part of an answer is highly appreciated!

> --
> Daniel
> ------------------------------------------------------------
> visit us at:
> http://www.winterthur.com

> Sent via Deja.com http://www.deja.com/
> Before you buy.



Tue, 29 Oct 2002 03:00:00 GMT  
 VA PL/I for OS/390: DLL questions


Quote:
> (Cross-posted to comp.lang.pli and bit.listserv.ibm-main)

> I am experimenting with the Visual Age PL/I for OS/390 compiler
Version
> V2.R2.06 on a OS/390 V2R8. I found several things that are not clearly
> described in the manuals. Maybe some expert knows one or another
answer?

> 2: Link two VA PL/I programs together?

> I can PRELINK two VA PL/I object-modules together, but I cannot LINK
> them together since their internal names are not the procedure names
but

> include the second module. Is there a possibility to name the CSECTs
or
> get the old names (***XXXX1 and ***XXXX2 for example)?

If you prelink two object modules together, then the output from the
prelinker should include both object modules (if they have been
prelinked correctly) and you should only need to pass that one output
object file into the binder.
If you are not using the prelinker (you have to use a program object
library (PDS/E loadlib)), then you should be able to pass the two
object modules output from the compiler into the binder.
You can't pass separately prelinked object modules into the binder.
Bill

Sent via Deja.com http://www.deja.com/
Before you buy.



Tue, 29 Oct 2002 03:00:00 GMT  
 
 [ 3 post ] 

 Relevant Pages 

1. OS/390 2.10 VA PL/I IVP COND CODE 0218

2. Current APAR of VA PL/I for OS/390

3. VA PL/I for OS/390 - Free Manuals in PDF Format

4. What is the difference between DEC PL/1 and OS/390 PL/1

5. VisualAge PL/I for OS/390 and PL/I 2.3

6. OS/390 release test periods Re: default variable initialization under os/390 v2r8

7. Cobol OS/390 to C OS/390 V2R6

8. Using VA Smalltalk and DB2 under OS/390

9. DYNALLOC in OS/390 PL/I

10. calling XML-parser from PL/1 on OS/390

11. Performance and resource issues with VisualAge PL/I for OS/390

12. Performance and resource issues with VisualAge PL/I for OS/390

 

 
Powered by phpBB® Forum Software