From f4943d8253e8c9c539fd72d23e94a65f84c92d1a Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Wed, 10 Dec 2014 21:44:34 +1030 Subject: [PATCH] Don't always build coffgen.o Removes a bunch of unused functions from libbfd when building ELF or AOUT. Split off the bits we need externally when not building a COFF target into coff-bfd.c and coff-bfd.h. bfd/ * Makefile.am (BFD32_LIBS, BFD32_LIBS_CFILES): Remove dwarf2 and coffgen. Add coff-bfd. Sort. (BFD32_BACKENDS, BFD32_BACKENDS_CFILES): Add coffgen and dwarf2. * bfd-in.h (bfd_coff_get_syment, bfd_coff_get_auxent): Delete. (struct coff_comdat_info, bfd_coff_get_comdat_section): Delete. * coffgen.c (coff_symbol_from): Move to coff-bfd.h as macro, without unused param. Update uses. (bfd_coff_get_comdat_section): Move to coff-bfd.h as macro. (bfd_coff_get_syment, bfd_coff_get_auxent): Move to coff-bfd.c. * libcoff-in.h: #include "coff-bfd.h". (struct coff_section_tdata, coff_section_data): Move to coff-bfd.h. (coff_symbol_from): Delete. * coff-bfd.c: New file. * coff-bfd.h: New file. * coff-i386.c: Update coff_symbol_from occurrences. * coff-i960.c: Likewise. * coff-m68k.c: Likewise. * coff-sh.c: Likewise. * coff-x86_64.c: Likewise. * coffcode.h: Likewise. * pe-mips.c: Likewise. * configure.ac (elf): Add dwarf2.lo. (coffgen, coff, ecoff, xcoff): Define. Use when mapping bfd target vectors to .o files. Add dwarf2 for mach-o targets. Fix the sh target FIXME. * po/SRC-POTFILES.in: Regenerate. * Makefile.in: Regenerate. * configure: Regenerate. * bfd-in2.h: Regenerate. * libcoff.h: Regenerate. binutils/ * objdump.c: #include "coff-bfd.h". ld/ * ldmisc.c: #include "coff-bfd.h" --- bfd/ChangeLog | 33 ++++++ bfd/Makefile.am | 22 ++-- bfd/Makefile.in | 32 +++--- bfd/bfd-in.h | 26 ----- bfd/bfd-in2.h | 26 ----- bfd/coff-bfd.c | 99 ++++++++++++++++ bfd/coff-bfd.h | 86 ++++++++++++++ bfd/coff-i386.c | 2 +- bfd/coff-i960.c | 32 +++--- bfd/coff-m68k.c | 2 +- bfd/coff-sh.c | 32 +++--- bfd/coff-x86_64.c | 2 +- bfd/coffcode.h | 6 +- bfd/coffgen.c | 114 ++----------------- bfd/configure | 249 +++++++++++++++++++++-------------------- bfd/configure.ac | 249 +++++++++++++++++++++-------------------- bfd/libcoff-in.h | 33 +----- bfd/libcoff.h | 33 +----- bfd/pe-mips.c | 2 +- bfd/po/SRC-POTFILES.in | 1 + binutils/ChangeLog | 4 + binutils/objdump.c | 1 + ld/ChangeLog | 4 + ld/ldmisc.c | 1 + 24 files changed, 557 insertions(+), 534 deletions(-) create mode 100644 bfd/coff-bfd.c create mode 100644 bfd/coff-bfd.h diff --git a/bfd/ChangeLog b/bfd/ChangeLog index df7499c439..76e382e6fd 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,36 @@ +2014-12-10 Alan Modra + + * Makefile.am (BFD32_LIBS, BFD32_LIBS_CFILES): Remove dwarf2 + and coffgen. Add coff-bfd. Sort. + (BFD32_BACKENDS, BFD32_BACKENDS_CFILES): Add coffgen and dwarf2. + * bfd-in.h (bfd_coff_get_syment, bfd_coff_get_auxent): Delete. + (struct coff_comdat_info, bfd_coff_get_comdat_section): Delete. + * coffgen.c (coff_symbol_from): Move to coff-bfd.h as macro, + without unused param. Update uses. + (bfd_coff_get_comdat_section): Move to coff-bfd.h as macro. + (bfd_coff_get_syment, bfd_coff_get_auxent): Move to coff-bfd.c. + * libcoff-in.h: #include "coff-bfd.h". + (struct coff_section_tdata, coff_section_data): Move to coff-bfd.h. + (coff_symbol_from): Delete. + * coff-bfd.c: New file. + * coff-bfd.h: New file. + * coff-i386.c: Update coff_symbol_from occurrences. + * coff-i960.c: Likewise. + * coff-m68k.c: Likewise. + * coff-sh.c: Likewise. + * coff-x86_64.c: Likewise. + * coffcode.h: Likewise. + * pe-mips.c: Likewise. + * configure.ac (elf): Add dwarf2.lo. + (coffgen, coff, ecoff, xcoff): Define. Use when mapping bfd + target vectors to .o files. Add dwarf2 for mach-o targets. + Fix the sh target FIXME. + * po/SRC-POTFILES.in: Regenerate. + * Makefile.in: Regenerate. + * configure: Regenerate. + * bfd-in2.h: Regenerate. + * libcoff.h: Regenerate. + 2014-12-10 Alan Modra PR 17541 diff --git a/bfd/Makefile.am b/bfd/Makefile.am index cea3794c30..8aa87481c6 100644 --- a/bfd/Makefile.am +++ b/bfd/Makefile.am @@ -64,21 +64,19 @@ BFD_H = bfd.h # debugger). BFD32_LIBS = \ archive.lo archures.lo bfd.lo bfdio.lo bfdwin.lo \ - cache.lo coffgen.lo corefile.lo \ - format.lo init.lo libbfd.lo opncls.lo reloc.lo \ - section.lo syms.lo targets.lo hash.lo linker.lo \ - srec.lo binary.lo tekhex.lo ihex.lo stabs.lo stab-syms.lo \ - merge.lo dwarf2.lo simple.lo compress.lo verilog.lo + cache.lo coff-bfd.lo compress.lo corefile.lo format.lo hash.lo \ + init.lo libbfd.lo linker.lo merge.lo opncls.lo reloc.lo \ + section.lo simple.lo stab-syms.lo stabs.lo syms.lo targets.lo \ + binary.lo ihex.lo srec.lo tekhex.lo verilog.lo BFD64_LIBS = archive64.lo BFD32_LIBS_CFILES = \ archive.c archures.c bfd.c bfdio.c bfdwin.c \ - cache.c coffgen.c corefile.c \ - format.c init.c libbfd.c opncls.c reloc.c \ - section.c syms.c targets.c hash.c linker.c \ - srec.c binary.c tekhex.c ihex.c stabs.c stab-syms.c \ - merge.c dwarf2.c simple.c compress.c verilog.c + cache.c coff-bfd.c compress.c corefile.c format.c hash.c \ + init.c libbfd.c linker.c merge.c opncls.c reloc.c \ + section.c simple.c stab-syms.c stabs.c syms.c targets.c \ + binary.c ihex.c srec.c tekhex.c verilog.c BFD64_LIBS_CFILES = archive64.c @@ -295,8 +293,10 @@ BFD32_BACKENDS = \ coff-we32k.lo \ coff-z80.lo \ coff-z8k.lo \ + coffgen.lo \ cofflink.lo \ dwarf1.lo \ + dwarf2.lo \ ecoff.lo \ ecofflink.lo \ elf-attrs.lo \ @@ -483,8 +483,10 @@ BFD32_BACKENDS_CFILES = \ coff-we32k.c \ coff-z80.c \ coff-z8k.c \ + coffgen.c \ cofflink.c \ dwarf1.c \ + dwarf2.c \ ecoff.c \ ecofflink.c \ elf-attrs.c \ diff --git a/bfd/Makefile.in b/bfd/Makefile.in index fbad166f89..50fbc2506c 100644 --- a/bfd/Makefile.in +++ b/bfd/Makefile.in @@ -121,11 +121,10 @@ am__installdirs = "$(DESTDIR)$(bfdlibdir)" \ LTLIBRARIES = $(bfdlib_LTLIBRARIES) $(noinst_LTLIBRARIES) am__DEPENDENCIES_1 = am__objects_1 = archive.lo archures.lo bfd.lo bfdio.lo bfdwin.lo \ - cache.lo coffgen.lo corefile.lo format.lo init.lo libbfd.lo \ - opncls.lo reloc.lo section.lo syms.lo targets.lo hash.lo \ - linker.lo srec.lo binary.lo tekhex.lo ihex.lo stabs.lo \ - stab-syms.lo merge.lo dwarf2.lo simple.lo compress.lo \ - verilog.lo + cache.lo coff-bfd.lo compress.lo corefile.lo format.lo hash.lo \ + init.lo libbfd.lo linker.lo merge.lo opncls.lo reloc.lo \ + section.lo simple.lo stab-syms.lo stabs.lo syms.lo targets.lo \ + binary.lo ihex.lo srec.lo tekhex.lo verilog.lo am_libbfd_la_OBJECTS = $(am__objects_1) libbfd_la_OBJECTS = $(am_libbfd_la_OBJECTS) libbfd_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ @@ -366,20 +365,18 @@ BFD_H = bfd.h # debugger). BFD32_LIBS = \ archive.lo archures.lo bfd.lo bfdio.lo bfdwin.lo \ - cache.lo coffgen.lo corefile.lo \ - format.lo init.lo libbfd.lo opncls.lo reloc.lo \ - section.lo syms.lo targets.lo hash.lo linker.lo \ - srec.lo binary.lo tekhex.lo ihex.lo stabs.lo stab-syms.lo \ - merge.lo dwarf2.lo simple.lo compress.lo verilog.lo + cache.lo coff-bfd.lo compress.lo corefile.lo format.lo hash.lo \ + init.lo libbfd.lo linker.lo merge.lo opncls.lo reloc.lo \ + section.lo simple.lo stab-syms.lo stabs.lo syms.lo targets.lo \ + binary.lo ihex.lo srec.lo tekhex.lo verilog.lo BFD64_LIBS = archive64.lo BFD32_LIBS_CFILES = \ archive.c archures.c bfd.c bfdio.c bfdwin.c \ - cache.c coffgen.c corefile.c \ - format.c init.c libbfd.c opncls.c reloc.c \ - section.c syms.c targets.c hash.c linker.c \ - srec.c binary.c tekhex.c ihex.c stabs.c stab-syms.c \ - merge.c dwarf2.c simple.c compress.c verilog.c + cache.c coff-bfd.c compress.c corefile.c format.c hash.c \ + init.c libbfd.c linker.c merge.c opncls.c reloc.c \ + section.c simple.c stab-syms.c stabs.c syms.c targets.c \ + binary.c ihex.c srec.c tekhex.c verilog.c BFD64_LIBS_CFILES = archive64.c @@ -597,8 +594,10 @@ BFD32_BACKENDS = \ coff-we32k.lo \ coff-z80.lo \ coff-z8k.lo \ + coffgen.lo \ cofflink.lo \ dwarf1.lo \ + dwarf2.lo \ ecoff.lo \ ecofflink.lo \ elf-attrs.lo \ @@ -785,8 +784,10 @@ BFD32_BACKENDS_CFILES = \ coff-we32k.c \ coff-z80.c \ coff-z8k.c \ + coffgen.c \ cofflink.c \ dwarf1.c \ + dwarf2.c \ ecoff.c \ ecofflink.c \ elf-attrs.c \ @@ -1272,6 +1273,7 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/coff-apollo.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/coff-arm.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/coff-aux.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/coff-bfd.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/coff-go32.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/coff-h8300.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/coff-h8500.Plo@am__quote@ diff --git a/bfd/bfd-in.h b/bfd/bfd-in.h index 1f80a76ba0..0f2b57fc30 100644 --- a/bfd/bfd-in.h +++ b/bfd/bfd-in.h @@ -806,12 +806,6 @@ struct internal_syment; union internal_auxent; #endif -extern bfd_boolean bfd_coff_get_syment - (bfd *, struct bfd_symbol *, struct internal_syment *); - -extern bfd_boolean bfd_coff_get_auxent - (bfd *, struct bfd_symbol *, int, union internal_auxent *); - extern bfd_boolean bfd_coff_set_symbol_class (bfd *, struct bfd_symbol *, unsigned int); @@ -991,23 +985,3 @@ extern void bfd_elf32_ia64_after_parse extern void bfd_elf64_ia64_after_parse (int); - -/* This structure is used for a comdat section, as in PE. A comdat - section is associated with a particular symbol. When the linker - sees a comdat section, it keeps only one of the sections with a - given name and associated with a given symbol. */ - -struct coff_comdat_info -{ - /* The name of the symbol associated with a comdat section. */ - const char *name; - - /* The local symbol table index of the symbol associated with a - comdat section. This is only meaningful to the object file format - specific code; it is not an index into the list returned by - bfd_canonicalize_symtab. */ - long symbol; -}; - -extern struct coff_comdat_info * bfd_coff_get_comdat_section - (bfd *, struct bfd_section *); diff --git a/bfd/bfd-in2.h b/bfd/bfd-in2.h index 94546b4a5f..7f45316800 100644 --- a/bfd/bfd-in2.h +++ b/bfd/bfd-in2.h @@ -813,12 +813,6 @@ struct internal_syment; union internal_auxent; #endif -extern bfd_boolean bfd_coff_get_syment - (bfd *, struct bfd_symbol *, struct internal_syment *); - -extern bfd_boolean bfd_coff_get_auxent - (bfd *, struct bfd_symbol *, int, union internal_auxent *); - extern bfd_boolean bfd_coff_set_symbol_class (bfd *, struct bfd_symbol *, unsigned int); @@ -998,26 +992,6 @@ extern void bfd_elf32_ia64_after_parse extern void bfd_elf64_ia64_after_parse (int); - -/* This structure is used for a comdat section, as in PE. A comdat - section is associated with a particular symbol. When the linker - sees a comdat section, it keeps only one of the sections with a - given name and associated with a given symbol. */ - -struct coff_comdat_info -{ - /* The name of the symbol associated with a comdat section. */ - const char *name; - - /* The local symbol table index of the symbol associated with a - comdat section. This is only meaningful to the object file format - specific code; it is not an index into the list returned by - bfd_canonicalize_symtab. */ - long symbol; -}; - -extern struct coff_comdat_info * bfd_coff_get_comdat_section - (bfd *, struct bfd_section *); /* Extracted from init.c. */ void bfd_init (void); diff --git a/bfd/coff-bfd.c b/bfd/coff-bfd.c new file mode 100644 index 0000000000..81ecdf814c --- /dev/null +++ b/bfd/coff-bfd.c @@ -0,0 +1,99 @@ +/* BFD COFF interfaces used outside of BFD. + Copyright (C) 1990-2014 Free Software Foundation, Inc. + Written by Cygnus Support. + + This file is part of BFD, the Binary File Descriptor library. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, + MA 02110-1301, USA. */ + +#include "sysdep.h" +#include "bfd.h" +#include "libbfd.h" +#include "coff/internal.h" +#include "libcoff.h" + +/* Return the COFF syment for a symbol. */ + +bfd_boolean +bfd_coff_get_syment (bfd *abfd, + asymbol *symbol, + struct internal_syment *psyment) +{ + coff_symbol_type *csym; + + csym = coff_symbol_from (symbol); + if (csym == NULL || csym->native == NULL + || ! csym->native->is_sym) + { + bfd_set_error (bfd_error_invalid_operation); + return FALSE; + } + + *psyment = csym->native->u.syment; + + if (csym->native->fix_value) + psyment->n_value = psyment->n_value - + (bfd_hostptr_t) obj_raw_syments (abfd); + + /* FIXME: We should handle fix_line here. */ + + return TRUE; +} + +/* Return the COFF auxent for a symbol. */ + +bfd_boolean +bfd_coff_get_auxent (bfd *abfd, + asymbol *symbol, + int indx, + union internal_auxent *pauxent) +{ + coff_symbol_type *csym; + combined_entry_type *ent; + + csym = coff_symbol_from (symbol); + + if (csym == NULL + || csym->native == NULL + || ! csym->native->is_sym + || indx >= csym->native->u.syment.n_numaux) + { + bfd_set_error (bfd_error_invalid_operation); + return FALSE; + } + + ent = csym->native + indx + 1; + + BFD_ASSERT (! ent->is_sym); + *pauxent = ent->u.auxent; + + if (ent->fix_tag) + pauxent->x_sym.x_tagndx.l = + ((combined_entry_type *) pauxent->x_sym.x_tagndx.p + - obj_raw_syments (abfd)); + + if (ent->fix_end) + pauxent->x_sym.x_fcnary.x_fcn.x_endndx.l = + ((combined_entry_type *) pauxent->x_sym.x_fcnary.x_fcn.x_endndx.p + - obj_raw_syments (abfd)); + + if (ent->fix_scnlen) + pauxent->x_csect.x_scnlen.l = + ((combined_entry_type *) pauxent->x_csect.x_scnlen.p + - obj_raw_syments (abfd)); + + return TRUE; +} diff --git a/bfd/coff-bfd.h b/bfd/coff-bfd.h new file mode 100644 index 0000000000..3e30ef37de --- /dev/null +++ b/bfd/coff-bfd.h @@ -0,0 +1,86 @@ +/* BFD COFF interfaces used outside of BFD. + Copyright (C) 1990-2014 Free Software Foundation, Inc. + Written by Cygnus Support. + + This file is part of BFD, the Binary File Descriptor library. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, + MA 02110-1301, USA. */ + +/* This structure is used for a comdat section, as in PE. A comdat + section is associated with a particular symbol. When the linker + sees a comdat section, it keeps only one of the sections with a + given name and associated with a given symbol. */ + +struct coff_comdat_info +{ + /* The name of the symbol associated with a comdat section. */ + const char *name; + + /* The local symbol table index of the symbol associated with a + comdat section. This is only meaningful to the object file format + specific code; it is not an index into the list returned by + bfd_canonicalize_symtab. */ + long symbol; +}; + +/* The used_by_bfd field of a section may be set to a pointer to this + structure. */ + +struct coff_section_tdata +{ + /* The relocs, swapped into COFF internal form. This may be NULL. */ + struct internal_reloc *relocs; + /* If this is TRUE, the relocs entry may not be freed. */ + bfd_boolean keep_relocs; + /* The section contents. This may be NULL. */ + bfd_byte *contents; + /* If this is TRUE, the contents entry may not be freed. */ + bfd_boolean keep_contents; + /* Information cached by coff_find_nearest_line. */ + bfd_vma offset; + unsigned int i; + const char *function; + /* Optional information about a COMDAT entry; NULL if not COMDAT. */ + struct coff_comdat_info *comdat; + int line_base; + /* A pointer used for .stab linking optimizations. */ + void * stab_info; + /* Available for individual backends. */ + void * tdata; +}; + +/* An accessor macro for the coff_section_tdata structure. */ +#define coff_section_data(abfd, sec) \ + ((struct coff_section_tdata *) (sec)->used_by_bfd) + +#define bfd_coff_get_comdat_section(abfd, sec) \ + ((bfd_get_flavour (abfd) == bfd_target_coff_flavour \ + && coff_section_data (abfd, sec) != NULL) \ + ? coff_section_data (abfd, sec)->comdat : NULL) + +#define coff_symbol_from(symbol) \ + ((bfd_family_coff (bfd_asymbol_bfd (symbol)) \ + && bfd_asymbol_bfd (symbol)->tdata.coff_obj_data) \ + ? (coff_symbol_type *) (symbol) : NULL) + +struct internal_syment; +union internal_auxent; + +extern bfd_boolean bfd_coff_get_syment + (bfd *, struct bfd_symbol *, struct internal_syment *); + +extern bfd_boolean bfd_coff_get_auxent + (bfd *, struct bfd_symbol *, int, union internal_auxent *); diff --git a/bfd/coff-i386.c b/bfd/coff-i386.c index 848d69b91c..e3f3b5810a 100644 --- a/bfd/coff-i386.c +++ b/bfd/coff-i386.c @@ -379,7 +379,7 @@ static reloc_howto_type howto_table[] = 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; \ diff --git a/bfd/coff-i960.c b/bfd/coff-i960.c index 1448257632..963433eefc 100644 --- a/bfd/coff-i960.c +++ b/bfd/coff-i960.c @@ -62,22 +62,22 @@ coff_i960_is_local_label_name (bfd *abfd ATTRIBUTE_UNUSED, const char *name) /* This is just like the usual CALC_ADDEND, but it includes the section VMA for PC relative relocs. */ #ifndef CALC_ADDEND -#define CALC_ADDEND(abfd, ptr, reloc, cache_ptr) \ - { \ - coff_symbol_type *coffsym = (coff_symbol_type *) NULL; \ - if (ptr && bfd_asymbol_bfd (ptr) != abfd) \ - coffsym = (obj_symbols (abfd) \ - + (cache_ptr->sym_ptr_ptr - symbols)); \ - else if (ptr) \ - coffsym = coff_symbol_from (abfd, ptr); \ - if (coffsym != (coff_symbol_type *) NULL \ - && coffsym->native->u.syment.n_scnum == 0) \ - cache_ptr->addend = 0; \ - else if (ptr && bfd_asymbol_bfd (ptr) == abfd \ - && ptr->section != (asection *) NULL) \ - cache_ptr->addend = - (ptr->section->vma + ptr->value); \ - else \ - cache_ptr->addend = 0; \ +#define CALC_ADDEND(abfd, ptr, reloc, cache_ptr) \ + { \ + coff_symbol_type *coffsym = (coff_symbol_type *) NULL; \ + if (ptr && bfd_asymbol_bfd (ptr) != abfd) \ + coffsym = (obj_symbols (abfd) \ + + (cache_ptr->sym_ptr_ptr - symbols)); \ + else if (ptr) \ + coffsym = coff_symbol_from (ptr); \ + if (coffsym != (coff_symbol_type *) NULL \ + && coffsym->native->u.syment.n_scnum == 0) \ + cache_ptr->addend = 0; \ + else if (ptr && bfd_asymbol_bfd (ptr) == abfd \ + && ptr->section != (asection *) NULL) \ + cache_ptr->addend = - (ptr->section->vma + ptr->value); \ + else \ + cache_ptr->addend = 0; \ if (ptr && (reloc.r_type == 25 || reloc.r_type == 27)) \ cache_ptr->addend += asect->vma; \ } diff --git a/bfd/coff-m68k.c b/bfd/coff-m68k.c index 5ebf52c3c9..20696f5517 100644 --- a/bfd/coff-m68k.c +++ b/bfd/coff-m68k.c @@ -360,7 +360,7 @@ m68kcoff_common_addend_special_fn (bfd *abfd, 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; \ diff --git a/bfd/coff-sh.c b/bfd/coff-sh.c index 23e32ec633..fcd9570b8d 100644 --- a/bfd/coff-sh.c +++ b/bfd/coff-sh.c @@ -530,22 +530,22 @@ sh_coff_reloc_name_lookup (bfd *abfd ATTRIBUTE_UNUSED, /* This is the same as the macro in coffcode.h, except that it copies r_offset into reloc_entry->addend for some relocs. */ -#define CALC_ADDEND(abfd, ptr, reloc, cache_ptr) \ - { \ - coff_symbol_type *coffsym = (coff_symbol_type *) NULL; \ - if (ptr && bfd_asymbol_bfd (ptr) != abfd) \ - coffsym = (obj_symbols (abfd) \ - + (cache_ptr->sym_ptr_ptr - symbols)); \ - else if (ptr) \ - coffsym = coff_symbol_from (abfd, ptr); \ - if (coffsym != (coff_symbol_type *) NULL \ - && coffsym->native->u.syment.n_scnum == 0) \ - cache_ptr->addend = 0; \ - else if (ptr && bfd_asymbol_bfd (ptr) == abfd \ - && ptr->section != (asection *) NULL) \ - cache_ptr->addend = - (ptr->section->vma + ptr->value); \ - else \ - cache_ptr->addend = 0; \ +#define CALC_ADDEND(abfd, ptr, reloc, cache_ptr) \ + { \ + coff_symbol_type *coffsym = (coff_symbol_type *) NULL; \ + if (ptr && bfd_asymbol_bfd (ptr) != abfd) \ + coffsym = (obj_symbols (abfd) \ + + (cache_ptr->sym_ptr_ptr - symbols)); \ + else if (ptr) \ + coffsym = coff_symbol_from (ptr); \ + if (coffsym != (coff_symbol_type *) NULL \ + && coffsym->native->u.syment.n_scnum == 0) \ + cache_ptr->addend = 0; \ + else if (ptr && bfd_asymbol_bfd (ptr) == abfd \ + && ptr->section != (asection *) NULL) \ + cache_ptr->addend = - (ptr->section->vma + ptr->value); \ + else \ + cache_ptr->addend = 0; \ if ((reloc).r_type == R_SH_SWITCH8 \ || (reloc).r_type == R_SH_SWITCH16 \ || (reloc).r_type == R_SH_SWITCH32 \ diff --git a/bfd/coff-x86_64.c b/bfd/coff-x86_64.c index 742adc29e0..03628b9fe8 100644 --- a/bfd/coff-x86_64.c +++ b/bfd/coff-x86_64.c @@ -499,7 +499,7 @@ static reloc_howto_type howto_table[] = 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 != NULL \ && coffsym->native->u.syment.n_scnum == 0) \ diff --git a/bfd/coffcode.h b/bfd/coffcode.h index 1719b2d900..a5ea3322f4 100644 --- a/bfd/coffcode.h +++ b/bfd/coffcode.h @@ -3174,7 +3174,7 @@ coff_compute_section_file_positions (bfd * abfd) { coff_symbol_type *cf; - cf = coff_symbol_from (abfd, *symp); + cf = coff_symbol_from (*symp); if (cf != NULL && cf->native != NULL && cf->native->is_sym @@ -3872,7 +3872,7 @@ coff_write_object_contents (bfd * abfd) /* See if this is the section symbol. */ if (strcmp ((*psym)->name, current->name) == 0) { - csym = coff_symbol_from (abfd, *psym); + csym = coff_symbol_from (*psym); if (csym == NULL || csym->native == NULL || ! csym->native->is_sym @@ -5185,7 +5185,7 @@ SUBSUBSECTION 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 != NULL \ && coffsym->native->is_sym \ && coffsym->native->u.syment.n_scnum == 0) \ diff --git a/bfd/coffgen.c b/bfd/coffgen.c index 2b8884d3ad..db89c72576 100644 --- a/bfd/coffgen.c +++ b/bfd/coffgen.c @@ -633,22 +633,6 @@ coff_count_linenumbers (bfd *abfd) return total; } -/* Takes a bfd and a symbol, returns a pointer to the coff specific - area of the symbol if there is one. */ - -coff_symbol_type * -coff_symbol_from (bfd *ignore_abfd ATTRIBUTE_UNUSED, - asymbol *symbol) -{ - if (!bfd_family_coff (bfd_asymbol_bfd (symbol))) - return (coff_symbol_type *) NULL; - - if (bfd_asymbol_bfd (symbol)->tdata.coff_obj_data == (coff_data_type *) NULL) - return (coff_symbol_type *) NULL; - - return (coff_symbol_type *) symbol; -} - static void fixup_symbol_value (bfd *abfd, coff_symbol_type *coff_symbol_ptr, @@ -765,8 +749,9 @@ coff_renumber_symbols (bfd *bfd_ptr, int *first_undef) for (symbol_index = 0; symbol_index < symbol_count; symbol_index++) { - coff_symbol_type *coff_symbol_ptr = coff_symbol_from (bfd_ptr, symbol_ptr_ptr[symbol_index]); + coff_symbol_type *coff_symbol_ptr; + coff_symbol_ptr = coff_symbol_from (symbol_ptr_ptr[symbol_index]); symbol_ptr_ptr[symbol_index]->udata.i = symbol_index; if (coff_symbol_ptr && coff_symbol_ptr->native) { @@ -810,9 +795,9 @@ coff_mangle_symbols (bfd *bfd_ptr) for (symbol_index = 0; symbol_index < symbol_count; symbol_index++) { - coff_symbol_type *coff_symbol_ptr = - coff_symbol_from (bfd_ptr, symbol_ptr_ptr[symbol_index]); + coff_symbol_type *coff_symbol_ptr; + coff_symbol_ptr = coff_symbol_from (symbol_ptr_ptr[symbol_index]); if (coff_symbol_ptr && coff_symbol_ptr->native) { int i; @@ -1140,7 +1125,7 @@ coff_write_alien_symbol (bfd *abfd, /* Copy the any flags from the file header into the symbol. FIXME: Why? */ { - coff_symbol_type *c = coff_symbol_from (abfd, symbol); + coff_symbol_type *c = coff_symbol_from (symbol); if (c != (coff_symbol_type *) NULL) native->u.syment.n_flags = bfd_asymbol_bfd (&c->symbol)->flags; } @@ -1272,7 +1257,7 @@ coff_write_symbols (bfd *abfd) for (p = abfd->outsymbols, i = 0; i < limit; i++, p++) { asymbol *symbol = *p; - coff_symbol_type *c_symbol = coff_symbol_from (abfd, symbol); + coff_symbol_type *c_symbol = coff_symbol_from (symbol); if (c_symbol == (coff_symbol_type *) NULL || c_symbol->native == (combined_entry_type *) NULL) @@ -1372,7 +1357,7 @@ coff_write_symbols (bfd *abfd) { asymbol *q = *p; size_t name_length = strlen (q->name); - coff_symbol_type *c_symbol = coff_symbol_from (abfd, q); + coff_symbol_type *c_symbol = coff_symbol_from (q); size_t maxlen; /* Figure out whether the symbol name should go in the string @@ -2045,79 +2030,6 @@ coff_get_symbol_info (bfd *abfd, asymbol *symbol, symbol_info *ret) (bfd_hostptr_t) obj_raw_syments (abfd); } -/* Return the COFF syment for a symbol. */ - -bfd_boolean -bfd_coff_get_syment (bfd *abfd, - asymbol *symbol, - struct internal_syment *psyment) -{ - coff_symbol_type *csym; - - csym = coff_symbol_from (abfd, symbol); - if (csym == NULL || csym->native == NULL - || ! csym->native->is_sym) - { - bfd_set_error (bfd_error_invalid_operation); - return FALSE; - } - - *psyment = csym->native->u.syment; - - if (csym->native->fix_value) - psyment->n_value = psyment->n_value - - (bfd_hostptr_t) obj_raw_syments (abfd); - - /* FIXME: We should handle fix_line here. */ - - return TRUE; -} - -/* Return the COFF auxent for a symbol. */ - -bfd_boolean -bfd_coff_get_auxent (bfd *abfd, - asymbol *symbol, - int indx, - union internal_auxent *pauxent) -{ - coff_symbol_type *csym; - combined_entry_type *ent; - - csym = coff_symbol_from (abfd, symbol); - - if (csym == NULL - || csym->native == NULL - || ! csym->native->is_sym - || indx >= csym->native->u.syment.n_numaux) - { - bfd_set_error (bfd_error_invalid_operation); - return FALSE; - } - - ent = csym->native + indx + 1; - - BFD_ASSERT (! ent->is_sym); - *pauxent = ent->u.auxent; - - if (ent->fix_tag) - pauxent->x_sym.x_tagndx.l = - ((combined_entry_type *) pauxent->x_sym.x_tagndx.p - - obj_raw_syments (abfd)); - - if (ent->fix_end) - pauxent->x_sym.x_fcnary.x_fcn.x_endndx.l = - ((combined_entry_type *) pauxent->x_sym.x_fcnary.x_fcn.x_endndx.p - - obj_raw_syments (abfd)); - - if (ent->fix_scnlen) - pauxent->x_csect.x_scnlen.l = - ((combined_entry_type *) pauxent->x_csect.x_scnlen.p - - obj_raw_syments (abfd)); - - return TRUE; -} - /* Print out information about COFF symbol. */ void @@ -2567,7 +2479,7 @@ bfd_coff_set_symbol_class (bfd * abfd, { coff_symbol_type * csym; - csym = coff_symbol_from (abfd, symbol); + csym = coff_symbol_from (symbol); if (csym == NULL) { bfd_set_error (bfd_error_invalid_operation); @@ -2623,16 +2535,6 @@ bfd_coff_set_symbol_class (bfd * abfd, return TRUE; } -struct coff_comdat_info * -bfd_coff_get_comdat_section (bfd *abfd, struct bfd_section *sec) -{ - if (bfd_get_flavour (abfd) == bfd_target_coff_flavour - && coff_section_data (abfd, sec) != NULL) - return coff_section_data (abfd, sec)->comdat; - else - return NULL; -} - bfd_boolean _bfd_coff_section_already_linked (bfd *abfd, asection *sec, diff --git a/bfd/configure b/bfd/configure index 3bb0cf7238..f7a9e81a7e 100755 --- a/bfd/configure +++ b/bfd/configure @@ -15276,7 +15276,11 @@ selarchs="$f" tb= elf="elf.lo elflink.lo elf-attrs.lo elf-strtab.lo - elf-eh-frame.lo dwarf1.lo" + elf-eh-frame.lo dwarf1.lo dwarf2.lo" +coffgen="coffgen.lo dwarf2.lo" +coff="cofflink.lo $coffgen" +ecoff="ecofflink.lo $coffgen" +xcoff="xcofflink.lo $coffgen" for vec in $selvecs do @@ -15289,7 +15293,7 @@ do aarch64_elf32_le_vec) tb="$tb elf32-aarch64.lo elfxx-aarch64.lo elf-ifunc.lo elf32.lo $elf"; target_size=64 ;; aarch64_elf64_be_vec) tb="$tb elf64-aarch64.lo elfxx-aarch64.lo elf-ifunc.lo elf64.lo $elf"; target_size=64 ;; aarch64_elf64_le_vec) tb="$tb elf64-aarch64.lo elfxx-aarch64.lo elf-ifunc.lo elf64.lo $elf"; target_size=64 ;; - alpha_ecoff_le_vec) tb="$tb coff-alpha.lo ecoff.lo ecofflink.lo"; target_size=64 ;; + alpha_ecoff_le_vec) tb="$tb coff-alpha.lo ecoff.lo $ecoff"; target_size=64 ;; alpha_elf64_vec) tb="$tb elf64-alpha.lo elf64.lo $elf"; target_size=64 ;; alpha_elf64_fbsd_vec) tb="$tb elf64-alpha.lo elf64.lo $elf"; target_size=64 ;; alpha_nlm32_vec) tb="$tb nlm32-alpha.lo nlm32.lo nlm.lo"; target_size=64 ;; @@ -15306,8 +15310,8 @@ do arm_aout_le_vec) tb="$tb aout-arm.lo aout32.lo" ;; arm_aout_nbsd_vec) tb="$tb armnetbsd.lo aout32.lo" ;; arm_aout_riscix_vec) tb="$tb aout32.lo riscix.lo" ;; - arm_coff_be_vec) tb="$tb coff-arm.lo cofflink.lo " ;; - arm_coff_le_vec) tb="$tb coff-arm.lo cofflink.lo " ;; + arm_coff_be_vec) tb="$tb coff-arm.lo $coff" ;; + arm_coff_le_vec) tb="$tb coff-arm.lo $coff" ;; arm_elf32_be_vec) tb="$tb elf32-arm.lo elf32.lo elf-nacl.lo elf-vxworks.lo $elf" ;; arm_elf32_le_vec) tb="$tb elf32-arm.lo elf32.lo elf-nacl.lo elf-vxworks.lo $elf" ;; arm_elf32_nacl_be_vec) tb="$tb elf32-arm.lo elf32.lo elf-nacl.lo elf-vxworks.lo $elf" ;; @@ -15316,18 +15320,18 @@ do arm_elf32_symbian_le_vec) tb="$tb elf32-arm.lo elf32.lo elf-nacl.lo elf-vxworks.lo $elf" ;; arm_elf32_vxworks_be_vec) tb="$tb elf32-arm.lo elf32.lo elf-nacl.lo elf-vxworks.lo $elf" ;; arm_elf32_vxworks_le_vec) tb="$tb elf32-arm.lo elf32.lo elf-nacl.lo elf-vxworks.lo $elf" ;; - arm_pe_be_vec) tb="$tb pe-arm.lo peigen.lo cofflink.lo " ;; - arm_pe_le_vec) tb="$tb pe-arm.lo peigen.lo cofflink.lo " ;; - arm_pe_epoc_be_vec) tb="$tb epoc-pe-arm.lo peigen.lo cofflink.lo " ;; - arm_pe_epoc_le_vec) tb="$tb epoc-pe-arm.lo peigen.lo cofflink.lo " ;; - arm_pe_wince_be_vec) tb="$tb pe-arm-wince.lo pe-arm.lo peigen.lo cofflink.lo " ;; - arm_pe_wince_le_vec) tb="$tb pe-arm-wince.lo pe-arm.lo peigen.lo cofflink.lo " ;; - arm_pei_be_vec) tb="$tb pei-arm.lo peigen.lo cofflink.lo " ;; - arm_pei_le_vec) tb="$tb pei-arm.lo peigen.lo cofflink.lo " ;; - arm_pei_epoc_be_vec) tb="$tb epoc-pei-arm.lo peigen.lo cofflink.lo " ;; - arm_pei_epoc_le_vec) tb="$tb epoc-pei-arm.lo peigen.lo cofflink.lo " ;; - arm_pei_wince_be_vec) tb="$tb pei-arm-wince.lo pei-arm.lo peigen.lo cofflink.lo " ;; - arm_pei_wince_le_vec) tb="$tb pei-arm-wince.lo pei-arm.lo peigen.lo cofflink.lo " ;; + arm_pe_be_vec) tb="$tb pe-arm.lo peigen.lo $coff" ;; + arm_pe_le_vec) tb="$tb pe-arm.lo peigen.lo $coff" ;; + arm_pe_epoc_be_vec) tb="$tb epoc-pe-arm.lo peigen.lo $coff" ;; + arm_pe_epoc_le_vec) tb="$tb epoc-pe-arm.lo peigen.lo $coff" ;; + arm_pe_wince_be_vec) tb="$tb pe-arm-wince.lo pe-arm.lo peigen.lo $coff" ;; + arm_pe_wince_le_vec) tb="$tb pe-arm-wince.lo pe-arm.lo peigen.lo $coff" ;; + arm_pei_be_vec) tb="$tb pei-arm.lo peigen.lo $coff" ;; + arm_pei_le_vec) tb="$tb pei-arm.lo peigen.lo $coff" ;; + arm_pei_epoc_be_vec) tb="$tb epoc-pei-arm.lo peigen.lo $coff" ;; + arm_pei_epoc_le_vec) tb="$tb epoc-pei-arm.lo peigen.lo $coff" ;; + arm_pei_wince_be_vec) tb="$tb pei-arm-wince.lo pei-arm.lo peigen.lo $coff" ;; + arm_pei_wince_le_vec) tb="$tb pei-arm-wince.lo pei-arm.lo peigen.lo $coff" ;; avr_elf32_vec) tb="$tb elf32-avr.lo elf32.lo $elf" ;; bfin_elf32_vec) tb="$tb elf32-bfin.lo elf32.lo $elf" ;; bfin_elf32_fdpic_vec) tb="$tb elf32-bfin.lo elf32.lo $elf" ;; @@ -15350,9 +15354,9 @@ do fr30_elf32_vec) tb="$tb elf32-fr30.lo elf32.lo $elf" ;; frv_elf32_vec) tb="$tb elf32-frv.lo elf32.lo $elf" ;; frv_elf32_fdpic_vec) tb="$tb elf32-frv.lo elf32.lo $elf" ;; - h8300_coff_vec) tb="$tb coff-h8300.lo reloc16.lo" ;; + h8300_coff_vec) tb="$tb coff-h8300.lo reloc16.lo $coffgen" ;; h8300_elf32_vec) tb="$tb elf32-h8300.lo elf32.lo $elf" ;; - h8500_coff_vec) tb="$tb coff-h8500.lo reloc16.lo" ;; + h8500_coff_vec) tb="$tb coff-h8500.lo reloc16.lo $coffgen" ;; hppa_elf32_vec) tb="$tb elf32-hppa.lo elf32.lo $elf" ;; hppa_elf32_linux_vec) tb="$tb elf32-hppa.lo elf32.lo $elf" ;; hppa_elf32_nbsd_vec) tb="$tb elf32-hppa.lo elf32.lo $elf" ;; @@ -15369,10 +15373,10 @@ do i386_aout_mach3_vec) tb="$tb i386mach3.lo aout32.lo" ;; i386_aout_nbsd_vec) tb="$tb i386netbsd.lo aout32.lo" ;; i386_aout_os9k_vec) tb="$tb i386os9k.lo aout32.lo" ;; - i386_coff_vec) tb="$tb coff-i386.lo cofflink.lo" ;; - i386_coff_go32_vec) tb="$tb coff-go32.lo cofflink.lo" ;; - i386_coff_go32stubbed_vec) tb="$tb coff-stgo32.lo cofflink.lo" ;; - i386_coff_lynx_vec) tb="$tb cf-i386lynx.lo cofflink.lo lynx-core.lo" ;; + i386_coff_vec) tb="$tb coff-i386.lo $coff" ;; + i386_coff_go32_vec) tb="$tb coff-go32.lo $coff" ;; + i386_coff_go32stubbed_vec) tb="$tb coff-stgo32.lo $coff" ;; + i386_coff_lynx_vec) tb="$tb cf-i386lynx.lo lynx-core.lo $coff" ;; i386_elf32_vec) tb="$tb elf32-i386.lo elf-ifunc.lo elf-nacl.lo elf-vxworks.lo elf32.lo $elf" ;; i386_elf32_fbsd_vec) tb="$tb elf32-i386.lo elf-ifunc.lo elf-nacl.lo elf-vxworks.lo elf32.lo $elf" ;; i386_elf32_nacl_vec) tb="$tb elf32-i386.lo elf-ifunc.lo elf-nacl.lo elf-vxworks.lo elf32.lo $elf" ;; @@ -15381,9 +15385,9 @@ do i386_mach_o_vec) tb="$tb mach-o-i386.lo" ;; i386_msdos_vec) tb="$tb i386msdos.lo" ;; i386_nlm32_vec) tb="$tb nlm32-i386.lo nlm32.lo nlm.lo" ;; - i386_pe_vec) tb="$tb pe-i386.lo peigen.lo cofflink.lo" ;; - i386_pei_vec) tb="$tb pei-i386.lo peigen.lo cofflink.lo" ;; - i860_coff_vec) tb="$tb coff-i860.lo cofflink.lo" ;; + i386_pe_vec) tb="$tb pe-i386.lo peigen.lo $coff" ;; + i386_pei_vec) tb="$tb pei-i386.lo peigen.lo $coff" ;; + i860_coff_vec) tb="$tb coff-i860.lo $coff" ;; i860_elf32_vec) tb="$tb elf32-i860.lo elf32.lo $elf" ;; i860_elf32_le_vec) tb="$tb elf32-i860.lo elf32.lo $elf" ;; i960_elf32_vec) tb="$tb elf32-i960.lo elf32.lo $elf" ;; @@ -15393,9 +15397,9 @@ do ia64_elf64_le_vec) tb="$tb elf64-ia64.lo elfxx-ia64.lo elf64.lo $elf"; target_size=64 ;; ia64_elf64_hpux_be_vec) tb="$tb elf64-ia64.lo elfxx-ia64.lo elf64.lo $elf"; target_size=64 ;; ia64_elf64_vms_vec) tb="$tb elf64-ia64-vms.lo elf64-ia64.lo elfxx-ia64.lo elf64.lo vms-lib.lo vms-misc.lo $elf"; target_size=64 ;; - ia64_pei_vec) tb="$tb pei-ia64.lo pepigen.lo cofflink.lo"; target_size=64 ;; - icoff_be_vec) tb="$tb coff-i960.lo cofflink.lo" ;; - icoff_le_vec) tb="$tb coff-i960.lo cofflink.lo" ;; + ia64_pei_vec) tb="$tb pei-ia64.lo pepigen.lo $coff"; target_size=64 ;; + icoff_be_vec) tb="$tb coff-i960.lo $coff" ;; + icoff_le_vec) tb="$tb coff-i960.lo $coff" ;; ieee_vec) tb="$tb ieee.lo" ;; ip2k_elf32_vec) tb="$tb elf32-ip2k.lo elf32.lo $elf" ;; iq2000_elf32_vec) tb="$tb elf32-iq2000.lo elf32.lo $elf" ;; @@ -15418,56 +15422,56 @@ do m68k_aout_linux_vec) tb="$tb m68klinux.lo aout32.lo" ;; m68k_aout_nbsd_vec) tb="$tb m68knetbsd.lo aout32.lo" ;; m68k_aout_newsos3_vec) tb="$tb newsos3.lo aout32.lo" ;; - m68k_coff_vec) tb="$tb coff-m68k.lo cofflink.lo" ;; - m68k_coff_apollo_vec) tb="$tb coff-apollo.lo" ;; - m68k_coff_aux_vec) tb="$tb coff-aux.lo coff-m68k.lo cofflink.lo" ;; - m68k_coff_sysv_vec) tb="$tb coff-svm68k.lo cofflink.lo" ;; - m68k_coff_un_vec) tb="$tb coff-u68k.lo coff-m68k.lo cofflink.lo" ;; + m68k_coff_vec) tb="$tb coff-m68k.lo $coff" ;; + m68k_coff_apollo_vec) tb="$tb coff-apollo.lo $coffgen" ;; + m68k_coff_aux_vec) tb="$tb coff-aux.lo coff-m68k.lo $coff" ;; + m68k_coff_sysv_vec) tb="$tb coff-svm68k.lo $coff" ;; + m68k_coff_un_vec) tb="$tb coff-u68k.lo coff-m68k.lo $coff" ;; m68k_elf32_vec) tb="$tb elf32-m68k.lo elf32.lo $elf" ;; m68k_versados_vec) tb="$tb versados.lo" ;; m88k_aout_mach3_vec) tb="$tb m88kmach3.lo aout32.lo" ;; m88k_aout_obsd_vec) tb="$tb m88kopenbsd.lo aout32.lo" ;; - m88k_coff_bcs_vec) tb="$tb coff-m88k.lo" ;; + m88k_coff_bcs_vec) tb="$tb coff-m88k.lo $coffgen" ;; m88k_elf32_vec) tb="$tb elf32-m88k.lo elf32.lo $elf" ;; - mach_o_be_vec) tb="$tb mach-o.lo" ;; - mach_o_le_vec) tb="$tb mach-o.lo" ;; - mach_o_fat_vec) tb="$tb mach-o.lo" ;; + mach_o_be_vec) tb="$tb mach-o.lo dwarf2.lo" ;; + mach_o_le_vec) tb="$tb mach-o.lo dwarf2.lo" ;; + mach_o_fat_vec) tb="$tb mach-o.lo dwarf2.lo" ;; mcore_elf32_be_vec) tb="$tb elf32-mcore.lo elf32.lo $elf" ;; mcore_elf32_le_vec) tb="$tb elf32-mcore.lo elf32.lo $elf" ;; - mcore_pe_be_vec) tb="$tb pe-mcore.lo peigen.lo cofflink.lo" ;; - mcore_pe_le_vec) tb="$tb pe-mcore.lo peigen.lo cofflink.lo" ;; - mcore_pei_be_vec) tb="$tb pei-mcore.lo peigen.lo cofflink.lo" ;; - mcore_pei_le_vec) tb="$tb pei-mcore.lo peigen.lo cofflink.lo" ;; + mcore_pe_be_vec) tb="$tb pe-mcore.lo peigen.lo $coff" ;; + mcore_pe_le_vec) tb="$tb pe-mcore.lo peigen.lo $coff" ;; + mcore_pei_be_vec) tb="$tb pei-mcore.lo peigen.lo $coff" ;; + mcore_pei_le_vec) tb="$tb pei-mcore.lo peigen.lo $coff" ;; mep_elf32_vec) tb="$tb elf32-mep.lo elf32.lo $elf" ;; mep_elf32_le_vec) tb="$tb elf32-mep.lo elf32.lo $elf" ;; metag_elf32_vec) tb="$tb elf32-metag.lo elf32.lo $elf" ;; microblaze_elf32_vec) tb="$tb elf32-microblaze.lo elf32.lo $elf" ;; microblaze_elf32_le_vec) tb="$tb elf32-microblaze.lo elf32.lo $elf" ;; - mips_ecoff_be_vec) tb="$tb coff-mips.lo ecoff.lo ecofflink.lo" ;; - mips_ecoff_le_vec) tb="$tb coff-mips.lo ecoff.lo ecofflink.lo" ;; - mips_ecoff_bele_vec) tb="$tb coff-mips.lo ecoff.lo ecofflink.lo" ;; - mips_elf32_be_vec) tb="$tb elf32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf ecofflink.lo" ;; - mips_elf32_le_vec) tb="$tb elf32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf ecofflink.lo" ;; - mips_elf32_n_be_vec) tb="$tb elfn32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf ecofflink.lo"; target_size=64 ;; - mips_elf32_n_le_vec) tb="$tb elfn32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf ecofflink.lo"; target_size=64 ;; - mips_elf32_ntrad_be_vec) tb="$tb elfn32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf ecofflink.lo"; target_size=64 ;; - mips_elf32_ntrad_le_vec) tb="$tb elfn32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf ecofflink.lo"; target_size=64 ;; - mips_elf32_ntradfbsd_be_vec) tb="$tb elfn32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf ecofflink.lo"; target_size=64 ;; - mips_elf32_ntradfbsd_le_vec) tb="$tb elfn32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf ecofflink.lo"; target_size=64 ;; - mips_elf32_trad_be_vec) tb="$tb elf32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf ecofflink.lo" ;; - mips_elf32_trad_le_vec) tb="$tb elf32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf ecofflink.lo" ;; - mips_elf32_tradfbsd_be_vec) tb="$tb elf32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf ecofflink.lo" ;; - mips_elf32_tradfbsd_le_vec) tb="$tb elf32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf ecofflink.lo" ;; - mips_elf32_vxworks_be_vec) tb="$tb elf32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf ecofflink.lo" ;; - mips_elf32_vxworks_le_vec) tb="$tb elf32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf ecofflink.lo" ;; - mips_elf64_be_vec) tb="$tb elf64-mips.lo elf64.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf ecofflink.lo"; target_size=64 ;; - mips_elf64_le_vec) tb="$tb elf64-mips.lo elf64.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf ecofflink.lo"; target_size=64 ;; - mips_elf64_trad_be_vec) tb="$tb elf64-mips.lo elf64.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf ecofflink.lo"; target_size=64 ;; - mips_elf64_trad_le_vec) tb="$tb elf64-mips.lo elf64.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf ecofflink.lo"; target_size=64 ;; - mips_elf64_tradfbsd_be_vec) tb="$tb elf64-mips.lo elf64.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf ecofflink.lo"; target_size=64 ;; - mips_elf64_tradfbsd_le_vec) tb="$tb elf64-mips.lo elf64.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf ecofflink.lo"; target_size=64 ;; - mips_pe_le_vec) tb="$tb pe-mips.lo peigen.lo cofflink.lo" ;; - mips_pei_le_vec) tb="$tb pei-mips.lo peigen.lo cofflink.lo" ;; + mips_ecoff_be_vec) tb="$tb coff-mips.lo ecoff.lo $ecoff" ;; + mips_ecoff_le_vec) tb="$tb coff-mips.lo ecoff.lo $ecoff" ;; + mips_ecoff_bele_vec) tb="$tb coff-mips.lo ecoff.lo $ecoff" ;; + mips_elf32_be_vec) tb="$tb elf32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf $ecoff" ;; + mips_elf32_le_vec) tb="$tb elf32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf $ecoff" ;; + mips_elf32_n_be_vec) tb="$tb elfn32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf $ecoff"; target_size=64 ;; + mips_elf32_n_le_vec) tb="$tb elfn32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf $ecoff"; target_size=64 ;; + mips_elf32_ntrad_be_vec) tb="$tb elfn32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf $ecoff"; target_size=64 ;; + mips_elf32_ntrad_le_vec) tb="$tb elfn32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf $ecoff"; target_size=64 ;; + mips_elf32_ntradfbsd_be_vec) tb="$tb elfn32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf $ecoff"; target_size=64 ;; + mips_elf32_ntradfbsd_le_vec) tb="$tb elfn32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf $ecoff"; target_size=64 ;; + mips_elf32_trad_be_vec) tb="$tb elf32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf $ecoff" ;; + mips_elf32_trad_le_vec) tb="$tb elf32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf $ecoff" ;; + mips_elf32_tradfbsd_be_vec) tb="$tb elf32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf $ecoff" ;; + mips_elf32_tradfbsd_le_vec) tb="$tb elf32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf $ecoff" ;; + mips_elf32_vxworks_be_vec) tb="$tb elf32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf $ecoff" ;; + mips_elf32_vxworks_le_vec) tb="$tb elf32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf $ecoff" ;; + mips_elf64_be_vec) tb="$tb elf64-mips.lo elf64.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf $ecoff"; target_size=64 ;; + mips_elf64_le_vec) tb="$tb elf64-mips.lo elf64.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf $ecoff"; target_size=64 ;; + mips_elf64_trad_be_vec) tb="$tb elf64-mips.lo elf64.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf $ecoff"; target_size=64 ;; + mips_elf64_trad_le_vec) tb="$tb elf64-mips.lo elf64.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf $ecoff"; target_size=64 ;; + mips_elf64_tradfbsd_be_vec) tb="$tb elf64-mips.lo elf64.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf $ecoff"; target_size=64 ;; + mips_elf64_tradfbsd_le_vec) tb="$tb elf64-mips.lo elf64.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf $ecoff"; target_size=64 ;; + mips_pe_le_vec) tb="$tb pe-mips.lo peigen.lo $coff" ;; + mips_pei_le_vec) tb="$tb pei-mips.lo peigen.lo $coff" ;; mmix_elf64_vec) tb="$tb elf64-mmix.lo elf64.lo $elf" target_size=64 ;; mmix_mmo_vec) tb="$tb mmo.lo" target_size=64 ;; mn10200_elf32_vec) tb="$tb elf-m10200.lo elf32.lo $elf" ;; @@ -15501,15 +15505,15 @@ do powerpc_elf64_le_vec) tb="$tb elf64-ppc.lo elf64-gen.lo elf64.lo $elf" target_size=64 ;; powerpc_elf64_fbsd_vec) tb="$tb elf64-ppc.lo elf64-gen.lo elf64.lo $elf" target_size=64 ;; powerpc_nlm32_vec) tb="$tb nlm32-ppc.lo nlm32.lo nlm.lo" ;; - powerpc_pe_vec) tb="$tb pe-ppc.lo peigen.lo cofflink.lo" ;; - powerpc_pe_le_vec) tb="$tb pe-ppc.lo peigen.lo cofflink.lo" ;; - powerpc_pei_vec) tb="$tb pei-ppc.lo peigen.lo cofflink.lo" ;; - powerpc_pei_le_vec) tb="$tb pei-ppc.lo peigen.lo cofflink.lo" ;; - powerpc_xcoff_vec) tb="$tb coff-rs6000.lo xcofflink.lo" ;; + powerpc_pe_vec) tb="$tb pe-ppc.lo peigen.lo $coff" ;; + powerpc_pe_le_vec) tb="$tb pe-ppc.lo peigen.lo $coff" ;; + powerpc_pei_vec) tb="$tb pei-ppc.lo peigen.lo $coff" ;; + powerpc_pei_le_vec) tb="$tb pei-ppc.lo peigen.lo $coff" ;; + powerpc_xcoff_vec) tb="$tb coff-rs6000.lo $xcoff" ;; rl78_elf32_vec) tb="$tb elf32-rl78.lo elf32.lo $elf" ;; - rs6000_xcoff64_vec) tb="$tb coff64-rs6000.lo xcofflink.lo aix5ppc-core.lo"; target_size=64 ;; - rs6000_xcoff64_aix_vec) tb="$tb coff64-rs6000.lo xcofflink.lo aix5ppc-core.lo"; target_size=64 ;; - rs6000_xcoff_vec) tb="$tb coff-rs6000.lo xcofflink.lo" ;; + rs6000_xcoff64_vec) tb="$tb coff64-rs6000.lo aix5ppc-core.lo $xcoff"; target_size=64 ;; + rs6000_xcoff64_aix_vec) tb="$tb coff64-rs6000.lo aix5ppc-core.lo $xcoff"; target_size=64 ;; + rs6000_xcoff_vec) tb="$tb coff-rs6000.lo $xcoff" ;; rx_elf32_be_vec) tb="$tb elf32-rx.lo elf32.lo $elf" ;; rx_elf32_be_ns_vec) tb="$tb elf32-rx.lo elf32.lo $elf" ;; rx_elf32_le_vec) tb="$tb elf32-rx.lo elf32.lo $elf" ;; @@ -15517,45 +15521,42 @@ do s390_elf64_vec) tb="$tb elf64-s390.lo elf64.lo $elf"; target_size=64 ;; score_elf32_be_vec) tb="$tb elf32-score.lo elf32-score7.lo elf32.lo $elf"; want64=true; target_size=64 ;; score_elf32_le_vec) tb="$tb elf32-score.lo elf32-score7.lo elf32.lo $elf"; want64=true; target_size=64 ;; - # FIXME: We include cofflink.lo not because it's needed for - # sh64_elf32[_le]_vec, but because we include sh_elf32[_le]_vec - # which needs it but does not list it. Should be fixed in right place. - sh64_elf32_vec) tb="$tb elf32-sh64.lo elf32-sh64-com.lo elf-vxworks.lo elf32.lo $elf cofflink.lo" target_size=64 ;; - sh64_elf32_le_vec) tb="$tb elf32-sh64.lo elf32-sh64-com.lo elf-vxworks.lo elf32.lo $elf cofflink.lo" target_size=64 ;; - sh64_elf32_linux_vec) tb="$tb elf32-sh64.lo elf32-sh64-com.lo elf-vxworks.lo elf32.lo $elf cofflink.lo" target_size=64 ;; - sh64_elf32_linux_be_vec) tb="$tb elf32-sh64.lo elf32-sh64-com.lo elf-vxworks.lo elf32.lo $elf cofflink.lo" target_size=64 ;; - sh64_elf32_nbsd_vec) tb="$tb elf32-sh64.lo elf32-sh64-com.lo elf-vxworks.lo elf32.lo $elf cofflink.lo" ;; - sh64_elf32_nbsd_le_vec) tb="$tb elf32-sh64.lo elf32-sh64-com.lo elf-vxworks.lo elf32.lo $elf cofflink.lo" ;; + sh64_elf32_vec) tb="$tb elf32-sh64.lo elf32-sh64-com.lo elf-vxworks.lo elf32.lo $elf" target_size=64 ;; + sh64_elf32_le_vec) tb="$tb elf32-sh64.lo elf32-sh64-com.lo elf-vxworks.lo elf32.lo $elf" target_size=64 ;; + sh64_elf32_linux_vec) tb="$tb elf32-sh64.lo elf32-sh64-com.lo elf-vxworks.lo elf32.lo $elf" target_size=64 ;; + sh64_elf32_linux_be_vec) tb="$tb elf32-sh64.lo elf32-sh64-com.lo elf-vxworks.lo elf32.lo $elf" target_size=64 ;; + sh64_elf32_nbsd_vec) tb="$tb elf32-sh64.lo elf32-sh64-com.lo elf-vxworks.lo elf32.lo $elf" ;; + sh64_elf32_nbsd_le_vec) tb="$tb elf32-sh64.lo elf32-sh64-com.lo elf-vxworks.lo elf32.lo $elf" ;; sh64_elf64_vec) tb="$tb elf64-sh64.lo elf64.lo $elf" target_size=64 ;; sh64_elf64_le_vec) tb="$tb elf64-sh64.lo elf64.lo $elf" target_size=64 ;; sh64_elf64_linux_vec) tb="$tb elf64-sh64.lo elf64.lo $elf" target_size=64 ;; sh64_elf64_linux_be_vec) tb="$tb elf64-sh64.lo elf64.lo $elf" target_size=64 ;; sh64_elf64_nbsd_vec) tb="$tb elf64-sh64.lo elf64.lo $elf" target_size=64 ;; sh64_elf64_nbsd_le_vec) tb="$tb elf64-sh64.lo elf64.lo $elf" target_size=64 ;; - sh_coff_vec) tb="$tb coff-sh.lo cofflink.lo" ;; - sh_coff_le_vec) tb="$tb coff-sh.lo cofflink.lo" ;; - sh_coff_small_vec) tb="$tb coff-sh.lo cofflink.lo" ;; - sh_coff_small_le_vec) tb="$tb coff-sh.lo cofflink.lo" ;; - sh_elf32_vec) tb="$tb elf32-sh.lo elf-vxworks.lo elf32.lo $elf coff-sh.lo" ;; - sh_elf32_le_vec) tb="$tb elf32-sh.lo elf-vxworks.lo elf32.lo $elf coff-sh.lo" ;; - sh_elf32_fdpic_be_vec) tb="$tb elf32-sh.lo elf-vxworks.lo elf32.lo $elf coff-sh.lo cofflink.lo" ;; - sh_elf32_fdpic_le_vec) tb="$tb elf32-sh.lo elf-vxworks.lo elf32.lo $elf coff-sh.lo cofflink.lo" ;; - sh_elf32_linux_vec) tb="$tb elf32-sh.lo elf-vxworks.lo elf32.lo $elf coff-sh.lo cofflink.lo" ;; - sh_elf32_linux_be_vec) tb="$tb elf32-sh.lo elf-vxworks.lo elf32.lo $elf coff-sh.lo cofflink.lo" ;; - sh_elf32_nbsd_vec) tb="$tb elf32-sh.lo elf-vxworks.lo elf32.lo $elf coff-sh.lo cofflink.lo" ;; - sh_elf32_nbsd_le_vec) tb="$tb elf32-sh.lo elf-vxworks.lo elf32.lo $elf coff-sh.lo cofflink.lo" ;; - sh_elf32_symbian_le_vec) tb="$tb elf32-sh-symbian.lo elf32-sh64-com.lo elf-vxworks.lo elf32.lo $elf coff-sh.lo" ;; - sh_elf32_vxworks_vec) tb="$tb elf32-sh.lo elf-vxworks.lo elf32.lo $elf coff-sh.lo" ;; - sh_elf32_vxworks_le_vec) tb="$tb elf32-sh.lo elf-vxworks.lo elf32.lo $elf coff-sh.lo" ;; - sh_pe_le_vec) tb="$tb pe-sh.lo coff-sh.lo peigen.lo cofflink.lo" ;; - sh_pei_le_vec) tb="$tb pei-sh.lo coff-sh.lo peigen.lo cofflink.lo" ;; + sh_coff_vec) tb="$tb coff-sh.lo $coff" ;; + sh_coff_le_vec) tb="$tb coff-sh.lo $coff" ;; + sh_coff_small_vec) tb="$tb coff-sh.lo $coff" ;; + sh_coff_small_le_vec) tb="$tb coff-sh.lo $coff" ;; + sh_elf32_vec) tb="$tb elf32-sh.lo elf-vxworks.lo elf32.lo $elf coff-sh.lo $coff" ;; + sh_elf32_le_vec) tb="$tb elf32-sh.lo elf-vxworks.lo elf32.lo $elf coff-sh.lo $coff" ;; + sh_elf32_fdpic_be_vec) tb="$tb elf32-sh.lo elf-vxworks.lo elf32.lo $elf coff-sh.lo $coff" ;; + sh_elf32_fdpic_le_vec) tb="$tb elf32-sh.lo elf-vxworks.lo elf32.lo $elf coff-sh.lo $coff" ;; + sh_elf32_linux_vec) tb="$tb elf32-sh.lo elf-vxworks.lo elf32.lo $elf coff-sh.lo $coff" ;; + sh_elf32_linux_be_vec) tb="$tb elf32-sh.lo elf-vxworks.lo elf32.lo $elf coff-sh.lo $coff" ;; + sh_elf32_nbsd_vec) tb="$tb elf32-sh.lo elf-vxworks.lo elf32.lo $elf coff-sh.lo $coff" ;; + sh_elf32_nbsd_le_vec) tb="$tb elf32-sh.lo elf-vxworks.lo elf32.lo $elf coff-sh.lo $coff" ;; + sh_elf32_symbian_le_vec) tb="$tb elf32-sh-symbian.lo elf32-sh64-com.lo elf-vxworks.lo elf32.lo $elf coff-sh.lo $coff" ;; + sh_elf32_vxworks_vec) tb="$tb elf32-sh.lo elf-vxworks.lo elf32.lo $elf coff-sh.lo $coff" ;; + sh_elf32_vxworks_le_vec) tb="$tb elf32-sh.lo elf-vxworks.lo elf32.lo $elf coff-sh.lo $coff" ;; + sh_pe_le_vec) tb="$tb pe-sh.lo coff-sh.lo peigen.lo $coff" ;; + sh_pei_le_vec) tb="$tb pei-sh.lo coff-sh.lo peigen.lo $coff" ;; sparc_aout_le_vec) tb="$tb aout-sparcle.lo aout32.lo" ;; sparc_aout_linux_vec) tb="$tb sparclinux.lo aout32.lo" ;; sparc_aout_lynx_vec) tb="$tb sparclynx.lo lynx-core.lo aout32.lo" ;; sparc_aout_nbsd_vec) tb="$tb sparcnetbsd.lo aout32.lo" ;; sparc_aout_sunos_be_vec) tb="$tb sunos.lo aout32.lo" ;; - sparc_coff_vec) tb="$tb coff-sparc.lo" ;; - sparc_coff_lynx_vec) tb="$tb cf-sparclynx.lo lynx-core.lo" ;; + sparc_coff_vec) tb="$tb coff-sparc.lo $coffgen" ;; + sparc_coff_lynx_vec) tb="$tb cf-sparclynx.lo lynx-core.lo $coffgen" ;; sparc_elf32_vec) tb="$tb elf32-sparc.lo elfxx-sparc.lo elf-vxworks.lo elf32.lo $elf" ;; sparc_elf32_sol2_vec) tb="$tb elf32-sparc.lo elfxx-sparc.lo elf-vxworks.lo elf32.lo $elf" ;; sparc_elf32_vxworks_vec) tb="$tb elf32-sparc.lo elfxx-sparc.lo elf-vxworks.lo elf32.lo $elf" ;; @@ -15566,26 +15567,26 @@ do spu_elf32_vec) tb="$tb elf32-spu.lo elf32.lo $elf" ;; sym_vec) tb="$tb xsym.lo" ;; tic30_aout_vec) tb="$tb aout-tic30.lo" ;; - tic30_coff_vec) tb="$tb coff-tic30.lo" ;; - tic4x_coff0_vec) tb="$tb coff-tic4x.lo" ;; - tic4x_coff0_beh_vec) tb="$tb coff-tic4x.lo" ;; - tic4x_coff1_vec) tb="$tb coff-tic4x.lo" ;; - tic4x_coff1_beh_vec) tb="$tb coff-tic4x.lo" ;; - tic4x_coff2_vec) tb="$tb coff-tic4x.lo" ;; - tic4x_coff2_beh_vec) tb="$tb coff-tic4x.lo" ;; - tic54x_coff0_vec) tb="$tb coff-tic54x.lo" ;; - tic54x_coff0_beh_vec) tb="$tb coff-tic54x.lo" ;; - tic54x_coff1_vec) tb="$tb coff-tic54x.lo" ;; - tic54x_coff1_beh_vec) tb="$tb coff-tic54x.lo" ;; - tic54x_coff2_vec) tb="$tb coff-tic54x.lo" ;; - tic54x_coff2_beh_vec) tb="$tb coff-tic54x.lo" ;; + tic30_coff_vec) tb="$tb coff-tic30.lo $coffgen" ;; + tic4x_coff0_vec) tb="$tb coff-tic4x.lo $coffgen" ;; + tic4x_coff0_beh_vec) tb="$tb coff-tic4x.lo $coffgen" ;; + tic4x_coff1_vec) tb="$tb coff-tic4x.lo $coffgen" ;; + tic4x_coff1_beh_vec) tb="$tb coff-tic4x.lo $coffgen" ;; + tic4x_coff2_vec) tb="$tb coff-tic4x.lo $coffgen" ;; + tic4x_coff2_beh_vec) tb="$tb coff-tic4x.lo $coffgen" ;; + tic54x_coff0_vec) tb="$tb coff-tic54x.lo $coffgen" ;; + tic54x_coff0_beh_vec) tb="$tb coff-tic54x.lo $coffgen" ;; + tic54x_coff1_vec) tb="$tb coff-tic54x.lo $coffgen" ;; + tic54x_coff1_beh_vec) tb="$tb coff-tic54x.lo $coffgen" ;; + tic54x_coff2_vec) tb="$tb coff-tic54x.lo $coffgen" ;; + tic54x_coff2_beh_vec) tb="$tb coff-tic54x.lo $coffgen" ;; tic6x_elf32_be_vec) tb="$tb elf32-tic6x.lo elf32.lo $elf" ;; tic6x_elf32_le_vec) tb="$tb elf32-tic6x.lo elf32.lo $elf" ;; tic6x_elf32_c6000_be_vec) tb="$tb elf32-tic6x.lo elf32.lo $elf" ;; tic6x_elf32_c6000_le_vec) tb="$tb elf32-tic6x.lo elf32.lo $elf" ;; tic6x_elf32_linux_be_vec) tb="$tb elf32-tic6x.lo elf32.lo $elf" ;; tic6x_elf32_linux_le_vec) tb="$tb elf32-tic6x.lo elf32.lo $elf" ;; - tic80_coff_vec) tb="$tb coff-tic80.lo cofflink.lo" ;; + tic80_coff_vec) tb="$tb coff-tic80.lo $coff" ;; tilegx_elf32_be_vec) tb="$tb elf32-tilegx.lo elfxx-tilegx.lo elf32.lo $elf" ; target_size=32 ;; tilegx_elf32_le_vec) tb="$tb elf32-tilegx.lo elfxx-tilegx.lo elf32.lo $elf" ; target_size=32 ;; tilegx_elf64_be_vec) tb="$tb elf64-tilegx.lo elfxx-tilegx.lo elf64.lo $elf" ; target_size=64 ;; @@ -15598,9 +15599,9 @@ do vax_aout_nbsd_vec) tb="$tb vaxnetbsd.lo aout32.lo" ;; vax_elf32_vec) tb="$tb elf32-vax.lo elf32.lo $elf" ;; visium_elf32_vec) tb="$tb elf32-visium.lo elf32.lo $elf" ;; - w65_coff_vec) tb="$tb coff-w65.lo reloc16.lo" ;; - we32k_coff_vec) tb="$tb coff-we32k.lo" ;; - x86_64_coff_vec) tb="$tb coff-x86_64.lo cofflink.lo"; target_size=64 ;; + w65_coff_vec) tb="$tb coff-w65.lo reloc16.lo $coffgen" ;; + we32k_coff_vec) tb="$tb coff-we32k.lo $coffgen" ;; + x86_64_coff_vec) tb="$tb coff-x86_64.lo $coff"; target_size=64 ;; x86_64_elf32_vec) tb="$tb elf64-x86-64.lo elf-ifunc.lo elf-nacl.lo elf64.lo elf32.lo $elf"; target_size=64 ;; x86_64_elf32_nacl_vec) tb="$tb elf64-x86-64.lo elf-ifunc.lo elf-nacl.lo elf64.lo elf32.lo $elf"; target_size=64 ;; x86_64_elf64_vec) tb="$tb elf64-x86-64.lo elf-ifunc.lo elf-nacl.lo elf64.lo $elf"; target_size=64 ;; @@ -15608,16 +15609,16 @@ do x86_64_elf64_nacl_vec) tb="$tb elf64-x86-64.lo elf-ifunc.lo elf-nacl.lo elf64.lo $elf"; target_size=64 ;; x86_64_elf64_sol2_vec) tb="$tb elf64-x86-64.lo elf-ifunc.lo elf-nacl.lo elf64.lo $elf"; target_size=64 ;; x86_64_mach_o_vec) tb="$tb mach-o-x86-64.lo" ;; - x86_64_pe_vec) tb="$tb pe-x86_64.lo pex64igen.lo cofflink.lo"; target_size=64 ;; - x86_64_pe_be_vec) tb="$tb pe-x86_64.lo pex64igen.lo cofflink.lo"; target_size=64 ;; - x86_64_pei_vec) tb="$tb pei-x86_64.lo pex64igen.lo cofflink.lo"; target_size=64 ;; + x86_64_pe_vec) tb="$tb pe-x86_64.lo pex64igen.lo $coff"; target_size=64 ;; + x86_64_pe_be_vec) tb="$tb pe-x86_64.lo pex64igen.lo $coff"; target_size=64 ;; + x86_64_pei_vec) tb="$tb pei-x86_64.lo pex64igen.lo $coff"; target_size=64 ;; xc16x_elf32_vec) tb="$tb elf32-xc16x.lo elf32.lo $elf" ;; xgate_elf32_vec) tb="$tb elf32-xgate.lo elf32.lo $elf" ;; xstormy16_elf32_vec) tb="$tb elf32-xstormy16.lo elf32.lo $elf" ;; xtensa_elf32_be_vec) tb="$tb xtensa-isa.lo xtensa-modules.lo elf32-xtensa.lo elf32.lo $elf" ;; xtensa_elf32_le_vec) tb="$tb xtensa-isa.lo xtensa-modules.lo elf32-xtensa.lo elf32.lo $elf" ;; - z80_coff_vec) tb="$tb coff-z80.lo reloc16.lo" ;; - z8k_coff_vec) tb="$tb coff-z8k.lo reloc16.lo cofflink.lo" ;; + z80_coff_vec) tb="$tb coff-z80.lo reloc16.lo $coffgen" ;; + z8k_coff_vec) tb="$tb coff-z8k.lo reloc16.lo $coff" ;; # These appear out of order in targets.c srec_vec) tb="$tb srec.lo" ;; diff --git a/bfd/configure.ac b/bfd/configure.ac index f9607401d2..1b709dcd28 100644 --- a/bfd/configure.ac +++ b/bfd/configure.ac @@ -677,7 +677,11 @@ selarchs="$f" tb= elf="elf.lo elflink.lo elf-attrs.lo elf-strtab.lo - elf-eh-frame.lo dwarf1.lo" + elf-eh-frame.lo dwarf1.lo dwarf2.lo" +coffgen="coffgen.lo dwarf2.lo" +coff="cofflink.lo $coffgen" +ecoff="ecofflink.lo $coffgen" +xcoff="xcofflink.lo $coffgen" for vec in $selvecs do @@ -690,7 +694,7 @@ do aarch64_elf32_le_vec) tb="$tb elf32-aarch64.lo elfxx-aarch64.lo elf-ifunc.lo elf32.lo $elf"; target_size=64 ;; aarch64_elf64_be_vec) tb="$tb elf64-aarch64.lo elfxx-aarch64.lo elf-ifunc.lo elf64.lo $elf"; target_size=64 ;; aarch64_elf64_le_vec) tb="$tb elf64-aarch64.lo elfxx-aarch64.lo elf-ifunc.lo elf64.lo $elf"; target_size=64 ;; - alpha_ecoff_le_vec) tb="$tb coff-alpha.lo ecoff.lo ecofflink.lo"; target_size=64 ;; + alpha_ecoff_le_vec) tb="$tb coff-alpha.lo ecoff.lo $ecoff"; target_size=64 ;; alpha_elf64_vec) tb="$tb elf64-alpha.lo elf64.lo $elf"; target_size=64 ;; alpha_elf64_fbsd_vec) tb="$tb elf64-alpha.lo elf64.lo $elf"; target_size=64 ;; alpha_nlm32_vec) tb="$tb nlm32-alpha.lo nlm32.lo nlm.lo"; target_size=64 ;; @@ -707,8 +711,8 @@ do arm_aout_le_vec) tb="$tb aout-arm.lo aout32.lo" ;; arm_aout_nbsd_vec) tb="$tb armnetbsd.lo aout32.lo" ;; arm_aout_riscix_vec) tb="$tb aout32.lo riscix.lo" ;; - arm_coff_be_vec) tb="$tb coff-arm.lo cofflink.lo " ;; - arm_coff_le_vec) tb="$tb coff-arm.lo cofflink.lo " ;; + arm_coff_be_vec) tb="$tb coff-arm.lo $coff" ;; + arm_coff_le_vec) tb="$tb coff-arm.lo $coff" ;; arm_elf32_be_vec) tb="$tb elf32-arm.lo elf32.lo elf-nacl.lo elf-vxworks.lo $elf" ;; arm_elf32_le_vec) tb="$tb elf32-arm.lo elf32.lo elf-nacl.lo elf-vxworks.lo $elf" ;; arm_elf32_nacl_be_vec) tb="$tb elf32-arm.lo elf32.lo elf-nacl.lo elf-vxworks.lo $elf" ;; @@ -717,18 +721,18 @@ do arm_elf32_symbian_le_vec) tb="$tb elf32-arm.lo elf32.lo elf-nacl.lo elf-vxworks.lo $elf" ;; arm_elf32_vxworks_be_vec) tb="$tb elf32-arm.lo elf32.lo elf-nacl.lo elf-vxworks.lo $elf" ;; arm_elf32_vxworks_le_vec) tb="$tb elf32-arm.lo elf32.lo elf-nacl.lo elf-vxworks.lo $elf" ;; - arm_pe_be_vec) tb="$tb pe-arm.lo peigen.lo cofflink.lo " ;; - arm_pe_le_vec) tb="$tb pe-arm.lo peigen.lo cofflink.lo " ;; - arm_pe_epoc_be_vec) tb="$tb epoc-pe-arm.lo peigen.lo cofflink.lo " ;; - arm_pe_epoc_le_vec) tb="$tb epoc-pe-arm.lo peigen.lo cofflink.lo " ;; - arm_pe_wince_be_vec) tb="$tb pe-arm-wince.lo pe-arm.lo peigen.lo cofflink.lo " ;; - arm_pe_wince_le_vec) tb="$tb pe-arm-wince.lo pe-arm.lo peigen.lo cofflink.lo " ;; - arm_pei_be_vec) tb="$tb pei-arm.lo peigen.lo cofflink.lo " ;; - arm_pei_le_vec) tb="$tb pei-arm.lo peigen.lo cofflink.lo " ;; - arm_pei_epoc_be_vec) tb="$tb epoc-pei-arm.lo peigen.lo cofflink.lo " ;; - arm_pei_epoc_le_vec) tb="$tb epoc-pei-arm.lo peigen.lo cofflink.lo " ;; - arm_pei_wince_be_vec) tb="$tb pei-arm-wince.lo pei-arm.lo peigen.lo cofflink.lo " ;; - arm_pei_wince_le_vec) tb="$tb pei-arm-wince.lo pei-arm.lo peigen.lo cofflink.lo " ;; + arm_pe_be_vec) tb="$tb pe-arm.lo peigen.lo $coff" ;; + arm_pe_le_vec) tb="$tb pe-arm.lo peigen.lo $coff" ;; + arm_pe_epoc_be_vec) tb="$tb epoc-pe-arm.lo peigen.lo $coff" ;; + arm_pe_epoc_le_vec) tb="$tb epoc-pe-arm.lo peigen.lo $coff" ;; + arm_pe_wince_be_vec) tb="$tb pe-arm-wince.lo pe-arm.lo peigen.lo $coff" ;; + arm_pe_wince_le_vec) tb="$tb pe-arm-wince.lo pe-arm.lo peigen.lo $coff" ;; + arm_pei_be_vec) tb="$tb pei-arm.lo peigen.lo $coff" ;; + arm_pei_le_vec) tb="$tb pei-arm.lo peigen.lo $coff" ;; + arm_pei_epoc_be_vec) tb="$tb epoc-pei-arm.lo peigen.lo $coff" ;; + arm_pei_epoc_le_vec) tb="$tb epoc-pei-arm.lo peigen.lo $coff" ;; + arm_pei_wince_be_vec) tb="$tb pei-arm-wince.lo pei-arm.lo peigen.lo $coff" ;; + arm_pei_wince_le_vec) tb="$tb pei-arm-wince.lo pei-arm.lo peigen.lo $coff" ;; avr_elf32_vec) tb="$tb elf32-avr.lo elf32.lo $elf" ;; bfin_elf32_vec) tb="$tb elf32-bfin.lo elf32.lo $elf" ;; bfin_elf32_fdpic_vec) tb="$tb elf32-bfin.lo elf32.lo $elf" ;; @@ -751,9 +755,9 @@ do fr30_elf32_vec) tb="$tb elf32-fr30.lo elf32.lo $elf" ;; frv_elf32_vec) tb="$tb elf32-frv.lo elf32.lo $elf" ;; frv_elf32_fdpic_vec) tb="$tb elf32-frv.lo elf32.lo $elf" ;; - h8300_coff_vec) tb="$tb coff-h8300.lo reloc16.lo" ;; + h8300_coff_vec) tb="$tb coff-h8300.lo reloc16.lo $coffgen" ;; h8300_elf32_vec) tb="$tb elf32-h8300.lo elf32.lo $elf" ;; - h8500_coff_vec) tb="$tb coff-h8500.lo reloc16.lo" ;; + h8500_coff_vec) tb="$tb coff-h8500.lo reloc16.lo $coffgen" ;; hppa_elf32_vec) tb="$tb elf32-hppa.lo elf32.lo $elf" ;; hppa_elf32_linux_vec) tb="$tb elf32-hppa.lo elf32.lo $elf" ;; hppa_elf32_nbsd_vec) tb="$tb elf32-hppa.lo elf32.lo $elf" ;; @@ -770,10 +774,10 @@ do i386_aout_mach3_vec) tb="$tb i386mach3.lo aout32.lo" ;; i386_aout_nbsd_vec) tb="$tb i386netbsd.lo aout32.lo" ;; i386_aout_os9k_vec) tb="$tb i386os9k.lo aout32.lo" ;; - i386_coff_vec) tb="$tb coff-i386.lo cofflink.lo" ;; - i386_coff_go32_vec) tb="$tb coff-go32.lo cofflink.lo" ;; - i386_coff_go32stubbed_vec) tb="$tb coff-stgo32.lo cofflink.lo" ;; - i386_coff_lynx_vec) tb="$tb cf-i386lynx.lo cofflink.lo lynx-core.lo" ;; + i386_coff_vec) tb="$tb coff-i386.lo $coff" ;; + i386_coff_go32_vec) tb="$tb coff-go32.lo $coff" ;; + i386_coff_go32stubbed_vec) tb="$tb coff-stgo32.lo $coff" ;; + i386_coff_lynx_vec) tb="$tb cf-i386lynx.lo lynx-core.lo $coff" ;; i386_elf32_vec) tb="$tb elf32-i386.lo elf-ifunc.lo elf-nacl.lo elf-vxworks.lo elf32.lo $elf" ;; i386_elf32_fbsd_vec) tb="$tb elf32-i386.lo elf-ifunc.lo elf-nacl.lo elf-vxworks.lo elf32.lo $elf" ;; i386_elf32_nacl_vec) tb="$tb elf32-i386.lo elf-ifunc.lo elf-nacl.lo elf-vxworks.lo elf32.lo $elf" ;; @@ -782,9 +786,9 @@ do i386_mach_o_vec) tb="$tb mach-o-i386.lo" ;; i386_msdos_vec) tb="$tb i386msdos.lo" ;; i386_nlm32_vec) tb="$tb nlm32-i386.lo nlm32.lo nlm.lo" ;; - i386_pe_vec) tb="$tb pe-i386.lo peigen.lo cofflink.lo" ;; - i386_pei_vec) tb="$tb pei-i386.lo peigen.lo cofflink.lo" ;; - i860_coff_vec) tb="$tb coff-i860.lo cofflink.lo" ;; + i386_pe_vec) tb="$tb pe-i386.lo peigen.lo $coff" ;; + i386_pei_vec) tb="$tb pei-i386.lo peigen.lo $coff" ;; + i860_coff_vec) tb="$tb coff-i860.lo $coff" ;; i860_elf32_vec) tb="$tb elf32-i860.lo elf32.lo $elf" ;; i860_elf32_le_vec) tb="$tb elf32-i860.lo elf32.lo $elf" ;; i960_elf32_vec) tb="$tb elf32-i960.lo elf32.lo $elf" ;; @@ -794,9 +798,9 @@ do ia64_elf64_le_vec) tb="$tb elf64-ia64.lo elfxx-ia64.lo elf64.lo $elf"; target_size=64 ;; ia64_elf64_hpux_be_vec) tb="$tb elf64-ia64.lo elfxx-ia64.lo elf64.lo $elf"; target_size=64 ;; ia64_elf64_vms_vec) tb="$tb elf64-ia64-vms.lo elf64-ia64.lo elfxx-ia64.lo elf64.lo vms-lib.lo vms-misc.lo $elf"; target_size=64 ;; - ia64_pei_vec) tb="$tb pei-ia64.lo pepigen.lo cofflink.lo"; target_size=64 ;; - icoff_be_vec) tb="$tb coff-i960.lo cofflink.lo" ;; - icoff_le_vec) tb="$tb coff-i960.lo cofflink.lo" ;; + ia64_pei_vec) tb="$tb pei-ia64.lo pepigen.lo $coff"; target_size=64 ;; + icoff_be_vec) tb="$tb coff-i960.lo $coff" ;; + icoff_le_vec) tb="$tb coff-i960.lo $coff" ;; ieee_vec) tb="$tb ieee.lo" ;; ip2k_elf32_vec) tb="$tb elf32-ip2k.lo elf32.lo $elf" ;; iq2000_elf32_vec) tb="$tb elf32-iq2000.lo elf32.lo $elf" ;; @@ -819,56 +823,56 @@ do m68k_aout_linux_vec) tb="$tb m68klinux.lo aout32.lo" ;; m68k_aout_nbsd_vec) tb="$tb m68knetbsd.lo aout32.lo" ;; m68k_aout_newsos3_vec) tb="$tb newsos3.lo aout32.lo" ;; - m68k_coff_vec) tb="$tb coff-m68k.lo cofflink.lo" ;; - m68k_coff_apollo_vec) tb="$tb coff-apollo.lo" ;; - m68k_coff_aux_vec) tb="$tb coff-aux.lo coff-m68k.lo cofflink.lo" ;; - m68k_coff_sysv_vec) tb="$tb coff-svm68k.lo cofflink.lo" ;; - m68k_coff_un_vec) tb="$tb coff-u68k.lo coff-m68k.lo cofflink.lo" ;; + m68k_coff_vec) tb="$tb coff-m68k.lo $coff" ;; + m68k_coff_apollo_vec) tb="$tb coff-apollo.lo $coffgen" ;; + m68k_coff_aux_vec) tb="$tb coff-aux.lo coff-m68k.lo $coff" ;; + m68k_coff_sysv_vec) tb="$tb coff-svm68k.lo $coff" ;; + m68k_coff_un_vec) tb="$tb coff-u68k.lo coff-m68k.lo $coff" ;; m68k_elf32_vec) tb="$tb elf32-m68k.lo elf32.lo $elf" ;; m68k_versados_vec) tb="$tb versados.lo" ;; m88k_aout_mach3_vec) tb="$tb m88kmach3.lo aout32.lo" ;; m88k_aout_obsd_vec) tb="$tb m88kopenbsd.lo aout32.lo" ;; - m88k_coff_bcs_vec) tb="$tb coff-m88k.lo" ;; + m88k_coff_bcs_vec) tb="$tb coff-m88k.lo $coffgen" ;; m88k_elf32_vec) tb="$tb elf32-m88k.lo elf32.lo $elf" ;; - mach_o_be_vec) tb="$tb mach-o.lo" ;; - mach_o_le_vec) tb="$tb mach-o.lo" ;; - mach_o_fat_vec) tb="$tb mach-o.lo" ;; + mach_o_be_vec) tb="$tb mach-o.lo dwarf2.lo" ;; + mach_o_le_vec) tb="$tb mach-o.lo dwarf2.lo" ;; + mach_o_fat_vec) tb="$tb mach-o.lo dwarf2.lo" ;; mcore_elf32_be_vec) tb="$tb elf32-mcore.lo elf32.lo $elf" ;; mcore_elf32_le_vec) tb="$tb elf32-mcore.lo elf32.lo $elf" ;; - mcore_pe_be_vec) tb="$tb pe-mcore.lo peigen.lo cofflink.lo" ;; - mcore_pe_le_vec) tb="$tb pe-mcore.lo peigen.lo cofflink.lo" ;; - mcore_pei_be_vec) tb="$tb pei-mcore.lo peigen.lo cofflink.lo" ;; - mcore_pei_le_vec) tb="$tb pei-mcore.lo peigen.lo cofflink.lo" ;; + mcore_pe_be_vec) tb="$tb pe-mcore.lo peigen.lo $coff" ;; + mcore_pe_le_vec) tb="$tb pe-mcore.lo peigen.lo $coff" ;; + mcore_pei_be_vec) tb="$tb pei-mcore.lo peigen.lo $coff" ;; + mcore_pei_le_vec) tb="$tb pei-mcore.lo peigen.lo $coff" ;; mep_elf32_vec) tb="$tb elf32-mep.lo elf32.lo $elf" ;; mep_elf32_le_vec) tb="$tb elf32-mep.lo elf32.lo $elf" ;; metag_elf32_vec) tb="$tb elf32-metag.lo elf32.lo $elf" ;; microblaze_elf32_vec) tb="$tb elf32-microblaze.lo elf32.lo $elf" ;; microblaze_elf32_le_vec) tb="$tb elf32-microblaze.lo elf32.lo $elf" ;; - mips_ecoff_be_vec) tb="$tb coff-mips.lo ecoff.lo ecofflink.lo" ;; - mips_ecoff_le_vec) tb="$tb coff-mips.lo ecoff.lo ecofflink.lo" ;; - mips_ecoff_bele_vec) tb="$tb coff-mips.lo ecoff.lo ecofflink.lo" ;; - mips_elf32_be_vec) tb="$tb elf32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf ecofflink.lo" ;; - mips_elf32_le_vec) tb="$tb elf32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf ecofflink.lo" ;; - mips_elf32_n_be_vec) tb="$tb elfn32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf ecofflink.lo"; target_size=64 ;; - mips_elf32_n_le_vec) tb="$tb elfn32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf ecofflink.lo"; target_size=64 ;; - mips_elf32_ntrad_be_vec) tb="$tb elfn32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf ecofflink.lo"; target_size=64 ;; - mips_elf32_ntrad_le_vec) tb="$tb elfn32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf ecofflink.lo"; target_size=64 ;; - mips_elf32_ntradfbsd_be_vec) tb="$tb elfn32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf ecofflink.lo"; target_size=64 ;; - mips_elf32_ntradfbsd_le_vec) tb="$tb elfn32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf ecofflink.lo"; target_size=64 ;; - mips_elf32_trad_be_vec) tb="$tb elf32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf ecofflink.lo" ;; - mips_elf32_trad_le_vec) tb="$tb elf32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf ecofflink.lo" ;; - mips_elf32_tradfbsd_be_vec) tb="$tb elf32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf ecofflink.lo" ;; - mips_elf32_tradfbsd_le_vec) tb="$tb elf32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf ecofflink.lo" ;; - mips_elf32_vxworks_be_vec) tb="$tb elf32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf ecofflink.lo" ;; - mips_elf32_vxworks_le_vec) tb="$tb elf32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf ecofflink.lo" ;; - mips_elf64_be_vec) tb="$tb elf64-mips.lo elf64.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf ecofflink.lo"; target_size=64 ;; - mips_elf64_le_vec) tb="$tb elf64-mips.lo elf64.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf ecofflink.lo"; target_size=64 ;; - mips_elf64_trad_be_vec) tb="$tb elf64-mips.lo elf64.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf ecofflink.lo"; target_size=64 ;; - mips_elf64_trad_le_vec) tb="$tb elf64-mips.lo elf64.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf ecofflink.lo"; target_size=64 ;; - mips_elf64_tradfbsd_be_vec) tb="$tb elf64-mips.lo elf64.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf ecofflink.lo"; target_size=64 ;; - mips_elf64_tradfbsd_le_vec) tb="$tb elf64-mips.lo elf64.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf ecofflink.lo"; target_size=64 ;; - mips_pe_le_vec) tb="$tb pe-mips.lo peigen.lo cofflink.lo" ;; - mips_pei_le_vec) tb="$tb pei-mips.lo peigen.lo cofflink.lo" ;; + mips_ecoff_be_vec) tb="$tb coff-mips.lo ecoff.lo $ecoff" ;; + mips_ecoff_le_vec) tb="$tb coff-mips.lo ecoff.lo $ecoff" ;; + mips_ecoff_bele_vec) tb="$tb coff-mips.lo ecoff.lo $ecoff" ;; + mips_elf32_be_vec) tb="$tb elf32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf $ecoff" ;; + mips_elf32_le_vec) tb="$tb elf32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf $ecoff" ;; + mips_elf32_n_be_vec) tb="$tb elfn32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf $ecoff"; target_size=64 ;; + mips_elf32_n_le_vec) tb="$tb elfn32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf $ecoff"; target_size=64 ;; + mips_elf32_ntrad_be_vec) tb="$tb elfn32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf $ecoff"; target_size=64 ;; + mips_elf32_ntrad_le_vec) tb="$tb elfn32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf $ecoff"; target_size=64 ;; + mips_elf32_ntradfbsd_be_vec) tb="$tb elfn32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf $ecoff"; target_size=64 ;; + mips_elf32_ntradfbsd_le_vec) tb="$tb elfn32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf $ecoff"; target_size=64 ;; + mips_elf32_trad_be_vec) tb="$tb elf32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf $ecoff" ;; + mips_elf32_trad_le_vec) tb="$tb elf32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf $ecoff" ;; + mips_elf32_tradfbsd_be_vec) tb="$tb elf32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf $ecoff" ;; + mips_elf32_tradfbsd_le_vec) tb="$tb elf32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf $ecoff" ;; + mips_elf32_vxworks_be_vec) tb="$tb elf32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf $ecoff" ;; + mips_elf32_vxworks_le_vec) tb="$tb elf32-mips.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf $ecoff" ;; + mips_elf64_be_vec) tb="$tb elf64-mips.lo elf64.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf $ecoff"; target_size=64 ;; + mips_elf64_le_vec) tb="$tb elf64-mips.lo elf64.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf $ecoff"; target_size=64 ;; + mips_elf64_trad_be_vec) tb="$tb elf64-mips.lo elf64.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf $ecoff"; target_size=64 ;; + mips_elf64_trad_le_vec) tb="$tb elf64-mips.lo elf64.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf $ecoff"; target_size=64 ;; + mips_elf64_tradfbsd_be_vec) tb="$tb elf64-mips.lo elf64.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf $ecoff"; target_size=64 ;; + mips_elf64_tradfbsd_le_vec) tb="$tb elf64-mips.lo elf64.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf $ecoff"; target_size=64 ;; + mips_pe_le_vec) tb="$tb pe-mips.lo peigen.lo $coff" ;; + mips_pei_le_vec) tb="$tb pei-mips.lo peigen.lo $coff" ;; mmix_elf64_vec) tb="$tb elf64-mmix.lo elf64.lo $elf" target_size=64 ;; mmix_mmo_vec) tb="$tb mmo.lo" target_size=64 ;; mn10200_elf32_vec) tb="$tb elf-m10200.lo elf32.lo $elf" ;; @@ -902,15 +906,15 @@ do powerpc_elf64_le_vec) tb="$tb elf64-ppc.lo elf64-gen.lo elf64.lo $elf" target_size=64 ;; powerpc_elf64_fbsd_vec) tb="$tb elf64-ppc.lo elf64-gen.lo elf64.lo $elf" target_size=64 ;; powerpc_nlm32_vec) tb="$tb nlm32-ppc.lo nlm32.lo nlm.lo" ;; - powerpc_pe_vec) tb="$tb pe-ppc.lo peigen.lo cofflink.lo" ;; - powerpc_pe_le_vec) tb="$tb pe-ppc.lo peigen.lo cofflink.lo" ;; - powerpc_pei_vec) tb="$tb pei-ppc.lo peigen.lo cofflink.lo" ;; - powerpc_pei_le_vec) tb="$tb pei-ppc.lo peigen.lo cofflink.lo" ;; - powerpc_xcoff_vec) tb="$tb coff-rs6000.lo xcofflink.lo" ;; + powerpc_pe_vec) tb="$tb pe-ppc.lo peigen.lo $coff" ;; + powerpc_pe_le_vec) tb="$tb pe-ppc.lo peigen.lo $coff" ;; + powerpc_pei_vec) tb="$tb pei-ppc.lo peigen.lo $coff" ;; + powerpc_pei_le_vec) tb="$tb pei-ppc.lo peigen.lo $coff" ;; + powerpc_xcoff_vec) tb="$tb coff-rs6000.lo $xcoff" ;; rl78_elf32_vec) tb="$tb elf32-rl78.lo elf32.lo $elf" ;; - rs6000_xcoff64_vec) tb="$tb coff64-rs6000.lo xcofflink.lo aix5ppc-core.lo"; target_size=64 ;; - rs6000_xcoff64_aix_vec) tb="$tb coff64-rs6000.lo xcofflink.lo aix5ppc-core.lo"; target_size=64 ;; - rs6000_xcoff_vec) tb="$tb coff-rs6000.lo xcofflink.lo" ;; + rs6000_xcoff64_vec) tb="$tb coff64-rs6000.lo aix5ppc-core.lo $xcoff"; target_size=64 ;; + rs6000_xcoff64_aix_vec) tb="$tb coff64-rs6000.lo aix5ppc-core.lo $xcoff"; target_size=64 ;; + rs6000_xcoff_vec) tb="$tb coff-rs6000.lo $xcoff" ;; rx_elf32_be_vec) tb="$tb elf32-rx.lo elf32.lo $elf" ;; rx_elf32_be_ns_vec) tb="$tb elf32-rx.lo elf32.lo $elf" ;; rx_elf32_le_vec) tb="$tb elf32-rx.lo elf32.lo $elf" ;; @@ -918,45 +922,42 @@ do s390_elf64_vec) tb="$tb elf64-s390.lo elf64.lo $elf"; target_size=64 ;; score_elf32_be_vec) tb="$tb elf32-score.lo elf32-score7.lo elf32.lo $elf"; want64=true; target_size=64 ;; score_elf32_le_vec) tb="$tb elf32-score.lo elf32-score7.lo elf32.lo $elf"; want64=true; target_size=64 ;; - # FIXME: We include cofflink.lo not because it's needed for - # sh64_elf32[_le]_vec, but because we include sh_elf32[_le]_vec - # which needs it but does not list it. Should be fixed in right place. - sh64_elf32_vec) tb="$tb elf32-sh64.lo elf32-sh64-com.lo elf-vxworks.lo elf32.lo $elf cofflink.lo" target_size=64 ;; - sh64_elf32_le_vec) tb="$tb elf32-sh64.lo elf32-sh64-com.lo elf-vxworks.lo elf32.lo $elf cofflink.lo" target_size=64 ;; - sh64_elf32_linux_vec) tb="$tb elf32-sh64.lo elf32-sh64-com.lo elf-vxworks.lo elf32.lo $elf cofflink.lo" target_size=64 ;; - sh64_elf32_linux_be_vec) tb="$tb elf32-sh64.lo elf32-sh64-com.lo elf-vxworks.lo elf32.lo $elf cofflink.lo" target_size=64 ;; - sh64_elf32_nbsd_vec) tb="$tb elf32-sh64.lo elf32-sh64-com.lo elf-vxworks.lo elf32.lo $elf cofflink.lo" ;; - sh64_elf32_nbsd_le_vec) tb="$tb elf32-sh64.lo elf32-sh64-com.lo elf-vxworks.lo elf32.lo $elf cofflink.lo" ;; + sh64_elf32_vec) tb="$tb elf32-sh64.lo elf32-sh64-com.lo elf-vxworks.lo elf32.lo $elf" target_size=64 ;; + sh64_elf32_le_vec) tb="$tb elf32-sh64.lo elf32-sh64-com.lo elf-vxworks.lo elf32.lo $elf" target_size=64 ;; + sh64_elf32_linux_vec) tb="$tb elf32-sh64.lo elf32-sh64-com.lo elf-vxworks.lo elf32.lo $elf" target_size=64 ;; + sh64_elf32_linux_be_vec) tb="$tb elf32-sh64.lo elf32-sh64-com.lo elf-vxworks.lo elf32.lo $elf" target_size=64 ;; + sh64_elf32_nbsd_vec) tb="$tb elf32-sh64.lo elf32-sh64-com.lo elf-vxworks.lo elf32.lo $elf" ;; + sh64_elf32_nbsd_le_vec) tb="$tb elf32-sh64.lo elf32-sh64-com.lo elf-vxworks.lo elf32.lo $elf" ;; sh64_elf64_vec) tb="$tb elf64-sh64.lo elf64.lo $elf" target_size=64 ;; sh64_elf64_le_vec) tb="$tb elf64-sh64.lo elf64.lo $elf" target_size=64 ;; sh64_elf64_linux_vec) tb="$tb elf64-sh64.lo elf64.lo $elf" target_size=64 ;; sh64_elf64_linux_be_vec) tb="$tb elf64-sh64.lo elf64.lo $elf" target_size=64 ;; sh64_elf64_nbsd_vec) tb="$tb elf64-sh64.lo elf64.lo $elf" target_size=64 ;; sh64_elf64_nbsd_le_vec) tb="$tb elf64-sh64.lo elf64.lo $elf" target_size=64 ;; - sh_coff_vec) tb="$tb coff-sh.lo cofflink.lo" ;; - sh_coff_le_vec) tb="$tb coff-sh.lo cofflink.lo" ;; - sh_coff_small_vec) tb="$tb coff-sh.lo cofflink.lo" ;; - sh_coff_small_le_vec) tb="$tb coff-sh.lo cofflink.lo" ;; - sh_elf32_vec) tb="$tb elf32-sh.lo elf-vxworks.lo elf32.lo $elf coff-sh.lo" ;; - sh_elf32_le_vec) tb="$tb elf32-sh.lo elf-vxworks.lo elf32.lo $elf coff-sh.lo" ;; - sh_elf32_fdpic_be_vec) tb="$tb elf32-sh.lo elf-vxworks.lo elf32.lo $elf coff-sh.lo cofflink.lo" ;; - sh_elf32_fdpic_le_vec) tb="$tb elf32-sh.lo elf-vxworks.lo elf32.lo $elf coff-sh.lo cofflink.lo" ;; - sh_elf32_linux_vec) tb="$tb elf32-sh.lo elf-vxworks.lo elf32.lo $elf coff-sh.lo cofflink.lo" ;; - sh_elf32_linux_be_vec) tb="$tb elf32-sh.lo elf-vxworks.lo elf32.lo $elf coff-sh.lo cofflink.lo" ;; - sh_elf32_nbsd_vec) tb="$tb elf32-sh.lo elf-vxworks.lo elf32.lo $elf coff-sh.lo cofflink.lo" ;; - sh_elf32_nbsd_le_vec) tb="$tb elf32-sh.lo elf-vxworks.lo elf32.lo $elf coff-sh.lo cofflink.lo" ;; - sh_elf32_symbian_le_vec) tb="$tb elf32-sh-symbian.lo elf32-sh64-com.lo elf-vxworks.lo elf32.lo $elf coff-sh.lo" ;; - sh_elf32_vxworks_vec) tb="$tb elf32-sh.lo elf-vxworks.lo elf32.lo $elf coff-sh.lo" ;; - sh_elf32_vxworks_le_vec) tb="$tb elf32-sh.lo elf-vxworks.lo elf32.lo $elf coff-sh.lo" ;; - sh_pe_le_vec) tb="$tb pe-sh.lo coff-sh.lo peigen.lo cofflink.lo" ;; - sh_pei_le_vec) tb="$tb pei-sh.lo coff-sh.lo peigen.lo cofflink.lo" ;; + sh_coff_vec) tb="$tb coff-sh.lo $coff" ;; + sh_coff_le_vec) tb="$tb coff-sh.lo $coff" ;; + sh_coff_small_vec) tb="$tb coff-sh.lo $coff" ;; + sh_coff_small_le_vec) tb="$tb coff-sh.lo $coff" ;; + sh_elf32_vec) tb="$tb elf32-sh.lo elf-vxworks.lo elf32.lo $elf coff-sh.lo $coff" ;; + sh_elf32_le_vec) tb="$tb elf32-sh.lo elf-vxworks.lo elf32.lo $elf coff-sh.lo $coff" ;; + sh_elf32_fdpic_be_vec) tb="$tb elf32-sh.lo elf-vxworks.lo elf32.lo $elf coff-sh.lo $coff" ;; + sh_elf32_fdpic_le_vec) tb="$tb elf32-sh.lo elf-vxworks.lo elf32.lo $elf coff-sh.lo $coff" ;; + sh_elf32_linux_vec) tb="$tb elf32-sh.lo elf-vxworks.lo elf32.lo $elf coff-sh.lo $coff" ;; + sh_elf32_linux_be_vec) tb="$tb elf32-sh.lo elf-vxworks.lo elf32.lo $elf coff-sh.lo $coff" ;; + sh_elf32_nbsd_vec) tb="$tb elf32-sh.lo elf-vxworks.lo elf32.lo $elf coff-sh.lo $coff" ;; + sh_elf32_nbsd_le_vec) tb="$tb elf32-sh.lo elf-vxworks.lo elf32.lo $elf coff-sh.lo $coff" ;; + sh_elf32_symbian_le_vec) tb="$tb elf32-sh-symbian.lo elf32-sh64-com.lo elf-vxworks.lo elf32.lo $elf coff-sh.lo $coff" ;; + sh_elf32_vxworks_vec) tb="$tb elf32-sh.lo elf-vxworks.lo elf32.lo $elf coff-sh.lo $coff" ;; + sh_elf32_vxworks_le_vec) tb="$tb elf32-sh.lo elf-vxworks.lo elf32.lo $elf coff-sh.lo $coff" ;; + sh_pe_le_vec) tb="$tb pe-sh.lo coff-sh.lo peigen.lo $coff" ;; + sh_pei_le_vec) tb="$tb pei-sh.lo coff-sh.lo peigen.lo $coff" ;; sparc_aout_le_vec) tb="$tb aout-sparcle.lo aout32.lo" ;; sparc_aout_linux_vec) tb="$tb sparclinux.lo aout32.lo" ;; sparc_aout_lynx_vec) tb="$tb sparclynx.lo lynx-core.lo aout32.lo" ;; sparc_aout_nbsd_vec) tb="$tb sparcnetbsd.lo aout32.lo" ;; sparc_aout_sunos_be_vec) tb="$tb sunos.lo aout32.lo" ;; - sparc_coff_vec) tb="$tb coff-sparc.lo" ;; - sparc_coff_lynx_vec) tb="$tb cf-sparclynx.lo lynx-core.lo" ;; + sparc_coff_vec) tb="$tb coff-sparc.lo $coffgen" ;; + sparc_coff_lynx_vec) tb="$tb cf-sparclynx.lo lynx-core.lo $coffgen" ;; sparc_elf32_vec) tb="$tb elf32-sparc.lo elfxx-sparc.lo elf-vxworks.lo elf32.lo $elf" ;; sparc_elf32_sol2_vec) tb="$tb elf32-sparc.lo elfxx-sparc.lo elf-vxworks.lo elf32.lo $elf" ;; sparc_elf32_vxworks_vec) tb="$tb elf32-sparc.lo elfxx-sparc.lo elf-vxworks.lo elf32.lo $elf" ;; @@ -967,26 +968,26 @@ do spu_elf32_vec) tb="$tb elf32-spu.lo elf32.lo $elf" ;; sym_vec) tb="$tb xsym.lo" ;; tic30_aout_vec) tb="$tb aout-tic30.lo" ;; - tic30_coff_vec) tb="$tb coff-tic30.lo" ;; - tic4x_coff0_vec) tb="$tb coff-tic4x.lo" ;; - tic4x_coff0_beh_vec) tb="$tb coff-tic4x.lo" ;; - tic4x_coff1_vec) tb="$tb coff-tic4x.lo" ;; - tic4x_coff1_beh_vec) tb="$tb coff-tic4x.lo" ;; - tic4x_coff2_vec) tb="$tb coff-tic4x.lo" ;; - tic4x_coff2_beh_vec) tb="$tb coff-tic4x.lo" ;; - tic54x_coff0_vec) tb="$tb coff-tic54x.lo" ;; - tic54x_coff0_beh_vec) tb="$tb coff-tic54x.lo" ;; - tic54x_coff1_vec) tb="$tb coff-tic54x.lo" ;; - tic54x_coff1_beh_vec) tb="$tb coff-tic54x.lo" ;; - tic54x_coff2_vec) tb="$tb coff-tic54x.lo" ;; - tic54x_coff2_beh_vec) tb="$tb coff-tic54x.lo" ;; + tic30_coff_vec) tb="$tb coff-tic30.lo $coffgen" ;; + tic4x_coff0_vec) tb="$tb coff-tic4x.lo $coffgen" ;; + tic4x_coff0_beh_vec) tb="$tb coff-tic4x.lo $coffgen" ;; + tic4x_coff1_vec) tb="$tb coff-tic4x.lo $coffgen" ;; + tic4x_coff1_beh_vec) tb="$tb coff-tic4x.lo $coffgen" ;; + tic4x_coff2_vec) tb="$tb coff-tic4x.lo $coffgen" ;; + tic4x_coff2_beh_vec) tb="$tb coff-tic4x.lo $coffgen" ;; + tic54x_coff0_vec) tb="$tb coff-tic54x.lo $coffgen" ;; + tic54x_coff0_beh_vec) tb="$tb coff-tic54x.lo $coffgen" ;; + tic54x_coff1_vec) tb="$tb coff-tic54x.lo $coffgen" ;; + tic54x_coff1_beh_vec) tb="$tb coff-tic54x.lo $coffgen" ;; + tic54x_coff2_vec) tb="$tb coff-tic54x.lo $coffgen" ;; + tic54x_coff2_beh_vec) tb="$tb coff-tic54x.lo $coffgen" ;; tic6x_elf32_be_vec) tb="$tb elf32-tic6x.lo elf32.lo $elf" ;; tic6x_elf32_le_vec) tb="$tb elf32-tic6x.lo elf32.lo $elf" ;; tic6x_elf32_c6000_be_vec) tb="$tb elf32-tic6x.lo elf32.lo $elf" ;; tic6x_elf32_c6000_le_vec) tb="$tb elf32-tic6x.lo elf32.lo $elf" ;; tic6x_elf32_linux_be_vec) tb="$tb elf32-tic6x.lo elf32.lo $elf" ;; tic6x_elf32_linux_le_vec) tb="$tb elf32-tic6x.lo elf32.lo $elf" ;; - tic80_coff_vec) tb="$tb coff-tic80.lo cofflink.lo" ;; + tic80_coff_vec) tb="$tb coff-tic80.lo $coff" ;; tilegx_elf32_be_vec) tb="$tb elf32-tilegx.lo elfxx-tilegx.lo elf32.lo $elf" ; target_size=32 ;; tilegx_elf32_le_vec) tb="$tb elf32-tilegx.lo elfxx-tilegx.lo elf32.lo $elf" ; target_size=32 ;; tilegx_elf64_be_vec) tb="$tb elf64-tilegx.lo elfxx-tilegx.lo elf64.lo $elf" ; target_size=64 ;; @@ -999,9 +1000,9 @@ do vax_aout_nbsd_vec) tb="$tb vaxnetbsd.lo aout32.lo" ;; vax_elf32_vec) tb="$tb elf32-vax.lo elf32.lo $elf" ;; visium_elf32_vec) tb="$tb elf32-visium.lo elf32.lo $elf" ;; - w65_coff_vec) tb="$tb coff-w65.lo reloc16.lo" ;; - we32k_coff_vec) tb="$tb coff-we32k.lo" ;; - x86_64_coff_vec) tb="$tb coff-x86_64.lo cofflink.lo"; target_size=64 ;; + w65_coff_vec) tb="$tb coff-w65.lo reloc16.lo $coffgen" ;; + we32k_coff_vec) tb="$tb coff-we32k.lo $coffgen" ;; + x86_64_coff_vec) tb="$tb coff-x86_64.lo $coff"; target_size=64 ;; x86_64_elf32_vec) tb="$tb elf64-x86-64.lo elf-ifunc.lo elf-nacl.lo elf64.lo elf32.lo $elf"; target_size=64 ;; x86_64_elf32_nacl_vec) tb="$tb elf64-x86-64.lo elf-ifunc.lo elf-nacl.lo elf64.lo elf32.lo $elf"; target_size=64 ;; x86_64_elf64_vec) tb="$tb elf64-x86-64.lo elf-ifunc.lo elf-nacl.lo elf64.lo $elf"; target_size=64 ;; @@ -1009,16 +1010,16 @@ do x86_64_elf64_nacl_vec) tb="$tb elf64-x86-64.lo elf-ifunc.lo elf-nacl.lo elf64.lo $elf"; target_size=64 ;; x86_64_elf64_sol2_vec) tb="$tb elf64-x86-64.lo elf-ifunc.lo elf-nacl.lo elf64.lo $elf"; target_size=64 ;; x86_64_mach_o_vec) tb="$tb mach-o-x86-64.lo" ;; - x86_64_pe_vec) tb="$tb pe-x86_64.lo pex64igen.lo cofflink.lo"; target_size=64 ;; - x86_64_pe_be_vec) tb="$tb pe-x86_64.lo pex64igen.lo cofflink.lo"; target_size=64 ;; - x86_64_pei_vec) tb="$tb pei-x86_64.lo pex64igen.lo cofflink.lo"; target_size=64 ;; + x86_64_pe_vec) tb="$tb pe-x86_64.lo pex64igen.lo $coff"; target_size=64 ;; + x86_64_pe_be_vec) tb="$tb pe-x86_64.lo pex64igen.lo $coff"; target_size=64 ;; + x86_64_pei_vec) tb="$tb pei-x86_64.lo pex64igen.lo $coff"; target_size=64 ;; xc16x_elf32_vec) tb="$tb elf32-xc16x.lo elf32.lo $elf" ;; xgate_elf32_vec) tb="$tb elf32-xgate.lo elf32.lo $elf" ;; xstormy16_elf32_vec) tb="$tb elf32-xstormy16.lo elf32.lo $elf" ;; xtensa_elf32_be_vec) tb="$tb xtensa-isa.lo xtensa-modules.lo elf32-xtensa.lo elf32.lo $elf" ;; xtensa_elf32_le_vec) tb="$tb xtensa-isa.lo xtensa-modules.lo elf32-xtensa.lo elf32.lo $elf" ;; - z80_coff_vec) tb="$tb coff-z80.lo reloc16.lo" ;; - z8k_coff_vec) tb="$tb coff-z8k.lo reloc16.lo cofflink.lo" ;; + z80_coff_vec) tb="$tb coff-z80.lo reloc16.lo $coffgen" ;; + z8k_coff_vec) tb="$tb coff-z8k.lo reloc16.lo $coff" ;; # These appear out of order in targets.c srec_vec) tb="$tb srec.lo" ;; diff --git a/bfd/libcoff-in.h b/bfd/libcoff-in.h index dc7866d6a2..3b6b93dcd3 100644 --- a/bfd/libcoff-in.h +++ b/bfd/libcoff-in.h @@ -20,6 +20,7 @@ MA 02110-1301, USA. */ #include "bfdlink.h" +#include "coff-bfd.h" /* Object file tdata; access macros. */ @@ -187,36 +188,6 @@ struct xcoff_tdata macro is only ever applied to an asymbol. */ #define coffsymbol(asymbol) ((coff_symbol_type *)(&((asymbol)->the_bfd))) -/* The used_by_bfd field of a section may be set to a pointer to this - structure. */ - -struct coff_section_tdata -{ - /* The relocs, swapped into COFF internal form. This may be NULL. */ - struct internal_reloc *relocs; - /* If this is TRUE, the relocs entry may not be freed. */ - bfd_boolean keep_relocs; - /* The section contents. This may be NULL. */ - bfd_byte *contents; - /* If this is TRUE, the contents entry may not be freed. */ - bfd_boolean keep_contents; - /* Information cached by coff_find_nearest_line. */ - bfd_vma offset; - unsigned int i; - const char *function; - /* Optional information about a COMDAT entry; NULL if not COMDAT. */ - struct coff_comdat_info *comdat; - int line_base; - /* A pointer used for .stab linking optimizations. */ - void * stab_info; - /* Available for individual backends. */ - void * tdata; -}; - -/* An accessor macro for the coff_section_tdata structure. */ -#define coff_section_data(abfd, sec) \ - ((struct coff_section_tdata *) (sec)->used_by_bfd) - /* Tdata for sections in XCOFF files. This is used by the linker. */ struct xcoff_section_tdata @@ -320,8 +291,6 @@ extern long coff_canonicalize_symtab (bfd *, asymbol **); extern int coff_count_linenumbers (bfd *); -extern struct coff_symbol_struct *coff_symbol_from - (bfd *, asymbol *); extern bfd_boolean coff_renumber_symbols (bfd *, int *); extern void coff_mangle_symbols diff --git a/bfd/libcoff.h b/bfd/libcoff.h index d1c466a6d6..d2edbf86bc 100644 --- a/bfd/libcoff.h +++ b/bfd/libcoff.h @@ -24,6 +24,7 @@ MA 02110-1301, USA. */ #include "bfdlink.h" +#include "coff-bfd.h" /* Object file tdata; access macros. */ @@ -191,36 +192,6 @@ struct xcoff_tdata macro is only ever applied to an asymbol. */ #define coffsymbol(asymbol) ((coff_symbol_type *)(&((asymbol)->the_bfd))) -/* The used_by_bfd field of a section may be set to a pointer to this - structure. */ - -struct coff_section_tdata -{ - /* The relocs, swapped into COFF internal form. This may be NULL. */ - struct internal_reloc *relocs; - /* If this is TRUE, the relocs entry may not be freed. */ - bfd_boolean keep_relocs; - /* The section contents. This may be NULL. */ - bfd_byte *contents; - /* If this is TRUE, the contents entry may not be freed. */ - bfd_boolean keep_contents; - /* Information cached by coff_find_nearest_line. */ - bfd_vma offset; - unsigned int i; - const char *function; - /* Optional information about a COMDAT entry; NULL if not COMDAT. */ - struct coff_comdat_info *comdat; - int line_base; - /* A pointer used for .stab linking optimizations. */ - void * stab_info; - /* Available for individual backends. */ - void * tdata; -}; - -/* An accessor macro for the coff_section_tdata structure. */ -#define coff_section_data(abfd, sec) \ - ((struct coff_section_tdata *) (sec)->used_by_bfd) - /* Tdata for sections in XCOFF files. This is used by the linker. */ struct xcoff_section_tdata @@ -324,8 +295,6 @@ extern long coff_canonicalize_symtab (bfd *, asymbol **); extern int coff_count_linenumbers (bfd *); -extern struct coff_symbol_struct *coff_symbol_from - (bfd *, asymbol *); extern bfd_boolean coff_renumber_symbols (bfd *, int *); extern void coff_mangle_symbols diff --git a/bfd/pe-mips.c b/bfd/pe-mips.c index d7edc2b683..a24034f119 100644 --- a/bfd/pe-mips.c +++ b/bfd/pe-mips.c @@ -375,7 +375,7 @@ static reloc_howto_type howto_table[] = 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 != NULL \ && coffsym->native->u.syment.n_scnum == 0) \ cache_ptr->addend = - coffsym->native->u.syment.n_value; \ diff --git a/bfd/po/SRC-POTFILES.in b/bfd/po/SRC-POTFILES.in index 169412f680..83e393d46a 100644 --- a/bfd/po/SRC-POTFILES.in +++ b/bfd/po/SRC-POTFILES.in @@ -29,6 +29,7 @@ coff-alpha.c coff-apollo.c coff-arm.c coff-aux.c +coff-bfd.c coff-go32.c coff-h8300.c coff-h8500.c diff --git a/binutils/ChangeLog b/binutils/ChangeLog index ceab9032f1..3428a29f41 100644 --- a/binutils/ChangeLog +++ b/binutils/ChangeLog @@ -1,3 +1,7 @@ +2014-12-10 Alan Modra + + * objdump.c: #include "coff-bfd.h". + 2014-12-09 Senthil Kumar Selvaraj * od-elf32_avr.c (elf32_avr_dump_mem_usage): Fix device initialization. diff --git a/binutils/objdump.c b/binutils/objdump.c index ee3a0840f0..4c00732cd5 100644 --- a/binutils/objdump.c +++ b/binutils/objdump.c @@ -51,6 +51,7 @@ #include "sysdep.h" #include "bfd.h" #include "elf-bfd.h" +#include "coff-bfd.h" #include "progress.h" #include "bucomm.h" #include "elfcomm.h" diff --git a/ld/ChangeLog b/ld/ChangeLog index 7607418e87..ce90a67e33 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,7 @@ +2014-12-10 Alan Modra + + * ldmisc.c: #include "coff-bfd.h" + 2014-12-06 Eric Botcazou * configure.tgt: Add Visium support. diff --git a/ld/ldmisc.c b/ld/ldmisc.c index 5e1801321e..af2a044f68 100644 --- a/ld/ldmisc.c +++ b/ld/ldmisc.c @@ -35,6 +35,7 @@ #include "ldmain.h" #include "ldfile.h" #include "elf-bfd.h" +#include "coff-bfd.h" /* %% literal %