forked from Imagelibrary/binutils-gdb
gdbserver: Add a function to set the XSAVE mask and size.
Make x86_xcr0 private to i387-fp.cc and use i387_set_xsave_mask to set the value instead. Add a static global instance of x86_xsave_layout and initialize it in the new function as well to be used in a future commit to parse XSAVE extended state regions. Update the Linux port to use this function rather than setting x86_xcr0 directly. In the case that XML is not supported, don't bother setting x86_xcr0 to the default value but just omit the call to i387_set_xsave_mask as i387-fp.cc defaults to the SSE case used for non-XML. In addition, use x86_xsave_length to determine the size of the XSAVE register set via CPUID. Approved-By: Simon Marchi <simon.marchi@efficios.com>
This commit is contained in:
@@ -102,7 +102,8 @@ case "${gdbserver_host}" in
|
||||
i[34567]86-*-linux*) srv_tgtobj="${srv_tgtobj} arch/i386.o"
|
||||
srv_tgtobj="${srv_tgtobj} $srv_linux_obj"
|
||||
srv_tgtobj="${srv_tgtobj} linux-x86-low.o x86-low.o"
|
||||
srv_tgtobj="${srv_tgtobj} nat/x86-dregs.o i387-fp.o"
|
||||
srv_tgtobj="${srv_tgtobj} nat/x86-dregs.o"
|
||||
srv_tgtobj="${srv_tgtobj} nat/x86-xstate.o i387-fp.o"
|
||||
srv_tgtobj="${srv_tgtobj} linux-x86-tdesc.o"
|
||||
srv_tgtobj="${srv_tgtobj} nat/linux-btrace.o"
|
||||
srv_tgtobj="${srv_tgtobj} nat/x86-linux.o"
|
||||
@@ -362,7 +363,8 @@ case "${gdbserver_host}" in
|
||||
srv_linux_thread_db=yes
|
||||
;;
|
||||
x86_64-*-linux*) srv_tgtobj="$srv_linux_obj linux-x86-low.o x86-low.o"
|
||||
srv_tgtobj="${srv_tgtobj} nat/x86-dregs.o i387-fp.o"
|
||||
srv_tgtobj="${srv_tgtobj} nat/x86-dregs.o"
|
||||
srv_tgtobj="${srv_tgtobj} nat/x86-xstate.o i387-fp.o"
|
||||
srv_tgtobj="${srv_tgtobj} arch/i386.o arch/amd64.o"
|
||||
srv_tgtobj="${srv_tgtobj} linux-x86-tdesc.o"
|
||||
srv_tgtobj="${srv_tgtobj} nat/linux-btrace.o"
|
||||
@@ -377,14 +379,16 @@ case "${gdbserver_host}" in
|
||||
ipa_obj="${ipa_obj} arch/amd64-ipa.o"
|
||||
;;
|
||||
x86_64-*-mingw*) srv_regobj=""
|
||||
srv_tgtobj="x86-low.o nat/x86-dregs.o i387-fp.o"
|
||||
srv_tgtobj="x86-low.o nat/x86-dregs.o"
|
||||
srv_tgtobj="${srv_tgtobj} nat/x86-xstate.o i387-fp.o"
|
||||
srv_tgtobj="${srv_tgtobj} win32-low.o win32-i386-low.o"
|
||||
srv_tgtobj="${srv_tgtobj} nat/windows-nat.o"
|
||||
srv_tgtobj="${srv_tgtobj} arch/amd64.o arch/i386.o"
|
||||
srv_mingw=yes
|
||||
;;
|
||||
x86_64-*-cygwin*) srv_regobj=""
|
||||
srv_tgtobj="x86-low.o nat/x86-dregs.o i387-fp.o"
|
||||
srv_tgtobj="x86-low.o nat/x86-dregs.o"
|
||||
srv_tgtobj="${srv_tgtobj} nat/x86-xstate.o i387-fp.o"
|
||||
srv_tgtobj="${srv_tgtobj} win32-low.o win32-i386-low.o"
|
||||
srv_tgtobj="${srv_tgtobj} nat/windows-nat.o"
|
||||
srv_tgtobj="${srv_tgtobj} arch/amd64.o arch/i386.o"
|
||||
|
||||
Reference in New Issue
Block a user