As You've wrote that this application also runs on Enterprise COBOL for z/OS I'd highly suggest to rebase it - currently it seems to be based on "default.conf", but in this case the better base definitely would be "ibm-strict.conf". This especially is relevant for the entries that include "osvs" or "ibm" in its name + stick-linkage (warning, this one also change the result of the initial reported message if the program is called multiple times with different amount of parameters (or parameters that are NULL) + hostsign + (for the C interaction) binary-size + assign-clause.
Using the IBM reserved words instead of default + additional list seems reasonable, too.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Anonymous
Anonymous
-
2021-05-12
Yes i use "default.conf" because line sequential files are not possible on z/OS. On z/OS we use jcl with dd and on linux/windows file names.
In some situation are s99 comp. On z/OS two bytes and on linux/windows one byte.
The cobol programs depends not on sticky linkage only DB2 SQL PRECOMPILER generated code.
The alignment with sync for pointer and double word is 8 on linux/windows and 4 on z/OS.
On z/OS is one cobol program with null pointer to address tcb, tiot and .... So we use a dummy parameter (pic x) for not used parameter. Only a few c programs with va_list can differ on parameters between caller and callee.
I afraid on several small nicklichkeiten. The same sources but some differences. Linux and windows are not the same and we have Fujitsu (BS2000). Hostsign no is a old decision.
OpenCOBOL work well with a similar "default.conf".
As i wrote the problem is cobol caller n, c callee n, c caller m and cobol callee m for n < m parameter. I am not a friend of rebase to ibm.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
To have a one byte PIC S99 comp use: -fbinary-size=1-2-4-8
I am using "3.1 dev" since later releases broke the SELECT "ASSIGN TO" clause
I ignore the default.conf and replace it with the above. --debug introduces all sorts of false positive interrupts.
Ralph
Last edit: Ralph Linkletter 2021-05-12
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Anonymous
Anonymous
-
2021-05-14
Compiling with ibm-strict the same abort.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Anonymous
Anonymous
-
2021-05-17
Compiling with r4241 4.0 -std=ate the same abort.
After analyzing the generated c sources i insert
(* cob_get_global_ptr()).cob_call_params = 0;
in the c program ATE0000. This works fine for me.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Sorry,
The previous mail refuse the attachment.
Hm, can I suggest to register/login? This would also remove the additional need for a manual moderation of your posts.
As You've wrote that this application also runs on Enterprise COBOL for z/OS I'd highly suggest to rebase it - currently it seems to be based on "default.conf", but in this case the better base definitely would be "ibm-strict.conf". This especially is relevant for the entries that include "osvs" or "ibm" in its name + stick-linkage (warning, this one also change the result of the initial reported message if the program is called multiple times with different amount of parameters (or parameters that are NULL) + hostsign + (for the C interaction) binary-size + assign-clause.
Using the IBM reserved words instead of default + additional list seems reasonable, too.
Yes i use "default.conf" because line sequential files are not possible on z/OS. On z/OS we use jcl with dd and on linux/windows file names.
In some situation are s99 comp. On z/OS two bytes and on linux/windows one byte.
The cobol programs depends not on sticky linkage only DB2 SQL PRECOMPILER generated code.
The alignment with sync for pointer and double word is 8 on linux/windows and 4 on z/OS.
On z/OS is one cobol program with null pointer to address tcb, tiot and .... So we use a dummy parameter (pic x) for not used parameter. Only a few c programs with va_list can differ on parameters between caller and callee.
I afraid on several small nicklichkeiten. The same sources but some differences. Linux and windows are not the same and we have Fujitsu (BS2000). Hostsign no is a old decision.
OpenCOBOL work well with a similar "default.conf".
As i wrote the problem is cobol caller n, c callee n, c caller m and cobol callee m for n < m parameter. I am not a friend of rebase to ibm.
For zOS compatibility I use the following cob c command line.
(Please ignore the link libraries)
To have a one byte PIC S99 comp use: -fbinary-size=1-2-4-8
I am using "3.1 dev" since later releases broke the SELECT "ASSIGN TO" clause
I ignore the default.conf and replace it with the above. --debug introduces all sorts of false positive interrupts.
Ralph
Last edit: Ralph Linkletter 2021-05-12
Compiling with ibm-strict the same abort.
Compiling with r4241 4.0 -std=ate the same abort.
After analyzing the generated c sources i insert
(* cob_get_global_ptr()).cob_call_params = 0;
in the c program ATE0000. This works fine for me.