* [rfc/rfa(DavidT?)] Move DOUBLEST to doublest.{h,c}
@ 2001-07-16 8:18 Andrew Cagney
2001-07-29 12:34 ` Andrew Cagney
0 siblings, 1 reply; 9+ messages in thread
From: Andrew Cagney @ 2001-07-16 8:18 UTC (permalink / raw)
To: gdb-patches
Hello,
(As they say, always have a plan B. Plan A, reclaim floatformat, failed
:-).
The attached patch moves all the floating point conversion routines to a
single place - doublest.[hc]. It doesn't modify the actual code. It
updates all the missing include dependencies that I could find. All the
buildable targets listed in the MAINTAINERS file still build.
Look OK? I note this carves a chunk out of both utils.c and findvar.c
What's next?
I've a follow on patch to introduce two new functions
extract_floatformat() and store_floatformat(). All th magic currently
found in extract_floating() and store_floating() would be moved to these
new functions. All current calls to floatformat_from_doublest() and
floatformat_to_doublest() would be replaced by those functions. The net
effect would be that all floating point conversions would go through a
single path and always use the most exact mechanism available.
I've also a second patch to tweek the actual conversion code so that it
isn't as lossy (use ULONGEST instead of unsigned long).
If anyone ever gets inspired they could then extend doublest.[hc] to
implement portable floating point (using either gcc/real.c or
sim/common/sim-fpu.[hc].
Andrew
From ac131313@cygnus.com Mon Jul 16 08:20:00 2001
From: Andrew Cagney <ac131313@cygnus.com>
To: Orjan Friberg <orjan.friberg@axis.com>
Cc: gdb-patches@sources.redhat.com
Subject: Re: New port: CRIS architecture (2nd try)
Date: Mon, 16 Jul 2001 08:20:00 -0000
Message-id: <3B530624.50407@cygnus.com>
References: <3A2BAEF0.A4641A0C@axis.com> <3B4D8EF5.B02D2FA4@axis.com> <3B4FB0AB.1020106@cygnus.com> <3B52B011.5AEE83C7@axis.com>
X-SW-Source: 2001-07/msg00374.html
Content-length: 227
> Andrew Cagney wrote:
>
>>
>> Yes, fine, thanks. Don't forget the NEWS file.
>>
>
>
> Committed; thanks. Patch for the NEWS file below.
>
> Ok to commit?
Yes looks good (anyone can change the NEWS file).
Andrew
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [rfc/rfa(DavidT?)] Move DOUBLEST to doublest.{h,c}
2001-07-16 8:18 [rfc/rfa(DavidT?)] Move DOUBLEST to doublest.{h,c} Andrew Cagney
@ 2001-07-29 12:34 ` Andrew Cagney
2001-07-30 7:09 ` Mark Kettenis
2001-08-01 11:42 ` Andrew Cagney
0 siblings, 2 replies; 9+ messages in thread
From: Andrew Cagney @ 2001-07-29 12:34 UTC (permalink / raw)
To: Andrew Cagney; +Cc: gdb-patches
FYI,
I've not received any comments so I guess everyone decided this change
was pretty obvous :-) (?) Since the 5.1 branch has gone through, I'll be
committing this to the trunk shortly.
Andrew
> 2001-07-15 Andrew Cagney <ac131313@redhat.com>
> * defs.h (HOST_FLOAT_FORMAT, HOST_DOUBLE_FORMAT)
> (HOST_FLOAT_FORMAT, HOST_DOUBLE_FORMAT)
> (HOST_LONG_DOUBLE_FORMAT, DOUBLEST)
> (floatformat_to_doublest, floatformat_from_doublest)
> (floatformat_is_negative, floatformat_is_nan)
> (floatformat_mantissa, store_floating)
> (extract_floating): Move declaration from here.
> * doublest.h: To here. New file.
>
> * utils.c (get_field, floatformat_to_doublest, put_field)
> (ldfrexp, floatformat_from_doublest, floatformat_is_negative)
> (floatformat_is_nan, floatformat_mantissa)
> (FLOATFORMAT_CHAR_BIT): Move from here.
> * doublest.c: To here. New file.
>
> * findvar.c (store_floating, extract_floating): Move from here.
> * doublest.c: To here.
>
> * Makefile.in (SFILES): Add doublest.c.
> (COMMON_OBS): Add doublest.o.
> (doublest.o): Specify dependencies.
> (doublest_h): Define.
>
> * config/m88k/tm-m88k.h: Include "doublest.h".
> * config/m68k/tm-m68k.h, config/i960/tm-i960.h: Ditto.
> * config/i386/xm-nbsd.h, config/i386/xm-linux.h: Ditto.
> * config/i386/xm-i386gnu.h, config/i386/xm-go32.h: Ditto.
> * config/i386/xm-fbsd.h, config/i386/tm-symmetry.h: Ditto.
> * rs6000-tdep.c, valarith.c: Ditto.
> * valprint.c, stabsread.c, sh-tdep.c: Ditto.
> * ia64-tdep.c, i387-tdep.c, i386-tdep.c: Ditto.
> * values.c, arm-tdep.c, arm-linux-tdep.c: Ditto.
> * alpha-tdep.c, ax.h, expression.h: Ditto.
>
> * Makefile.in (arm-tdep.o): Add $(doublest_h).
> (i386-tdep.o, i387-tdep.o, ia64-tdep.o): Ditto.
> (rs6000-tdep.o, stabsread.o, valarith.o): Ditto.
> (values.o, valprint.o, arm-linux-tdep.o): Ditto.
> (alpha-tdep.o, ax_h): Ditto.
> (expression_h): Add $(doublest_h) and $(symtab_h).
>
>
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [rfc/rfa(DavidT?)] Move DOUBLEST to doublest.{h,c}
2001-07-29 12:34 ` Andrew Cagney
@ 2001-07-30 7:09 ` Mark Kettenis
2001-07-30 7:34 ` Andrew Cagney
2001-08-01 11:42 ` Andrew Cagney
1 sibling, 1 reply; 9+ messages in thread
From: Mark Kettenis @ 2001-07-30 7:09 UTC (permalink / raw)
To: Andrew Cagney; +Cc: gdb-patches
Andrew Cagney <ac131313@cygnus.com> writes:
> > 2001-07-15 Andrew Cagney <ac131313@redhat.com>
> > * config/m88k/tm-m88k.h: Include "doublest.h".
> > * config/m68k/tm-m68k.h, config/i960/tm-i960.h: Ditto.
> > * config/i386/xm-nbsd.h, config/i386/xm-linux.h: Ditto.
> > * config/i386/xm-i386gnu.h, config/i386/xm-go32.h: Ditto.
> > * config/i386/xm-fbsd.h, config/i386/tm-symmetry.h: Ditto.
Why are you including "doublest.h" from various tm.h and xm.h files?
Most of them don't use DOUBLEST at all, so this seems wrong to me.
Mark
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [rfc/rfa(DavidT?)] Move DOUBLEST to doublest.{h,c}
2001-07-30 7:09 ` Mark Kettenis
@ 2001-07-30 7:34 ` Andrew Cagney
2001-07-30 14:41 ` Mark Kettenis
0 siblings, 1 reply; 9+ messages in thread
From: Andrew Cagney @ 2001-07-30 7:34 UTC (permalink / raw)
To: Mark Kettenis; +Cc: gdb-patches
>> > * config/m88k/tm-m88k.h: Include "doublest.h".
>> > * config/m68k/tm-m68k.h, config/i960/tm-i960.h: Ditto.
>> > * config/i386/xm-nbsd.h, config/i386/xm-linux.h: Ditto.
>> > * config/i386/xm-i386gnu.h, config/i386/xm-go32.h: Ditto.
>> > * config/i386/xm-fbsd.h, config/i386/tm-symmetry.h: Ditto.
>
>
> Why are you including "doublest.h" from various tm.h and xm.h files?
> Most of them don't use DOUBLEST at all, so this seems wrong to me.
Headers such as tm-m88k.h contain macros that refer to functions such as
store_floating(). I moved those functions to doublest.h.
Yes, ulgh :-)
Andrew
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [rfc/rfa(DavidT?)] Move DOUBLEST to doublest.{h,c}
2001-07-30 7:34 ` Andrew Cagney
@ 2001-07-30 14:41 ` Mark Kettenis
2001-07-30 15:34 ` Andrew Cagney
0 siblings, 1 reply; 9+ messages in thread
From: Mark Kettenis @ 2001-07-30 14:41 UTC (permalink / raw)
To: ac131313; +Cc: gdb-patches
Date: Mon, 30 Jul 2001 10:34:36 -0400
From: Andrew Cagney <ac131313@cygnus.com>
>> > * config/m88k/tm-m88k.h: Include "doublest.h".
>> > * config/m68k/tm-m68k.h, config/i960/tm-i960.h: Ditto.
>> > * config/i386/xm-nbsd.h, config/i386/xm-linux.h: Ditto.
>> > * config/i386/xm-i386gnu.h, config/i386/xm-go32.h: Ditto.
>> > * config/i386/xm-fbsd.h, config/i386/tm-symmetry.h: Ditto.
>
>
> Why are you including "doublest.h" from various tm.h and xm.h files?
> Most of them don't use DOUBLEST at all, so this seems wrong to me.
Headers such as tm-m88k.h contain macros that refer to functions such as
store_floating(). I moved those functions to doublest.h.
I see, but how about the i386/xm-*.h files? I'm asking since I'm
thinking about replacing most of them with a single xm-i386.h with the
following contents:
/* FIXME: kettenis/2001-07-29: Get rid of HOST_BYTE_ORDER when Andrew
has erradicated it from the sources. */
#define HOST_BYTE_ORDER LITTLE_ENDIAN
#define HOST_FLOAT_FORMAT &floatformat_ieee_single_little
#define HOST_DOUBLE_FORMAT &floatformat_ieee_double_little
#define HOST_LONG_DOUBLE_FORMAT &floatformat_i387_ext
Mark
Yes, ulgh :-)
Andrew
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [rfc/rfa(DavidT?)] Move DOUBLEST to doublest.{h,c}
2001-07-30 14:41 ` Mark Kettenis
@ 2001-07-30 15:34 ` Andrew Cagney
2001-07-30 21:50 ` Andrew Cagney
0 siblings, 1 reply; 9+ messages in thread
From: Andrew Cagney @ 2001-07-30 15:34 UTC (permalink / raw)
To: Mark Kettenis; +Cc: gdb-patches
> Headers such as tm-m88k.h contain macros that refer to functions such as
> store_floating(). I moved those functions to doublest.h.
>
> I see, but how about the i386/xm-*.h files? I'm asking since I'm
> thinking about replacing most of them with a single xm-i386.h with the
> following contents:
I was only checking for references to the functions I moved.
> /* FIXME: kettenis/2001-07-29: Get rid of HOST_BYTE_ORDER when Andrew
> has erradicated it from the sources. */
> #define HOST_BYTE_ORDER LITTLE_ENDIAN
>
> #define HOST_FLOAT_FORMAT &floatformat_ieee_single_little
> #define HOST_DOUBLE_FORMAT &floatformat_ieee_double_little
> #define HOST_LONG_DOUBLE_FORMAT &floatformat_i387_ext
I'd include "floatformat.h". Is there an x86 system that doesn't have
long double? I've a memory of someone pointing this out when I recently
changed the i387 float conversion code.
FYI, I also recently added the below to the doco. It was an attempt at
summarising an earlier discussion about an include file policy.
Andrew
@subsection Include Files
All @file{.c} files should include @file{defs.h} first.
All @file{.c} files should explicitly include the headers for any
declarations they refer to. They should not rely on files being
included indirectly.
With the exception of the global definitions supplied by @file{defs.h},
a header file should explictily include the header declaring any
@code{typedefs} et.al.@: it refers to.
@code{extern} declarations should never appear in @code{.c} files.
All include files should be wrapped in:
@example
#ifndef INCLUDE_FILE_NAME_H
#define INCLUDE_FILE_NAME_H
header body
#endif
@end example
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [rfc/rfa(DavidT?)] Move DOUBLEST to doublest.{h,c}
2001-07-30 15:34 ` Andrew Cagney
@ 2001-07-30 21:50 ` Andrew Cagney
2001-07-31 14:37 ` Andrew Cagney
0 siblings, 1 reply; 9+ messages in thread
From: Andrew Cagney @ 2001-07-30 21:50 UTC (permalink / raw)
To: Andrew Cagney; +Cc: Mark Kettenis, gdb-patches
> Headers such as tm-m88k.h contain macros that refer to functions such as store_floating(). I moved those functions to doublest.h.
>
> I see, but how about the i386/xm-*.h files? I'm asking since I'm
> thinking about replacing most of them with a single xm-i386.h with the
> following contents:
>
>
> I was only checking for references to the functions I moved.
Hmm, oops no, sorry, not quite...
> /* FIXME: kettenis/2001-07-29: Get rid of HOST_BYTE_ORDER when Andrew
> has erradicated it from the sources. */
> #define HOST_BYTE_ORDER LITTLE_ENDIAN
>
> #define HOST_FLOAT_FORMAT &floatformat_ieee_single_little
> #define HOST_DOUBLE_FORMAT &floatformat_ieee_double_little
> #define HOST_LONG_DOUBLE_FORMAT &floatformat_i387_ext
>
>
> I'd include "floatformat.h". Is there an x86 system that doesn't have long double? I've a memory of someone pointing this out when I recently changed the i387 float conversion code.
I was incorrectly adding a #include "doublest.h" when the file defined
(not used) things like HOST_FLOAT_FORMAT. Further cross checking
reveals that I also missed a few DOUBLEST references ;-/
I'll revise and repost.
Andrew
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [rfc/rfa(DavidT?)] Move DOUBLEST to doublest.{h,c}
2001-07-30 21:50 ` Andrew Cagney
@ 2001-07-31 14:37 ` Andrew Cagney
0 siblings, 0 replies; 9+ messages in thread
From: Andrew Cagney @ 2001-07-31 14:37 UTC (permalink / raw)
To: Andrew Cagney; +Cc: gdb-patches
Attatched is a revised version of the doublest.[hc] change. Assuming
all my cross builds work, I'll check this in.
Andrew
From keiths@cygnus.com Tue Jul 31 14:48:00 2001
From: Keith Seitz <keiths@cygnus.com>
To: <gdb-patches@sources.redhat.com>
Subject: [RFA] defs.h _WIN32 defined by Win98, too
Date: Tue, 31 Jul 2001 14:48:00 -0000
Message-id: <Pine.GSO.4.33.0107311445130.28966-100000@makita.cygnus.com>
X-SW-Source: 2001-07/msg00765.html
Content-length: 1246
Hi,
As a result of this change:
2001-06-13 Eli Zaretskii <eliz@is.elta.co.il>
* config/i386/xm-go32.h (SLASH_P, ROOTED_P, SLASH_CHAR)
(SLASH_STRING): Remove unised definitions.
* config/i386/xm-cygwin.h: Likewise.
Win98 no longer works under cygwin:
(gdb) file gdb.exe
Loading symbols from gdb.exe...done
(gdb) run
`/home/keiths/sources/insight/gdb\gdb.exe' has disappeared; keeping its
symbols.
Starting program: /home/keiths/sources/insight/gdb\gdb.exe
Error creating process /home/keiths/sources/insight/gdb\gdb.exe (error 2)
[often crashes here]
Apparently, Win98 defines _WIN32 somewhere...
ChangeLog
2001-07-31 Keith Seitz <keiths@redhat.com>
* defs.h (SLASH_STRING): Only define to "\\" if _WIN32
is set and we're not on Cygwin. _WIN32 is defined for
Win98.
Patch
Index: defs.h
===================================================================
RCS file: /cvs/src/src/gdb/defs.h,v
retrieving revision 1.57
diff -u -p -r1.57 defs.h
--- defs.h 2001/07/07 17:19:50 1.57
+++ defs.h 2001/07/31 21:45:14
@@ -1408,7 +1408,7 @@ extern int use_windows;
#endif
#ifndef SLASH_STRING
-#ifdef _WIN32
+#if defined(_WIN32) && !defined(__CYGWIN__)
#define SLASH_STRING "\\"
#else
#define SLASH_STRING "/"
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [rfc/rfa(DavidT?)] Move DOUBLEST to doublest.{h,c}
2001-07-29 12:34 ` Andrew Cagney
2001-07-30 7:09 ` Mark Kettenis
@ 2001-08-01 11:42 ` Andrew Cagney
1 sibling, 0 replies; 9+ messages in thread
From: Andrew Cagney @ 2001-08-01 11:42 UTC (permalink / raw)
To: Andrew Cagney; +Cc: gdb-patches
> FYI,
>
> I've not received any comments so I guess everyone decided this change was pretty obvous [:-)] (?) Since the 5.1 branch has gone through, I'll be committing this to the trunk shortly.
>
> Andrew
FYI,
This change is in.
Andew
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2001-08-01 11:42 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2001-07-16 8:18 [rfc/rfa(DavidT?)] Move DOUBLEST to doublest.{h,c} Andrew Cagney
2001-07-29 12:34 ` Andrew Cagney
2001-07-30 7:09 ` Mark Kettenis
2001-07-30 7:34 ` Andrew Cagney
2001-07-30 14:41 ` Mark Kettenis
2001-07-30 15:34 ` Andrew Cagney
2001-07-30 21:50 ` Andrew Cagney
2001-07-31 14:37 ` Andrew Cagney
2001-08-01 11:42 ` Andrew Cagney
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox