This is the mail archive of the gdb-patches@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Deprecate IBM6000_TARGET; Was: [PATCH] IBM6000_TARGET is wrong forNetBSD/powerpc


On Aug 28, 12:44pm, Andrew Cagney wrote:


> I agree, but we're talking about a simple bug-fix for an existing target, where the multi-arch-correct solution is not all that clear, because...
> > - re-arange tm-rs6000.h so that the define wasn't needed
> - move the define to nm-rs6000.h (sick but effective :-)
> > ...it's an MI part of the debugger that is testing the define. How would you suggest modifying tm-rs6000.h to deal with this?


Create an aix specific tm-rs6000.h, move the define to there and then kill the #undef's. Given that this macro will be deleted rather than multi-arched, moving [burrying] it to nm-rs6000.h (and zapping the #undefine is easier).


I agree that moving it to nm-rs6000.h is the way to go.  I'm not terribly
worried about cross-debugging scenarios with AIX as the target since
I'm pretty sure that it never worked anyway.

I just took a look at the places where IBM6000_TARGET are used.  This
code is _really_ ugly.  E.g, anything vmap related in exec.c ought to
be moved somewhere else, maybe xcoffsolib.c.

How's the attached? It deletes the #undef's, and moves a renamed #define (DEPRECATED_IBM6000_TARGET) to the nm-rs6000.h file. (If you've a better new name ... :-)


Eli, note that I tweaked the doco.

Andrew

