diff options
author | Andreas Schwab <schwab@suse.de> | 2013-12-11 16:47:43 +0100 |
---|---|---|
committer | Andreas Schwab <schwab@suse.de> | 2013-12-19 12:27:19 +0100 |
commit | f6ec89e7bc631c0bd48cb6c4b960b29266e19550 (patch) | |
tree | 172118495a4c320f35087c3b11d387d61c512d70 /bfd | |
parent | 8356f2d009e20e5ca567f5f9456a40f75e9560dc (diff) | |
download | gdb-f6ec89e7bc631c0bd48cb6c4b960b29266e19550.zip gdb-f6ec89e7bc631c0bd48cb6c4b960b29266e19550.tar.gz gdb-f6ec89e7bc631c0bd48cb6c4b960b29266e19550.tar.bz2 |
Set proper OS ABI magic for ELF/m68k
* elf32-m68k.c (elf_m68k_add_symbol_hook): New function.
(elf_backend_add_symbol_hook): Define.
Diffstat (limited to 'bfd')
-rw-r--r-- | bfd/ChangeLog | 5 | ||||
-rw-r--r-- | bfd/elf32-m68k.c | 21 |
2 files changed, 26 insertions, 0 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 62fc765..28d852c 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,8 @@ +2013-12-19 Andreas Schwab <schwab@suse.de> + + * elf32-m68k.c (elf_m68k_add_symbol_hook): New function. + (elf_backend_add_symbol_hook): Define. + 2013-12-18 Nick Clifton <nickc@redhat.com> * peXXigen.c (rsrc_print_section): Use ptrdiff_t as the type for diff --git a/bfd/elf32-m68k.c b/bfd/elf32-m68k.c index d8e3be1..60e4d93 100644 --- a/bfd/elf32-m68k.c +++ b/bfd/elf32-m68k.c @@ -4831,6 +4831,26 @@ elf_m68k_grok_psinfo (bfd *abfd, Elf_Internal_Note *note) return TRUE; } +/* Hook called by the linker routine which adds symbols from an object + file. */ + +static bfd_boolean +elf_m68k_add_symbol_hook (bfd *abfd, + struct bfd_link_info *info, + Elf_Internal_Sym *sym, + const char **namep ATTRIBUTE_UNUSED, + flagword *flagsp ATTRIBUTE_UNUSED, + asection **secp ATTRIBUTE_UNUSED, + bfd_vma *valp ATTRIBUTE_UNUSED) +{ + if ((abfd->flags & DYNAMIC) == 0 + && (ELF_ST_TYPE (sym->st_info) == STT_GNU_IFUNC + || ELF_ST_BIND (sym->st_info) == STB_GNU_UNIQUE)) + elf_tdata (info->output_bfd)->has_gnu_symbols = TRUE; + + return TRUE; +} + #define TARGET_BIG_SYM bfd_elf32_m68k_vec #define TARGET_BIG_NAME "elf32-m68k" #define ELF_MACHINE_CODE EM_68K @@ -4872,6 +4892,7 @@ elf_m68k_grok_psinfo (bfd *abfd, Elf_Internal_Note *note) #define elf_backend_object_p elf32_m68k_object_p #define elf_backend_grok_prstatus elf_m68k_grok_prstatus #define elf_backend_grok_psinfo elf_m68k_grok_psinfo +#define elf_backend_add_symbol_hook elf_m68k_add_symbol_hook #define elf_backend_can_gc_sections 1 #define elf_backend_can_refcount 1 |