GMP 6.0.0a on AMD A8-6600K
Kevin Buckley
kevin.m.buckley at gmail.com
Sat Apr 11 11:20:50 UTC 2015
On 10 April 2015 at 04:41, <tg at gmplib.org> wrote:
>> As noted in the Xen package listings provided, I believe it's the latest
>> available for the Ubuntu 12.04 distribution.
>
> Version? The command "xl info" should give you that.
4.1
as detailed previously
>> with these Xen packages
>>
>> libxen-4.1_4.1.6.1-0ubuntu0.12.04.5_amd64.deb
>> libxenstore3.0_4.1.6.1-0ubuntu0.12.04.5_amd64.deb
>> xen-hypervisor-4.1-amd64_4.1.6.1-0ubuntu0.12.04.5_amd64.deb
>> xen-tools_4.2.1-1_all.deb
>> xen-utils-4.1_4.1.6.1-0ubuntu0.12.04.5_amd64.deb
>> xen-utils-common_4.1.2-1ubuntu1_all.deb
>> xenstore-utils_4.1.6.1-0ubuntu0.12.04.5_amd64.deb
> We need you to check the culprit instruction with gdb, as suggested.
> Then we can go from there.
This is the building and output from the t-get_d binary, basically what
"make check" does but with the -g
gcc -g -std=gnu99 -DHAVE_CONFIG_H -I. -I../.. -I../.. -I../../tests \
-O2 -pedantic -fomit-frame-pointer -m64 -mtune=bdver1 -march=bdver1 \
-c t-get_d.c
gcc -g -std=gnu99 \
-O2 -pedantic -fomit-frame-pointer -m64 -mtune=bdver1 -march=bdver1 \
-o t-get_d \
t-get_d.o \
../../tests/.libs/libtests.a \
/root/20150411/gmp-6.0.0-20150409/.libs/libgmp.so \
../../.libs/libgmp.so
# gdb t-get_d
GNU gdb (Ubuntu/Linaro 7.4-2012.04-0ubuntu2.1) 7.4-2012.04
Copyright (C) 2012 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
For bug reporting instructions, please see:
<http://bugs.launchpad.net/gdb-linaro/>...
Reading symbols from /root/20150411/gmp-6.0.0-20150409/tests/mpn/t-get_d...done.
(gdb) run
Starting program: /root/20150411/gmp-6.0.0-20150409/tests/mpn/t-get_d
Program received signal SIGILL, Illegal instruction.
0x000000000040214f in check_onebit () at t-get_d.c:86
86 np[bit/GMP_NUMB_BITS] = CNST_LIMB(1) << (bit % GMP_NUMB_BITS);
(gdb) p $pc
$1 = (void (*)()) 0x40214f <check_onebit+79>
(gdb) disassemble
Dump of assembler code for function check_onebit:
0x0000000000402100 <+0>: push %r15
0x0000000000402102 <+2>: mov $0x40b080,%r15d
0x0000000000402108 <+8>: push %r14
0x000000000040210a <+10>: push %r13
0x000000000040210c <+12>: push %r12
0x000000000040210e <+14>: push %rbp
0x000000000040210f <+15>: push %rbx
0x0000000000402110 <+16>: sub $0xe8,%rsp
0x0000000000402117 <+23>: nopw 0x0(%rax,%rax,1)
0x0000000000402120 <+32>: movslq (%r15),%r12
0x0000000000402123 <+35>: lea 0x40(%rsp),%rdi
0x0000000000402128 <+40>: mov %r12,%rax
0x000000000040212b <+43>: lea 0x7f(%r12),%r13
0x0000000000402130 <+48>: add $0x40,%rax
0x0000000000402134 <+52>: cmovns %rax,%r13
0x0000000000402138 <+56>: sar $0x6,%r13
0x000000000040213c <+60>: mov %r13,%rsi
0x000000000040213f <+63>: callq 0x403d60 <refmpn_zero>
0x0000000000402144 <+68>: test %r12,%r12
0x0000000000402147 <+71>: lea 0x3f(%r12),%rax
0x000000000040214c <+76>: mov %r12,%rsi
=> 0x000000000040214f <+79>: vmovsd 0x9031(%rip),%xmm2 # 0x40b188
0x0000000000402157 <+87>: cmovs %rax,%rsi
0x000000000040215b <+91>: mov %r12,%rax
0x000000000040215e <+94>: cqto
0x0000000000402160 <+96>: sar $0x6,%rsi
0x0000000000402164 <+100>: shr $0x3a,%rdx
0x0000000000402168 <+104>: xor %r14d,%r14d
0x000000000040216b <+107>: lea (%r12,%rdx,1),%rcx
0x000000000040216f <+111>: and $0x3f,%ecx
0x0000000000402172 <+114>: sub %dl,%cl
0x0000000000402174 <+116>: mov $0x1,%edx
0x0000000000402179 <+121>: shl %cl,%rdx
0x000000000040217c <+124>: mov %rdx,0x40(%rsp,%rsi,8)
0x0000000000402181 <+129>: nopl 0x0(%rax)
0x0000000000402188 <+136>: movslq 0x40b110(%r14),%rbp
0x000000000040218f <+143>: lea (%r12,%rbp,1),%rbx
0x0000000000402193 <+147>: cmp $0x1fe,%rbx
0x000000000040219a <+154>: jg 0x40224d <check_onebit+333>
0x00000000004021a0 <+160>: cmp $0xfffffffffffffe02,%rbx
0x00000000004021a7 <+167>: jl 0x40224d <check_onebit+333>
0x00000000004021ad <+173>: cmp $0x0,%rbx
0x00000000004021b1 <+177>: jle 0x40227e <check_onebit+382>
0x00000000004021b7 <+183>: vmovsd 0x8fc1(%rip),%xmm1 # 0x40b180
0x00000000004021bf <+191>: xor %eax,%eax
I can send the full dump, another 4 screenfulls or so, if the higlighted line
doesn't tell you what you need to know.
Will work through the others tomorrow (Sunday)
Kevin
More information about the gmp-bugs
mailing list