diff options
author | Alan Modra <amodra@gmail.com> | 2012-02-13 02:29:51 +0000 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2012-02-13 02:29:51 +0000 |
commit | 5efbbc4340d2cb348265e44627b71d7a37d8246c (patch) | |
tree | c7e2a3b8f97bd114431bed424dd3d13d40a5e54b /bfd | |
parent | d5ded7aab1b95fc27cc3a9f345c99624eeea5fd8 (diff) | |
download | gdb-5efbbc4340d2cb348265e44627b71d7a37d8246c.zip gdb-5efbbc4340d2cb348265e44627b71d7a37d8246c.tar.gz gdb-5efbbc4340d2cb348265e44627b71d7a37d8246c.tar.bz2 |
* 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.
Diffstat (limited to 'bfd')
-rw-r--r-- | bfd/ChangeLog | 7 | ||||
-rw-r--r-- | bfd/elf32-m68hc11.c | 3 | ||||
-rw-r--r-- | bfd/elf32-m68hc12.c | 3 | ||||
-rw-r--r-- | bfd/elf32-m68hc1x.c | 16 | ||||
-rw-r--r-- | bfd/elf32-m68hc1x.h | 6 |
5 files changed, 31 insertions, 4 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index f2e40dd..490120b 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -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> diff --git a/bfd/elf32-m68hc11.c b/bfd/elf32-m68hc11.c index 63d0786..49a58fb 100644 --- a/bfd/elf32-m68hc11.c +++ b/bfd/elf32-m68hc11.c @@ -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 diff --git a/bfd/elf32-m68hc12.c b/bfd/elf32-m68hc12.c index 1788856..2b16641 100644 --- a/bfd/elf32-m68hc12.c +++ b/bfd/elf32-m68hc12.c @@ -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 diff --git a/bfd/elf32-m68hc1x.c b/bfd/elf32-m68hc1x.c index 961dce4..e1da8b2 100644 --- a/bfd/elf32-m68hc1x.c +++ b/bfd/elf32-m68hc1x.c @@ -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 diff --git a/bfd/elf32-m68hc1x.h b/bfd/elf32-m68hc1x.h index 317371f..34b788e 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, 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*); |