Page MenuHomeFreeBSD

Use a regset for NT_ARM_VFP.
ClosedPublic

Authored by jhb on Mar 4 2022, 10:58 PM.
Tags
None
Referenced Files
F140555577: D34448.id104130.diff
Thu, Dec 25, 5:30 AM
Unknown Object (File)
Sat, Dec 20, 1:08 PM
Unknown Object (File)
Tue, Dec 16, 8:43 AM
Unknown Object (File)
Mon, Dec 1, 7:40 PM
Unknown Object (File)
Sat, Nov 29, 11:54 AM
Unknown Object (File)
Thu, Nov 27, 3:54 PM
Unknown Object (File)
Nov 24 2025, 10:22 PM
Unknown Object (File)
Nov 19 2025, 2:29 AM
Subscribers

Details

Summary

This includes adding support for NT_ARM_VFP for 32-bit binaries
running under aarch64 kernels both for ptrace(), and coredumps via the
kernel and gcore.

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 44663
Build 41551: arc lint + arc unit

Event Timeline

jhb requested review of this revision.Mar 4 2022, 10:58 PM

I've tested this on 32-bit arm, still need to test 32-bit processes under aarch64.

This revision is now accepted and ready to land.Mar 7 2022, 6:30 PM
  • Move regset handling to ptrace_machdep.c.
This revision now requires review to proceed.Mar 12 2022, 12:44 AM

I ended up moving the regset handling to ptrace_machdep.c. I have some other changes in flight that I'm still testing to add NT_ARM_TLS for arm/arm64 and a new NT_X86_SEGBASES for i386 and amd64 so that we can debug TLS variables in core dumps (and debug TLS for running processes for arm/arm64 in gdb) and while working on those I found it was nicer to handle register sets in ptrace_machdep.c (or in the case of i386 on amd64, ia32_regs.c).

Possibly NT_ARM_ADDR_MASK should move to ptrace_machdep.c as well eventually, but I'm going to leave that for another day.

This revision is now accepted and ready to land.Mar 14 2022, 2:47 PM
This revision was automatically updated to reflect the committed changes.