public inbox for gdb-prs@sourceware.org
help / color / mirror / Atom feed
* [Bug gdb/16304] New: Process Record and Replay don't work on x86-64 perl
@ 2013-12-08 15:03 hjl.tools at gmail dot com
  2013-12-08 15:04 ` [Bug gdb/16304] " hjl.tools at gmail dot com
                   ` (5 more replies)
  0 siblings, 6 replies; 7+ messages in thread
From: hjl.tools at gmail dot com @ 2013-12-08 15:03 UTC (permalink / raw)
  To: gdb-prs

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

            Bug ID: 16304
           Summary: Process Record and Replay don't work on x86-64 perl
           Product: gdb
           Version: 7.6
            Status: NEW
          Severity: normal
          Priority: P2
         Component: gdb
          Assignee: unassigned at sourceware dot org
          Reporter: hjl.tools at gmail dot com

Created attachment 7317
  --> https://sourceware.org/bugzilla/attachment.cgi?id=7317&action=edit
x86-64 perl compiled on Fedora/19

On perl compiled on Fedora 19/x86-64:

[hjl@gnu-4 tmp]$ gdb perlbmk_peak.lto 
GNU gdb (GDB) Fedora 7.6.1-46.fc19
Copyright (C) 2013 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-redhat-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /export/home/hjl/tmp/perlbmk_peak.lto...done.
(gdb) b main
Breakpoint 1 at 0x402920: file unix_perlmain.c, line 24.
(gdb) r
Starting program: /export/home/hjl/tmp/perlbmk_peak.lto 

Breakpoint 1, main (argc=1, argv=0xffffd054, env=0xffffd05c)
    at unix_perlmain.c:24
24    unix_perlmain.c: No such file or directory.
Missing separate debuginfos, use: debuginfo-install glibc-2.17-20.0.fc19.x32
(gdb) record
(gdb) c
Continuing.
Process record: failed to record execution log.

[process 12878] #1 stopped.
0xf7dea437 in _dl_fixup () from /libx32/ld-linux-x32.so.2
(gdb)

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


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Bug gdb/16304] Process Record and Replay don't work on x86-64 perl
  2013-12-08 15:03 [Bug gdb/16304] New: Process Record and Replay don't work on x86-64 perl hjl.tools at gmail dot com
@ 2013-12-08 15:04 ` hjl.tools at gmail dot com
  2013-12-08 15:07 ` [Bug gdb/16304] Process Record and Replay don't work for x32 hjl.tools at gmail dot com
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: hjl.tools at gmail dot com @ 2013-12-08 15:04 UTC (permalink / raw)
  To: gdb-prs

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

