This is the mail archive of the
gdb@sourceware.cygnus.com
mailing list for the GDB project.
Re: i386-tdep.c -- returning fp values in fp regs.
- To: jtc at redback dot com
- Subject: Re: i386-tdep.c -- returning fp values in fp regs.
- From: Mark Kettenis <kettenis at wins dot uva dot nl>
- Date: Wed, 22 Mar 2000 09:53:22 +0100
- CC: gdb at sourceware dot cygnus dot com
- References: <5msnxjg2co.fsf@jtc.redbacknetworks.com>
From: jtc@redback.com (J.T. Conklin)
Date: 21 Mar 2000 18:33:59 -0800
In i386-tdep.c, the code that enables extracting floating point values
from floating point registers is wrapped with the conditional:
/* On AIX, i386 GNU/Linux and DJGPP, floating point values are
returned in floating point registers. */
/* FIXME: cagney/2000-02-29: This function needs to be rewritten
using multi-arch. Please don't keep adding to this #ifdef
spaghetti. */
#if defined(I386_AIX_TARGET) || defined(I386_GNULINUX_TARGET) || \
defined(I386_DJGPP_TARGET)
I need to enable this code for NetBSD/i386, but judging from Andrew's
comment, adding I386_NETBSD_TARGET woudn't go over very well :-). Is
there any way we can fix this up short of gdbarching the i386 port?
It turns out that returning FP values in the FP registers is the right
thing for (almost) all i386 targets. Some weeks ago I announced that
I intended to change i386_extract_return_value such that it does the
right thing for all targets that use that function. Some time has
passed and nobody objected. I guess it is time to check this in now
:-).
Mark