binutils-gdb/gdb/testsuite/gdb.opt
Hannes Domani 633680620b Fix backtrace limit stopping on inline frame
If you have set up a backtrace limit, and the backtrace stops
because of this in an inline frame with arguments, you get an
assertion failure:
```
(gdb) bt
(gdb) set backtrace limit 2
(gdb) bt
C:/src/repos/binutils-gdb.git/gdb/frame.c:3346: internal-error: reinflate: Assertion `m_cached_level >= -1' failed.
```

And if this one is fixed, there is another one as well:
```
(gdb) bt
C:/src/repos/binutils-gdb.git/gdb/dwarf2/loc.c:1160: internal-error: dwarf_expr_reg_to_entry_parameter: Assertion `frame != NULL' failed.
```

The reason for both of them is this kind of loop:
```
  while (get_frame_type (frame) == INLINE_FRAME)
    frame = get_prev_frame (frame);
```
Since get_prev_frame respects the backtrace limit, it will return
NULL, and from there on you can't continue.
This changes these loops to use get_prev_frame_always instead, so
you always get a non-inline frame in the end.

With this backtrace works:
```
(gdb) bt
(gdb)
```

Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=29865
Approved-By: Andrew Burgess <aburgess@redhat.com>
2024-01-29 15:33:01 +01:00
..
break-on-_exit.c Update copyright year range in header of all files managed by GDB 2024-01-12 15:49:57 +00:00
break-on-_exit.exp Update copyright year range in header of all files managed by GDB 2024-01-12 15:49:57 +00:00
clobbered-registers-O2-2.c Update copyright year range in header of all files managed by GDB 2024-01-12 15:49:57 +00:00
clobbered-registers-O2-3.c Update copyright year range in header of all files managed by GDB 2024-01-12 15:49:57 +00:00
clobbered-registers-O2.c Update copyright year range in header of all files managed by GDB 2024-01-12 15:49:57 +00:00
clobbered-registers-O2.exp Update copyright year range in header of all files managed by GDB 2024-01-12 15:49:57 +00:00
fortran-string.exp Update copyright year range in header of all files managed by GDB 2024-01-12 15:49:57 +00:00
fortran-string.f90 Update copyright year range in header of all files managed by GDB 2024-01-12 15:49:57 +00:00
inline-break.c Update copyright year range in header of all files managed by GDB 2024-01-12 15:49:57 +00:00
inline-break.exp Update copyright year range in header of all files managed by GDB 2024-01-12 15:49:57 +00:00
inline-bt.c Fix backtrace limit stopping on inline frame 2024-01-29 15:33:01 +01:00
inline-bt.exp Fix backtrace limit stopping on inline frame 2024-01-29 15:33:01 +01:00
inline-cmds.c Update copyright year range in header of all files managed by GDB 2024-01-12 15:49:57 +00:00
inline-cmds.exp Update copyright year range in header of all files managed by GDB 2024-01-12 15:49:57 +00:00
inline-locals.c Update copyright year range in header of all files managed by GDB 2024-01-12 15:49:57 +00:00
inline-locals.exp Update copyright year range in header of all files managed by GDB 2024-01-12 15:49:57 +00:00
inline-markers.c Update copyright year range in header of all files managed by GDB 2024-01-12 15:49:57 +00:00
inline-small-func.c Update copyright year range in header of all files managed by GDB 2024-01-12 15:49:57 +00:00
inline-small-func.exp Update copyright year range in header of all files managed by GDB 2024-01-12 15:49:57 +00:00
inline-small-func.h Update copyright year range in header of all files managed by GDB 2024-01-12 15:49:57 +00:00
main.c Update copyright year range in header of all files managed by GDB 2024-01-12 15:49:57 +00:00
solib-intra-step-lib.c Update copyright year range in header of all files managed by GDB 2024-01-12 15:49:57 +00:00
solib-intra-step-main.c Update copyright year range in header of all files managed by GDB 2024-01-12 15:49:57 +00:00
solib-intra-step.exp Update copyright year range in header of all files managed by GDB 2024-01-12 15:49:57 +00:00
static-optimized-out.c Update copyright year range in header of all files managed by GDB 2024-01-12 15:49:57 +00:00
static-optimized-out.exp Update copyright year range in header of all files managed by GDB 2024-01-12 15:49:57 +00:00