diff --git a/gdb/python/lib/gdb/frames.py b/gdb/python/lib/gdb/frames.py index de954e4fb38..6539416b1c2 100644 --- a/gdb/python/lib/gdb/frames.py +++ b/gdb/python/lib/gdb/frames.py @@ -186,18 +186,7 @@ def _frame_iterator(frame, frame_low, frame_high, dap_semantics): # Is this a slice from the end of the backtrace, ie bt -2? if frame_low < 0: - count = 0 - slice_length = abs(frame_low) - # We cannot use MAXLEN argument for deque as it is 2.6 onwards - # and some GDB versions might be < 2.6. - sliced = collections.deque() - - for frame_item in frame_iterator: - if count >= slice_length: - sliced.popleft() - count = count + 1 - sliced.append(frame_item) - + sliced = collections.deque(iterable=frame_iterator, maxlen=abs(frame_low)) return iter(sliced) # -1 for frame_high means until the end of the backtrace. Set to