Record FPSR for SIMD/FP data instructions
[deliverable/binutils-gdb.git] / bfd / elf32-score7.c
index 752796c45be9037b4a52b2659259378dbe82f44a..8b2b4bc54b8cb61bfc3867827f284a8b215ab8c1 100644 (file)
@@ -2443,12 +2443,13 @@ s7_bfd_score_elf_relocate_section (bfd *output_bfd,
            }
          else if (!bfd_link_relocatable (info))
            {
-             (*info->callbacks->undefined_symbol)
-               (info, h->root.root.root.string, input_bfd,
-                input_section, rel->r_offset,
-                (info->unresolved_syms_in_objects == RM_GENERATE_ERROR)
+              info->callbacks->undefined_symbol
+               (info, h->root.root.root.string, input_bfd, input_section,
+                rel->r_offset,
+                (info->unresolved_syms_in_objects == RM_DIAGNOSE
+                 && !info->warn_unresolved_syms)
                 || ELF_ST_VISIBILITY (h->root.other));
-             relocation = 0;
+              relocation = 0;
            }
        }
 
@@ -2814,7 +2815,7 @@ s7_bfd_score_elf_add_symbol_hook (bfd *abfd,
       /* Fall through.  */
     case SHN_SCORE_SCOMMON:
       *secp = bfd_make_section_old_way (abfd, ".scommon");
-      (*secp)->flags |= SEC_IS_COMMON;
+      (*secp)->flags |= SEC_IS_COMMON | SEC_SMALL_DATA;
       *valp = sym->st_size;
       break;
     }
@@ -2839,7 +2840,7 @@ s7_bfd_score_elf_symbol_processing (bfd *abfd, asymbol *asym)
        {
          /* Initialize the small common section.  */
          score_elf_scom_section.name = ".scommon";
-         score_elf_scom_section.flags = SEC_IS_COMMON;
+         score_elf_scom_section.flags = SEC_IS_COMMON | SEC_SMALL_DATA;
          score_elf_scom_section.output_section = &score_elf_scom_section;
          score_elf_scom_section.symbol = &score_elf_scom_symbol;
          score_elf_scom_section.symbol_ptr_ptr = &score_elf_scom_symbol_ptr;
@@ -3825,6 +3826,10 @@ s7_elf32_score_merge_private_bfd_data (bfd *ibfd, struct bfd_link_info *info)
   if (!_bfd_generic_verify_endian_match (ibfd, info))
     return FALSE;
 
+  /* FIXME: What should be checked when linking shared libraries?  */
+  if ((ibfd->flags & DYNAMIC) != 0)
+    return TRUE;
+
   in_flags  = elf_elfheader (ibfd)->e_flags;
   out_flags = elf_elfheader (obfd)->e_flags;
 
This page took 0.025898 seconds and 4 git commands to generate.