This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
Re: PATCH: Fix real10 and add real16 for ia64
On Wed, Apr 30, 2003 at 12:07:27PM -0400, Jim Wilson wrote:
> > + 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[].
>
Thanks. I will fix that.
> 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.
That is why I put .lsb there. But the whole .lsb/.msb directives are
broken. I am working on a patch for that. Should I combine them since
md_atof is different after my endian fix?
>
> 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.
All my ia64 patches should be self-contained. You only need to apply
this single line by hand.
>
> Did you report the documentation bug to Intel?
>
Yes.
H.J.