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]

[RFA] Implement auto-solib-add for AIX3/4, cleanup of shlib code.


As the AIX5 shared library stuff seems to be quite different from AIX3/4,
and Kevin Buettner encouraged me to proceed with fixing/enhancing the
AIX3/4 code, I'd like to propose the following changes:

	Add auto-solib-add support for AIX, remove obsolete and unused
	SOLIB_SYMBOLS_MANUAL code, cleanup of AIX shared library handling code.
	* rs6000-nat.c (vmap_symtab):  Do not try to modify offsets
	if symbols are not yet loaded.
	(vmap_add_symbols):  New function to add symbols for a vmap entry.
	(add_vmap):  Turn errors into warnings, return NULL vmap upon
	failure. Add symbols via vmap_add_symbols only if requested.
	(xcoff_relocate_core):  Allow debugging of core files without an
	executable file. Handle NULL returns from add_vmap gracefully.
	* xcoffsolib.c (solib_add):  Remove, no longer needed.
	(solib_info):  Do not check for new shared libraries if there is no
	inferior process.
	(sharedlibrary_command):  Made static.
	Do not check for new shared libraries if there is no inferior process.
	Add symbols for requested shared libraries via vmap_add_symbols.
	(_initialize_solib):  Add `set auto-solib-add' command.
	* xcoffsolib.h (vmap_add_symbols):  Add prototype declaration.

	* config/rs6000/tm-rs6000.h (PC_LOAD_SEGMENT):  Move from here ...
	* config/rs6000/nm-rs6000.h:  ... to here, this is an AIX native
	feature.
	* config/powerpc/tm-macos.h, config/powerpc/tm-ppc-eabi.h,
	config/powerpc/tm-ppc-nw.h, config/rs6000/tm-rs6000ly.h:
	Remove #undef PC_LOAD_SEGMENT.
	* config/powerpc/aix.mt, config/rs6000/aix4.mt, config/rs6000/rs6000.mt
	(TDEPFILES):  Move xcoffsolib.o from here ...
	* config/powerpc/aix.mh, config/rs6000/aix4.mh, config/rs6000/rs6000.mh
	(NATDEPFILES):  ... to here, xcoffsolib.o contains AIX native code
	only.
	* rs6000-tdep.c:  Remove #include xcoffsolib.h, no longer needed.
	* xcoffsolib.h (xcoff_relocate_symtab_hook):  Remove declaration.
	* rs6000-nat.c (_initialize_core_rs6000):  Remove setting of
	xcoff_relocate_symtab_hook, no longer needed.
	* xcoffsolib.c (solib_info, sharedlibrary_command):  Remove
	xcoff_relocate_symtab_hook indirection, call xcoff_relocate_symtab
	directly, as xcoffsolib.c is now compiled in native AIX configurations
	only.
	* Makefile.in:  Update dependencies for rs6000-tdep.o, rs6000-nat.o
	and xcoffsolib.o.

Index: Makefile.in
===================================================================
RCS file: /cvs/src/src/gdb/Makefile.in,v
retrieving revision 1.45
diff -c -r1.45 Makefile.in
*** Makefile.in	2000/10/24 20:05:35	1.45
--- Makefile.in	2000/11/05 12:01:16
***************
*** 1801,1810 ****
  	$(inferior_h) target.h serial.h terminal.h
  
  rs6000-nat.o: rs6000-nat.c $(bfd_h) $(defs_h) $(inferior_h) target.h \
! 	xcoffsolib.h
  
  rs6000-tdep.o: rs6000-tdep.c $(defs_h) $(gdbcore_h) $(inferior_h) \
! 	target.h xcoffsolib.h ppc-tdep.h
  
  scm-exp.o: $(defs_h) $(value_h) parser-defs.h language.h c-lang.h \
  	scm-lang.h scm-tags.h
--- 1802,1811 ----
  	$(inferior_h) target.h serial.h terminal.h
  
  rs6000-nat.o: rs6000-nat.c $(bfd_h) $(defs_h) $(inferior_h) target.h \
! 	$(gdbcore_h) xcoffsolib.h symfile.h objfiles.h gdb-stabs.h
  
  rs6000-tdep.o: rs6000-tdep.c $(defs_h) $(gdbcore_h) $(inferior_h) \
! 	target.h ppc-tdep.h
  
  scm-exp.o: $(defs_h) $(value_h) parser-defs.h language.h c-lang.h \
  	scm-lang.h scm-tags.h
***************
*** 1967,1973 ****
  	complaints.h $(defs_h) $(gdbtypes_h) objfiles.h stabsread.h symfile.h \
  	$(symtab_h) partial-stab.h gdb_string.h
  
! xcoffsolib.o: xcoffsolib.c $(bfd_h) $(defs_h) xcoffsolib.h
  
  # FIXME: z8k-tdep.c calls _initialize_gdbtypes().  Since that isn't
  # declared -Wimplicit fails. It should be using the GDBARCH framework.
--- 1968,1975 ----
  	complaints.h $(defs_h) $(gdbtypes_h) objfiles.h stabsread.h symfile.h \
  	$(symtab_h) partial-stab.h gdb_string.h
  
! xcoffsolib.o: xcoffsolib.c $(bfd_h) $(defs_h) xcoffsolib.h $(inferior_h) \
! 	$(gdbcmd_h) symfile.h $(frame_h) gnu-regex.h
  
  # FIXME: z8k-tdep.c calls _initialize_gdbtypes().  Since that isn't
  # declared -Wimplicit fails. It should be using the GDBARCH framework.
Index: rs6000-nat.c
===================================================================
RCS file: /cvs/src/src/gdb/rs6000-nat.c,v
retrieving revision 1.10
diff -c -r1.10 rs6000-nat.c
*** rs6000-nat.c	2000/08/30 20:35:26	1.10
--- rs6000-nat.c	2000/11/05 12:01:17
***************
*** 605,610 ****
--- 605,613 ----
  	return;
        objfile = symfile_objfile;
      }
+   else if (!vp->loaded)
+     /* If symbols are not yet loaded, offsets are not yet valid. */
+     return;
  
    new_offsets = (struct section_offsets *) alloca (SIZEOF_SECTION_OFFSETS);
  
***************
*** 632,637 ****
--- 635,657 ----
    return 1;
  }
  
+ /* Add symbols for a vmap. Return zero upon error.  */
+ 
+ int
+ vmap_add_symbols (struct vmap *vp)
+ {
+   if (catch_errors (objfile_symbol_add, vp->objfile,
+ 		    "Error while reading shared library symbols:\n",
+ 		    RETURN_MASK_ALL))
+     {
+       /* Note this is only done if symbol reading was successful.  */
+       vp->loaded = 1;
+       vmap_symtab (vp);
+       return 1;
+     }
+   return 0;
+ }
+ 
  /* Add a new vmap entry based on ldinfo() information.
  
     If ldi->ldinfo_fd is not valid (e.g. this struct ld_info is from a
***************
*** 666,673 ****
    else
      abfd = bfd_fdopenr (objname, gnutarget, fd);
    if (!abfd)
!     error ("Could not open `%s' as an executable file: %s",
! 	   objname, bfd_errmsg (bfd_get_error ()));
  
    /* make sure we have an object file */
  
