scylla-gdb.py: static_vector: update for changed storage

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 <bdenes@scylladb.com>
Message-Id: <20191218153544.511421-1-bdenes@scylladb.com>
This commit is contained in:
Botond Dénes
2019-12-18 17:35:44 +02:00
committed by Avi Kivity
parent 5865d08d6c
commit cd6bf3cb28

View File

@@ -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]