--- Comment #1 from H.J. Lu <hjl.tools at gmail dot com> ---
This is an x32 executable.

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


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Bug gdb/16304] Process Record and Replay don't work for x32
  2013-12-08 15:03 [Bug gdb/16304] New: Process Record and Replay don't work on x86-64 perl hjl.tools at gmail dot com
  2013-12-08 15:04 ` [Bug gdb/16304] " hjl.tools at gmail dot com
@ 2013-12-08 15:07 ` hjl.tools at gmail dot com
  2013-12-08 16:36 ` hjl.tools at gmail dot com
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: hjl.tools at gmail dot com @ 2013-12-08 15:07 UTC (permalink / raw)
  To: gdb-prs

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

H.J. Lu <hjl.tools at gmail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|Process Record and Replay   |Process Record and Replay
                   |don't work on x86-64 perl   |don't work for x32

--- Comment #2 from H.J. Lu <hjl.tools at gmail dot com> ---
Process Record and Replay don't support x32.

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


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Bug gdb/16304] Process Record and Replay don't work for x32
  2013-12-08 15:03 [Bug gdb/16304] New: Process Record and Replay don't work on x86-64 perl hjl.tools at gmail dot com
  2013-12-08 15:04 ` [Bug gdb/16304] " hjl.tools at gmail dot com
  2013-12-08 15:07 ` [Bug gdb/16304] Process Record and Replay don't work for x32 hjl.tools at gmail dot com
@ 2013-12-08 16:36 ` hjl.tools at gmail dot com
  2013-12-19 22:21 ` cvs-commit at gcc dot gnu.org
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: hjl.tools at gmail dot com @ 2013-12-08 16:36 UTC (permalink / raw)
  To: gdb-prs

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

--- Comment #3 from H.J. Lu <hjl.tools at gmail dot com> ---
There are several problems.  One of them is

static int
i386_record_lea_modrm_addr (struct i386_record_s *irp, uint64_t *addr)
{
  struct gdbarch *gdbarch = irp->gdbarch;
  enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
  gdb_byte buf[4];
  ULONGEST offset64;

  *addr = 0; 
  if (irp->aflag)
    {    
      /* 32 bits */

This is incorrect.  OP_E_memory in i386-dis.c has

  if ((sizeflag & AFLAG) || address_mode == mode_64bit)
    {
      /* 32/64 bit address mode */

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


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Bug gdb/16304] Process Record and Replay don't work for x32
  2013-12-08 15:03 [Bug gdb/16304] New: Process Record and Replay don't work on x86-64 perl hjl.tools at gmail dot com
                   ` (2 preceding siblings ...)
  2013-12-08 16:36 ` hjl.tools at gmail dot com
@ 2013-12-19 22:21 ` cvs-commit at gcc dot gnu.org
  2013-12-19 22:26 ` cvs-commit at gcc dot gnu.org
  2013-12-19 22:31 ` hjl.tools at gmail dot com
  5 siblings, 0 replies; 7+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2013-12-19 22:21 UTC (permalink / raw)
  To: gdb-prs

http://sourceware.org/bugzilla/show_bug.cgi?id=16304

--- Comment #4 from cvs-commit at gcc dot gnu.org <cvs-commit at gcc dot gnu.org> ---
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "gdb and binutils".

The branch, master has been updated
       via  8ee5199a42ae43b3a9b349640b8a0e2125ede34f (commit)
      from  05c0465e16a5e2db92f8975aebf2bb5aacb1c542 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=8ee5199a42ae43b3a9b349640b8a0e2125ede34f

commit 8ee5199a42ae43b3a9b349640b8a0e2125ede34f
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Thu Dec 19 14:17:48 2013 -0800

    Add amd64_x32_linux_record_tdep and amd64_x32_sys

    X32 Linux system calls are diffferent from amd64 Linux system calls in
    system call numbers as well as parameter types/values.  This patch adds
    amd64_x32_linux_record_tdep and amd64_x32_syscall for x32.

        PR gdb/16304
        * amd64-linux-tdep.c (amd64_canonicalize_syscall): Handle x32
        system calls.
        (amd64_x32_linux_record_tdep): New.
        (amd64_linux_syscall_record_common): New function.
        (amd64_linux_syscall_record): Call
        amd64_linux_syscall_record_common with amd64_linux_record_tdep.
        (amd64_x32_linux_syscall_record): Call
        amd64_linux_syscall_record_common with
        amd64_x32_linux_record_tdep.
        (amd64_linux_init_abi_common): Move amd64_linux_record_tdep
        initialization and tdep->i386_syscall_record setup to ...
        (amd64_linux_init_abi): Here.
        (amd64_x32_linux_init_abi): Initialize
        amd64_x32_linux_record_tdep.  Set tdep->i386_syscall_record to
        amd64_x32_linux_syscall_record.
        * amd64-linux-tdep.h (amd64_x32_syscall): New enum.

-----------------------------------------------------------------------

