Here is a shell program I use to compile C programs- it may help,
i1="//'COLIN.MQ924.SCSQC370'"
ls="LSEARCH('COLIN.MQ924.SCSQC370',./)"
ss="NOOE,NOSEARCH,SEARCH(/usr/include,'COLIN.MQ924.SCSQC370')"
wc31="-Wc,SO,SHOWINC,LIST(lst31),XREF,ILP32,DLL,SSCOM,${ls},DEFINE(MVS),LANGLVL(EXTENDED)
-I./ -I/usr/inc"
cc -c -o m0.o ${wc31} -I ${i1} oem.c
cc -c -o o6.o ${wc31} -I ${i1} oemput.c
...
cc -o oemput2 -V -Wl,LIST,MAP,DLL,AMODE=31
"//'COLIN.MQ924.SCSQDEFS.OBJ(CSQBMQ1)'" o*.o 1>a 2>b
On Thu, 14 Sept 2023 at 20:03, Eric Erickson <[email protected]> wrote:
> I've found a bunch of information on creating AMODE 64 Assembler DLLs, but
> having much luck in finding any information about creating AMODE31
> Assembler DLLs.
>
> I've got a bunch of LE enabled assembler helper routines that I call from
> C, I want to package these all as a DLL so that I can share the code
> between load modules and not have to statically link them. But as I've
> stated, not having much luck in finding information on doing this for AMODE
> 31. In fact my biggest question that I can not seem to find the info about
> in the manual, is if I have an assembler routine, how do I specify that I
> want the entry point exported when I do the bind. Without the export I
> don't get the side-deck created with the import statements.
>
>
> Ultimately I would like to take these routines and package them with my
> AMODE 31 C DLL routines as a mixed C/Assembler DLL for sharing between my
> load modules.
>
> ----------------------------------------------------------------------
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to [email protected] with the message: INFO IBM-MAIN
>
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN