* elf32-m68hc1x.c (elf32_m68hc11_merge_symbol_attribute): New function.

* elf32-m68hc1x.h (elf32_m68hc11_merge_symbol_attribute): Declare.
	* elf32-m68hc11.c (elf_backend_merge_symbol_attribute): Define.
	* elf32-m68hc12.c (elf_backend_merge_symbol_attribute): Define.
This commit is contained in:
Alan Modra 2012-02-13 02:29:51 +00:00
parent d5ded7aab1
commit 5efbbc4340
5 changed files with 31 additions and 4 deletions

View File

@ -1,3 +1,10 @@
2012-02-13 Alan Modra <amodra@gmail.com>
* elf32-m68hc1x.c (elf32_m68hc11_merge_symbol_attribute): New function.
* elf32-m68hc1x.h (elf32_m68hc11_merge_symbol_attribute): Declare.
* elf32-m68hc11.c (elf_backend_merge_symbol_attribute): Define.
* elf32-m68hc12.c (elf_backend_merge_symbol_attribute): Define.
2012-02-11 Jan Kratochvil <jan.kratochvil@redhat.com>
Nick Clifton <nickc@redhat.com>

View File

@ -1,5 +1,5 @@
/* Motorola 68HC11-specific support for 32-bit ELF
Copyright 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2010
Copyright 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2010, 2012
Free Software Foundation, Inc.
Contributed by Stephane Carrez (stcarrez@nerim.fr)
(Heavily copied from the D10V port by Martin Hunt (hunt@cygnus.com))
@ -1302,6 +1302,7 @@ static const struct bfd_elf_special_section elf32_m68hc11_special_sections[] =
#define elf_backend_final_write_processing 0
#define elf_backend_can_gc_sections 1
#define elf_backend_special_sections elf32_m68hc11_special_sections
#define elf_backend_merge_symbol_attribute elf32_m68hc11_merge_symbol_attribute
#define bfd_elf32_bfd_link_hash_table_create \
m68hc11_elf_bfd_link_hash_table_create

View File

@ -1,5 +1,5 @@
/* Motorola 68HC12-specific support for 32-bit ELF
Copyright 1999, 2000, 2002, 2003, 2004, 2005, 2006, 2007
Copyright 1999, 2000, 2002, 2003, 2004, 2005, 2006, 2007, 2010, 2012
Free Software Foundation, Inc.
Contributed by Stephane Carrez (stcarrez@nerim.fr)
(Heavily copied from the D10V port by Martin Hunt (hunt@cygnus.com))
@ -581,6 +581,7 @@ static const struct bfd_elf_special_section elf32_m68hc12_special_sections[] =
#define elf_backend_special_sections elf32_m68hc12_special_sections
#define elf_backend_post_process_headers elf32_m68hc11_post_process_headers
#define elf_backend_add_symbol_hook elf32_m68hc11_add_symbol_hook
#define elf_backend_merge_symbol_attribute elf32_m68hc11_merge_symbol_attribute
#define bfd_elf32_bfd_link_hash_table_create \
m68hc12_elf_bfd_link_hash_table_create

View File

@ -1,6 +1,6 @@
/* Motorola 68HC11/HC12-specific support for 32-bit ELF
Copyright 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008,
2009, 2010, 2011 Free Software Foundation, Inc.
2009, 2010, 2011, 2012 Free Software Foundation, Inc.
Contributed by Stephane Carrez (stcarrez@nerim.fr)
This file is part of BFD, the Binary File Descriptor library.
@ -214,6 +214,20 @@ elf32_m68hc11_add_symbol_hook (bfd *abfd, struct bfd_link_info *info,
return TRUE;
}
/* Merge non-visibility st_other attributes, STO_M68HC12_FAR and
STO_M68HC12_INTERRUPT. */
void
elf32_m68hc11_merge_symbol_attribute (struct elf_link_hash_entry *h,
const Elf_Internal_Sym *isym,
bfd_boolean definition,
bfd_boolean dynamic ATTRIBUTE_UNUSED)
{
if (definition)
h->other = ((isym->st_other & ~ELF_ST_VISIBILITY (-1))
| ELF_ST_VISIBILITY (h->other));
}
/* External entry points for sizing and building linker stubs. */
/* Set up various things so that we can make a list of input sections

View File

@ -1,5 +1,5 @@
/* Motorola 68HC11/68HC12-specific support for 32-bit ELF
Copyright 2003, 2004, 2005, 2006, 2007, 2009, 2010
Copyright 2003, 2004, 2005, 2006, 2007, 2009, 2010, 2012
Free Software Foundation, Inc.
Contributed by Stephane Carrez (stcarrez@nerim.fr)
@ -176,6 +176,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*);