* config/tc-h8300.c (get_operand): Fix typos in ldm/stm support.
[deliverable/binutils-gdb.git] / gdb / objfiles.c
index c4cb02e9a9e6b91c51abe593253d3b1c3552e216..8a64b6461a448d049f5dcc824679b6a273bc7028 100644 (file)
@@ -37,7 +37,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
 
 /* Prototypes for local functions */
 
-#if !defined(NO_MMALLOC) && defined(HAVE_MMAP)
+#if defined(USE_MMALLOC) && defined(HAVE_MMAP)
 
 static int
 open_existing_mapped_file PARAMS ((char *, long, int));
@@ -48,7 +48,7 @@ open_mapped_file PARAMS ((char *filename, long mtime, int mapped));
 static PTR
 map_to_file PARAMS ((int));
 
-#endif  /* !defined(NO_MMALLOC) && defined(HAVE_MMAP) */
+#endif  /* defined(USE_MMALLOC) && defined(HAVE_MMAP) */
 
 static void
 add_to_objfile_sections PARAMS ((bfd *, sec_ptr, PTR));
@@ -67,6 +67,10 @@ int mapped_symbol_files;             /* Try to use mapped symbol files */
    objfile_p_char is a char * to get it through
    bfd_map_over_sections; we cast it back to its proper type.  */
 
+#ifndef TARGET_KEEP_SECTION
+#define TARGET_KEEP_SECTION(ASECT)     0
+#endif
+
 static void
 add_to_objfile_sections (abfd, asect, objfile_p_char)
      bfd *abfd;
@@ -78,8 +82,10 @@ add_to_objfile_sections (abfd, asect, objfile_p_char)
   flagword aflag;
 
   aflag = bfd_get_section_flags (abfd, asect);
-  if (!(aflag & SEC_ALLOC))
+
+  if (!(aflag & SEC_ALLOC) && !(TARGET_KEEP_SECTION(asect)))
     return;
+
   if (0 == bfd_section_size (abfd, asect))
     return;
   section.offset = 0;
@@ -129,7 +135,7 @@ allocate_objfile (abfd, mapped)
 
   mapped |= mapped_symbol_files;
 
-#if !defined(NO_MMALLOC) && defined(HAVE_MMAP)
+#if defined(USE_MMALLOC) && defined(HAVE_MMAP)
   if (abfd != NULL)
   {
 
@@ -212,7 +218,7 @@ allocate_objfile (abfd, mapped)
                 bfd_get_filename (abfd));
       }
   }
-#else  /* defined(NO_MMALLOC) || !defined(HAVE_MMAP) */
+#else  /* !defined(USE_MMALLOC) || !defined(HAVE_MMAP) */
 
   if (mapped)
     {
@@ -225,7 +231,7 @@ allocate_objfile (abfd, mapped)
       mapped_symbol_files = 0;
     }
 
-#endif /* !defined(NO_MMALLOC) && defined(HAVE_MMAP) */
+#endif /* defined(USE_MMALLOC) && defined(HAVE_MMAP) */
 
   /* If we don't support mapped symbol files, didn't ask for the file to be
      mapped, or failed to open the mapped file for some reason, then revert
@@ -416,7 +422,7 @@ free_objfile (objfile)
      case.  Note that the mmalloc_detach or the mfree is the last thing
      we can do with this objfile. */
 
-#if !defined(NO_MMALLOC) && defined(HAVE_MMAP)
+#if defined(USE_MMALLOC) && defined(HAVE_MMAP)
 
   if (objfile -> flags & OBJF_MAPPED)
     {
@@ -430,7 +436,7 @@ free_objfile (objfile)
       close (mmfd);
     }
 
-#endif /* !defined(NO_MMALLOC) && defined(HAVE_MMAP) */
+#endif /* defined(USE_MMALLOC) && defined(HAVE_MMAP) */
 
   /* If we still have an objfile, then either we don't support reusable
      objfiles or this one was not reusable.  So free it normally. */
@@ -650,6 +656,9 @@ objfile_relocate (objfile, new_offsets)
       objfile->ei.main_func_lowpc  += ANOFFSET (delta, SECT_OFF_TEXT);
       objfile->ei.main_func_highpc += ANOFFSET (delta, SECT_OFF_TEXT);
     }
+
+  /* Relocate breakpoints as necessary, after things are relocated. */
+  breakpoint_re_set ();
 }
 \f
 /* Many places in gdb want to test just to see if we have any partial
@@ -709,7 +718,7 @@ have_minimal_symbols ()
   return 0;
 }
 
-#if !defined(NO_MMALLOC) && defined(HAVE_MMAP)
+#if defined(USE_MMALLOC) && defined(HAVE_MMAP)
 
 /* Given the name of a mapped symbol file in SYMSFILENAME, and the timestamp
    of the corresponding symbol file in MTIME, try to open an existing file
@@ -876,7 +885,7 @@ map_to_file (fd)
   return (md);
 }
 
-#endif /* !defined(NO_MMALLOC) && defined(HAVE_MMAP) */
+#endif /* defined(USE_MMALLOC) && defined(HAVE_MMAP) */
 
 /* Returns a section whose range includes PC and SECTION, 
    or NULL if none found.  Note the distinction between the return type, 
This page took 0.025618 seconds and 4 git commands to generate.