On Monday, February 9th, 2026 at 10:12 AM, John Baldwin <[email protected]> wrote:
> On 2/8/26 23:18, Konstantin Belousov wrote: > > > The branch main has been updated by kib: > > > > URL: > > https://cgit.FreeBSD.org/src/commit/?id=8f23665fed2fbaf4481359b4d2fcdd7b9feb40e3 > > > > commit 8f23665fed2fbaf4481359b4d2fcdd7b9feb40e3 > > Author: Minsoo Choo [email protected] > > AuthorDate: 2026-02-06 20:03:53 +0000 > > Commit: Konstantin Belousov [email protected] > > CommitDate: 2026-02-09 04:17:16 +0000 > > > > pcb.h: mark struct pcb to be preserved > > > > There are programs that depend on this structure (e.g. kernel debuggers) > > that breaks when the ABI changes. > > > > Signed-off-by: Minsoo Choo [email protected] > > Reviewed by: kib > > MFC after: 1 week > > Differential Revision: https://reviews.freebsd.org/D55149 > > > Hmmm, I think it is useful to know which fields debuggers use (typically just > registers) vs which ones can be safely changed without impacting debuggers. > > -- > John Baldwin In the review, kib said: > I had to add and preserve the padding fields pcb_pad in the amd64 structure > to be compatible with kgdb at least. This makes me sure that the whole pcb > layout is fixed by ABI. I can create a patch to mark fields that are used by kernel debuggers. pcb and trapframe aren't usually used by userland programs, but we have exception for kernel debuggers here. We should have consensus on whether the whole structure should be stable ABI or not. My preference is that if any of the architectures (e.g. amd64) need the whole pcb structure to be stable, then we should do the same to the others as well to avoid confusion.
