https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94474
--- Comment #1 from Bernd Edlinger <bernd.edlinger at hotmail dot de> ---
Hi,
I use a newer binutils versions FWIW, and buit GCC-10 from
a few days ago using those binutils.
$ readelf -version
GNU readelf (GNU Binutils) 2.32
Copyright (C) 2019 Free Software Foundation, Inc.
This program is free software; you may redistribute it under the terms of
the GNU General Public License version 3 or (at your option) any later version.
This program has absolutely no warranty.
instead of
#+BEGIN_EXAMPLE
<2><8db>: Abbrev Number: 38 (DW_TAG_inlined_subroutine)
<8dc> DW_AT_abstract_origin: <0x9cc>
<8e0> DW_AT_entry_pc : 0x400545
<8e8> Unknown AT value: 2138: 3
<8e9> DW_AT_ranges : 0x30
<8ed> DW_AT_call_file : 1
<8ee> DW_AT_call_line : 52
<8ef> DW_AT_call_column : 10
<8f0> DW_AT_sibling : <0x92f>
#+END_EXAMPLE
I see:
<2><8b3>: Abbrev Number: 38 (DW_TAG_inlined_subroutine)
<8b4> DW_AT_abstract_origin: <0x9a4>
<8b8> DW_AT_entry_pc : 0x401165
<8c0> DW_AT_GNU_entry_view: 0
<8c1> DW_AT_ranges : 0x30
<8c5> DW_AT_call_file : 1
<8c6> DW_AT_call_line : 52
<8c7> DW_AT_call_column : 10
<8c8> DW_AT_sibling : <0x907>
But as you can see there is a view number where
the range begins, but there is no view number where
the range ends.
I am not sure if there are any view numbers when
the inline has multiple ranges, (I dont remember)
Therefore I try to chamge gdb to ignore is-stmt breakpoints
which are at the end of the inline block.
I am not sure if an entirely new DWARF version is necessary,
or just a new AT value: like 2139 or so, to give us
an idea if the is-stmt is per its view in the subroutine
or in the calling program.
Bernd.