GMP 5.1.1: Valgrind reports incorrect read in __gmpn_copyd (called from __gmpz_mul_2exp)
Alexander Kruppa
akruppa at gmail.com
Thu Feb 21 18:39:14 CET 2013
2013/2/21 Torbjorn Granlund <tg at gmplib.org>:
> We should make sure this is really a valid 16-bit aligned read before we
> report any valgrind bug.
>
> --
> Torbjörn
0x0000000000401a74 in __gmpn_copyd ()
(gdb) disas 0x401a6f,0x401a7d
Dump of assembler code from 0x401a6f to 0x401a7d:
0x0000000000401a6f <__gmpn_copyd+175>: retq
0x0000000000401a70 <__gmpn_copyd+176>: sub $0x10,%rdx
=> 0x0000000000401a74 <__gmpn_copyd+180>: movaps (%rsi),%xmm0
0x0000000000401a77 <__gmpn_copyd+183>: jb 0x401afe <__gmpn_copyd+318>
End of assembler dump.
(gdb) info reg
rax 0x51f45f0 85935600
rbx 0xf6 246
rcx 0x0 0
rdx 0x6b 107
rsi 0x51f45a0 85935520
rdi 0x51f4d98 85937560
rbp 0x7b 0x7b
rsp 0x7ff000448 0x7ff000448
r8 0x6be7d2eeb1 463450861233
r9 0x3d 61
r10 0x7feffee10 34342956560
r11 0x4eb7580 82539904
r12 0x51f45f0 85935600
r13 0x7ff0004b0 34342962352
r14 0x7ff0004c0 34342962368
r15 0x7b 123
rip 0x401a74 0x401a74 <__gmpn_copyd+180>
eflags 0x202 [ IF ]
cs 0x33 51
ss 0x2b 43
ds 0x0 0
es 0x0 0
fs 0x0 0
gs 0x0 0
%rsi is divisible by 16, so looks properly aligned.
Alex
More information about the gmp-bugs
mailing list