2006-09-05 Bibo Mao <bibo.mao@intel.com>
[deliverable/binutils-gdb.git] / bfd / mmo.c
index a4559e1ba27993645e90198237f40761a29c3311..9ee539baece3fa975fe39a99b9c8817ba8f5ff22 100644 (file)
--- a/bfd/mmo.c
+++ b/bfd/mmo.c
@@ -1,5 +1,5 @@
 /* BFD back-end for mmo objects (MMIX-specific object-format).
-   Copyright 2001, 2002, 2003, 2004, 2005
+   Copyright 2001, 2002, 2003, 2004, 2005, 2006
    Free Software Foundation, Inc.
    Written by Hans-Peter Nilsson (hp@bitrange.com).
    Infrastructure and other bits originally copied from srec.c and
@@ -387,7 +387,7 @@ static void mmo_print_symbol (bfd *, void *, asymbol *,
                              bfd_print_symbol_type);
 static bfd_boolean mmo_set_section_contents (bfd *, sec_ptr, const void *,
                                             file_ptr, bfd_size_type);
-static int mmo_sizeof_headers (bfd *, bfd_boolean);
+static int mmo_sizeof_headers (bfd *, struct bfd_link_info *);
 static long mmo_get_reloc_upper_bound (bfd *, asection *);
 static bfd_boolean mmo_internal_write_header (bfd *);
 static bfd_boolean mmo_internal_write_post (bfd *, int, asection *);
@@ -1853,6 +1853,7 @@ mmo_scan (bfd *abfd)
                    rsec
                      = bfd_make_section_old_way (abfd,
                                                  MMIX_REG_CONTENTS_SECTION_NAME);
+                   rsec->flags |= SEC_LINKER_CREATED;
                    rsec->vma = z * 8;
                    loc = mmo_get_loc (rsec, z * 8, (255 - z) * 8);
                    bfd_put_64 (abfd, first_octa, loc);
@@ -2006,19 +2007,21 @@ mmo_scan (bfd *abfd)
    we point out the shape of allocated section contents.  */
 
 static bfd_boolean
-mmo_new_section_hook (bfd *abfd ATTRIBUTE_UNUSED, asection *newsect)
+mmo_new_section_hook (bfd *abfd, asection *newsect)
 {
-  /* We zero-fill all fields and assume NULL is represented by an all
-     zero-bit pattern.  */
-  newsect->used_by_bfd =
-    bfd_zalloc (abfd, sizeof (struct mmo_section_data_struct));
-
   if (!newsect->used_by_bfd)
-    return FALSE;
+    {
+      /* We zero-fill all fields and assume NULL is represented by an all
+        zero-bit pattern.  */
+      newsect->used_by_bfd
+       = bfd_zalloc (abfd, sizeof (struct mmo_section_data_struct));
+      if (!newsect->used_by_bfd)
+       return FALSE;
+    }
 
   /* Always align to at least 32-bit words.  */
   newsect->alignment_power = 2;
-  return TRUE;
+  return _bfd_generic_new_section_hook (abfd, newsect);
 }
 
 /* We already have section contents loaded for sections that have
@@ -2146,6 +2149,7 @@ mmo_canonicalize_symtab (bfd *abfd, asymbol **alocation)
            {
              c->section
                = bfd_make_section_old_way (abfd, MMIX_REG_SECTION_NAME);
+             c->section->flags |= SEC_LINKER_CREATED;
            }
          else
            {
@@ -2227,7 +2231,7 @@ mmo_print_symbol (bfd *abfd, void *afile, asymbol *symbol,
 
 static int
 mmo_sizeof_headers (bfd *abfd ATTRIBUTE_UNUSED,
-                   bfd_boolean exec ATTRIBUTE_UNUSED)
+                   struct bfd_link_info *info ATTRIBUTE_UNUSED)
 {
   return 0;
 }
This page took 0.025766 seconds and 4 git commands to generate.