X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=bfd%2Felf32-m68hc1x.h;h=33e2b47f4077726c4690b6a8b8265513b5cc2a48;hb=5025eb7c0d87b01507116353b5d63b163d7add3d;hp=2bf636d6db4a47c6df52f3f3bb074afa6538467f;hpb=cd123cb70c845b890eed231a84e6e84c92c2ef92;p=deliverable%2Fbinutils-gdb.git diff --git a/bfd/elf32-m68hc1x.h b/bfd/elf32-m68hc1x.h index 2bf636d6db..33e2b47f40 100644 --- a/bfd/elf32-m68hc1x.h +++ b/bfd/elf32-m68hc1x.h @@ -1,5 +1,5 @@ /* Motorola 68HC11/68HC12-specific support for 32-bit ELF - Copyright 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc. + Copyright (C) 2003-2016 Free Software Foundation, Inc. Contributed by Stephane Carrez (stcarrez@nerim.fr) This file is part of BFD, the Binary File Descriptor library. @@ -42,8 +42,8 @@ extern bfd_boolean _bfd_m68hc11_elf_print_private_bfd_data (bfd*, void*); The trampoline is used when a pointer to a far function is used. It takes care of installing the proper memory bank as well as creating the 'call/rtc' calling convention. */ -struct elf32_m68hc11_stub_hash_entry { - +struct elf32_m68hc11_stub_hash_entry +{ /* Base hash table entry structure. */ struct bfd_hash_entry root; @@ -83,9 +83,8 @@ struct elf32_m68hc11_stub_hash_entry { 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). + For 68HC11 this is board specific (implemented by external hardware). */ -*/ struct m68hc11_page_info { bfd_vma bank_virtual; @@ -113,30 +112,30 @@ struct m68hc11_elf_link_hash_table asection* tramp_section; /* Linker call-backs. */ - asection * (*add_stub_section) PARAMS ((const char *, asection *)); + asection * (*add_stub_section) (const char *, asection *); /* Assorted information used by elf32_hppa_size_stubs. */ unsigned int bfd_count; int top_index; asection **input_list; - /* Small local sym to section mapping cache. */ - struct sym_sec_cache sym_sec; + /* Small local sym cache. */ + struct sym_cache sym_cache; - bfd_boolean (* size_one_stub) PARAMS((struct bfd_hash_entry*, void*)); - bfd_boolean (* build_one_stub) PARAMS((struct bfd_hash_entry*, void*)); + bfd_boolean (* size_one_stub) (struct bfd_hash_entry*, void*); + bfd_boolean (* 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) \ - ((struct m68hc11_elf_link_hash_table *) ((p)->hash)) + (elf_hash_table_id ((struct elf_link_hash_table *) ((p)->hash)) \ + == M68HC11_ELF_DATA ? ((struct m68hc11_elf_link_hash_table *) ((p)->hash)) : NULL) /* Create a 68HC11/68HC12 ELF linker hash table. */ extern struct m68hc11_elf_link_hash_table* m68hc11_elf_hash_table_create (bfd*); -extern void m68hc11_elf_bfd_link_hash_table_free (struct bfd_link_hash_table*); extern void m68hc11_elf_get_bank_parameters (struct bfd_link_info*); @@ -175,6 +174,10 @@ bfd_boolean elf32_m68hc11_add_symbol_hook 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); + /* Tweak the OSABI field of the elf header. */ extern void elf32_m68hc11_post_process_headers (bfd*, struct bfd_link_info*);