2002-06-10 Andrew Cagney * gdbarch.sh (PRINT_FLOAT_INFO): Add frame and ui_file parameters. Make multi-arch pure. * gdbarch.h, gdbarch.c: Re-generate. * arm-tdep.c (arm_print_float_info): Update. * arch-utils.h (default_print_float_info): Update. * arch-utils.c (default_print_float_info): Update. * infcmd.c (float_info): Update call. Index: arch-utils.c =================================================================== RCS file: /cvs/src/src/gdb/arch-utils.c,v retrieving revision 1.59 diff -u -r1.59 arch-utils.c --- arch-utils.c 29 May 2002 16:39:53 -0000 1.59 +++ arch-utils.c 11 Jun 2002 02:25:06 -0000 @@ -241,7 +241,8 @@ } void -default_print_float_info (void) +default_print_float_info (struct gdbarch *gdbarch, struct ui_file *file, + struct frame_info *frame) { #ifdef FLOAT_INFO #if GDB_MULTI_ARCH > GDB_MULTI_ARCH_PARTIAL @@ -249,7 +250,8 @@ #endif FLOAT_INFO; #else - printf_filtered ("No floating point info available for this processor.\n"); + fprintf_filtered (file, "\ +No floating point info available for this processor.\n"); #endif } Index: arch-utils.h =================================================================== RCS file: /cvs/src/src/gdb/arch-utils.h,v retrieving revision 1.34 diff -u -r1.34 arch-utils.h --- arch-utils.h 29 May 2002 16:39:54 -0000 1.34 +++ arch-utils.h 11 Jun 2002 02:25:06 -0000 @@ -142,7 +142,9 @@ extern int generic_in_function_epilogue_p (struct gdbarch *gdbarch, CORE_ADDR pc); -extern void default_print_float_info (void); +extern void default_print_float_info (struct gdbarch *gdbarch, + struct ui_file *file, + struct frame_info *frame); /* Assume that the world is sane, a registers raw and virtual size both match its type. */ Index: arm-tdep.c =================================================================== RCS file: /cvs/src/src/gdb/arm-tdep.c,v retrieving revision 1.62 diff -u -r1.62 arm-tdep.c --- arm-tdep.c 21 May 2002 15:36:02 -0000 1.62 +++ arm-tdep.c 11 Jun 2002 02:25:08 -0000 @@ -1558,7 +1558,8 @@ /* Print interesting information about the floating point processor (if present) or emulator. */ static void -arm_print_float_info (void) +arm_print_float_info (struct gdbarch *gdbarch, struct ui_file *file, + struct frame_info *frame) { register unsigned long status = read_register (ARM_FPS_REGNUM); int type; Index: gdbarch.c =================================================================== RCS file: /cvs/src/src/gdb/gdbarch.c,v retrieving revision 1.132 diff -u -r1.132 gdbarch.c --- gdbarch.c 8 Jun 2002 18:57:38 -0000 1.132 +++ gdbarch.c 11 Jun 2002 02:25:11 -0000 @@ -321,7 +321,7 @@ 0, 0, 0, - 0, + default_print_float_info, 0, 0, 0, @@ -1533,20 +1533,10 @@ (long) current_gdbarch->prepare_to_proceed /*PREPARE_TO_PROCEED ()*/); #endif -#ifdef PRINT_FLOAT_INFO -#if GDB_MULTI_ARCH - /* Macro might contain `[{}]' when not multi-arch */ - fprintf_unfiltered (file, - "gdbarch_dump: %s # %s\n", - "PRINT_FLOAT_INFO()", - XSTRING (PRINT_FLOAT_INFO ())); -#endif if (GDB_MULTI_ARCH) fprintf_unfiltered (file, - "gdbarch_dump: PRINT_FLOAT_INFO = 0x%08lx\n", - (long) current_gdbarch->print_float_info - /*PRINT_FLOAT_INFO ()*/); -#endif + "gdbarch_dump: print_float_info = 0x%08lx\n", + (long) current_gdbarch->print_float_info); #ifdef PROLOGUE_FRAMELESS_P fprintf_unfiltered (file, "gdbarch_dump: %s # %s\n", @@ -3007,7 +2997,7 @@ } void -gdbarch_print_float_info (struct gdbarch *gdbarch) +gdbarch_print_float_info (struct gdbarch *gdbarch, struct ui_file *file, struct frame_info *frame) { gdb_assert (gdbarch != NULL); if (gdbarch->print_float_info == 0) @@ -3015,7 +3005,7 @@ "gdbarch: gdbarch_print_float_info invalid"); if (gdbarch_debug >= 2) fprintf_unfiltered (gdb_stdlog, "gdbarch_print_float_info called\n"); - gdbarch->print_float_info (); + gdbarch->print_float_info (gdbarch, file, frame); } void Index: gdbarch.h =================================================================== RCS file: /cvs/src/src/gdb/gdbarch.h,v retrieving revision 1.101 diff -u -r1.101 gdbarch.h --- gdbarch.h 8 Jun 2002 18:57:38 -0000 1.101 +++ gdbarch.h 11 Jun 2002 02:25:19 -0000 @@ -789,22 +789,9 @@ #endif #endif -/* Default (function) for non- multi-arch platforms. */ -#if (!GDB_MULTI_ARCH) && !defined (PRINT_FLOAT_INFO) -#define PRINT_FLOAT_INFO() (default_print_float_info ()) -#endif - -typedef void (gdbarch_print_float_info_ftype) (void); -extern void gdbarch_print_float_info (struct gdbarch *gdbarch); +typedef void (gdbarch_print_float_info_ftype) (struct gdbarch *gdbarch, struct ui_file *file, struct frame_info *frame); +extern void gdbarch_print_float_info (struct gdbarch *gdbarch, struct ui_file *file, struct frame_info *frame); extern void set_gdbarch_print_float_info (struct gdbarch *gdbarch, gdbarch_print_float_info_ftype *print_float_info); -#if (GDB_MULTI_ARCH > GDB_MULTI_ARCH_PARTIAL) && defined (PRINT_FLOAT_INFO) -#error "Non multi-arch definition of PRINT_FLOAT_INFO" -#endif -#if GDB_MULTI_ARCH -#if (GDB_MULTI_ARCH > GDB_MULTI_ARCH_PARTIAL) || !defined (PRINT_FLOAT_INFO) -#define PRINT_FLOAT_INFO() (gdbarch_print_float_info (current_gdbarch)) -#endif -#endif /* MAP a GDB RAW register number onto a simulator register number. See also include/...-sim.h. */ Index: gdbarch.sh =================================================================== RCS file: /cvs/src/src/gdb/gdbarch.sh,v retrieving revision 1.144 diff -u -r1.144 gdbarch.sh --- gdbarch.sh 8 Jun 2002 18:57:38 -0000 1.144 +++ gdbarch.sh 11 Jun 2002 02:25:20 -0000 @@ -468,7 +468,7 @@ v:2:MAX_REGISTER_VIRTUAL_SIZE:int:max_register_virtual_size::::0:-1 f:2:REGISTER_VIRTUAL_TYPE:struct type *:register_virtual_type:int reg_nr:reg_nr::0:0 f:2:DO_REGISTERS_INFO:void:do_registers_info:int reg_nr, int fpregs:reg_nr, fpregs:::do_registers_info::0 -f:2:PRINT_FLOAT_INFO:void:print_float_info:void::::default_print_float_info::0 +m:2:PRINT_FLOAT_INFO:void:print_float_info:struct ui_file *file, struct frame_info *frame:file, frame:::default_print_float_info::0 # MAP a GDB RAW register number onto a simulator register number. See # also include/...-sim.h. f:2:REGISTER_SIM_REGNO:int:register_sim_regno:int reg_nr:reg_nr:::legacy_register_sim_regno::0 Index: infcmd.c =================================================================== RCS file: /cvs/src/src/gdb/infcmd.c,v retrieving revision 1.46 diff -u -r1.46 infcmd.c --- infcmd.c 23 Apr 2002 03:00:57 -0000 1.46 +++ infcmd.c 11 Jun 2002 02:25:26 -0000 @@ -1847,7 +1847,7 @@ static void float_info (char *addr_exp, int from_tty) { - PRINT_FLOAT_INFO (); + gdbarch_print_float_info (current_gdbarch, gdb_stdout, selected_frame); } /* ARGSUSED */