Page MenuHomeFreeBSD

Use a regset for NT_ARM_VFP.
ClosedPublic

Authored by jhb on Mar 4 2022, 10:58 PM.
Tags
None
Referenced Files
F91625721: D34448.id.diff
Tue, Aug 20, 12:37 AM
Unknown Object (File)
Wed, Aug 14, 12:39 AM
Unknown Object (File)
Tue, Aug 13, 11:35 AM
Unknown Object (File)
Tue, Aug 6, 4:57 AM
Unknown Object (File)
Sun, Aug 4, 4:01 PM
Unknown Object (File)
Sat, Aug 3, 11:52 PM
Unknown Object (File)
Wed, Jul 31, 10:09 PM
Unknown Object (File)
Jun 23 2024, 3:43 PM
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
rG FreeBSD src repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable

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.