summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Williamson <khw@cpan.org>2015-03-16 11:14:12 -0600
committerKarl Williamson <khw@cpan.org>2015-03-19 10:20:39 -0600
commit8b371338c1359c38e4de8ec65a0b9b884f05e450 (patch)
tree4d1fedc49b6f0b28841b4e424161e2fef96fa8fe
parent6c0d35ff1e3d608716c812fc4ba0474d9041e7bf (diff)
downloadperl-8b371338c1359c38e4de8ec65a0b9b884f05e450.tar.gz
Change name of mro.c
This is to prevent a conflict showing up on z/OS (os390) because this file's name is the same as one in /ext, and there are functions cross-referenced between them, and the loader on that platform can't deal with this. See http://nntp.perl.org/group/perl.perl5.porters/226612
-rw-r--r--Cross/Makefile-cross-SH4
-rw-r--r--MANIFEST2
-rwxr-xr-xMakefile.SH4
-rw-r--r--Makefile.micro4
-rw-r--r--NetWare/Makefile2
-rw-r--r--hv.h2
-rw-r--r--mro_core.c (renamed from mro.c)25
-rw-r--r--vms/descrip_mms.template6
-rw-r--r--win32/Makefile2
-rw-r--r--win32/Makefile.ce4
-rw-r--r--win32/makefile.mk2
11 files changed, 30 insertions, 27 deletions
diff --git a/Cross/Makefile-cross-SH b/Cross/Makefile-cross-SH
index 3260be44bc..01cde9261d 100644
--- a/Cross/Makefile-cross-SH
+++ b/Cross/Makefile-cross-SH
@@ -345,7 +345,7 @@ h4 = regexp.h scope.h sv.h unixish.h util.h iperlsys.h thread.h
h5 = utf8.h warnings.h
h = $(h1) $(h2) $(h3) $(h4) $(h5)
-c1 = av.c scope.c op.c doop.c doio.c dump.c gv.c hv.c mg.c reentr.c mro.c perl.c
+c1 = av.c scope.c op.c doop.c doio.c dump.c gv.c hv.c mg.c reentr.c mro_core.c perl.c
c2 = perly.c pp.c pp_hot.c pp_ctl.c pp_sys.c regcomp.c regexec.c utf8.c sv.c
c3 = taint.c toke.c util.c deb.c run.c universal.c pad.c globals.c keywords.c
c4 = perlio.c perlapi.c numeric.c mathoms.c locale.c pp_pack.c pp_sort.c
@@ -353,7 +353,7 @@ c5 = $(mallocsrc)
c = $(c1) $(c2) $(c3) $(c4) $(c5) miniperlmain.c perlmain.c opmini.c
-obj1 = $(mallocobj) gv$(OBJ_EXT) toke$(OBJ_EXT) perly$(OBJ_EXT) op$(OBJ_EXT) pad$(OBJ_EXT) regcomp$(OBJ_EXT) dump$(OBJ_EXT) util$(OBJ_EXT) mg$(OBJ_EXT) reentr$(OBJ_EXT) mro$(OBJ_EXT)
+obj1 = $(mallocobj) gv$(OBJ_EXT) toke$(OBJ_EXT) perly$(OBJ_EXT) op$(OBJ_EXT) pad$(OBJ_EXT) regcomp$(OBJ_EXT) dump$(OBJ_EXT) util$(OBJ_EXT) mg$(OBJ_EXT) reentr$(OBJ_EXT) mro_core$(OBJ_EXT)
obj2 = hv$(OBJ_EXT) av$(OBJ_EXT) perl$(OBJ_EXT) run$(OBJ_EXT) pp_hot$(OBJ_EXT) sv$(OBJ_EXT) pp$(OBJ_EXT) scope$(OBJ_EXT) pp_ctl$(OBJ_EXT) pp_sys$(OBJ_EXT)
obj3 = doop$(OBJ_EXT) doio$(OBJ_EXT) regexec$(OBJ_EXT) utf8$(OBJ_EXT) taint$(OBJ_EXT) deb$(OBJ_EXT) universal$(OBJ_EXT) globals$(OBJ_EXT) perlio$(OBJ_EXT) perlapi$(OBJ_EXT) numeric$(OBJ_EXT) mathoms$(OBJ_EXT) locale$(OBJ_EXT) pp_pack$(OBJ_EXT) pp_sort$(OBJ_EXT)
diff --git a/MANIFEST b/MANIFEST
index 2652ab025d..f874063ff4 100644
--- a/MANIFEST
+++ b/MANIFEST
@@ -4370,7 +4370,7 @@ mg_vtable.h Generated magic vtable data
miniperlmain.c Basic perl w/o dynamic loading or extensions
mkppport A script that distributes ppport.h
mkppport.lst List of extensions that need a ppport.h
-mro.c Method Resolution Order code
+mro_core.c Method Resolution Order code
myconfig.SH Prints summary of the current configuration
mydtrace.h Support for optional DTrace probes
NetWare/bat/Buildtype.bat NetWare port
diff --git a/Makefile.SH b/Makefile.SH
index 12414a5038..2889b27c1f 100755
--- a/Makefile.SH
+++ b/Makefile.SH
@@ -473,7 +473,7 @@ h5 = utf8.h warnings.h mydtrace.h op_reg_common.h l1_char_class_tab.h
h6 = charclass_invlists.h
h = $(h1) $(h2) $(h3) $(h4) $(h5) $(h6)
-c1 = av.c scope.c op.c doop.c doio.c dump.c gv.c hv.c mg.c reentr.c mro.c perl.c
+c1 = av.c scope.c op.c doop.c doio.c dump.c gv.c hv.c mg.c reentr.c mro_core.c perl.c
c2 = perly.c pp.c pp_hot.c pp_ctl.c pp_sys.c regcomp.c regexec.c utf8.c sv.c
c3 = taint.c toke.c util.c deb.c run.c universal.c pad.c globals.c keywords.c
c4 = perlio.c perlapi.c numeric.c mathoms.c locale.c pp_pack.c pp_sort.c caretx.c
@@ -483,7 +483,7 @@ c = $(c1) $(c2) $(c3) $(c4) $(c5) miniperlmain.c opmini.c perlmini.c
obj0 = op$(OBJ_EXT) perl$(OBJ_EXT)
obj0mini = perlmini$(OBJ_EXT) opmini$(OBJ_EXT) miniperlmain$(OBJ_EXT)
-obj1 = $(mallocobj) gv$(OBJ_EXT) toke$(OBJ_EXT) perly$(OBJ_EXT) pad$(OBJ_EXT) regcomp$(OBJ_EXT) dump$(OBJ_EXT) util$(OBJ_EXT) mg$(OBJ_EXT) reentr$(OBJ_EXT) mro$(OBJ_EXT) keywords$(OBJ_EXT)
+obj1 = $(mallocobj) gv$(OBJ_EXT) toke$(OBJ_EXT) perly$(OBJ_EXT) pad$(OBJ_EXT) regcomp$(OBJ_EXT) dump$(OBJ_EXT) util$(OBJ_EXT) mg$(OBJ_EXT) reentr$(OBJ_EXT) mro_core$(OBJ_EXT) keywords$(OBJ_EXT)
obj2 = hv$(OBJ_EXT) av$(OBJ_EXT) run$(OBJ_EXT) pp_hot$(OBJ_EXT) sv$(OBJ_EXT) pp$(OBJ_EXT) scope$(OBJ_EXT) pp_ctl$(OBJ_EXT) pp_sys$(OBJ_EXT)
obj3 = doop$(OBJ_EXT) doio$(OBJ_EXT) regexec$(OBJ_EXT) utf8$(OBJ_EXT) taint$(OBJ_EXT) deb$(OBJ_EXT) universal$(OBJ_EXT) globals$(OBJ_EXT) perlio$(OBJ_EXT) perlapi$(OBJ_EXT) numeric$(OBJ_EXT) mathoms$(OBJ_EXT) locale$(OBJ_EXT) pp_pack$(OBJ_EXT) pp_sort$(OBJ_EXT) caretx$(OBJ_EXT)
diff --git a/Makefile.micro b/Makefile.micro
index cd9a9c5833..dedf183f9f 100644
--- a/Makefile.micro
+++ b/Makefile.micro
@@ -85,8 +85,8 @@ uglobals$(_O): $(H) globals.c INTERN.h perlapi.h $(generated_headers)
ugv$(_O): $(HE) gv.c
$(CC) $(CCFLAGS) -o $@ $(CFLAGS) gv.c
-umro$(_O): $(HE) mro.c
- $(CC) $(CCFLAGS) -o $@ $(CFLAGS) mro.c
+umro$(_O): $(HE) mro_core.c
+ $(CC) $(CCFLAGS) -o $@ $(CFLAGS) mro_core.c
uhv$(_O): $(HE) hv.c
$(CC) $(CCFLAGS) -o $@ $(CFLAGS) hv.c
diff --git a/NetWare/Makefile b/NetWare/Makefile
index e9a74b1832..de3fb9e706 100644
--- a/NetWare/Makefile
+++ b/NetWare/Makefile
@@ -692,7 +692,7 @@ MICROCORE_SRC = \
..\dump.c \
..\globals.c \
..\gv.c \
- ..\mro.c \
+ ..\mro_core.c \
..\hv.c \
..\keywords.c \
..\locale.c \
diff --git a/hv.h b/hv.h
index 95dde4681e..a9124768fc 100644
--- a/hv.h
+++ b/hv.h
@@ -58,7 +58,7 @@ struct shared_he {
/* Subject to change.
Don't access this directly.
- Use the funcs in mro.c
+ Use the funcs in mro_core.c
*/
struct mro_alg {
diff --git a/mro.c b/mro_core.c
index d50168178e..4da9682c62 100644
--- a/mro.c
+++ b/mro_core.c
@@ -1,4 +1,4 @@
-/* mro.c
+/* mro_core.c
*
* Copyright (c) 2007 Brandon L Black
* Copyright (c) 2007, 2008, 2009, 2010, 2011 Larry Wall and others
@@ -6,6 +6,9 @@
* You may distribute under the terms of either the GNU General Public
* License or the Artistic License, as specified in the README file.
*
+ * This was 'mro.c', but changed because there is another mro.c in /ext, and
+ * the os390 loader can't cope with this situation (which involves the two
+ * files calling functions defined in the other)
*/
/*
@@ -66,13 +69,13 @@ Perl_mro_set_private_data(pTHX_ struct mro_meta *const smeta,
} else {
HV *const hv = newHV();
/* Start with 2 buckets. It's unlikely we'll need more. */
- HvMAX(hv) = 1;
+ HvMAX(hv) = 1;
smeta->mro_linear_all = hv;
if (smeta->mro_linear_current) {
/* If we were storing something directly, put it in the hash
before we lose it. */
- Perl_mro_set_private_data(aTHX_ smeta, smeta->mro_which,
+ Perl_mro_set_private_data(aTHX_ smeta, smeta->mro_which,
smeta->mro_linear_current);
}
}
@@ -126,7 +129,7 @@ Perl_mro_register(pTHX_ const struct mro_alg *mro) {
PERL_ARGS_ASSERT_MRO_REGISTER;
-
+
if (!Perl_hv_common(aTHX_ PL_registered_mros, NULL,
mro->name, mro->length, mro->kflags,
HV_FETCH_ISSTORE, wrapper, mro->hash)) {
@@ -620,7 +623,7 @@ Perl_mro_isa_changed_in(pTHX_ HV* stash)
so on aggregate we expect to save time by not making
two calls to the common HV code for the case where
it doesn't exist. */
-
+
(void)
hv_storehek(mroisarev, namehek, &PL_sv_yes);
}
@@ -664,7 +667,7 @@ Perl_mro_isa_changed_in(pTHX_ HV* stash)
almost as cheap as calling hv_exists, so on aggregate we expect to
save time by not making two calls to the common HV code for the
case where it doesn't exist. */
-
+
(void)hv_storehek(mroisarev, stashhek, &PL_sv_yes);
}
@@ -856,7 +859,7 @@ Perl_mro_package_moved(pTHX_ HV * const stash, HV * const oldstash,
mro_gather_and_rename set aside for us) this way, in case
one class in this list is a superclass of a another class
that we have already encountered. In such a case, meta->isa
- will have been overwritten without old entries being deleted
+
from PL_isarev. */
struct mro_meta * const meta = HvMROMETA(stash);
if(meta->isa != (HV *)HeVAL(iter)){
@@ -1103,7 +1106,7 @@ S_mro_gather_and_rename(pTHX_ HV * const stashes, HV * const seen_stashes,
ing that here, as we want to avoid resetting the hash iterator. */
/* Skip the entire loop if the hash is empty. */
- if(oldstash && HvUSEDKEYS(oldstash)) {
+ if(oldstash && HvUSEDKEYS(oldstash)) {
xhv = (XPVHV*)SvANY(oldstash);
seen = (HV *) sv_2mortal((SV *)newHV());
@@ -1358,7 +1361,7 @@ void
Perl_mro_set_mro(pTHX_ struct mro_meta *const meta, SV *const name)
{
const struct mro_alg *const which = Perl_mro_get_from_name(aTHX_ name);
-
+
PERL_ARGS_ASSERT_MRO_SET_MRO;
if (!which)
@@ -1368,7 +1371,7 @@ Perl_mro_set_mro(pTHX_ struct mro_meta *const meta, SV *const name)
if (meta->mro_linear_current && !meta->mro_linear_all) {
/* If we were storing something directly, put it in the hash before
we lose it. */
- Perl_mro_set_private_data(aTHX_ meta, meta->mro_which,
+ Perl_mro_set_private_data(aTHX_ meta, meta->mro_which,
MUTABLE_SV(meta->mro_linear_current));
}
meta->mro_which = which;
@@ -1404,7 +1407,7 @@ XS(XS_mro_method_changed_in)
if(items != 1)
croak_xs_usage(cv, "classname");
-
+
classname = ST(0);
class_stash = gv_stashsv(classname, 0);
diff --git a/vms/descrip_mms.template b/vms/descrip_mms.template
index faf8a98c97..31c867cb56 100644
--- a/vms/descrip_mms.template
+++ b/vms/descrip_mms.template
@@ -226,14 +226,14 @@ FULLLIBS2 = $(LIBS2)|$(THRLIBS1)|$(THRLIBS2)
#### End of system configuration section. ####
-c0 = $(MALLOC_C) av.c caretx.c deb.c doio.c doop.c dump.c globals.c gv.c hv.c mro.c
+c0 = $(MALLOC_C) av.c caretx.c deb.c doio.c doop.c dump.c globals.c gv.c hv.c mro_core.c
c1 = mg.c locale.c mathoms.c miniperlmain.c numeric.c op.c pad.c perl.c perlapi.c perlio.c
c2 = perly.c pp.c pp_ctl.c pp_hot.c pp_pack.c pp_sort.c pp_sys.c regcomp.c regexec.c reentr.c
c3 = run.c scope.c sv.c taint.c toke.c universal.c utf8.c util.c vms.c keywords.c
c = $(c0) $(c1) $(c2) $(c3)
obj0 = perl$(O)
-obj1 = $(MALLOC_O) av$(O) caretx$(O) deb$(O) doio$(O) doop$(O) dump$(O) mro$(O) globals$(O) gv$(O) hv$(O)
+obj1 = $(MALLOC_O) av$(O) caretx$(O) deb$(O) doio$(O) doop$(O) dump$(O) mro_core$(O) globals$(O) gv$(O) hv$(O)
obj2 = keywords$(O) locale$(O) mathoms$(O) mg$(O) miniperlmain$(O) numeric$(O) op$(O) pad$(O) perlapi$(O) perlio$(O)
obj3 = perly$(O) pp$(O) pp_ctl$(O) pp_hot$(O) reentr$(O) pp_pack$(O) pp_sort$(O) pp_sys$(O) regcomp$(O)
obj4 = regexec$(O) run$(O) scope$(O) sv$(O) taint$(O) toke$(O) universal$(O) utf8$(O) util$(O) vms$(O)
@@ -632,7 +632,7 @@ globals$(O) : globals.c $(generated_headers) $(h)
$(CC) $(CORECFLAGS) $(MMS$SOURCE)
gv$(O) : gv.c $(h)
$(CC) $(CORECFLAGS) $(MMS$SOURCE)
-mro$(O) : mro.c $(h)
+mro_core$(O) : mro_core.c $(h)
$(CC) $(CORECFLAGS) $(MMS$SOURCE)
hv$(O) : hv.c $(h)
$(CC) $(CORECFLAGS) $(MMS$SOURCE)
diff --git a/win32/Makefile b/win32/Makefile
index 35cd298d08..22632d2389 100644
--- a/win32/Makefile
+++ b/win32/Makefile
@@ -688,7 +688,7 @@ MICROCORE_SRC = \
..\dump.c \
..\globals.c \
..\gv.c \
- ..\mro.c \
+ ..\mro_core.c \
..\hv.c \
..\locale.c \
..\keywords.c \
diff --git a/win32/Makefile.ce b/win32/Makefile.ce
index 64559421f7..894da33a1d 100644
--- a/win32/Makefile.ce
+++ b/win32/Makefile.ce
@@ -625,7 +625,7 @@ MICROCORE_SRC = \
..\dump.c \
..\globals.c \
..\gv.c \
- ..\mro.c \
+ ..\mro_core.c \
..\hv.c \
..\locale.c \
..\keywords.c \
@@ -870,7 +870,7 @@ $(DLLDIR)\doop.obj \
$(DLLDIR)\dump.obj \
$(DLLDIR)\globals.obj \
$(DLLDIR)\gv.obj \
-$(DLLDIR)\mro.obj \
+$(DLLDIR)\mro_core.obj \
$(DLLDIR)\hv.obj \
$(DLLDIR)\locale.obj \
$(DLLDIR)\keywords.obj \
diff --git a/win32/makefile.mk b/win32/makefile.mk
index da4825a4fe..03624433bd 100644
--- a/win32/makefile.mk
+++ b/win32/makefile.mk
@@ -834,7 +834,7 @@ MICROCORE_SRC = \
..\dump.c \
..\globals.c \
..\gv.c \
- ..\mro.c \
+ ..\mro_core.c \
..\hv.c \
..\locale.c \
..\keywords.c \