* objfiles.c (add_to_objfile_sections): All targets to define
authorRon Unrau <runrau@cygnus>
Mon, 8 Jun 1998 22:10:37 +0000 (22:10 +0000)
committerRon Unrau <runrau@cygnus>
Mon, 8 Jun 1998 22:10:37 +0000 (22:10 +0000)
          TARGET_KEEP_SECTION to permit them to retain bfd sections that
          GDB would otherwise have discarded.

gdb/ChangeLog
gdb/objfiles.c

index 5ffd08b6caf72c4a800326e7ba84a34173108c4b..e684a0c4e1c23f0d4e02a245957593f932a20c2a 100644 (file)
@@ -1,3 +1,9 @@
+Mon Jun  8 16:08:10 1998  Ron Unrau  <runrau@cygnus.com>
+
+       * objfiles.c (add_to_objfile_sections): All targets to define
+         TARGET_KEEP_SECTION to permit them to retain bfd sections that
+         GDB would otherwise have discarded.
+
 Fri Jun  5 13:56:19 1998  Doug Evans  <devans@canuck.cygnus.com>
 
        * dbxread.c (read_dbx_symtab): Don't lower texthigh for last psymtab.
index 31873d77c3a9ed14aa38d18a7c391b3931ab51f0..8a64b6461a448d049f5dcc824679b6a273bc7028 100644 (file)
@@ -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;