Mirror of the gdb mailing list
 help / color / mirror / Atom feed
From: vijay nag <vijunag@gmail.com>
To: Jan Kratochvil <jan.kratochvil@redhat.com>
Cc: "gdb@sourceware.org" <gdb@sourceware.org>
Subject: Re: cannot find bounds of function error
Date: Tue, 13 Aug 2013 08:59:00 -0000	[thread overview]
Message-ID: <CAKhyrx_kf23WEYUoco4RuoA013ecDV13poQVdqb-p+wiFijMAg@mail.gmail.com> (raw)
In-Reply-To: <CAKhyrx85ALN2119ZE3mzgp9uxTej=vVcQoxeX7245ZVF6cMR8w@mail.gmail.com>

On Wed, Jul 24, 2013 at 6:58 PM, vijay nag <vijunag@gmail.com> wrote:
> On Wed, Jul 24, 2013 at 6:19 PM, vijay nag <vijunag@gmail.com> wrote:
>>
>>
>> On Wednesday, July 24, 2013, Jan Kratochvil <jan.kratochvil@redhat.com>
>> wrote:
>>> On Wed, 24 Jul 2013 11:44:15 +0200, vijay nag wrote:
>>>> My latest gdb-7.5  barfs out  "cannot find bounds of current function"
>>>> error when it encounters GNU_IFUNC while executing one line of code at
>>>> a time using "next" command
>>>
>>> Sorry I did not analyze exactly your case but ensure your glibc contains
>>> this
>>> patch fixing how GDB deals with gnu-ifuncs:
>>>
>>>         commit f85fa27058eb7d4b56b8deaf885064cf8d730f68
>>>         Author: H.J. Lu <hjl.tools@gmail.com>
>>>         Date:   Thu Aug 9 16:04:37 2012 -0700
>>>             Avoid DWARF definition DIE on ifunc symbols
>>>
>>> Besides that there is already stable gdb-7.6 but I do not know about any
>>> specific change there for gnu-ifunc.
>>>
>>>
>>> Jan
>>>
>> Nice to hear from you again and I appreciate your quick turn-around. I shall
>> patch the changes to my glibc and check if that is just enough for the
>> gdb-7.5 to get going.
>>
>> Thanks
>
>
> I do see the patch in my glibc-2.17. What could be the issue here ?

Jan,

First of all,  glibc-2.17 seems to be having the fix that you mentioned.

Second of all, I upgraded gdb to 7.6 and still encountering the same problem.

Gdb is confused when the program jumps to PLT in-order to execute
GNU-IFUNC and any number of "Next" command will not make the program
proceed any further.

(gdb) p $eip
$1 = (void (*)()) 0x8048430
(gdb) n
Cannot find bounds of current function
(gdb) n
Cannot find bounds of current function
(gdb) n
Cannot find bounds of current function
(gdb) display $eip

1: $eip = (void (*)()) 0x8048430
(gdb)
(gdb) n
Cannot find bounds of current function
(gdb) n
Cannot find bounds of current function
(gdb) n
Cannot find bounds of current function
(gdb) n
Cannot find bounds of current function
(gdb) p $eip
$2 = (void (*)()) 0x8048430
(gdb)


I was looking the code diff of "step_once" function in the version 7.6 and 6.3

infcmd.c
       const char *name;

        if (find_pc_partial_function (pc, &name,
              &tp->control.step_range_start,
              &tp->control.step_range_end) == 0)
    error (_("Cannot find bounds of current function"));

        target_terminal_ours ();
        printf_filtered (_("Single stepping until exit from function %s,"
         "\nwhich has no line number information.\n"),
             name);
      }

Earlier version had  a plain printf for the error line, where as in
the newer versions it has been replaced by error_() which seems to be
unwinding the current gdb stack by doing a long-jump.  Any statements
after error() are superfluously existing without any effect.


      reply	other threads:[~2013-08-13  8:59 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-07-24  9:44 vijay nag
2013-07-24 12:39 ` Jan Kratochvil
     [not found]   ` <CAKhyrx_LP-rqJMN_CoJ_Hy9X8+1or9CTQab=ioHBfnFBVjQ-nQ@mail.gmail.com>
2013-07-24 13:28     ` vijay nag
2013-08-13  8:59       ` vijay nag [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAKhyrx_kf23WEYUoco4RuoA013ecDV13poQVdqb-p+wiFijMAg@mail.gmail.com \
    --to=vijunag@gmail.com \
    --cc=gdb@sourceware.org \
    --cc=jan.kratochvil@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox