|
From: Anand K R <kar...@gm...> - 2023-02-15 23:37:54
|
Hi, I am getting the following error when using valgrind version 20. It terminates with sigill. Request for any help in resolving this. vex x86->IR: unhandled instruction bytes: 0x66 0xF 0x3A 0x22 Regards, Anand |
|
From: Paul F. <pj...@wa...> - 2023-02-16 06:53:28
|
> On 16 Feb 2023, at 00:37, Anand K R <kar...@gm...> wrote: > > 0x66 0xF 0x3A 0x22 > I can’t see what that disassembles to. Can you tell us what CPU exactly this is for, and which OS and compiler you are using? Do you get any call stacks (for Valgtind itself or the test exe)? Lastly, can you provide a small reproducer? My guess is that somehow you are jumping to a memory location that is not on an instruction boundary. This could be caused by something like stack corruption overwriting a function return address. A+ Paul |
|
From: John R. <jr...@bi...> - 2023-02-16 15:04:26
|
$ cat foo.s
.byte 0x66,0xF,0x3A,0x22
.byte 0,0,0,0
#
# For x86_64 on x86_64
#
$ gcc --version
gcc (GCC) 12.2.1 20221121 (Red Hat 12.2.1-4)
$ gcc -c foo.s
$ file foo.o
foo.o: ELF 64-bit LSB relocatable, x86-64, version 1 (SYSV), stripped
$ gdb foo.o
GNU gdb (GDB) Fedora 12.1-2.fc36
(gdb) x/i 0
0x0: pinsrd $0x0,(%rax),%xmm0
(gdb)
0x6: add %al,(%rax)
#
# For i686 on x86_64
#
$ gcc -m32 -c foo.s
$ file foo.o
foo.o: ELF 32-bit LSB relocatable, Intel 80386, version 1 (SYSV), stripped
$ gdb foo.o
(gdb) x/i 0
0x0: pinsrd $0x0,(%eax),%xmm0
(gdb)
0x6: add %al,(%eax)
|