Nasm-X86 v20210403 Perl 5 v5.28.1 amd64-freebsd

Status
Pass
From
Chris Williams (BINGOS)
Dist
Nasm-X86 v20210403
Platform
Perl 5 v5.28.1 amd64-freebsd
Date
2021-04-08 15:53:39
ID
95e19fb8-9882-11eb-84bc-edd243e66a77
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 PRBRENAN,

This is a computer-generated error report created automatically by
CPANPLUS, version 0.9910. Testers personal comments may appear
at the end of this report.


Thank you for uploading your work to CPAN.  Congratulations!
All tests were successful.

TEST RESULTS:

Below is the error stack from stage 'make test':

Unable to confirm presence of command: sde64
 at /usr/home/cpan/pit/jail/jmondAdaV2/lib/perl5/Data/Table/Text.pm line 4675, <DATA> line 269.
	Data::Table::Text::confirmHasCommandLineCommand("sde64") called at (eval 270) 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;                                                                         test.pl .. skipped: Nasm or Intel 64 emulator not available
Files=1, Tests=0,  0 wallclock secs ( 0.03 usr  0.02 sys +  0.35 cusr  0.12 csys =  0.53 CPU)
Result: NOTESTS
# 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/cpan/pit/bare/conf/perl-5.28.1/.cpanplus/5.28.1/build/q_jq7hdYcL/Nasm-X86-20210403/blib/lib/Nasm/X86.pm line 1846
	Nasm::X86::test() called at test.pl line 11


PREREQUISITES:

Here is a list of prerequisites you specified and versions we
managed to load:

	  Module Name                        Have     Want
	  Asm::C                         20210330        0
	  Carp                               1.50        0
	  Data::Dump                         1.23        0
	  Data::Table::Text              20210328        0
	  Test2::API                     1.302183        0
	  Test::More                     1.302183        0
	  feature                            1.52        0

Perl module toolchain versions installed:
	Module Name                        Have
	CPANPLUS                         0.9910
	CPANPLUS::Dist::Build              0.90
	Cwd                                3.75
	ExtUtils::CBuilder             0.280235
	ExtUtils::Command                  7.58
	ExtUtils::Install                  2.20
	ExtUtils::MakeMaker                7.58
	ExtUtils::Manifest                 1.73
	ExtUtils::ParseXS                  3.39
	File::Spec                         3.75
	Module::Build                    0.4231
	Pod::Parser                        1.63
	Pod::Simple                        3.35
	Test2                          1.302183
	Test::Harness                      3.42
	Test::More                     1.302183
	version                          0.9928

******************************** NOTE ********************************
The comments above are created mechanically, possibly without manual
checking by the sender.  As there are many people performing automatic
tests on each upload to CPAN, it is likely that you will receive
identical messages about the same problem.

If you believe that the message is mistaken, please reply to the first
one with correction and/or additional informations, and do not take
it personally.  We appreciate your patience. :)
**********************************************************************

Additional comments:


This report was machine-generated by CPANPLUS::Dist::YACSmoke 1.08.
Powered by minismokebox version 0.68

CPANPLUS is prefering Build.PL

------------------------------
ENVIRONMENT AND OTHER CONTEXT
------------------------------

Environment variables:

    AUTOMATED_TESTING = 1
    NONINTERACTIVE_TESTING = 1
    PATH = /sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:/home/cpan/bin
    PERL5LIB = /usr/home/cpan/pit/jail/jmondAdaV2/lib/perl5:/usr/home/cpan/pit/bare/conf/perl-5.28.1/.cpanplus/5.28.1/build/xYjQMIBJL7/Data-Table-Text-20210328/blib/lib:/usr/home/cpan/pit/bare/conf/perl-5.28.1/.cpanplus/5.28.1/build/xYjQMIBJL7/Data-Table-Text-20210328/blib/arch:/usr/home/cpan/pit/bare/conf/perl-5.28.1/.cpanplus/5.28.1/build/eHhFnOeJjI/Asm-C-20210330/blib/lib:/usr/home/cpan/pit/bare/conf/perl-5.28.1/.cpanplus/5.28.1/build/eHhFnOeJjI/Asm-C-20210330/blib/arch:/usr/home/cpan/pit/bare/conf/perl-5.28.1/.cpanplus/5.28.1/build/q_jq7hdYcL/Nasm-X86-20210403/blib/lib:/usr/home/cpan/pit/bare/conf/perl-5.28.1/.cpanplus/5.28.1/build/q_jq7hdYcL/Nasm-X86-20210403/blib/arch
    PERL5_CPANPLUS_IS_RUNNING = 71208
    PERL5_CPANPLUS_IS_VERSION = 0.9910
    PERL5_MINISMOKEBOX = 0.68
    PERL5_YACSMOKE_BASE = /usr/home/cpan/pit/bare/conf/perl-5.28.1
    PERL_EXTUTILS_AUTOINSTALL = --defaultdeps
    PERL_LOCAL_LIB_ROOT = /usr/home/cpan/pit/jail/jmondAdaV2
    PERL_MB_OPT = --install_base "/usr/home/cpan/pit/jail/jmondAdaV2"
    PERL_MM_OPT = INSTALL_BASE=/usr/home/cpan/pit/jail/jmondAdaV2
    PERL_MM_USE_DEFAULT = 1
    SHELL = /usr/local/bin/bash
    TERM = screen

