Page MenuHomeFreeBSD

Use a regset for NT_ARM_VFP.
ClosedPublic

Authored by jhb on Mar 4 2022, 10:58 PM.
Tags
None
Referenced Files
Unknown Object (File)
Mon, Sep 30, 4:44 AM
Unknown Object (File)
Thu, Sep 26, 7:23 PM
Unknown Object (File)
Tue, Sep 10, 10:54 AM
Unknown Object (File)
Fri, Sep 6, 9:45 PM
Unknown Object (File)
Fri, Sep 6, 9:45 PM
Unknown Object (File)
Fri, Sep 6, 9:45 PM
Unknown Object (File)
Fri, Sep 6, 9:44 PM
Unknown Object (File)
Fri, Sep 6, 9:37 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
rS FreeBSD src repository - subversion
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 44747
Build 41635: 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.