--- 686,696 ----
    else
      abfd = bfd_fdopenr (objname, gnutarget, fd);
    if (!abfd)
!     {
!       warning ("Could not open `%s' as an executable file: %s",
! 	       objname, bfd_errmsg (bfd_get_error ()));
!       return NULL;
!     }
  
    /* make sure we have an object file */
  
***************
*** 684,724 ****
  
        if (!last)
  	{
  	  bfd_close (abfd);
! 	  /* FIXME -- should be error */
! 	  warning ("\"%s\": member \"%s\" missing.", abfd->filename, mem);
! 	  return 0;
  	}
  
        if (!bfd_check_format (last, bfd_object))
  	{
! 	  bfd_close (last);	/* XXX???       */
! 	  goto obj_err;
  	}
  
        vp = map_vmap (last, abfd);
      }
    else
      {
!     obj_err:
        bfd_close (abfd);
!       error ("\"%s\": not in executable format: %s.",
! 	     objname, bfd_errmsg (bfd_get_error ()));
!       /*NOTREACHED */
      }
    obj = allocate_objfile (vp->bfd, 0);
    vp->objfile = obj;
  
! #ifndef SOLIB_SYMBOLS_MANUAL
!   if (catch_errors (objfile_symbol_add, obj,
! 		    "Error while reading shared library symbols:\n",
! 		    RETURN_MASK_ALL))
!     {
!       /* Note this is only done if symbol reading was successful.  */
!       vmap_symtab (vp);
!       vp->loaded = 1;
!     }
! #endif
    return vp;
  }
  
