Handle array- and string-like values in no-op pretty printers
[binutils-gdb.git] / bfd / elf32-m68hc1x.h
index 03650bab72681052816b8174bed4f311a2761cdf..4558aa595fe4e61534cade9714e6820e9fb50cf3 100644 (file)
@@ -1,5 +1,5 @@
 /* Motorola 68HC11/68HC12-specific support for 32-bit ELF
-   Copyright (C) 2003-2017 Free Software Foundation, Inc.
+   Copyright (C) 2003-2023 Free Software Foundation, Inc.
    Contributed by Stephane Carrez (stcarrez@nerim.fr)
 
    This file is part of BFD, the Binary File Descriptor library.
 #define BFD_M68HC11_BANK_VIRTUAL_NAME "__bank_virtual"
 
 /* Set and control ELF flags in ELF header.  */
-extern bfd_boolean _bfd_m68hc11_elf_merge_private_bfd_data
+extern bool _bfd_m68hc11_elf_merge_private_bfd_data
   (bfd *, struct bfd_link_info *);
-extern bfd_boolean _bfd_m68hc11_elf_set_private_flags (bfd*,flagword);
-extern bfd_boolean _bfd_m68hc11_elf_print_private_bfd_data (bfd*, void*);
+extern bool _bfd_m68hc11_elf_set_private_flags (bfd*,flagword);
+extern bool _bfd_m68hc11_elf_print_private_bfd_data (bfd*, void*);
 
 /* This hash entry is used to record a trampoline that must be generated
    to call a far function using a normal calling convention ('jsr').
@@ -75,13 +75,13 @@ struct elf32_m68hc11_stub_hash_entry
    These parameters are obtained from the symbol table by looking
    at the following:
 
-   __bank_start         Symbol marking the start of memory bank window
-                        (bank_physical)
-   __bank_virtual       Logical address of symbols for which the transformation
-                        must be computed
-   __bank_page_size     Size in bytes of page size (this is *NOT* the memory
-                        bank window size and the window size is always
-                        less or equal to the page size)
+   __bank_start                Symbol marking the start of memory bank window
+                       (bank_physical)
+   __bank_virtual      Logical address of symbols for which the transformation
+                       must be computed
+   __bank_page_size    Size in bytes of page size (this is *NOT* the memory
+                       bank window size and the window size is always
+                       less or equal to the page size)
 
    For 68HC12, the window is at 0x8000 and the page size is 16K (full window).
    For 68HC11 this is board specific (implemented by external hardware).  */
@@ -120,18 +120,16 @@ struct m68hc11_elf_link_hash_table
   int top_index;
   asection **input_list;
 
-  /* Small local sym cache.  */
-  struct sym_cache sym_cache;
-
-  bfd_boolean (* size_one_stub)  (struct bfd_hash_entry*, void*);
-  bfd_boolean (* build_one_stub) (struct bfd_hash_entry*, void*);
+  bool (* size_one_stub)  (struct bfd_hash_entry*, void*);
+  bool (* build_one_stub) (struct bfd_hash_entry*, void*);
 };
 
 /* Get the Sparc64 ELF linker hash table from a link_info structure.  */
 
 #define m68hc11_elf_hash_table(p) \
-  (elf_hash_table_id ((struct elf_link_hash_table *) ((p)->hash)) \
-  == M68HC11_ELF_DATA ? ((struct m68hc11_elf_link_hash_table *) ((p)->hash)) : NULL)
+  ((is_elf_hash_table ((p)->hash)                                      \
+    && elf_hash_table_id (elf_hash_table (p)) == M68HC11_ELF_DATA)     \
+   ? (struct m68hc11_elf_link_hash_table *) (p)->hash : NULL)
 
 /* Create a 68HC11/68HC12 ELF linker hash table.  */
 
@@ -160,34 +158,33 @@ bfd_reloc_status_type m68hc11_elf_special_reloc
     asymbol *symbol, void *data, asection *input_section,
     bfd *output_bfd, char **error_message);
 
-bfd_boolean elf32_m68hc11_check_relocs
+bool elf32_m68hc11_check_relocs
   (bfd * abfd, struct bfd_link_info * info,
    asection * sec, const Elf_Internal_Rela * relocs);
-bfd_boolean elf32_m68hc11_relocate_section
+int elf32_m68hc11_relocate_section
   (bfd *output_bfd, struct bfd_link_info *info,
    bfd *input_bfd, asection *input_section,
    bfd_byte *contents, Elf_Internal_Rela *relocs,
    Elf_Internal_Sym *local_syms, asection **local_sections);
 
-bfd_boolean elf32_m68hc11_add_symbol_hook
+bool elf32_m68hc11_add_symbol_hook
   (bfd *abfd, struct bfd_link_info *info,
    Elf_Internal_Sym *sym, const char **namep,
    flagword *flagsp, asection **secp,
    bfd_vma *valp);
 
 void elf32_m68hc11_merge_symbol_attribute
-  (struct elf_link_hash_entry *, const Elf_Internal_Sym *,
-   bfd_boolean, bfd_boolean);
+  (struct elf_link_hash_entry *, unsigned int, bool, bool);
 
 /* Tweak the OSABI field of the elf header.  */
 
-extern void elf32_m68hc11_post_process_headers (bfd*, struct bfd_link_info*);
+extern bool elf32_m68hc11_init_file_header (bfd*, struct bfd_link_info*);
 
 int elf32_m68hc11_setup_section_lists (bfd *, struct bfd_link_info *);
 
-bfd_boolean elf32_m68hc11_size_stubs
+bool elf32_m68hc11_size_stubs
   (bfd *, bfd *, struct bfd_link_info *,
    asection * (*) (const char *, asection *));
 
-bfd_boolean elf32_m68hc11_build_stubs (bfd* abfd, struct bfd_link_info *);
+bool elf32_m68hc11_build_stubs (bfd* abfd, struct bfd_link_info *);
 #endif