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.

Reply via email to