Nasm-X86 v20210403 Perl 5 v5.30.2 amd64-freebsd
- Status
- Unknown
- From
- Slaven Rezić
- Dist
-
Nasm-X86 v20210403
- Platform
- Perl 5 v5.30.2 amd64-freebsd
- Date
- 2021-04-03 03:59:28
- ID
- fca8fc38-9430-11eb-a601-db241f24ea8f
This distribution has been tested as part of the CPAN Testers
project, supporting the Perl programming language. See
http://wiki.cpantesters.org/ for more information or email
questions to cpan-testers-discuss@perl.org
--
Dear Philip R Brenan,
This is a computer-generated report for Nasm-X86-20210403
on perl 5.30.2, created by CPAN-Reporter-1.2018.
Thank you for uploading your work to CPAN. However, attempting to
test your distribution gave an inconclusive result.
This could be because your distribution had an error during the make/build
stage, did not define tests, tests could not be found, because your tests were
interrupted before they finished, or because the results of the tests could not
be parsed. You may wish to consult the CPAN Testers Wiki:
http://wiki.cpantesters.org/wiki/CPANAuthorNotes
Sections of this report:
* Tester comments
* Program output
* Prerequisites
* Environment and other context
------------------------------
TESTER COMMENTS
------------------------------
Additional comments from tester:
none provided
------------------------------
PROGRAM OUTPUT
------------------------------
Output from './Build test':
Unable to confirm presence of command: nasm
at /usr/perl5.30.2p/lib/site_perl/5.30.2/Data/Table/Text.pm line 4599, <DATA> line 269.
Data::Table::Text::confirmHasCommandLineCommand("nasm") called at (eval 231) line 11
eval 'use Time::HiRes qw(time);
use Test::More;
my $localTest = ((caller(1))[0]//\'Nasm::X86\') eq "Nasm::X86"; # Local testing mode
Test::More->builder->output("/dev/null") if $localTest; # Reduce number of confirmation messages during testing
$ENV{PATH} = $ENV{PATH}.":/var/isde:sde"; # Intel emulator
if ($^O =~ m(bsd|linux)i) # Supported systems
{if (confirmHasCommandLineCommand(q(nasm)) and # Network assembler
confirmHasCommandLineCommand(q(sde64))) # Intel emulator
{plan tests => 20;
}
else
{plan skip_all =>qq(Nasm or Intel 64 emulator not available);
}
}
else
{plan skip_all =>qq(Not supported on: $^O);
}
my $start = time; # Tests
#goto latest;
if (1) { #TExit #TPrintOutString #Tassemble #TStart
Start;
PrintOutString "Hello World";
Exit;
ok assemble =~ m(Hello World);
}
if (1) { #TMov #TComment #TRs #TPrintOutNl
Start;
Comment "Print a string from memory";
my $s = "Hello World";
my $m = Rs($s);
Mov rsi, $m;
PrintOutString rsi, length($s);
Exit;
ok assemble =~ m(Hello World);
}
if (1) { #TPrintOutRaxInHex #TXor
Start;
my $q = Rs(\'abababab\');
Mov(rax, "[$q]");
PrintOutString "rax: ";
PrintOutRaxInHex;
PrintOutNl;
Xor rax, rax;
PrintOutString "rax: ";
PrintOutRaxInHex;
PrintOutNl;
Exit;
ok assemble() =~ m(rax: 6261 6261 6261 6261.*rax: 0000 0000 0000 0000)s;
}
if (1) { #TPrintOutRegistersInHex #TLea
Start;
my $q = Rs(\'abababab\');
Mov(rax, 1);
Mov(rbx, 2);
Mov(rcx, 3);
Mov(rdx, 4);
Mov(r8, 5);
Lea r9, "[rax+rbx]";
PrintOutRegistersInHex;
Exit;
ok assemble() =~ m(r8: 0000 0000 0000 0005.*r9: 0000 0000 0000 0003.*rax: 0000 0000 0000 0001)s;
}
if (1) { #TVmovdqu32 #TVprolq #TDs
Start;
my $q = Rs(\'a\'..\'z\');
my $d = Ds(\'0\'x64); # Output area
Vmovdqu32(xmm0, "[$q]"); # Load
Vprolq (xmm0, xmm0, 32); # Rotate double words in quad words
Vmovdqu32("[$d]", xmm0); # Save
PrintOutString($d, 16);
Exit;
ok assemble() =~ m(efghabcdmnopijkl)s;
}
if (1) {
Start;
my $q = Rs((\'a\'..\'p\')x2);
my $d = Ds(\'0\'x64);
Vmovdqu32(ymm0, "[$q]");
Vprolq (ymm0, ymm0, 32);
Vmovdqu32("[$d]", ymm0);
PrintOutString($d, 32);
Exit;
ok assemble() =~ m(efghabcdmnopijklefghabcdmnopijkl)s;
}
if (1) { #TPopR #TVmovdqu64
Start;
my $q = Rs((\'a\'..\'p\')x4);
my $d = Ds(\'0\'x128);
Vmovdqu32(zmm0, "[$q]");
Vprolq (zmm0, zmm0, 32);
Vmovdqu32("[$d]", zmm0);
PrintOutString($d, 64);
Sub rsp, 64;
Vmovdqu64 "[rsp]", zmm0;
PopR rax;
PrintOutRaxInHex;
Exit;
ok assemble() =~ m(efghabcdmnopijklefghabcdmnopijklefghabcdmnopijklefghabcdmnopijkl)s;
}
if (1) { #TPrintOutRegisterInHex
Start;
my $q = Rs((\'a\'..\'p\')x4);
Mov r8,"[$q]";
PrintOutRegisterInHex r8;
Exit;
ok assemble() =~ m(r8: 6867 6665 6463 6261)s;
}
if (1) { #TVmovdqu8
Start;
my $q = Rs(\'a\'..\'p\');
Vmovdqu8 xmm0, "[$q]";
PrintOutRegisterInHex xmm0;
Exit;
ok assemble() =~ m(xmm0: 706F 6E6D 6C6B 6A69 6867 6665 6463 6261)s;
}
if (1) {
Start;
my $q = Rs(\'a\'..\'p\', \'A\'..\'P\', );
Vmovdqu8 ymm0, "[$q]";
PrintOutRegisterInHex ymm0;
Exit;
ok assemble() =~ m(ymm0: 504F 4E4D 4C4B 4A49 4847 4645 4443 4241 706F 6E6D 6C6B 6A69 6867 6665 6463 6261)s;
}
if (1) {
Start;
my $q = Rs((\'a\'..\'p\', \'A\'..\'P\') x 2);
Vmovdqu8 zmm0, "[$q]";
PrintOutRegisterInHex zmm0;
Exit;
ok assemble() =~ m(zmm0: 504F 4E4D 4C4B 4A49 4847 4645 4443 4241 706F 6E6D 6C6B 6A69 6867 6665 6463 6261 504F 4E4D 4C4B 4A49 4847 4645 4443 4241 706F 6E6D 6C6B 6A69 6867 6665 6463 6261)s;
}
if (1) { #TallocateMemory #TfreeMemory
Start;
my $N = 2048;
my $n = Rq($N);
my $q = Rs(\'a\'..\'p\');
allocateMemory "[$n]";
PrintOutRegisterInHex rax;
Vmovdqu8 xmm0, "[$q]";
Vmovdqu8 "[rax]", xmm0;
PrintOutString rax,16;
PrintOutNl;
Mov rbx, rax;
freeMemory rbx, "[$n]";
PrintOutRegisterInHex rax;
Vmovdqu8 "[rbx]", xmm0;
Exit;
ok assemble() =~ m(abcdefghijklmnop)s;
}
if (1) { #TreadTimeStampCounter
Start;
for(1..10)
{readTimeStampCounter;
PrintOutRegisterInHex rax;
}
Exit;
my @s = split /\\n/, assemble();
my @S = sort @s;
is_deeply \\@s, \\@S;
}
if (1) { #TIf
Start;
Mov rax, 0;
Test rax,rax;
If
{PrintOutRegisterInHex rax;
} sub
{PrintOutRegisterInHex rbx;
};
Mov rax, 1;
Test rax,rax;
If
{PrintOutRegisterInHex rcx;
} sub
{PrintOutRegisterInHex rdx;
};
Exit;
ok assemble() =~ m(rbx.*rcx)s;
}
if (1) { #TFork #TGetPid #TGetPPid #TWaitPid
Start; # Start the program
Fork; # Fork
Test rax,rax;
If # Parent
{Mov rbx, rax;
WaitPid;
PrintOutRegisterInHex rax;
PrintOutRegisterInHex rbx;
GetPid; # Pid of parent as seen in parent
Mov rcx,rax;
PrintOutRegisterInHex rcx;
}
sub # Child
{Mov r8,rax;
PrintOutRegisterInHex r8;
GetPid; # Child pid as seen in child
Mov r9,rax;
PrintOutRegisterInHex r9;
GetPPid; # Parent pid as seen in child
Mov r10,rax;
PrintOutRegisterInHex r10;
};
Exit; # Return to operating system
my $r = assemble();
# r8: 0000 0000 0000 0000 #1 Return from fork as seen by child
# r9: 0000 0000 0003 0C63 #2 Pid of child
# r10: 0000 0000 0003 0C60 #3 Pid of parent from child
# rax: 0000 0000 0003 0C63 #4 Return from fork as seen by parent
# rbx: 0000 0000 0003 0C63 #5 Wait for child pid result
# rcx: 0000 0000 0003 0C60 #6 Pid of parent
if ($r =~ m(r8:( 0000){4}.*r9:(.*)\\s{5,}r10:(.*)\\s{5,}rax:(.*)\\s{5,}rbx:(.*)\\s{5,}rcx:(.*)\\s{2,})s)
{ok $2 eq $4;
ok $2 eq $5;
ok $3 eq $6;
ok $2 gt $6;
}
}
if (1) { #TFork #TGetPid #TGetPPid #TWaitPid
Start; # Start the program
GetUid; # Userid
PrintOutRegisterInHex rax;
Exit; # Return to operating system
my $r = assemble();
ok $r =~ m(rax:( 0000){3});
}
latest:;
if (1) { #TStat
Start; # Start the program
my $f = Rs($0); # File to stat
StatSize($f); # Stat the file
PrintOutRegisterInHex rax;
Exit; # Return to operating system
my $r = assemble() =~ s( ) ()gsr;
if ($r =~ m(rax:([0-9a-f]{16}))is) # Compare file size obtained with that from fileSize()
{is_deeply $1, sprintf("%016X", fileSize($0));
}
}
lll "Finished:", time - $start;
' called at /usr/home/cpansand/.cpan/build/2021040303/Nasm-X86-20210403-2/blib/lib/Nasm/X86.pm line 1846
Nasm::X86::test() called at test.pl line 11
test.pl .. skipped: Nasm or Intel 64 emulator not available
Files=1, Tests=0, 1 wallclock secs ( 0.02 usr 0.00 sys + 0.14 cusr 0.05 csys = 0.21 CPU)
Result: NOTESTS
------------------------------
PREREQUISITES
------------------------------
Prerequisite modules loaded:
requires:
Module Need Have
----------------- ------ --------
Asm::C 0 20210330
Carp 0 1.50
Data::Dump 0 1.23
Data::Table::Text 0 20201207
feature 0 1.54
Test2::API 0 1.302183
Test::More 0 1.302183
configure_requires:
Module Need Have
----------------- ------ --------
Module::Build 0.4224 0.4231
------------------------------
ENVIRONMENT AND OTHER CONTEXT
------------------------------
Environment variables:
PATH = /usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/cpansand/bin/sh:/home/cpansand/bin:/usr/games:/home/cpansand/devel:/usr/home/eserte/src/srezic-misc/scripts
PERL5LIB =
PERL5OPT =
PERL5_CPANPLUS_IS_RUNNING = 42063
PERL5_CPAN_IS_RUNNING = 42063
PERL5_CPAN_IS_RUNNING_IN_RECURSION = 37574,42063
PERL_BATCH = yes
PERL_CANARY_STABILITY_NOPROMPT = 1
PERL_CPAN_REPORTER_CONFIG = /var/tmp/cpansmoker-1023/2021040303/cpanreporter_000_config.ini
PERL_EXTUTILS_AUTOINSTALL = --defaultdeps
PERL_USE_UNSAFE_INC = 1
SHELL = /bin/sh
TMPDIR = /var/tmp/cpansmoker-1023/2021040303
Perl special variables (and OS-specific diagnostics, for MSWin32):
$^X = /usr/perl5.30.2p/bin/perl5.30.2
$UID/$EUID = 1023 / 1023
$GID = 1023 1023
$EGID = 1023 1023
Perl module toolchain versions installed:
Module Have
------------------- --------
CPAN 2.28
CPAN::Meta 2.150010
Cwd 3.78
ExtUtils::CBuilder 0.280235
ExtUtils::Command 7.58
ExtUtils::Install 2.20
ExtUtils::MakeMaker 7.58
ExtUtils::Manifest 1.72
ExtUtils::ParseXS 3.40
File::Spec 3.78
JSON 4.03
JSON::PP 4.06
Module::Build 0.4231
Module::Signature 0.87
Parse::CPAN::Meta 2.150010
Test::Harness 3.42
Test::More 1.302183
YAML 1.30
YAML::Syck 1.34
version 0.9924
--
Summary of my perl5 (revision 5 version 30 subversion 2) configuration:
Platform:
osname=freebsd
osvers=12.1-stable
archname=amd64-freebsd
uname='freebsd cloud1.bbbike.org 12.1-stable freebsd 12.1-stable 300cf9f9b89(stable12) generic amd64 '
config_args='-ds -e -Dprefix=/usr/perl5.30.2p -Dcf_email=srezic@cpan.org -Doptimize=-O2 -pipe'
hint=recommended
useposix=true
d_sigaction=define
useithreads=undef
usemultiplicity=undef
use64bitint=define
use64bitall=define
uselongdouble=undef
usemymalloc=n
default_inc_excludes_dot=define
bincompat5005=undef
Compiler:
cc='cc'
ccflags ='-DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include'
optimize='-O2 -pipe'
cppflags='-DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include'
ccversion=''
gccversion='FreeBSD Clang 9.0.1 (git@github.com:llvm/llvm-project.git c1a0a213378a458fbea1a5c77b315c7dce08fd05)'
gccosandvers=''
intsize=4
longsize=8
ptrsize=8
doublesize=8
byteorder=12345678
doublekind=3
d_longlong=define
longlongsize=8
d_longdbl=define
longdblsize=16
longdblkind=3
ivtype='long'
ivsize=8
nvtype='double'
nvsize=8
Off_t='off_t'
lseeksize=8
alignbytes=8
prototype=define
Linker and Libraries:
ld='cc'
ldflags ='-pthread -Wl,-E -fstack-protector-strong -L/usr/local/lib'
libpth=/usr/lib /usr/local/lib /usr/lib/clang/9.0.1/lib /usr/lib
libs=-lpthread -lgdbm -ldl -lm -lcrypt -lutil -lc
perllibs=-lpthread -ldl -lm -lcrypt -lutil -lc
libc=
so=so
useshrplib=false
libperl=libperl.a
gnulibc_version=''
Dynamic Linking:
dlsrc=dl_dlopen.xs
dlext=so
d_dlsymun=undef
ccdlflags=' '
cccdlflags='-DPIC -fPIC'
lddlflags='-shared -L/usr/local/lib -fstack-protector-strong'
Characteristics of this binary (from libperl):
Compile-time options:
HAS_TIMES
PERLIO_LAYERS
PERL_COPY_ON_WRITE
PERL_DONT_CREATE_GVSV
PERL_MALLOC_WRAP
PERL_OP_PARENT
PERL_PRESERVE_IVUV
USE_64_BIT_ALL
USE_64_BIT_INT
USE_LARGE_FILES
USE_LOCALE
USE_LOCALE_COLLATE
USE_LOCALE_CTYPE
USE_LOCALE_NUMERIC
USE_LOCALE_TIME
USE_PERLIO
USE_PERL_ATOF
Built under freebsd
Compiled at Mar 14 2020 21:35:07
%ENV:
PERL5LIB=""
PERL5OPT=""
PERL5_CPANPLUS_IS_RUNNING="42063"
PERL5_CPAN_IS_RUNNING="42063"
PERL5_CPAN_IS_RUNNING_IN_RECURSION="37574,42063"
PERL_BATCH="yes"
PERL_CANARY_STABILITY_NOPROMPT="1"
PERL_CPAN_REPORTER_CONFIG="/var/tmp/cpansmoker-1023/2021040303/cpanreporter_000_config.ini"
PERL_EXTUTILS_AUTOINSTALL="--defaultdeps"
PERL_USE_UNSAFE_INC="1"
@INC:
/usr/perl5.30.2p/lib/site_perl/5.30.2/amd64-freebsd
/usr/perl5.30.2p/lib/site_perl/5.30.2
/usr/perl5.30.2p/lib/5.30.2/amd64-freebsd
/usr/perl5.30.2p/lib/5.30.2
.