В Ср., 07/10/2015 в 09:53 -0700, Ray Mullins пишет:
> On 10/06/2015 17:45, Karl Williamson wrote:
> > I'm working on continuing to port perl5 to z/OS.  One test that is
> > failing is beyond my knowledge level.  The Dynaloader module has a
> > function dl_findfile() which looks for libraries in the path.  It is
> > expecting to find libc at least, but is finding nothing.
> >
> > This test does not work on several platforms, even some Unix-like
> > ones, and my guess is it doesn't work on z/OS either.  But I am hoping
> > someone can give me more information.
> >
> > One of the comments in the perl source says:
> >     # On OS/390, libc.a doesn't really hold anything at all,
> >
> > And that makes me think that looking for it (and perhaps any Unix-y
> > library) is futile.
> What exactly is DynaLoader expecting to do with libc.a? CEE.SCEELIB
> contains binder (newer terminology in z/OS Land for link) commands that
> resolve C run-time calls to entry points in a LL which resides in shared
> memory. That behavior might provide some guidance on how to handle this,
> if it needs to be handled.
>
> Yaroslav, would you mind adding a -V to the command line to the c99
> command for a successful build? It should generate a .l file, which
> (hopefully) should contain the binder output as well as compiler output
> (not as important). I would like to see if the binder output provides a
> clue. (The Fine Manual is missing information; -V is documented for the
> c89 command, but says it is handled differently by the xlc (c99 is an
> alias) command, but, in typical IBM fashion, there's no mention of it
> there…)

log command successful build :

(02:41) RS12 : PDKUZM | ~/test/alloca :> make
c99 -v -qlanglvl=extended -qxplink  -c main.c
FSUM0000I  Utility(xlc)                      Level(D141205.1449)
exec: export(export,XL_CONFIG=/bin/../usr/lpp/cbclib/xlc/etc/xlc.cfg:c99,NULL)
exec:
/usr/lpp/cbclib/xlc/exe/ccndrvr(/usr/lpp/cbclib/xlc/exe/ccndrvr,./,./main.c,*.c,CMDOPTS(DEFINE(errno=(*__errno())),NOTEST,-
qoe,-qargparse,-qexecops,-qflag=i,-qhalt=16,-qnodebug,-qnolsearch,-qredir,-qlocale=POSIX,
-qlongname,-qmaxmem=*,-qmemory,-qnestinc=255,-qnoexpmac,-qnoexportall,-qnogonumber,-qtarget=le,
-qnolibansi,-qlist=/dev/fd1,-qnolist,-qnomargins,-qnooffset,-qnosequence,-qnoshowinc,
-qsource=/dev/fd1,-qnosource,-qnoxref,-qterminal,-qnooptimize,-qplist=host,-qspill=128,-qstart,
-qnoipa,DEFINE(_OPEN_DEFAULT=1),DEFINE(_ISOC99_SOURCE),-qansialias,-qcpluscmt,-qlanglvl=stdc99,
-qstrict_induction,-qnoupconv,-qnoaggregate,-qnoalias,-qnoinfo,-qnoevents,-qrent,
-qinline=auto:noreport:100:1000,-qnoinline),object(./main.o),-qlanglvl=extended,
-qxplink,NOPPONLY,NULL)
exec: export(export,STEPLIB=NONE,NULL)
exec: export(export,_C89_ACCEPTABLE_RC=4,NULL)
c99 -v -qxplink -M -o alloca main.o
FSUM0000I  Utility(xlc)                      Level(D141205.1449)
exec: export(export,XL_CONFIG=/bin/../usr/lpp/cbclib/xlc/etc/xlc.cfg:c99,NULL)
exec: /bin/c89(/bin/c89,-v,-Wl,xplink,-o./alloca,main.o,NULL)
exec: export(export,STEPLIB=NONE,NULL)
exec: export(export,_C89_ACCEPTABLE_RC=4,NULL)
exec: export(export,_C89_PVERSION=0x42010001,NULL)
exec: export(export,_C89_PSYSIX=,NULL)
exec: export(export,_C89_LXSYSIX=CEE.SCEELIB(CELHS003,CELHS001),NULL)
exec: export(export,_C89_LXSYSLIB=CEE.SCEEBND2:CBC.SCCNOBJ:SYS1.CSSLIB,NULL)
FSUM0000I  Utility(c89)                      Level(D141205.1449)
//* c89 ------------------------------------------------------------------------
//LINKEDIT  EXEC  PGM=LINKEDIT,
//  PARM='AMODE=31,RMODE=ANY,TERM=YES,
//  DYNAM=DLL,ALIASES=NO,UPCASE=NO,
//  LIST=OFF,MAP=NO,XREF=NO,INFO=NO,MSGLEVEL=4,
//  REUS=RENT,EDIT=YES,AC=0,CALL=YES,CASE=MIXED
//  ,XPLINK'
//SYSLIB   DD  DSN='CEE.SCEEBND2',DISP=SHR,DCB=DSORG=DIR
//         DD  DSN='CBC.SCCNOBJ',DISP=SHR,DCB=DSORG=DIR
//         DD  DSN='SYS1.CSSLIB',DISP=SHR,DCB=DSORG=DIR
//C8920    DD  UNIT=SYSDA,SPACE=(32000,(30,30)),
//             STORCLAS=,MGMTCLAS=,DATACLAS=,DSNTYPE=,
//             DCB=(RECFM=FB,LRECL=80,BLKSIZE=3200)
//C8921    DD  DSN='CEE.SCEELIB',DISP=SHR,DCB=DSORG=DIR
//SYSPRINT DD  PATH='/dev/fd1',
//             PATHOPTS=(ORDWR,OCREAT,OAPPEND),FILEDATA=TEXT,
//             PATHMODE=(SIROTH,SIRGRP,SIRUSR,SIWOTH,SIWGRP,SIWUSR)
//SYSTERM  DD  PATH='/dev/fd2',
//             PATHOPTS=(ORDWR,OCREAT,OAPPEND),FILEDATA=TEXT,
//             PATHMODE=(SIROTH,SIRGRP,SIRUSR,SIWOTH,SIWGRP,SIWUSR)
//SYSLMOD  DD  PATH='./alloca',
//             PATHOPTS=(OWRONLY,OCREAT),
//             PATHMODE=(SIRWXO,SIRWXG,SIRWXU)
//SYSLIN   DD  *
  INCLUDE C8920
  INCLUDE './main.o'
  INCLUDE C8921(CELHS003)
  INCLUDE C8921(CELHS001)
