PATCH: Fix real10 and add real16 for ia64
Jim Wilson
wilson@tuliptree.org
Wed Apr 30 19:06:00 GMT 2003
> + 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
More information about the Binutils
mailing list