Return X86_XSTATE_SSE_MASK instead of 0 in i386fbsd_core_read_xcr0
authorYao Qi <yao.qi@linaro.org>
Mon, 4 Sep 2017 10:33:56 +0000 (11:33 +0100)
committerYao Qi <yao.qi@linaro.org>
Mon, 4 Sep 2017 10:33:56 +0000 (11:33 +0100)
i386fbsd_core_read_xcr0 reads the value of xcr0 from the corefile.  If
it fails, returns 0.  This makes its caller {i386,amd64}_target_description
has to handle this special value.  IMO, i386fbsd_core_read_xcr0 should
return the default xcr0 in case of error.

gdb:

2017-09-04  Yao Qi  <yao.qi@linaro.org>

* i386-fbsd-tdep.c (i386fbsd_core_read_xcr0): Return
X86_XSTATE_SSE_MASK instead of 0.

gdb/ChangeLog
gdb/i386-fbsd-tdep.c

index 8c31c81..e965e26 100644 (file)
@@ -1,5 +1,10 @@
 2017-09-04  Yao Qi  <yao.qi@linaro.org>
 
+       * i386-fbsd-tdep.c (i386fbsd_core_read_xcr0): Return
+       X86_XSTATE_SSE_MASK instead of 0.
+
+2017-09-04  Yao Qi  <yao.qi@linaro.org>
+
        * amd64-fbsd-nat.c (amd64fbsd_read_description): Call
        i386_target_description.
        * i386-fbsd-nat.c (i386fbsd_read_description): Call
index 594b8f6..baca978 100644 (file)
@@ -248,14 +248,14 @@ i386fbsd_core_read_xcr0 (bfd *abfd)
            {
              warning (_("Couldn't read `xcr0' bytes from "
                         "`.reg-xstate' section in core file."));
-             return 0;
+             return X86_XSTATE_SSE_MASK;
            }
 
          xcr0 = bfd_get_64 (abfd, contents);
        }
     }
   else
-    xcr0 = 0;
+    xcr0 = X86_XSTATE_SSE_MASK;
 
   return xcr0;
 }