Server: appserver-7f0f8755-nginx-15961cad18524ec5a9db05f2a6a7e440
Current directory: /usr/lib/x86_64-linux-gnu/perl-base
Software: nginx/1.27.5
Shell Command
Create a new file
Upload file
File: XSLoader.pm
# 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.31"; # 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__
.
50 Items
Change directory
Remove directory
Rename directory
..
1292 Items
Change directory
Remove directory
Rename directory
AutoLoader.pm
5.36 KB
Edit
Delete
Copy
Move
Remame
Carp
1 Items
Change directory
Remove directory
Rename directory
Carp.pm
24.8 KB
Edit
Delete
Copy
Move
Remame
Config.pm
3.14 KB
Edit
Delete
Copy
Move
Remame
Config_git.pl
0.4 KB
Edit
Delete
Copy
Move
Remame
Config_heavy.pl
54.48 KB
Edit
Delete
Copy
Move
Remame
Cwd.pm
16.62 KB
Edit
Delete
Copy
Move
Remame
DynaLoader.pm
11 KB
Edit
Delete
Copy
Move
Remame
Errno.pm
4.8 KB
Edit
Delete
Copy
Move
Remame
Exporter
1 Items
Change directory
Remove directory
Rename directory
Exporter.pm
2.28 KB
Edit
Delete
Copy
Move
Remame
Fcntl.pm
2.05 KB
Edit
Delete
Copy
Move
Remame
File
6 Items
Change directory
Remove directory
Rename directory
FileHandle.pm
2.06 KB
Edit
Delete
Copy
Move
Remame
Getopt
1 Items
Change directory
Remove directory
Rename directory
Hash
1 Items
Change directory
Remove directory
Rename directory
IO
7 Items
Change directory
Remove directory
Rename directory
IO.pm
0.46 KB
Edit
Delete
Copy
Move
Remame
IPC
2 Items
Change directory
Remove directory
Rename directory
List
1 Items
Change directory
Remove directory
Rename directory
POSIX.pm
19.91 KB
Edit
Delete
Copy
Move
Remame
Scalar
1 Items
Change directory
Remove directory
Rename directory
SelectSaver.pm
0.34 KB
Edit
Delete
Copy
Move
Remame
Socket.pm
13.5 KB
Edit
Delete
Copy
Move
Remame
Symbol.pm
2.15 KB
Edit
Delete
Copy
Move
Remame
Text
3 Items
Change directory
Remove directory
Rename directory
Tie
1 Items
Change directory
Remove directory
Rename directory
XSLoader.pm
4.02 KB
Edit
Delete
Copy
Move
Remame
attributes.pm
3 KB
Edit
Delete
Copy
Move
Remame
auto
10 Items
Change directory
Remove directory
Rename directory
base.pm
8.7 KB
Edit
Delete
Copy
Move
Remame
builtin.pm
0.21 KB
Edit
Delete
Copy
Move
Remame
bytes.pm
0.48 KB
Edit
Delete
Copy
Move
Remame
bytes_heavy.pl
0.74 KB
Edit
Delete
Copy
Move
Remame
constant.pm
5.6 KB
Edit
Delete
Copy
Move
Remame
feature.pm
7.38 KB
Edit
Delete
Copy
Move
Remame
fields.pm
4.89 KB
Edit
Delete
Copy
Move
Remame
integer.pm
0.17 KB
Edit
Delete
Copy
Move
Remame
lib.pm
2.23 KB
Edit
Delete
Copy
Move
Remame
locale.pm
3.37 KB
Edit
Delete
Copy
Move
Remame
overload.pm
4.39 KB
Edit
Delete
Copy
Move
Remame
overloading.pm
0.94 KB
Edit
Delete
Copy
Move
Remame
parent.pm
0.45 KB
Edit
Delete
Copy
Move
Remame
re.pm
9.33 KB
Edit
Delete
Copy
Move
Remame
strict.pm
1.57 KB
Edit
Delete
Copy
Move
Remame
unicore
2 Items
Change directory
Remove directory
Rename directory
utf8.pm
0.33 KB
Edit
Delete
Copy
Move
Remame
vars.pm
1.12 KB
Edit
Delete
Copy
Move
Remame
warnings
1 Items
Change directory
Remove directory
Rename directory
warnings.pm
28.97 KB
Edit
Delete
Copy
Move
Remame