Page MenuHomeFreeBSD

Backport support for fs_base/gs_base and $_siginfo from GDB master.
ClosedPublic

Authored by jhb on Aug 1 2017, 9:53 PM.

Details

Summary

Bring in two patchsets committed to GDB master along with a few other commits
those patchsets depend on.

  • Add support for examining $_siginfo. When a thread has valid signal information, report the current information in a $_siginfo variable. For live processes the values are extracted via the PT_LWPINFO ptrace request. The values are also extracted from process core dumps that include NT_LWPINFO notes (currently only present in FreeBSD 12-current).
  • Add support for the $fs_base and $gs_base registers on amd64. This only works for live processes via the PT_{GET,SET}{FS,GS}BASE ptrace requests. FreeBSD currently does not store these values in core dumps, so they are not available from core dumps.
Test Plan
  • Tested new features on FreeBSD/amd64 head.
  • poudriere testport on 10.3/amd64, 10.3/i386, 11.1/amd64, 12.0/amd64.

Diff Detail

Repository
rP FreeBSD ports repository
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

jhb created this revision.Aug 1 2017, 9:53 PM

It looks good to me. My build and run tests are positive.

This revision is now accepted and ready to land.Aug 4 2017, 3:43 PM
imp accepted this revision.Aug 4 2017, 6:31 PM
imp added a subscriber: imp.

This looks good to me, assuming the patches are good. The ports part looks fine, and listing the patches in order I think will insulate from ordering issues that would otherwise be present.

This revision was automatically updated to reflect the committed changes.