Re: git: d6c0538dae8d - main - ddb: Remove SOFTWARE_SSTEP support
Date: Mon, 10 Jan 2022 23:27:00 UTC
On Mon, Jan 10, 2022 at 02:50:40PM -0800, John Baldwin wrote: > On 1/10/22 1:37 PM, Olivier Houchard wrote: > > On Mon, Jan 10, 2022 at 02:14:54PM -0700, Warner Losh wrote: > >> On Mon, Jan 10, 2022 at 12:48 PM John Baldwin <jhb@freebsd.org> wrote: > >> > >>> On 1/7/22 8:27 AM, Warner Losh wrote: > >>>> The branch main has been updated by imp: > >>>> > >>>> URL: > >>> https://cgit.FreeBSD.org/src/commit/?id=d6c0538dae8d138219dfd051994a44c50e741212 > >>>> > >>>> commit d6c0538dae8d138219dfd051994a44c50e741212 > >>>> Author: Warner Losh <imp@FreeBSD.org> > >>>> AuthorDate: 2022-01-07 16:25:33 +0000 > >>>> Commit: Warner Losh <imp@FreeBSD.org> > >>>> CommitDate: 2022-01-07 16:25:33 +0000 > >>>> > >>>> ddb: Remove SOFTWARE_SSTEP support > >>>> > >>>> It was needed for mips only, and only kinda sorta worked for mips. > >>> It > >>>> can be brought back if we grow another architecture that need it. > >>>> > >>>> Sponsored by: Netflix > >>> > >>> RISC-V would need it in theory (no hardware single step), but no one has > >>> felt the > >>> need to implement the backend support for it. I think 32-bit arm doesn't > >>> support > >>> hardware single step either (but again, no one has bothered to add the > >>> backend > >>> support). > >>> > >> > >> Generally, I agree with these thoughts. I went ahead with the removal > >> because I > >> knew it would be easy to bring back, even years from now should someone[tm] > >> have an implementation for those platforms (though I thought 32-bit arm did > >> have > >> single step in hardware). > >> > >> Should I put it back? Or should we wait until someone shows up with support > >> for > >> a supported platform? > >> > > > > It was used for arm, but only older arm, ie v4/v5, pretty sure newer > > cores do have hardware breakpoints. > > They have hardware breakpoints/watchpoints, not sure if they have single step. > > In GDB 32-bit arm only supports software single step, even on Linux. > Seems true, the newer code just seems to use hardware breakpoints, but the logic is the same as what was done with SOFTWARE_SSTEP. Olivier