Mea culpa on the lack of doc. I was on my iPhone when I drafted the message. Here it is.
//ASM1 EXEC PGM=ASMA90 LMOD CSECT . . . END //ASM2 EXEC PGM=ASMA90 EPUTL CSECT . . . END EPUTL //LKED EXEC PGM=IEWL //IN DD DSN=&&X,DISP=(OLD,DELETE) <== ASM.SYSLIN DISP=(MOD,PASS) //SYSLIN DD * INCLUDE IN NAME LMOD(R) On Wed, Mar 15, 2023 at 7:53 AM Peter Relson <rel...@us.ibm.com> wrote: > This is not a question for assembler-list as it has nothing to do with the > assembler itself. > The binder is a z/OS function and questions about it would be better > suited for ibm-main. > > Since you did not show either your program (or a snippet thereof) or your > binder JCL it is impossible to answer your question. > The "design" is not "set the entry point to the start of the 2nd CSECT if > there are two CSECTs". The design includes various things including ENTRY > binder control statements, a name on an END statement, the order in which > OBJs and/or loadmods are included. But in its simplest form, the default is > to set the entry point to the start of the first section. > > For example, > > IEW2322I 1220 1 INCLUDE SYSOBJS(TEST1) -- where CSECT is > TEST1 > IEW2322I 1220 2 INCLUDE SYSOBJS(TEST2) -- where CSECT is > TEST2 > IEW2322I 1220 3 NAME TEST(R) > IEW2650I 5102 MODULE ENTRY NOT PROVIDED. ENTRY DEFAULTS TO SECTION TEST1. > > And if you reversed the includes, entry would default to TEST2. > > In the absence of a name on an END statement, I'd think it unwise to rely > on whatever rule might exist, when you have multiple CSECTs. > > Peter Relson > z/OS Core Technology Design >