DynaLoader shouldn't use mod2fname when finding .bs files.
Some platforms (probably only VMS and Android at the moment) take
special steps via the function DynaLoader::mod2fname to construct
a dynamic library name that will be unique and (if too long)
truncated. Then DynaLoader looks for a bootstrap file with the
exact same name as the dynamic library except with a .bs file
extension.
However, ExtUtils::MakeMaker has never produced bootstrap files
that have been run through mod2fname, so while a Foo:Bar extension
would produce a loadable library named PL__Foo_Bar.exe, the
bootstrap would be called Bar.bs. That shouldn't be a problem
since the bootstrap file is just Perl code read by Perl, but
DynaLoader has (apparently forever) been looking for
PL__Foo_Bar.bs and not finding it. So let's look for it by the
name under which it actually exists.
There are no core extensions that produce non-empty bootstrap
files and no existing test coverage, but as-yet-unintegrated
versions of MakeMaker do have such tests. See, for example,
https://github.com/Perl-Toolchain-Gang/ExtUtils-MakeMaker/commit/
7f5e9a35addeea7ebfcded28277c85f723e1a5de