--- 707,741 ----
  
        if (!last)
  	{
+ 	  warning ("\"%s\": member \"%s\" missing.", objname, mem);
  	  bfd_close (abfd);
! 	  return NULL;
  	}
  
        if (!bfd_check_format (last, bfd_object))
  	{
! 	  warning ("\"%s\": member \"%s\" not in executable format: %s.",
! 		   objname, mem, bfd_errmsg (bfd_get_error ()));
! 	  bfd_close (last);
! 	  bfd_close (abfd);
! 	  return NULL;
  	}
  
        vp = map_vmap (last, abfd);
      }
    else
      {
!       warning ("\"%s\": not in executable format: %s.",
! 	       objname, bfd_errmsg (bfd_get_error ()));
        bfd_close (abfd);
!       return NULL;
      }
    obj = allocate_objfile (vp->bfd, 0);
    vp->objfile = obj;
  
!   /* Always add symbols for the main objfile.  */
!   if (vp == vmap || auto_solib_add)
!     vmap_add_symbols (vp);
    return vp;
  }
  
***************
*** 985,996 ****
    char *buffer = xmalloc (buffer_size);
    struct cleanup *old = make_cleanup (free_current_contents, &buffer);
  
-   /* FIXME, this restriction should not exist.  For now, though I'll
-      avoid coredumps with error() pending a real fix.  */
-   if (vmap == NULL)
-     error
-       ("Can't debug a core file without an executable file (on the RS/6000)");
- 
    ldinfo_sec = bfd_get_section_by_name (core_bfd, ".ldinfo");
    if (ldinfo_sec == NULL)
      {
--- 1002,1007 ----
***************
*** 1036,1047 ****
  	ldi->l32.ldinfo_fd = -1;
  
        /* The first ldinfo is for the exec file, allocated elsewhere.  */
!       if (offset == 0)
  	vp = vmap;
        else
  	vp = add_vmap (ldi);
  
        offset += LDI_NEXT (ldi, arch64);
        vmap_secs (vp, ldi, arch64);
  
        /* Unless this is the exec file,
--- 1047,1062 ----
  	ldi->l32.ldinfo_fd = -1;
  
        /* The first ldinfo is for the exec file, allocated elsewhere.  */
!       if (offset == 0 && vmap != NULL)
  	vp = vmap;
        else
  	vp = add_vmap (ldi);
  
+       /* Process next shared library upon error. */
        offset += LDI_NEXT (ldi, arch64);
+       if (vp == NULL)
+ 	continue;
+ 
        vmap_secs (vp, ldi, arch64);
  
        /* Unless this is the exec file,
***************
*** 1125,1133 ****
       starting a child process. */
    rs6000_set_host_arch_hook = set_host_arch;
  
-   /* For native configurations, where this module is included, inform
-      the xcoffsolib module where it can find the function for symbol table
-      relocation at runtime. */
-   xcoff_relocate_symtab_hook = xcoff_relocate_symtab;
    add_core_fns (&rs6000_core_fns);
  }
--- 1140,1144 ----
Index: rs6000-tdep.c
===================================================================
RCS file: /cvs/src/src/gdb/rs6000-tdep.c,v
retrieving revision 1.15
diff -c -r1.15 rs6000-tdep.c
*** rs6000-tdep.c	2000/10/26 07:41:25	1.15
--- rs6000-tdep.c	2000/11/05 12:01:20
***************
*** 28,34 ****
  #include "gdbcmd.h"
  #include "symfile.h"
  #include "objfiles.h"
