# Generated from XSLoader_pm.PL (resolved %Config::Config value) # This file is unique for every OS package XSLoader; $VERSION = "0.27"; #use strict; package DynaLoader; # No prizes for guessing why we don't say 'bootstrap DynaLoader;' here. # NOTE: All dl_*.xs (including dl_none.xs) define a dl_error() XSUB boot_DynaLoader('DynaLoader') if defined(&boot_DynaLoader) && !defined(&dl_error); package XSLoader; sub load { package DynaLoader; my ($caller, $modlibname) = caller(); my $module = $caller; if (@_) { $module = $_[0]; } else { $_[0] = $module; } # work with static linking too my $boots = "$module\::bootstrap"; goto &$boots if defined &$boots; goto \&XSLoader::bootstrap_inherit unless $module and defined &dl_load_file; my @modparts = split(/::/,$module); my $modfname = $modparts[-1]; my $modpname = join('/',@modparts); my $c = () = split(/::/,$caller,-1); $modlibname =~ s,[\\/][^\\/]+$,, while $c--; # Q&D basename # Does this look like a relative path? if ($modlibname !~ m{^/}) { # Someone may have a #line directive that changes the file name, or # may be calling XSLoader::load from inside a string eval. We cer- # tainly do not want to go loading some code that is not in @INC, # as it could be untrusted. # # We could just fall back to DynaLoader here, but then the rest of # this function would go untested in the perl core, since all @INC # paths are relative during testing. That would be a time bomb # waiting to happen, since bugs could be introduced into the code. # # So look through @INC to see if $modlibname is in it. A rela- # tive $modlibname is not a common occurrence, so this block is # not hot code. FOUND: { for (@INC) { if ($_ eq $modlibname) { last FOUND; } } # Not found. Fall back to DynaLoader. goto \&XSLoader::bootstrap_inherit; } } my $file = "$modlibname/auto/$modpname/$modfname.so"; # print STDERR "XSLoader::load for $module ($file)\n" if $dl_debug; my $bs = $file; $bs =~ s/(\.\w+)?(;\d*)?$/\.bs/; # look for .bs 'beside' the library if (-s $bs) { # only read file if it's not empty # print STDERR "BS: $bs ($^O, $dlsrc)\n" if $dl_debug; eval { local @INC = ('.'); do $bs; }; warn "$bs: $@\n" if $@; goto \&XSLoader::bootstrap_inherit; } goto \&XSLoader::bootstrap_inherit if not -f $file; my $bootname = "boot_$module"; $bootname =~ s/\W/_/g; @DynaLoader::dl_require_symbols = ($bootname); my $boot_symbol_ref; # Many dynamic extension loading problems will appear to come from # this section of code: XYZ failed at line 123 of DynaLoader.pm. # Often these errors are actually occurring in the initialisation # C code of the extension XS file. Perl reports the error as being # in this perl code simply because this was the last perl code # it executed. my $libref = dl_load_file($file, 0) or do { require Carp; Carp::croak("Can't load '$file' for module $module: " . dl_error()); }; push(@DynaLoader::dl_librefs,$libref); # record loaded object $boot_symbol_ref = dl_find_symbol($libref, $bootname) or do { require Carp; Carp::croak("Can't find '$bootname' symbol in $file\n"); }; push(@DynaLoader::dl_modules, $module); # record loaded module boot: my $xs = dl_install_xsub($boots, $boot_symbol_ref, $file); # See comment block above push(@DynaLoader::dl_shared_objects, $file); # record files loaded return &$xs(@_); } sub bootstrap_inherit { require DynaLoader; goto \&DynaLoader::bootstrap_inherit; } 1; __END__
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
App | Folder | 0755 |
|
|
Archive | Folder | 0755 |
|
|
Attribute | Folder | 0755 |
|
|
B | Folder | 0755 |
|
|
CPAN | Folder | 0755 |
|
|
Carp | Folder | 0755 |
|
|
Class | Folder | 0755 |
|
|
Compress | Folder | 0755 |
|
|
Config | Folder | 0755 |
|
|
DBM_Filter | Folder | 0755 |
|
|
Devel | Folder | 0755 |
|
|
Digest | Folder | 0755 |
|
|
Encode | Folder | 0755 |
|
|
Exporter | Folder | 0755 |
|
|
ExtUtils | Folder | 0755 |
|
|
File | Folder | 0755 |
|
|
Filter | Folder | 0755 |
|
|
Getopt | Folder | 0755 |
|
|
HTTP | Folder | 0755 |
|
|
I18N | Folder | 0755 |
|
|
IO | Folder | 0755 |
|
|
IPC | Folder | 0755 |
|
|
JSON | Folder | 0755 |
|
|
Locale | Folder | 0755 |
|
|
Math | Folder | 0755 |
|
|
Memoize | Folder | 0755 |
|
|
Module | Folder | 0755 |
|
|
Net | Folder | 0755 |
|
|
Params | Folder | 0755 |
|
|
Parse | Folder | 0755 |
|
|
Perl | Folder | 0755 |
|
|
PerlIO | Folder | 0755 |
|
|
Pod | Folder | 0755 |
|
|
Search | Folder | 0755 |
|
|
TAP | Folder | 0755 |
|
|
Term | Folder | 0755 |
|
|
Test | Folder | 0755 |
|
|
Test2 | Folder | 0755 |
|
|
Text | Folder | 0755 |
|
|
Thread | Folder | 0755 |
|
|
Tie | Folder | 0755 |
|
|
Time | Folder | 0755 |
|
|
Unicode | Folder | 0755 |
|
|
User | Folder | 0755 |
|
|
autodie | Folder | 0755 |
|
|
encoding | Folder | 0755 |
|
|
overload | Folder | 0755 |
|
|
pod | Folder | 0755 |
|
|
unicore | Folder | 0755 |
|
|
version | Folder | 0755 |
|
|
warnings | Folder | 0755 |
|
|
AnyDBM_File.pm | File | 2.56 KB | 0644 |
|
AutoLoader.pm | File | 5.36 KB | 0644 |
|
AutoSplit.pm | File | 19.18 KB | 0644 |
|
Benchmark.pm | File | 30.3 KB | 0644 |
|
CORE.pod | File | 3.11 KB | 0644 |
|
CPAN.pm | File | 138.12 KB | 0644 |
|
Carp.pm | File | 19.68 KB | 0644 |
|
DB.pm | File | 18.48 KB | 0644 |
|
DBM_Filter.pm | File | 14.05 KB | 0644 |
|
Digest.pm | File | 10.45 KB | 0644 |
|
DirHandle.pm | File | 1.52 KB | 0644 |
|
Dumpvalue.pm | File | 17.14 KB | 0644 |
|
English.pm | File | 4.65 KB | 0644 |
|
Env.pm | File | 5.39 KB | 0644 |
|
Exporter.pm | File | 2.31 KB | 0644 |
|
Fatal.pm | File | 56.91 KB | 0644 |
|
FileCache.pm | File | 5.44 KB | 0644 |
|
FileHandle.pm | File | 2.06 KB | 0644 |
|
FindBin.pm | File | 4.45 KB | 0644 |
|
Internals.pod | File | 2.52 KB | 0644 |
|
Memoize.pm | File | 35.34 KB | 0644 |
|
NEXT.pm | File | 18.4 KB | 0644 |
|
PerlIO.pm | File | 10.21 KB | 0644 |
|
Safe.pm | File | 24.49 KB | 0644 |
|
SelectSaver.pm | File | 344 B | 0644 |
|
SelfLoader.pm | File | 17.28 KB | 0644 |
|
Symbol.pm | File | 2.05 KB | 0644 |
|
Test.pm | File | 29.35 KB | 0644 |
|
Test2.pm | File | 6.24 KB | 0644 |
|
Thread.pm | File | 8.09 KB | 0644 |
|
UNIVERSAL.pm | File | 6.44 KB | 0644 |
|
XSLoader.pm | File | 3.83 KB | 0644 |
|
_charnames.pm | File | 32.39 KB | 0644 |
|
autodie.pm | File | 12.58 KB | 0644 |
|
autouse.pm | File | 4.14 KB | 0644 |
|
base.pm | File | 8.72 KB | 0644 |
|
bigint.pm | File | 22.85 KB | 0644 |
|
bignum.pm | File | 20.64 KB | 0644 |
|
bigrat.pm | File | 15.78 KB | 0644 |
|
blib.pm | File | 2.04 KB | 0644 |
|
bytes.pm | File | 447 B | 0644 |
|
bytes_heavy.pl | File | 758 B | 0644 |
|
charnames.pm | File | 20.38 KB | 0644 |
|
constant.pm | File | 5.6 KB | 0644 |
|
deprecate.pm | File | 3.43 KB | 0644 |
|
diagnostics.pm | File | 18.59 KB | 0644 |
|
dumpvar.pl | File | 15.19 KB | 0644 |
|
experimental.pm | File | 5.66 KB | 0644 |
|
feature.pm | File | 4.39 KB | 0644 |
|
fields.pm | File | 4.9 KB | 0644 |
|
filetest.pm | File | 3.91 KB | 0644 |
|
if.pm | File | 3.26 KB | 0644 |
|
integer.pm | File | 172 B | 0644 |
|
less.pm | File | 3.13 KB | 0644 |
|
locale.pm | File | 3.34 KB | 0644 |
|
meta_notation.pm | File | 2.07 KB | 0644 |
|
ok.pm | File | 967 B | 0644 |
|
open.pm | File | 7.83 KB | 0644 |
|
overload.pm | File | 4.34 KB | 0644 |
|
overloading.pm | File | 964 B | 0644 |
|
parent.pm | File | 478 B | 0644 |
|
perl5db.pl | File | 309.01 KB | 0644 |
|
perlfaq.pm | File | 78 B | 0644 |
|
sigtrap.pm | File | 7.43 KB | 0644 |
|
sort.pm | File | 5.94 KB | 0644 |
|
strict.pm | File | 1.57 KB | 0644 |
|
subs.pm | File | 848 B | 0644 |
|
utf8.pm | File | 342 B | 0644 |
|
utf8_heavy.pl | File | 30.87 KB | 0644 |
|
vars.pm | File | 1.12 KB | 0644 |
|
version.pm | File | 1.67 KB | 0644 |
|
version.pod | File | 9.63 KB | 0644 |
|
vmsish.pm | File | 4.21 KB | 0644 |
|
warnings.pm | File | 21.44 KB | 0644 |
|