diff options
author | Karl Williamson <khw@cpan.org> | 2015-03-16 11:14:12 -0600 |
---|---|---|
committer | Karl Williamson <khw@cpan.org> | 2015-03-19 10:20:39 -0600 |
commit | 8b371338c1359c38e4de8ec65a0b9b884f05e450 (patch) | |
tree | 4d1fedc49b6f0b28841b4e424161e2fef96fa8fe | |
parent | 6c0d35ff1e3d608716c812fc4ba0474d9041e7bf (diff) | |
download | perl-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-SH | 4 | ||||
-rw-r--r-- | MANIFEST | 2 | ||||
-rwxr-xr-x | Makefile.SH | 4 | ||||
-rw-r--r-- | Makefile.micro | 4 | ||||
-rw-r--r-- | NetWare/Makefile | 2 | ||||
-rw-r--r-- | hv.h | 2 | ||||
-rw-r--r-- | mro_core.c (renamed from mro.c) | 25 | ||||
-rw-r--r-- | vms/descrip_mms.template | 6 | ||||
-rw-r--r-- | win32/Makefile | 2 | ||||
-rw-r--r-- | win32/Makefile.ce | 4 | ||||
-rw-r--r-- | win32/makefile.mk | 2 |
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) @@ -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 \ @@ -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 { @@ -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 \ |