Re: [PATCH bleadperl] Re: Not OK: perl5.7.0 +DEVEL7706 +Duseperlio on AIX4.[23]
H.Merijn Brand [Wed, 22 Nov 2000 17:53:15 +0000 (18:53 +0100)]
Message-Id: <20001122174544.49A2.H.M.BRAND@hccnet.nl>

AIX dynaloader and perlio patch.

p4raw-id: //depot/perl@7813

ext/DynaLoader/dl_aix.xs

index d6acc68..89b8439 100644 (file)
@@ -11,6 +11,8 @@
  *  on statup...   It can probably be trimmed more.
  */
 
+#define PERLIO_NOT_STDIO 0
+
 /*
  * @(#)dlfcn.c 1.5 revision of 93/02/14  20:14:17
  * This is an unpublished work copyright (c) 1992 Helios Software GmbH
 # define FREAD(p,s,n,ldptr)    fread(p,s,n,IOPTR(ldptr))
 #endif
 
-/* If using PerlIO, redefine these macros from <ldfcn.h> */
-#ifdef USE_PERLIO
-#undef FSEEK
-#undef FREAD
-#define FSEEK(ldptr,o,p)        PerlIO_seek(IOPTR(ldptr),(p==BEGINNING)?(OFFSET(ldptr)+o):o,p)
-#define FREAD(p,s,n,ldptr)      PerlIO_read(IOPTR(ldptr),p,s*n)
-#endif
-
 /*
  * We simulate dlopen() et al. through a call to load. Because AIX has
  * no call to find an exported symbol we read the loader section of the
@@ -532,11 +526,7 @@ static int readExports(ModulePtr mp)
        }
 /* This first case is a hack, since it assumes that the 3rd parameter to
    FREAD is 1. See the redefinition of FREAD above to see how this works. */
-#ifdef USE_PERLIO
-       if (FREAD(ldbuf, sh.s_size, 1, ldp) != sh.s_size) {
-#else
        if (FREAD(ldbuf, sh.s_size, 1, ldp) != 1) {
-#endif
                errvalid++;
                strcpy(errbuf, "readExports: cannot read loader section");
                safefree(ldbuf);