* opncls.c (bfd_zalloc): Document this function.
[deliverable/binutils-gdb.git] / ld / ldlang.c
index b33ee1507b27b7caa3404e0af84751a4c5fc7519..636dc7f5c475a92e1bac8b7b1a3dbdb066cb606e 100644 (file)
@@ -1274,7 +1274,8 @@ section_already_linked (bfd *abfd, asection *sec, void *data)
       return;
     }
 
-  bfd_section_already_linked (abfd, sec);
+  if (!(abfd->flags & DYNAMIC))
+    bfd_section_already_linked (abfd, sec);
 }
 \f
 /* The wild routines.
@@ -1413,9 +1414,10 @@ lang_add_section (lang_statement_list_type *ptr,
       if (output->section_alignment != -1)
        output->bfd_section->alignment_power = output->section_alignment;
 
-      if (section->flags & SEC_BLOCK)
+      if (bfd_get_arch (section->owner) == bfd_arch_tic54x
+         && (section->flags & SEC_TIC54X_BLOCK) != 0)
        {
-         output->bfd_section->flags |= SEC_BLOCK;
+         output->bfd_section->flags |= SEC_TIC54X_BLOCK;
          /* FIXME: This value should really be obtained from the bfd...  */
          output->block_value = 128;
        }
@@ -3424,7 +3426,9 @@ lang_size_sections_1
               address from the input section.  FIXME: This is COFF
               specific; it would be cleaner if there were some other way
               to do this, but nothing simple comes to mind.  */
-           if ((os->bfd_section->flags & SEC_COFF_SHARED_LIBRARY) != 0)
+           if ((bfd_get_flavour (output_bfd) == bfd_target_ecoff_flavour
+                || bfd_get_flavour (output_bfd) == bfd_target_coff_flavour)
+               && (os->bfd_section->flags & SEC_COFF_SHARED_LIBRARY) != 0)
              {
                asection *input;
 
This page took 0.023485 seconds and 4 git commands to generate.