Package: gdb
Version: 7.12-6
Severity: normal
Tags: upstream

Reverse debugging is currently broken with sid's combination of libc
and GDB on x86_64. The problem is that support for some instructions
is missing; one of these is vorpd, used at least in libc's memset():

============================================================
$ gcc gdb-test.c -o gdb-test -g
$ gdb -q gdb-test
Reading symbols from gdb-test...done.
(gdb) start
Temporary breakpoint 1 at 0x6d4: file gdb-test.c, line 10.
Starting program: /home/sliedes/gdb-test/gdb-test

Temporary breakpoint 1, main () at gdb-test.c:10
10          foo();
(gdb) target record-full
(gdb) c
Continuing.
Process record does not support instruction 0xc5 at address 0x7ffff7deea70.
Process record: failed to record execution log.

Program stopped.
_dl_runtime_resolve_avx_slow () at ../sysdeps/x86_64/dl-trampoline.h:70
70      ../sysdeps/x86_64/dl-trampoline.h: No such file or directory.
(gdb) disas
Dump of assembler code for function _dl_runtime_resolve_avx_slow:
=> 0x00007ffff7deea70 <+0>:     vorpd  %ymm0,%ymm1,%ymm8
   0x00007ffff7deea74 <+4>:     vorpd  %ymm2,%ymm3,%ymm9
   0x00007ffff7deea78 <+8>:     vorpd  %ymm4,%ymm5,%ymm10
   0x00007ffff7deea7c <+12>:    vorpd  %ymm6,%ymm7,%ymm11
   0x00007ffff7deea80 <+16>:    vorpd  %ymm8,%ymm9,%ymm9
   0x00007ffff7deea85 <+21>:    vorpd  %ymm10,%ymm11,%ymm10
   0x00007ffff7deea8a <+26>:    vpcmpeqd %xmm8,%xmm8,%xmm8
   0x00007ffff7deea8f <+31>:    vorpd  %ymm9,%ymm10,%ymm10
   0x00007ffff7deea94 <+36>:    vptest %ymm10,%ymm8
   0x00007ffff7deea99 <+41>:    bnd jae 0x7ffff7deead0 <_dl_runtime_resolve_avx>
   0x00007ffff7deea9c <+44>:    vzeroupper
   0x00007ffff7deea9f <+47>:    bnd jmpq 0x7ffff7def3f0 
<_dl_runtime_resolve_sse_vex>
End of assembler dump.
(gdb) reverse-stepi
0x0000555555554556 in ?? ()
(gdb)
0x0000555555554550 in ?? ()
(gdb)
0x000055555555456b in memset@plt ()
(gdb)
============================================================

-- System Information:
Debian Release: 9.0
  APT prefers unstable
  APT policy: (500, 'unstable'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 4.9.6 (SMP w/8 CPU cores; PREEMPT)
Locale: LANG=en_US.UTF-8, LC_CTYPE=fi_FI.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)

Versions of packages gdb depends on:
ii  libbabeltrace-ctf1  1.5.1-1
ii  libbabeltrace1      1.5.1-1
ii  libc6               2.24-9
ii  libexpat1           2.2.0-2
ii  liblzma5            5.2.2-1.2
ii  libncurses5         6.0+20161126-1
ii  libpython3.5        3.5.3-1
ii  libreadline7        7.0-2
ii  libtinfo5           6.0+20161126-1
ii  zlib1g              1:1.2.8.dfsg-5

Versions of packages gdb recommends:
ii  libc6-dbg [libc-dbg]  2.24-9

Versions of packages gdb suggests:
ii  gdb-doc    7.12-2
ii  gdbserver  7.12-6

-- no debconf information

Reply via email to