- #include "xcoffsolib.h"
  #include "arch-utils.h"
  
  #include "bfd/libbfd.h"		/* for bfd_default_set_arch_mach */
--- 28,33 ----
Index: xcoffsolib.c
===================================================================
RCS file: /cvs/src/src/gdb/xcoffsolib.c,v
retrieving revision 1.5
diff -c -r1.5 xcoffsolib.c
*** xcoffsolib.c	2000/07/30 01:48:28	1.5
--- xcoffsolib.c	2000/11/05 12:01:20
***************
*** 19,141 ****
     Foundation, Inc., 59 Temple Place - Suite 330,
     Boston, MA 02111-1307, USA.  */
  
- #if 0
- #include <sys/types.h>
- #include <sys/ldr.h>
- #endif
- 
  #include "defs.h"
  #include "bfd.h"
  #include "xcoffsolib.h"
  #include "inferior.h"
! #include "command.h"
! 
! /* Hook to relocate symbols at runtime.  If gdb is build natively, this
!    hook is initialized in by rs6000-nat.c.  If not, it is currently left
!    NULL and never called. */
! 
! void (*xcoff_relocate_symtab_hook) (unsigned int) = NULL;
! 
! #ifdef SOLIB_SYMBOLS_MANUAL
  
- extern struct symtab *current_source_symtab;
- extern int current_source_line;
- 
- /* The real work of adding a shared library file to the symtab and
-    the section list.  */
- 
- void
- solib_add (char *arg_string, int from_tty, struct target_ops *target)
- {
-   char *val;
-   struct vmap *vp = vmap;
-   struct objfile *obj;
-   struct symtab *saved_symtab;
-   int saved_line;
- 
-   int loaded = 0;		/* true if any shared obj loaded */
-   int matched = 0;		/* true if any shared obj matched */
- 
-   if (arg_string == 0)
-     re_comp (".");
-   else if (val = (char *) re_comp (arg_string))
-     {
-       error ("Invalid regexp: %s", val);
-     }
-   if (!vp || !vp->nxt)
-     return;
- 
-   /* save current symbol table and line number, in case they get changed
-      in symbol loading process. */
- 
-   saved_symtab = current_source_symtab;
-   saved_line = current_source_line;
- 
-   /* skip over the first vmap, it is the main program, always loaded. */
-   vp = vp->nxt;
- 
-   for (; vp; vp = vp->nxt)
-     {
- 
-       if (re_exec (vp->name) || (*vp->member && re_exec (vp->member)))
- 	{
- 
- 	  matched = 1;
- 
- 	  /* if already loaded, continue with the next one. */
- 	  if (vp->loaded)
- 	    {
- 
- 	      printf_unfiltered ("%s%s%s%s: already loaded.\n",
- 				 *vp->member ? "(" : "",
- 				 vp->member,
- 				 *vp->member ? ") " : "",
- 				 vp->name);
- 	      continue;
- 	    }
- 
- 	  printf_unfiltered ("Loading  %s%s%s%s...",
- 			     *vp->member ? "(" : "",
- 			     vp->member,
- 			     *vp->member ? ") " : "",
- 			     vp->name);
- 	  gdb_flush (gdb_stdout);
- 
- 	  /* This is gross and doesn't work.  If this code is re-enabled,
- 	     just stick a objfile member into the struct vmap; that's the
- 	     way solib.c (for SunOS/SVR4) does it.  */
- 	  obj = lookup_objfile_bfd (vp->bfd);
- 	  if (!obj)
- 	    {
- 	      warning ("\nObj structure for the shared object not found. Loading failed.");
- 	      continue;
- 	    }
  
- 	  syms_from_objfile (obj, NULL, 0, 0);
- 	  new_symfile_objfile (obj, 0, 0);
- 	  vmap_symtab (vp);
- 	  printf_unfiltered ("Done.\n");
- 	  loaded = vp->loaded = 1;
- 	}
-     }
-   /* if any shared object is loaded, then misc_func_vector needs sorting. */
-   if (loaded)
-     {
- #if 0
-       sort_misc_function_vector ();
- #endif
-       current_source_symtab = saved_symtab;
-       current_source_line = saved_line;
- 
-       /* Getting new symbols might change our opinion about what is frameless.
-          Is this correct?? FIXME. */
- /*    reinit_frame_cache(); */
-     }
-   else if (!matched)
-     printf_unfiltered ("No matching shared object found.\n");
- }
- #endif /* SOLIB_SYMBOLS_MANUAL */
- 
  /* Return the module name of a given text address. Note that returned buffer
     is not persistent. */
  
