[lldb-dev] Removing linux mips support
Pavel Labath via lldb-dev
lldb-dev at lists.llvm.org
Tue Mar 9 00:24:01 PST 2021
Hi all,
I propose to remove support for linux mips debugging. This basically
amounts to deleting
source/Plugins/Process/Linux/NativeRegisterContextLinux_mips64.{cpp,h}.
My reasons for doing that are:
- This code is unmaintained (last non-mechanical change was in 2017) and
untested (no public buildbots), so we don't know if even basic
functionality works, or if it indeed builds.
- At the same, it is carrying a lot of technical debt, which is leaking
out of the mips-specific files, and interfering with other development
efforts. The last instance of this is D96766, which is adding FreeBSD
mips support, but needs to work around linux specific knowledge leaking
into supposedly generic code. This one should be fixable relatively
easily (these days we already have precedents for similar things in x86
and arm code), but it needs someone who is willing to do that.
But that is not all. To support mips, we introduced two new fields into
the RegisterInfo struct (dynamic_size_dwarf_{expr_bytes,len}). These are
introducing a lot of clutter in all our RegisterInfo definitions (which
we have **a lot** of) and are not really consistent with the long term
vision of the gdb-remote protocol usage in lldb. These days, we have a
different mechanism for this (added to support a similar feature in
arm), it would be better to implement this feature in terms of that. I
would tout this (removal of these fields) as the main benefit of
dropping mips support.
So, unless someone willing to address these issues (I'm happy to provide
support where I can), I propose we drop mips support. Generic mips
support will remain (and hopefully be better tested) thanks to the
FreeBSD mips port, so re-adding mips support should be a matter of
reimplementing the linux bits.
regards,
Pavel
More information about the lldb-dev
mailing list