Patch for __float80 varargs passing on ia64-hpux

Mark Mitchell mark@codesourcery.com
Sat Jun 18 03:49:00 GMT 2005


Joseph S. Myers wrote:
> This patch fixes a bug in passing __float80 values in variable
> arguments on ia64-hpux: they were not being split into general
> registers in the correct layout and order.
> 
> Bootstrapped with no regressions on ia64-hp-hpux11.23, and I've tested
> that the ABI for passing __float80 values now seems to be internally
> consistent and consistent with the HP compiler.  OK to commit?

I was hoping one of the IA64 maintainers would review this patch.

My concern is that on IA64 GNU/Linux, something bad would happen. 
However, since your patch is conditioned on BYTES_BIG_ENDIAN, that 
concern probably does not apply; you can build little-endian code on 
GNU/Linux, but I don't think anybody does.  I also looked at the Itanium 
Software Conventions document, and it seems to support your change.

Therefore, your patch is OK.  Of course, if the IA64 maintainers object, 
please honor their objections.

-- 
Mark Mitchell
CodeSourcery, LLC
mark@codesourcery.com
(916) 791-8304



More information about the Gcc-patches mailing list