--- 19,34 ----
     Foundation, Inc., 59 Temple Place - Suite 330,
     Boston, MA 02111-1307, USA.  */
  
  #include "defs.h"
  #include "bfd.h"
  #include "xcoffsolib.h"
  #include "inferior.h"
! #include "gdbcmd.h"
! #include "symfile.h"
! #include "frame.h"
! #include "gdb_regex.h"
  
  
  /* Return the module name of a given text address. Note that returned buffer
     is not persistent. */
  
***************
*** 162,167 ****
--- 55,61 ----
  }
  
  static void solib_info (char *, int);
+ static void sharedlibrary_command (char *pattern, int from_tty);
  
  static void
  solib_info (char *args, int from_tty)
***************
*** 169,176 ****
    struct vmap *vp = vmap;
  
    /* Check for new shared libraries loaded with load ().  */
!   if (xcoff_relocate_symtab_hook != NULL)
!     (*xcoff_relocate_symtab_hook) (inferior_pid);
  
    if (vp == NULL || vp->nxt == NULL)
      {
--- 63,70 ----
    struct vmap *vp = vmap;
  
    /* Check for new shared libraries loaded with load ().  */
!   if (inferior_pid)
!     xcoff_relocate_symtab (inferior_pid);
  
    if (vp == NULL || vp->nxt == NULL)
      {
***************
*** 197,214 ****
      }
  }
  
! void
! sharedlibrary_command (char *args, int from_tty)
  {
    dont_repeat ();
  
    /* Check for new shared libraries loaded with load ().  */
!   if (xcoff_relocate_symtab_hook != NULL)
!     (*xcoff_relocate_symtab_hook) (inferior_pid);
  
! #ifdef SOLIB_SYMBOLS_MANUAL
!   solib_add (args, from_tty, (struct target_ops *) 0);
! #endif /* SOLIB_SYMBOLS_MANUAL */
  }
  
  void
--- 91,156 ----
      }
  }
  
! static void
! sharedlibrary_command (char *pattern, int from_tty)
  {
    dont_repeat ();
  
    /* Check for new shared libraries loaded with load ().  */
!   if (inferior_pid)
!     xcoff_relocate_symtab (inferior_pid);
! 
!   if (pattern)
!     {
!       char *re_err = re_comp (pattern);
! 
!       if (re_err)
! 	error ("Invalid regexp: %s", re_err);
!     }
! 
!   /* Walk the list of currently loaded shared libraries, and read
!      symbols for any that match the pattern --- or any whose symbols
!      aren't already loaded, if no pattern was given.  */
!   {
!     int any_matches = 0;
!     int loaded_any_symbols = 0;
!     struct vmap *vp = vmap;
! 
!     if (!vp)
!       return;
! 
!     /* skip over the first vmap, it is the main program, always loaded. */
!     for (vp = vp->nxt; vp; vp = vp->nxt)
!       if (! pattern
! 	    || re_exec (vp->name)
! 	    || (*vp->member && re_exec (vp->member)))
! 	{
! 	  any_matches = 1;
! 
! 	  if (vp->loaded)
! 	    {
! 	      if (from_tty)
! 		printf_unfiltered ("Symbols already loaded for %s\n",
! 				   vp->name);
! 	    }
! 	  else
! 	    {
! 	      if (vmap_add_symbols (vp))
! 		loaded_any_symbols = 1;
! 	    }
! 	}
! 
!     if (from_tty && pattern && ! any_matches)
!       printf_unfiltered
! 	("No loaded shared libraries match the pattern `%s'.\n", pattern);
  
!     if (loaded_any_symbols)
!       {
! 	/* Getting new symbols may change our opinion about what is
! 	   frameless.  */
! 	reinit_frame_cache ();
!       }
!   }
  }
  
  void
