Update only "displayed" registers
...even if -data-list-changed-registers returns more. On some buggy
architectures and/or simulators (e.g., RISC-V on QEMU as of today),
-data-list-changed-registers return registers that fail to be subsequently
fetched by -data-list-register-values.
This commit workarounds it by filtering out all registers not found in
`#registerNumbersToDisplayUsing:` introduced in commit 3d4aca3ff608.
"
jv:libgdbs - GNU Debugger Interface Library
Copyright (C) 2015-now Jan Vrany
Copyright (C) 2021 LabWare
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
"
"{ Package: 'jv:libgdbs' }"
"{ NameSpace: Smalltalk }"
GDBArchitecture subclass:#GDBArch_RV64
instanceVariableNames:''
classVariableNames:''
poolDictionaries:''
category:'GDB-Core'
!
!GDBArch_RV64 class methodsFor:'documentation'!
copyright
"
jv:libgdbs - GNU Debugger Interface Library
Copyright (C) 2015-now Jan Vrany
Copyright (C) 2021 LabWare
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
"
! !
!GDBArch_RV64 methodsFor:'accessing'!
name
^ 'RISC-V 64'
"Created: / 22-05-2020 / 13:12:53 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
registerNamesToDisplay
"Returns a list of register names to display in register view (VDBRegisterListApplication)
or `nil` if all available registers are to be displayed.
This is used on platforms for limit the number of registers, usually
because either (i) it is too long and has a lots of 'uninterested' registers
or (ii) some registers are not supported by gdbserver / QEMU or whatever
and this is used to avoid errors while still displaying 'interesting' registers.
Essentially a hack.
"
^ #('pc' 'zero' 'ra' 'sp' 'gp' 'tp' 't0' 't1' 't2' 'fp' 's1' 'a0' 'a1' 'a2' 'a3' 'a4' 'a5' 'a6' 'a7' 's2' 's3' 's4' 's5' 's6' 's7' 's8' 's9' 's10' 's11' 't3' 't4' 't5' 't6' 'ft0' 'ft1' 'ft2' 'ft3' 'ft4' 'ft5' 'ft6' 'ft7' 'fs0' 'fs1' 'fa0' 'fa1' 'fa2' 'fa3' 'fa4' 'fa5' 'fa6' 'fa7' 'fs2' 'fs3' 'fs4' 'fs5' 'fs6' 'fs7' 'fs8' 'fs9' 'fs10' 'fs11' 'ft8' 'ft9' 'ft10' 'ft11')
"Created: / 22-05-2020 / 13:21:05 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
!GDBArch_RV64 methodsFor:'queries'!
sizeofPointer
^ 8
"Created: / 22-05-2020 / 13:12:24 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
!GDBArch_RV64 class methodsFor:'documentation'!
version_HG
^ '$Changeset: <not expanded> $'
! !