Summary of changes:
 gdb/ChangeLog          |   20 ++
 gdb/amd64-linux-tdep.c |  564 +++++++++++++++++++++++++++++++++++++++++++-----
 gdb/amd64-linux-tdep.h |  280 ++++++++++++++++++++++++
 3 files changed, 807 insertions(+), 57 deletions(-)

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


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Bug gdb/16304] Process Record and Replay don't work for x32
  2013-12-08 15:03 [Bug gdb/16304] New: Process Record and Replay don't work on x86-64 perl hjl.tools at gmail dot com
                   ` (3 preceding siblings ...)
  2013-12-19 22:21 ` cvs-commit at gcc dot gnu.org
@ 2013-12-19 22:26 ` cvs-commit at gcc dot gnu.org
  2013-12-19 22:31 ` hjl.tools at gmail dot com
  5 siblings, 0 replies; 7+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2013-12-19 22:26 UTC (permalink / raw)
  To: gdb-prs

http://sourceware.org/bugzilla/show_bug.cgi?id=16304

--- Comment #5 from cvs-commit at gcc dot gnu.org <cvs-commit at gcc dot gnu.org> ---
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "gdb and binutils".

The branch, master has been updated
       via  1e87984a63faf4378f6f71c407f7e969441b944e (commit)
       via  e85596e021d0c4246a4ea21885c52e91583c463e (commit)
      from  8ee5199a42ae43b3a9b349640b8a0e2125ede34f (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=1e87984a63faf4378f6f71c407f7e969441b944e

commit 1e87984a63faf4378f6f71c407f7e969441b944e
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Thu Dec 19 14:24:34 2013 -0800

    Properly decode MODRM byte for 64-bit

    64-bit mode doesn't use 16-bit address.  We should always check SIB byte
    for address in 64-bit mode.

        PR gdb/16304
        * i386-tdep.c (i386_record_lea_modrm_addr): Don't use 16-bit
        address in 64-bit mode.

https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=e85596e021d0c4246a4ea21885c52e91583c463e

commit e85596e021d0c4246a4ea21885c52e91583c463e
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Thu Dec 19 14:22:30 2013 -0800

    Zero-extend address from 32-bit to 64-bit for ADDR32 prefix

    When there is ADDR32 prefix in 64-bit mode, we should zero-extend
    address from 32-bit to 64-bit.

        PR gdb/16304
        * i386-tdep.c (i386_record_lea_modrm_addr): Zero-extend 32-bit
        address to 64-bit in 64-bit mode.

-----------------------------------------------------------------------

Summary of changes:
 gdb/ChangeLog   |   12 ++++++++++++
 gdb/i386-tdep.c |   11 +++++++++--
 2 files changed, 21 insertions(+), 2 deletions(-)

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


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Bug gdb/16304] Process Record and Replay don't work for x32
  2013-12-08 15:03 [Bug gdb/16304] New: Process Record and Replay don't work on x86-64 perl hjl.tools at gmail dot com
                   ` (4 preceding siblings ...)
  2013-12-19 22:26 ` cvs-commit at gcc dot gnu.org
@ 2013-12-19 22:31 ` hjl.tools at gmail dot com
  5 siblings, 0 replies; 7+ messages in thread
From: hjl.tools at gmail dot com @ 2013-12-19 22:31 UTC (permalink / raw)
  To: gdb-prs

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

H.J. Lu <hjl.tools at gmail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|---                         |FIXED
   Target Milestone|---                         |7.7

--- Comment #6 from H.J. Lu <hjl.tools at gmail dot com> ---
Fixed.

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


^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2013-12-19 22:31 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-12-08 15:03 [Bug gdb/16304] New: Process Record and Replay don't work on x86-64 perl hjl.tools at gmail dot com
2013-12-08 15:04 ` [Bug gdb/16304] " hjl.tools at gmail dot com
2013-12-08 15:07 ` [Bug gdb/16304] Process Record and Replay don't work for x32 hjl.tools at gmail dot com
2013-12-08 16:36 ` hjl.tools at gmail dot com
2013-12-19 22:21 ` cvs-commit at gcc dot gnu.org
2013-12-19 22:26 ` cvs-commit at gcc dot gnu.org
2013-12-19 22:31 ` hjl.tools at gmail dot com

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).