***************
*** 218,221 ****
--- 160,174 ----
  	   "Load shared object library symbols for files matching REGEXP.");
    add_info ("sharedlibrary", solib_info,
  	    "Status of loaded shared object libraries");
+ 
+   add_show_from_set
+     (add_set_cmd ("auto-solib-add", class_support, var_zinteger,
+ 		  (char *) &auto_solib_add,
+ 		  "Set autoloading of shared library symbols.\n\
+ If nonzero, symbols from all shared object libraries will be loaded\n\
+ automatically when the inferior begins execution or when the dynamic linker\n\
+ informs gdb that a new library has been loaded.  Otherwise, symbols\n\
+ must be loaded manually, using `sharedlibrary'.",
+ 		  &setlist),
+      &showlist);
  }
Index: xcoffsolib.h
===================================================================
RCS file: /cvs/src/src/gdb/xcoffsolib.h,v
retrieving revision 1.2
diff -c -r1.2 xcoffsolib.h
*** xcoffsolib.h	2000/06/04 00:41:09	1.2
--- xcoffsolib.h	2000/11/05 12:01:20
***************
*** 56,61 ****
  
  extern struct vmap *vmap;
  
! /* Hook for symbol table relocation at runtime. */
! 
! extern void (*xcoff_relocate_symtab_hook) (unsigned int);
--- 56,60 ----
  
  extern struct vmap *vmap;
  
! /* Add symbols for a vmap.  */
! extern int vmap_add_symbols (struct vmap *vp);
Index: config/powerpc/aix.mh
===================================================================
RCS file: /cvs/src/src/gdb/config/powerpc/aix.mh,v
retrieving revision 1.2
diff -c -r1.2 aix.mh
*** aix.mh	2000/06/16 21:02:21	1.2
--- aix.mh	2000/11/05 12:01:20
***************
*** 4,10 ****
  XDEPFILES= 
  
  NAT_FILE= nm-aix.h
! NATDEPFILES= fork-child.o infptrace.o inftarg.o corelow.o rs6000-nat.o xcoffread.o
  
  # When compiled with cc, for debugging, this argument should be passed.
  # We have no idea who our current compiler is though, so we skip it.
--- 4,11 ----
  XDEPFILES= 
  
  NAT_FILE= nm-aix.h
! NATDEPFILES= fork-child.o infptrace.o inftarg.o corelow.o rs6000-nat.o \
! 	     xcoffread.o xcoffsolib.o
  
  # When compiled with cc, for debugging, this argument should be passed.
  # We have no idea who our current compiler is though, so we skip it.
Index: config/powerpc/aix.mt
===================================================================
RCS file: /cvs/src/src/gdb/config/powerpc/aix.mt,v
retrieving revision 1.2
diff -c -r1.2 aix.mt
*** aix.mt	2000/07/31 20:56:43	1.2
--- aix.mt	2000/11/05 12:01:20
***************
*** 1,3 ****
  # Target: PowerPC running AIX
! TDEPFILES= rs6000-tdep.o xcoffsolib.o ppc-linux-tdep.o
  TM_FILE= tm-ppc-aix.h
--- 1,3 ----
  # Target: PowerPC running AIX
! TDEPFILES= rs6000-tdep.o ppc-linux-tdep.o
  TM_FILE= tm-ppc-aix.h
Index: config/powerpc/tm-macos.h
===================================================================
RCS file: /cvs/src/src/gdb/config/powerpc/tm-macos.h,v
retrieving revision 1.1.1.3
diff -c -r1.1.1.3 tm-macos.h
*** tm-macos.h	1999/07/07 20:16:30	1.1.1.3
--- tm-macos.h	2000/11/05 12:01:20
***************
*** 22,27 ****
  #include "rs6000/tm-rs6000.h"
  
  #define GDB_TARGET_POWERPC
