X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=bfd%2Fcoff-m68k.c;h=f6aa094692a4d91e36d7aaf61b6ac674399c191b;hb=2a1d8bb3471a074ce35eb8ab9d8eb2093a5ecdb5;hp=b53cc5fb769452767c2ac9761a0b320f85b8ba7d;hpb=2b5c217d4551d71750840b7d76fd677075512903;p=deliverable%2Fbinutils-gdb.git diff --git a/bfd/coff-m68k.c b/bfd/coff-m68k.c index b53cc5fb76..f6aa094692 100644 --- a/bfd/coff-m68k.c +++ b/bfd/coff-m68k.c @@ -1,7 +1,5 @@ /* BFD back-end for Motorola 68000 COFF binaries. - Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1999, - 2000, 2001, 2002, 2003, 2005, 2007, 2008 - Free Software Foundation, Inc. + Copyright (C) 1990-2016 Free Software Foundation, Inc. Written by Cygnus Support. This file is part of BFD, the Binary File Descriptor library. @@ -32,7 +30,7 @@ variants. The following macros control its behaviour: TARGET_SYM - The C name of the BFD target vector. The default is m68kcoff_vec. + The C name of the BFD target vector. The default is m68k_coff_vec. TARGET_NAME The user visible target name. The default is "coff-m68k". NAMES_HAVE_UNDERSCORE @@ -60,25 +58,19 @@ #define RELOC_SPECIAL_FN 0 #else static bfd_reloc_status_type m68kcoff_common_addend_special_fn - PARAMS ((bfd *, arelent *, asymbol *, PTR, asection *, bfd *, char **)); -static reloc_howto_type *m68kcoff_common_addend_rtype_to_howto - PARAMS ((bfd *, asection *, struct internal_reloc *, - struct coff_link_hash_entry *, struct internal_syment *, - bfd_vma *)); + (bfd *, arelent *, asymbol *, void *, asection *, bfd *, char **); + #define RELOC_SPECIAL_FN m68kcoff_common_addend_special_fn #endif -static bfd_boolean m68k_coff_is_local_label_name - PARAMS ((bfd *, const char *)); +static bfd_boolean m68k_coff_is_local_label_name (bfd *, const char *); /* On the delta, a symbol starting with L% is local. We won't see such a symbol on other platforms, so it should be safe to always consider it local here. */ static bfd_boolean -m68k_coff_is_local_label_name (abfd, name) - bfd *abfd; - const char *name; +m68k_coff_is_local_label_name (bfd *abfd, const char *name) { if (name[0] == 'L' && name[1] == '%') return TRUE; @@ -121,12 +113,11 @@ reloc_howto_type m68kcoff_howto_table[] = /* Turn a howto into a reloc number */ #ifdef ONLY_DECLARE_RELOCS -extern void m68k_rtype2howto PARAMS ((arelent *internal, int relocentry)); -extern int m68k_howto2rtype PARAMS ((reloc_howto_type *)); -extern reloc_howto_type *m68k_reloc_type_lookup - PARAMS ((bfd *, bfd_reloc_code_real_type)); -extern reloc_howto_type *m68k_reloc_name_lookup - PARAMS ((bfd *, const char *)); +extern void m68k_rtype2howto (arelent *internal, int relocentry); +extern int m68k_howto2rtype (reloc_howto_type *); +extern reloc_howto_type * m68k_reloc_type_lookup + (bfd *, bfd_reloc_code_real_type); +extern reloc_howto_type * m68k_reloc_name_lookup (bfd *, const char *); #else #ifdef STATIC_RELOCS @@ -135,16 +126,13 @@ extern reloc_howto_type *m68k_reloc_name_lookup #define STAT_REL #endif -STAT_REL reloc_howto_type * m68k_reloc_type_lookup PARAMS ((bfd *, bfd_reloc_code_real_type)); -STAT_REL reloc_howto_type * m68k_reloc_name_lookup PARAMS ((bfd *, const char *)); -STAT_REL int m68k_howto2rtype PARAMS ((reloc_howto_type *)); -STAT_REL void m68k_rtype2howto PARAMS ((arelent *, int)); - +STAT_REL void m68k_rtype2howto (arelent *, int); +STAT_REL int m68k_howto2rtype (reloc_howto_type *); +STAT_REL reloc_howto_type * m68k_reloc_type_lookup (bfd *, bfd_reloc_code_real_type); +STAT_REL reloc_howto_type * m68k_reloc_name_lookup (bfd *, const char *); STAT_REL void -m68k_rtype2howto(internal, relocentry) - arelent *internal; - int relocentry; +m68k_rtype2howto (arelent *internal, int relocentry) { switch (relocentry) { @@ -155,12 +143,12 @@ m68k_rtype2howto(internal, relocentry) case R_PCRWORD: internal->howto = m68kcoff_howto_table + 4; break; case R_PCRLONG: internal->howto = m68kcoff_howto_table + 5; break; case R_RELLONG_NEG: internal->howto = m68kcoff_howto_table + 6; break; + default: internal->howto = NULL; break; } } STAT_REL int -m68k_howto2rtype (internal) - reloc_howto_type *internal; +m68k_howto2rtype (reloc_howto_type * internal) { if (internal->pc_relative) { @@ -184,9 +172,8 @@ m68k_howto2rtype (internal) } STAT_REL reloc_howto_type * -m68k_reloc_type_lookup (abfd, code) - bfd *abfd ATTRIBUTE_UNUSED; - bfd_reloc_code_real_type code; +m68k_reloc_type_lookup (bfd *abfd ATTRIBUTE_UNUSED, + bfd_reloc_code_real_type code) { switch (code) { @@ -235,19 +222,13 @@ m68k_reloc_name_lookup (bfd *abfd ATTRIBUTE_UNUSED, #define coff_rtype_to_howto m68kcoff_rtype_to_howto -static reloc_howto_type *m68kcoff_rtype_to_howto - PARAMS ((bfd *, asection *, struct internal_reloc *, - struct coff_link_hash_entry *, struct internal_syment *, - bfd_vma *)); - static reloc_howto_type * -m68kcoff_rtype_to_howto (abfd, sec, rel, h, sym, addendp) - bfd *abfd ATTRIBUTE_UNUSED; - asection *sec; - struct internal_reloc *rel; - struct coff_link_hash_entry *h ATTRIBUTE_UNUSED; - struct internal_syment *sym ATTRIBUTE_UNUSED; - bfd_vma *addendp; +m68kcoff_rtype_to_howto (bfd *abfd ATTRIBUTE_UNUSED, + asection *sec, + struct internal_reloc *rel, + struct coff_link_hash_entry *h ATTRIBUTE_UNUSED, + struct internal_syment *sym ATTRIBUTE_UNUSED, + bfd_vma *addendp) { arelent relent; reloc_howto_type *howto; @@ -279,15 +260,13 @@ m68kcoff_rtype_to_howto (abfd, sec, rel, h, sym, addendp) reloc type to make any required adjustments. */ static bfd_reloc_status_type -m68kcoff_common_addend_special_fn (abfd, reloc_entry, symbol, data, - input_section, output_bfd, error_message) - bfd *abfd; - arelent *reloc_entry; - asymbol *symbol; - PTR data; - asection *input_section ATTRIBUTE_UNUSED; - bfd *output_bfd; - char **error_message ATTRIBUTE_UNUSED; +m68kcoff_common_addend_special_fn (bfd *abfd, + arelent *reloc_entry, + asymbol *symbol, + void * data, + asection *input_section ATTRIBUTE_UNUSED, + bfd *output_bfd, + char **error_message ATTRIBUTE_UNUSED) { symvalue diff; @@ -381,7 +360,7 @@ m68kcoff_common_addend_special_fn (abfd, reloc_entry, symbol, data, coffsym = (obj_symbols (abfd) \ + (cache_ptr->sym_ptr_ptr - symbols)); \ else if (ptr) \ - coffsym = coff_symbol_from (abfd, ptr); \ + coffsym = coff_symbol_from (ptr); \ if (coffsym != (coff_symbol_type *) NULL \ && coffsym->native->u.syment.n_scnum == 0) \ cache_ptr->addend = - coffsym->native->u.syment.n_value; \ @@ -402,13 +381,12 @@ m68kcoff_common_addend_special_fn (abfd, reloc_entry, symbol, data, adjust common symbols. */ static reloc_howto_type * -m68kcoff_common_addend_rtype_to_howto (abfd, sec, rel, h, sym, addendp) - bfd *abfd ATTRIBUTE_UNUSED; - asection *sec; - struct internal_reloc *rel; - struct coff_link_hash_entry *h; - struct internal_syment *sym; - bfd_vma *addendp; +m68kcoff_common_addend_rtype_to_howto (bfd *abfd ATTRIBUTE_UNUSED, + asection *sec, + struct internal_reloc *rel, + struct coff_link_hash_entry *h, + struct internal_syment *sym, + bfd_vma *addendp) { arelent relent; reloc_howto_type *howto; @@ -456,12 +434,11 @@ m68kcoff_common_addend_rtype_to_howto (abfd, sec, rel, h, sym, addendp) objects, and before the final_link entry point is called. */ bfd_boolean -bfd_m68k_coff_create_embedded_relocs (abfd, info, datasec, relsec, errmsg) - bfd *abfd; - struct bfd_link_info *info; - asection *datasec; - asection *relsec; - char **errmsg; +bfd_m68k_coff_create_embedded_relocs (bfd *abfd, + struct bfd_link_info *info, + asection *datasec, + asection *relsec, + char **errmsg) { char *extsyms; bfd_size_type symesz; @@ -469,7 +446,7 @@ bfd_m68k_coff_create_embedded_relocs (abfd, info, datasec, relsec, errmsg) bfd_byte *p; bfd_size_type amt; - BFD_ASSERT (! info->relocatable); + BFD_ASSERT (! bfd_link_relocatable (info)); *errmsg = NULL; @@ -552,7 +529,7 @@ bfd_m68k_coff_create_embedded_relocs (abfd, info, datasec, relsec, errmsg) #include "coffcode.h" #ifndef TARGET_SYM -#define TARGET_SYM m68kcoff_vec +#define TARGET_SYM m68k_coff_vec #endif #ifndef TARGET_NAME