gdb: defer commit resume until all available events are consumed
[deliverable/binutils-gdb.git] / bfd / elf32-m68hc1x.c
index 915f3b7a9a286b3fbf9779206bcd9551533fc50d..56c5129577584adc587046763fb0106179b3636e 100644 (file)
@@ -1,5 +1,5 @@
 /* Motorola 68HC11/HC12-specific support for 32-bit ELF
-   Copyright (C) 1999-2019 Free Software Foundation, Inc.
+   Copyright (C) 1999-2020 Free Software Foundation, Inc.
    Contributed by Stephane Carrez (stcarrez@nerim.fr)
 
    This file is part of BFD, the Binary File Descriptor library.
@@ -77,7 +77,7 @@ struct m68hc11_elf_link_hash_table*
 m68hc11_elf_hash_table_create (bfd *abfd)
 {
   struct m68hc11_elf_link_hash_table *ret;
-  bfd_size_type amt = sizeof (struct m68hc11_elf_link_hash_table);
+  size_t amt = sizeof (struct m68hc11_elf_link_hash_table);
 
   ret = (struct m68hc11_elf_link_hash_table *) bfd_zmalloc (amt);
   if (ret == (struct m68hc11_elf_link_hash_table *) NULL)
@@ -241,7 +241,7 @@ elf32_m68hc11_setup_section_lists (bfd *output_bfd, struct bfd_link_info *info)
   unsigned int top_id, top_index;
   asection *section;
   asection **input_list, **list;
-  bfd_size_type amt;
+  size_t amt;
   asection *text_section;
   struct m68hc11_elf_link_hash_table *htab;
 
@@ -334,7 +334,7 @@ elf32_m68hc11_size_stubs (bfd *output_bfd, bfd *stub_bfd,
   asection *section;
   Elf_Internal_Sym *local_syms, **all_local_syms;
   unsigned int bfd_indx, bfd_count;
-  bfd_size_type amt;
+  size_t amt;
   asection *stub_sec;
   struct m68hc11_elf_link_hash_table *htab = m68hc11_elf_hash_table (info);
 
@@ -899,7 +899,7 @@ elf32_m68hc11_check_relocs (bfd *abfd, struct bfd_link_info *info,
   return TRUE;
 }
 
-static bfd_boolean
+static bfd_boolean ATTRIBUTE_PRINTF (6, 7)
 reloc_warning (struct bfd_link_info *info, const char *name, bfd *input_bfd,
               asection *input_section, const Elf_Internal_Rela *rel,
               const char *fmt, ...)
@@ -1132,10 +1132,10 @@ elf32_m68hc11_relocate_section (bfd *output_bfd ATTRIBUTE_UNUSED,
        case R_M68HC11_16:
          if (is_far)
            {
-             msg = _("reference to the far symbol `%s' using a wrong "
-                     "relocation may result in incorrect execution");
              if (!reloc_warning (info, name, input_bfd, input_section, rel,
-                                 msg, name))
+                                 _("reference to the far symbol `%s' using a "
+                                   "wrong relocation may result in incorrect "
+                                   "execution"), name))
                return FALSE;
            }
 
@@ -1163,12 +1163,12 @@ elf32_m68hc11_relocate_section (bfd *output_bfd ATTRIBUTE_UNUSED,
                }
              else
                {
-                 msg = _("XGATE address (%lx) is not within shared RAM"
-                         "(0xE000-0xFFFF), therefore you must manually offset "
-                         "the address, and possibly manage the page, in your "
-                         "code.");
                  if (!reloc_warning (info, name, input_bfd, input_section, rel,
-                                     msg, (long) phys_addr))
+                                     _("XGATE address (%lx) is not within "
+                                       "shared RAM(0xE000-0xFFFF), therefore "
+                                       "you must manually offset the address, "
+                                       "and possibly manage the page, in your "
+                                       "code."), (long) phys_addr))
                    return FALSE;
                  break;
                }
@@ -1179,11 +1179,11 @@ elf32_m68hc11_relocate_section (bfd *output_bfd ATTRIBUTE_UNUSED,
              && phys_page != insn_page
              && !(e_flags & E_M68HC11_NO_BANK_WARNING))
            {
-             /* xgettext:c-format */
-             msg = _("banked address [%lx:%04lx] (%lx) is not in the same "
-                     "bank as current banked address [%lx:%04lx] (%lx)");
              if (!reloc_warning (info, name, input_bfd, input_section, rel,
-                                 msg, (long) phys_page, (long) phys_addr,
+                                 _("banked address [%lx:%04lx] (%lx) is not "
+                                   "in the same bank as current banked "
+                                   "address [%lx:%04lx] (%lx)"),
+                                 (long) phys_page, (long) phys_addr,
                                  (long) (relocation + rel->r_addend),
                                  (long) insn_page,
                                  (long) m68hc11_phys_addr (pinfo, insn_addr),
@@ -1194,11 +1194,10 @@ elf32_m68hc11_relocate_section (bfd *output_bfd ATTRIBUTE_UNUSED,
 
          if (phys_page != 0 && insn_page == 0)
            {
-             /* xgettext:c-format */
-             msg = _("reference to a banked address [%lx:%04lx] in the "
-                     "normal address space at %04lx");
              if (!reloc_warning (info, name, input_bfd, input_section, rel,
-                                 msg, (long) phys_page, (long) phys_addr,
+                                 _("reference to a banked address [%lx:%04lx] "
+                                   "in the normal address space at %04lx"),
+                                 (long) phys_page, (long) phys_addr,
                                  (long) insn_addr))
                return FALSE;
              relocation = phys_addr;
@@ -1231,11 +1230,11 @@ elf32_m68hc11_relocate_section (bfd *output_bfd ATTRIBUTE_UNUSED,
                relocation += 0xC000;
              else
                {
-                 msg = _("S12 address (%lx) is not within shared RAM"
-                         "(0x2000-0x4000), therefore you must manually "
-                         "offset the address in your code");
                  if (!reloc_warning (info, name, input_bfd, input_section, rel,
-                                     msg, (long) phys_addr))
+                                     _("S12 address (%lx) is not within "
+                                       "shared RAM(0x2000-0x4000), therefore "
+                                       "you must manually offset the address "
+                                       "in your code"), (long) phys_addr))
                    return FALSE;
                  break;
                }
@@ -1457,20 +1456,21 @@ static void scan_sections_for_abi (bfd *abfd ATTRIBUTE_UNUSED,
 
 /* Tweak the OSABI field of the elf header.  */
 
-void
-elf32_m68hc11_post_process_headers (bfd *abfd, struct bfd_link_info *link_info)
+bfd_boolean
+elf32_m68hc11_init_file_header (bfd *abfd, struct bfd_link_info *link_info)
 {
   struct m68hc11_scan_param param;
   struct m68hc11_elf_link_hash_table *htab;
 
-  _bfd_elf_post_process_headers (abfd, link_info);
+  if (!_bfd_elf_init_file_header (abfd, link_info))
+    return FALSE;
 
   if (link_info == NULL)
-    return;
+    return TRUE;
 
   htab = m68hc11_elf_hash_table (link_info);
   if (htab == NULL)
-    return;
+    return TRUE;
 
   m68hc11_elf_get_bank_parameters (link_info);
 
@@ -1486,4 +1486,5 @@ elf32_m68hc11_post_process_headers (bfd *abfd, struct bfd_link_info *link_info)
       i_ehdrp = elf_elfheader (abfd);
       i_ehdrp->e_flags |= E_M68HC12_BANKS;
     }
+  return TRUE;
 }
This page took 0.024841 seconds and 4 git commands to generate.