- 
- /* This is no use to us.  */
- #undef PC_LOAD_SEGMENT
--- 22,24 ----
Index: config/powerpc/tm-ppc-eabi.h
===================================================================
RCS file: /cvs/src/src/gdb/config/powerpc/tm-ppc-eabi.h,v
retrieving revision 1.3
diff -c -r1.3 tm-ppc-eabi.h
*** tm-ppc-eabi.h	2000/07/14 22:17:33	1.3
--- tm-ppc-eabi.h	2000/11/05 12:01:20
***************
*** 30,36 ****
  #undef	DEFAULT_LR_SAVE
  #define	DEFAULT_LR_SAVE 4	/* eabi saves LR at 4 off of SP */
  
- #undef PC_LOAD_SEGMENT
  #undef PROCESS_LINENUMBER_HOOK
  
  #undef TEXT_SEGMENT_BASE
--- 30,35 ----
Index: config/powerpc/tm-ppc-nw.h
===================================================================
RCS file: /cvs/src/src/gdb/config/powerpc/tm-ppc-nw.h,v
retrieving revision 1.1.1.2
diff -c -r1.1.1.2 tm-ppc-nw.h
*** tm-ppc-nw.h	1999/07/07 20:16:33	1.1.1.2
--- tm-ppc-nw.h	2000/11/05 12:01:20
***************
*** 26,32 ****
  
  #define GDB_TARGET_POWERPC
  
- #undef PC_LOAD_SEGMENT
  #undef PROCESS_LINENUMBER_HOOK
  
  #endif /* TM_PPC_NW_H */
--- 26,31 ----
Index: config/rs6000/aix4.mh
===================================================================
RCS file: /cvs/src/src/gdb/config/rs6000/aix4.mh,v
retrieving revision 1.1.1.1
diff -c -r1.1.1.1 aix4.mh
*** aix4.mh	1999/04/16 01:34:25	1.1.1.1
--- aix4.mh	2000/11/05 12:01:20
***************
*** 4,10 ****
  XDEPFILES= 
  
  NAT_FILE= nm-rs6000.h
! NATDEPFILES= fork-child.o infptrace.o inftarg.o corelow.o rs6000-nat.o
  
  # When compiled with cc, for debugging, this argument should be passed.
  # We have no idea who our current compiler is though, so we skip it.
--- 4,11 ----
  XDEPFILES= 
  
  NAT_FILE= nm-rs6000.h
! NATDEPFILES= fork-child.o infptrace.o inftarg.o corelow.o rs6000-nat.o \
! 	     xcoffsolib.o
  
  # When compiled with cc, for debugging, this argument should be passed.
  # We have no idea who our current compiler is though, so we skip it.
Index: config/rs6000/aix4.mt
===================================================================
RCS file: /cvs/src/src/gdb/config/rs6000/aix4.mt,v
retrieving revision 1.2
diff -c -r1.2 aix4.mt
*** aix4.mt	2000/07/31 20:56:44	1.2
--- aix4.mt	2000/11/05 12:01:20
***************
*** 1,3 ****
  # Target: IBM RS/6000 running AIX4
! TDEPFILES= rs6000-tdep.o xcoffsolib.o xcoffread.o ppc-linux-tdep.o
  TM_FILE= tm-rs6000-aix4.h
--- 1,3 ----
  # Target: IBM RS/6000 running AIX4
! TDEPFILES= rs6000-tdep.o xcoffread.o ppc-linux-tdep.o
  TM_FILE= tm-rs6000-aix4.h
Index: config/rs6000/nm-rs6000.h
===================================================================
RCS file: /cvs/src/src/gdb/config/rs6000/nm-rs6000.h,v
retrieving revision 1.3
diff -c -r1.3 nm-rs6000.h
*** nm-rs6000.h	2000/06/16 21:02:22	1.3
--- nm-rs6000.h	2000/11/05 12:01:20
***************
*** 57,62 ****
--- 57,67 ----
  struct target_ops;
  extern void xcoff_relocate_core (struct target_ops *);
  
