This is the mail archive of the gdb-prs@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug gdb/23188] Process record does not support instruction 0xc5 (vmovd %esi,%xmm0 / AVX2)


https://sourceware.org/bugzilla/show_bug.cgi?id=23188

Jan Engelhardt <jengelh at inai dot de> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jengelh at inai dot de

--- Comment #3 from Jan Engelhardt <jengelh at inai dot de> ---
---
#include <string.h>
int main(int argc, char **argv)
{
        return strcasecmp(argv[0], "foooooooooooooooooooooooooooobaaaar") == 0;
}
---

(gcc 7.4.0)
$ gcc-7 t.c -ggdb3
$ gdb a.out 
GNU gdb (GDB; openSUSE Tumbleweed) 8.2
Copyright (C) 2018 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-suse-linux".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://bugs.opensuse.org/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from a.out...done.
(gdb) b main
Breakpoint 1 at 0x401126: file t.c, line 4.
(gdb) r
Starting program: a.out 

Breakpoint 1, main (argc=1, argv=0x7fffffffde68) at t.c:4
4               return strcasecmp(argv[0],
"foooooooooooooooooooooooooooobaaaar") == 0;
(gdb) record
(gdb) c
Continuing.
Process record does not support instruction 0xc5 at address 0x7ffff7b7134f.

[1]+  Stopped                 gdb a.out
$ fg
gdb a.out
Process record: failed to record execution log.

Program stopped.
__strcasecmp_l_avx () at ../sysdeps/x86_64/multiarch/strcmp-sse42.S:187
187             movdqa  LABEL(belowupper)(%rip), %xmm4
(gdb) disas
Dump of assembler code for function __strcasecmp_l_avx:
   0x00007ffff7b71330 <+0>:     mov    (%rdx),%rax
   0x00007ffff7b71333 <+3>:     testl  $0x1,0x278(%rax)
   0x00007ffff7b7133d <+13>:    jne    0x7ffff7abaca0 <__strcasecmp_l_nonascii>
   0x00007ffff7b71343 <+19>:    mov    %esi,%ecx
   0x00007ffff7b71345 <+21>:    mov    %edi,%eax
   0x00007ffff7b71347 <+23>:    and    $0x3f,%rcx
   0x00007ffff7b7134b <+27>:    and    $0x3f,%rax
=> 0x00007ffff7b7134f <+31>:    vmovdqa 0x2f649(%rip),%xmm4        #
0x7ffff7ba09a0
   0x00007ffff7b71357 <+39>:    vmovdqa 0x2f661(%rip),%xmm5        #
0x7ffff7ba09c0
   0x00007ffff7b7135f <+47>:    vmovdqa 0x2f629(%rip),%xmm6        #
0x7ffff7ba0990 <blanks>
   0x00007ffff7b71367 <+55>:    cmp    $0x30,%ecx
   0x00007ffff7b7136a <+58>:    ja     0x7ffff7b713d0 <__strcasecmp_l_avx+160>
   0x00007ffff7b7136c <+60>:    cmp    $0x30,%eax
   0x00007ffff7b7136f <+63>:    ja     0x7ffff7b713d0 <__strcasecmp_l_avx+160>
   0x00007ffff7b71371 <+65>:    vmovdqu (%rdi),%xmm1
   0x00007ffff7b71375 <+69>:    vmovdqu (%rsi),%xmm2
   0x00007ffff7b71379 <+73>:    vpcmpgtb %xmm4,%xmm1,%xmm7
   0x00007ffff7b7137d <+77>:    vpcmpgtb %xmm5,%xmm1,%xmm8
   0x00007ffff7b71381 <+81>:    vpcmpgtb %xmm4,%xmm2,%xmm9
   0x00007ffff7b71385 <+85>:    vpcmpgtb %xmm5,%xmm2,%xmm10
   0x00007ffff7b71389 <+89>:    vpandn %xmm7,%xmm8,%xmm8
   0x00007ffff7b7138d <+93>:    vpandn %xmm9,%xmm10,%xmm10
   0x00007ffff7b71392 <+98>:    vpand  %xmm6,%xmm8,%xmm8
   [..]

-- 
You are receiving this mail because:
You are on the CC list for the bug.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]