/*


log command not successful build :

(02:44) RS12 : PDKUZM | ~/test/alloca :> make
c99 -v -qlanglvl=extended -qxplink  -c main.c
FSUM0000I  Utility(xlc)                      Level(D141205.1449)
exec: export(export,XL_CONFIG=/bin/../usr/lpp/cbclib/xlc/etc/xlc.cfg:c99,NULL)
exec:
/usr/lpp/cbclib/xlc/exe/ccndrvr(/usr/lpp/cbclib/xlc/exe/ccndrvr,./,./main.c,*.c,CMDOPTS(DEFINE(errno=(*__errno())),NOTEST,-
qoe,-qargparse,-qexecops,-qflag=i,-qhalt=16,-qnodebug,-qnolsearch,-qredir,-qlocale=POSIX,
-qlongname,-qmaxmem=*,-qmemory,-qnestinc=255,-qnoexpmac,-qnoexportall,-qnogonumber,-qtarget=le,
-qnolibansi,-qlist=/dev/fd1,-qnolist,-qnomargins,-qnooffset,-qnosequence,-qnoshowinc,
-qsource=/dev/fd1,-qnosource,-qnoxref,-qterminal,-qnooptimize,-qplist=host,-qspill=128,-qstart,
-qnoipa,DEFINE(_OPEN_DEFAULT=1),DEFINE(_ISOC99_SOURCE),-qansialias,-qcpluscmt,-qlanglvl=stdc99,
-qstrict_induction,-qnoupconv,-qnoaggregate,-qnoalias,-qnoinfo,-qnoevents,-qrent,
-qinline=auto:noreport:100:1000,-qnoinline),object(./main.o),-qlanglvl=extended,
-qxplink,NOPPONLY,NULL)
exec: export(export,STEPLIB=NONE,NULL)
exec: export(export,_C89_ACCEPTABLE_RC=4,NULL)
c99 -v -qxplink -M -o alloca main.o
FSUM0000I  Utility(xlc)                      Level(D141205.1449)
exec: export(export,XL_CONFIG=/bin/../usr/lpp/cbclib/xlc/etc/xlc.cfg:c99,NULL)
exec: /bin/c89(/bin/c89,-v,-Wl,xplink,-o./alloca,main.o,NULL)
exec: export(export,STEPLIB=NONE,NULL)
exec: export(export,_C89_ACCEPTABLE_RC=4,NULL)
exec: export(export,_C89_PVERSION=0x42010001,NULL)
exec: export(export,_C89_PSYSIX=,NULL)
exec: export(export,_C89_LXSYSIX=CEE.SCEELIB(CELHS003,CELHS001),NULL)
exec: export(export,_C89_LXSYSLIB=CEE.SCEEBND2:CBC.SCCNOBJ:SYS1.CSSLIB,NULL)
FSUM0000I  Utility(c89)                      Level(D141205.1449)
//* c89 ------------------------------------------------------------------------
//LINKEDIT  EXEC  PGM=LINKEDIT,
//  PARM='AMODE=31,RMODE=ANY,TERM=YES,
//  DYNAM=DLL,ALIASES=NO,UPCASE=NO,
//  LIST=OFF,MAP=NO,XREF=NO,INFO=NO,MSGLEVEL=4,
//  REUS=RENT,EDIT=YES,AC=0,CALL=YES,CASE=MIXED
//  ,XPLINK'
//SYSLIB   DD  DSN='CEE.SCEEBND2',DISP=SHR,DCB=DSORG=DIR
//         DD  DSN='CBC.SCCNOBJ',DISP=SHR,DCB=DSORG=DIR
//         DD  DSN='SYS1.CSSLIB',DISP=SHR,DCB=DSORG=DIR
//C8920    DD  UNIT=SYSDA,SPACE=(32000,(30,30)),
//             STORCLAS=,MGMTCLAS=,DATACLAS=,DSNTYPE=,
//             DCB=(RECFM=FB,LRECL=80,BLKSIZE=3200)
//C8921    DD  DSN='CEE.SCEELIB',DISP=SHR,DCB=DSORG=DIR
//SYSPRINT DD  PATH='/dev/fd1',
//             PATHOPTS=(ORDWR,OCREAT,OAPPEND),FILEDATA=TEXT,
//             PATHMODE=(SIROTH,SIRGRP,SIRUSR,SIWOTH,SIWGRP,SIWUSR)
//SYSTERM  DD  PATH='/dev/fd2',
//             PATHOPTS=(ORDWR,OCREAT,OAPPEND),FILEDATA=TEXT,
//             PATHMODE=(SIROTH,SIRGRP,SIRUSR,SIWOTH,SIWGRP,SIWUSR)
//SYSLMOD  DD  PATH='./alloca',
//             PATHOPTS=(OWRONLY,OCREAT),
//             PATHMODE=(SIRWXO,SIRWXG,SIRWXU)
//SYSLIN   DD  *
  INCLUDE C8920
  INCLUDE './main.o'
  INCLUDE C8921(CELHS003)
  INCLUDE C8921(CELHS001)
/*
 IEW2456E 9207 SYMBOL alloca UNRESOLVED.  MEMBER COULD NOT BE INCLUDED FROM THE
          DESIGNATED CALL LIBRARY.
FSUM3065 The LINKEDIT step ended with return code 8.
make: *** [alloca] Error 3


>
> BTW, in z/OS USS, standard data sets can be accessed using a UNIX-like
> path, //'data.set.name' or //'data.set.name(member)'.
>
> Cheers,
> Ray
>
================================
Rocket Software, Inc. and subsidiaries ■ 77 Fourth Avenue, Waltham MA 02451 ■ 
+1 800.966.3270 ■ +1 781.577.4321
Unsubscribe From Commercial Email – [email protected]
Manage Your Subscription Preferences - 
http://info.rocketsoftware.com/GlobalSubscriptionManagementEmailFooter_SubscriptionCenter.html
Privacy Policy - http://www.rocketsoftware.com/company/legal/privacy-policy
================================

This communication and any attachments may contain confidential information of 
Rocket Software, Inc. All unauthorized use, disclosure or distribution is 
prohibited. If you are not the intended recipient, please notify Rocket 
Software immediately and destroy all copies of this communication. Thank you.

Reply via email to