Perl / perl5

🐪 The Perl programming language
https://dev.perl.org/perl5/
Other
1.88k stars 531 forks source link

[PATCH 5.00563] Creating DynaLoader::dl_resolve_using unexpectedly #958

Closed p5pRT closed 20 years ago

p5pRT commented 24 years ago

Migrated from rt.perl.org#1905 (status was 'resolved')

Searchable as RT1905$

p5pRT commented 24 years ago

From hansmu@xs4all.nl

When testing 5.005_63\, I get lots of warnings​:

Had to create DynaLoader​::dl_resolve_using unexpectedly at ../lib/XSLoader.pm line 26.

Some of those are followed by​:

Name "DynaLoader​::dl_resolve_using" used only once​: possible typo at ../lib/XSLoader.pm line 26.

The patch below fixes the problem on NeXT; I suspect it has to be applied to dl_dld.xs\, dl_hpux.xs\, dl_mpeix.xs\, dl_rhapsody.xs and dl_vms.xs to fix the same problem on other platforms​:

-- HansM

--- ext/DynaLoader/dl_next.xs.orig Wed Oct 6 03​:10​:44 1999 *** ext/DynaLoader/dl_next.xs Wed Dec 15 22​:39​:36 1999 @​@​ -226\,7 +226\,7 @​@​ dl_private_init(pTHX) {   (void)dl_generic_private_init(aTHX); - dl_resolve_using = get_av("DynaLoader​::dl_resolve_using"\, 0x4); + dl_resolve_using = get_av("DynaLoader​::dl_resolve_using"\, GV_ADD | GV_ADDMULTI); }  
MODULE = DynaLoader PACKAGE = DynaLoader


Site configuration information for perl 5.00563​:

Configured by hansm at Mon Dec 13 02​:03​:09 MET 1999.

Summary of my perl5 (revision 5.0 version 5 subversion 63) configuration​:   Platform​:   osname=next\, osvers=4_2\, archname=OPENSTEP-Mach   uname='bombadil '   config_args='-des -Dcf_email=hansmu@​xs4all.nl -Dprefix=/usr/local -Doptimize=-g -O'   hint=recommended\, useposix=undef\, d_sigaction=undef   usethreads=undef useperlio=undef d_sfio=undef   use64bits=undef usemultiplicity=undef   Compiler​:   cc='cc'\, optimize='-g -O'\, gccversion=NeXT DevKit-based CPP 4.0   cppflags='-dynamic -fno-common -DUSE_NEXT_CTYPE -DUSE_PERL_SBRK -arch m68k -DDEBUGGING -I/usr/local/include'   ccflags ='-dynamic -fno-common -DUSE_NEXT_CTYPE -DUSE_PERL_SBRK -arch m68k -arch i386 -DDEBUGGING -I/usr/local/include'   stdchar='char'\, d_stdstdio=define\, usevfork=false   intsize=4\, longsize=4\, ptrsize=4\, doublesize=8   d_longlong=define\, longlongsize=8\, d_longdbl=define\, longdblsize=12   alignbytes=8\, usemymalloc=y\, prototype=define   Linker and Libraries​:   ld='cc'\, ldflags =' -dynamic -prebind -arch m68k -arch i386 -L/usr/local/lib'   libpth=/lib /usr/lib /usr/local/lib   libs=   libc=/NextLibrary/Frameworks/System.framework/System\, so=dylib\, useshrplib=true\, libperl=libperl.5.dylib   Dynamic Linking​:   dlsrc=dl_next.xs\, dlext=bundle\, d_dlsymun=undef\, ccdlflags=' '   cccdlflags=' '\, lddlflags=' -dynamic -bundle -undefined suppress -arch m68k -arch i386 -L/usr/local/lib'

Locally applied patches​:  


@​INC for perl 5.00563​:   lib   /Users/hansm/lib/perl   /usr/local/lib/perl5/5.00563/OPENSTEP-Mach   /usr/local/lib/perl5/5.00563   /usr/local/lib/site_perl/5.00563/OPENSTEP-Mach   /usr/local/lib/site_perl   .


Environment for perl 5.00563​:   DYLD_LIBRARY_PATH=/Users/hansm/src/perl/build/perl-5.006/perl5.005_63   HOME=/Users/hansm   LANG (unset)   LANGUAGE (unset)   LD_LIBRARY_PATH (unset)   LOGDIR (unset)   PATH=/Users/hansm/bin​:/usr/local/bin​:/usr/games​:/usr/ucb​:/bin​:/usr/bin​:/usr/etc​:/Users/hansm/bin/cookies​:/LocalApps/Opener.app​:.   PERL5LIB=/Users/hansm/lib/perl   PERL_BADLANG (unset)   SHELL=/usr/bin/zsh

p5pRT commented 24 years ago

From [Unknown Contact. See original ticket]

On Tue\, Jan 04\, 2000 at 06​:02​:49PM -0500\, Mark-Jason Dominus wrote​:

Is this because of your XSloader patch from a few weeks ago?

Yes.

This is a bug report for perl from hansmu@​xs4all.nl\, generated with the help of perlbug 1.27 running under perl 5.00563.

When testing 5.005_63\, I get lots of warnings​:

Had to create DynaLoader​::dl_resolve_using unexpectedly at ../lib/XSLoader.pm line 26.

Some of those are followed by​:

Name "DynaLoader​::dl_resolve_using" used only once​: possible typo at ../lib/XSLoader.pm line 26.

This happens in dl_*​:

dl_dld.xs​: dl_resolve_using = get_av("DynaLoader​::dl_resolve_using"\, 0x4); dl_hpux.xs​: dl_resolve_using = get_av("DynaLoader​::dl_resolve_using"\, 0x4); dl_mpeix.xs​: dl_resolve_using = get_av("DynaLoader​::dl_resolve_using"\, 0x4); dl_next.xs​: dl_resolve_using = get_av("DynaLoader​::dl_resolve_using"\, 0x4); dl_rhapsody.xs​: dl_resolve_using = get_av("DynaLoader​::dl_resolve_using"\, 0x4);

Note these 0x4 (which should have been GV_ADDWARN)​: they *ask* for a warning. Changing them to GV_ADDMULTI should help.

Does it?

Ilya

p5pRT commented 24 years ago

From @gsar

On Tue\, 04 Jan 2000 18​:18​:04 EST\, Ilya Zakharevich wrote​:

dl_dld.xs​: dl_resolve_using = get_av("DynaLoader​::dl_resolve_using"\, 0x4); dl_hpux.xs​: dl_resolve_using = get_av("DynaLoader​::dl_resolve_using"\, 0x4); dl_mpeix.xs​: dl_resolve_using = get_av("DynaLoader​::dl_resolve_using"\, 0x4); dl_next.xs​: dl_resolve_using = get_av("DynaLoader​::dl_resolve_using"\, 0x4); dl_rhapsody.xs​: dl_resolve_using = get_av("DynaLoader​::dl_resolve_using"\, 0x4);

Note these 0x4 (which should have been GV_ADDWARN)​: they *ask* for a warning. Changing them to GV_ADDMULTI should help.

I think I fixed this recently. See​:

  ftp​://ftp.linux.activestate.com/pub/staff/gsar/APC/diffs/4686.gz

Sarathy gsar@​ActiveState.com