Perl special variables (and OS-specific diagnostics, for MSWin32):

    Perl: $^X = /usr/home/cpan/pit/bare/perl-5.28.1/bin/perl
    UID:  $<  = 1002
    EUID: $>  = 1002
    GID:  $(  = 1002 1002
    EGID: $)  = 1002 1002


-------------------------------


--

Summary of my perl5 (revision 5 version 28 subversion 1) configuration:
   
  Platform:
    osname=freebsd
    osvers=11.4-release
    archname=amd64-freebsd
    uname='freebsd fetlock 11.4-release freebsd 11.4-release #0 r362094: fri jun 12 18:27:15 utc 2020 root@releng2.nyi.freebsd.org:usrobjusrsrcsysgeneric amd64 '
    config_args='-des -Dprefix=/usr/home/cpan/pit/bare/perl-5.28.1'
    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'
    cppflags='-DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include'
    ccversion=''
    gccversion='FreeBSD Clang 10.0.0 (git@github.com:llvm/llvm-project.git llvmorg-10.0.0-0-gd32170dbd5b)'
    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 ='-Wl,-E  -fstack-protector-strong -L/usr/local/lib'
    libpth=/usr/lib /usr/local/lib /usr/lib/clang/10.0.0/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
  Locally applied patches:
    Devel::PatchPerl 2.00
  Built under freebsd
  Compiled at Jul  1 2020 13:07:24
  %ENV:
    PERL5LIB="/usr/home/cpan/pit/jail/jmondAdaV2/lib/perl5:/usr/home/cpan/pit/bare/conf/perl-5.28.1/.cpanplus/5.28.1/build/xYjQMIBJL7/Data-Table-Text-20210328/blib/lib:/usr/home/cpan/pit/bare/conf/perl-5.28.1/.cpanplus/5.28.1/build/xYjQMIBJL7/Data-Table-Text-20210328/blib/arch:/usr/home/cpan/pit/bare/conf/perl-5.28.1/.cpanplus/5.28.1/build/eHhFnOeJjI/Asm-C-20210330/blib/lib:/usr/home/cpan/pit/bare/conf/perl-5.28.1/.cpanplus/5.28.1/build/eHhFnOeJjI/Asm-C-20210330/blib/arch:/usr/home/cpan/pit/bare/conf/perl-5.28.1/.cpanplus/5.28.1/build/q_jq7hdYcL/Nasm-X86-20210403/blib/lib:/usr/home/cpan/pit/bare/conf/perl-5.28.1/.cpanplus/5.28.1/build/q_jq7hdYcL/Nasm-X86-20210403/blib/arch"
    PERL5_CPANPLUS_IS_RUNNING="71208"
    PERL5_CPANPLUS_IS_VERSION="0.9910"
    PERL5_MINISMOKEBOX="0.68"
    PERL5_YACSMOKE_BASE="/usr/home/cpan/pit/bare/conf/perl-5.28.1"
    PERL_EXTUTILS_AUTOINSTALL="--defaultdeps"
    PERL_LOCAL_LIB_ROOT="/usr/home/cpan/pit/jail/jmondAdaV2"
    PERL_MB_OPT="--install_base "/usr/home/cpan/pit/jail/jmondAdaV2""
    PERL_MM_OPT="INSTALL_BASE=/usr/home/cpan/pit/jail/jmondAdaV2"
    PERL_MM_USE_DEFAULT="1"
  @INC:
    /usr/home/cpan/pit/jail/jmondAdaV2/lib/perl5/5.28.1/amd64-freebsd
    /usr/home/cpan/pit/jail/jmondAdaV2/lib/perl5/5.28.1
    /usr/home/cpan/pit/jail/jmondAdaV2/lib/perl5/amd64-freebsd
    /usr/home/cpan/pit/jail/jmondAdaV2/lib/perl5
    /usr/home/cpan/pit/bare/conf/perl-5.28.1/.cpanplus/5.28.1/build/xYjQMIBJL7/Data-Table-Text-20210328/blib/lib
    /usr/home/cpan/pit/bare/conf/perl-5.28.1/.cpanplus/5.28.1/build/xYjQMIBJL7/Data-Table-Text-20210328/blib/arch
    /usr/home/cpan/pit/bare/conf/perl-5.28.1/.cpanplus/5.28.1/build/eHhFnOeJjI/Asm-C-20210330/blib/lib
    /usr/home/cpan/pit/bare/conf/perl-5.28.1/.cpanplus/5.28.1/build/eHhFnOeJjI/Asm-C-20210330/blib/arch
    /usr/home/cpan/pit/bare/conf/perl-5.28.1/.cpanplus/5.28.1/build/q_jq7hdYcL/Nasm-X86-20210403/blib/lib
    /usr/home/cpan/pit/bare/conf/perl-5.28.1/.cpanplus/5.28.1/build/q_jq7hdYcL/Nasm-X86-20210403/blib/arch
    /usr/home/cpan/pit/bare/perl-5.28.1/lib/site_perl/5.28.1/amd64-freebsd
    /usr/home/cpan/pit/bare/perl-5.28.1/lib/site_perl/5.28.1
    /usr/home/cpan/pit/bare/perl-5.28.1/lib/5.28.1/amd64-freebsd
    /usr/home/cpan/pit/bare/perl-5.28.1/lib/5.28.1