This is the mail archive of the binutils@sources.redhat.com mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: PATCH: Fix real10 and add real16 for ia64


+  if (type == 'X')
+    {
+      /* It is 10 byte floating point with 6 byte padding.  */
+      prec = 8;
+      *size = prec * sizeof (LITTLENUM_TYPE);
+      while (prec-- >= 5)
+	words [prec] = 0;
+    }
   return 0;
 }

It looks good except for this part. words[] is a 5-element array, and you are writing to 3 elements past the end of it. You are also writing to the wrong object. You should be writing to *lit instead of to words[].


Did you consider endianness issues here? We might need to do something different for big-endian than little-endian. It seems unlikely that your new testcase would work for a big-endian target. I see that you even put LSB in the testcase.

Your gas/testsuite/gas/ia64/ia64.exp patch doesn't match the trunk. It looks like you have other stuff in your copy which hasn't been checked in yet, which makes this part of the patch useless.

Did you report the documentation bug to Intel?

Jim


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