This is the mail archive of the gdb@sourceware.cygnus.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

[PATCH] More updates to FXSR/SSE support in 2.4.0-test1


Here's a copy of my latest work, this time kernel and glibc headers
only.  I'm still working on updating GDB, as incorporating Mark's
suggestions leads to some problems with the stock 5.0 code (mainly in
the interpretation of the FPU tag word).

What are we doing now?

We use FXSAVE/FXRSTOR only to save and restore the FPU context as
before.  Nice and fast.  As always, the FPU state is only saved when the
FPU is used and restored with an #NM exception.

We (correctly) convert the FXSR-format data into the expanded signal
context, and include the original FXSR-format data like before.  This
includes doing a full conversion between tag word formats.

We (correctly) convert the FXSR-format data on the
PTRACE_[GET|SET]FPREGS requests.

We just use the 512-byte FXSR data on PTRACE_[GET|SET]XFPREGS requests. 
This requires updates to GDB, which I'm working on now.  Nothing major,
the code is the same as in the kernel.

The tag word conversion originally seen in 2.4.0-test1 was almost
correct, but this code does a more thorough job - important for GDB 5.0
correctness.

As always, please let me know if you have any grievances.  Doing the
conversion turned out to be a lot less ugly than I had imagined, and as
we only need to do it for signals, ptracing and dumping core, it doesn't
affect things too greatly.  I will add in the core dumping support when
the work in this patch gets applied (in whatever form).

The signal handler test from my previous email will still work, and I
encourage you to verify this.

-- Gareth

patch-2.4.0test1-ac12-gth2.gz

patch-glibc-2.1.3-gth2.gz


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]