2003-09-03  Andrew Cagney  <cagney@redhat.com>

	* config/rs6000/tm-rs6000.h (IBM6000_TARGET): Delete definition.
	* config/rs6000/nm-rs6000.h (DEPRECATED_IBM6000_TARGET): Define.
	* symfile.c (syms_from_objfile): Update.
	(reread_symbols): `Update
	* exec.c (exec_file_attach): Update.
	(exec_file_attach): Update.
	* config/powerpc/tm-nbsd.h: Delete #undef IBM6000_TARGET, revert
	2003-08-29 change.
	* config/powerpc/tm-linux.h: Delete #undef IBM6000_TARGET.

Index: doc/ChangeLog
2003-09-03  Andrew Cagney  <cagney@redhat.com>

	* gdbint.texinfo (Target Architecture Definition): Deprecate
	IBM6000_TARGET.  Mention that it implies an RS/6000 system and not
	just target.

Index: exec.c
===================================================================
RCS file: /cvs/src/src/gdb/exec.c,v
retrieving revision 1.28
diff -u -r1.28 exec.c
--- exec.c	21 Jan 2003 19:43:47 -0000	1.28
+++ exec.c	3 Sep 2003 20:12:49 -0000
@@ -242,7 +242,7 @@
 
       /* FIXME - This should only be run for RS6000, but the ifdef is a poor
          way to accomplish.  */
-#ifdef IBM6000_TARGET
+#ifdef DEPRECATED_IBM6000_TARGET
       /* Setup initial vmap. */
 
       map_vmap (exec_bfd, 0);
@@ -254,7 +254,7 @@
 	  error ("\"%s\": can't find the file sections: %s",
 		 scratch_pathname, bfd_errmsg (bfd_get_error ()));
 	}
-#endif /* IBM6000_TARGET */
+#endif /* DEPRECATED_IBM6000_TARGET */
 
       if (build_section_table (exec_bfd, &exec_ops.to_sections,
 			       &exec_ops.to_sections_end))
Index: symfile.c
===================================================================
RCS file: /cvs/src/src/gdb/symfile.c,v
retrieving revision 1.102
diff -u -r1.102 symfile.c
--- symfile.c	17 Aug 2003 22:33:08 -0000	1.102
+++ symfile.c	3 Sep 2003 20:12:51 -0000
@@ -710,7 +710,7 @@
       init_objfile_sect_indices (objfile);
     }
 
-#ifndef IBM6000_TARGET
+#ifndef DEPRECATED_IBM6000_TARGET
   /* This is a SVR4/SunOS specific hack, I think.  In any event, it
      screws RS/6000.  sym_offsets should be doing this sort of thing,
      because it knows the mapping between bfd sections and
@@ -758,7 +758,7 @@
 	  s->offset += s_addr;
 	}
     }
-#endif /* not IBM6000_TARGET */
+#endif /* not DEPRECATED_IBM6000_TARGET */
 
   (*objfile->sf->sym_read) (objfile, mainline);
 
@@ -1861,7 +1861,7 @@
     {
       if (objfile->obfd)
 	{
-#ifdef IBM6000_TARGET
+#ifdef DEPRECATED_IBM6000_TARGET
 	  /* If this object is from a shared library, then you should
 	     stat on the library name, not member name. */
 
Index: config/powerpc/tm-linux.h
===================================================================
RCS file: /cvs/src/src/gdb/config/powerpc/tm-linux.h,v
retrieving revision 1.13
diff -u -r1.13 tm-linux.h
--- config/powerpc/tm-linux.h	12 Jun 2003 23:58:07 -0000	1.13
+++ config/powerpc/tm-linux.h	3 Sep 2003 20:12:51 -0000
@@ -44,10 +44,6 @@
    at_subroutine_call_instruction_target(prevpc,stoppc)
 extern int at_subroutine_call_instruction_target();
 
-/* We _want_ the SVR4 section offset calculations (see syms_from_objfile()
-   in symfile.c) */
-#undef IBM6000_TARGET
-
 extern int ppc_linux_in_sigtramp (CORE_ADDR pc, char *func_name);
 #undef IN_SIGTRAMP
 #define IN_SIGTRAMP(pc,func_name) ppc_linux_in_sigtramp (pc,func_name)
Index: config/powerpc/tm-nbsd.h
===================================================================
RCS file: /cvs/src/src/gdb/config/powerpc/tm-nbsd.h,v
retrieving revision 1.3
diff -u -r1.3 tm-nbsd.h
--- config/powerpc/tm-nbsd.h	28 Aug 2003 14:44:14 -0000	1.3
+++ config/powerpc/tm-nbsd.h	3 Sep 2003 20:12:51 -0000
@@ -23,8 +23,4 @@
 
 #include "powerpc/tm-ppc-eabi.h"
 
-/* We _want_ the SVR4 section offset calculations (see syms_from_objfile()
-   in symfile.c).  */
-#undef IBM6000_TARGET
-
 #endif /* TM_NBSD_H */
Index: config/rs6000/nm-rs6000.h
===================================================================
RCS file: /cvs/src/src/gdb/config/rs6000/nm-rs6000.h,v
retrieving revision 1.9
diff -u -r1.9 nm-rs6000.h
--- config/rs6000/nm-rs6000.h	1 Nov 2001 16:17:08 -0000	1.9
+++ config/rs6000/nm-rs6000.h	3 Sep 2003 20:12:51 -0000
@@ -64,3 +64,6 @@
 
 #define KERNEL_U_SIZE kernel_u_size()
 extern int kernel_u_size (void);
+
+/* Flag for machine-specific stuff in shared files.  FIXME */
+#define DEPRECATED_IBM6000_TARGET
Index: config/rs6000/tm-rs6000.h
===================================================================
RCS file: /cvs/src/src/gdb/config/rs6000/tm-rs6000.h,v
retrieving revision 1.25
diff -u -r1.25 tm-rs6000.h
--- config/rs6000/tm-rs6000.h	12 Apr 2003 17:41:26 -0000	1.25
+++ config/rs6000/tm-rs6000.h	3 Sep 2003 20:12:51 -0000
@@ -90,9 +90,6 @@
 extern CORE_ADDR init_frame_pc_noop (int fromleaf, struct frame_info *prev);
 #define DEPRECATED_INIT_FRAME_PC(fromleaf, prev) (init_frame_pc_noop (fromleaf, prev))
 
-/* Flag for machine-specific stuff in shared files.  FIXME */
-#define IBM6000_TARGET
-
 /* RS6000/AIX does not support PT_STEP.  Has to be simulated.  */
 
 #define SOFTWARE_SINGLE_STEP_P() 1
Index: doc/gdbint.texinfo
===================================================================
RCS file: /cvs/src/src/gdb/doc/gdbint.texinfo,v
retrieving revision 1.159
diff -u -r1.159 gdbint.texinfo
--- doc/gdbint.texinfo	18 Aug 2003 20:04:56 -0000	1.159
+++ doc/gdbint.texinfo	3 Sep 2003 20:12:54 -0000
@@ -3382,9 +3382,9 @@
 Define this if you need to supply your own definition for the function
 @code{DEPRECATED_GET_SAVED_REGISTER}.
 
-@item IBM6000_TARGET
-@findex IBM6000_TARGET
-Shows that we are configured for an IBM RS/6000 target.  This
+@item DEPRECATED_IBM6000_TARGET
+@findex DEPRECATED_IBM6000_TARGET
+Shows that we are configured for an IBM RS/6000 system.  This
 conditional should be eliminated (FIXME) and replaced by
 feature-specific macros.  It was introduced in a haste and we are
 repenting at leisure.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]