RE: cannot find bounds of function error

vijay nag <[email protected]>
Newsgroups gmane.comp.gdb.devel
Message-ID <CAKhyrx8aDzz78UgWjUN78q7pWZ0=-Y3KH8oOkFb3P2RCK+F52Q@mail.gmail.com>
Hello gdb-veterans,

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

(gdb) n
224	      if (1==fscanf(rva, "%d", &val)) {
(gdb) n
225		if (val) {
(gdb) n
237	      fclose(rva);
(gdb) n
242	      } else if (val) {
(gdb) n
252	  if (getenv("ARGV0")) {
(gdb) n
256	  init(argc, argv,
(gdb) n
268	  priv_init();
(gdb) n
273	  config.argv0short = strrchr(argv[0], '/');
(gdb) p &strrchr
$1 = (<text gnu-indirect-function variable, no debug info> *)
0x13b1b600 <strrchr>
(gdb) n
0x08048430 in ?? ()
(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) n
Cannot find bounds of current function
(gdb)

The corresponding assembly before strrchr func here is as below

0x122b6ca7 <main+498>   mov    0xc(%ebp),%ebx

                              │
   │0x122b6caa <main+501>   movl   $0x2f,0x4(%esp)

                                  │
   │0x122b6cb2 <main+509>   mov    (%ebx),%eax

                                  │
   │0x122b6cb4 <main+511>   mov    %eax,(%esp)

                                  │
   │0x122b6cb7 <main+514>   call   0x8048430

Here 0x8048430 appears to be a call to PLT and entry for strrchr seems
to be resolved already

(gdb) p /x *0x178ff5d8
$3 = 0x13b3b0d0
(gdb) info line *0x13b3b0d0
Line 42 of "../sysdeps/i386/i686/multiarch/strrchr-sse2-bsf.S" starts
at address 0x13b3b0d0 <__strrchr_sse2_bsf> and ends at 0x13b3b0d4
<__strrchr_sse2_bsf+4>.
(gdb)
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.