[Bug 197501] [devel/gdb] Add XSAVE support, plus i386 sigtramp fix and i386 on amd64 fix
bugzilla-noreply at freebsd.org
bugzilla-noreply at freebsd.org
Mon Feb 9 23:00:27 UTC 2015
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=197501
Bug ID: 197501
Summary: [devel/gdb] Add XSAVE support, plus i386 sigtramp fix
and i386 on amd64 fix
Product: Ports & Packages
Version: Latest
Hardware: Any
OS: Any
Status: New
Severity: Affects Only Me
Priority: ---
Component: Individual Port(s)
Assignee: freebsd-ports-bugs at FreeBSD.org
Reporter: jhb at FreeBSD.org
Created attachment 152824
--> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=152824&action=edit
gdb_port_xsave.patch
This patch to the port adds support for XSAVE on amd64 and i386 using the
recently added PTRACE_GET/SETXSTATE in HEAD. (I will soon merge those changes
to stable/10 as well.)
It also adds kern.proc.sigtramp usage on i386 fixing unwinding across signal
frames for i386 binaries after the shared page signal code changes.
As part of the XSAVE changes it also fixes the amd64 FreeBSD ABI to return an
i386 target description when debugging a 32-bit process. This allows XSAVE
debugging to work for an i386 binary on amd64 (though threads cannot be
debugged still).
The threads patches have been reworked to pull threads-related patches out of
the main port patches and into a single patch that is applied when the THREAD
option is enabled. In part this is to make it easier to update the port in the
hopeful case that other patches (like the signal trampoline fixes and XSAVE)
can be upstreamed.
One additional change to the threads patches to allow them to work with XSAVE
is that the fbsd-threads target no longer uses ptrace to fetch registers for
LWPs directly. Instead, the x86 nat.c files are updated to pass the lwp id to
ptrace if the inferior has an lwp id instead of always passing the PIDs. This
means that for LWP-backed threads, the fbsd-threads target now passes all
register requests down to the native method. The supply/collect regset stubs
are now only needed to support userland threads for libkse.
--
You are receiving this mail because:
You are the assignee for the bug.
More information about the freebsd-ports-bugs
mailing list