+ /* Load segment of a given pc value. */
+ 
+ #define	PC_LOAD_SEGMENT(PC)	pc_load_segment_name(PC)
+ extern char *pc_load_segment_name (CORE_ADDR);
+ 
  /* Return sizeof user struct to callers in less machine dependent routines */
  
  #define KERNEL_U_SIZE kernel_u_size()
Index: config/rs6000/rs6000.mh
===================================================================
RCS file: /cvs/src/src/gdb/config/rs6000/rs6000.mh,v
retrieving revision 1.1.1.1
diff -c -r1.1.1.1 rs6000.mh
*** rs6000.mh	1999/04/16 01:34:25	1.1.1.1
--- rs6000.mh	2000/11/05 12:01:20
***************
*** 4,10 ****
  XDEPFILES= 
  
  NAT_FILE= nm-rs6000.h
! NATDEPFILES= fork-child.o infptrace.o inftarg.o corelow.o rs6000-nat.o
  
  # When compiled with cc, for debugging, this argument should be passed.
  # We have no idea who our current compiler is though, so we skip it.
--- 4,11 ----
  XDEPFILES= 
  
  NAT_FILE= nm-rs6000.h
! NATDEPFILES= fork-child.o infptrace.o inftarg.o corelow.o rs6000-nat.o \
! 	     xcoffsolib.o
  
  # When compiled with cc, for debugging, this argument should be passed.
  # We have no idea who our current compiler is though, so we skip it.
Index: config/rs6000/rs6000.mt
===================================================================
RCS file: /cvs/src/src/gdb/config/rs6000/rs6000.mt,v
retrieving revision 1.2
diff -c -r1.2 rs6000.mt
*** rs6000.mt	2000/07/31 20:56:44	1.2
--- rs6000.mt	2000/11/05 12:01:20
***************
*** 1,3 ****
  # Target: IBM RS/6000 running AIX
! TDEPFILES= rs6000-tdep.o xcoffsolib.o xcoffread.o ppc-linux-tdep.o
  TM_FILE= tm-rs6000.h
--- 1,3 ----
  # Target: IBM RS/6000 running AIX
! TDEPFILES= rs6000-tdep.o xcoffread.o ppc-linux-tdep.o
  TM_FILE= tm-rs6000.h
Index: config/rs6000/tm-rs6000.h
===================================================================
RCS file: /cvs/src/src/gdb/config/rs6000/tm-rs6000.h,v
retrieving revision 1.8
diff -c -r1.8 tm-rs6000.h
*** tm-rs6000.h	2000/10/26 07:41:25	1.8
--- tm-rs6000.h	2000/11/05 12:01:20
***************
*** 26,36 ****
  
  #define TEXT_SEGMENT_BASE	0x10000000
  
- /* Load segment of a given pc value. */
- 
- #define	PC_LOAD_SEGMENT(PC)	pc_load_segment_name(PC)
- extern char *pc_load_segment_name (CORE_ADDR);
- 
  /* AIX's assembler doesn't grok dollar signs in identifiers.
     So we use dots instead.  This item must be coordinated with G++. */
  #undef CPLUS_MARKER
--- 26,31 ----
Index: config/rs6000/tm-rs6000ly.h
===================================================================
RCS file: /cvs/src/src/gdb/config/rs6000/tm-rs6000ly.h,v
retrieving revision 1.1.1.2
diff -c -r1.1.1.2 tm-rs6000ly.h
*** tm-rs6000ly.h	1999/07/07 20:16:54	1.1.1.2
--- tm-rs6000ly.h	2000/11/05 12:01:20
***************
*** 26,33 ****
  /* Use generic RS6000 definitions. */
  #include "rs6000/tm-rs6000.h"
  
- #undef PC_LOAD_SEGMENT
- 
  #define CANNOT_STORE_REGISTER(regno) (regno == PS_REGNUM)
  
  #endif /* TM_RS6000LYNX_H */
--- 26,31 ----

-- 
Peter Schauer			pes@regent.e-technik.tu-muenchen.de

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