/
snap
/
gh
/
640
/
usr
/
lib
/
x86_64-linux-gnu
/
perl-base
/
/snap/gh/640/usr/lib/x86_64-linux-gnu/perl-base
mkdir
upload
Name
Size
Mode
Actions
auto/
-
0755
rm
Carp/
-
0755
rm
Exporter/
-
0755
rm
File/
-
0755
rm
Getopt/
-
0755
rm
Hash/
-
0755
rm
IO/
-
0755
rm
IPC/
-
0755
rm
List/
-
0755
rm
Scalar/
-
0755
rm
Text/
-
0755
rm
Tie/
-
0755
rm
unicore/
-
0755
rm
warnings/
-
0755
rm
attributes.pm
3069
0644
edit
dl
rm
AutoLoader.pm
5487
0644
edit
dl
rm
base.pm
8912
0644
edit
dl
rm
builtin.pm
210
0644
edit
dl
rm
bytes.pm
489
0644
edit
dl
rm
bytes_heavy.pl
758
0644
edit
dl
rm
Carp.pm
25399
0644
edit
dl
rm
Config.pm
3278
0644
edit
dl
rm
Config_git.pl
409
0644
edit
dl
rm
Config_heavy.pl
58406
0644
edit
dl
rm
constant.pm
5737
0644
edit
dl
rm
Cwd.pm
17356
0644
edit
dl
rm
DynaLoader.pm
11266
0644
edit
dl
rm
Errno.pm
4913
0644
edit
dl
rm
Exporter.pm
2336
0644
edit
dl
rm
Fcntl.pm
2100
0644
edit
dl
rm
feature.pm
7891
0644
edit
dl
rm
fields.pm
5008
0644
edit
dl
rm
FileHandle.pm
2111
0644
edit
dl
rm
integer.pm
172
0644
edit
dl
rm
IO.pm
469
0644
edit
dl
rm
lib.pm
2284
0644
edit
dl
rm
locale.pm
3451
0644
edit
dl
rm
overload.pm
4857
0644
edit
dl
rm
overloading.pm
964
0644
edit
dl
rm
parent.pm
460
0644
edit
dl
rm
POSIX.pm
20442
0644
edit
dl
rm
re.pm
9556
0644
edit
dl
rm
SelectSaver.pm
344
0644
edit
dl
rm
Socket.pm
13865
0644
edit
dl
rm
strict.pm
1606
0644
edit
dl
rm
Symbol.pm
2205
0644
edit
dl
rm
utf8.pm
341
0644
edit
dl
rm
vars.pm
1148
0644
edit
dl
rm
warnings.pm
30504
0644
edit
dl
rm
XSLoader.pm
4115
0644
edit
dl
rm
Edit:
/snap/gh/640/usr/lib/x86_64-linux-gnu/perl-base/XSLoader.pm
(4115B)
# Generated from XSLoader_pm.PL (resolved %Config::Config value) # This file is unique for every OS use strict; no strict 'refs'; package XSLoader; our $VERSION = "0.32"; # remember to update version in POD! 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 $modfname_orig = $modfname; # For .bs file search 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; # N.B. The .bs file does not following the naming convention used # by mod2fname, so use the unedited version of the name. my $bs = "$modlibname/auto/$modpname/$modfname_orig.bs"; # This calls DynaLoader::bootstrap, which will load the .bs file if present goto \&XSLoader::bootstrap_inherit if not -f $file or -s $bs; 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(@_); } # Can't test with DynaLoader->can('bootstrap_inherit') when building in the # core, as XSLoader gets built before DynaLoader. sub bootstrap_inherit { require DynaLoader; goto \&DynaLoader::bootstrap_inherit; } 1; __END__
Save
cmd:
run