From cd6bf3cb286d876ffbf17487e9cfd575e8ccaaec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Botond=20D=C3=A9nes?= Date: Wed, 18 Dec 2019 17:35:44 +0200 Subject: [PATCH] scylla-gdb.py: static_vector: update for changed storage MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The actual buffer is now in a member called 'data'. Leave the old `dummy.dummy` and `dummy` as fall-back. This seems to change every Fedora release. Signed-off-by: Botond Dénes Message-Id: <20191218153544.511421-1-bdenes@scylladb.com> --- scylla-gdb.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/scylla-gdb.py b/scylla-gdb.py index d232bd8a92..073cac191e 100644 --- a/scylla-gdb.py +++ b/scylla-gdb.py @@ -279,9 +279,12 @@ class static_vector: t = self.ref.type.strip_typedefs() value_type = t.template_argument(0) try: - data = self.ref['m_holder']['storage']['dummy']['dummy'].cast(value_type.pointer()) - except gdb.error: - data = self.ref['m_holder']['storage']['dummy'].cast(value_type.pointer()) # Scylla 3.0 compatibility + data = self.ref['m_holder']['storage']['data'].cast(value_type.pointer()) + except: + try: + data = self.ref['m_holder']['storage']['dummy']['dummy'].cast(value_type.pointer()) # Scylla 3.1 compatibility + except gdb.error: + data = self.ref['m_holder']['storage']['dummy'].cast(value_type.pointer()) # Scylla 3.0 compatibility for i in range(self.__len__()): yield data[i]