Page MenuHomeFreeBSD

Restore the ABI of 'struct fpreg'.
ClosedPublic

Authored by jhb on Jan 21 2016, 12:18 AM.
Tags
None
Referenced Files
Unknown Object (File)
Sun, Sep 29, 11:27 PM
Unknown Object (File)
Tue, Sep 24, 9:19 AM
Unknown Object (File)
Mon, Sep 23, 8:49 PM
Unknown Object (File)
Mon, Sep 23, 6:37 PM
Unknown Object (File)
Wed, Sep 18, 5:34 AM
Unknown Object (File)
Fri, Sep 13, 8:50 AM
Unknown Object (File)
Fri, Sep 13, 8:44 AM
Unknown Object (File)
Aug 22 2024, 12:58 PM
Subscribers

Details

Summary

Restore the ABI of 'struct fpreg' on powerpc.

The PT_{GET,SET}FPREGS requests use 'struct fpreg' and the NT_FPREGSET
core note stores a copy of 'struct fpreg'. As with x86 and the floating
point state there compared to the extended state in XSAVE, struct fpreg
on powerpc now only holds the 'base' FP state, and setting it via
PT_SETFPREGS leaves the extended vector state in a thread unchanged.

Test Plan
  • Run a test program using floating point under a new kernel. Verify that gdb can read/write float registers correctly.
  • Verify that the new kernel writes out the correct size core dumps and that gdb no longer complains about '.reg2' having an unexpected size.

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

jhb retitled this revision from to Restore the ABI of 'struct fpreg'..
jhb updated this object.
jhb edited the test plan for this revision. (Show Details)
jhb added a reviewer: nwhitehorn.
jhibbits edited edge metadata.

Looks fine to me, as long as it passes your tests.

This revision is now accepted and ready to land.Feb 1 2016, 2:33 AM
This revision was automatically updated to reflect the committed changes.