+2011-02-01 Alan Modra <amodra@gmail.com>
+
+ Backport from mainline
+ 2011-01-22 Richard Sandiford <rdsandiford@googlemail.com>
+ * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Ignore
+ common sections too.
+
+ 2011-01-14 Alan Modra <amodra@gmail.com>
+ * bfd.c (bfd_perror): Flush stdout before and stderr after printing
+ error.
+ (_bfd_default_error_handler): Likewise.
+ * elf.c (print_segment_map): Likewise.
+ * libbfd.c (warn_deprecated): Likewise.
+ * som.c (som_sizeof_headers): No need to do so here.
+ * coff-i860.c: Replace use of printf for error messages with
+ _bfd_error_handler.
+ * coff-ppc.c: Likewise.
+ * coff-sh.c: Likewise.
+ * elf32-bfin.c: Likewise.
+ * elf32-dlx.c: Likewise.
+ * elf32-mep.c: Likewise.
+ * elf32-v850.c: Likewise.
+ * mach-o.c: Likewise.
+ * pef.c: Likewise.
+
+ 2010-12-24 Alan Modra <amodra@gmail.com>
+ * compress.c (decompress_contents): Style.
+ (bfd_get_full_section_contents): Do not decompress directly into
+ caller buffer or directly return cached section contents.
+ Check malloc return for compressed_buffer.
+
+ 2010-12-13 Alan Modra <amodra@gmail.com>
+ * aoutx.h (aout_link_check_ar_symbols): Formatting.
+ * cofflink.c (coff_link_check_ar_symbols): Likewise.
+ * elflink.c (elf_link_add_archive_symbols): Likewise.
+ * pdp11.c (aout_link_check_ar_symbols): Likewise.
+ * xcofflink.c (xcoff_link_check_dynamic_ar_symbols,
+ xcoff_link_check_dynamic_ar_symbols): Likewise.
+ * aoutx.h (aout_link_check_archive_element): Simplify code dealing
+ with add_archive_element substitute BFD.
+ * cofflink.c (coff_link_check_archive_element): Likewise.
+ * ecoff.c (ecoff_link_check_archive_element): Likewise.
+ (ecoff_link_add_archive_symbols): Likewise.
+ * linker.c (generic_link_check_archive_element): Likewise.
+ * pdp11.c (aout_link_check_archive_element): Likewise.
+ * vms-alpha.c (alpha_vms_link_add_archive_symbols): Likewise.
+ * xcofflink.c (xcoff_link_check_archive_element): Likewise.
+ * aoutx.h (aout_link_check_archive_element): Free symbols from old
+ bfd if !keep_memory.
+ * cofflink.c (coff_link_check_archive_element): Likewise.
+ * pdp11.c (aout_link_check_archive_element): Likewise.
+ * xcofflink.c (xcoff_link_check_archive_element): Likewise.
+
+ 2010-12-12 H.J. Lu <hongjiu.lu@intel.com>
+ * elflink.c (elf_link_add_archive_symbols): Remove subsbfd.
+
+ 2010-12-06 Dmitry Gorbachev <d.g.gorbachev@gmail.com>
+ PR ld/12288
+ * plugin.c (message): Add putchar for the trailing `\n'.
+
+ 2010-12-04 Alan Modra <amodra@gmail.com>
+ PR ld/12277
+ * elflink.c (elf_link_output_extsym): Set bfd_error on symbol
+ and section errors. Allow better translation of error messages.
+
+ 2010-11-24 Joel Brobecker <brobecker@adacore.com>
+ * Makefile.am (OPTIONAL_BACKENDS): Add rs6000-core.lo.
+ (OPTIONAL_BACKENDS_CFILES): Add rs6000-core.c.
+ * Makefile.in: Regenerate.
+
+ 2010-11-24 Alan Modra <amodra@gmail.com>
+ PR ld/12253
+ * elf-eh-frame.c (_bfd_elf_write_section_eh_frame): Correct
+ DW_EH_PE_datarel handling. Truncate .eh_frame_hdr address to
+ ptr_size.
+
+ 2010-11-08 Alan Modra <amodra@gmail.com>
+ * hash.c (bfd_hash_hash): Extract from..
+ (bfd_hash_lookup): ..here.
+ (bfd_hash_rename): New function.
+ * section.c (bfd_rename_section): New function.
+ * bfd-in.h (bfd_hash_rename): Declare.
+ * bfd-in2.h: Regenerate.
+ * elf.c (_bfd_elf_make_section_from_shdr): Rename input sections
+ when compressing or decompressing. Don't assert name match.
+ * elf64-hppa.c (get_reloc_section): Don't assert name match.
+ * elfxx-ia64.c (get_reloc_section): Likewise.
+
+ 2010-11-05 Joseph Myers <joseph@codesourcery.com>
+ * elf-attrs.c (_bfd_elf_merge_unknown_attribute_low,
+ _bfd_elf_merge_unknown_attribute_list): Correct test for matching
+ string attributes.
+
2011-02-01 Alan Modra <amodra@gmail.com>
* elf64-ppc.c (ppc64_elf_next_input_section): Use elf_gp value
irix-core.lo \
lynx-core.lo \
osf-core.lo \
+ rs6000-core.lo \
sco5-core.lo \
trad-core.lo
irix-core.c \
lynx-core.c \
osf-core.c \
+ rs6000-core.c \
sco5-core.c \
trad-core.c
irix-core.lo \
lynx-core.lo \
osf-core.lo \
+ rs6000-core.lo \
sco5-core.lo \
trad-core.lo
irix-core.c \
lynx-core.c \
osf-core.c \
+ rs6000-core.c \
sco5-core.c \
trad-core.c
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/reloc.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/reloc16.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/riscix.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rs6000-core.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sco5-core.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/section.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/simple.Plo@am__quote@
continue;
}
- if (! (*info->callbacks->add_archive_element)
- (info, abfd, name, subsbfd))
+ if (!(*info->callbacks
+ ->add_archive_element) (info, abfd, name, subsbfd))
return FALSE;
*pneeded = TRUE;
return TRUE;
outside BFD. We assume that we should link
in the object file. This is done for the -u
option in the linker. */
- if (! (*info->callbacks->add_archive_element)
- (info, abfd, name, subsbfd))
+ if (!(*info->callbacks
+ ->add_archive_element) (info, abfd, name, subsbfd))
return FALSE;
*pneeded = TRUE;
return TRUE;
symbol. It is already on the undefs list. */
h->type = bfd_link_hash_common;
h->u.c.p = (struct bfd_link_hash_common_entry *)
- bfd_hash_allocate (&info->hash->table,
- sizeof (struct bfd_link_hash_common_entry));
+ bfd_hash_allocate (&info->hash->table,
+ sizeof (struct bfd_link_hash_common_entry));
if (h->u.c.p == NULL)
return FALSE;
it if the current link symbol is common. */
if (h->type == bfd_link_hash_undefined)
{
- if (! (*info->callbacks->add_archive_element)
- (info, abfd, name, subsbfd))
+ if (!(*info->callbacks
+ ->add_archive_element) (info, abfd, name, subsbfd))
return FALSE;
*pneeded = TRUE;
return TRUE;
struct bfd_link_info *info,
bfd_boolean *pneeded)
{
- bfd *subsbfd = NULL;
+ bfd *oldbfd;
+ bfd_boolean needed;
- if (! aout_get_external_symbols (abfd))
+ if (!aout_get_external_symbols (abfd))
return FALSE;
- if (! aout_link_check_ar_symbols (abfd, info, pneeded, &subsbfd))
+ oldbfd = abfd;
+ if (!aout_link_check_ar_symbols (abfd, info, pneeded, &abfd))
return FALSE;
- if (*pneeded)
+ needed = *pneeded;
+ if (needed)
{
/* Potentially, the add_archive_element hook may have set a
substitute BFD for us. */
- if (subsbfd && !aout_get_external_symbols (subsbfd))
- return FALSE;
- if (! aout_link_add_symbols (subsbfd ? subsbfd : abfd, info))
+ if (abfd != oldbfd)
+ {
+ if (!info->keep_memory
+ && !aout_link_free_symbols (oldbfd))
+ return FALSE;
+ if (!aout_get_external_symbols (abfd))
+ return FALSE;
+ }
+ if (!aout_link_add_symbols (abfd, info))
return FALSE;
}
- if (! info->keep_memory || ! *pneeded)
+ if (!info->keep_memory || !needed)
{
- if (! aout_link_free_symbols (abfd))
+ if (!aout_link_free_symbols (abfd))
return FALSE;
}
extern struct bfd_hash_entry *bfd_hash_insert
(struct bfd_hash_table *, const char *, unsigned long);
+/* Rename an entry in a hash table. */
+extern void bfd_hash_rename
+ (struct bfd_hash_table *, const char *, struct bfd_hash_entry *);
+
/* Replace an entry in a hash table. */
extern void bfd_hash_replace
(struct bfd_hash_table *, struct bfd_hash_entry *old,
extern struct bfd_hash_entry *bfd_hash_insert
(struct bfd_hash_table *, const char *, unsigned long);
+/* Rename an entry in a hash table. */
+extern void bfd_hash_rename
+ (struct bfd_hash_table *, const char *, struct bfd_hash_entry *);
+
/* Replace an entry in a hash table. */
extern void bfd_hash_replace
(struct bfd_hash_table *, struct bfd_hash_entry *old,
bfd_boolean bfd_set_section_flags
(bfd *abfd, asection *sec, flagword flags);
+void bfd_rename_section
+ (bfd *abfd, asection *sec, const char *newname);
+
void bfd_map_over_sections
(bfd *abfd,
void (*func) (bfd *abfd, asection *sect, void *obj),
/* Generic BFD library interface and support routines.
Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
- 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
+ 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
Free Software Foundation, Inc.
Written by Cygnus Support.
void
bfd_perror (const char *message)
{
+ fflush (stdout);
if (message == NULL || *message == '\0')
fprintf (stderr, "%s\n", bfd_errmsg (bfd_get_error ()));
else
fprintf (stderr, "%s: %s\n", message, bfd_errmsg (bfd_get_error ()));
+ fflush (stderr);
}
/*
va_end (ap);
putc ('\n', stderr);
+ fflush (stderr);
}
/* This is a function pointer to the routine which should handle BFD
/* BFD back-end for Intel i860 COFF files.
Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1999, 2000, 2001, 2002,
- 2003, 2004, 2005, 2007, 2008, 2010 Free Software Foundation, Inc.
+ 2003, 2004, 2005, 2007, 2008, 2010, 2011 Free Software Foundation, Inc.
Created mostly by substituting "860" for "386" in coff-i386.c
Harry Dolan <dolan@ssd.intel.com>, October 1995
char **error_message ATTRIBUTE_UNUSED)
{
reloc_howto_type *howto = reloc_entry->howto;
- fprintf (stderr, _("Relocation `%s' not yet implemented\n"), howto->name);
+ (*_bfd_error_handler) (_("relocation `%s' not yet implemented"), howto->name);
return bfd_reloc_notsupported;
}
/* BFD back-end for PowerPC Microsoft Portable Executable files.
Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
- 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
+ 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
Free Software Foundation, Inc.
Original version pieced together by Kim Knuttila (krk@cygnus.com)
howto = ppc_coff_howto_table + IMAGE_REL_PPC_TOCREL16;
break;
default:
- fprintf (stderr,
- _("Warning: Unsupported reloc %s [%d] used -- it may not work.\n"),
- ppc_coff_howto_table[r_type].name,
- r_type);
+ (*_bfd_error_handler) (_("warning: unsupported reloc %s [%d] used -- it may not work"),
+ ppc_coff_howto_table[r_type].name,
+ r_type);
howto = ppc_coff_howto_table + r_type;
break;
}
howto = ppc_coff_howto_table + r_type;
break;
default:
- fprintf (stderr,
- _("Warning: Unsupported reloc %s [%d] used -- it may not work.\n"),
- ppc_coff_howto_table[r_type].name,
- r_type);
+ (*_bfd_error_handler) (_("warning: unsupported reloc %s [%d] used -- it may not work"),
+ ppc_coff_howto_table[r_type].name,
+ r_type);
howto = ppc_coff_howto_table + r_type;
break;
}
/* BFD back-end for Renesas Super-H COFF binaries.
Copyright 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
- 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
+ 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2011
+ Free Software Foundation, Inc.
Contributed by Cygnus Support.
Written by Steve Chamberlain, <sac@cygnus.com>.
Relaxing code written by Ian Lance Taylor, <ian@cygnus.com>.
if (sh_reloc_map[i].bfd_reloc_val == code)
return &sh_coff_howtos[(int) sh_reloc_map[i].shcoff_reloc_val];
- fprintf (stderr, "SH Error: unknown reloc type %d\n", code);
+ (*_bfd_error_handler) (_("SH Error: unknown reloc type %d"), code);
return NULL;
}
if (h != (struct bfd_link_hash_entry *) NULL
&& h->type == bfd_link_hash_undefined)
{
- if (! (*info->callbacks->add_archive_element)
- (info, abfd, name, subsbfd))
+ if (!(*info->callbacks
+ ->add_archive_element) (info, abfd, name, subsbfd))
return FALSE;
*pneeded = TRUE;
return TRUE;
struct bfd_link_info *info,
bfd_boolean *pneeded)
{
- bfd *subsbfd = NULL;
+ bfd *oldbfd;
+ bfd_boolean needed;
- if (! _bfd_coff_get_external_symbols (abfd))
- return FALSE;
-
- if (! coff_link_check_ar_symbols (abfd, info, pneeded, &subsbfd))
- return FALSE;
-
- /* Potentially, the add_archive_element hook may have set a
- substitute BFD for us. */
- if (*pneeded
- && subsbfd
- && ! _bfd_coff_get_external_symbols (subsbfd))
+ if (!_bfd_coff_get_external_symbols (abfd))
return FALSE;
- if (*pneeded
- && ! coff_link_add_symbols (subsbfd ? subsbfd : abfd, info))
+ oldbfd = abfd;
+ if (!coff_link_check_ar_symbols (abfd, info, pneeded, &abfd))
return FALSE;
- if ((! info->keep_memory || ! *pneeded)
- && ! _bfd_coff_free_symbols (abfd))
- return FALSE;
+ needed = *pneeded;
+ if (needed)
+ {
+ /* Potentially, the add_archive_element hook may have set a
+ substitute BFD for us. */
+ if (abfd != oldbfd)
+ {
+ if (!info->keep_memory
+ && !_bfd_coff_free_symbols (oldbfd))
+ return FALSE;
+ if (!_bfd_coff_get_external_symbols (abfd))
+ return FALSE;
+ }
+ if (!coff_link_add_symbols (abfd, info))
+ return FALSE;
+ }
+ if (!info->keep_memory || !needed)
+ {
+ if (!_bfd_coff_free_symbols (abfd))
+ return FALSE;
+ }
return TRUE;
}
rc = inflateReset (&strm);
}
rc = inflateEnd (&strm);
- return rc != Z_OK || strm.avail_out != 0 ? FALSE: TRUE;
+ return rc == Z_OK && strm.avail_out == 0;
}
#endif
{
bfd_size_type sz = sec->rawsize ? sec->rawsize : sec->size;
bfd_byte *p = *ptr;
- bfd_boolean need_free, ret;
#ifdef HAVE_ZLIB_H
+ bfd_boolean ret;
bfd_size_type compressed_size;
bfd_size_type uncompressed_size;
bfd_size_type rawsize;
p = (bfd_byte *) bfd_malloc (sz);
if (p == NULL)
return FALSE;
- need_free = TRUE;
- *ptr = p;
}
- else
- need_free = FALSE;
- ret = bfd_get_section_contents (abfd, sec, p, 0, sz);
- if (!ret && need_free)
- free (p);
- return ret;
-
- case COMPRESS_SECTION_DONE:
- if (p)
- memcpy (p, sec->contents, sz);
- else
- *ptr = sec->contents;
+ if (!bfd_get_section_contents (abfd, sec, p, 0, sz))
+ {
+ if (*ptr != p)
+ free (p);
+ return FALSE;
+ }
+ *ptr = p;
return TRUE;
case DECOMPRESS_SECTION_SIZED:
- break;
-
- default:
- abort ();
- }
-
#ifndef HAVE_ZLIB_H
- bfd_set_error (bfd_error_invalid_operation);
- return FALSE;
+ bfd_set_error (bfd_error_invalid_operation);
+ return FALSE;
#else
- /* Read in the full compressed section contents. */
- uncompressed_size = sec->size;
- compressed_size = sec->compressed_size;
- compressed_buffer = (bfd_byte *) bfd_malloc (compressed_size);
- rawsize = sec->rawsize;
- /* Clear rawsize, set size to compressed size and set compress_status
- to COMPRESS_SECTION_NONE. If the compressed size is bigger than
- the uncompressed size, bfd_get_section_contents will fail. */
- sec->rawsize = 0;
- sec->size = compressed_size;
- sec->compress_status = COMPRESS_SECTION_NONE;
- ret = bfd_get_section_contents (abfd, sec, compressed_buffer,
- 0, compressed_size);
- /* Restore rawsize and size. */
- sec->rawsize = rawsize;
- sec->size = uncompressed_size;
- if (!ret)
- {
-fail_compressed:
+ /* Read in the full compressed section contents. */
+ uncompressed_size = sec->size;
+ compressed_size = sec->compressed_size;
+ compressed_buffer = (bfd_byte *) bfd_malloc (compressed_size);
+ if (compressed_buffer == NULL)
+ return FALSE;
+ rawsize = sec->rawsize;
+ /* Clear rawsize, set size to compressed size and set compress_status
+ to COMPRESS_SECTION_NONE. If the compressed size is bigger than
+ the uncompressed size, bfd_get_section_contents will fail. */
+ sec->rawsize = 0;
+ sec->size = compressed_size;
+ sec->compress_status = COMPRESS_SECTION_NONE;
+ ret = bfd_get_section_contents (abfd, sec, compressed_buffer,
+ 0, compressed_size);
+ /* Restore rawsize and size. */
+ sec->rawsize = rawsize;
+ sec->size = uncompressed_size;
sec->compress_status = DECOMPRESS_SECTION_SIZED;
- free (compressed_buffer);
- return ret;
- }
+ if (!ret)
+ goto fail_compressed;
- /* Decompress to caller buffer directly if it is provided. */
- if (p)
- uncompressed_buffer = p;
- else
- {
uncompressed_buffer = (bfd_byte *) bfd_malloc (uncompressed_size);
if (uncompressed_buffer == NULL)
goto fail_compressed;
- }
- if (!decompress_contents (compressed_buffer, compressed_size,
- uncompressed_buffer, uncompressed_size))
- {
- sec->compress_status = DECOMPRESS_SECTION_SIZED;
- free (compressed_buffer);
- if (p == NULL)
- free (uncompressed_buffer);
- bfd_set_error (bfd_error_bad_value);
- return FALSE;
- }
+ if (!decompress_contents (compressed_buffer, compressed_size,
+ uncompressed_buffer, uncompressed_size))
+ {
+ bfd_set_error (bfd_error_bad_value);
+ free (uncompressed_buffer);
+ fail_compressed:
+ free (compressed_buffer);
+ return FALSE;
+ }
- free (compressed_buffer);
- if (p == NULL)
- *ptr = uncompressed_buffer;
+ free (compressed_buffer);
+ sec->contents = uncompressed_buffer;
+ sec->compress_status = COMPRESS_SECTION_DONE;
+ /* Fall thru */
+#endif
- sec->contents = uncompressed_buffer;
- sec->compress_status = COMPRESS_SECTION_DONE;
+ case COMPRESS_SECTION_DONE:
+ if (p == NULL)
+ {
+ p = (bfd_byte *) bfd_malloc (sz);
+ if (p == NULL)
+ return FALSE;
+ *ptr = p;
+ }
+ memcpy (p, sec->contents, sz);
+ return TRUE;
- return TRUE;
-#endif
+ default:
+ abort ();
+ }
}
/*
EXTR esym;
bfd_boolean def;
const char *name;
- bfd *subsbfd;
+ bfd *oldbfd;
struct bfd_link_hash_entry *h;
(*swap_ext_in) (abfd, (void *) ext_ptr, &esym);
continue;
/* Include this element. */
- subsbfd = NULL;
- if (! (*info->callbacks->add_archive_element)
- (info, abfd, name, &subsbfd))
+ oldbfd = abfd;
+ if (!(*info->callbacks
+ ->add_archive_element) (info, abfd, name, &abfd))
goto error_return;
/* Potentially, the add_archive_element hook may have set a
substitute BFD for us. */
- if (subsbfd
+ if (abfd != oldbfd
&& !reread_ext_syms_and_strs (&symhdr, &external_ext_size, &esize,
- &external_ext, &ssext, subsbfd, backend))
+ &external_ext, &ssext, abfd, backend))
goto error_return;
- if (! ecoff_link_add_externals (subsbfd ? subsbfd : abfd, info,
- external_ext, ssext))
+ if (! ecoff_link_add_externals (abfd, info, external_ext, ssext))
goto error_return;
*pneeded = TRUE;
unsigned int file_offset;
const char *name;
bfd *element;
- bfd *subsbfd;
h = *pundef;
/* Unlike the generic linker, we know that this element provides
a definition for an undefined symbol and we know that we want
to include it. We don't need to check anything. */
- subsbfd = NULL;
- if (! (*info->callbacks->add_archive_element)
- (info, element, name, &subsbfd))
+ if (!(*info->callbacks
+ ->add_archive_element) (info, element, name, &element))
return FALSE;
- /* Potentially, the add_archive_element hook may have set a
- substitute BFD for us. */
- if (! ecoff_link_add_object_symbols (subsbfd ? subsbfd : element, info))
+ if (! ecoff_link_add_object_symbols (element, info))
return FALSE;
pundef = &(*pundef)->u.undef.next;
/* Only pass on attributes that match in both inputs. */
if (in_attr[tag].i != out_attr[tag].i
- || in_attr[tag].s != out_attr[tag].s
+ || (in_attr[tag].s == NULL) != (out_attr[tag].s == NULL)
|| (in_attr[tag].s != NULL && out_attr[tag].s != NULL
&& strcmp (in_attr[tag].s, out_attr[tag].s) != 0))
{
/* Only pass on attributes that match in both inputs. */
if (in_list->attr.i != out_list->attr.i
- || in_list->attr.s != out_list->attr.s
+ || (in_list->attr.s == NULL) != (out_list->attr.s == NULL)
|| (in_list->attr.s && out_list->attr.s
&& strcmp (in_list->attr.s, out_list->attr.s) != 0))
{
break;
case DW_EH_PE_datarel:
{
- asection *got = bfd_get_section_by_name (abfd, ".got");
-
- BFD_ASSERT (got != NULL);
- address += got->vma;
+ switch (abfd->arch_info->arch)
+ {
+ case bfd_arch_ia64:
+ BFD_ASSERT (elf_gp (abfd) != 0);
+ address += elf_gp (abfd);
+ break;
+ default:
+ (*info->callbacks->einfo)
+ (_("%P: DW_EH_PE_datarel unspecified"
+ " for this architecture.\n"));
+ /* Fall thru */
+ case bfd_arch_frv:
+ case bfd_arch_i386:
+ BFD_ASSERT (htab->hgot != NULL
+ && ((htab->hgot->root.type
+ == bfd_link_hash_defined)
+ || (htab->hgot->root.type
+ == bfd_link_hash_defweak)));
+ address
+ += (htab->hgot->root.u.def.value
+ + htab->hgot->root.u.def.section->output_offset
+ + (htab->hgot->root.u.def.section->output_section
+ ->vma));
+ break;
+ }
}
break;
case DW_EH_PE_pcrel:
if (hdr_info)
{
+ /* The address calculation may overflow, giving us a
+ value greater than 4G on a 32-bit target when
+ dwarf_vma is 64-bit. */
+ if (sizeof (address) > 4 && ptr_size == 4)
+ address &= 0xffffffff;
hdr_info->array[hdr_info->array_count].initial_loc = address;
hdr_info->array[hdr_info->array_count++].fde
= (sec->output_section->vma
/* ELF executable support for BFD.
Copyright 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
- 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
+ 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
Free Software Foundation, Inc.
This file is part of BFD, the Binary File Descriptor library.
const struct elf_backend_data *bed;
if (hdr->bfd_section != NULL)
- {
- BFD_ASSERT (strcmp (name,
- bfd_get_section_name (abfd, hdr->bfd_section)) == 0);
- return TRUE;
- }
+ return TRUE;
newsect = bfd_make_section_anyway (abfd, name);
if (newsect == NULL)
|| (name[1] == 'z' && name[7] == '_')))
{
enum { nothing, compress, decompress } action = nothing;
+ char *new_name;
if (bfd_is_section_compressed (abfd, newsect))
{
action = compress;
}
+ new_name = NULL;
switch (action)
{
case nothing:
abfd, name);
return FALSE;
}
+ if (name[1] != 'z')
+ {
+ unsigned int len = strlen (name);
+
+ new_name = bfd_alloc (abfd, len + 2);
+ if (new_name == NULL)
+ return FALSE;
+ new_name[0] = '.';
+ new_name[1] = 'z';
+ memcpy (new_name + 2, name + 1, len);
+ }
break;
case decompress:
if (!bfd_init_section_decompress_status (abfd, newsect))
abfd, name);
return FALSE;
}
+ if (name[1] == 'z')
+ {
+ unsigned int len = strlen (name);
+
+ new_name = bfd_alloc (abfd, len);
+ if (new_name == NULL)
+ return FALSE;
+ new_name[0] = '.';
+ memcpy (new_name + 1, name + 2, len - 1);
+ }
break;
}
+ if (new_name != NULL)
+ bfd_rename_section (abfd, newsect, new_name);
}
return TRUE;
(unsigned int) m->p_type);
pt = buf;
}
+ fflush (stdout);
fprintf (stderr, "%s:", pt);
for (j = 0; j < m->count; j++)
fprintf (stderr, " %s", m->sections [j]->name);
putc ('\n',stderr);
+ fflush (stderr);
}
static bfd_boolean
/* ADI Blackfin BFD support for 32-bit ELF.
- Copyright 2005, 2006, 2007, 2008, 2009, 2010
+ Copyright 2005, 2006, 2007, 2008, 2009, 2010, 2011
Free Software Foundation, Inc.
This file is part of BFD, the Binary File Descriptor library.
/* if rightshift is 1 and the number odd, return error. */
if (howto->rightshift && (relocation & 0x01))
{
- fprintf(stderr, "relocation should be even number\n");
+ (*_bfd_error_handler) (_("relocation should be even number"));
return bfd_reloc_overflow;
}
/* If rightshift is 1 and the number odd, return error. */
if (howto->rightshift && (relocation & 0x01))
{
- fprintf(stderr, "relocation should be even number\n");
+ (*_bfd_error_handler) (_("relocation should be even number"));
return bfd_reloc_overflow;
}
&& (info->symbolic
|| h->dynindx == -1 || h->forced_local) && h->def_regular)
{
- fprintf(stderr, "*** check this relocation %s\n", __FUNCTION__);
+ (*_bfd_error_handler) (_("*** check this relocation %s"),
+ __FUNCTION__);
rela.r_info = ELF32_R_INFO (0, R_BFIN_PCREL24);
rela.r_addend = bfd_get_signed_32 (output_bfd,
(sgot->contents
/* DLX specific support for 32-bit ELF
- Copyright 2002, 2003, 2004, 2005, 2006, 2007
+ Copyright 2002, 2003, 2004, 2005, 2006, 2007, 2011
Free Software Foundation, Inc.
This file is part of BFD, the Binary File Descriptor library.
/* Can not support a long jump to sections other then .text. */
if (strcmp (input_section->name, symbol->section->output_section->name) != 0)
{
- fprintf (stderr,
- "BFD Link Error: branch (PC rel16) to section (%s) not supported\n",
- symbol->section->output_section->name);
+ (*_bfd_error_handler) (_("BFD Link Error: branch (PC rel16) to section (%s) not supported"),
+ symbol->section->output_section->name);
return bfd_reloc_undefined;
}
/* Can not support a long jump to sections other then .text */
if (strcmp (input_section->name, symbol->section->output_section->name) != 0)
{
- fprintf (stderr,
- "BFD Link Error: jump (PC rel26) to section (%s) not supported\n",
- symbol->section->output_section->name);
+ (*_bfd_error_handler) (_("BFD Link Error: jump (PC rel26) to section (%s) not supported"),
+ symbol->section->output_section->name);
return bfd_reloc_undefined;
}
/* MeP-specific support for 32-bit ELF.
- Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
- Free Software Foundation, Inc.
+ Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
+ 2010, 2011 Free Software Foundation, Inc.
This file is part of BFD, the Binary File Descriptor library.
default:
/* Pacify gcc -Wall. */
- fprintf (stderr, "mep: no reloc for code %d\n", code);
+ (*_bfd_error_handler) (_("mep: no reloc for code %d"), code);
return NULL;
}
if (mep_elf_howto_table[type].type != type)
{
- fprintf (stderr, "MeP: howto %d has type %d\n", type, mep_elf_howto_table[type].type);
+ (*_bfd_error_handler) (_("MeP: howto %d has type %d"),
+ type, mep_elf_howto_table[type].type);
abort ();
}
/* V850-specific support for 32-bit ELF
Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
- 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+ 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
This file is part of BFD, the Binary File Descriptor library.
}
else
{
- fprintf (stderr, _("FAILED to find previous HI16 reloc\n"));
+ (*_bfd_error_handler) (_("FAILED to find previous HI16 reloc"));
return FALSE;
}
}
if (srel_name == NULL)
return FALSE;
- BFD_ASSERT ((CONST_STRNEQ (srel_name, ".rela")
- && strcmp (bfd_get_section_name (abfd, sec),
- srel_name + 5) == 0)
- || (CONST_STRNEQ (srel_name, ".rel")
- && strcmp (bfd_get_section_name (abfd, sec),
- srel_name + 4) == 0));
-
dynobj = hppa_info->root.dynobj;
if (!dynobj)
hppa_info->root.dynobj = dynobj = abfd;
{
struct elf_link_hash_entry *h;
bfd *element;
- bfd *subsbfd = NULL;
struct bfd_link_hash_entry *undefs_tail;
symindex mark;
undefs_tail = info->hash->undefs_tail;
- if (! (*info->callbacks->add_archive_element)
- (info, element, symdef->name, &subsbfd))
+ if (!(*info->callbacks
+ ->add_archive_element) (info, element, symdef->name, &element))
goto error_return;
- /* Potentially, the add_archive_element hook may have set a
- substitute BFD for us. */
- if (! bfd_link_add_symbols (subsbfd ? subsbfd : element, info))
+ if (!bfd_link_add_symbols (element, info))
goto error_return;
/* If there are any new undefined symbols, we need to make
h->ref_regular ? NULL : h->root.u.undef.abfd,
NULL, 0, finfo->info->unresolved_syms_in_shared_libs == RM_GENERATE_ERROR)))
{
+ bfd_set_error (bfd_error_bad_value);
eoinfo->failed = TRUE;
return FALSE;
}
&& !h->dynamic_weak
&& ! elf_link_check_versioned_symbol (finfo->info, bed, h))
{
- (*_bfd_error_handler)
- (_("%B: %s symbol `%s' in %B is referenced by DSO"),
- finfo->output_bfd,
- h->root.u.def.section == bfd_abs_section_ptr
- ? finfo->output_bfd : h->root.u.def.section->owner,
- ELF_ST_VISIBILITY (h->other) == STV_INTERNAL
- ? "internal"
- : ELF_ST_VISIBILITY (h->other) == STV_HIDDEN
- ? "hidden" : "local",
- h->root.root.string);
+ bfd *def_bfd;
+ const char *msg;
+
+ if (ELF_ST_VISIBILITY (h->other) == STV_INTERNAL)
+ msg = _("%B: internal symbol `%s' in %B is referenced by DSO");
+ else if (ELF_ST_VISIBILITY (h->other) == STV_HIDDEN)
+ msg = _("%B: hidden symbol `%s' in %B is referenced by DSO");
+ else
+ msg = _("%B: local symbol `%s' in %B is referenced by DSO");
+ def_bfd = finfo->output_bfd;
+ if (h->root.u.def.section != bfd_abs_section_ptr)
+ def_bfd = h->root.u.def.section->owner;
+ (*_bfd_error_handler) (msg, finfo->output_bfd, def_bfd,
+ h->root.root.string);
+ bfd_set_error (bfd_error_bad_value);
eoinfo->failed = TRUE;
return FALSE;
}
(*_bfd_error_handler)
(_("%B: could not find output section %A for input section %A"),
finfo->output_bfd, input_sec->output_section, input_sec);
+ bfd_set_error (bfd_error_nonrepresentable_section);
eoinfo->failed = TRUE;
return FALSE;
}
&& h->root.type == bfd_link_hash_undefined
&& !h->def_regular)
{
- (*_bfd_error_handler)
- (_("%B: %s symbol `%s' isn't defined"),
- finfo->output_bfd,
- ELF_ST_VISIBILITY (sym.st_other) == STV_PROTECTED
- ? "protected"
- : ELF_ST_VISIBILITY (sym.st_other) == STV_INTERNAL
- ? "internal" : "hidden",
- h->root.root.string);
+ const char *msg;
+
+ if (ELF_ST_VISIBILITY (sym.st_other) == STV_PROTECTED)
+ msg = _("%B: protected symbol `%s' isn't defined");
+ else if (ELF_ST_VISIBILITY (sym.st_other) == STV_INTERNAL)
+ msg = _("%B: internal symbol `%s' isn't defined");
+ else
+ msg = _("%B: hidden symbol `%s' isn't defined");
+ (*_bfd_error_handler) (msg, finfo->output_bfd, h->root.root.string);
+ bfd_set_error (bfd_error_bad_value);
eoinfo->failed = TRUE;
return FALSE;
}
if (srel_name == NULL)
return NULL;
- BFD_ASSERT ((CONST_STRNEQ (srel_name, ".rela")
- && strcmp (bfd_get_section_name (abfd, sec),
- srel_name+5) == 0)
- || (CONST_STRNEQ (srel_name, ".rel")
- && strcmp (bfd_get_section_name (abfd, sec),
- srel_name+4) == 0));
-
dynobj = ia64_info->root.dynobj;
if (!dynobj)
ia64_info->root.dynobj = dynobj = abfd;
for (sec = ibfd->sections; sec != NULL; sec = sec->next)
{
/* Ignore synthetic sections and empty .text, .data and .bss sections
- which are automatically generated by gas. */
- if (strcmp (sec->name, ".reginfo")
+ which are automatically generated by gas. Also ignore fake
+ (s)common sections, since merely defining a common symbol does
+ not affect compatibility. */
+ if ((sec->flags & SEC_IS_COMMON) == 0
+ && strcmp (sec->name, ".reginfo")
&& strcmp (sec->name, ".mdebug")
&& (sec->size != 0
|| (strcmp (sec->name, ".text")
/* hash.c -- hash table routines for BFD
Copyright 1993, 1994, 1995, 1997, 1999, 2001, 2002, 2003, 2004, 2005,
- 2006, 2007, 2009 Free Software Foundation, Inc.
+ 2006, 2007, 2009, 2010 Free Software Foundation, Inc.
Written by Steve Chamberlain <sac@cygnus.com>
This file is part of BFD, the Binary File Descriptor library.
table->memory = NULL;
}
-/* Look up a string in a hash table. */
-
-struct bfd_hash_entry *
-bfd_hash_lookup (struct bfd_hash_table *table,
- const char *string,
- bfd_boolean create,
- bfd_boolean copy)
+static inline unsigned long
+bfd_hash_hash (const char *string, unsigned int *lenp)
{
const unsigned char *s;
unsigned long hash;
- unsigned int c;
- struct bfd_hash_entry *hashp;
unsigned int len;
- unsigned int _index;
+ unsigned int c;
hash = 0;
len = 0;
len = (s - (const unsigned char *) string) - 1;
hash += len + (len << 17);
hash ^= hash >> 2;
+ if (lenp != NULL)
+ *lenp = len;
+ return hash;
+}
+
+/* Look up a string in a hash table. */
+struct bfd_hash_entry *
+bfd_hash_lookup (struct bfd_hash_table *table,
+ const char *string,
+ bfd_boolean create,
+ bfd_boolean copy)
+{
+ unsigned long hash;
+ struct bfd_hash_entry *hashp;
+ unsigned int len;
+ unsigned int _index;
+
+ hash = bfd_hash_hash (string, &len);
_index = hash % table->size;
for (hashp = table->table[_index];
hashp != NULL;
return hashp;
}
+/* Rename an entry in a hash table. */
+
+void
+bfd_hash_rename (struct bfd_hash_table *table,
+ const char *string,
+ struct bfd_hash_entry *ent)
+{
+ unsigned int _index;
+ struct bfd_hash_entry **pph;
+
+ _index = ent->hash % table->size;
+ for (pph = &table->table[_index]; *pph != NULL; pph = &(*pph)->next)
+ if (*pph == ent)
+ break;
+ if (*pph == NULL)
+ abort ();
+
+ *pph = ent->next;
+ ent->string = string;
+ ent->hash = bfd_hash_hash (string, NULL);
+ _index = ent->hash % table->size;
+ ent->next = table->table[_index];
+ table->table[_index] = ent;
+}
+
/* Replace an entry in a hash table. */
void
/* Assorted BFD support routines, only used internally.
Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
- 2000, 2001, 2002, 2003, 2004, 2005, 2007, 2008, 2009
+ 2000, 2001, 2002, 2003, 2004, 2005, 2007, 2008, 2009, 2010, 2011
Free Software Foundation, Inc.
Written by Cygnus Support.
if (~(size_t) func & ~mask)
{
+ fflush (stdout);
/* Note: separate sentences in order to allow
for translation into other languages. */
if (func)
what, file, line, func);
else
fprintf (stderr, _("Deprecated %s called\n"), what);
+ fflush (stderr);
mask |= ~(size_t) func;
}
}
{
bfd_size_type symcount;
asymbol **symbols;
- bfd *subsbfd = NULL;
+ bfd *oldbfd = abfd;
/* This object file defines this symbol, so pull it in. */
- if (! (*info->callbacks->add_archive_element)
- (info, abfd, bfd_asymbol_name (p), &subsbfd))
+ if (!(*info->callbacks
+ ->add_archive_element) (info, abfd, bfd_asymbol_name (p),
+ &abfd))
return FALSE;
/* Potentially, the add_archive_element hook may have set a
substitute BFD for us. */
- if (subsbfd)
- {
- abfd = subsbfd;
- if (!bfd_generic_link_read_symbols (abfd))
- return FALSE;
- }
+ if (abfd != oldbfd
+ && !bfd_generic_link_read_symbols (abfd))
+ return FALSE;
symcount = _bfd_generic_link_get_symcount (abfd);
symbols = _bfd_generic_link_get_symbols (abfd);
if (! generic_link_add_symbol_list (abfd, info, symcount,
symbfd = h->u.undef.abfd;
if (symbfd == NULL)
{
- bfd *subsbfd = NULL;
/* This symbol was created as undefined from outside
BFD. We assume that we should link in the object
file. This is for the -u option in the linker. */
- if (! (*info->callbacks->add_archive_element)
- (info, abfd, bfd_asymbol_name (p), &subsbfd))
+ if (!(*info->callbacks
+ ->add_archive_element) (info, abfd, bfd_asymbol_name (p),
+ &abfd))
return FALSE;
/* Potentially, the add_archive_element hook may have set a
substitute BFD for us. But no symbols are going to get
/* Mach-O support for BFD.
Copyright 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008,
- 2009, 2010
+ 2009, 2010, 2011
Free Software Foundation, Inc.
This file is part of BFD, the Binary File Descriptor library.
if (bfd_mach_o_read_symtab_symbols (abfd) != 0)
{
- fprintf (stderr,
- "bfd_mach_o_canonicalize_symtab: unable to load symbols\n");
+ (*_bfd_error_handler) (_("bfd_mach_o_canonicalize_symtab: unable to load symbols"));
return 0;
}
case BFD_MACH_O_LC_SUB_FRAMEWORK:
break;
default:
- fprintf (stderr,
- "unable to write unknown load command 0x%lx\n",
- (unsigned long) cur->type);
+ (*_bfd_error_handler) (_("unable to write unknown load command 0x%lx"),
+ (unsigned long) cur->type);
return FALSE;
}
}
if (bfd_seek (abfd, symoff, SEEK_SET) != 0
|| bfd_bread ((void *) buf, symwidth, abfd) != symwidth)
{
- fprintf (stderr, "bfd_mach_o_read_symtab_symbol: unable to read %d bytes at %lu\n",
- symwidth, (unsigned long) symoff);
+ (*_bfd_error_handler) (_("bfd_mach_o_read_symtab_symbol: unable to read %d bytes at %lu"),
+ symwidth, (unsigned long) symoff);
return -1;
}
if (stroff >= sym->strsize)
{
- fprintf (stderr, "bfd_mach_o_read_symtab_symbol: symbol name out of range (%lu >= %lu)\n",
- (unsigned long) stroff, (unsigned long) sym->strsize);
+ (*_bfd_error_handler) (_("bfd_mach_o_read_symtab_symbol: symbol name out of range (%lu >= %lu)"),
+ (unsigned long) stroff,
+ (unsigned long) sym->strsize);
return -1;
}
/* Mach-O uses 0 to mean "no section"; not an error. */
if (section != 0)
{
- fprintf (stderr, "bfd_mach_o_read_symtab_symbol: "
- "symbol \"%s\" specified invalid section %d (max %lu): setting to undefined\n",
- s->symbol.name, section, mdata->nsects);
+ (*_bfd_error_handler) (_("bfd_mach_o_read_symtab_symbol: "
+ "symbol \"%s\" specified invalid section %d (max %lu): setting to undefined"),
+ s->symbol.name, section, mdata->nsects);
}
s->symbol.section = bfd_und_section_ptr;
}
break;
case BFD_MACH_O_N_INDR:
- fprintf (stderr, "bfd_mach_o_read_symtab_symbol: "
- "symbol \"%s\" is unsupported 'indirect' reference: setting to undefined\n",
- s->symbol.name);
+ (*_bfd_error_handler) (_("bfd_mach_o_read_symtab_symbol: "
+ "symbol \"%s\" is unsupported 'indirect' reference: setting to undefined"),
+ s->symbol.name);
s->symbol.section = bfd_und_section_ptr;
break;
default:
- fprintf (stderr, "bfd_mach_o_read_symtab_symbol: "
- "symbol \"%s\" specified invalid type field 0x%x: setting to undefined\n",
- s->symbol.name, symtype);
+ (*_bfd_error_handler) (_("bfd_mach_o_read_symtab_symbol: "
+ "symbol \"%s\" specified invalid type field 0x%x: setting to undefined"),
+ s->symbol.name, symtype);
s->symbol.section = bfd_und_section_ptr;
break;
}
if (sym->symbols == NULL)
{
- fprintf (stderr, "bfd_mach_o_read_symtab_symbols: unable to allocate memory for symbols\n");
+ (*_bfd_error_handler) (_("bfd_mach_o_read_symtab_symbols: unable to allocate memory for symbols"));
return -1;
}
if (bfd_seek (abfd, isymoff, SEEK_SET) != 0
|| bfd_bread ((void *) buf, 4, abfd) != 4)
{
- fprintf (stderr, "bfd_mach_o_read_dysymtab_symbol: unable to read %lu bytes at %lu\n",
- (unsigned long) 4, isymoff);
+ (*_bfd_error_handler) (_("bfd_mach_o_read_dysymtab_symbol: unable to read %lu bytes at %lu"),
+ (unsigned long) 4, isymoff);
return -1;
}
sym_index = bfd_h_get_32 (abfd, buf);
return -1;
break;
default:
- fprintf (stderr, "unable to read unknown load command 0x%lx\n",
- (unsigned long) command->type);
+ (*_bfd_error_handler) (_("unable to read unknown load command 0x%lx"),
+ (unsigned long) command->type);
break;
}
&cputype, &cpusubtype);
if (cputype == bfd_arch_unknown)
{
- fprintf (stderr, "bfd_mach_o_scan: unknown architecture 0x%lx/0x%lx\n",
- header->cputype, header->cpusubtype);
+ (*_bfd_error_handler) (_("bfd_mach_o_scan: unknown architecture 0x%lx/0x%lx"),
+ header->cputype, header->cpusubtype);
return -1;
}
if (! (header.byteorder == BFD_ENDIAN_BIG
|| header.byteorder == BFD_ENDIAN_LITTLE))
{
- fprintf (stderr, "unknown header byte-order value 0x%lx\n",
- (unsigned long) header.byteorder);
+ (*_bfd_error_handler) (_("unknown header byte-order value 0x%lx"),
+ (unsigned long) header.byteorder);
goto wrong;
}
but not if it is defined in the .text section. That
seems a bit crazy to me, and I haven't implemented it.
However, it might be correct. */
- if (! (*info->callbacks->add_archive_element)
- (info, abfd, name, subsbfd))
+ if (!(*info->callbacks
+ ->add_archive_element) (info, abfd, name, subsbfd))
return FALSE;
*pneeded = TRUE;
return TRUE;
outside BFD. We assume that we should link
in the object file. This is done for the -u
option in the linker. */
- if (! (*info->callbacks->add_archive_element)
- (info, abfd, name, subsbfd))
+ if (!(*info->callbacks
+ ->add_archive_element) (info, abfd, name, subsbfd))
return FALSE;
*pneeded = TRUE;
return TRUE;
struct bfd_link_info *info,
bfd_boolean *pneeded)
{
- bfd *subsbfd = NULL;
+ bfd *oldbfd;
+ bfd_boolean needed;
- if (! aout_get_external_symbols (abfd))
+ if (!aout_get_external_symbols (abfd))
return FALSE;
- if (! aout_link_check_ar_symbols (abfd, info, pneeded, &subsbfd))
+ oldbfd = abfd;
+ if (!aout_link_check_ar_symbols (abfd, info, pneeded, &abfd))
return FALSE;
- if (*pneeded)
+ needed = *pneeded;
+ if (needed)
{
/* Potentially, the add_archive_element hook may have set a
substitute BFD for us. */
- if (subsbfd && ! aout_get_external_symbols (subsbfd))
- return FALSE;
- if (! aout_link_add_symbols (subsbfd ? subsbfd : abfd, info))
+ if (abfd != oldbfd)
+ {
+ if (!info->keep_memory
+ && !aout_link_free_symbols (oldbfd))
+ return FALSE;
+ if (!aout_get_external_symbols (abfd))
+ return FALSE;
+ }
+ if (!aout_link_add_symbols (abfd, info))
return FALSE;
}
- if (! info->keep_memory || ! *pneeded)
+ if (!info->keep_memory || !needed)
{
- if (! aout_link_free_symbols (abfd))
+ if (!aout_link_free_symbols (abfd))
return FALSE;
}
/* PEF support for BFD.
- Copyright 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
- Free Software Foundation, Inc.
+ Copyright 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008,
+ 2009, 2011 Free Software Foundation, Inc.
This file is part of BFD, the Binary File Descriptor library.
bfd_pef_convert_architecture (header->architecture, &cputype, &cpusubtype);
if (cputype == bfd_arch_unknown)
{
- fprintf (stderr, "bfd_pef_scan: unknown architecture 0x%lx\n",
- header->architecture);
+ (*_bfd_error_handler) (_("bfd_pef_scan: unknown architecture 0x%lx"),
+ header->architecture);
return -1;
}
bfd_set_arch_mach (abfd, cputype, cpusubtype);
va_start (args, format);
printf ("bfd plugin: ");
vprintf (format, args);
+ putchar ('\n');
va_end (args);
return LDPS_OK;
}
reloc.c
reloc16.c
riscix.c
+rs6000-core.c
sco5-core.c
section.c
simple.c
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: bug-binutils@gnu.org\n"
-"POT-Creation-Date: 2010-11-05 11:31+0100\n"
+"POT-Creation-Date: 2011-02-01 22:23+1030\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
msgid "*unknown*"
msgstr ""
-#: aoutx.h:4007 aoutx.h:4333
+#: aoutx.h:4016 aoutx.h:4342
msgid "%P: %B: unexpected relocation type\n"
msgstr ""
-#: aoutx.h:5364
+#: aoutx.h:5373
#, c-format
msgid "%s: relocatable link from %s to %s not supported"
msgstr ""
-#: archive.c:2125
+#: archive.c:2120
msgid "Warning: writing archive was slow: rewriting timestamp\n"
msgstr ""
-#: archive.c:2416
+#: archive.c:2411
msgid "Reading archive file mod timestamp"
msgstr ""
-#: archive.c:2440
+#: archive.c:2435
msgid "Writing updated armap timestamp"
msgstr ""
msgid "#<Invalid error code>"
msgstr ""
-#: bfd.c:939
+#: bfd.c:942
#, c-format
msgid "BFD %s assertion fail %s:%d"
msgstr ""
-#: bfd.c:951
+#: bfd.c:954
#, c-format
msgid "BFD %s internal error, aborting at %s line %d in %s\n"
msgstr ""
-#: bfd.c:955
+#: bfd.c:958
#, c-format
msgid "BFD %s internal error, aborting at %s line %d\n"
msgstr ""
-#: bfd.c:957
+#: bfd.c:960
msgid "Please report this bug.\n"
msgstr ""
msgstr ""
#: coff-alpha.c:1575 elf32-m32r.c:2493 elf64-alpha.c:3991 elf64-alpha.c:4140
-#: elf32-ia64.c:4582 elf64-ia64.c:4582
+#: elf32-ia64.c:4575 elf64-ia64.c:4575
msgid "%B: unknown relocation type %d"
msgstr ""
" consider relinking with --support-old-code enabled"
msgstr ""
-#: coff-arm.c:1754 coff-tic80.c:695 cofflink.c:3043
+#: coff-arm.c:1754 coff-tic80.c:695 cofflink.c:3052
msgid "%B: bad reloc address 0x%lx in section `%A'"
msgstr ""
msgid "error: %B is compiled for APCS-%d, whereas %B is compiled for APCS-%d"
msgstr ""
-#: coff-arm.c:2226 elf32-arm.c:14105
+#: coff-arm.c:2226 elf32-arm.c:14098
#, c-format
msgid ""
"error: %B passes floats in float registers, whereas %B passes them in "
"integer registers"
msgstr ""
-#: coff-arm.c:2229 elf32-arm.c:14109
+#: coff-arm.c:2229 elf32-arm.c:14102
#, c-format
msgid ""
"error: %B passes floats in integer registers, whereas %B passes them in "
"position independent"
msgstr ""
-#: coff-arm.c:2274 elf32-arm.c:14174
+#: coff-arm.c:2274 elf32-arm.c:14167
#, c-format
msgid "Warning: %B supports interworking, whereas %B does not"
msgstr ""
-#: coff-arm.c:2277 elf32-arm.c:14180
+#: coff-arm.c:2277 elf32-arm.c:14173
#, c-format
msgid "Warning: %B does not support interworking, whereas %B does"
msgstr ""
msgid "private flags = %x:"
msgstr ""
-#: coff-arm.c:2309 elf32-arm.c:10492
+#: coff-arm.c:2309 elf32-arm.c:10485
#, c-format
msgid " [floats passed in float registers]"
msgstr ""
msgid " [floats passed in integer registers]"
msgstr ""
-#: coff-arm.c:2314 elf32-arm.c:10495
+#: coff-arm.c:2314 elf32-arm.c:10488
#, c-format
msgid " [position independent]"
msgstr ""
#: coff-i860.c:147
#, c-format
-msgid "Relocation `%s' not yet implemented\n"
+msgid "relocation `%s' not yet implemented"
msgstr ""
#: coff-i860.c:605 coff-tic54x.c:398 coffcode.h:5147
msgid "uncertain calling convention for non-COFF symbol"
msgstr ""
-#: coff-m68k.c:506 elf32-bfin.c:5678 elf32-cr16.c:2897 elf32-m68k.c:4672
+#: coff-m68k.c:506 elf32-bfin.c:5679 elf32-cr16.c:2897 elf32-m68k.c:4672
msgid "unsupported reloc type"
msgstr ""
msgid "%B: symbol `%s' has unrecognized smclas %d"
msgstr ""
+#: coff-sh.c:521
+#, c-format
+msgid "SH Error: unknown reloc type %d"
+msgstr ""
+
#: coff-tic4x.c:195 coff-tic54x.c:299 coff-tic80.c:458
#, c-format
msgid "Unrecognized reloc type 0x%x"
msgid "%B: bad string table size %lu"
msgstr ""
-#: cofflink.c:524 elflink.c:4339
+#: cofflink.c:533 elflink.c:4339
msgid "Warning: type of symbol `%s' changed from %d to %d in %B"
msgstr ""
-#: cofflink.c:2321
+#: cofflink.c:2330
msgid "%B: relocs in section `%A', but it has no contents"
msgstr ""
-#: cofflink.c:2652 coffswap.h:826
+#: cofflink.c:2661 coffswap.h:826
#, c-format
msgid "%s: %s: reloc overflow: 0x%lx > 0xffff"
msgstr ""
-#: cofflink.c:2661 coffswap.h:812
+#: cofflink.c:2670 coffswap.h:812
#, c-format
msgid "%s: warning: %s: line number overflow: 0x%lx > 0xffff"
msgstr ""
"%P: fde encoding in %B(%A) prevents .eh_frame_hdr table being created.\n"
msgstr ""
+#: elf-eh-frame.c:1583
+msgid "%P: DW_EH_PE_datarel unspecified for this architecture.\n"
+msgstr ""
+
#: elf-ifunc.c:179
msgid ""
"%F%P: dynamic STT_GNU_IFUNC symbol `%s' with pointer equality in `%B' can "
#: elf32-cr16.c:1482 elf32-cr16c.c:780 elf32-cris.c:2077 elf32-crx.c:922
#: elf32-d10v.c:509 elf32-fr30.c:609 elf32-frv.c:4111 elf32-h8300.c:509
#: elf32-i860.c:1211 elf32-ip2k.c:1468 elf32-iq2000.c:684 elf32-lm32.c:1168
-#: elf32-m32c.c:553 elf32-m32r.c:3111 elf32-m68hc1x.c:1138 elf32-mep.c:534
+#: elf32-m32c.c:553 elf32-m32r.c:3111 elf32-m68hc1x.c:1138 elf32-mep.c:535
#: elf32-microblaze.c:1231 elf32-moxie.c:282 elf32-msp430.c:486 elf32-mt.c:395
#: elf32-openrisc.c:404 elf32-score.c:2731 elf32-score7.c:2540
#: elf32-spu.c:5042 elf32-v850.c:2143 elf32-xstormy16.c:941 elf64-mmix.c:1522
#: elf32-cr16.c:1486 elf32-cr16c.c:784 elf32-cris.c:2081 elf32-crx.c:926
#: elf32-d10v.c:513 elf32-fr30.c:613 elf32-frv.c:4115 elf32-h8300.c:513
#: elf32-i860.c:1215 elf32-iq2000.c:688 elf32-lm32.c:1172 elf32-m32c.c:557
-#: elf32-m32r.c:3115 elf32-m68hc1x.c:1142 elf32-mep.c:538
+#: elf32-m32r.c:3115 elf32-m68hc1x.c:1142 elf32-mep.c:539
#: elf32-microblaze.c:1235 elf32-moxie.c:286 elf32-msp430.c:490
#: elf32-openrisc.c:408 elf32-score.c:2735 elf32-score7.c:2544
#: elf32-spu.c:5046 elf32-v850.c:2147 elf32-xstormy16.c:945 elf64-mmix.c:1526
#: elf32-cr16.c:1494 elf32-cr16c.c:792 elf32-cris.c:2089 elf32-crx.c:934
#: elf32-d10v.c:521 elf32-fr30.c:621 elf32-frv.c:4123 elf32-h8300.c:521
#: elf32-i860.c:1223 elf32-ip2k.c:1483 elf32-iq2000.c:696 elf32-lm32.c:1180
-#: elf32-m32c.c:565 elf32-m32r.c:3123 elf32-m68hc1x.c:1150 elf32-mep.c:546
+#: elf32-m32c.c:565 elf32-m32r.c:3123 elf32-m68hc1x.c:1150 elf32-mep.c:547
#: elf32-microblaze.c:1243 elf32-moxie.c:294 elf32-msp430.c:498 elf32-mt.c:403
#: elf32-openrisc.c:416 elf32-score.c:2748 elf32-score7.c:2552
#: elf32-spu.c:5054 elf32-v850.c:2167 elf32-xstormy16.c:953 elf64-mmix.c:1534
msgstr ""
#: elf-m10300.c:1504 elf32-arm.c:9098 elf32-i386.c:4081 elf32-m32r.c:2604
-#: elf32-m68k.c:4156 elf32-ppc.c:8089 elf32-s390.c:3010 elf32-sh.c:4223
-#: elf32-xtensa.c:3067 elf64-ppc.c:13115 elf64-s390.c:2985 elf64-sh64.c:1636
+#: elf32-m68k.c:4156 elf32-ppc.c:8090 elf32-s390.c:3010 elf32-sh.c:4223
+#: elf32-xtensa.c:3067 elf64-ppc.c:13138 elf64-s390.c:2985 elf64-sh64.c:1636
#: elf64-x86-64.c:3719 elfxx-sparc.c:3806
msgid "%B(%A+0x%lx): unresolvable %s relocation against symbol `%s'"
msgstr ""
msgid "internal error: suspicious relocation type used in shared library"
msgstr ""
-#: elf-m10300.c:4372 elf32-arm.c:11392 elf32-cr16.c:2451 elf32-cris.c:3044
+#: elf-m10300.c:4372 elf32-arm.c:11385 elf32-cr16.c:2451 elf32-cris.c:3044
#: elf32-hppa.c:1894 elf32-i370.c:503 elf32-i386.c:2036 elf32-lm32.c:1868
-#: elf32-m32r.c:1927 elf32-m68k.c:3252 elf32-ppc.c:4994 elf32-s390.c:1652
+#: elf32-m32r.c:1927 elf32-m68k.c:3252 elf32-ppc.c:4995 elf32-s390.c:1652
#: elf32-sh.c:2931 elf32-vax.c:1040 elf64-ppc.c:6483 elf64-s390.c:1635
#: elf64-sh64.c:3377 elf64-x86-64.c:1871 elfxx-sparc.c:2104
#, c-format
msgid "%B: no group info for section %A"
msgstr ""
-#: elf.c:737 elf.c:3090 elflink.c:10062
+#: elf.c:737 elf.c:3111 elflink.c:10068
msgid "%B: warning: sh_link not set for section `%A'"
msgstr ""
msgid "%B: unknown [%d] section `%s' in group [%s]"
msgstr ""
-#: elf.c:1041
+#: elf.c:1039
msgid "%B: unable to initialize commpress status for section %s"
msgstr ""
-#: elf.c:1050
+#: elf.c:1059
msgid "%B: unable to initialize decommpress status for section %s"
msgstr ""
-#: elf.c:1158
+#: elf.c:1179
#, c-format
msgid ""
"\n"
"Program Header:\n"
msgstr ""
-#: elf.c:1200
+#: elf.c:1221
#, c-format
msgid ""
"\n"
"Dynamic Section:\n"
msgstr ""
-#: elf.c:1336
+#: elf.c:1357
#, c-format
msgid ""
"\n"
"Version definitions:\n"
msgstr ""
-#: elf.c:1361
+#: elf.c:1382
#, c-format
msgid ""
"\n"
"Version References:\n"
msgstr ""
-#: elf.c:1366
+#: elf.c:1387
#, c-format
msgid " required from %s:\n"
msgstr ""
-#: elf.c:1773
+#: elf.c:1794
msgid "%B: invalid link %lu for reloc section %s (index %u)"
msgstr ""
-#: elf.c:1943
+#: elf.c:1964
msgid ""
"%B: don't know how to handle allocated, application specific section `%s' [0x"
"%8x]"
msgstr ""
-#: elf.c:1955
+#: elf.c:1976
msgid "%B: don't know how to handle processor specific section `%s' [0x%8x]"
msgstr ""
-#: elf.c:1966
+#: elf.c:1987
msgid "%B: don't know how to handle OS specific section `%s' [0x%8x]"
msgstr ""
-#: elf.c:1976
+#: elf.c:1997
msgid "%B: don't know how to handle section `%s' [0x%8x]"
msgstr ""
-#: elf.c:2603
+#: elf.c:2624
#, c-format
msgid "warning: section `%A' type changed to PROGBITS"
msgstr ""
-#: elf.c:3047
+#: elf.c:3068
msgid "%B: sh_link of section `%A' points to discarded section `%A' of `%B'"
msgstr ""
-#: elf.c:3070
+#: elf.c:3091
msgid "%B: sh_link of section `%A' points to removed section `%A' of `%B'"
msgstr ""
-#: elf.c:4480
+#: elf.c:4503
msgid ""
"%B: The first section in the PT_DYNAMIC segment is not the .dynamic section"
msgstr ""
-#: elf.c:4507
+#: elf.c:4530
msgid "%B: Not enough room for program headers, try linking with -N"
msgstr ""
-#: elf.c:4594
+#: elf.c:4617
msgid "%B: section %A lma %#lx adjusted to %#lx"
msgstr ""
-#: elf.c:4713
+#: elf.c:4736
msgid "%B: section `%A' can't be allocated in segment %d"
msgstr ""
-#: elf.c:4761
+#: elf.c:4784
msgid "%B: warning: allocated section `%s' not in segment"
msgstr ""
-#: elf.c:5257
+#: elf.c:5280
msgid "%B: symbol `%s' required but not present"
msgstr ""
-#: elf.c:5595
+#: elf.c:5618
msgid "%B: warning: Empty loadable segment detected, is this intentional ?\n"
msgstr ""
-#: elf.c:6622
+#: elf.c:6645
#, c-format
msgid ""
"Unable to find equivalent output section for symbol '%s' from section '%s'"
msgstr ""
-#: elf.c:7611
+#: elf.c:7634
msgid "%B: unsupported relocation type %s"
msgstr ""
msgid "%B(%A+0x%lx): %s relocation against SEC_MERGE section"
msgstr ""
-#: elf32-arm.c:9074 elf32-m68k.c:4191 elf32-xtensa.c:2805 elf64-ppc.c:11689
+#: elf32-arm.c:9074 elf32-m68k.c:4191 elf32-xtensa.c:2805 elf64-ppc.c:11712
msgid "%B(%A+0x%lx): %s used with TLS symbol %s"
msgstr ""
-#: elf32-arm.c:9075 elf32-m68k.c:4192 elf32-xtensa.c:2806 elf64-ppc.c:11690
+#: elf32-arm.c:9075 elf32-m68k.c:4192 elf32-xtensa.c:2806 elf64-ppc.c:11713
msgid "%B(%A+0x%lx): %s used with non-TLS symbol %s"
msgstr ""
msgid "error: %B: Conflicting CPU architectures %d/%d"
msgstr ""
-#: elf32-arm.c:9942
+#: elf32-arm.c:9939
msgid ""
"Error: %B has both the current and legacy Tag_MPextension_use attributes"
msgstr ""
-#: elf32-arm.c:9967
+#: elf32-arm.c:9964
msgid "error: %B uses VFP register arguments, %B does not"
msgstr ""
-#: elf32-arm.c:10112
+#: elf32-arm.c:10109
msgid "error: %B: unable to merge virtualization attributes with %B"
msgstr ""
-#: elf32-arm.c:10138
+#: elf32-arm.c:10135
msgid "error: %B: Conflicting architecture profiles %c/%c"
msgstr ""
-#: elf32-arm.c:10239
+#: elf32-arm.c:10236
msgid "Warning: %B: Conflicting platform configuration"
msgstr ""
-#: elf32-arm.c:10248
+#: elf32-arm.c:10245
msgid "error: %B: Conflicting use of R9"
msgstr ""
-#: elf32-arm.c:10260
+#: elf32-arm.c:10257
msgid "error: %B: SB relative addressing conflicts with use of R9"
msgstr ""
-#: elf32-arm.c:10273
+#: elf32-arm.c:10270
msgid ""
"warning: %B uses %u-byte wchar_t yet the output is to use %u-byte wchar_t; "
"use of wchar_t values across objects may fail"
msgstr ""
-#: elf32-arm.c:10304
+#: elf32-arm.c:10301
msgid ""
"warning: %B uses %s enums yet the output is to use %s enums; use of enum "
"values across objects may fail"
msgstr ""
-#: elf32-arm.c:10316
+#: elf32-arm.c:10313
msgid "error: %B uses iWMMXt register arguments, %B does not"
msgstr ""
-#: elf32-arm.c:10333
+#: elf32-arm.c:10330
msgid "error: fp16 format mismatch between %B and %B"
msgstr ""
-#: elf32-arm.c:10357
+#: elf32-arm.c:10354
msgid "DIV usage mismatch between %B and %B"
msgstr ""
-#: elf32-arm.c:10376
+#: elf32-arm.c:10373
msgid "%B has has both the current and legacy Tag_MPextension_use attributes"
msgstr ""
#. Ignore init flag - it may not be set, despite the flags field
#. containing valid data.
#. Ignore init flag - it may not be set, despite the flags field containing valid data.
-#: elf32-arm.c:10468 elf32-bfin.c:5065 elf32-cris.c:4162 elf32-m68hc1x.c:1282
+#: elf32-arm.c:10461 elf32-bfin.c:5065 elf32-cris.c:4162 elf32-m68hc1x.c:1282
#: elf32-m68k.c:1235 elf32-score.c:3996 elf32-score7.c:3803 elf32-vax.c:528
-#: elfxx-mips.c:12842
+#: elfxx-mips.c:12845
#, c-format
msgid "private flags = %lx:"
msgstr ""
-#: elf32-arm.c:10477
+#: elf32-arm.c:10470
#, c-format
msgid " [interworking enabled]"
msgstr ""
-#: elf32-arm.c:10485
+#: elf32-arm.c:10478
#, c-format
msgid " [VFP float format]"
msgstr ""
-#: elf32-arm.c:10487
+#: elf32-arm.c:10480
#, c-format
msgid " [Maverick float format]"
msgstr ""
-#: elf32-arm.c:10489
+#: elf32-arm.c:10482
#, c-format
msgid " [FPA float format]"
msgstr ""
-#: elf32-arm.c:10498
+#: elf32-arm.c:10491
#, c-format
msgid " [new ABI]"
msgstr ""
-#: elf32-arm.c:10501
+#: elf32-arm.c:10494
#, c-format
msgid " [old ABI]"
msgstr ""
-#: elf32-arm.c:10504
+#: elf32-arm.c:10497
#, c-format
msgid " [software FP]"
msgstr ""
-#: elf32-arm.c:10513
+#: elf32-arm.c:10506
#, c-format
msgid " [Version1 EABI]"
msgstr ""
-#: elf32-arm.c:10516 elf32-arm.c:10527
+#: elf32-arm.c:10509 elf32-arm.c:10520
#, c-format
msgid " [sorted symbol table]"
msgstr ""
-#: elf32-arm.c:10518 elf32-arm.c:10529
+#: elf32-arm.c:10511 elf32-arm.c:10522
#, c-format
msgid " [unsorted symbol table]"
msgstr ""
-#: elf32-arm.c:10524
+#: elf32-arm.c:10517
#, c-format
msgid " [Version2 EABI]"
msgstr ""
-#: elf32-arm.c:10532
+#: elf32-arm.c:10525
#, c-format
msgid " [dynamic symbols use segment index]"
msgstr ""
-#: elf32-arm.c:10535
+#: elf32-arm.c:10528
#, c-format
msgid " [mapping symbols precede others]"
msgstr ""
-#: elf32-arm.c:10542
+#: elf32-arm.c:10535
#, c-format
msgid " [Version3 EABI]"
msgstr ""
-#: elf32-arm.c:10546
+#: elf32-arm.c:10539
#, c-format
msgid " [Version4 EABI]"
msgstr ""
-#: elf32-arm.c:10550
+#: elf32-arm.c:10543
#, c-format
msgid " [Version5 EABI]"
msgstr ""
-#: elf32-arm.c:10553
+#: elf32-arm.c:10546
#, c-format
msgid " [BE8]"
msgstr ""
-#: elf32-arm.c:10556
+#: elf32-arm.c:10549
#, c-format
msgid " [LE8]"
msgstr ""
-#: elf32-arm.c:10562
+#: elf32-arm.c:10555
#, c-format
msgid " <EABI version unrecognised>"
msgstr ""
-#: elf32-arm.c:10569
+#: elf32-arm.c:10562
#, c-format
msgid " [relocatable executable]"
msgstr ""
-#: elf32-arm.c:10572
+#: elf32-arm.c:10565
#, c-format
msgid " [has entry point]"
msgstr ""
-#: elf32-arm.c:10577
+#: elf32-arm.c:10570
#, c-format
msgid "<Unrecognised flag bits set>"
msgstr ""
-#: elf32-arm.c:10824 elf32-i386.c:1322 elf32-s390.c:1000 elf32-xtensa.c:1009
+#: elf32-arm.c:10817 elf32-i386.c:1322 elf32-s390.c:1000 elf32-xtensa.c:1009
#: elf64-s390.c:960 elf64-x86-64.c:1105 elfxx-sparc.c:1370
msgid "%B: bad symbol index: %d"
msgstr ""
-#: elf32-arm.c:10946 elf64-x86-64.c:1265 elf64-x86-64.c:1434 elfxx-mips.c:7942
+#: elf32-arm.c:10939 elf64-x86-64.c:1265 elf64-x86-64.c:1434 elfxx-mips.c:7942
msgid ""
"%B: relocation %s against `%s' can not be used when making a shared object; "
"recompile with -fPIC"
msgstr ""
-#: elf32-arm.c:11948
+#: elf32-arm.c:11941
#, c-format
msgid "Errors encountered processing file %s"
msgstr ""
-#: elf32-arm.c:13334
+#: elf32-arm.c:13327
msgid "%B: error: Cortex-A8 erratum stub is allocated in unsafe location"
msgstr ""
#. There's not much we can do apart from complain if this
#. happens.
-#: elf32-arm.c:13361
+#: elf32-arm.c:13354
msgid "%B: error: Cortex-A8 erratum stub out of range (input file too large)"
msgstr ""
-#: elf32-arm.c:13455 elf32-arm.c:13477
+#: elf32-arm.c:13448 elf32-arm.c:13470
msgid "%B: error: VFP11 veneer out of range"
msgstr ""
-#: elf32-arm.c:14002
+#: elf32-arm.c:13995
msgid "error: %B is already in final BE8 format"
msgstr ""
-#: elf32-arm.c:14078
+#: elf32-arm.c:14071
msgid ""
"error: Source object %B has EABI version %d, but target %B has EABI version %"
"d"
msgstr ""
-#: elf32-arm.c:14094
+#: elf32-arm.c:14087
msgid "error: %B is compiled for APCS-%d, whereas target %B uses APCS-%d"
msgstr ""
-#: elf32-arm.c:14119
+#: elf32-arm.c:14112
msgid "error: %B uses VFP instructions, whereas %B does not"
msgstr ""
-#: elf32-arm.c:14123
+#: elf32-arm.c:14116
msgid "error: %B uses FPA instructions, whereas %B does not"
msgstr ""
-#: elf32-arm.c:14133
+#: elf32-arm.c:14126
msgid "error: %B uses Maverick instructions, whereas %B does not"
msgstr ""
-#: elf32-arm.c:14137
+#: elf32-arm.c:14130
msgid "error: %B does not use Maverick instructions, whereas %B does"
msgstr ""
-#: elf32-arm.c:14156
+#: elf32-arm.c:14149
msgid "error: %B uses software FP, whereas %B uses hardware FP"
msgstr ""
-#: elf32-arm.c:14160
+#: elf32-arm.c:14153
msgid "error: %B uses hardware FP, whereas %B uses software FP"
msgstr ""
#: elf32-avr.c:1271 elf32-bfin.c:3201 elf32-cris.c:2085 elf32-fr30.c:617
#: elf32-frv.c:4119 elf32-i860.c:1219 elf32-ip2k.c:1479 elf32-iq2000.c:692
-#: elf32-m32c.c:561 elf32-mep.c:542 elf32-moxie.c:290 elf32-msp430.c:494
+#: elf32-m32c.c:561 elf32-mep.c:543 elf32-moxie.c:290 elf32-msp430.c:494
#: elf32-mt.c:399 elf32-openrisc.c:412 elf32-v850.c:2151 elf32-xstormy16.c:949
#: elf64-mmix.c:1530
msgid "internal error: dangerous relocation"
msgid "%B: cannot create stub entry %s"
msgstr ""
+#: elf32-bfin.c:107 elf32-bfin.c:363
+msgid "relocation should be even number"
+msgstr ""
+
#: elf32-bfin.c:1575
msgid "%B(%A+0x%lx): unresolvable relocation against symbol `%s'"
msgstr ""
msgid "%s: cannot link fdpic object file into non-fdpic executable"
msgstr ""
+#: elf32-bfin.c:5269
+#, c-format
+msgid "*** check this relocation %s"
+msgstr ""
+
#: elf32-cris.c:1172
msgid "%B, section %A: unresolvable relocation %s against symbol `%s'"
msgstr ""
msgid "%B contains non-CRIS-v32 code, incompatible with previous objects"
msgstr ""
+#: elf32-dlx.c:142
+#, c-format
+msgid "BFD Link Error: branch (PC rel16) to section (%s) not supported"
+msgstr ""
+
+#: elf32-dlx.c:204
+#, c-format
+msgid "BFD Link Error: jump (PC rel26) to section (%s) not supported"
+msgstr ""
+
#: elf32-frv.c:1509 elf32-frv.c:1658
msgid "relocation requires zero addend"
msgstr ""
msgid "%B: linking files compiled for HCS12 with others compiled for HC12"
msgstr ""
-#: elf32-m68hc1x.c:1257 elf32-ppc.c:4232 elf64-sparc.c:703 elfxx-mips.c:12704
+#: elf32-m68hc1x.c:1257 elf32-ppc.c:4233 elf64-sparc.c:703 elfxx-mips.c:12707
msgid "%B: uses different e_flags (0x%lx) fields than previous modules (0x%lx)"
msgstr ""
msgid "%B: Unknown relocation type %d\n"
msgstr ""
-#: elf32-mep.c:647
+#. Pacify gcc -Wall.
+#: elf32-mep.c:157
+#, c-format
+msgid "mep: no reloc for code %d"
+msgstr ""
+
+#: elf32-mep.c:163
+#, c-format
+msgid "MeP: howto %d has type %d"
+msgstr ""
+
+#: elf32-mep.c:648
msgid "%B and %B are for different cores"
msgstr ""
-#: elf32-mep.c:664
+#: elf32-mep.c:665
msgid "%B and %B are for different configurations"
msgstr ""
-#: elf32-mep.c:701
+#: elf32-mep.c:702
#, c-format
msgid "private flags = 0x%lx"
msgstr ""
msgid "%B: probably compiled without -fPIC?"
msgstr ""
-#: elf32-microblaze.c:2074 elflink.c:12601
+#: elf32-microblaze.c:2074 elflink.c:12607
msgid "%B: bad relocation section name `%s'"
msgstr ""
msgid "failed to install new APUinfo section."
msgstr ""
-#: elf32-ppc.c:3358
+#: elf32-ppc.c:3359
msgid "%B: relocation %s cannot be used when making a shared object"
msgstr ""
#. It does not make sense to have a procedure linkage
#. table entry for a local symbol.
-#: elf32-ppc.c:3702
+#: elf32-ppc.c:3703
msgid "%B(%A+0x%lx): %s reloc against local symbol"
msgstr ""
-#: elf32-ppc.c:4044 elf32-ppc.c:4059 elfxx-mips.c:12411 elfxx-mips.c:12437
+#: elf32-ppc.c:4045 elf32-ppc.c:4060 elfxx-mips.c:12411 elfxx-mips.c:12437
#: elfxx-mips.c:12459 elfxx-mips.c:12485
msgid "Warning: %B uses hard float, %B uses soft float"
msgstr ""
-#: elf32-ppc.c:4047 elf32-ppc.c:4051
+#: elf32-ppc.c:4048 elf32-ppc.c:4052
msgid ""
"Warning: %B uses double-precision hard float, %B uses single-precision hard "
"float"
msgstr ""
-#: elf32-ppc.c:4055
+#: elf32-ppc.c:4056
msgid "Warning: %B uses soft float, %B uses single-precision hard float"
msgstr ""
-#: elf32-ppc.c:4062 elf32-ppc.c:4066 elfxx-mips.c:12391 elfxx-mips.c:12395
+#: elf32-ppc.c:4063 elf32-ppc.c:4067 elfxx-mips.c:12391 elfxx-mips.c:12395
msgid "Warning: %B uses unknown floating point ABI %d"
msgstr ""
-#: elf32-ppc.c:4108 elf32-ppc.c:4112
+#: elf32-ppc.c:4109 elf32-ppc.c:4113
msgid "Warning: %B uses unknown vector ABI %d"
msgstr ""
-#: elf32-ppc.c:4116
+#: elf32-ppc.c:4117
msgid "Warning: %B uses vector ABI \"%s\", %B uses \"%s\""
msgstr ""
-#: elf32-ppc.c:4133 elf32-ppc.c:4136
+#: elf32-ppc.c:4134 elf32-ppc.c:4137
msgid "Warning: %B uses r3/r4 for small structure returns, %B uses memory"
msgstr ""
-#: elf32-ppc.c:4139 elf32-ppc.c:4143
+#: elf32-ppc.c:4140 elf32-ppc.c:4144
msgid "Warning: %B uses unknown small structure return convention %d"
msgstr ""
-#: elf32-ppc.c:4197
+#: elf32-ppc.c:4198
msgid ""
"%B: compiled with -mrelocatable and linked with modules compiled normally"
msgstr ""
-#: elf32-ppc.c:4205
+#: elf32-ppc.c:4206
msgid ""
"%B: compiled normally and linked with modules compiled with -mrelocatable"
msgstr ""
-#: elf32-ppc.c:4293
+#: elf32-ppc.c:4294
msgid "Using bss-plt due to %B"
msgstr ""
-#: elf32-ppc.c:7192 elf64-ppc.c:12307
+#: elf32-ppc.c:7193 elf64-ppc.c:12330
msgid "%B: unknown relocation type %d for symbol %s"
msgstr ""
-#: elf32-ppc.c:7453
+#: elf32-ppc.c:7454
msgid "%B(%A+0x%lx): non-zero addend on %s reloc against `%s'"
msgstr ""
-#: elf32-ppc.c:7651 elf64-ppc.c:12812
+#: elf32-ppc.c:7652 elf64-ppc.c:12835
msgid "%B(%A+0x%lx): relocation %s for indirect function %s unsupported"
msgstr ""
-#: elf32-ppc.c:7881 elf32-ppc.c:7911 elf32-ppc.c:7958
+#: elf32-ppc.c:7882 elf32-ppc.c:7912 elf32-ppc.c:7959
msgid ""
"%B: the target (%s) of a %s relocation is in the wrong output section (%s)"
msgstr ""
-#: elf32-ppc.c:8030
+#: elf32-ppc.c:8031
msgid "%B: relocation %s is not yet supported for symbol %s."
msgstr ""
-#: elf32-ppc.c:8138 elf64-ppc.c:13162
+#: elf32-ppc.c:8139 elf64-ppc.c:13185
msgid "%B(%A+0x%lx): %s reloc against `%s': error %d"
msgstr ""
-#: elf32-ppc.c:8629
+#: elf32-ppc.c:8630
#, c-format
msgid "%s not defined in linker created %s"
msgstr ""
msgid "overlay stub relocation overflow"
msgstr ""
-#: elf32-spu.c:1960 elf64-ppc.c:11327
+#: elf32-spu.c:1960 elf64-ppc.c:11350
msgid "stubs don't match calculated size"
msgstr ""
msgstr ""
#: elf32-v850.c:483
-#, c-format
-msgid "FAILED to find previous HI16 reloc\n"
+msgid "FAILED to find previous HI16 reloc"
msgstr ""
#: elf32-v850.c:2155
msgid "%s: warning: %s relocation to 0x%x from %s section"
msgstr ""
-#: elf32-xstormy16.c:451 elf32-ia64.c:2861 elf64-ia64.c:2861
+#: elf32-xstormy16.c:451 elf32-ia64.c:2854 elf64-ia64.c:2854
msgid "non-zero addend in @fptr reloc"
msgstr ""
msgid "%B: tp-relative relocation against dynamic symbol %s"
msgstr ""
-#: elf64-hppa.c:2101
+#: elf64-hppa.c:2094
#, c-format
msgid "stub entry for %s cannot load .plt, dp offset = %ld"
msgstr ""
-#: elf64-hppa.c:3299
+#: elf64-hppa.c:3292
msgid "%B(%A+0x%lx): cannot reach %s"
msgstr ""
msgid "can't build branch stub `%s'"
msgstr ""
-#: elf64-ppc.c:10684
+#: elf64-ppc.c:10707
msgid "%B section %A exceeds stub group size"
msgstr ""
-#: elf64-ppc.c:11339
+#: elf64-ppc.c:11362
#, c-format
msgid ""
"linker stubs in %u group%s\n"
" plt call %lu"
msgstr ""
-#: elf64-ppc.c:12190
+#: elf64-ppc.c:12213
msgid ""
"%B(%A+0x%lx): automatic multiple TOCs not supported using your crt files; "
"recompile with -mminimal-toc or upgrade gcc"
msgstr ""
-#: elf64-ppc.c:12198
+#: elf64-ppc.c:12221
msgid ""
"%B(%A+0x%lx): sibling call optimization to `%s' does not allow automatic "
"multiple TOCs; recompile with -mminimal-toc or -fno-optimize-sibling-calls, "
"or make `%s' extern"
msgstr ""
-#: elf64-ppc.c:12919
+#: elf64-ppc.c:12942
msgid "%B: relocation %s is not supported for symbol %s."
msgstr ""
-#: elf64-ppc.c:13096
+#: elf64-ppc.c:13119
msgid "%B: error: relocation %s not a multiple of %d"
msgstr ""
"note: '%s' is defined in DSO %B so try adding it to the linker command line"
msgstr ""
-#: elflink.c:5779
+#: elflink.c:5776
#, c-format
msgid "%s: undefined version: %s"
msgstr ""
-#: elflink.c:5847
+#: elflink.c:5844
msgid "%B: .preinit_array section is not allowed in DSO"
msgstr ""
-#: elflink.c:7598
+#: elflink.c:7595
#, c-format
msgid "undefined %s reference in complex symbol: %s"
msgstr ""
-#: elflink.c:7752
+#: elflink.c:7749
#, c-format
msgid "unknown operator '%c' in complex symbol"
msgstr ""
-#: elflink.c:8091 elflink.c:8108 elflink.c:8145 elflink.c:8162
+#: elflink.c:8088 elflink.c:8105 elflink.c:8142 elflink.c:8159
msgid "%B: Unable to sort relocs - they are in more than one size"
msgstr ""
-#: elflink.c:8122 elflink.c:8176
+#: elflink.c:8119 elflink.c:8173
msgid "%B: Unable to sort relocs - they are of an unknown size"
msgstr ""
-#: elflink.c:8227
+#: elflink.c:8224
msgid "Not enough memory to sort relocations"
msgstr ""
-#: elflink.c:8420
+#: elflink.c:8417
msgid "%B: Too many sections: %d (>= %d)"
msgstr ""
-#: elflink.c:8663
-msgid "%B: %s symbol `%s' in %B is referenced by DSO"
+#: elflink.c:8664
+msgid "%B: internal symbol `%s' in %B is referenced by DSO"
+msgstr ""
+
+#: elflink.c:8666
+msgid "%B: hidden symbol `%s' in %B is referenced by DSO"
+msgstr ""
+
+#: elflink.c:8668
+msgid "%B: local symbol `%s' in %B is referenced by DSO"
msgstr ""
-#: elflink.c:8754
+#: elflink.c:8757
msgid "%B: could not find output section %A for input section %A"
msgstr ""
-#: elflink.c:8874
-msgid "%B: %s symbol `%s' isn't defined"
+#: elflink.c:8880
+msgid "%B: protected symbol `%s' isn't defined"
msgstr ""
-#: elflink.c:9428
+#: elflink.c:8882
+msgid "%B: internal symbol `%s' isn't defined"
+msgstr ""
+
+#: elflink.c:8884
+msgid "%B: hidden symbol `%s' isn't defined"
+msgstr ""
+
+#: elflink.c:9434
msgid ""
"error: %B contains a reloc (0x%s) for section %A that references a non-"
"existent global symbol"
msgstr ""
-#: elflink.c:9494
+#: elflink.c:9500
msgid ""
"%X`%s' referenced in section `%A' of %B: defined in discarded section `%A' "
"of %B\n"
msgstr ""
-#: elflink.c:10141
+#: elflink.c:10147
msgid "%A has both ordered [`%A' in %B] and unordered [`%A' in %B] sections"
msgstr ""
-#: elflink.c:10146
+#: elflink.c:10152
#, c-format
msgid "%A has both ordered and unordered sections"
msgstr ""
-#: elflink.c:10992 elflink.c:11036
+#: elflink.c:10998 elflink.c:11042
msgid "%B: could not find output section %s"
msgstr ""
-#: elflink.c:10997
+#: elflink.c:11003
#, c-format
msgid "warning: %s section has zero size"
msgstr ""
-#: elflink.c:11102
+#: elflink.c:11108
msgid "%P: warning: creating a DT_TEXTREL in a shared object.\n"
msgstr ""
-#: elflink.c:11289
+#: elflink.c:11295
msgid "%P%X: can not read symbols: %E\n"
msgstr ""
-#: elflink.c:11638
+#: elflink.c:11644
msgid "Removing unused section '%s' in file '%B'"
msgstr ""
-#: elflink.c:11850
+#: elflink.c:11856
msgid "Warning: gc-sections option ignored"
msgstr ""
-#: elflink.c:12399
+#: elflink.c:12405
msgid "%B: ignoring duplicate section `%A'"
msgstr ""
-#: elflink.c:12406 elflink.c:12413
+#: elflink.c:12412 elflink.c:12419
msgid "%B: duplicate section `%A' has different size"
msgstr ""
-#: elflink.c:12421 elflink.c:12426
+#: elflink.c:12427 elflink.c:12432
msgid "%B: warning: could not read contents of section `%A'"
msgstr ""
-#: elflink.c:12430
+#: elflink.c:12436
msgid "%B: warning: duplicate section `%A' has different contents"
msgstr ""
-#: elflink.c:12531 linker.c:3138
+#: elflink.c:12537 linker.c:3136
msgid "%F%P: already_linked_table: %E\n"
msgstr ""
msgid "%B: ABI is incompatible with that of the selected emulation"
msgstr ""
-#: elfxx-mips.c:12613
+#: elfxx-mips.c:12616
msgid "%B: warning: linking abicalls files with non-abicalls files"
msgstr ""
-#: elfxx-mips.c:12630
+#: elfxx-mips.c:12633
msgid "%B: linking 32-bit code with 64-bit code"
msgstr ""
-#: elfxx-mips.c:12658
+#: elfxx-mips.c:12661
msgid "%B: linking %s module with previous %s modules"
msgstr ""
-#: elfxx-mips.c:12681
+#: elfxx-mips.c:12684
msgid "%B: ABI mismatch: linking %s module with previous %s modules"
msgstr ""
-#: elfxx-mips.c:12845
+#: elfxx-mips.c:12848
#, c-format
msgid " [abi=O32]"
msgstr ""
-#: elfxx-mips.c:12847
+#: elfxx-mips.c:12850
#, c-format
msgid " [abi=O64]"
msgstr ""
-#: elfxx-mips.c:12849
+#: elfxx-mips.c:12852
#, c-format
msgid " [abi=EABI32]"
msgstr ""
-#: elfxx-mips.c:12851
+#: elfxx-mips.c:12854
#, c-format
msgid " [abi=EABI64]"
msgstr ""
-#: elfxx-mips.c:12853
+#: elfxx-mips.c:12856
#, c-format
msgid " [abi unknown]"
msgstr ""
-#: elfxx-mips.c:12855
+#: elfxx-mips.c:12858
#, c-format
msgid " [abi=N32]"
msgstr ""
-#: elfxx-mips.c:12857
+#: elfxx-mips.c:12860
#, c-format
msgid " [abi=64]"
msgstr ""
-#: elfxx-mips.c:12859
+#: elfxx-mips.c:12862
#, c-format
msgid " [no abi set]"
msgstr ""
-#: elfxx-mips.c:12880
+#: elfxx-mips.c:12883
#, c-format
msgid " [unknown ISA]"
msgstr ""
-#: elfxx-mips.c:12891
+#: elfxx-mips.c:12894
#, c-format
msgid " [not 32bitmode]"
msgstr ""
msgid "%B: unable to get decompressed section %A"
msgstr ""
-#: libbfd.c:1027
+#: libbfd.c:1028
#, c-format
msgid "Deprecated %s called at %s line %d in %s\n"
msgstr ""
-#: libbfd.c:1030
+#: libbfd.c:1031
#, c-format
msgid "Deprecated %s called\n"
msgstr ""
-#: linker.c:1911
+#: linker.c:1909
msgid "%B: indirect symbol `%s' to `%s' is a loop"
msgstr ""
-#: linker.c:2778
+#: linker.c:2776
#, c-format
msgid "Attempt to do relocatable link with %s input and %s output"
msgstr ""
-#: linker.c:3105
+#: linker.c:3103
msgid "%B: warning: ignoring duplicate section `%A'\n"
msgstr ""
-#: linker.c:3119
+#: linker.c:3117
msgid "%B: warning: duplicate section `%A' has different size\n"
msgstr ""
-#: mach-o.c:3403
+#: mach-o.c:381
+msgid "bfd_mach_o_canonicalize_symtab: unable to load symbols"
+msgstr ""
+
+#: mach-o.c:1253
+#, c-format
+msgid "unable to write unknown load command 0x%lx"
+msgstr ""
+
+#: mach-o.c:1654
+#, c-format
+msgid "bfd_mach_o_read_symtab_symbol: unable to read %d bytes at %lu"
+msgstr ""
+
+#: mach-o.c:1671
+#, c-format
+msgid "bfd_mach_o_read_symtab_symbol: symbol name out of range (%lu >= %lu)"
+msgstr ""
+
+#: mach-o.c:1756
+#, c-format
+msgid ""
+"bfd_mach_o_read_symtab_symbol: symbol \"%s\" specified invalid section %d "
+"(max %lu): setting to undefined"
+msgstr ""
+
+#: mach-o.c:1764
+#, c-format
+msgid ""
+"bfd_mach_o_read_symtab_symbol: symbol \"%s\" is unsupported 'indirect' "
+"reference: setting to undefined"
+msgstr ""
+
+#: mach-o.c:1770
+#, c-format
+msgid ""
+"bfd_mach_o_read_symtab_symbol: symbol \"%s\" specified invalid type field 0x%"
+"x: setting to undefined"
+msgstr ""
+
+#: mach-o.c:1840
+msgid "bfd_mach_o_read_symtab_symbols: unable to allocate memory for symbols"
+msgstr ""
+
+#: mach-o.c:1874
+#, c-format
+msgid "bfd_mach_o_read_dysymtab_symbol: unable to read %lu bytes at %lu"
+msgstr ""
+
+#: mach-o.c:2556
+#, c-format
+msgid "unable to read unknown load command 0x%lx"
+msgstr ""
+
+#: mach-o.c:2736
+#, c-format
+msgid "bfd_mach_o_scan: unknown architecture 0x%lx/0x%lx"
+msgstr ""
+
+#: mach-o.c:2832
+#, c-format
+msgid "unknown header byte-order value 0x%lx"
+msgstr ""
+
+#: mach-o.c:3402
msgid "Mach-O header:\n"
msgstr ""
-#: mach-o.c:3404
+#: mach-o.c:3403
#, c-format
msgid " magic : %08lx\n"
msgstr ""
-#: mach-o.c:3405
+#: mach-o.c:3404
#, c-format
msgid " cputype : %08lx (%s)\n"
msgstr ""
-#: mach-o.c:3407
+#: mach-o.c:3406
#, c-format
msgid " cpusubtype: %08lx\n"
msgstr ""
-#: mach-o.c:3408
+#: mach-o.c:3407
#, c-format
msgid " filetype : %08lx (%s)\n"
msgstr ""
-#: mach-o.c:3411
+#: mach-o.c:3410
#, c-format
msgid " ncmds : %08lx (%lu)\n"
msgstr ""
-#: mach-o.c:3412
+#: mach-o.c:3411
#, c-format
msgid " sizeofcmds: %08lx\n"
msgstr ""
-#: mach-o.c:3413
+#: mach-o.c:3412
#, c-format
msgid " flags : %08lx ("
msgstr ""
-#: mach-o.c:3415 vms-alpha.c:7652
+#: mach-o.c:3414 vms-alpha.c:7652
msgid ")\n"
msgstr ""
-#: mach-o.c:3416
+#: mach-o.c:3415
#, c-format
msgid " reserved : %08x\n"
msgstr ""
-#: mach-o.c:3426
+#: mach-o.c:3425
msgid "Segments and Sections:\n"
msgstr ""
-#: mach-o.c:3427
+#: mach-o.c:3426
msgid " #: Segment name Section name Address\n"
msgstr ""
msgid "%B: bad pair/reflo after refhi\n"
msgstr ""
+#: pef.c:519
+#, c-format
+msgid "bfd_pef_scan: unknown architecture 0x%lx"
+msgstr ""
+
#: pei-x86_64.c:444
#, c-format
msgid "warning: .pdata section size (%ld) is not a multiple of %d\n"
msgid "Partition[%d] length = 0x%.8lx (%ld)\n"
msgstr ""
+#: rs6000-core.c:448
+#, c-format
+msgid "%s: warning core file truncated"
+msgstr ""
+
#: som.c:5471
#, c-format
msgid ""
#. FIXME: we do not yet support relocatable link. It is not obvious
#. how to do it for debug infos.
-#: vms-alpha.c:8676
+#: vms-alpha.c:8671
msgid "%P: relocatable link is not supported\n"
msgstr ""
-#: vms-alpha.c:8746
+#: vms-alpha.c:8741
msgid "%P: multiple entry points: in modules %B and %B\n"
msgstr ""
msgid "%B: reloc %s:%d not in csect"
msgstr ""
-#: xcofflink.c:3186
+#: xcofflink.c:3194
#, c-format
msgid "%s: no such symbol"
msgstr ""
-#: xcofflink.c:3291
+#: xcofflink.c:3299
#, c-format
msgid "warning: attempt to export undefined symbol `%s'"
msgstr ""
-#: xcofflink.c:3673
+#: xcofflink.c:3681
msgid "error: undefined symbol __rtinit"
msgstr ""
-#: xcofflink.c:4052
+#: xcofflink.c:4060
msgid "%B: loader reloc in unrecognized section `%s'"
msgstr ""
-#: xcofflink.c:4063
+#: xcofflink.c:4071
msgid "%B: `%s' in loader reloc but not loader sym"
msgstr ""
-#: xcofflink.c:4079
+#: xcofflink.c:4087
msgid "%B: loader reloc in read-only section %A"
msgstr ""
-#: xcofflink.c:5097
+#: xcofflink.c:5105
#, c-format
msgid "TOC overflow: 0x%lx > 0x10000; try -mminimal-toc when compiling"
msgstr ""
"branch."
msgstr ""
-#: elf32-ia64.c:2809 elf64-ia64.c:2809
+#: elf32-ia64.c:2802 elf64-ia64.c:2802
msgid "@pltoff reloc against local symbol"
msgstr ""
-#: elf32-ia64.c:4430 elf64-ia64.c:4430
+#: elf32-ia64.c:4423 elf64-ia64.c:4423
#, c-format
msgid "%s: short data segment overflowed (0x%lx >= 0x400000)"
msgstr ""
-#: elf32-ia64.c:4441 elf64-ia64.c:4441
+#: elf32-ia64.c:4434 elf64-ia64.c:4434
#, c-format
msgid "%s: __gp does not cover short data segment"
msgstr ""
-#: elf32-ia64.c:4708 elf64-ia64.c:4708
+#: elf32-ia64.c:4701 elf64-ia64.c:4701
msgid "%B: non-pic code with imm relocation against dynamic symbol `%s'"
msgstr ""
-#: elf32-ia64.c:4775 elf64-ia64.c:4775
+#: elf32-ia64.c:4768 elf64-ia64.c:4768
msgid "%B: @gprel relocation against dynamic symbol %s"
msgstr ""
-#: elf32-ia64.c:4838 elf64-ia64.c:4838
+#: elf32-ia64.c:4831 elf64-ia64.c:4831
msgid "%B: linking non-pic code in a position independent executable"
msgstr ""
-#: elf32-ia64.c:4975 elf64-ia64.c:4975
+#: elf32-ia64.c:4968 elf64-ia64.c:4968
msgid "%B: @internal branch to dynamic symbol %s"
msgstr ""
-#: elf32-ia64.c:4977 elf64-ia64.c:4977
+#: elf32-ia64.c:4970 elf64-ia64.c:4970
msgid "%B: speculation fixup to dynamic symbol %s"
msgstr ""
-#: elf32-ia64.c:4979 elf64-ia64.c:4979
+#: elf32-ia64.c:4972 elf64-ia64.c:4972
msgid "%B: @pcrel relocation against dynamic symbol %s"
msgstr ""
-#: elf32-ia64.c:5176 elf64-ia64.c:5176
+#: elf32-ia64.c:5169 elf64-ia64.c:5169
msgid "unsupported reloc"
msgstr ""
-#: elf32-ia64.c:5214 elf64-ia64.c:5214
+#: elf32-ia64.c:5207 elf64-ia64.c:5207
msgid ""
"%B: missing TLS section for relocation %s against `%s' at 0x%lx in section `%"
"A'."
msgstr ""
-#: elf32-ia64.c:5229 elf64-ia64.c:5229
+#: elf32-ia64.c:5222 elf64-ia64.c:5222
msgid ""
"%B: Can't relax br (%s) to `%s' at 0x%lx in section `%A' with size 0x%lx (> "
"0x1000000)."
msgstr ""
-#: elf32-ia64.c:5491 elf64-ia64.c:5491
+#: elf32-ia64.c:5484 elf64-ia64.c:5484
msgid "%B: linking trap-on-NULL-dereference with non-trapping files"
msgstr ""
-#: elf32-ia64.c:5500 elf64-ia64.c:5500
+#: elf32-ia64.c:5493 elf64-ia64.c:5493
msgid "%B: linking big-endian files with little-endian files"
msgstr ""
-#: elf32-ia64.c:5509 elf64-ia64.c:5509
+#: elf32-ia64.c:5502 elf64-ia64.c:5502
msgid "%B: linking 64-bit files with 32-bit files"
msgstr ""
-#: elf32-ia64.c:5518 elf64-ia64.c:5518
+#: elf32-ia64.c:5511 elf64-ia64.c:5511
msgid "%B: linking constant-gp files with non-constant-gp files"
msgstr ""
-#: elf32-ia64.c:5528 elf64-ia64.c:5528
+#: elf32-ia64.c:5521 elf64-ia64.c:5521
msgid "%B: linking auto-pic files with non-auto-pic files"
msgstr ""
return TRUE;
}
+/*
+FUNCTION
+ bfd_rename_section
+
+SYNOPSIS
+ void bfd_rename_section
+ (bfd *abfd, asection *sec, const char *newname);
+
+DESCRIPTION
+ Rename section @var{sec} in @var{abfd} to @var{newname}.
+*/
+
+void
+bfd_rename_section (bfd *abfd, sec_ptr sec, const char *newname)
+{
+ struct section_hash_entry *sh;
+
+ sh = (struct section_hash_entry *)
+ ((char *) sec - offsetof (struct section_hash_entry, section));
+ sh->section.name = newname;
+ bfd_hash_rename (&abfd->section_htab, newname, &sh->root);
+}
+
/*
FUNCTION
bfd_map_over_sections
/* bfd back-end for HP PA-RISC SOM objects.
Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
- 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
+ 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
Free Software Foundation, Inc.
Contributed by the Center for Software Science at the
struct bfd_link_info *info ATTRIBUTE_UNUSED)
{
(*_bfd_error_handler) (_("som_sizeof_headers unimplemented"));
- fflush (stderr);
abort ();
return 0;
}
symindex symidx;
bfd *element;
bfd *orig_element;
- bfd *subsbfd;
h = *pundef;
next_pundef = &(*pundef)->u.undef.next;
/* Unlike the generic linker, we know that this element provides
a definition for an undefined symbol and we know that we want
to include it. We don't need to check anything. */
- subsbfd = NULL;
- if (! (*info->callbacks->add_archive_element)
- (info, element, h->root.string, &subsbfd))
+ if (!(*info->callbacks
+ ->add_archive_element) (info, element, h->root.string, &element))
return FALSE;
- /* Potentially, the add_archive_element hook may have set a
- substitute BFD for us. */
- if (! alpha_vms_link_add_object_symbols (subsbfd ? subsbfd : element,
- info))
+ if (!alpha_vms_link_add_object_symbols (element, info))
return FALSE;
orig_element->archive_pass = pass;
&& (((struct xcoff_link_hash_entry *) h)->flags
& XCOFF_DEF_DYNAMIC) == 0)
{
- if (! (*info->callbacks->add_archive_element)
- (info, abfd, name, subsbfd))
+ if (!(*info->callbacks
+ ->add_archive_element) (info, abfd, name, subsbfd))
return FALSE;
*pneeded = TRUE;
return TRUE;
|| (((struct xcoff_link_hash_entry *) h)->flags
& XCOFF_DEF_DYNAMIC) == 0))
{
- if (! (*info->callbacks->add_archive_element)
- (info, abfd, name, subsbfd))
+ if (!(*info->callbacks
+ ->add_archive_element) (info, abfd, name, subsbfd))
return FALSE;
*pneeded = TRUE;
return TRUE;
bfd_boolean *pneeded)
{
bfd_boolean keep_syms_p;
- bfd *subsbfd = NULL;
+ bfd *oldbfd;
keep_syms_p = (obj_coff_external_syms (abfd) != NULL);
- if (! _bfd_coff_get_external_symbols (abfd))
+ if (!_bfd_coff_get_external_symbols (abfd))
return FALSE;
- if (! xcoff_link_check_ar_symbols (abfd, info, pneeded, &subsbfd))
+ oldbfd = abfd;
+ if (!xcoff_link_check_ar_symbols (abfd, info, pneeded, &abfd))
return FALSE;
if (*pneeded)
{
/* Potentially, the add_archive_element hook may have set a
substitute BFD for us. */
- if (subsbfd && !_bfd_coff_get_external_symbols (subsbfd))
- return FALSE;
- if (! xcoff_link_add_symbols (subsbfd ? subsbfd : abfd, info))
+ if (abfd != oldbfd)
+ {
+ if (!keep_syms_p
+ && !_bfd_coff_free_symbols (oldbfd))
+ return FALSE;
+ keep_syms_p = (obj_coff_external_syms (abfd) != NULL);
+ if (!_bfd_coff_get_external_symbols (abfd))
+ return FALSE;
+ }
+ if (!xcoff_link_add_symbols (abfd, info))
return FALSE;
if (info->keep_memory)
keep_syms_p = TRUE;
if (!keep_syms_p)
{
- if (! _bfd_coff_free_symbols (abfd))
+ if (!_bfd_coff_free_symbols (abfd))
return FALSE;
}
+2011-02-01 Alan Modra <amodra@gmail.com>
+
+ Backport from mainline
+ 2011-01-19 Maciej W. Rozycki <macro@codesourcery.com>
+ * readelf.c (process_object): Free dynamic_section after use.
+
+ 2011-01-18 H.J. Lu <hongjiu.lu@intel.com>
+ PR binutils/12408
+ * readelf.c (process_archive): Free and reset dump_sects
+ after processing each archive member.
+
+ 2011-01-11 Andreas Schwab <schwab@redhat.com>
+ * readelf.c (print_symbol): Handle symbol characters as unsigned.
+ Whitespace fixes.
+
+ 2011-01-06 Vladimir Siminov <sv@sw.ru>
+ * bucomm.c (get_file_size): Check for negative sizes and issue a
+ warning message if encountered.
+
+ 2011-01-01 H.J. Lu <hongjiu.lu@intel.com>
+ * version.c (print_version): Update copyright to 2011.
+
+ 2010-12-15 Kai Tietz <kai.tietz@onevision.com>
+ * dwarf.c (display_gdb_index): Fix printf types for
+ used formatters.
+
+ 2010-12-03 Doug Evans <dje@google.com>
+ * dwarf.c: #include "bfd_stdint.h".
+ (do_gdb_index): New global.
+ (display_gdb_index): New function.
+ (dwarf_select_sections_by_names) Add "gdb_index".
+ (dwarf_select_sections_all): Set do_gdb_index.
+ (debug_displays): Add .gdb_index.
+ * dwarf.h (do_gdb_index): Declare.
+ * objdump.c (usage): Add gdb_index.
+ * readelf.c (usage): Add gdb_index.
+ (process_section_headers): Process ".gdb_index".
+ * doc/binutils.texi (readelf): Document gdb_index dump.
+ (objdump): Ditto.
+
+ 2010-11-26 Alan Modra <amodra@gmail.com>
+ * dwarf.c (decode_location_expression, display_debug_frames): Move
+ code handling DW_EH_PE_pcrel into..
+ (get_encoded_value): ..here.
+
+ 2010-11-21 H.J. Lu <hongjiu.lu@intel.com>
+ PR binutils/12235
+ * elfcomm.c: New.
+ * elfcomm.h: Likewise.
+ * Makefile.am (HFILES): Add elfcomm.h.
+ (CFILES): Add elfcomm.c.
+ (ELFLIBS): New.
+ (readelf_SOURCES): Add $(ELFLIBS).
+ (elfedit_SOURCES): Likewise.
+ (objdump_SOURCES): Likewise.
+ * Makefile.in: Regenerated.
+ * dwarf.c: Include "elfcomm.h".
+ (byte_get): Removed.
+ (byte_get_little_endian): Likewise.
+ (byte_get_big_endian): Likewise.
+ (byte_get_signed): Likewise.
+ (error): Likewise.
+ (warn): Likewise.
+ * dwarf.h (dwarf_vma): Defined with HOST_WIDEST_INT.
+ (dwarf_size_type): Likewise.
+ (byte_get): Removed.
+ (byte_get_signed): Likewise.
+ (byte_get_little_endian): Likewise.
+ (byte_get_big_endian): Likewise.
+ (error): Likewise.
+ (warn): Likewise.
+ * elfedit.c: Include "elfcomm.h". Don't include "aout/ar.h".
+ Call error () instead of non_fatal ().
+ (streq): Removed.
+ (strneq): Likewise.
+ (const_strneq): Likewise.
+ (non_fatal): Likewise.
+ (BYTE_GET): Likewise.
+ (BYTE_PUT): Likewise.
+ (byte_get): Likewise.
+ (byte_put): Likewise.
+ (byte_get_little_endian): Likewise.
+ (byte_get_big_endian): Likewise.
+ (byte_put_little_endian): Likewise.
+ (byte_put_big_endian): Likewise.
+ (adjust_relative_path): Likewise.
+ (archive_info): Likewise.
+ (setup_archive): Likewise.
+ (release_archive): Likewise.
+ (setup_nested_archive): Likewise.
+ (get_archive_member_name): Likewise.
+ (get_archive_member_name_at): Likewise.
+ (make_qualified_name): Likewise.
+ * objdump.c: Include "elfcomm.h".
+ * readelf.c: Include "elfcomm.h". Don't include "aout/ar.h".
+ (BYTE_GET): Removed.
+ (BYTE_GET_SIGNED): Removed.
+ (streq): Likewise.
+ (strneq): Likewise.
+ (const_strneq): Likewise.
+ (byte_put): Likewise.
+ (byte_put_little_endian): Likewise.
+ (byte_put_big_endian): Likewise.
+ (adjust_relative_path): Likewise.
+ (archive_info): Likewise.
+ (setup_archive): Likewise.
+ (release_archive): Likewise.
+ (setup_nested_archive): Likewise.
+ (get_archive_member_name): Likewise.
+ (get_archive_member_name_at): Likewise.
+ (make_qualified_name): Likewise.
+
+ 2010-11-18 Alan Modra <amodra@gmail.com>
+ PR binutils/11742
+ * readelf.c (get_archive_member_name): Formatting. Properly
+ handle full size ar_name.
+
+ 2010-11-17 Alan Modra <amodra@gmail.com>
+ * ar.c (print_contents): Don't internationalize strings without words.
+ * dwarf.c (process_extended_line_op): Likewise.
+ (process_debug_info): Likwise.
+ (display_debug_lines_raw): Likewise.
+ (display_debug_lines_decoded): Likewise.
+ (display_debug_abbrev): Likewise.
+ * readelf.c (process_file_header): Likewise.
+ (GET_OP): Likewise.
+ (decode_arm_unwind): Likewise.
+ (process_mips_specific): Likewise.
+ * resrc.c (run_cmd): Likewise.
+ (rcparse_warning): Likewise.
+ * objdump.c (dump_headers): Don't print "Pg".
+
+ 2010-11-08 Alan Modra <amodra@gmail.com>
+ * objcopy.c (copy_main): No need to rename sections when compressing
+ or decompressing.
+
2010-12-21 Alan Modra <amodra@gmail.com>
* po/ja.po: Update.
HFILES = \
arsup.h binemul.h bucomm.h budbg.h \
- coffgrok.h debug.h dlltool.h dwarf.h nlmconv.h \
+ coffgrok.h debug.h dlltool.h dwarf.h elfcomm.h nlmconv.h \
sysdep.h unwind-ia64.h windres.h winduni.h windint.h \
windmc.h
addr2line.c ar.c arsup.c bin2c.c binemul.c bucomm.c \
coffdump.c coffgrok.c cxxfilt.c \
dwarf.c debug.c dlltool.c dllwrap.c \
- emul_aix.c emul_vanilla.c filemode.c \
+ elfcomm.c emul_aix.c emul_vanilla.c filemode.c \
ieee.c is-ranlib.c is-strip.c maybe-ranlib.c maybe-strip.c \
nlmconv.c nm.c not-ranlib.c not-strip.c \
objcopy.c objdump.c prdbg.c \
# Code shared by all the binutils.
BULIBS = bucomm.c version.c filemode.c
+# Code shared by the ELF related programs.
+ELFLIBS = elfcomm.c
+
BFDLIB = ../bfd/libbfd.la
OPCODES = ../opcodes/libopcodes.la
strings_SOURCES = strings.c $(BULIBS)
-readelf_SOURCES = readelf.c version.c unwind-ia64.c dwarf.c
+readelf_SOURCES = readelf.c version.c unwind-ia64.c dwarf.c $(ELFLIBS)
readelf_LDADD = $(LIBINTL) $(LIBIBERTY)
-elfedit_SOURCES = elfedit.c version.c
+elfedit_SOURCES = elfedit.c version.c $(ELFLIBS)
elfedit_LDADD = $(LIBINTL) $(LIBIBERTY)
strip_new_SOURCES = objcopy.c is-strip.c rename.c $(WRITE_DEBUG_SRCS) $(BULIBS)
nm_new_SOURCES = nm.c $(BULIBS)
-objdump_SOURCES = objdump.c dwarf.c prdbg.c $(DEBUG_SRCS) $(BULIBS)
+objdump_SOURCES = objdump.c dwarf.c prdbg.c $(DEBUG_SRCS) $(BULIBS) $(ELFLIBS)
objdump_LDADD = $(OPCODES) $(BFDLIB) $(LIBIBERTY) $(LIBINTL)
objdump.@OBJEXT@:objdump.c
dlltool_OBJECTS = $(am_dlltool_OBJECTS)
am_dllwrap_OBJECTS = dllwrap.$(OBJEXT) version.$(OBJEXT)
dllwrap_OBJECTS = $(am_dllwrap_OBJECTS)
-am_elfedit_OBJECTS = elfedit.$(OBJEXT) version.$(OBJEXT)
+am__objects_2 = elfcomm.$(OBJEXT)
+am_elfedit_OBJECTS = elfedit.$(OBJEXT) version.$(OBJEXT) \
+ $(am__objects_2)
elfedit_OBJECTS = $(am_elfedit_OBJECTS)
am_nlmconv_OBJECTS = nlmconv.$(OBJEXT) nlmheader.$(OBJEXT) \
$(am__objects_1)
am_nm_new_OBJECTS = nm.$(OBJEXT) $(am__objects_1)
nm_new_OBJECTS = $(am_nm_new_OBJECTS)
nm_new_LDADD = $(LDADD)
-am__objects_2 = rddbg.$(OBJEXT) debug.$(OBJEXT) stabs.$(OBJEXT) \
+am__objects_3 = rddbg.$(OBJEXT) debug.$(OBJEXT) stabs.$(OBJEXT) \
ieee.$(OBJEXT) rdcoff.$(OBJEXT)
-am__objects_3 = $(am__objects_2) wrstabs.$(OBJEXT)
+am__objects_4 = $(am__objects_3) wrstabs.$(OBJEXT)
am_objcopy_OBJECTS = objcopy.$(OBJEXT) not-strip.$(OBJEXT) \
- rename.$(OBJEXT) $(am__objects_3) $(am__objects_1)
+ rename.$(OBJEXT) $(am__objects_4) $(am__objects_1)
objcopy_OBJECTS = $(am_objcopy_OBJECTS)
objcopy_LDADD = $(LDADD)
am_objdump_OBJECTS = objdump.$(OBJEXT) dwarf.$(OBJEXT) prdbg.$(OBJEXT) \
- $(am__objects_2) $(am__objects_1)
+ $(am__objects_3) $(am__objects_1) $(am__objects_2)
objdump_OBJECTS = $(am_objdump_OBJECTS)
am_ranlib_OBJECTS = ar.$(OBJEXT) is-ranlib.$(OBJEXT) arparse.$(OBJEXT) \
arlex.$(OBJEXT) arsup.$(OBJEXT) rename.$(OBJEXT) \
binemul.$(OBJEXT) emul_$(EMULATION).$(OBJEXT) $(am__objects_1)
ranlib_OBJECTS = $(am_ranlib_OBJECTS)
am_readelf_OBJECTS = readelf.$(OBJEXT) version.$(OBJEXT) \
- unwind-ia64.$(OBJEXT) dwarf.$(OBJEXT)
+ unwind-ia64.$(OBJEXT) dwarf.$(OBJEXT) $(am__objects_2)
readelf_OBJECTS = $(am_readelf_OBJECTS)
am_size_OBJECTS = size.$(OBJEXT) $(am__objects_1)
size_OBJECTS = $(am_size_OBJECTS)
strings_OBJECTS = $(am_strings_OBJECTS)
strings_LDADD = $(LDADD)
am_strip_new_OBJECTS = objcopy.$(OBJEXT) is-strip.$(OBJEXT) \
- rename.$(OBJEXT) $(am__objects_3) $(am__objects_1)
+ rename.$(OBJEXT) $(am__objects_4) $(am__objects_1)
strip_new_OBJECTS = $(am_strip_new_OBJECTS)
strip_new_LDADD = $(LDADD)
am_sysdump_OBJECTS = sysdump.$(OBJEXT) $(am__objects_1)
HFILES = \
arsup.h binemul.h bucomm.h budbg.h \
- coffgrok.h debug.h dlltool.h dwarf.h nlmconv.h \
+ coffgrok.h debug.h dlltool.h dwarf.h elfcomm.h nlmconv.h \
sysdep.h unwind-ia64.h windres.h winduni.h windint.h \
windmc.h
addr2line.c ar.c arsup.c bin2c.c binemul.c bucomm.c \
coffdump.c coffgrok.c cxxfilt.c \
dwarf.c debug.c dlltool.c dllwrap.c \
- emul_aix.c emul_vanilla.c filemode.c \
+ elfcomm.c emul_aix.c emul_vanilla.c filemode.c \
ieee.c is-ranlib.c is-strip.c maybe-ranlib.c maybe-strip.c \
nlmconv.c nm.c not-ranlib.c not-strip.c \
objcopy.c objdump.c prdbg.c \
# Code shared by all the binutils.
BULIBS = bucomm.c version.c filemode.c
+
+# Code shared by the ELF related programs.
+ELFLIBS = elfcomm.c
BFDLIB = ../bfd/libbfd.la
OPCODES = ../opcodes/libopcodes.la
LIBIBERTY = ../libiberty/libiberty.a
size_SOURCES = size.c $(BULIBS)
objcopy_SOURCES = objcopy.c not-strip.c rename.c $(WRITE_DEBUG_SRCS) $(BULIBS)
strings_SOURCES = strings.c $(BULIBS)
-readelf_SOURCES = readelf.c version.c unwind-ia64.c dwarf.c
+readelf_SOURCES = readelf.c version.c unwind-ia64.c dwarf.c $(ELFLIBS)
readelf_LDADD = $(LIBINTL) $(LIBIBERTY)
-elfedit_SOURCES = elfedit.c version.c
+elfedit_SOURCES = elfedit.c version.c $(ELFLIBS)
elfedit_LDADD = $(LIBINTL) $(LIBIBERTY)
strip_new_SOURCES = objcopy.c is-strip.c rename.c $(WRITE_DEBUG_SRCS) $(BULIBS)
nm_new_SOURCES = nm.c $(BULIBS)
-objdump_SOURCES = objdump.c dwarf.c prdbg.c $(DEBUG_SRCS) $(BULIBS)
+objdump_SOURCES = objdump.c dwarf.c prdbg.c $(DEBUG_SRCS) $(BULIBS) $(ELFLIBS)
objdump_LDADD = $(OPCODES) $(BFDLIB) $(LIBIBERTY) $(LIBINTL)
cxxfilt_SOURCES = cxxfilt.c $(BULIBS)
ar_SOURCES = arparse.y arlex.l ar.c not-ranlib.c arsup.c rename.c binemul.c \
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dlltool.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dllwrap.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dwarf.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elfcomm.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elfedit.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/emul_$(EMULATION).Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/emul_aix.Po@am__quote@
fatal (_("internal stat error on %s"), bfd_get_filename (abfd));
if (verbose)
- /* xgettext:c-format */
- printf (_("\n<%s>\n\n"), bfd_get_filename (abfd));
+ printf ("\n<%s>\n\n", bfd_get_filename (abfd));
bfd_seek (abfd, (file_ptr) 0, SEEK_SET);
/* bucomm.c -- Bin Utils COMmon code.
Copyright 1991, 1992, 1993, 1994, 1995, 1997, 1998, 2000, 2001, 2002,
- 2003, 2005, 2006, 2007, 2008, 2009, 2010
+ 2003, 2005, 2006, 2007, 2008, 2009, 2010, 2011
Free Software Foundation, Inc.
This file is part of GNU Binutils.
}
else if (! S_ISREG (statbuf.st_mode))
non_fatal (_("Warning: '%s' is not an ordinary file"), file_name);
+ else if (statbuf.st_size < 0)
+ non_fatal (_("Warning: '%s' has negative size, probably it is too large"),
+ file_name);
else
return statbuf.st_size;
[@option{-R}|@option{--dynamic-reloc}]
[@option{-s}|@option{--full-contents}]
[@option{-W[lLiaprmfFsoRt]}|
- @option{--dwarf}[=rawline,=decodedline,=info,=abbrev,=pubnames,=aranges,=macro,=frames,=frames-interp,=str,=loc,=Ranges,=pubtypes,=trace_info,=trace_abbrev,=trace_aranges]]
+ @option{--dwarf}[=rawline,=decodedline,=info,=abbrev,=pubnames,=aranges,=macro,=frames,=frames-interp,=str,=loc,=Ranges,=pubtypes,=trace_info,=trace_abbrev,=trace_aranges,=gdb_index]]
[@option{-G}|@option{--stabs}]
[@option{-t}|@option{--syms}]
[@option{-T}|@option{--dynamic-syms}]
instructions.
@item -W[lLiaprmfFsoRt]
-@itemx --dwarf[=rawline,=decodedline,=info,=abbrev,=pubnames,=aranges,=macro,=frames,=frames-interp,=str,=loc,=Ranges,=pubtypes,=trace_info,=trace_abbrev,=trace_aranges]
+@itemx --dwarf[=rawline,=decodedline,=info,=abbrev,=pubnames,=aranges,=macro,=frames,=frames-interp,=str,=loc,=Ranges,=pubtypes,=trace_info,=trace_abbrev,=trace_aranges,=gdb_index]
@cindex DWARF
@cindex debug symbols
Displays the contents of the debug sections in the file, if any are
then only data found in those specific sections will be dumped.
Note that there is no single letter option to display the content of
-trace sections.
+trace sections or .gdb_index.
@item -G
@itemx --stabs
[@option{-R} <number or name>|@option{--relocated-dump=}<number or name>]
[@option{-c}|@option{--archive-index}]
[@option{-w[lLiaprmfFsoRt]}|
- @option{--debug-dump}[=rawline,=decodedline,=info,=abbrev,=pubnames,=aranges,=macro,=frames,=frames-interp,=str,=loc,=Ranges,=pubtypes,=trace_info,=trace_abbrev,=trace_aranges]]
+ @option{--debug-dump}[=rawline,=decodedline,=info,=abbrev,=pubnames,=aranges,=macro,=frames,=frames-interp,=str,=loc,=Ranges,=pubtypes,=trace_info,=trace_abbrev,=trace_aranges,=gdb_index]]
[@option{-I}|@option{--histogram}]
[@option{-v}|@option{--version}]
[@option{-W}|@option{--wide}]
command to @command{ar}, but without using the BFD library. @xref{ar}.
@item -w[lLiaprmfFsoRt]
-@itemx --debug-dump[=rawline,=decodedline,=info,=abbrev,=pubnames,=aranges,=macro,=frames,=frames-interp,=str,=loc,=Ranges,=pubtypes,=trace_info,=trace_abbrev,=trace_aranges]
+@itemx --debug-dump[=rawline,=decodedline,=info,=abbrev,=pubnames,=aranges,=macro,=frames,=frames-interp,=str,=loc,=Ranges,=pubtypes,=trace_info,=trace_abbrev,=trace_aranges,=gdb_index]
Displays the contents of the debug sections in the file, if any are
present. If one of the optional letters or words follows the switch
then only data found in those specific sections will be dumped.
Note that there is no single letter option to display the content of
-trace sections.
+trace sections or .gdb_index.
Note: the @option{=decodedline} option will display the interpreted
contents of a .debug_line section whereas the @option{=rawline} option
#include "sysdep.h"
#include "libiberty.h"
#include "bfd.h"
+#include "bfd_stdint.h"
#include "bucomm.h"
+#include "elfcomm.h"
#include "elf/common.h"
#include "dwarf2.h"
#include "dwarf.h"
int do_debug_macinfo;
int do_debug_str;
int do_debug_loc;
+int do_gdb_index;
int do_trace_info;
int do_trace_abbrevs;
int do_trace_aranges;
#define FLAG_DEBUG_LINES_RAW 1
#define FLAG_DEBUG_LINES_DECODED 2
-dwarf_vma (*byte_get) (unsigned char *, int);
-
-dwarf_vma
-byte_get_little_endian (unsigned char *field, int size)
-{
- switch (size)
- {
- case 1:
- return *field;
-
- case 2:
- return ((unsigned int) (field[0]))
- | (((unsigned int) (field[1])) << 8);
-
- case 3:
- return ((unsigned long) (field[0]))
- | (((unsigned long) (field[1])) << 8)
- | (((unsigned long) (field[2])) << 16);
-
- case 4:
- return ((unsigned long) (field[0]))
- | (((unsigned long) (field[1])) << 8)
- | (((unsigned long) (field[2])) << 16)
- | (((unsigned long) (field[3])) << 24);
-
- case 8:
- if (sizeof (dwarf_vma) == 8)
- return ((dwarf_vma) (field[0]))
- | (((dwarf_vma) (field[1])) << 8)
- | (((dwarf_vma) (field[2])) << 16)
- | (((dwarf_vma) (field[3])) << 24)
- | (((dwarf_vma) (field[4])) << 32)
- | (((dwarf_vma) (field[5])) << 40)
- | (((dwarf_vma) (field[6])) << 48)
- | (((dwarf_vma) (field[7])) << 56);
- else if (sizeof (dwarf_vma) == 4)
- /* We want to extract data from an 8 byte wide field and
- place it into a 4 byte wide field. Since this is a little
- endian source we can just use the 4 byte extraction code. */
- return ((unsigned long) (field[0]))
- | (((unsigned long) (field[1])) << 8)
- | (((unsigned long) (field[2])) << 16)
- | (((unsigned long) (field[3])) << 24);
-
- default:
- error (_("Unhandled data length: %d\n"), size);
- abort ();
- }
-}
-
-dwarf_vma
-byte_get_big_endian (unsigned char *field, int size)
-{
- switch (size)
- {
- case 1:
- return *field;
-
- case 2:
- return ((unsigned int) (field[1])) | (((int) (field[0])) << 8);
-
- case 3:
- return ((unsigned long) (field[2]))
- | (((unsigned long) (field[1])) << 8)
- | (((unsigned long) (field[0])) << 16);
-
- case 4:
- return ((unsigned long) (field[3]))
- | (((unsigned long) (field[2])) << 8)
- | (((unsigned long) (field[1])) << 16)
- | (((unsigned long) (field[0])) << 24);
-
- case 8:
- if (sizeof (dwarf_vma) == 8)
- return ((dwarf_vma) (field[7]))
- | (((dwarf_vma) (field[6])) << 8)
- | (((dwarf_vma) (field[5])) << 16)
- | (((dwarf_vma) (field[4])) << 24)
- | (((dwarf_vma) (field[3])) << 32)
- | (((dwarf_vma) (field[2])) << 40)
- | (((dwarf_vma) (field[1])) << 48)
- | (((dwarf_vma) (field[0])) << 56);
- else if (sizeof (dwarf_vma) == 4)
- {
- /* Although we are extracing data from an 8 byte wide field,
- we are returning only 4 bytes of data. */
- field += 4;
- return ((unsigned long) (field[3]))
- | (((unsigned long) (field[2])) << 8)
- | (((unsigned long) (field[1])) << 16)
- | (((unsigned long) (field[0])) << 24);
- }
-
- default:
- error (_("Unhandled data length: %d\n"), size);
- abort ();
- }
-}
-
-dwarf_vma
-byte_get_signed (unsigned char *field, int size)
-{
- dwarf_vma x = byte_get (field, size);
-
- switch (size)
- {
- case 1:
- return (x ^ 0x80) - 0x80;
- case 2:
- return (x ^ 0x8000) - 0x8000;
- case 4:
- return (x ^ 0x80000000) - 0x80000000;
- case 8:
- return x;
- default:
- abort ();
- }
-}
-
static int
size_of_encoded_value (int encoding)
{
}
static dwarf_vma
-get_encoded_value (unsigned char *data, int encoding)
+get_encoded_value (unsigned char *data,
+ int encoding,
+ struct dwarf_section *section)
{
int size = size_of_encoded_value (encoding);
+ dwarf_vma val;
if (encoding & DW_EH_PE_signed)
- return byte_get_signed (data, size);
+ val = byte_get_signed (data, size);
else
- return byte_get (data, size);
+ val = byte_get (data, size);
+
+ if ((encoding & 0x70) == DW_EH_PE_pcrel)
+ val += section->address + (data - section->start);
+ return val;
}
/* Print a dwarf_vma value (typically an address, offset or length) in
printf (_(" define new File Table entry\n"));
printf (_(" Entry\tDir\tTime\tSize\tName\n"));
- printf (_(" %d\t"), ++state_machine_regs.last_file_entry);
+ printf (" %d\t", ++state_machine_regs.last_file_entry);
name = data;
data += strlen ((char *) data) + 1;
- printf (_("%lu\t"), read_leb128 (data, & bytes_read, 0));
+ printf ("%lu\t", read_leb128 (data, & bytes_read, 0));
data += bytes_read;
- printf (_("%lu\t"), read_leb128 (data, & bytes_read, 0));
+ printf ("%lu\t", read_leb128 (data, & bytes_read, 0));
data += bytes_read;
- printf (_("%lu\t"), read_leb128 (data, & bytes_read, 0));
- printf (_("%s\n\n"), name);
+ printf ("%lu\t", read_leb128 (data, & bytes_read, 0));
+ printf ("%s\n\n", name);
break;
case DW_LNE_set_discriminator:
dwarf_vma addr;
encoding = *data++;
- addr = get_encoded_value (data, encoding);
- if ((encoding & 0x70) == DW_EH_PE_pcrel)
- addr += section->address + (data - section->start);
+ addr = get_encoded_value (data, encoding, section);
data += size_of_encoded_value (encoding);
printf ("DW_OP_GNU_encoded_addr: fmt:%02x addr:", encoding);
}
if (!do_loc)
- printf (_(" (%s)\n"), get_TAG_name (entry->tag));
+ printf (" (%s)\n", get_TAG_name (entry->tag));
switch (entry->tag)
{
while (*data != 0)
{
- printf (_(" %s\n"), data);
+ printf (" %s\n", data);
data += strlen ((char *) data) + 1;
}
unsigned char *name;
unsigned int bytes_read;
- printf (_(" %d\t"), ++state_machine_regs.last_file_entry);
+ printf (" %d\t", ++state_machine_regs.last_file_entry);
name = data;
data += strlen ((char *) data) + 1;
- printf (_("%lu\t"), read_leb128 (data, & bytes_read, 0));
+ printf ("%lu\t", read_leb128 (data, & bytes_read, 0));
data += bytes_read;
- printf (_("%lu\t"), read_leb128 (data, & bytes_read, 0));
+ printf ("%lu\t", read_leb128 (data, & bytes_read, 0));
data += bytes_read;
- printf (_("%lu\t"), read_leb128 (data, & bytes_read, 0));
+ printf ("%lu\t", read_leb128 (data, & bytes_read, 0));
data += bytes_read;
- printf (_("%s\n"), name);
+ printf ("%s\n", name);
}
}
else
{
if (do_wide || strlen ((char *) directory_table[0]) < 76)
- {
- printf (_("CU: %s/%s:\n"), directory_table[0],
- file_table[0].name);
- }
+ printf (_("CU: %s/%s:\n"), directory_table[0],
+ file_table[0].name);
else
- {
- printf (_("%s:\n"), file_table[0].name);
- }
+ printf ("%s:\n", file_table[0].name);
+
printf (_("File name Line number Starting address\n"));
}
}
op_code_data += bytes_read;
read_leb128 (op_code_data, & bytes_read, 0);
- printf (_("%s:\n"), directory_table[dir_index]);
+ printf ("%s:\n", directory_table[dir_index]);
break;
}
default:
if (file_table[state_machine_regs.file - 1].directory_index == 0)
{
/* If directory index is 0, that means current directory. */
- printf (_("\n./%s:[++]\n"),
+ printf ("\n./%s:[++]\n",
file_table[state_machine_regs.file - 1].name);
}
else
{
/* The directory index starts counting at 1. */
- printf (_("\n%s/%s:\n"),
+ printf ("\n%s/%s:\n",
directory_table[file_table[state_machine_regs.file - 1].directory_index - 1],
file_table[state_machine_regs.file - 1].name);
}
if (!do_wide || (fileNameLength <= MAX_FILENAME_LENGTH))
{
if (linfo.li_max_ops_per_insn == 1)
- printf (_("%-35s %11d %#18lx\n"), newFileName,
+ printf ("%-35s %11d %#18lx\n", newFileName,
state_machine_regs.line,
state_machine_regs.address);
else
- printf (_("%-35s %11d %#18lx[%d]\n"), newFileName,
+ printf ("%-35s %11d %#18lx[%d]\n", newFileName,
state_machine_regs.line,
state_machine_regs.address,
state_machine_regs.op_index);
else
{
if (linfo.li_max_ops_per_insn == 1)
- printf (_("%s %11d %#18lx\n"), newFileName,
+ printf ("%s %11d %#18lx\n", newFileName,
state_machine_regs.line,
state_machine_regs.address);
else
- printf (_("%s %11d %#18lx[%d]\n"), newFileName,
+ printf ("%s %11d %#18lx[%d]\n", newFileName,
state_machine_regs.line,
state_machine_regs.address,
state_machine_regs.op_index);
{
abbrev_attr *attr;
- printf (_(" %ld %s [%s]\n"),
+ printf (" %ld %s [%s]\n",
entry->entry,
get_TAG_name (entry->tag),
entry->children ? _("has children") : _("no children"));
for (attr = entry->first_attr; attr; attr = attr->next)
- printf (_(" %-18s %s\n"),
+ printf (" %-18s %s\n",
get_AT_name (attr->attribute),
get_FORM_name (attr->form));
}
segment_selector = byte_get (start, fc->segment_size);
start += fc->segment_size;
}
- fc->pc_begin = get_encoded_value (start, fc->fde_encoding);
- if ((fc->fde_encoding & 0x70) == DW_EH_PE_pcrel)
- fc->pc_begin += section->address + (start - section_start);
+ fc->pc_begin = get_encoded_value (start, fc->fde_encoding, section);
start += encoded_ptr_size;
fc->pc_range = byte_get (start, encoded_ptr_size);
start += encoded_ptr_size;
break;
case DW_CFA_set_loc:
- vma = get_encoded_value (start, fc->fde_encoding);
- if ((fc->fde_encoding & 0x70) == DW_EH_PE_pcrel)
- vma += section->address + (start - section_start);
+ vma = get_encoded_value (start, fc->fde_encoding, section);
start += encoded_ptr_size;
if (do_debug_frames_interp)
frame_display_row (fc, &need_col_headers, &max_regs);
#undef LEB
#undef SLEB
+static int
+display_gdb_index (struct dwarf_section *section,
+ void *file ATTRIBUTE_UNUSED)
+{
+ unsigned char *start = section->start;
+ uint32_t version;
+ uint32_t cu_list_offset, tu_list_offset;
+ uint32_t address_table_offset, symbol_table_offset, constant_pool_offset;
+ unsigned int cu_list_elements, tu_list_elements;
+ unsigned int address_table_size, symbol_table_slots;
+ unsigned char *cu_list, *tu_list;
+ unsigned char *address_table, *symbol_table, *constant_pool;
+ unsigned int i;
+
+ /* The documentation for the format of this file is in gdb/dwarf2read.c. */
+
+ printf (_("Contents of the %s section:\n"), section->name);
+
+ if (section->size < 6 * sizeof (uint32_t))
+ {
+ warn (_("Truncated header in the %s section.\n"), section->name);
+ return 0;
+ }
+
+ version = byte_get_little_endian (start, 4);
+ printf (_("Version %ld\n"), (long) version);
+
+ /* Prior versions are obsolete, and future versions may not be
+ backwards compatible. */
+ if (version != 3)
+ {
+ warn (_("Unsupported version %lu.\n"), (unsigned long) version);
+ return 0;
+ }
+
+ cu_list_offset = byte_get_little_endian (start + 4, 4);
+ tu_list_offset = byte_get_little_endian (start + 8, 4);
+ address_table_offset = byte_get_little_endian (start + 12, 4);
+ symbol_table_offset = byte_get_little_endian (start + 16, 4);
+ constant_pool_offset = byte_get_little_endian (start + 20, 4);
+
+ if (cu_list_offset > section->size
+ || tu_list_offset > section->size
+ || address_table_offset > section->size
+ || symbol_table_offset > section->size
+ || constant_pool_offset > section->size)
+ {
+ warn (_("Corrupt header in the %s section.\n"), section->name);
+ return 0;
+ }
+
+ cu_list_elements = (tu_list_offset - cu_list_offset) / 8;
+ tu_list_elements = (address_table_offset - tu_list_offset) / 8;
+ address_table_size = symbol_table_offset - address_table_offset;
+ symbol_table_slots = (constant_pool_offset - symbol_table_offset) / 8;
+
+ cu_list = start + cu_list_offset;
+ tu_list = start + tu_list_offset;
+ address_table = start + address_table_offset;
+ symbol_table = start + symbol_table_offset;
+ constant_pool = start + constant_pool_offset;
+
+ printf (_("\nCU table:\n"));
+ for (i = 0; i < cu_list_elements; i += 2)
+ {
+ uint64_t cu_offset = byte_get_little_endian (cu_list + i * 8, 8);
+ uint64_t cu_length = byte_get_little_endian (cu_list + i * 8 + 8, 8);
+
+ printf (_("[%3u] 0x%lx - 0x%lx\n"), i / 2,
+ (unsigned long) cu_offset,
+ (unsigned long) (cu_offset + cu_length - 1));
+ }
+
+ printf (_("\nTU table:\n"));
+ for (i = 0; i < tu_list_elements; i += 3)
+ {
+ uint64_t tu_offset = byte_get_little_endian (tu_list + i * 8, 8);
+ uint64_t type_offset = byte_get_little_endian (tu_list + i * 8 + 8, 8);
+ uint64_t signature = byte_get_little_endian (tu_list + i * 8 + 16, 8);
+
+ printf (_("[%3u] 0x%lx 0x%lx "), i / 3,
+ (unsigned long) tu_offset,
+ (unsigned long) type_offset);
+ print_dwarf_vma (signature, 8);
+ printf ("\n");
+ }
+
+ printf (_("\nAddress table:\n"));
+ for (i = 0; i < address_table_size; i += 2 * 8 + 4)
+ {
+ uint64_t low = byte_get_little_endian (address_table + i, 8);
+ uint64_t high = byte_get_little_endian (address_table + i + 8, 8);
+ uint32_t cu_index = byte_get_little_endian (address_table + i + 16, 4);
+
+ print_dwarf_vma (low, 8);
+ print_dwarf_vma (high, 8);
+ printf (_("%lu\n"), (unsigned long) cu_index);
+ }
+
+ printf (_("\nSymbol table:\n"));
+ for (i = 0; i < symbol_table_slots; ++i)
+ {
+ uint32_t name_offset = byte_get_little_endian (symbol_table + i * 8, 4);
+ uint32_t cu_vector_offset = byte_get_little_endian (symbol_table + i * 8 + 4, 4);
+ uint32_t num_cus, cu;
+
+ if (name_offset != 0
+ || cu_vector_offset != 0)
+ {
+ unsigned int j;
+
+ printf ("[%3u] %s:", i, constant_pool + name_offset);
+ num_cus = byte_get_little_endian (constant_pool + cu_vector_offset, 4);
+ for (j = 0; j < num_cus; ++j)
+ {
+ cu = byte_get_little_endian (constant_pool + cu_vector_offset + 4 + j * 4, 4);
+ /* Convert to TU number if it's for a type unit. */
+ if (cu >= cu_list_elements)
+ printf (" T%lu", (unsigned long) (cu - cu_list_elements));
+ else
+ printf (" %lu", (unsigned long) cu);
+ }
+ printf ("\n");
+ }
+ }
+
+ return 1;
+}
+
static int
display_debug_not_supported (struct dwarf_section *section,
void *file ATTRIBUTE_UNUSED)
return xrealloc (ptr, nmemb * size);
}
-void
-error (const char *message, ...)
-{
- va_list args;
-
- va_start (args, message);
- fprintf (stderr, _("%s: Error: "), program_name);
- vfprintf (stderr, message, args);
- va_end (args);
-}
-
-void
-warn (const char *message, ...)
-{
- va_list args;
-
- va_start (args, message);
- fprintf (stderr, _("%s: Warning: "), program_name);
- vfprintf (stderr, message, args);
- va_end (args);
-}
-
void
free_debug_memory (void)
{
with earlier versions of readelf. */
{ "ranges", & do_debug_aranges, 1 },
{ "str", & do_debug_str, 1 },
+ /* The special .gdb_index section. */
+ { "gdb_index", & do_gdb_index, 1 },
/* These trace_* sections are used by Itanium VMS. */
{ "trace_abbrev", & do_trace_abbrevs, 1 },
{ "trace_aranges", & do_trace_aranges, 1 },
do_debug_macinfo = 1;
do_debug_str = 1;
do_debug_loc = 1;
+ do_gdb_index = 1;
do_trace_info = 1;
do_trace_abbrevs = 1;
do_trace_aranges = 1;
display_debug_types, &do_debug_info, 1 },
{ { ".debug_weaknames", ".zdebug_weaknames", NULL, NULL, 0, 0 },
display_debug_not_supported, NULL, 0 },
+ { { ".gdb_index", "", NULL, NULL, 0, 0 },
+ display_gdb_index, &do_gdb_index, 0 },
{ { ".trace_info", "", NULL, NULL, 0, 0 },
display_trace_info, &do_trace_info, 1 },
{ { ".trace_abbrev", "", NULL, NULL, 0, 0 },
Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
MA 02110-1301, USA. */
-#if __STDC_VERSION__ >= 199901L || (defined(__GNUC__) && __GNUC__ >= 2)
-/* We can't use any bfd types here since readelf may define BFD64 and
- objdump may not. */
-typedef unsigned long long dwarf_vma;
-typedef unsigned long long dwarf_size_type;
-#else
-typedef unsigned long dwarf_vma;
-typedef unsigned long dwarf_size_type;
-#endif
+typedef unsigned HOST_WIDEST_INT dwarf_vma;
+typedef unsigned HOST_WIDEST_INT dwarf_size_type;
struct dwarf_section
{
}
debug_info;
-extern dwarf_vma (*byte_get) (unsigned char *, int);
-extern dwarf_vma byte_get_signed (unsigned char *, int);
-extern dwarf_vma byte_get_little_endian (unsigned char *, int);
-extern dwarf_vma byte_get_big_endian (unsigned char *, int);
-
extern int eh_addr_size;
extern int do_debug_info;
extern int do_debug_macinfo;
extern int do_debug_str;
extern int do_debug_loc;
+extern int do_gdb_index;
extern int do_trace_info;
extern int do_trace_abbrevs;
extern int do_trace_aranges;
void *xcmalloc (size_t, size_t);
void *xcrealloc (void *, size_t, size_t);
-void error (const char *, ...) ATTRIBUTE_PRINTF_1;
-void warn (const char *, ...) ATTRIBUTE_PRINTF_1;
-
unsigned long int read_leb128 (unsigned char *data,
unsigned int *length_return, int sign);
#endif
#include "bfd.h"
+#include "elfcomm.h"
#include "bucomm.h"
#include "elf/common.h"
#include "elf/external.h"
#include "elf/internal.h"
-
-#include "aout/ar.h"
-
#include "getopt.h"
#include "libiberty.h"
#include "safe-ctype.h"
static int output_elf_osabi = -1;
static int input_elf_class = -1;
-#define streq(a,b) (strcmp ((a), (b)) == 0)
-#define strneq(a,b,n) (strncmp ((a), (b), (n)) == 0)
-#define const_strneq(a,b) (strncmp ((a), (b), sizeof (b) - 1) == 0)
-
-void
-non_fatal (const char *message, ...)
-{
- va_list args;
-
- va_start (args, message);
- fprintf (stderr, _("%s: Error: "), program_name);
- vfprintf (stderr, message, args);
- va_end (args);
-}
-
-#define BYTE_GET(field) byte_get (field, sizeof (field))
-#define BYTE_PUT(field, val) byte_put (field, val, sizeof (field))
-
-static bfd_vma (*byte_get) (unsigned char *, int);
-static void (*byte_put) (unsigned char *, bfd_vma, int);
-
-static bfd_vma
-byte_get_little_endian (unsigned char *field, int size)
-{
- switch (size)
- {
- case 1:
- return *field;
-
- case 2:
- return ((unsigned int) (field[0]))
- | (((unsigned int) (field[1])) << 8);
-
- case 4:
- return ((unsigned long) (field[0]))
- | (((unsigned long) (field[1])) << 8)
- | (((unsigned long) (field[2])) << 16)
- | (((unsigned long) (field[3])) << 24);
-
- case 8:
- if (sizeof (bfd_vma) == 8)
- return ((bfd_vma) (field[0]))
- | (((bfd_vma) (field[1])) << 8)
- | (((bfd_vma) (field[2])) << 16)
- | (((bfd_vma) (field[3])) << 24)
- | (((bfd_vma) (field[4])) << 32)
- | (((bfd_vma) (field[5])) << 40)
- | (((bfd_vma) (field[6])) << 48)
- | (((bfd_vma) (field[7])) << 56);
- else if (sizeof (bfd_vma) == 4)
- /* We want to extract data from an 8 byte wide field and
- place it into a 4 byte wide field. Since this is a little
- endian source we can just use the 4 byte extraction code. */
- return ((unsigned long) (field[0]))
- | (((unsigned long) (field[1])) << 8)
- | (((unsigned long) (field[2])) << 16)
- | (((unsigned long) (field[3])) << 24);
-
- default:
- non_fatal (_("Unhandled data length: %d\n"), size);
- abort ();
- }
-}
-
-static bfd_vma
-byte_get_big_endian (unsigned char *field, int size)
-{
- switch (size)
- {
- case 1:
- return *field;
-
- case 2:
- return ((unsigned int) (field[1])) | (((int) (field[0])) << 8);
-
- case 4:
- return ((unsigned long) (field[3]))
- | (((unsigned long) (field[2])) << 8)
- | (((unsigned long) (field[1])) << 16)
- | (((unsigned long) (field[0])) << 24);
-
- case 8:
- if (sizeof (bfd_vma) == 8)
- return ((bfd_vma) (field[7]))
- | (((bfd_vma) (field[6])) << 8)
- | (((bfd_vma) (field[5])) << 16)
- | (((bfd_vma) (field[4])) << 24)
- | (((bfd_vma) (field[3])) << 32)
- | (((bfd_vma) (field[2])) << 40)
- | (((bfd_vma) (field[1])) << 48)
- | (((bfd_vma) (field[0])) << 56);
- else if (sizeof (bfd_vma) == 4)
- {
- /* Although we are extracing data from an 8 byte wide field,
- we are returning only 4 bytes of data. */
- field += 4;
- return ((unsigned long) (field[3]))
- | (((unsigned long) (field[2])) << 8)
- | (((unsigned long) (field[1])) << 16)
- | (((unsigned long) (field[0])) << 24);
- }
-
- default:
- non_fatal (_("Unhandled data length: %d\n"), size);
- abort ();
- }
-}
-
-static void
-byte_put_little_endian (unsigned char * field, bfd_vma value, int size)
-{
- switch (size)
- {
- case 8:
- field[7] = (((value >> 24) >> 24) >> 8) & 0xff;
- field[6] = ((value >> 24) >> 24) & 0xff;
- field[5] = ((value >> 24) >> 16) & 0xff;
- field[4] = ((value >> 24) >> 8) & 0xff;
- /* Fall through. */
- case 4:
- field[3] = (value >> 24) & 0xff;
- field[2] = (value >> 16) & 0xff;
- /* Fall through. */
- case 2:
- field[1] = (value >> 8) & 0xff;
- /* Fall through. */
- case 1:
- field[0] = value & 0xff;
- break;
-
- default:
- non_fatal (_("Unhandled data length: %d\n"), size);
- abort ();
- }
-}
-
-static void
-byte_put_big_endian (unsigned char * field, bfd_vma value, int size)
-{
- switch (size)
- {
- case 8:
- field[7] = value & 0xff;
- field[6] = (value >> 8) & 0xff;
- field[5] = (value >> 16) & 0xff;
- field[4] = (value >> 24) & 0xff;
- value >>= 16;
- value >>= 16;
- /* Fall through. */
- case 4:
- field[3] = value & 0xff;
- field[2] = (value >> 8) & 0xff;
- value >>= 16;
- /* Fall through. */
- case 2:
- field[1] = value & 0xff;
- value >>= 8;
- /* Fall through. */
- case 1:
- field[0] = value & 0xff;
- break;
-
- default:
- non_fatal (_("Unhandled data length: %d\n"), size);
- abort ();
- }
-}
-
static int
update_elf_header (const char *file_name, FILE *file)
{
|| elf_header.e_ident[EI_MAG2] != ELFMAG2
|| elf_header.e_ident[EI_MAG3] != ELFMAG3)
{
- non_fatal
+ error
(_("%s: Not an ELF file - wrong magic bytes at the start\n"),
file_name);
return 0;
if (elf_header.e_ident[EI_VERSION] != EV_CURRENT)
{
- non_fatal
+ error
(_("%s: Unsupported EI_VERSION: %d is not %d\n"),
file_name, elf_header.e_ident[EI_VERSION],
EV_CURRENT);
/* Skip if class doesn't match. */
if (input_elf_class != -1 && class != input_elf_class)
{
- non_fatal
+ error
(_("%s: Unmatched EI_CLASS: %d is not %d\n"),
file_name, class, input_elf_class);
return 0;
/* Skip if e_machine doesn't match. */
if (input_elf_machine != -1 && machine != input_elf_machine)
{
- non_fatal
+ error
(_("%s: Unmatched e_machine: %d is not %d\n"),
file_name, machine, input_elf_machine);
return 0;
/* Skip if e_type doesn't match. */
if (input_elf_type != -1 && type != input_elf_type)
{
- non_fatal
+ error
(_("%s: Unmatched e_type: %d is not %d\n"),
file_name, type, input_elf_type);
return 0;
/* Skip if OSABI doesn't match. */
if (input_elf_osabi != -1 && osabi != input_elf_osabi)
{
- non_fatal
+ error
(_("%s: Unmatched EI_OSABI: %d is not %d\n"),
file_name, osabi, input_elf_osabi);
return 0;
}
if (status != 1)
- non_fatal (_("%s: Failed to update ELF header: %s\n"),
+ error (_("%s: Failed to update ELF header: %s\n"),
file_name, strerror (errno));
return status;
switch (elf_header.e_ident[EI_CLASS])
{
default:
- non_fatal (_("Unsupported EI_CLASS: %d\n"),
+ error (_("Unsupported EI_CLASS: %d\n"),
elf_header.e_ident[EI_CLASS]);
return 0;
overwriting things. */
if (sizeof (bfd_vma) < 8)
{
- non_fatal (_("This executable has been built without support for a\n\
+ error (_("This executable has been built without support for a\n\
64 bit data type and so it cannot process 64 bit ELF files.\n"));
return 0;
}
if (! get_file_header (file))
{
- non_fatal (_("%s: Failed to read ELF header\n"), file_name);
+ error (_("%s: Failed to read ELF header\n"), file_name);
return 1;
}
/* Go to the position of the ELF header. */
if (fseek (file, offset, SEEK_SET) != 0)
{
- non_fatal (_("%s: Failed to seek to ELF header\n"), file_name);
+ error (_("%s: Failed to seek to ELF header\n"), file_name);
}
if (! update_elf_header (file_name, file))
return 0;
}
-/* Return the path name for a proxy entry in a thin archive, adjusted relative
- to the path name of the thin archive itself if necessary. Always returns
- a pointer to malloc'ed memory. */
-
-static char *
-adjust_relative_path (const char *file_name, char * name, int name_len)
-{
- char * member_file_name;
- const char * base_name = lbasename (file_name);
-
- /* This is a proxy entry for a thin archive member.
- If the extended name table contains an absolute path
- name, or if the archive is in the current directory,
- use the path name as given. Otherwise, we need to
- find the member relative to the directory where the
- archive is located. */
- if (IS_ABSOLUTE_PATH (name) || base_name == file_name)
- {
- member_file_name = malloc (name_len + 1);
- if (member_file_name == NULL)
- {
- non_fatal (_("Out of memory\n"));
- return NULL;
- }
- memcpy (member_file_name, name, name_len);
- member_file_name[name_len] = '\0';
- }
- else
- {
- /* Concatenate the path components of the archive file name
- to the relative path name from the extended name table. */
- size_t prefix_len = base_name - file_name;
- member_file_name = malloc (prefix_len + name_len + 1);
- if (member_file_name == NULL)
- {
- non_fatal (_("Out of memory\n"));
- return NULL;
- }
- memcpy (member_file_name, file_name, prefix_len);
- memcpy (member_file_name + prefix_len, name, name_len);
- member_file_name[prefix_len + name_len] = '\0';
- }
- return member_file_name;
-}
-
-/* Structure to hold information about an archive file. */
-
-struct archive_info
-{
- char * file_name; /* Archive file name. */
- FILE * file; /* Open file descriptor. */
- unsigned long index_num; /* Number of symbols in table. */
- unsigned long * index_array; /* The array of member offsets. */
- char * sym_table; /* The symbol table. */
- unsigned long sym_size; /* Size of the symbol table. */
- char * longnames; /* The long file names table. */
- unsigned long longnames_size; /* Size of the long file names table. */
- unsigned long nested_member_origin; /* Origin in the nested archive of the current member. */
- unsigned long next_arhdr_offset; /* Offset of the next archive header. */
- bfd_boolean is_thin_archive; /* TRUE if this is a thin archive. */
- struct ar_hdr arhdr; /* Current archive header. */
-};
-
-/* Read the symbol table and long-name table from an archive. */
-
-static int
-setup_archive (struct archive_info * arch, const char * file_name,
- FILE * file, bfd_boolean is_thin_archive)
-{
- size_t got;
- unsigned long size;
-
- arch->file_name = strdup (file_name);
- arch->file = file;
- arch->index_num = 0;
- arch->index_array = NULL;
- arch->sym_table = NULL;
- arch->sym_size = 0;
- arch->longnames = NULL;
- arch->longnames_size = 0;
- arch->nested_member_origin = 0;
- arch->is_thin_archive = is_thin_archive;
- arch->next_arhdr_offset = SARMAG;
-
- /* Read the first archive member header. */
- if (fseek (file, SARMAG, SEEK_SET) != 0)
- {
- non_fatal (_("%s: failed to seek to first archive header\n"),
- file_name);
- return 1;
- }
- got = fread (&arch->arhdr, 1, sizeof arch->arhdr, file);
- if (got != sizeof arch->arhdr)
- {
- if (got == 0)
- return 0;
-
- non_fatal (_("%s: failed to read archive header\n"), file_name);
- return 1;
- }
-
- /* See if this is the archive symbol table. */
- if (const_strneq (arch->arhdr.ar_name, "/ ")
- || const_strneq (arch->arhdr.ar_name, "/SYM64/ "))
- {
- size = strtoul (arch->arhdr.ar_size, NULL, 10);
- size = size + (size & 1);
-
- arch->next_arhdr_offset += sizeof arch->arhdr + size;
-
- if (fseek (file, size, SEEK_CUR) != 0)
- {
- non_fatal (_("%s: failed to skip archive symbol table\n"),
- file_name);
- return 1;
- }
-
- /* Read the next archive header. */
- got = fread (&arch->arhdr, 1, sizeof arch->arhdr, file);
- if (got != sizeof arch->arhdr)
- {
- if (got == 0)
- return 0;
- non_fatal (_("%s: failed to read archive header following archive index\n"),
- file_name);
- return 1;
- }
- }
-
- if (const_strneq (arch->arhdr.ar_name, "// "))
- {
- /* This is the archive string table holding long member names. */
- arch->longnames_size = strtoul (arch->arhdr.ar_size, NULL, 10);
- arch->next_arhdr_offset += sizeof arch->arhdr + arch->longnames_size;
-
- arch->longnames = malloc (arch->longnames_size);
- if (arch->longnames == NULL)
- {
- non_fatal (_("Out of memory reading long symbol names in archive\n"));
- return 1;
- }
-
- if (fread (arch->longnames, arch->longnames_size, 1, file) != 1)
- {
- free (arch->longnames);
- arch->longnames = NULL;
- non_fatal (_("%s: failed to read long symbol name string table\n")
- , file_name);
- return 1;
- }
-
- if ((arch->longnames_size & 1) != 0)
- getc (file);
- }
-
- return 0;
-}
-
-/* Release the memory used for the archive information. */
-
-static void
-release_archive (struct archive_info * arch)
-{
- if (arch->file_name != NULL)
- free (arch->file_name);
- if (arch->index_array != NULL)
- free (arch->index_array);
- if (arch->sym_table != NULL)
- free (arch->sym_table);
- if (arch->longnames != NULL)
- free (arch->longnames);
-}
-
-/* Open and setup a nested archive, if not already open. */
-
-static int
-setup_nested_archive (struct archive_info * nested_arch, char * member_file_name)
-{
- FILE * member_file;
-
- /* Have we already setup this archive? */
- if (nested_arch->file_name != NULL
- && streq (nested_arch->file_name, member_file_name))
- return 0;
-
- /* Close previous file and discard cached information. */
- if (nested_arch->file != NULL)
- fclose (nested_arch->file);
- release_archive (nested_arch);
-
- member_file = fopen (member_file_name, "r+b");
- if (member_file == NULL)
- return 1;
- return setup_archive (nested_arch, member_file_name, member_file,
- FALSE);
-}
-
-static char *
-get_archive_member_name_at (struct archive_info * arch,
- unsigned long offset,
- struct archive_info * nested_arch);
-
-/* Get the name of an archive member from the current archive header.
- For simple names, this will modify the ar_name field of the current
- archive header. For long names, it will return a pointer to the
- longnames table. For nested archives, it will open the nested archive
- and get the name recursively. NESTED_ARCH is a single-entry cache so
- we don't keep rereading the same information from a nested archive. */
-
-static char *
-get_archive_member_name (struct archive_info * arch,
- struct archive_info * nested_arch)
-{
- unsigned long j, k;
-
- if (arch->arhdr.ar_name[0] == '/')
- {
- /* We have a long name. */
- char * endp;
- char * member_file_name;
- char * member_name;
-
- arch->nested_member_origin = 0;
- k = j = strtoul (arch->arhdr.ar_name + 1, &endp, 10);
- if (arch->is_thin_archive && endp != NULL && * endp == ':')
- arch->nested_member_origin = strtoul (endp + 1, NULL, 10);
-
- while ((j < arch->longnames_size)
- && (arch->longnames[j] != '\n')
- && (arch->longnames[j] != '\0'))
- j++;
- if (arch->longnames[j-1] == '/')
- j--;
- arch->longnames[j] = '\0';
-
- if (!arch->is_thin_archive || arch->nested_member_origin == 0)
- return arch->longnames + k;
-
- /* This is a proxy for a member of a nested archive.
- Find the name of the member in that archive. */
- member_file_name = adjust_relative_path (arch->file_name,
- arch->longnames + k,
- j - k);
- if (member_file_name != NULL
- && setup_nested_archive (nested_arch, member_file_name) == 0
- && (member_name = get_archive_member_name_at (nested_arch,
- arch->nested_member_origin,
- NULL)) != NULL)
- {
- free (member_file_name);
- return member_name;
- }
- free (member_file_name);
-
- /* Last resort: just return the name of the nested archive. */
- return arch->longnames + k;
- }
-
- /* We have a normal (short) name. */
- j = 0;
- while ((arch->arhdr.ar_name[j] != '/') && (j < 16))
- j++;
- arch->arhdr.ar_name[j] = '\0';
- return arch->arhdr.ar_name;
-}
-
-/* Get the name of an archive member at a given OFFSET within an
- archive ARCH. */
-
-static char *
-get_archive_member_name_at (struct archive_info * arch,
- unsigned long offset,
- struct archive_info * nested_arch)
-{
- size_t got;
-
- if (fseek (arch->file, offset, SEEK_SET) != 0)
- {
- non_fatal (_("%s: failed to seek to next file name\n"),
- arch->file_name);
- return NULL;
- }
- got = fread (&arch->arhdr, 1, sizeof arch->arhdr, arch->file);
- if (got != sizeof arch->arhdr)
- {
- non_fatal (_("%s: failed to read archive header\n"),
- arch->file_name);
- return NULL;
- }
- if (memcmp (arch->arhdr.ar_fmag, ARFMAG, 2) != 0)
- {
- non_fatal (_("%s: did not find a valid archive header\n"),
- arch->file_name);
- return NULL;
- }
-
- return get_archive_member_name (arch, nested_arch);
-}
-
-/* Construct a string showing the name of the archive member, qualified
- with the name of the containing archive file. For thin archives, we
- use square brackets to denote the indirection. For nested archives,
- we show the qualified name of the external member inside the square
- brackets (e.g., "thin.a[normal.a(foo.o)]"). */
-
-static char *
-make_qualified_name (struct archive_info * arch,
- struct archive_info * nested_arch,
- char * member_name)
-{
- size_t len;
- char * name;
-
- len = strlen (arch->file_name) + strlen (member_name) + 3;
- if (arch->is_thin_archive && arch->nested_member_origin != 0)
- len += strlen (nested_arch->file_name) + 2;
-
- name = malloc (len);
- if (name == NULL)
- {
- non_fatal (_("Out of memory\n"));
- return NULL;
- }
-
- if (arch->is_thin_archive && arch->nested_member_origin != 0)
- snprintf (name, len, "%s[%s(%s)]", arch->file_name,
- nested_arch->file_name, member_name);
- else if (arch->is_thin_archive)
- snprintf (name, len, "%s[%s]", arch->file_name, member_name);
- else
- snprintf (name, len, "%s(%s)", arch->file_name, member_name);
-
- return name;
-}
-
/* Process an ELF archive.
On entry the file is positioned just after the ARMAG string. */
nested_arch.sym_table = NULL;
nested_arch.longnames = NULL;
- if (setup_archive (&arch, file_name, file, is_thin_archive) != 0)
+ if (setup_archive (&arch, file_name, file, is_thin_archive, FALSE) != 0)
{
ret = 1;
goto out;
/* Read the next archive header. */
if (fseek (file, arch.next_arhdr_offset, SEEK_SET) != 0)
{
- non_fatal (_("%s: failed to seek to next archive header\n"),
+ error (_("%s: failed to seek to next archive header\n"),
file_name);
return 1;
}
{
if (got == 0)
break;
- non_fatal (_("%s: failed to read archive header\n"),
+ error (_("%s: failed to read archive header\n"),
file_name);
ret = 1;
break;
}
if (memcmp (arch.arhdr.ar_fmag, ARFMAG, 2) != 0)
{
- non_fatal (_("%s: did not find a valid archive header\n"),
+ error (_("%s: did not find a valid archive header\n"),
arch.file_name);
ret = 1;
break;
name = get_archive_member_name (&arch, &nested_arch);
if (name == NULL)
{
- non_fatal (_("%s: bad archive file name\n"), file_name);
+ error (_("%s: bad archive file name\n"), file_name);
ret = 1;
break;
}
qualified_name = make_qualified_name (&arch, &nested_arch, name);
if (qualified_name == NULL)
{
- non_fatal (_("%s: bad archive file name\n"), file_name);
+ error (_("%s: bad archive file name\n"), file_name);
ret = 1;
break;
}
member_file = fopen (member_file_name, "r+b");
if (member_file == NULL)
{
- non_fatal (_("Input file '%s' is not readable\n"),
+ error (_("Input file '%s' is not readable\n"),
member_file_name);
free (member_file_name);
ret = 1;
if (fseek (nested_arch.file, archive_file_offset,
SEEK_SET) != 0)
{
- non_fatal (_("%s: failed to seek to archive member\n"),
+ error (_("%s: failed to seek to archive member\n"),
nested_arch.file_name);
ret = 1;
break;
if (stat (file_name, statbuf_p) < 0)
{
if (errno == ENOENT)
- non_fatal (_("'%s': No such file\n"), file_name);
+ error (_("'%s': No such file\n"), file_name);
else
- non_fatal (_("Could not locate '%s'. System error message: %s\n"),
+ error (_("Could not locate '%s'. System error message: %s\n"),
file_name, strerror (errno));
return 1;
}
if (! S_ISREG (statbuf_p->st_mode))
{
- non_fatal (_("'%s' is not an ordinary file\n"), file_name);
+ error (_("'%s' is not an ordinary file\n"), file_name);
return 1;
}
file = fopen (file_name, "r+b");
if (file == NULL)
{
- non_fatal (_("Input file '%s' is not readable\n"), file_name);
+ error (_("Input file '%s' is not readable\n"), file_name);
return 1;
}
if (fread (armag, SARMAG, 1, file) != 1)
{
- non_fatal (_("%s: Failed to read file's magic number\n"),
+ error (_("%s: Failed to read file's magic number\n"),
file_name);
fclose (file);
return 1;
if (strcasecmp (osabi, osabis[i].name) == 0)
return osabis[i].osabi;
- non_fatal (_("Unknown OSABI: %s\n"), osabi);
+ error (_("Unknown OSABI: %s\n"), osabi);
return -1;
}
if (strcasecmp (mach, "none") == 0)
return EM_NONE;
- non_fatal (_("Unknown machine type: %s\n"), mach);
+ error (_("Unknown machine type: %s\n"), mach);
return -1;
}
case EM_NONE:
return ELFCLASSNONE;
default:
- non_fatal (_("Unknown machine type: %d\n"), mach);
+ error (_("Unknown machine type: %d\n"), mach);
return -1;
}
}
if (strcasecmp (type, "none") == 0)
return ET_NONE;
- non_fatal (_("Unknown type: %s\n"), type);
+ error (_("Unknown type: %s\n"), type);
return -1;
}
struct section_list *p;
struct stat statbuf;
const bfd_arch_info_type *input_arch = NULL;
- struct dwarf_debug_section *d;
while ((c = getopt_long (argc, argv, "b:B:i:I:j:K:N:s:O:d:F:L:G:R:SpgxXHhVvW:w",
copy_options, (int *) 0)) != EOF)
fatal (_("warning: could not create temporary file whilst copying '%s', (error: %s)"),
input_filename, strerror (errno));
- switch (do_debug_sections)
- {
- case compress:
- for (d = dwarf_debug_sections; d->uncompressed_name; d++)
- add_section_rename (d->uncompressed_name, d->compressed_name,
- (flagword) -1);
- break;
- case decompress:
- for (d = dwarf_debug_sections; d->uncompressed_name; d++)
- add_section_rename (d->compressed_name, d->uncompressed_name,
- (flagword) -1);
- break;
- default:
- break;
- }
-
copy_file (input_filename, tmpname, input_target, output_target, input_arch);
if (status == 0)
{
#include "elf-bfd.h"
#include "progress.h"
#include "bucomm.h"
+#include "elfcomm.h"
#include "dwarf.h"
#include "getopt.h"
#include "safe-ctype.h"
-W[lLiaprmfFsoRt] or\n\
--dwarf[=rawline,=decodedline,=info,=abbrev,=pubnames,=aranges,=macro,=frames,\n\
=frames-interp,=str,=loc,=Ranges,=pubtypes,\n\
- =trace_info,=trace_abbrev,=trace_aranges]\n\
+ =gdb_index,=trace_info,=trace_abbrev,=trace_aranges]\n\
Display DWARF info in the file\n\
-t, --syms Display the contents of the symbol table(s)\n\
-T, --dynamic-syms Display the contents of the dynamic symbol table\n\
if (wide_output)
printf (_(" Flags"));
- if (abfd->flags & HAS_LOAD_PAGE)
- printf (_(" Pg"));
printf ("\n");
bfd_map_over_sections (abfd, dump_section_header, NULL);
dllwrap.c
dwarf.c
dwarf.h
+elfcomm.c
+elfcomm.h
elfedit.c
emul_aix.c
emul_vanilla.c
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: bug-binutils@gnu.org\n"
-"POT-Creation-Date: 2010-11-05 11:33+0100\n"
+"POT-Creation-Date: 2011-02-01 22:23+1030\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
msgstr ""
#: addr2line.c:100 ar.c:293 coffdump.c:469 dlltool.c:3926 dllwrap.c:524
-#: elfedit.c:1155 nlmconv.c:1113 objcopy.c:576 objcopy.c:611 readelf.c:3219
+#: elfedit.c:650 nlmconv.c:1113 objcopy.c:576 objcopy.c:611 readelf.c:3144
#: size.c:99 srconv.c:1742 strings.c:663 sysdump.c:653 windmc.c:228
#: windres.c:694
#, c-format
msgid "%s: cannot find section %s"
msgstr ""
-#: addr2line.c:406 nm.c:1563 objdump.c:3301
+#: addr2line.c:406 nm.c:1563 objdump.c:3300
#, c-format
msgid "unknown demangling style `%s'"
msgstr ""
msgid "creating %s"
msgstr ""
-#: ar.c:820 ar.c:875 ar.c:1203 objcopy.c:2052
+#: ar.c:820 ar.c:874 ar.c:1202 objcopy.c:2052
#, c-format
msgid "internal stat error on %s"
msgstr ""
-#: ar.c:824
-#, c-format
-msgid ""
-"\n"
-"<%s>\n"
-"\n"
-msgstr ""
-
-#: ar.c:840 ar.c:908
+#: ar.c:839 ar.c:907
#, c-format
msgid "%s is not a valid archive"
msgstr ""
-#: ar.c:1108
+#: ar.c:1107
#, c-format
msgid "No member named `%s'\n"
msgstr ""
-#: ar.c:1158
+#: ar.c:1157
#, c-format
msgid "no entry %s in archive %s!"
msgstr ""
-#: ar.c:1297
+#: ar.c:1296
#, c-format
msgid "%s: no archive map to update"
msgstr ""
msgid "%s: no open archive\n"
msgstr ""
-#: bin2c.c:59
-#, c-format
-msgid "Usage: %s < input_file > output_file\n"
-msgstr ""
-
-#: bin2c.c:60
-#, c-format
-msgid "Prints bytes from stdin in hex format.\n"
-msgstr ""
-
#: binemul.c:38
#, c-format
msgid " No emulation specific options\n"
msgid "Warning: '%s' is not an ordinary file"
msgstr ""
+#: bucomm.c:581
+#, c-format
+msgid "Warning: '%s' has negative size, probably it is too large"
+msgstr ""
+
#: coffdump.c:106
#, c-format
msgid "#lines %d "
msgid "no input file specified"
msgstr ""
-#: cxxfilt.c:119 nm.c:269 objdump.c:256
+#: cxxfilt.c:119 nm.c:269 objdump.c:257
#, c-format
msgid "Report bugs to %s.\n"
msgstr ""
msgid "DRIVER options : %s\n"
msgstr ""
-#: dwarf.c:112 dwarf.c:161 elfedit.c:123 elfedit.c:167 elfedit.c:195
-#: elfedit.c:227 readelf.c:368 readelf.c:536
-#, c-format
-msgid "Unhandled data length: %d\n"
-msgstr ""
-
-#: dwarf.c:312 dwarf.c:2890
+#: dwarf.c:203 dwarf.c:2776
msgid "badly formed extended line op encountered!\n"
msgstr ""
-#: dwarf.c:319
+#: dwarf.c:210
#, c-format
msgid " Extended opcode %d: "
msgstr ""
-#: dwarf.c:324
+#: dwarf.c:215
#, c-format
msgid ""
"End of Sequence\n"
"\n"
msgstr ""
-#: dwarf.c:330
+#: dwarf.c:221
#, c-format
msgid "set Address to 0x%lx\n"
msgstr ""
-#: dwarf.c:336
+#: dwarf.c:227
#, c-format
msgid " define new File Table entry\n"
msgstr ""
-#: dwarf.c:337 dwarf.c:2431
+#: dwarf.c:228 dwarf.c:2320
#, c-format
msgid " Entry\tDir\tTime\tSize\tName\n"
msgstr ""
-#: dwarf.c:339
-#, c-format
-msgid " %d\t"
-msgstr ""
-
-#: dwarf.c:342 dwarf.c:344 dwarf.c:346 dwarf.c:2443 dwarf.c:2445 dwarf.c:2447
-#, c-format
-msgid "%lu\t"
-msgstr ""
-
-#: dwarf.c:347
-#, c-format
-msgid ""
-"%s\n"
-"\n"
-msgstr ""
-
-#: dwarf.c:351
+#: dwarf.c:242
#, c-format
msgid "set Discriminator to %lu\n"
msgstr ""
#. the limited range of the unsigned char data type used
#. for op_code.
#. && op_code <= DW_LNE_hi_user
-#: dwarf.c:393
+#: dwarf.c:284
#, c-format
msgid "user defined: length %d\n"
msgstr ""
-#: dwarf.c:395 dwarf.c:2922
+#: dwarf.c:286 dwarf.c:2808
#, c-format
msgid "UNKNOWN: length %d\n"
msgstr ""
-#: dwarf.c:408
+#: dwarf.c:299
msgid "<no .debug_str section>"
msgstr ""
-#: dwarf.c:414
+#: dwarf.c:305
#, c-format
msgid "DW_FORM_strp offset too big: %lx\n"
msgstr ""
-#: dwarf.c:415
+#: dwarf.c:306
msgid "<offset is too big>"
msgstr ""
-#: dwarf.c:654
+#: dwarf.c:545
#, c-format
msgid "Unknown TAG value: %lx"
msgstr ""
-#: dwarf.c:695
+#: dwarf.c:586
#, c-format
msgid "Unknown FORM value: %lx"
msgstr ""
-#: dwarf.c:704
+#: dwarf.c:595
#, c-format
msgid " %lu byte block: "
msgstr ""
-#: dwarf.c:1037
+#: dwarf.c:928
#, c-format
msgid "(DW_OP_call_ref in frame info)"
msgstr ""
-#: dwarf.c:1109
+#: dwarf.c:998
#, c-format
msgid "(DW_OP_GNU_implicit_pointer in frame info)"
msgstr ""
-#: dwarf.c:1167
+#: dwarf.c:1056
#, c-format
msgid "(User defined location op)"
msgstr ""
-#: dwarf.c:1169
+#: dwarf.c:1058
#, c-format
msgid "(Unknown location op)"
msgstr ""
-#: dwarf.c:1217
+#: dwarf.c:1106
msgid "Internal error: DWARF version is not 2, 3 or 4.\n"
msgstr ""
-#: dwarf.c:1323
+#: dwarf.c:1212
msgid "DW_FORM_data8 is unsupported when sizeof (unsigned long) != 8\n"
msgstr ""
-#: dwarf.c:1373
+#: dwarf.c:1262
#, c-format
msgid " (indirect string, offset: 0x%lx): %s"
msgstr ""
-#: dwarf.c:1397
+#: dwarf.c:1286
#, c-format
msgid "Unrecognized form: %lu\n"
msgstr ""
-#: dwarf.c:1485
+#: dwarf.c:1374
#, c-format
msgid "(not inlined)"
msgstr ""
-#: dwarf.c:1488
+#: dwarf.c:1377
#, c-format
msgid "(inlined)"
msgstr ""
-#: dwarf.c:1491
+#: dwarf.c:1380
#, c-format
msgid "(declared as inline but ignored)"
msgstr ""
-#: dwarf.c:1494
+#: dwarf.c:1383
#, c-format
msgid "(declared as inline and inlined)"
msgstr ""
-#: dwarf.c:1497
+#: dwarf.c:1386
#, c-format
msgid " (Unknown inline attribute value: %lx)"
msgstr ""
-#: dwarf.c:1662
+#: dwarf.c:1551
#, c-format
msgid "(location list)"
msgstr ""
-#: dwarf.c:1683 dwarf.c:3563
+#: dwarf.c:1572 dwarf.c:3449
#, c-format
msgid " [without DW_AT_frame_base]"
msgstr ""
-#: dwarf.c:1698
+#: dwarf.c:1587
#, c-format
msgid ""
"Offset %lx used as value for DW_AT_import attribute of DIE at offset %lx is "
"too big.\n"
msgstr ""
-#: dwarf.c:1889
+#: dwarf.c:1778
#, c-format
msgid "Unknown AT value: %lx"
msgstr ""
-#: dwarf.c:1960
+#: dwarf.c:1849
#, c-format
msgid "Reserved length value (%lx) found in section %s\n"
msgstr ""
-#: dwarf.c:1971
+#: dwarf.c:1860
#, c-format
msgid "Corrupt unit length (%lx) found in section %s\n"
msgstr ""
-#: dwarf.c:1978
+#: dwarf.c:1867
#, c-format
msgid "No comp units in %s section ?"
msgstr ""
-#: dwarf.c:1987
+#: dwarf.c:1876
#, c-format
msgid "Not enough memory for a debug info array of %u entries"
msgstr ""
-#: dwarf.c:1995 dwarf.c:3158 dwarf.c:3252 dwarf.c:3326 dwarf.c:3443
-#: dwarf.c:3598 dwarf.c:3667 dwarf.c:3862
+#: dwarf.c:1884 dwarf.c:3044 dwarf.c:3138 dwarf.c:3212 dwarf.c:3329
+#: dwarf.c:3484 dwarf.c:3553 dwarf.c:3748
#, c-format
msgid ""
"Contents of the %s section:\n"
"\n"
msgstr ""
-#: dwarf.c:2003
+#: dwarf.c:1892
#, c-format
msgid "Unable to locate %s section!\n"
msgstr ""
-#: dwarf.c:2084
+#: dwarf.c:1973
#, c-format
msgid " Compilation Unit @ offset 0x%lx:\n"
msgstr ""
-#: dwarf.c:2085
+#: dwarf.c:1974
#, c-format
msgid " Length: 0x%lx (%s)\n"
msgstr ""
-#: dwarf.c:2087
+#: dwarf.c:1976
#, c-format
msgid " Version: %d\n"
msgstr ""
-#: dwarf.c:2088
+#: dwarf.c:1977
#, c-format
msgid " Abbrev Offset: %ld\n"
msgstr ""
-#: dwarf.c:2089
+#: dwarf.c:1978
#, c-format
msgid " Pointer Size: %d\n"
msgstr ""
-#: dwarf.c:2093
+#: dwarf.c:1982
#, c-format
msgid " Signature: "
msgstr ""
-#: dwarf.c:2097
+#: dwarf.c:1986
#, c-format
msgid " Type Offset: 0x%lx\n"
msgstr ""
-#: dwarf.c:2104
+#: dwarf.c:1993
#, c-format
msgid ""
"Debug info is corrupted, length of CU at %lx extends beyond end of section "
"(length = %lx)\n"
msgstr ""
-#: dwarf.c:2115
+#: dwarf.c:2004
#, c-format
msgid "CU at offset %lx contains corrupt or unsupported version number: %d.\n"
msgstr ""
-#: dwarf.c:2125
+#: dwarf.c:2014
#, c-format
msgid ""
"Debug info is corrupted, abbrev offset (%lx) is larger than abbrev section "
"size (%lx)\n"
msgstr ""
-#: dwarf.c:2172
+#: dwarf.c:2061
#, c-format
msgid ""
"Bogus end-of-siblings marker detected at offset %lx in .debug_info section\n"
msgstr ""
-#: dwarf.c:2176
+#: dwarf.c:2065
msgid "Further warnings about bogus end-of-sibling markers suppressed\n"
msgstr ""
-#: dwarf.c:2183
+#: dwarf.c:2072
#, c-format
msgid " <%d><%lx>: Abbrev Number: %lu"
msgstr ""
-#: dwarf.c:2200
+#: dwarf.c:2089
#, c-format
msgid ""
"DIE at offset %lx refers to abbreviation number %lu which does not exist\n"
msgstr ""
-#: dwarf.c:2206
-#, c-format
-msgid " (%s)\n"
-msgstr ""
-
-#: dwarf.c:2298
+#: dwarf.c:2187
#, c-format
msgid ""
"Raw dump of debug contents of section %s:\n"
"\n"
msgstr ""
-#: dwarf.c:2336
+#: dwarf.c:2225
#, c-format
msgid ""
"The information in section %s appears to be corrupt - the section is too "
"small\n"
msgstr ""
-#: dwarf.c:2348 dwarf.c:2701
+#: dwarf.c:2237 dwarf.c:2590
msgid "Only DWARF version 2, 3 and 4 line info is currently supported.\n"
msgstr ""
-#: dwarf.c:2362 dwarf.c:2716
+#: dwarf.c:2251 dwarf.c:2605
msgid "Invalid maximum operations per insn.\n"
msgstr ""
-#: dwarf.c:2381
+#: dwarf.c:2270
#, c-format
msgid " Offset: 0x%lx\n"
msgstr ""
-#: dwarf.c:2382
+#: dwarf.c:2271
#, c-format
msgid " Length: %ld\n"
msgstr ""
-#: dwarf.c:2383
+#: dwarf.c:2272
#, c-format
msgid " DWARF Version: %d\n"
msgstr ""
-#: dwarf.c:2384
+#: dwarf.c:2273
#, c-format
msgid " Prologue Length: %d\n"
msgstr ""
-#: dwarf.c:2385
+#: dwarf.c:2274
#, c-format
msgid " Minimum Instruction Length: %d\n"
msgstr ""
-#: dwarf.c:2387
+#: dwarf.c:2276
#, c-format
msgid " Maximum Ops per Instruction: %d\n"
msgstr ""
-#: dwarf.c:2388
+#: dwarf.c:2277
#, c-format
msgid " Initial value of 'is_stmt': %d\n"
msgstr ""
-#: dwarf.c:2389
+#: dwarf.c:2278
#, c-format
msgid " Line Base: %d\n"
msgstr ""
-#: dwarf.c:2390
+#: dwarf.c:2279
#, c-format
msgid " Line Range: %d\n"
msgstr ""
-#: dwarf.c:2391
+#: dwarf.c:2280
#, c-format
msgid " Opcode Base: %d\n"
msgstr ""
-#: dwarf.c:2400
+#: dwarf.c:2289
#, c-format
msgid ""
"\n"
" Opcodes:\n"
msgstr ""
-#: dwarf.c:2403
+#: dwarf.c:2292
#, c-format
msgid " Opcode %d has %d args\n"
msgstr ""
-#: dwarf.c:2409
+#: dwarf.c:2298
#, c-format
msgid ""
"\n"
" The Directory Table is empty.\n"
msgstr ""
-#: dwarf.c:2412
+#: dwarf.c:2301
#, c-format
msgid ""
"\n"
" The Directory Table:\n"
msgstr ""
-#: dwarf.c:2416
-#, c-format
-msgid " %s\n"
-msgstr ""
-
-#: dwarf.c:2427
+#: dwarf.c:2316
#, c-format
msgid ""
"\n"
" The File Name Table is empty.\n"
msgstr ""
-#: dwarf.c:2430
+#: dwarf.c:2319
#, c-format
msgid ""
"\n"
" The File Name Table:\n"
msgstr ""
-#: dwarf.c:2438
-#, c-format
-msgid " %d\t"
-msgstr ""
-
-#: dwarf.c:2449
-#, c-format
-msgid "%s\n"
-msgstr ""
-
#. Now display the statements.
-#: dwarf.c:2457
+#: dwarf.c:2346
#, c-format
msgid ""
"\n"
" Line Number Statements:\n"
msgstr ""
-#: dwarf.c:2476
+#: dwarf.c:2365
#, c-format
msgid " Special opcode %d: advance Address by %lu to 0x%lx"
msgstr ""
-#: dwarf.c:2488
+#: dwarf.c:2377
#, c-format
msgid " Special opcode %d: advance Address by %lu to 0x%lx[%d]"
msgstr ""
-#: dwarf.c:2494
+#: dwarf.c:2383
#, c-format
msgid " and Line by %d to %d\n"
msgstr ""
-#: dwarf.c:2504
+#: dwarf.c:2393
#, c-format
msgid " Copy\n"
msgstr ""
-#: dwarf.c:2514
+#: dwarf.c:2403
#, c-format
msgid " Advance PC by %lu to 0x%lx\n"
msgstr ""
-#: dwarf.c:2526
+#: dwarf.c:2415
#, c-format
msgid " Advance PC by %lu to 0x%lx[%d]\n"
msgstr ""
-#: dwarf.c:2536
+#: dwarf.c:2425
#, c-format
msgid " Advance Line by %d to %d\n"
msgstr ""
-#: dwarf.c:2543
+#: dwarf.c:2432
#, c-format
msgid " Set File Name to entry %d in the File Name Table\n"
msgstr ""
-#: dwarf.c:2551
+#: dwarf.c:2440
#, c-format
msgid " Set column to %lu\n"
msgstr ""
-#: dwarf.c:2558
+#: dwarf.c:2447
#, c-format
msgid " Set is_stmt to %d\n"
msgstr ""
-#: dwarf.c:2563
+#: dwarf.c:2452
#, c-format
msgid " Set basic block\n"
msgstr ""
-#: dwarf.c:2573
+#: dwarf.c:2462
#, c-format
msgid " Advance PC by constant %lu to 0x%lx\n"
msgstr ""
-#: dwarf.c:2585
+#: dwarf.c:2474
#, c-format
msgid " Advance PC by constant %lu to 0x%lx[%d]\n"
msgstr ""
-#: dwarf.c:2596
+#: dwarf.c:2485
#, c-format
msgid " Advance PC by fixed size amount %lu to 0x%lx\n"
msgstr ""
-#: dwarf.c:2601
+#: dwarf.c:2490
#, c-format
msgid " Set prologue_end to true\n"
msgstr ""
-#: dwarf.c:2605
+#: dwarf.c:2494
#, c-format
msgid " Set epilogue_begin to true\n"
msgstr ""
-#: dwarf.c:2611 dwarf.c:3027
+#: dwarf.c:2500 dwarf.c:2913
#, c-format
msgid " Set ISA to %lu\n"
msgstr ""
-#: dwarf.c:2615 dwarf.c:3031
+#: dwarf.c:2504 dwarf.c:2917
#, c-format
msgid " Unknown opcode %d with operands: "
msgstr ""
-#: dwarf.c:2648
+#: dwarf.c:2537
#, c-format
msgid ""
"Decoded dump of debug contents of section %s:\n"
"\n"
msgstr ""
-#: dwarf.c:2689
+#: dwarf.c:2578
msgid "The line info appears to be corrupt - the section is too small\n"
msgstr ""
-#: dwarf.c:2821
+#: dwarf.c:2710
#, c-format
msgid "CU: %s:\n"
msgstr ""
-#: dwarf.c:2822 dwarf.c:2835
+#: dwarf.c:2711 dwarf.c:2721
#, c-format
msgid "File name Line number Starting address\n"
msgstr ""
-#: dwarf.c:2828
+#: dwarf.c:2716
#, c-format
msgid "CU: %s/%s:\n"
msgstr ""
-#: dwarf.c:2833 dwarf.c:2918
-#, c-format
-msgid "%s:\n"
-msgstr ""
-
-#. If directory index is 0, that means current directory.
-#: dwarf.c:2964
-#, c-format
-msgid ""
-"\n"
-"./%s:[++]\n"
-msgstr ""
-
-#. The directory index starts counting at 1.
-#: dwarf.c:2970
-#, c-format
-msgid ""
-"\n"
-"%s/%s:\n"
-msgstr ""
-
-#: dwarf.c:3070
-#, c-format
-msgid "%-35s %11d %#18lx\n"
-msgstr ""
-
-#: dwarf.c:3074
-#, c-format
-msgid "%-35s %11d %#18lx[%d]\n"
-msgstr ""
-
-#: dwarf.c:3082
-#, c-format
-msgid "%s %11d %#18lx\n"
-msgstr ""
-
-#: dwarf.c:3086
-#, c-format
-msgid "%s %11d %#18lx[%d]\n"
-msgstr ""
-
-#: dwarf.c:3192 dwarf.c:3712
+#: dwarf.c:3078 dwarf.c:3598
#, c-format
msgid ""
".debug_info offset of 0x%lx in %s section does not point to a CU header.\n"
msgstr ""
-#: dwarf.c:3206
+#: dwarf.c:3092
msgid "Only DWARF 2 and 3 pubnames are currently supported\n"
msgstr ""
-#: dwarf.c:3213
+#: dwarf.c:3099
#, c-format
msgid " Length: %ld\n"
msgstr ""
-#: dwarf.c:3215
+#: dwarf.c:3101
#, c-format
msgid " Version: %d\n"
msgstr ""
-#: dwarf.c:3217
+#: dwarf.c:3103
#, c-format
msgid " Offset into .debug_info section: 0x%lx\n"
msgstr ""
-#: dwarf.c:3219
+#: dwarf.c:3105
#, c-format
msgid " Size of area in .debug_info section: %ld\n"
msgstr ""
-#: dwarf.c:3222
+#: dwarf.c:3108
#, c-format
msgid ""
"\n"
" Offset\tName\n"
msgstr ""
-#: dwarf.c:3273
+#: dwarf.c:3159
#, c-format
msgid " DW_MACINFO_start_file - lineno: %d filenum: %d\n"
msgstr ""
-#: dwarf.c:3279
+#: dwarf.c:3165
#, c-format
msgid " DW_MACINFO_end_file\n"
msgstr ""
-#: dwarf.c:3287
+#: dwarf.c:3173
#, c-format
msgid " DW_MACINFO_define - lineno : %d macro : %s\n"
msgstr ""
-#: dwarf.c:3296
+#: dwarf.c:3182
#, c-format
msgid " DW_MACINFO_undef - lineno : %d macro : %s\n"
msgstr ""
-#: dwarf.c:3308
+#: dwarf.c:3194
#, c-format
msgid " DW_MACINFO_vendor_ext - constant : %d string : %s\n"
msgstr ""
-#: dwarf.c:3337
+#: dwarf.c:3223
#, c-format
msgid " Number TAG\n"
msgstr ""
-#: dwarf.c:3343
-#, c-format
-msgid " %ld %s [%s]\n"
-msgstr ""
-
-#: dwarf.c:3346
+#: dwarf.c:3232
msgid "has children"
msgstr ""
-#: dwarf.c:3346
+#: dwarf.c:3232
msgid "no children"
msgstr ""
-#: dwarf.c:3349
-#, c-format
-msgid " %-18s %s\n"
-msgstr ""
-
-#: dwarf.c:3382 dwarf.c:3594 dwarf.c:3819
+#: dwarf.c:3268 dwarf.c:3480 dwarf.c:3705
#, c-format
msgid ""
"\n"
"The %s section is empty.\n"
msgstr ""
-#: dwarf.c:3388 dwarf.c:3825
+#: dwarf.c:3274 dwarf.c:3711
#, c-format
msgid ""
"Unable to load/parse the .debug_info section, so cannot interpret the %s "
msgstr ""
#. FIXME: Should we handle this case?
-#: dwarf.c:3432
+#: dwarf.c:3318
msgid "Location lists in .debug_info section aren't in ascending order!\n"
msgstr ""
-#: dwarf.c:3435
+#: dwarf.c:3321
msgid "No location lists in .debug_info section!\n"
msgstr ""
-#: dwarf.c:3440
+#: dwarf.c:3326
#, c-format
msgid "Location lists in %s section start at 0x%lx\n"
msgstr ""
-#: dwarf.c:3444
+#: dwarf.c:3330
#, c-format
msgid " Offset Begin End Expression\n"
msgstr ""
-#: dwarf.c:3479
+#: dwarf.c:3365
#, c-format
msgid "There is a hole [0x%lx - 0x%lx] in .debug_loc section.\n"
msgstr ""
-#: dwarf.c:3483
+#: dwarf.c:3369
#, c-format
msgid "There is an overlap [0x%lx - 0x%lx] in .debug_loc section.\n"
msgstr ""
-#: dwarf.c:3491
+#: dwarf.c:3377
#, c-format
msgid "Offset 0x%lx is bigger than .debug_loc section size.\n"
msgstr ""
-#: dwarf.c:3500 dwarf.c:3535 dwarf.c:3545
+#: dwarf.c:3386 dwarf.c:3421 dwarf.c:3431
#, c-format
msgid "Location list starting at offset 0x%lx is not terminated.\n"
msgstr ""
-#: dwarf.c:3519 dwarf.c:3913
+#: dwarf.c:3405 dwarf.c:3799
#, c-format
msgid "<End of list>\n"
msgstr ""
-#: dwarf.c:3529
+#: dwarf.c:3415
#, c-format
msgid "(base address)\n"
msgstr ""
-#: dwarf.c:3566
+#: dwarf.c:3452
msgid " (start == end)"
msgstr ""
-#: dwarf.c:3568
+#: dwarf.c:3454
msgid " (start > end)"
msgstr ""
-#: dwarf.c:3578
+#: dwarf.c:3464
#, c-format
msgid "There are %ld unused bytes at the end of section %s\n"
msgstr ""
-#: dwarf.c:3723
+#: dwarf.c:3609
msgid "Only DWARF 2 and 3 aranges are currently supported.\n"
msgstr ""
-#: dwarf.c:3727
+#: dwarf.c:3613
#, c-format
msgid " Length: %ld\n"
msgstr ""
-#: dwarf.c:3728
+#: dwarf.c:3614
#, c-format
msgid " Version: %d\n"
msgstr ""
-#: dwarf.c:3729
+#: dwarf.c:3615
#, c-format
msgid " Offset into .debug_info: 0x%lx\n"
msgstr ""
-#: dwarf.c:3730
+#: dwarf.c:3616
#, c-format
msgid " Pointer Size: %d\n"
msgstr ""
-#: dwarf.c:3731
+#: dwarf.c:3617
#, c-format
msgid " Segment Size: %d\n"
msgstr ""
-#: dwarf.c:3740
+#: dwarf.c:3626
msgid "Pointer size + Segment size is not a power of two.\n"
msgstr ""
-#: dwarf.c:3745
+#: dwarf.c:3631
#, c-format
msgid ""
"\n"
" Address Length\n"
msgstr ""
-#: dwarf.c:3747
+#: dwarf.c:3633
#, c-format
msgid ""
"\n"
" Address Length\n"
msgstr ""
-#: dwarf.c:3835
+#: dwarf.c:3721
msgid "No range lists in .debug_info section!\n"
msgstr ""
-#: dwarf.c:3859
+#: dwarf.c:3745
#, c-format
msgid "Range lists in %s section start at 0x%lx\n"
msgstr ""
-#: dwarf.c:3863
+#: dwarf.c:3749
#, c-format
msgid " Offset Begin End\n"
msgstr ""
-#: dwarf.c:3884
+#: dwarf.c:3770
#, c-format
msgid "There is a hole [0x%lx - 0x%lx] in %s section.\n"
msgstr ""
-#: dwarf.c:3888
+#: dwarf.c:3774
#, c-format
msgid "There is an overlap [0x%lx - 0x%lx] in %s section.\n"
msgstr ""
-#: dwarf.c:3931
+#: dwarf.c:3817
msgid "(start == end)"
msgstr ""
-#: dwarf.c:3933
+#: dwarf.c:3819
msgid "(start > end)"
msgstr ""
-#: dwarf.c:4185
+#: dwarf.c:4071
msgid "bad register: "
msgstr ""
-#: dwarf.c:4188
+#. The documentation for the format of this file is in gdb/dwarf2read.c.
+#: dwarf.c:4074 dwarf.c:4883
#, c-format
msgid "Contents of the %s section:\n"
msgstr ""
-#: dwarf.c:4962
+#: dwarf.c:4844
#, c-format
msgid " DW_CFA_??? (User defined call frame op: %#x)\n"
msgstr ""
-#: dwarf.c:4964
+#: dwarf.c:4846
#, c-format
msgid "unsupported or unknown Dwarf Call Frame Instruction number: %#x\n"
msgstr ""
-#: dwarf.c:4989
+#: dwarf.c:4887
#, c-format
-msgid "Displaying the debug contents of section %s is not yet supported.\n"
+msgid "Truncated header in the %s section.\n"
msgstr ""
-#: dwarf.c:5031 elfedit.c:74
+#: dwarf.c:4892
#, c-format
-msgid "%s: Error: "
+msgid "Version %ld\n"
msgstr ""
-#: dwarf.c:5042
+#: dwarf.c:4898
#, c-format
-msgid "%s: Warning: "
+msgid "Unsupported version %lu.\n"
msgstr ""
-#: dwarf.c:5145 dwarf.c:5215
+#: dwarf.c:4914
#, c-format
-msgid "Unrecognized debug option '%s'\n"
+msgid "Corrupt header in the %s section.\n"
msgstr ""
-#: elfedit.c:243
+#: dwarf.c:4929
#, c-format
-msgid "%s: Not an ELF file - wrong magic bytes at the start\n"
+msgid ""
+"\n"
+"CU table:\n"
msgstr ""
-#: elfedit.c:251
+#: dwarf.c:4935
#, c-format
-msgid "%s: Unsupported EI_VERSION: %d is not %d\n"
+msgid "[%3u] 0x%lx - 0x%lx\n"
msgstr ""
-#: elfedit.c:267
+#: dwarf.c:4940
#, c-format
-msgid "%s: Unmatched EI_CLASS: %d is not %d\n"
+msgid ""
+"\n"
+"TU table:\n"
msgstr ""
-#: elfedit.c:278
+#: dwarf.c:4947
#, c-format
-msgid "%s: Unmatched e_machine: %d is not %d\n"
+msgid "[%3u] 0x%lx 0x%lx "
msgstr ""
-#: elfedit.c:289
+#: dwarf.c:4954
#, c-format
-msgid "%s: Unmatched e_type: %d is not %d\n"
+msgid ""
+"\n"
+"Address table:\n"
msgstr ""
-#: elfedit.c:300
+#: dwarf.c:4963
#, c-format
-msgid "%s: Unmatched EI_OSABI: %d is not %d\n"
+msgid "%lu\n"
msgstr ""
-#: elfedit.c:333
+#: dwarf.c:4966
#, c-format
-msgid "%s: Failed to update ELF header: %s\n"
+msgid ""
+"\n"
+"Symbol table:\n"
msgstr ""
-#: elfedit.c:366
+#: dwarf.c:5000
#, c-format
-msgid "Unsupported EI_CLASS: %d\n"
+msgid "Displaying the debug contents of section %s is not yet supported.\n"
msgstr ""
-#: elfedit.c:399
-msgid ""
-"This executable has been built without support for a\n"
-"64 bit data type and so it cannot process 64 bit ELF files.\n"
+#: dwarf.c:5136 dwarf.c:5206
+#, c-format
+msgid "Unrecognized debug option '%s'\n"
msgstr ""
-#: elfedit.c:440
+#: elfcomm.c:39
#, c-format
-msgid "%s: Failed to read ELF header\n"
+msgid "%s: Error: "
msgstr ""
-#: elfedit.c:447
+#: elfcomm.c:50
#, c-format
-msgid "%s: Failed to seek to ELF header\n"
+msgid "%s: Warning: "
+msgstr ""
+
+#: elfcomm.c:82 elfcomm.c:117 elfcomm.c:167 elfcomm.c:216
+#, c-format
+msgid "Unhandled data length: %d\n"
msgstr ""
-#: elfedit.c:477 elfedit.c:491 elfedit.c:776 readelf.c:3674 readelf.c:3978
-#: readelf.c:4021 readelf.c:4093 readelf.c:4171 readelf.c:4936 readelf.c:4960
-#: readelf.c:7057 readelf.c:7103 readelf.c:7304 readelf.c:8494 readelf.c:8508
-#: readelf.c:9033 readelf.c:9049 readelf.c:9092 readelf.c:9117 readelf.c:11385
-#: readelf.c:11577 readelf.c:12138 readelf.c:12515 readelf.c:12529
-#: readelf.c:12891
+#: elfcomm.c:263 elfcomm.c:277 elfcomm.c:645 readelf.c:3599 readelf.c:3903
+#: readelf.c:3946 readelf.c:4018 readelf.c:4096 readelf.c:4863 readelf.c:4887
+#: readelf.c:6984 readelf.c:7030 readelf.c:7231 readelf.c:8421 readelf.c:8435
+#: readelf.c:8960 readelf.c:8976 readelf.c:9019 readelf.c:9044 readelf.c:11312
+#: readelf.c:11504 readelf.c:12065
msgid "Out of memory\n"
msgstr ""
-#: elfedit.c:543 readelf.c:12581
+#: elfcomm.c:312
#, c-format
msgid "%s: failed to seek to first archive header\n"
msgstr ""
-#: elfedit.c:553 elfedit.c:741 elfedit.c:845 readelf.c:12590 readelf.c:12858
-#: readelf.c:13026
+#: elfcomm.c:321 elfcomm.c:611 elfedit.c:340 readelf.c:12548
#, c-format
msgid "%s: failed to read archive header\n"
msgstr ""
-#: elfedit.c:568 readelf.c:12691
+#: elfcomm.c:347
+#, c-format
+msgid "%s: the archive index is empty\n"
+msgstr ""
+
+#: elfcomm.c:355 elfcomm.c:381
+#, c-format
+msgid "%s: failed to read archive index\n"
+msgstr ""
+
+#: elfcomm.c:365
+#, c-format
+msgid ""
+"%s: the archive index is supposed to have %ld entries, but the size in the "
+"header is too small\n"
+msgstr ""
+
+#: elfcomm.c:373
+msgid "Out of memory whilst trying to read archive symbol index\n"
+msgstr ""
+
+#: elfcomm.c:392
+msgid "Out of memory whilst trying to convert the archive symbol index\n"
+msgstr ""
+
+#: elfcomm.c:405
+#, c-format
+msgid "%s: the archive has an index but no symbols\n"
+msgstr ""
+
+#: elfcomm.c:413
+msgid "Out of memory whilst trying to read archive index symbol table\n"
+msgstr ""
+
+#: elfcomm.c:419
+#, c-format
+msgid "%s: failed to read archive index symbol table\n"
+msgstr ""
+
+#: elfcomm.c:428
#, c-format
msgid "%s: failed to skip archive symbol table\n"
msgstr ""
-#: elfedit.c:579 readelf.c:12702
+#: elfcomm.c:440
#, c-format
msgid "%s: failed to read archive header following archive index\n"
msgstr ""
-#: elfedit.c:594 readelf.c:12718
+#: elfcomm.c:446
+#, c-format
+msgid "%s has no archive index\n"
+msgstr ""
+
+#: elfcomm.c:457
msgid "Out of memory reading long symbol names in archive\n"
msgstr ""
-#: elfedit.c:602 readelf.c:12726
+#: elfcomm.c:465
#, c-format
msgid "%s: failed to read long symbol name string table\n"
msgstr ""
-#: elfedit.c:734 readelf.c:12852
+#: elfcomm.c:605
#, c-format
msgid "%s: failed to seek to next file name\n"
msgstr ""
-#: elfedit.c:747 elfedit.c:852 readelf.c:12863 readelf.c:13032
+#: elfcomm.c:616 elfedit.c:347 readelf.c:12554
#, c-format
msgid "%s: did not find a valid archive header\n"
msgstr ""
-#: elfedit.c:836 readelf.c:13018
+#: elfedit.c:73
+#, c-format
+msgid "%s: Not an ELF file - wrong magic bytes at the start\n"
+msgstr ""
+
+#: elfedit.c:81
+#, c-format
+msgid "%s: Unsupported EI_VERSION: %d is not %d\n"
+msgstr ""
+
+#: elfedit.c:97
+#, c-format
+msgid "%s: Unmatched EI_CLASS: %d is not %d\n"
+msgstr ""
+
+#: elfedit.c:108
+#, c-format
+msgid "%s: Unmatched e_machine: %d is not %d\n"
+msgstr ""
+
+#: elfedit.c:119
+#, c-format
+msgid "%s: Unmatched e_type: %d is not %d\n"
+msgstr ""
+
+#: elfedit.c:130
+#, c-format
+msgid "%s: Unmatched EI_OSABI: %d is not %d\n"
+msgstr ""
+
+#: elfedit.c:163
+#, c-format
+msgid "%s: Failed to update ELF header: %s\n"
+msgstr ""
+
+#: elfedit.c:196
+#, c-format
+msgid "Unsupported EI_CLASS: %d\n"
+msgstr ""
+
+#: elfedit.c:229
+msgid ""
+"This executable has been built without support for a\n"
+"64 bit data type and so it cannot process 64 bit ELF files.\n"
+msgstr ""
+
+#: elfedit.c:270
+#, c-format
+msgid "%s: Failed to read ELF header\n"
+msgstr ""
+
+#: elfedit.c:277
+#, c-format
+msgid "%s: Failed to seek to ELF header\n"
+msgstr ""
+
+#: elfedit.c:331 readelf.c:12540
#, c-format
msgid "%s: failed to seek to next archive header\n"
msgstr ""
-#: elfedit.c:867 elfedit.c:876 readelf.c:13046 readelf.c:13055
+#: elfedit.c:362 elfedit.c:371 readelf.c:12568 readelf.c:12577
#, c-format
msgid "%s: bad archive file name\n"
msgstr ""
-#: elfedit.c:896 elfedit.c:988
+#: elfedit.c:391 elfedit.c:483
#, c-format
msgid "Input file '%s' is not readable\n"
msgstr ""
-#: elfedit.c:920
+#: elfedit.c:415
#, c-format
msgid "%s: failed to seek to archive member\n"
msgstr ""
-#: elfedit.c:959 readelf.c:13134
+#: elfedit.c:454 readelf.c:12663
#, c-format
msgid "'%s': No such file\n"
msgstr ""
-#: elfedit.c:961 readelf.c:13136
+#: elfedit.c:456 readelf.c:12665
#, c-format
msgid "Could not locate '%s'. System error message: %s\n"
msgstr ""
-#: elfedit.c:968 readelf.c:13143
+#: elfedit.c:463 readelf.c:12672
#, c-format
msgid "'%s' is not an ordinary file\n"
msgstr ""
-#: elfedit.c:994 readelf.c:13156
+#: elfedit.c:489 readelf.c:12685
#, c-format
msgid "%s: Failed to read file's magic number\n"
msgstr ""
-#: elfedit.c:1052
+#: elfedit.c:547
#, c-format
msgid "Unknown OSABI: %s\n"
msgstr ""
-#: elfedit.c:1071
+#: elfedit.c:566
#, c-format
msgid "Unknown machine type: %s\n"
msgstr ""
-#: elfedit.c:1089
+#: elfedit.c:584
#, c-format
msgid "Unknown machine type: %d\n"
msgstr ""
-#: elfedit.c:1108
+#: elfedit.c:603
#, c-format
msgid "Unknown type: %s\n"
msgstr ""
-#: elfedit.c:1139
+#: elfedit.c:634
#, c-format
msgid "Usage: %s <option(s)> elffile(s)\n"
msgstr ""
-#: elfedit.c:1141
+#: elfedit.c:636
#, c-format
msgid " Update the ELF header of ELF files\n"
msgstr ""
-#: elfedit.c:1142 objcopy.c:475 objcopy.c:585
+#: elfedit.c:637 objcopy.c:475 objcopy.c:585
#, c-format
msgid " The options are:\n"
msgstr ""
-#: elfedit.c:1143
+#: elfedit.c:638
#, c-format
msgid ""
" --input-mach <machine> Set input machine type to <machine>\n"
msgid "%s: invalid output format"
msgstr ""
-#: nm.c:346 readelf.c:8259 readelf.c:8304
+#: nm.c:346 readelf.c:8186 readelf.c:8231
#, c-format
msgid "<processor specific>: %d"
msgstr ""
-#: nm.c:348 readelf.c:8268 readelf.c:8322
+#: nm.c:348 readelf.c:8195 readelf.c:8249
#, c-format
msgid "<OS specific>: %d"
msgstr ""
-#: nm.c:350 readelf.c:8271 readelf.c:8325
+#: nm.c:350 readelf.c:8198 readelf.c:8252
#, c-format
msgid "<unknown>: %d"
msgstr ""
msgid "cannot open '%s': %s"
msgstr ""
-#: objcopy.c:764 objcopy.c:3389
+#: objcopy.c:764 objcopy.c:3388
#, c-format
msgid "%s: fread failed"
msgstr ""
msgid "unknown PE subsystem: %s"
msgstr ""
-#: objcopy.c:3209
+#: objcopy.c:3208
msgid "byte number must be non-negative"
msgstr ""
-#: objcopy.c:3215
+#: objcopy.c:3214
#, c-format
msgid "architecture %s unknown"
msgstr ""
-#: objcopy.c:3223
+#: objcopy.c:3222
msgid "interleave must be positive"
msgstr ""
-#: objcopy.c:3232
+#: objcopy.c:3231
msgid "interleave width must be positive"
msgstr ""
-#: objcopy.c:3252 objcopy.c:3260
+#: objcopy.c:3251 objcopy.c:3259
#, c-format
msgid "%s both copied and removed"
msgstr ""
-#: objcopy.c:3359 objcopy.c:3439 objcopy.c:3547 objcopy.c:3578 objcopy.c:3602
-#: objcopy.c:3606 objcopy.c:3626
+#: objcopy.c:3358 objcopy.c:3438 objcopy.c:3546 objcopy.c:3577 objcopy.c:3601
+#: objcopy.c:3605 objcopy.c:3625
#, c-format
msgid "bad format for %s"
msgstr ""
-#: objcopy.c:3371
+#: objcopy.c:3370
#, c-format
msgid "cannot open: %s: %s"
msgstr ""
-#: objcopy.c:3516
+#: objcopy.c:3515
#, c-format
msgid "Warning: truncating gap-fill from 0x%s to 0x%x"
msgstr ""
-#: objcopy.c:3677
+#: objcopy.c:3676
#, c-format
msgid "unknown long section names option '%s'"
msgstr ""
-#: objcopy.c:3695
+#: objcopy.c:3694
msgid "unable to parse alternative machine code"
msgstr ""
-#: objcopy.c:3740
+#: objcopy.c:3739
msgid "number of bytes to reverse must be positive and even"
msgstr ""
-#: objcopy.c:3743
+#: objcopy.c:3742
#, c-format
msgid "Warning: ignoring previous --reverse-bytes value of %d"
msgstr ""
-#: objcopy.c:3758
+#: objcopy.c:3757
#, c-format
msgid "%s: invalid reserve value for --heap"
msgstr ""
-#: objcopy.c:3764
+#: objcopy.c:3763
#, c-format
msgid "%s: invalid commit value for --heap"
msgstr ""
-#: objcopy.c:3789
+#: objcopy.c:3788
#, c-format
msgid "%s: invalid reserve value for --stack"
msgstr ""
-#: objcopy.c:3795
+#: objcopy.c:3794
#, c-format
msgid "%s: invalid commit value for --stack"
msgstr ""
-#: objcopy.c:3824
+#: objcopy.c:3823
msgid "interleave start byte must be set with --byte"
msgstr ""
-#: objcopy.c:3827
+#: objcopy.c:3826
msgid "byte number must be less than interleave"
msgstr ""
-#: objcopy.c:3830
+#: objcopy.c:3829
msgid "interleave width must be less than or equal to interleave - byte`"
msgstr ""
-#: objcopy.c:3857
+#: objcopy.c:3856
#, c-format
msgid "unknown input EFI target: %s"
msgstr ""
-#: objcopy.c:3888
+#: objcopy.c:3887
#, c-format
msgid "unknown output EFI target: %s"
msgstr ""
-#: objcopy.c:3901
+#: objcopy.c:3900
#, c-format
msgid "warning: could not locate '%s'. System error message: %s"
msgstr ""
-#: objcopy.c:3912
+#: objcopy.c:3911
#, c-format
msgid ""
"warning: could not create temporary file whilst copying '%s', (error: %s)"
msgstr ""
-#: objcopy.c:3956 objcopy.c:3970
+#: objcopy.c:3939 objcopy.c:3953
#, c-format
msgid "%s %s%c0x%s never used"
msgstr ""
-#: objdump.c:190
+#: objdump.c:191
#, c-format
msgid "Usage: %s <option(s)> <file(s)>\n"
msgstr ""
-#: objdump.c:191
+#: objdump.c:192
#, c-format
msgid " Display information from object <file(s)>.\n"
msgstr ""
-#: objdump.c:192
+#: objdump.c:193
#, c-format
msgid " At least one of the following switches must be given:\n"
msgstr ""
-#: objdump.c:193
+#: objdump.c:194
#, c-format
msgid ""
" -a, --archive-headers Display archive header information\n"
" --dwarf[=rawline,=decodedline,=info,=abbrev,=pubnames,=aranges,=macro,"
"=frames,\n"
" =frames-interp,=str,=loc,=Ranges,=pubtypes,\n"
-" =trace_info,=trace_abbrev,=trace_aranges]\n"
+" =gdb_index,=trace_info,=trace_abbrev,=trace_aranges]\n"
" Display DWARF info in the file\n"
" -t, --syms Display the contents of the symbol table(s)\n"
" -T, --dynamic-syms Display the contents of the dynamic symbol table\n"
" -H, --help Display this information\n"
msgstr ""
-#: objdump.c:222
+#: objdump.c:223
#, c-format
msgid ""
"\n"
" The following switches are optional:\n"
msgstr ""
-#: objdump.c:223
+#: objdump.c:224
#, c-format
msgid ""
" -b, --target=BFDNAME Specify the target object format as "
"\n"
msgstr ""
-#: objdump.c:396
+#: objdump.c:397
#, c-format
msgid "section '%s' mentioned in a -j option, but not found in any input file"
msgstr ""
-#: objdump.c:500
+#: objdump.c:501
#, c-format
msgid "Sections:\n"
msgstr ""
-#: objdump.c:503 objdump.c:507
+#: objdump.c:504 objdump.c:508
#, c-format
msgid "Idx Name Size VMA LMA File off Algn"
msgstr ""
-#: objdump.c:509
+#: objdump.c:510
#, c-format
msgid ""
"Idx Name Size VMA LMA File off "
"Algn"
msgstr ""
-#: objdump.c:513
+#: objdump.c:514
#, c-format
msgid " Flags"
msgstr ""
-#: objdump.c:515
-#, c-format
-msgid " Pg"
-msgstr ""
-
-#: objdump.c:558
+#: objdump.c:557
#, c-format
msgid "%s: not a dynamic object"
msgstr ""
-#: objdump.c:984 objdump.c:1008
+#: objdump.c:983 objdump.c:1007
#, c-format
msgid " (File Offset: 0x%lx)"
msgstr ""
-#: objdump.c:1634
+#: objdump.c:1633
#, c-format
msgid "disassemble_fn returned length %d"
msgstr ""
-#: objdump.c:1939
+#: objdump.c:1938
#, c-format
msgid ""
"\n"
"Disassembly of section %s:\n"
msgstr ""
-#: objdump.c:2115
+#: objdump.c:2114
#, c-format
msgid "can't use supplied machine %s"
msgstr ""
-#: objdump.c:2134
+#: objdump.c:2133
#, c-format
msgid "can't disassemble for architecture %s\n"
msgstr ""
-#: objdump.c:2214 objdump.c:2237
+#: objdump.c:2213 objdump.c:2236
#, c-format
msgid ""
"\n"
"Can't get contents for section '%s'.\n"
msgstr ""
-#: objdump.c:2378
+#: objdump.c:2377
#, c-format
msgid ""
"No %s section present\n"
"\n"
msgstr ""
-#: objdump.c:2387
+#: objdump.c:2386
#, c-format
msgid "reading %s section of %s failed: %s"
msgstr ""
-#: objdump.c:2431
+#: objdump.c:2430
#, c-format
msgid ""
"Contents of %s section:\n"
"\n"
msgstr ""
-#: objdump.c:2562
+#: objdump.c:2561
#, c-format
msgid "architecture: %s, "
msgstr ""
-#: objdump.c:2565
+#: objdump.c:2564
#, c-format
msgid "flags 0x%08x:\n"
msgstr ""
-#: objdump.c:2579
+#: objdump.c:2578
#, c-format
msgid ""
"\n"
"start address 0x"
msgstr ""
-#: objdump.c:2642
+#: objdump.c:2641
#, c-format
msgid "Contents of section %s:"
msgstr ""
-#: objdump.c:2644
+#: objdump.c:2643
#, c-format
msgid " (Starting at file offset: 0x%lx)"
msgstr ""
-#: objdump.c:2650
+#: objdump.c:2649
msgid "Reading section failed"
msgstr ""
-#: objdump.c:2753
+#: objdump.c:2752
#, c-format
msgid "no symbols\n"
msgstr ""
-#: objdump.c:2760
+#: objdump.c:2759
#, c-format
msgid "no information for symbol number %ld\n"
msgstr ""
-#: objdump.c:2763
+#: objdump.c:2762
#, c-format
msgid "could not determine the type of symbol number %ld\n"
msgstr ""
-#: objdump.c:3043
+#: objdump.c:3042
#, c-format
msgid ""
"\n"
"%s: file format %s\n"
msgstr ""
-#: objdump.c:3101
+#: objdump.c:3100
#, c-format
msgid "%s: printing debugging information failed"
msgstr ""
-#: objdump.c:3205
+#: objdump.c:3204
#, c-format
msgid "In archive %s:\n"
msgstr ""
-#: objdump.c:3316
+#: objdump.c:3315
msgid "error: the start address should be before the end address"
msgstr ""
-#: objdump.c:3321
+#: objdump.c:3320
msgid "error: the stop address should be after the start address"
msgstr ""
-#: objdump.c:3333
+#: objdump.c:3332
msgid "error: prefix strip must be non-negative"
msgstr ""
-#: objdump.c:3338
+#: objdump.c:3337
msgid "error: instruction width must be positive"
msgstr ""
-#: objdump.c:3347
+#: objdump.c:3346
msgid "unrecognized -E option"
msgstr ""
-#: objdump.c:3358
+#: objdump.c:3357
#, c-format
msgid "unrecognized --endian type `%s'"
msgstr ""
msgid "Last stabs entries before error:\n"
msgstr ""
-#: readelf.c:268
+#: readelf.c:265
msgid "<none>"
msgstr ""
-#: readelf.c:269
+#: readelf.c:266
msgid "<no-name>"
msgstr ""
-#: readelf.c:270 readelf.c:5047 readelf.c:5557 readelf.c:7794 readelf.c:7912
-#: readelf.c:8865 readelf.c:8945 readelf.c:8998 readelf.c:11860
-#: readelf.c:11863
+#: readelf.c:267 readelf.c:4974 readelf.c:5484 readelf.c:7721 readelf.c:7839
+#: readelf.c:8792 readelf.c:8872 readelf.c:8925 readelf.c:11787
+#: readelf.c:11790
msgid "<corrupt>"
msgstr ""
-#: readelf.c:308
+#: readelf.c:297
#, c-format
msgid "Unable to seek to 0x%lx for %s\n"
msgstr ""
-#: readelf.c:323
+#: readelf.c:312
#, c-format
msgid "Out of memory allocating 0x%lx bytes for %s\n"
msgstr ""
-#: readelf.c:333
+#: readelf.c:322
#, c-format
msgid "Unable to read in 0x%lx bytes of %s\n"
msgstr ""
-#: readelf.c:697
+#: readelf.c:622
msgid "Don't know about relocations on this machine architecture\n"
msgstr ""
-#: readelf.c:718 readelf.c:748 readelf.c:816 readelf.c:845
+#: readelf.c:643 readelf.c:673 readelf.c:741 readelf.c:770
msgid "relocs"
msgstr ""
-#: readelf.c:730 readelf.c:760 readelf.c:827 readelf.c:856
+#: readelf.c:655 readelf.c:685 readelf.c:752 readelf.c:781
msgid "out of memory parsing relocs\n"
msgstr ""
-#: readelf.c:961
+#: readelf.c:886
#, c-format
msgid ""
" Offset Info Type Sym. Value Symbol's Name + Addend\n"
msgstr ""
-#: readelf.c:963
+#: readelf.c:888
#, c-format
msgid " Offset Info Type Sym.Value Sym. Name + Addend\n"
msgstr ""
-#: readelf.c:968
+#: readelf.c:893
#, c-format
msgid " Offset Info Type Sym. Value Symbol's Name\n"
msgstr ""
-#: readelf.c:970
+#: readelf.c:895
#, c-format
msgid " Offset Info Type Sym.Value Sym. Name\n"
msgstr ""
-#: readelf.c:978
+#: readelf.c:903
#, c-format
msgid ""
" Offset Info Type Symbol's Value "
"Symbol's Name + Addend\n"
msgstr ""
-#: readelf.c:980
+#: readelf.c:905
#, c-format
msgid ""
" Offset Info Type Sym. Value Sym. Name + "
"Addend\n"
msgstr ""
-#: readelf.c:985
+#: readelf.c:910
#, c-format
msgid ""
" Offset Info Type Symbol's Value "
"Symbol's Name\n"
msgstr ""
-#: readelf.c:987
+#: readelf.c:912
#, c-format
msgid ""
" Offset Info Type Sym. Value Sym. Name\n"
msgstr ""
-#: readelf.c:1291 readelf.c:1448 readelf.c:1456
+#: readelf.c:1216 readelf.c:1373 readelf.c:1381
#, c-format
msgid "unrecognized: %-7lx"
msgstr ""
-#: readelf.c:1316
+#: readelf.c:1241
#, c-format
msgid "<unknown addend: %lx>"
msgstr ""
-#: readelf.c:1323
+#: readelf.c:1248
#, c-format
msgid " bad symbol index: %08lx"
msgstr ""
-#: readelf.c:1406
+#: readelf.c:1331
#, c-format
msgid "<string table index: %3ld>"
msgstr ""
-#: readelf.c:1408
+#: readelf.c:1333
#, c-format
msgid "<corrupt string table index: %3ld>"
msgstr ""
-#: readelf.c:1801
+#: readelf.c:1726
#, c-format
msgid "Processor Specific: %lx"
msgstr ""
-#: readelf.c:1825
+#: readelf.c:1750
#, c-format
msgid "Operating System specific: %lx"
msgstr ""
-#: readelf.c:1829 readelf.c:2875
+#: readelf.c:1754 readelf.c:2800
#, c-format
msgid "<unknown>: %lx"
msgstr ""
-#: readelf.c:1842
+#: readelf.c:1767
msgid "NONE (None)"
msgstr ""
-#: readelf.c:1843
+#: readelf.c:1768
msgid "REL (Relocatable file)"
msgstr ""
-#: readelf.c:1844
+#: readelf.c:1769
msgid "EXEC (Executable file)"
msgstr ""
-#: readelf.c:1845
+#: readelf.c:1770
msgid "DYN (Shared object file)"
msgstr ""
-#: readelf.c:1846
+#: readelf.c:1771
msgid "CORE (Core file)"
msgstr ""
-#: readelf.c:1850
+#: readelf.c:1775
#, c-format
msgid "Processor Specific: (%x)"
msgstr ""
-#: readelf.c:1852
+#: readelf.c:1777
#, c-format
msgid "OS Specific: (%x)"
msgstr ""
-#: readelf.c:1854 readelf.c:3122
+#: readelf.c:1779 readelf.c:3047
#, c-format
msgid "<unknown>: %x"
msgstr ""
-#: readelf.c:1866
+#: readelf.c:1791
msgid "None"
msgstr ""
-#: readelf.c:2034
+#: readelf.c:1959
#, c-format
msgid "<unknown>: 0x%x"
msgstr ""
-#: readelf.c:2220
+#: readelf.c:2145
msgid ", <unknown>"
msgstr ""
-#: readelf.c:2291 readelf.c:7145
+#: readelf.c:2216 readelf.c:7072
msgid "unknown"
msgstr ""
-#: readelf.c:2292
+#: readelf.c:2217
msgid "unknown mac"
msgstr ""
-#: readelf.c:2356
+#: readelf.c:2281
msgid ", relocatable"
msgstr ""
-#: readelf.c:2359
+#: readelf.c:2284
msgid ", relocatable-lib"
msgstr ""
-#: readelf.c:2382
+#: readelf.c:2307
msgid ", unknown v850 architecture variant"
msgstr ""
-#: readelf.c:2438
+#: readelf.c:2363
msgid ", unknown CPU"
msgstr ""
-#: readelf.c:2453
+#: readelf.c:2378
msgid ", unknown ABI"
msgstr ""
-#: readelf.c:2473 readelf.c:2507
+#: readelf.c:2398 readelf.c:2432
msgid ", unknown ISA"
msgstr ""
-#: readelf.c:2680
+#: readelf.c:2605
msgid "Standalone App"
msgstr ""
-#: readelf.c:2689
+#: readelf.c:2614
msgid "Bare-metal C6000"
msgstr ""
-#: readelf.c:2699 readelf.c:3462 readelf.c:3478
+#: readelf.c:2624 readelf.c:3387 readelf.c:3403
#, c-format
msgid "<unknown: %x>"
msgstr ""
-#: readelf.c:3172
+#: readelf.c:3097
#, c-format
msgid "Usage: readelf <option(s)> elf-file(s)\n"
msgstr ""
-#: readelf.c:3173
+#: readelf.c:3098
#, c-format
msgid " Display information about the contents of ELF format files\n"
msgstr ""
-#: readelf.c:3174
+#: readelf.c:3099
#, c-format
msgid ""
" Options are:\n"
" --debug-dump[=rawline,=decodedline,=info,=abbrev,=pubnames,=aranges,=macro,"
"=frames,\n"
" =frames-interp,=str,=loc,=Ranges,=pubtypes,\n"
-" =trace_info,=trace_abbrev,=trace_aranges]\n"
+" =gdb_index,=trace_info,=trace_abbrev,=trace_aranges]\n"
" Display the contents of DWARF2 debug sections\n"
msgstr ""
-#: readelf.c:3207
+#: readelf.c:3132
#, c-format
msgid ""
" -i --instruction-dump=<number|name>\n"
" Disassemble the contents of section <number|name>\n"
msgstr ""
-#: readelf.c:3211
+#: readelf.c:3136
#, c-format
msgid ""
" -I --histogram Display histogram of bucket list lengths\n"
" -v --version Display the version number of readelf\n"
msgstr ""
-#: readelf.c:3240 readelf.c:3269 readelf.c:3273 readelf.c:13224
+#: readelf.c:3165 readelf.c:3194 readelf.c:3198 readelf.c:12753
msgid "Out of memory allocating dump request table.\n"
msgstr ""
-#: readelf.c:3431
+#: readelf.c:3356
#, c-format
msgid "Invalid option '-%c'\n"
msgstr ""
-#: readelf.c:3446
+#: readelf.c:3371
msgid "Nothing to do.\n"
msgstr ""
-#: readelf.c:3458 readelf.c:3474 readelf.c:7730
+#: readelf.c:3383 readelf.c:3399 readelf.c:7657
msgid "none"
msgstr ""
-#: readelf.c:3475
+#: readelf.c:3400
msgid "2's complement, little endian"
msgstr ""
-#: readelf.c:3476
+#: readelf.c:3401
msgid "2's complement, big endian"
msgstr ""
-#: readelf.c:3494
+#: readelf.c:3419
msgid "Not an ELF file - it has the wrong magic bytes at the start\n"
msgstr ""
-#: readelf.c:3504
+#: readelf.c:3429
#, c-format
msgid "ELF Header:\n"
msgstr ""
-#: readelf.c:3505
+#: readelf.c:3430
#, c-format
msgid " Magic: "
msgstr ""
-#: readelf.c:3509
+#: readelf.c:3434
#, c-format
msgid " Class: %s\n"
msgstr ""
-#: readelf.c:3511
+#: readelf.c:3436
#, c-format
msgid " Data: %s\n"
msgstr ""
-#: readelf.c:3513
+#: readelf.c:3438
#, c-format
msgid " Version: %d %s\n"
msgstr ""
-#: readelf.c:3518
+#: readelf.c:3443
#, c-format
msgid "<unknown: %lx>"
msgstr ""
-#: readelf.c:3520
+#: readelf.c:3445
#, c-format
msgid " OS/ABI: %s\n"
msgstr ""
-#: readelf.c:3522
+#: readelf.c:3447
#, c-format
msgid " ABI Version: %d\n"
msgstr ""
-#: readelf.c:3524
+#: readelf.c:3449
#, c-format
msgid " Type: %s\n"
msgstr ""
-#: readelf.c:3526
+#: readelf.c:3451
#, c-format
msgid " Machine: %s\n"
msgstr ""
-#: readelf.c:3528
+#: readelf.c:3453
#, c-format
msgid " Version: 0x%lx\n"
msgstr ""
-#: readelf.c:3531
+#: readelf.c:3456
#, c-format
msgid " Entry point address: "
msgstr ""
-#: readelf.c:3533
+#: readelf.c:3458
#, c-format
msgid ""
"\n"
" Start of program headers: "
msgstr ""
-#: readelf.c:3535
+#: readelf.c:3460
#, c-format
msgid ""
" (bytes into file)\n"
" Start of section headers: "
msgstr ""
-#: readelf.c:3537
+#: readelf.c:3462
#, c-format
msgid " (bytes into file)\n"
msgstr ""
-#: readelf.c:3539
+#: readelf.c:3464
#, c-format
msgid " Flags: 0x%lx%s\n"
msgstr ""
-#: readelf.c:3542
+#: readelf.c:3467
#, c-format
msgid " Size of this header: %ld (bytes)\n"
msgstr ""
-#: readelf.c:3544
+#: readelf.c:3469
#, c-format
msgid " Size of program headers: %ld (bytes)\n"
msgstr ""
-#: readelf.c:3546
+#: readelf.c:3471
#, c-format
msgid " Number of program headers: %ld"
msgstr ""
-#: readelf.c:3551
-#, c-format
-msgid " (%ld)"
-msgstr ""
-
-#: readelf.c:3553
+#: readelf.c:3478
#, c-format
msgid " Size of section headers: %ld (bytes)\n"
msgstr ""
-#: readelf.c:3555
+#: readelf.c:3480
#, c-format
msgid " Number of section headers: %ld"
msgstr ""
-#: readelf.c:3560
+#: readelf.c:3485
#, c-format
msgid " Section header string table index: %ld"
msgstr ""
-#: readelf.c:3567
+#: readelf.c:3492
#, c-format
msgid " <corrupt: out of range>"
msgstr ""
-#: readelf.c:3601 readelf.c:3635
+#: readelf.c:3526 readelf.c:3560
msgid "program headers"
msgstr ""
-#: readelf.c:3701
+#: readelf.c:3626
#, c-format
msgid ""
"\n"
"There are no program headers in this file.\n"
msgstr ""
-#: readelf.c:3707
+#: readelf.c:3632
#, c-format
msgid ""
"\n"
"Elf file type is %s\n"
msgstr ""
-#: readelf.c:3708
+#: readelf.c:3633
#, c-format
msgid "Entry point "
msgstr ""
-#: readelf.c:3710
+#: readelf.c:3635
#, c-format
msgid ""
"\n"
"There are %d program headers, starting at offset "
msgstr ""
-#: readelf.c:3722 readelf.c:3724
+#: readelf.c:3647 readelf.c:3649
#, c-format
msgid ""
"\n"
"Program Headers:\n"
msgstr ""
-#: readelf.c:3728
+#: readelf.c:3653
#, c-format
msgid ""
" Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align\n"
msgstr ""
-#: readelf.c:3731
+#: readelf.c:3656
#, c-format
msgid ""
" Type Offset VirtAddr PhysAddr FileSiz "
"MemSiz Flg Align\n"
msgstr ""
-#: readelf.c:3735
+#: readelf.c:3660
#, c-format
msgid " Type Offset VirtAddr PhysAddr\n"
msgstr ""
-#: readelf.c:3737
+#: readelf.c:3662
#, c-format
msgid " FileSiz MemSiz Flags Align\n"
msgstr ""
-#: readelf.c:3830
+#: readelf.c:3755
msgid "more than one dynamic segment\n"
msgstr ""
-#: readelf.c:3849
+#: readelf.c:3774
msgid "no .dynamic section in the dynamic segment\n"
msgstr ""
-#: readelf.c:3864
+#: readelf.c:3789
msgid "the .dynamic section is not contained within the dynamic segment\n"
msgstr ""
-#: readelf.c:3867
+#: readelf.c:3792
msgid "the .dynamic section is not the first section in the dynamic segment.\n"
msgstr ""
-#: readelf.c:3875
+#: readelf.c:3800
msgid "Unable to find program interpreter name\n"
msgstr ""
-#: readelf.c:3882
+#: readelf.c:3807
msgid ""
"Internal error: failed to create format string to display program "
"interpreter\n"
msgstr ""
-#: readelf.c:3886
+#: readelf.c:3811
msgid "Unable to read program interpreter name\n"
msgstr ""
-#: readelf.c:3889
+#: readelf.c:3814
#, c-format
msgid ""
"\n"
" [Requesting program interpreter: %s]"
msgstr ""
-#: readelf.c:3901
+#: readelf.c:3826
#, c-format
msgid ""
"\n"
" Section to Segment mapping:\n"
msgstr ""
-#: readelf.c:3902
+#: readelf.c:3827
#, c-format
msgid " Segment Sections...\n"
msgstr ""
-#: readelf.c:3938
+#: readelf.c:3863
msgid "Cannot interpret virtual addresses without program headers.\n"
msgstr ""
-#: readelf.c:3954
+#: readelf.c:3879
#, c-format
msgid "Virtual address 0x%lx not located in any PT_LOAD segment.\n"
msgstr ""
-#: readelf.c:3969 readelf.c:4012
+#: readelf.c:3894 readelf.c:3937
msgid "section headers"
msgstr ""
-#: readelf.c:4059 readelf.c:4134
+#: readelf.c:3984 readelf.c:4059
msgid "sh_entsize is zero\n"
msgstr ""
-#: readelf.c:4067 readelf.c:4142
+#: readelf.c:3992 readelf.c:4067
msgid "Invalid sh_entsize\n"
msgstr ""
-#: readelf.c:4072 readelf.c:4147
+#: readelf.c:3997 readelf.c:4072
msgid "symbols"
msgstr ""
-#: readelf.c:4084 readelf.c:4159
+#: readelf.c:4009 readelf.c:4084
msgid "symtab shndx"
msgstr ""
-#: readelf.c:4419
+#: readelf.c:4344
#, c-format
msgid "UNKNOWN (%*.*lx)"
msgstr ""
-#: readelf.c:4440 readelf.c:4920
+#: readelf.c:4365 readelf.c:4847
#, c-format
msgid ""
"\n"
"There are no sections in this file.\n"
msgstr ""
-#: readelf.c:4446
+#: readelf.c:4371
#, c-format
msgid "There are %d section headers, starting at offset 0x%lx:\n"
msgstr ""
-#: readelf.c:4467 readelf.c:5043 readelf.c:5454 readelf.c:5760 readelf.c:6173
-#: readelf.c:6754 readelf.c:8843
+#: readelf.c:4392 readelf.c:4970 readelf.c:5381 readelf.c:5687 readelf.c:6100
+#: readelf.c:6681 readelf.c:8770
msgid "string table"
msgstr ""
-#: readelf.c:4534
+#: readelf.c:4459
#, c-format
msgid "Section %d has invalid sh_entsize %lx (expected %lx)\n"
msgstr ""
-#: readelf.c:4554
+#: readelf.c:4479
msgid "File contains multiple dynamic symbol tables\n"
msgstr ""
-#: readelf.c:4567
+#: readelf.c:4492
msgid "File contains multiple dynamic string tables\n"
msgstr ""
-#: readelf.c:4573
+#: readelf.c:4498
msgid "dynamic strings"
msgstr ""
-#: readelf.c:4580
+#: readelf.c:4505
msgid "File contains multiple symtab shndx tables\n"
msgstr ""
-#: readelf.c:4648
+#: readelf.c:4575
#, c-format
msgid ""
"\n"
"Section Headers:\n"
msgstr ""
-#: readelf.c:4650
+#: readelf.c:4577
#, c-format
msgid ""
"\n"
"Section Header:\n"
msgstr ""
-#: readelf.c:4656 readelf.c:4667 readelf.c:4678
+#: readelf.c:4583 readelf.c:4594 readelf.c:4605
#, c-format
msgid " [Nr] Name\n"
msgstr ""
-#: readelf.c:4657
+#: readelf.c:4584
#, c-format
msgid " Type Addr Off Size ES Lk Inf Al\n"
msgstr ""
-#: readelf.c:4661
+#: readelf.c:4588
#, c-format
msgid ""
" [Nr] Name Type Addr Off Size ES Flg Lk "
"Inf Al\n"
msgstr ""
-#: readelf.c:4668
+#: readelf.c:4595
#, c-format
msgid " Type Address Off Size ES Lk Inf Al\n"
msgstr ""
-#: readelf.c:4672
+#: readelf.c:4599
#, c-format
msgid ""
" [Nr] Name Type Address Off Size ES "
"Flg Lk Inf Al\n"
msgstr ""
-#: readelf.c:4679
+#: readelf.c:4606
#, c-format
msgid " Type Address Offset Link\n"
msgstr ""
-#: readelf.c:4680
+#: readelf.c:4607
#, c-format
msgid " Size EntSize Info Align\n"
msgstr ""
-#: readelf.c:4684
+#: readelf.c:4611
#, c-format
msgid " [Nr] Name Type Address Offset\n"
msgstr ""
-#: readelf.c:4685
+#: readelf.c:4612
#, c-format
msgid " Size EntSize Flags Link Info Align\n"
msgstr ""
-#: readelf.c:4690
+#: readelf.c:4617
#, c-format
msgid " Flags\n"
msgstr ""
-#: readelf.c:4769
+#: readelf.c:4696
#, c-format
msgid "section %u: sh_link value of %u is larger than the number of sections\n"
msgstr ""
-#: readelf.c:4868
+#: readelf.c:4795
#, c-format
msgid ""
"Key to Flags:\n"
" O (extra OS processing required) o (OS specific), p (processor specific)\n"
msgstr ""
-#: readelf.c:4873
+#: readelf.c:4800
#, c-format
msgid ""
"Key to Flags:\n"
" O (extra OS processing required) o (OS specific), p (processor specific)\n"
msgstr ""
-#: readelf.c:4895
+#: readelf.c:4822
#, c-format
msgid "[<unknown>: 0x%x] "
msgstr ""
-#: readelf.c:4927
+#: readelf.c:4854
msgid "Section headers are not available!\n"
msgstr ""
-#: readelf.c:4951
+#: readelf.c:4878
#, c-format
msgid ""
"\n"
"There are no section groups in this file.\n"
msgstr ""
-#: readelf.c:4988
+#: readelf.c:4915
#, c-format
msgid "Bad sh_link in group section `%s'\n"
msgstr ""
-#: readelf.c:5002
+#: readelf.c:4929
#, c-format
msgid "Corrupt header in group section `%s'\n"
msgstr ""
-#: readelf.c:5013
+#: readelf.c:4940
#, c-format
msgid "Bad sh_info in group section `%s'\n"
msgstr ""
-#: readelf.c:5052
+#: readelf.c:4979
msgid "section data"
msgstr ""
-#: readelf.c:5061
+#: readelf.c:4988
#, c-format
msgid ""
"\n"
"%sgroup section [%5u] `%s' [%s] contains %u sections:\n"
msgstr ""
-#: readelf.c:5064
+#: readelf.c:4991
#, c-format
msgid " [Index] Name\n"
msgstr ""
-#: readelf.c:5078
+#: readelf.c:5005
#, c-format
msgid "section [%5u] in group section [%5u] > maximum section [%5u]\n"
msgstr ""
-#: readelf.c:5087
+#: readelf.c:5014
#, c-format
msgid "section [%5u] in group section [%5u] already in group section [%5u]\n"
msgstr ""
-#: readelf.c:5100
+#: readelf.c:5027
#, c-format
msgid "section 0 in group section [%5u]\n"
msgstr ""
-#: readelf.c:5167
+#: readelf.c:5094
msgid "dynamic section image fixups"
msgstr ""
-#: readelf.c:5179
+#: readelf.c:5106
#, c-format
msgid ""
"\n"
"Image fixups for needed library #%d: %s - ident: %lx\n"
msgstr ""
-#: readelf.c:5182
+#: readelf.c:5109
#, c-format
msgid "Seg Offset Type SymVec DataType\n"
msgstr ""
-#: readelf.c:5214
+#: readelf.c:5141
msgid "dynamic section image relas"
msgstr ""
-#: readelf.c:5218
+#: readelf.c:5145
#, c-format
msgid ""
"\n"
"Image relocs\n"
msgstr ""
-#: readelf.c:5220
+#: readelf.c:5147
#, c-format
msgid ""
"Seg Offset Type Addend Seg Sym Off\n"
msgstr ""
-#: readelf.c:5275
+#: readelf.c:5202
msgid "dynamic string section"
msgstr ""
-#: readelf.c:5376
+#: readelf.c:5303
#, c-format
msgid ""
"\n"
"'%s' relocation section at offset 0x%lx contains %ld bytes:\n"
msgstr ""
-#: readelf.c:5391
+#: readelf.c:5318
#, c-format
msgid ""
"\n"
"There are no dynamic relocations in this file.\n"
msgstr ""
-#: readelf.c:5415
+#: readelf.c:5342
#, c-format
msgid ""
"\n"
"Relocation section "
msgstr ""
-#: readelf.c:5420 readelf.c:5836 readelf.c:5851 readelf.c:6188
+#: readelf.c:5347 readelf.c:5763 readelf.c:5778 readelf.c:6115
#, c-format
msgid "'%s'"
msgstr ""
-#: readelf.c:5422 readelf.c:5853 readelf.c:6190
+#: readelf.c:5349 readelf.c:5780 readelf.c:6117
#, c-format
msgid " at offset 0x%lx contains %lu entries:\n"
msgstr ""
-#: readelf.c:5473
+#: readelf.c:5400
#, c-format
msgid ""
"\n"
"There are no relocations in this file.\n"
msgstr ""
-#: readelf.c:5611
+#: readelf.c:5538
#, c-format
msgid "\tUnknown version.\n"
msgstr ""
-#: readelf.c:5664 readelf.c:6037
+#: readelf.c:5591 readelf.c:5964
msgid "unwind table"
msgstr ""
-#: readelf.c:5706 readelf.c:6119 readelf.c:6365
+#: readelf.c:5633 readelf.c:6046 readelf.c:6292
#, c-format
msgid "Skipping unexpected relocation type %s\n"
msgstr ""
-#: readelf.c:5768 readelf.c:6181 readelf.c:6762 readelf.c:6808
+#: readelf.c:5695 readelf.c:6108 readelf.c:6689 readelf.c:6735
#, c-format
msgid ""
"\n"
"There are no unwind sections in this file.\n"
msgstr ""
-#: readelf.c:5831
+#: readelf.c:5758
#, c-format
msgid ""
"\n"
"Could not find unwind info section for "
msgstr ""
-#: readelf.c:5844
+#: readelf.c:5771
msgid "unwind info"
msgstr ""
-#: readelf.c:5846 readelf.c:6187
+#: readelf.c:5773 readelf.c:6114
#, c-format
msgid ""
"\n"
"Unwind section "
msgstr ""
-#: readelf.c:6296
+#: readelf.c:6223
msgid "unwind data"
msgstr ""
-#: readelf.c:6350
+#: readelf.c:6277
#, c-format
msgid "Skipping unexpected relocation at offset 0x%lx\n"
msgstr ""
-#: readelf.c:6426
+#: readelf.c:6353
#, c-format
msgid "[Truncated opcode]\n"
msgstr ""
-#: readelf.c:6429
-#, c-format
-msgid "0x%02x "
-msgstr ""
-
-#: readelf.c:6451
+#: readelf.c:6378
#, c-format
msgid " Personality routine: "
msgstr ""
-#: readelf.c:6469
+#: readelf.c:6396
#, c-format
msgid " [Truncated data]\n"
msgstr ""
-#: readelf.c:6484
+#: readelf.c:6411
#, c-format
msgid " [reserved compact index %d]\n"
msgstr ""
-#: readelf.c:6488
+#: readelf.c:6415
#, c-format
msgid " Compact model %d\n"
msgstr ""
-#: readelf.c:6515
-#, c-format
-msgid " 0x%02x "
-msgstr ""
-
-#: readelf.c:6520
-#, c-format
-msgid " vsp = vsp + %d"
-msgstr ""
-
-#: readelf.c:6525
-#, c-format
-msgid " vsp = vsp - %d"
-msgstr ""
-
-#: readelf.c:6531
+#: readelf.c:6458
#, c-format
msgid "Refuse to unwind"
msgstr ""
-#: readelf.c:6554
+#: readelf.c:6481
#, c-format
msgid " [Reserved]"
msgstr ""
-#: readelf.c:6556
-#, c-format
-msgid " vsp = r%d"
-msgstr ""
-
-#: readelf.c:6581
+#: readelf.c:6508
#, c-format
msgid " finish"
msgstr ""
-#: readelf.c:6586
+#: readelf.c:6513
#, c-format
msgid "[Spare]"
msgstr ""
-#: readelf.c:6620
-#, c-format
-msgid "vsp = vsp + %ld"
-msgstr ""
-
-#: readelf.c:6627
+#: readelf.c:6554
#, c-format
msgid "[unsupported two-byte opcode]"
msgstr ""
-#: readelf.c:6631
+#: readelf.c:6558
#, c-format
msgid " [unsupported opcode]"
msgstr ""
-#: readelf.c:6715
+#: readelf.c:6642
#, c-format
msgid "Could not locate .ARM.extab section containing 0x%lx.\n"
msgstr ""
-#: readelf.c:6768
+#: readelf.c:6695
#, c-format
msgid ""
"\n"
"Unwind table index '%s' at offset 0x%lx contains %lu entries:\n"
msgstr ""
-#: readelf.c:6819
+#: readelf.c:6746
#, c-format
msgid "NONE\n"
msgstr ""
-#: readelf.c:6845
+#: readelf.c:6772
#, c-format
msgid "Interface Version: %s\n"
msgstr ""
-#: readelf.c:6847
+#: readelf.c:6774
#, c-format
msgid "<corrupt: %ld>\n"
msgstr ""
-#: readelf.c:6860
+#: readelf.c:6787
#, c-format
msgid "Time Stamp: %s\n"
msgstr ""
-#: readelf.c:7037 readelf.c:7083
+#: readelf.c:6964 readelf.c:7010
msgid "dynamic section"
msgstr ""
-#: readelf.c:7161
+#: readelf.c:7088
#, c-format
msgid ""
"\n"
"There is no dynamic section in this file.\n"
msgstr ""
-#: readelf.c:7199
+#: readelf.c:7126
msgid "Unable to seek to end of file!\n"
msgstr ""
-#: readelf.c:7212
+#: readelf.c:7139
msgid "Unable to determine the number of symbols to load\n"
msgstr ""
-#: readelf.c:7247
+#: readelf.c:7174
msgid "Unable to seek to end of file\n"
msgstr ""
-#: readelf.c:7254
+#: readelf.c:7181
msgid "Unable to determine the length of the dynamic string table\n"
msgstr ""
-#: readelf.c:7260
+#: readelf.c:7187
msgid "dynamic string table"
msgstr ""
-#: readelf.c:7297
+#: readelf.c:7224
msgid "symbol information"
msgstr ""
-#: readelf.c:7322
+#: readelf.c:7249
#, c-format
msgid ""
"\n"
"Dynamic section at offset 0x%lx contains %u entries:\n"
msgstr ""
-#: readelf.c:7325
+#: readelf.c:7252
#, c-format
msgid " Tag Type Name/Value\n"
msgstr ""
-#: readelf.c:7361
+#: readelf.c:7288
#, c-format
msgid "Auxiliary library"
msgstr ""
-#: readelf.c:7365
+#: readelf.c:7292
#, c-format
msgid "Filter library"
msgstr ""
-#: readelf.c:7369
+#: readelf.c:7296
#, c-format
msgid "Configuration file"
msgstr ""
-#: readelf.c:7373
+#: readelf.c:7300
#, c-format
msgid "Dependency audit library"
msgstr ""
-#: readelf.c:7377
+#: readelf.c:7304
#, c-format
msgid "Audit library"
msgstr ""
-#: readelf.c:7395 readelf.c:7423 readelf.c:7451
+#: readelf.c:7322 readelf.c:7350 readelf.c:7378
#, c-format
msgid "Flags:"
msgstr ""
-#: readelf.c:7398 readelf.c:7426 readelf.c:7453
+#: readelf.c:7325 readelf.c:7353 readelf.c:7380
#, c-format
msgid " None\n"
msgstr ""
-#: readelf.c:7574
+#: readelf.c:7501
#, c-format
msgid "Shared library: [%s]"
msgstr ""
-#: readelf.c:7577
+#: readelf.c:7504
#, c-format
msgid " program interpreter"
msgstr ""
-#: readelf.c:7581
+#: readelf.c:7508
#, c-format
msgid "Library soname: [%s]"
msgstr ""
-#: readelf.c:7585
+#: readelf.c:7512
#, c-format
msgid "Library rpath: [%s]"
msgstr ""
-#: readelf.c:7589
+#: readelf.c:7516
#, c-format
msgid "Library runpath: [%s]"
msgstr ""
-#: readelf.c:7622
+#: readelf.c:7549
#, c-format
msgid " (bytes)\n"
msgstr ""
-#: readelf.c:7652
+#: readelf.c:7579
#, c-format
msgid "Not needed object: [%s]\n"
msgstr ""
-#: readelf.c:7752
+#: readelf.c:7679
msgid "| <unknown>"
msgstr ""
-#: readelf.c:7785
+#: readelf.c:7712
#, c-format
msgid ""
"\n"
"Version definition section '%s' contains %u entries:\n"
msgstr ""
-#: readelf.c:7788
+#: readelf.c:7715
#, c-format
msgid " Addr: 0x"
msgstr ""
-#: readelf.c:7790 readelf.c:7908 readelf.c:8046
+#: readelf.c:7717 readelf.c:7835 readelf.c:7973
#, c-format
msgid " Offset: %#08lx Link: %u (%s)\n"
msgstr ""
-#: readelf.c:7798
+#: readelf.c:7725
msgid "version definition section"
msgstr ""
-#: readelf.c:7831
+#: readelf.c:7758
#, c-format
msgid " %#06x: Rev: %d Flags: %s"
msgstr ""
-#: readelf.c:7834
+#: readelf.c:7761
#, c-format
msgid " Index: %d Cnt: %d "
msgstr ""
-#: readelf.c:7850
+#: readelf.c:7777
#, c-format
msgid "Name: %s\n"
msgstr ""
-#: readelf.c:7852
+#: readelf.c:7779
#, c-format
msgid "Name index: %ld\n"
msgstr ""
-#: readelf.c:7874
+#: readelf.c:7801
#, c-format
msgid " %#06x: Parent %d: %s\n"
msgstr ""
-#: readelf.c:7877
+#: readelf.c:7804
#, c-format
msgid " %#06x: Parent %d, name index: %ld\n"
msgstr ""
-#: readelf.c:7882
+#: readelf.c:7809
#, c-format
msgid " Version def aux past end of section\n"
msgstr ""
-#: readelf.c:7888
+#: readelf.c:7815
#, c-format
msgid " Version definition past end of section\n"
msgstr ""
-#: readelf.c:7903
+#: readelf.c:7830
#, c-format
msgid ""
"\n"
"Version needs section '%s' contains %u entries:\n"
msgstr ""
-#: readelf.c:7906
+#: readelf.c:7833
#, c-format
msgid " Addr: 0x"
msgstr ""
-#: readelf.c:7917
+#: readelf.c:7844
msgid "version need section"
msgstr ""
-#: readelf.c:7945
+#: readelf.c:7872
#, c-format
msgid " %#06x: Version: %d"
msgstr ""
-#: readelf.c:7948
+#: readelf.c:7875
#, c-format
msgid " File: %s"
msgstr ""
-#: readelf.c:7950
+#: readelf.c:7877
#, c-format
msgid " File: %lx"
msgstr ""
-#: readelf.c:7952
+#: readelf.c:7879
#, c-format
msgid " Cnt: %d\n"
msgstr ""
-#: readelf.c:7977
+#: readelf.c:7904
#, c-format
msgid " %#06x: Name: %s"
msgstr ""
-#: readelf.c:7980
+#: readelf.c:7907
#, c-format
msgid " %#06x: Name index: %lx"
msgstr ""
-#: readelf.c:7983
+#: readelf.c:7910
#, c-format
msgid " Flags: %s Version: %d\n"
msgstr ""
-#: readelf.c:7995
+#: readelf.c:7922
#, c-format
msgid " Version need aux past end of section\n"
msgstr ""
-#: readelf.c:8000
+#: readelf.c:7927
#, c-format
msgid " Version need past end of section\n"
msgstr ""
-#: readelf.c:8037
+#: readelf.c:7964
msgid "version string table"
msgstr ""
-#: readelf.c:8041
+#: readelf.c:7968
#, c-format
msgid ""
"\n"
"Version symbols section '%s' contains %d entries:\n"
msgstr ""
-#: readelf.c:8044
+#: readelf.c:7971
#, c-format
msgid " Addr: "
msgstr ""
-#: readelf.c:8055
+#: readelf.c:7982
msgid "version symbol data"
msgstr ""
-#: readelf.c:8082
+#: readelf.c:8009
msgid " 0 (*local*) "
msgstr ""
-#: readelf.c:8086
+#: readelf.c:8013
msgid " 1 (*global*) "
msgstr ""
-#: readelf.c:8099
+#: readelf.c:8026
msgid "invalid index into symbol array\n"
msgstr ""
-#: readelf.c:8133 readelf.c:8910
+#: readelf.c:8060 readelf.c:8837
msgid "version need"
msgstr ""
-#: readelf.c:8143
+#: readelf.c:8070
msgid "version need aux (2)"
msgstr ""
-#: readelf.c:8158 readelf.c:8213
+#: readelf.c:8085 readelf.c:8140
msgid "*invalid*"
msgstr ""
-#: readelf.c:8188 readelf.c:8975
+#: readelf.c:8115 readelf.c:8902
msgid "version def"
msgstr ""
-#: readelf.c:8208 readelf.c:8990
+#: readelf.c:8135 readelf.c:8917
msgid "version def aux"
msgstr ""
-#: readelf.c:8242
+#: readelf.c:8169
#, c-format
msgid ""
"\n"
"No version information found in this file.\n"
msgstr ""
-#: readelf.c:8441
+#: readelf.c:8368
#, c-format
msgid "<other>: %x"
msgstr ""
-#: readelf.c:8500
+#: readelf.c:8427
msgid "Unable to read in dynamic data\n"
msgstr ""
-#: readelf.c:8550
+#: readelf.c:8477
#, c-format
msgid " <corrupt: %14ld>"
msgstr ""
-#: readelf.c:8593 readelf.c:8645 readelf.c:8669 readelf.c:8699 readelf.c:8723
+#: readelf.c:8520 readelf.c:8572 readelf.c:8596 readelf.c:8626 readelf.c:8650
msgid "Unable to seek to start of dynamic information\n"
msgstr ""
-#: readelf.c:8599 readelf.c:8651
+#: readelf.c:8526 readelf.c:8578
msgid "Failed to read in number of buckets\n"
msgstr ""
-#: readelf.c:8605
+#: readelf.c:8532
msgid "Failed to read in number of chains\n"
msgstr ""
-#: readelf.c:8707
+#: readelf.c:8634
msgid "Failed to determine last chain length\n"
msgstr ""
-#: readelf.c:8751
+#: readelf.c:8678
#, c-format
msgid ""
"\n"
"Symbol table for image:\n"
msgstr ""
-#: readelf.c:8753 readelf.c:8771
+#: readelf.c:8680 readelf.c:8698
#, c-format
msgid " Num Buc: Value Size Type Bind Vis Ndx Name\n"
msgstr ""
-#: readelf.c:8755 readelf.c:8773
+#: readelf.c:8682 readelf.c:8700
#, c-format
msgid " Num Buc: Value Size Type Bind Vis Ndx Name\n"
msgstr ""
-#: readelf.c:8769
+#: readelf.c:8696
#, c-format
msgid ""
"\n"
"Symbol table of `.gnu.hash' for image:\n"
msgstr ""
-#: readelf.c:8812
+#: readelf.c:8739
#, c-format
msgid ""
"\n"
"Symbol table '%s' has a sh_entsize of zero!\n"
msgstr ""
-#: readelf.c:8817
+#: readelf.c:8744
#, c-format
msgid ""
"\n"
"Symbol table '%s' contains %lu entries:\n"
msgstr ""
-#: readelf.c:8822
+#: readelf.c:8749
#, c-format
msgid " Num: Value Size Type Bind Vis Ndx Name\n"
msgstr ""
-#: readelf.c:8824
+#: readelf.c:8751
#, c-format
msgid " Num: Value Size Type Bind Vis Ndx Name\n"
msgstr ""
-#: readelf.c:8881
+#: readelf.c:8808
msgid "version data"
msgstr ""
-#: readelf.c:8923
+#: readelf.c:8850
msgid "version need aux (3)"
msgstr ""
-#: readelf.c:8950
+#: readelf.c:8877
msgid "bad dynamic symbol\n"
msgstr ""
-#: readelf.c:9014
+#: readelf.c:8941
#, c-format
msgid ""
"\n"
"Dynamic symbol information is not available for displaying symbols.\n"
msgstr ""
-#: readelf.c:9026
+#: readelf.c:8953
#, c-format
msgid ""
"\n"
"Histogram for bucket list length (total of %lu buckets):\n"
msgstr ""
-#: readelf.c:9028 readelf.c:9098
+#: readelf.c:8955 readelf.c:9025
#, c-format
msgid " Length Number %% of total Coverage\n"
msgstr ""
-#: readelf.c:9096
+#: readelf.c:9023
#, c-format
msgid ""
"\n"
"Histogram for `.gnu.hash' bucket list length (total of %lu buckets):\n"
msgstr ""
-#: readelf.c:9162
+#: readelf.c:9089
#, c-format
msgid ""
"\n"
"Dynamic info segment at offset 0x%lx contains %d entries:\n"
msgstr ""
-#: readelf.c:9165
+#: readelf.c:9092
#, c-format
msgid " Num: Name BoundTo Flags\n"
msgstr ""
-#: readelf.c:9174
+#: readelf.c:9101
#, c-format
msgid "<corrupt: %19ld>"
msgstr ""
-#: readelf.c:9256
+#: readelf.c:9183
msgid "Unhandled MN10300 reloc type found after SYM_DIFF reloc"
msgstr ""
-#: readelf.c:9416
+#: readelf.c:9343
#, c-format
msgid ""
"Missing knowledge of 32-bit reloc types used in DWARF sections of machine "
"number %d\n"
msgstr ""
-#: readelf.c:9720
+#: readelf.c:9647
#, c-format
msgid "unable to apply unsupported reloc type %d to section %s\n"
msgstr ""
-#: readelf.c:9728
+#: readelf.c:9655
#, c-format
msgid "skipping invalid relocation offset 0x%lx in section %s\n"
msgstr ""
-#: readelf.c:9752
+#: readelf.c:9679
#, c-format
msgid "skipping unexpected symbol type %s in %ld'th relocation in section %s\n"
msgstr ""
-#: readelf.c:9798
+#: readelf.c:9725
#, c-format
msgid ""
"\n"
"Assembly dump of section %s\n"
msgstr ""
-#: readelf.c:9819
+#: readelf.c:9746
#, c-format
msgid ""
"\n"
"Section '%s' has no data to dump.\n"
msgstr ""
-#: readelf.c:9825
+#: readelf.c:9752
msgid "section contents"
msgstr ""
-#: readelf.c:9844
+#: readelf.c:9771
#, c-format
msgid ""
"\n"
"String dump of section '%s':\n"
msgstr ""
-#: readelf.c:9862
+#: readelf.c:9789
#, c-format
msgid ""
" Note: This section has relocations against it, but these have NOT been "
"applied to this dump.\n"
msgstr ""
-#: readelf.c:9893
+#: readelf.c:9820
#, c-format
msgid " No strings found in this section."
msgstr ""
-#: readelf.c:9915
+#: readelf.c:9842
#, c-format
msgid ""
"\n"
"Hex dump of section '%s':\n"
msgstr ""
-#: readelf.c:9939
+#: readelf.c:9866
#, c-format
msgid ""
" NOTE: This section has relocations against it, but these have NOT been "
"applied to this dump.\n"
msgstr ""
-#: readelf.c:10073
+#: readelf.c:10000
#, c-format
msgid "%s section data"
msgstr ""
-#: readelf.c:10138
+#: readelf.c:10065
#, c-format
msgid ""
"\n"
#. which has the NOBITS type - the bits in the file will be random.
#. This can happen when a file containing a .eh_frame section is
#. stripped with the --only-keep-debug command line option.
-#: readelf.c:10147
+#: readelf.c:10074
#, c-format
msgid "section '%s' has the NOBITS type - its contents are unreliable.\n"
msgstr ""
-#: readelf.c:10183
+#: readelf.c:10110
#, c-format
msgid "Unrecognized debug section: %s\n"
msgstr ""
-#: readelf.c:10211
+#: readelf.c:10138
#, c-format
msgid "Section '%s' was not dumped because it does not exist!\n"
msgstr ""
-#: readelf.c:10252
+#: readelf.c:10179
#, c-format
msgid "Section %d was not dumped because it does not exist!\n"
msgstr ""
-#: readelf.c:10430 readelf.c:10444 readelf.c:10463 readelf.c:10781
+#: readelf.c:10357 readelf.c:10371 readelf.c:10390 readelf.c:10708
#, c-format
msgid "None\n"
msgstr ""
-#: readelf.c:10431
+#: readelf.c:10358
#, c-format
msgid "Application\n"
msgstr ""
-#: readelf.c:10432
+#: readelf.c:10359
#, c-format
msgid "Realtime\n"
msgstr ""
-#: readelf.c:10433
+#: readelf.c:10360
#, c-format
msgid "Microcontroller\n"
msgstr ""
-#: readelf.c:10434
+#: readelf.c:10361
#, c-format
msgid "Application or Realtime\n"
msgstr ""
-#: readelf.c:10445 readelf.c:10465 readelf.c:10835 readelf.c:10853
-#: readelf.c:10928 readelf.c:10949
+#: readelf.c:10372 readelf.c:10392 readelf.c:10762 readelf.c:10780
+#: readelf.c:10855 readelf.c:10876
#, c-format
msgid "8-byte\n"
msgstr ""
-#: readelf.c:10446 readelf.c:10931 readelf.c:10952
+#: readelf.c:10373 readelf.c:10858 readelf.c:10879
#, c-format
msgid "4-byte\n"
msgstr ""
-#: readelf.c:10450 readelf.c:10469
+#: readelf.c:10377 readelf.c:10396
#, c-format
msgid "8-byte and up to %d-byte extended\n"
msgstr ""
-#: readelf.c:10464
+#: readelf.c:10391
#, c-format
msgid "8-byte, except leaf SP\n"
msgstr ""
-#: readelf.c:10480 readelf.c:10570 readelf.c:10967
+#: readelf.c:10407 readelf.c:10497 readelf.c:10894
#, c-format
msgid "flag = %d, vendor = %s\n"
msgstr ""
-#: readelf.c:10486
+#: readelf.c:10413
#, c-format
msgid "True\n"
msgstr ""
-#: readelf.c:10615 readelf.c:10719
+#: readelf.c:10542 readelf.c:10646
#, c-format
msgid "Hard or soft float\n"
msgstr ""
-#: readelf.c:10618
+#: readelf.c:10545
#, c-format
msgid "Hard float\n"
msgstr ""
-#: readelf.c:10621 readelf.c:10728
+#: readelf.c:10548 readelf.c:10655
#, c-format
msgid "Soft float\n"
msgstr ""
-#: readelf.c:10624
+#: readelf.c:10551
#, c-format
msgid "Single-precision hard float\n"
msgstr ""
-#: readelf.c:10641 readelf.c:10667
+#: readelf.c:10568 readelf.c:10594
#, c-format
msgid "Any\n"
msgstr ""
-#: readelf.c:10644
+#: readelf.c:10571
#, c-format
msgid "Generic\n"
msgstr ""
-#: readelf.c:10673
+#: readelf.c:10600
#, c-format
msgid "Memory\n"
msgstr ""
-#: readelf.c:10722
+#: readelf.c:10649
#, c-format
msgid "Hard float (double precision)\n"
msgstr ""
-#: readelf.c:10725
+#: readelf.c:10652
#, c-format
msgid "Hard float (single precision)\n"
msgstr ""
-#: readelf.c:10731
+#: readelf.c:10658
#, c-format
msgid "Hard float (MIPS32r2 64-bit FPU)\n"
msgstr ""
-#: readelf.c:10814
+#: readelf.c:10741
#, c-format
msgid "Not used\n"
msgstr ""
-#: readelf.c:10817
+#: readelf.c:10744
#, c-format
msgid "2 bytes\n"
msgstr ""
-#: readelf.c:10820
+#: readelf.c:10747
#, c-format
msgid "4 bytes\n"
msgstr ""
-#: readelf.c:10838 readelf.c:10856 readelf.c:10934 readelf.c:10955
+#: readelf.c:10765 readelf.c:10783 readelf.c:10861 readelf.c:10882
#, c-format
msgid "16-byte\n"
msgstr ""
-#: readelf.c:10871
+#: readelf.c:10798
#, c-format
msgid "DSBT addressing not used\n"
msgstr ""
-#: readelf.c:10874
+#: readelf.c:10801
#, c-format
msgid "DSBT addressing used\n"
msgstr ""
-#: readelf.c:10889
+#: readelf.c:10816
#, c-format
msgid "Data addressing position-dependent\n"
msgstr ""
-#: readelf.c:10892
+#: readelf.c:10819
#, c-format
msgid "Data addressing position-independent, GOT near DP\n"
msgstr ""
-#: readelf.c:10895
+#: readelf.c:10822
#, c-format
msgid "Data addressing position-independent, GOT far from DP\n"
msgstr ""
-#: readelf.c:10910
+#: readelf.c:10837
#, c-format
msgid "Code addressing position-dependent\n"
msgstr ""
-#: readelf.c:10913
+#: readelf.c:10840
#, c-format
msgid "Code addressing position-independent\n"
msgstr ""
-#: readelf.c:11019
+#: readelf.c:10946
msgid "attributes"
msgstr ""
-#: readelf.c:11040
+#: readelf.c:10967
#, c-format
msgid "ERROR: Bad section length (%d > %d)\n"
msgstr ""
-#: readelf.c:11046
+#: readelf.c:10973
#, c-format
msgid "Attribute Section: %s\n"
msgstr ""
-#: readelf.c:11071
+#: readelf.c:10998
#, c-format
msgid "ERROR: Bad subsection length (%d > %d)\n"
msgstr ""
-#: readelf.c:11083
+#: readelf.c:11010
#, c-format
msgid "File Attributes\n"
msgstr ""
-#: readelf.c:11086
+#: readelf.c:11013
#, c-format
msgid "Section Attributes:"
msgstr ""
-#: readelf.c:11089
+#: readelf.c:11016
#, c-format
msgid "Symbol Attributes:"
msgstr ""
-#: readelf.c:11104
+#: readelf.c:11031
#, c-format
msgid "Unknown tag: %d\n"
msgstr ""
#. ??? Do something sensible, like dump hex.
-#: readelf.c:11123
+#: readelf.c:11050
#, c-format
msgid " Unknown section contexts\n"
msgstr ""
-#: readelf.c:11130
+#: readelf.c:11057
#, c-format
msgid "Unknown format '%c'\n"
msgstr ""
-#: readelf.c:11174 readelf.c:11196
+#: readelf.c:11101 readelf.c:11123
msgid "<unknown>"
msgstr ""
-#: readelf.c:11291 readelf.c:11813
+#: readelf.c:11218 readelf.c:11740
msgid "liblist"
msgstr ""
-#: readelf.c:11294
+#: readelf.c:11221
#, c-format
msgid ""
"\n"
"Section '.liblist' contains %lu entries:\n"
msgstr ""
-#: readelf.c:11296
+#: readelf.c:11223
msgid ""
" Library Time Stamp Checksum Version Flags\n"
msgstr ""
-#: readelf.c:11322
+#: readelf.c:11249
#, c-format
msgid "<corrupt: %9ld>"
msgstr ""
-#: readelf.c:11327
+#: readelf.c:11254
msgid " NONE"
msgstr ""
-#: readelf.c:11378
+#: readelf.c:11305
msgid "options"
msgstr ""
-#: readelf.c:11409
+#: readelf.c:11336
#, c-format
msgid ""
"\n"
"Section '%s' contains %d entries:\n"
msgstr ""
-#: readelf.c:11570
+#: readelf.c:11497
msgid "conflict list found without a dynamic symbol table\n"
msgstr ""
-#: readelf.c:11587 readelf.c:11602
+#: readelf.c:11514 readelf.c:11529
msgid "conflict"
msgstr ""
-#: readelf.c:11612
+#: readelf.c:11539
#, c-format
msgid ""
"\n"
"Section '.conflict' contains %lu entries:\n"
msgstr ""
-#: readelf.c:11614
+#: readelf.c:11541
msgid " Num: Index Value Name"
msgstr ""
-#: readelf.c:11626 readelf.c:11706 readelf.c:11774
+#: readelf.c:11553 readelf.c:11633 readelf.c:11701
#, c-format
msgid "<corrupt: %14ld>"
msgstr ""
-#: readelf.c:11647
+#: readelf.c:11574
msgid "GOT"
msgstr ""
-#: readelf.c:11648
+#: readelf.c:11575
#, c-format
msgid ""
"\n"
"Primary GOT:\n"
msgstr ""
-#: readelf.c:11649
+#: readelf.c:11576
#, c-format
msgid " Canonical gp value: "
msgstr ""
-#: readelf.c:11653 readelf.c:11745
+#: readelf.c:11580 readelf.c:11672
#, c-format
msgid " Reserved entries:\n"
msgstr ""
-#: readelf.c:11654
+#: readelf.c:11581
#, c-format
msgid " %*s %10s %*s Purpose\n"
msgstr ""
-#: readelf.c:11655 readelf.c:11672 readelf.c:11688 readelf.c:11747
-#: readelf.c:11756
+#: readelf.c:11582 readelf.c:11599 readelf.c:11615 readelf.c:11674
+#: readelf.c:11683
msgid "Address"
msgstr ""
-#: readelf.c:11655 readelf.c:11672 readelf.c:11688
+#: readelf.c:11582 readelf.c:11599 readelf.c:11615
msgid "Access"
msgstr ""
-#: readelf.c:11656 readelf.c:11673 readelf.c:11689 readelf.c:11747
-#: readelf.c:11757
+#: readelf.c:11583 readelf.c:11600 readelf.c:11616 readelf.c:11674
+#: readelf.c:11684
msgid "Initial"
msgstr ""
-#: readelf.c:11658
+#: readelf.c:11585
#, c-format
msgid " Lazy resolver\n"
msgstr ""
-#: readelf.c:11664
+#: readelf.c:11591
#, c-format
msgid " Module pointer (GNU extension)\n"
msgstr ""
-#: readelf.c:11670
+#: readelf.c:11597
#, c-format
msgid " Local entries:\n"
msgstr ""
-#: readelf.c:11671
-#, c-format
-msgid " %*s %10s %*s\n"
-msgstr ""
-
-#: readelf.c:11686
+#: readelf.c:11613
#, c-format
msgid " Global entries:\n"
msgstr ""
-#: readelf.c:11687
-#, c-format
-msgid " %*s %10s %*s %*s %-7s %3s %s\n"
-msgstr ""
-
-#: readelf.c:11690 readelf.c:11758
+#: readelf.c:11617 readelf.c:11685
msgid "Sym.Val."
msgstr ""
-#: readelf.c:11690 readelf.c:11758
+#: readelf.c:11617 readelf.c:11685
msgid "Type"
msgstr ""
-#: readelf.c:11690 readelf.c:11758
+#: readelf.c:11617 readelf.c:11685
msgid "Ndx"
msgstr ""
-#: readelf.c:11690 readelf.c:11758
+#: readelf.c:11617 readelf.c:11685
msgid "Name"
msgstr ""
-#: readelf.c:11743
+#: readelf.c:11670
msgid "PLT GOT"
msgstr ""
-#: readelf.c:11744
+#: readelf.c:11671
#, c-format
msgid ""
"\n"
"\n"
msgstr ""
-#: readelf.c:11746
+#: readelf.c:11673
#, c-format
msgid " %*s %*s Purpose\n"
msgstr ""
-#: readelf.c:11749
+#: readelf.c:11676
#, c-format
msgid " PLT lazy resolver\n"
msgstr ""
-#: readelf.c:11751
+#: readelf.c:11678
#, c-format
msgid " Module pointer\n"
msgstr ""
-#: readelf.c:11754
+#: readelf.c:11681
#, c-format
msgid " Entries:\n"
msgstr ""
-#: readelf.c:11755
-#, c-format
-msgid " %*s %*s %*s %-7s %3s %s\n"
-msgstr ""
-
-#: readelf.c:11821
+#: readelf.c:11748
msgid "liblist string table"
msgstr ""
-#: readelf.c:11831
+#: readelf.c:11758
#, c-format
msgid ""
"\n"
"Library list section '%s' contains %lu entries:\n"
msgstr ""
-#: readelf.c:11835
+#: readelf.c:11762
msgid " Library Time Stamp Checksum Version Flags"
msgstr ""
-#: readelf.c:11884
+#: readelf.c:11811
msgid "NT_AUXV (auxiliary vector)"
msgstr ""
-#: readelf.c:11886
+#: readelf.c:11813
msgid "NT_PRSTATUS (prstatus structure)"
msgstr ""
-#: readelf.c:11888
+#: readelf.c:11815
msgid "NT_FPREGSET (floating point registers)"
msgstr ""
-#: readelf.c:11890
+#: readelf.c:11817
msgid "NT_PRPSINFO (prpsinfo structure)"
msgstr ""
-#: readelf.c:11892
+#: readelf.c:11819
msgid "NT_TASKSTRUCT (task structure)"
msgstr ""
-#: readelf.c:11894
+#: readelf.c:11821
msgid "NT_PRXFPREG (user_xfpregs structure)"
msgstr ""
-#: readelf.c:11896
+#: readelf.c:11823
msgid "NT_PPC_VMX (ppc Altivec registers)"
msgstr ""
-#: readelf.c:11898
+#: readelf.c:11825
msgid "NT_PPC_VSX (ppc VSX registers)"
msgstr ""
-#: readelf.c:11900
+#: readelf.c:11827
msgid "NT_X86_XSTATE (x86 XSAVE extended state)"
msgstr ""
-#: readelf.c:11902
+#: readelf.c:11829
msgid "NT_S390_HIGH_GPRS (s390 upper register halves)"
msgstr ""
-#: readelf.c:11904
+#: readelf.c:11831
msgid "NT_S390_TIMER (s390 timer register)"
msgstr ""
-#: readelf.c:11906
+#: readelf.c:11833
msgid "NT_S390_TODCMP (s390 TOD comparator register)"
msgstr ""
-#: readelf.c:11908
+#: readelf.c:11835
msgid "NT_S390_TODPREG (s390 TOD programmable register)"
msgstr ""
-#: readelf.c:11910
+#: readelf.c:11837
msgid "NT_S390_CTRS (s390 control registers)"
msgstr ""
-#: readelf.c:11912
+#: readelf.c:11839
msgid "NT_S390_PREFIX (s390 prefix register)"
msgstr ""
-#: readelf.c:11914
+#: readelf.c:11841
msgid "NT_PSTATUS (pstatus structure)"
msgstr ""
-#: readelf.c:11916
+#: readelf.c:11843
msgid "NT_FPREGS (floating point registers)"
msgstr ""
-#: readelf.c:11918
+#: readelf.c:11845
msgid "NT_PSINFO (psinfo structure)"
msgstr ""
-#: readelf.c:11920
+#: readelf.c:11847
msgid "NT_LWPSTATUS (lwpstatus_t structure)"
msgstr ""
-#: readelf.c:11922
+#: readelf.c:11849
msgid "NT_LWPSINFO (lwpsinfo_t structure)"
msgstr ""
-#: readelf.c:11924
+#: readelf.c:11851
msgid "NT_WIN32PSTATUS (win32_pstatus structure)"
msgstr ""
-#: readelf.c:11932
+#: readelf.c:11859
msgid "NT_VERSION (version)"
msgstr ""
-#: readelf.c:11934
+#: readelf.c:11861
msgid "NT_ARCH (architecture)"
msgstr ""
-#: readelf.c:11939 readelf.c:11962 readelf.c:11984
+#: readelf.c:11866 readelf.c:11889 readelf.c:11911
#, c-format
msgid "Unknown note type: (0x%08x)"
msgstr ""
-#: readelf.c:11951
+#: readelf.c:11878
msgid "NT_GNU_ABI_TAG (ABI version tag)"
msgstr ""
-#: readelf.c:11953
+#: readelf.c:11880
msgid "NT_GNU_HWCAP (DSO-supplied software HWCAP info)"
msgstr ""
-#: readelf.c:11955
+#: readelf.c:11882
msgid "NT_GNU_BUILD_ID (unique build ID bitstring)"
msgstr ""
-#: readelf.c:11957
+#: readelf.c:11884
msgid "NT_GNU_GOLD_VERSION (gold version)"
msgstr ""
#. NetBSD core "procinfo" structure.
-#: readelf.c:11974
+#: readelf.c:11901
msgid "NetBSD procinfo structure"
msgstr ""
-#: readelf.c:12001 readelf.c:12015
+#: readelf.c:11928 readelf.c:11942
msgid "PT_GETREGS (reg structure)"
msgstr ""
-#: readelf.c:12003 readelf.c:12017
+#: readelf.c:11930 readelf.c:11944
msgid "PT_GETFPREGS (fpreg structure)"
msgstr ""
-#: readelf.c:12023
+#: readelf.c:11950
#, c-format
msgid "PT_FIRSTMACH+%d"
msgstr ""
-#: readelf.c:12080
+#: readelf.c:12007
msgid "notes"
msgstr ""
-#: readelf.c:12086
+#: readelf.c:12013
#, c-format
msgid ""
"\n"
"Notes at offset 0x%08lx with length 0x%08lx:\n"
msgstr ""
-#: readelf.c:12088
+#: readelf.c:12015
#, c-format
msgid " Owner\t\tData size\tDescription\n"
msgstr ""
-#: readelf.c:12108 readelf.c:12121
+#: readelf.c:12035 readelf.c:12048
#, c-format
msgid "corrupt note found at offset %lx into core notes\n"
msgstr ""
-#: readelf.c:12110 readelf.c:12123
+#: readelf.c:12037 readelf.c:12050
#, c-format
msgid " type: %lx, namesize: %08lx, descsize: %08lx\n"
msgstr ""
-#: readelf.c:12219
+#: readelf.c:12146
#, c-format
msgid "No note segments present in the core file.\n"
msgstr ""
-#: readelf.c:12306
+#: readelf.c:12233
msgid ""
"This instance of readelf has been built without support for a\n"
"64 bit data type and so it cannot read 64 bit ELF files.\n"
msgstr ""
-#: readelf.c:12353
+#: readelf.c:12280
#, c-format
msgid "%s: Failed to read file header\n"
msgstr ""
-#: readelf.c:12366
+#: readelf.c:12293
#, c-format
msgid ""
"\n"
"File: %s\n"
msgstr ""
-#: readelf.c:12615
-#, c-format
-msgid "%s: the archive index is empty\n"
-msgstr ""
-
-#: readelf.c:12623 readelf.c:12647
-#, c-format
-msgid "%s: failed to read archive index\n"
-msgstr ""
-
-#: readelf.c:12632
-#, c-format
-msgid ""
-"%s: the archive index is supposed to have %ld entries, but the size in the "
-"header is too small\n"
-msgstr ""
-
-#: readelf.c:12640
-msgid "Out of memory whilst trying to read archive symbol index\n"
-msgstr ""
-
-#: readelf.c:12658
-msgid "Out of memory whilst trying to convert the archive symbol index\n"
-msgstr ""
-
-#: readelf.c:12670
-#, c-format
-msgid "%s: the archive has an index but no symbols\n"
-msgstr ""
-
-#: readelf.c:12677
-msgid "Out of memory whilst trying to read archive index symbol table\n"
-msgstr ""
-
-#: readelf.c:12683
-#, c-format
-msgid "%s: failed to read archive index symbol table\n"
-msgstr ""
-
-#: readelf.c:12707
-#, c-format
-msgid "%s has no archive index\n"
-msgstr ""
-
-#: readelf.c:12943
+#: readelf.c:12465
#, c-format
msgid "%s: unable to dump the index as none was found\n"
msgstr ""
-#: readelf.c:12949
+#: readelf.c:12471
#, c-format
msgid "Index of archive %s: (%ld entries, 0x%lx bytes in the symbol table)\n"
msgstr ""
-#: readelf.c:12967
+#: readelf.c:12489
#, c-format
msgid "Binary %s contains:\n"
msgstr ""
-#: readelf.c:12975
+#: readelf.c:12497
#, c-format
msgid "%s: end of the symbol table reached before the end of the index\n"
msgstr ""
-#: readelf.c:12986
+#: readelf.c:12508
#, c-format
msgid ""
"%s: symbols remain in the index symbol table, but without corresponding "
"entries in the index table\n"
msgstr ""
-#: readelf.c:12991
+#: readelf.c:12513
#, c-format
msgid "%s: failed to seek back to start of object files in the archive\n"
msgstr ""
-#: readelf.c:13074 readelf.c:13150
+#: readelf.c:12596 readelf.c:12679
#, c-format
msgid "Input file '%s' is not readable.\n"
msgstr ""
-#: readelf.c:13096
+#: readelf.c:12618
#, c-format
msgid "%s: failed to seek to archive member.\n"
msgstr ""
-#: readelf.c:13168
+#: readelf.c:12697
#, c-format
msgid "File %s is not an archive so its index cannot be displayed.\n"
msgstr ""
msgid "can't redirect stdout: `%s': %s"
msgstr ""
-#: resrc.c:284
-#, c-format
-msgid "%s %s: %s"
-msgstr ""
-
#: resrc.c:329
#, c-format
msgid "can't execute `%s': %s"
msgid "preprocessing failed."
msgstr ""
-#: resrc.c:631
-#, c-format
-msgid "%s:%d: %s\n"
-msgstr ""
-
#: resrc.c:639
#, c-format
msgid "%s: unexpected EOF"
#: version.c:36
#, c-format
-msgid "Copyright 2010 Free Software Foundation, Inc.\n"
+msgid "Copyright 2011 Free Software Foundation, Inc.\n"
msgstr ""
#: version.c:37
/* readelf.c -- display contents of an ELF format file
Copyright 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
- 2008, 2009, 2010
+ 2008, 2009, 2010, 2011
Free Software Foundation, Inc.
Originally developed by Eric Youngdale <eric@andante.jic.com>
#include "bfd.h"
#include "bucomm.h"
+#include "elfcomm.h"
#include "dwarf.h"
#include "elf/common.h"
#include "elf/xstormy16.h"
#include "elf/xtensa.h"
-#include "aout/ar.h"
-
#include "getopt.h"
#include "libiberty.h"
#include "safe-ctype.h"
}
print_mode;
-static void (* byte_put) (unsigned char *, bfd_vma, int);
-
#define UNKNOWN -1
#define SECTION_NAME(X) \
#define DT_VERSIONTAGIDX(tag) (DT_VERNEEDNUM - (tag)) /* Reverse order! */
-#define BYTE_GET(field) byte_get (field, sizeof (field))
-#define BYTE_GET_SIGNED(field) byte_get_signed (field, sizeof (field))
-
#define GET_ELF_SYMBOLS(file, section) \
(is_32bit_elf ? get_32bit_elf_symbols (file, section) \
: get_64bit_elf_symbols (file, section))
already been called and verified that the string exists. */
#define GET_DYNAMIC_NAME(offset) (dynamic_strings + offset)
-/* This is just a bit of syntatic sugar. */
-#define streq(a,b) (strcmp ((a), (b)) == 0)
-#define strneq(a,b,n) (strncmp ((a), (b), (n)) == 0)
-#define const_strneq(a,b) (strncmp ((a), (b), sizeof (b) - 1) == 0)
-
#define REMOVE_ARCH_BITS(ADDR) do { \
if (elf_header.e_machine == EM_ARM) \
(ADDR) &= ~1; \
return mvar;
}
-static void
-byte_put_little_endian (unsigned char * field, bfd_vma value, int size)
-{
- switch (size)
- {
- case 8:
- field[7] = (((value >> 24) >> 24) >> 8) & 0xff;
- field[6] = ((value >> 24) >> 24) & 0xff;
- field[5] = ((value >> 24) >> 16) & 0xff;
- field[4] = ((value >> 24) >> 8) & 0xff;
- /* Fall through. */
- case 4:
- field[3] = (value >> 24) & 0xff;
- /* Fall through. */
- case 3:
- field[2] = (value >> 16) & 0xff;
- /* Fall through. */
- case 2:
- field[1] = (value >> 8) & 0xff;
- /* Fall through. */
- case 1:
- field[0] = value & 0xff;
- break;
-
- default:
- error (_("Unhandled data length: %d\n"), size);
- abort ();
- }
-}
-
/* Print a VMA value. */
static int
Returns the number of emitted characters. */
static unsigned int
-print_symbol (int width, const char * symbol)
+print_symbol (int width, const char *symbol)
{
- const char * c;
+ const char *c;
bfd_boolean extra_padding = FALSE;
unsigned int num_printed = 0;
if (do_wide)
{
- /* Set the width to a very large value. This simplifies the code below. */
+ /* Set the width to a very large value. This simplifies the
+ code below. */
width = INT_MAX;
}
else if (width < 0)
/* Look for non-printing symbols inside the symbol's name.
This test is triggered in particular by the names generated
by the assembler for local labels. */
- while (ISPRINT (* c))
+ while (ISPRINT (*c))
c++;
len = c - symbol;
num_printed += len;
}
- if (* c == 0 || width == 0)
+ if (*c == 0 || width == 0)
break;
/* Now display the non-printing character, if
there is room left in which to dipslay it. */
- if (*c < 32)
+ if ((unsigned char) *c < 32)
{
if (width < 2)
break;
if (width < 6)
break;
- printf ("<0x%.2x>", *c);
+ printf ("<0x%.2x>", (unsigned char) *c);
width -= 6;
num_printed += 6;
return num_printed;
}
-static void
-byte_put_big_endian (unsigned char * field, bfd_vma value, int size)
-{
- switch (size)
- {
- case 8:
- field[7] = value & 0xff;
- field[6] = (value >> 8) & 0xff;
- field[5] = (value >> 16) & 0xff;
- field[4] = (value >> 24) & 0xff;
- value >>= 16;
- value >>= 16;
- /* Fall through. */
- case 4:
- field[3] = value & 0xff;
- value >>= 8;
- /* Fall through. */
- case 3:
- field[2] = value & 0xff;
- value >>= 8;
- /* Fall through. */
- case 2:
- field[1] = value & 0xff;
- value >>= 8;
- /* Fall through. */
- case 1:
- field[0] = value & 0xff;
- break;
-
- default:
- error (_("Unhandled data length: %d\n"), size);
- abort ();
- }
-}
-
/* Return a pointer to section NAME, or NULL if no such section exists. */
static Elf_Internal_Shdr *
-w[lLiaprmfFsoRt] or\n\
--debug-dump[=rawline,=decodedline,=info,=abbrev,=pubnames,=aranges,=macro,=frames,\n\
=frames-interp,=str,=loc,=Ranges,=pubtypes,\n\
- =trace_info,=trace_abbrev,=trace_aranges]\n\
+ =gdb_index,=trace_info,=trace_abbrev,=trace_aranges]\n\
Display the contents of DWARF2 debug sections\n"));
#ifdef SUPPORT_DISASSEMBLY
fprintf (stream, _("\
if (section_headers != NULL
&& elf_header.e_phnum == PN_XNUM
&& section_headers[0].sh_info != 0)
- printf (_(" (%ld)"), (long) section_headers[0].sh_info);
+ printf (" (%ld)", (long) section_headers[0].sh_info);
putc ('\n', stdout);
printf (_(" Size of section headers: %ld (bytes)\n"),
(long) elf_header.e_shentsize);
request_dump_bynumber (i, DEBUG_DUMP);
else if (do_debug_frames && streq (name, ".eh_frame"))
request_dump_bynumber (i, DEBUG_DUMP);
+ else if (do_gdb_index && streq (name, ".gdb_index"))
+ request_dump_bynumber (i, DEBUG_DUMP);
/* Trace sections for Itanium VMS. */
else if ((do_debugging || do_trace_info || do_trace_abbrevs
|| do_trace_aranges)
printf (_("[Truncated opcode]\n")); \
return; \
} \
- printf (_("0x%02x "), OP)
+ printf ("0x%02x ", OP)
if (remaining == 0)
{
op = word >> 24;
word <<= 8;
- printf (_(" 0x%02x "), op);
+ printf (" 0x%02x ", op);
if ((op & 0xc0) == 0x00)
{
int offset = ((op & 0x3f) << 2) + 4;
- printf (_(" vsp = vsp + %d"), offset);
+ printf (" vsp = vsp + %d", offset);
}
else if ((op & 0xc0) == 0x40)
{
int offset = ((op & 0x3f) << 2) + 4;
- printf (_(" vsp = vsp - %d"), offset);
+ printf (" vsp = vsp - %d", offset);
}
else if ((op & 0xf0) == 0x80)
{
if (op == 0x9d || op == 0x9f)
printf (_(" [Reserved]"));
else
- printf (_(" vsp = r%d"), op & 0x0f);
+ printf (" vsp = r%d", op & 0x0f);
}
else if ((op & 0xf0) == 0xa0)
{
offset = read_uleb128 (buf, &len);
assert (len == i + 1);
offset = offset * 4 + 0x204;
- printf (_("vsp = vsp + %ld"), offset);
+ printf ("vsp = vsp + %ld", offset);
}
else
{
if (ent < local_end)
{
printf (_(" Local entries:\n"));
- printf (_(" %*s %10s %*s\n"),
+ printf (" %*s %10s %*s\n",
addr_size * 2, _("Address"), _("Access"),
addr_size * 2, _("Initial"));
while (ent < local_end)
int sym_width;
printf (_(" Global entries:\n"));
- printf (_(" %*s %10s %*s %*s %-7s %3s %s\n"),
+ printf (" %*s %10s %*s %*s %-7s %3s %s\n",
addr_size * 2, _("Address"), _("Access"),
addr_size * 2, _("Initial"),
addr_size * 2, _("Sym.Val."), _("Type"), _("Ndx"), _("Name"));
printf ("\n");
printf (_(" Entries:\n"));
- printf (_(" %*s %*s %*s %-7s %3s %s\n"),
+ printf (" %*s %*s %*s %-7s %3s %s\n",
addr_size * 2, _("Address"),
addr_size * 2, _("Initial"),
addr_size * 2, _("Sym.Val."), _("Type"), _("Ndx"), _("Name"));
dynamic_syminfo = NULL;
}
+ if (dynamic_section)
+ {
+ free (dynamic_section);
+ dynamic_section = NULL;
+ }
+
if (section_headers_groups)
{
free (section_headers_groups);
return 0;
}
-/* Return the path name for a proxy entry in a thin archive, adjusted relative
- to the path name of the thin archive itself if necessary. Always returns
- a pointer to malloc'ed memory. */
-
-static char *
-adjust_relative_path (char * file_name, char * name, int name_len)
-{
- char * member_file_name;
- const char * base_name = lbasename (file_name);
-
- /* This is a proxy entry for a thin archive member.
- If the extended name table contains an absolute path
- name, or if the archive is in the current directory,
- use the path name as given. Otherwise, we need to
- find the member relative to the directory where the
- archive is located. */
- if (IS_ABSOLUTE_PATH (name) || base_name == file_name)
- {
- member_file_name = (char *) malloc (name_len + 1);
- if (member_file_name == NULL)
- {
- error (_("Out of memory\n"));
- return NULL;
- }
- memcpy (member_file_name, name, name_len);
- member_file_name[name_len] = '\0';
- }
- else
- {
- /* Concatenate the path components of the archive file name
- to the relative path name from the extended name table. */
- size_t prefix_len = base_name - file_name;
- member_file_name = (char *) malloc (prefix_len + name_len + 1);
- if (member_file_name == NULL)
- {
- error (_("Out of memory\n"));
- return NULL;
- }
- memcpy (member_file_name, file_name, prefix_len);
- memcpy (member_file_name + prefix_len, name, name_len);
- member_file_name[prefix_len + name_len] = '\0';
- }
- return member_file_name;
-}
-
-/* Structure to hold information about an archive file. */
-
-struct archive_info
-{
- char * file_name; /* Archive file name. */
- FILE * file; /* Open file descriptor. */
- unsigned long index_num; /* Number of symbols in table. */
- unsigned long * index_array; /* The array of member offsets. */
- char * sym_table; /* The symbol table. */
- unsigned long sym_size; /* Size of the symbol table. */
- char * longnames; /* The long file names table. */
- unsigned long longnames_size; /* Size of the long file names table. */
- unsigned long nested_member_origin; /* Origin in the nested archive of the current member. */
- unsigned long next_arhdr_offset; /* Offset of the next archive header. */
- bfd_boolean is_thin_archive; /* TRUE if this is a thin archive. */
- struct ar_hdr arhdr; /* Current archive header. */
-};
-
-/* Read the symbol table and long-name table from an archive. */
-
-static int
-setup_archive (struct archive_info * arch, char * file_name, FILE * file,
- bfd_boolean is_thin_archive, bfd_boolean read_symbols)
-{
- size_t got;
- unsigned long size;
-
- arch->file_name = strdup (file_name);
- arch->file = file;
- arch->index_num = 0;
- arch->index_array = NULL;
- arch->sym_table = NULL;
- arch->sym_size = 0;
- arch->longnames = NULL;
- arch->longnames_size = 0;
- arch->nested_member_origin = 0;
- arch->is_thin_archive = is_thin_archive;
- arch->next_arhdr_offset = SARMAG;
-
- /* Read the first archive member header. */
- if (fseek (file, SARMAG, SEEK_SET) != 0)
- {
- error (_("%s: failed to seek to first archive header\n"), file_name);
- return 1;
- }
- got = fread (&arch->arhdr, 1, sizeof arch->arhdr, file);
- if (got != sizeof arch->arhdr)
- {
- if (got == 0)
- return 0;
-
- error (_("%s: failed to read archive header\n"), file_name);
- return 1;
- }
-
- /* See if this is the archive symbol table. */
- if (const_strneq (arch->arhdr.ar_name, "/ ")
- || const_strneq (arch->arhdr.ar_name, "/SYM64/ "))
- {
- size = strtoul (arch->arhdr.ar_size, NULL, 10);
- size = size + (size & 1);
-
- arch->next_arhdr_offset += sizeof arch->arhdr + size;
-
- if (read_symbols)
- {
- unsigned long i;
- /* A buffer used to hold numbers read in from an archive index.
- These are always 4 bytes long and stored in big-endian format. */
-#define SIZEOF_AR_INDEX_NUMBERS 4
- unsigned char integer_buffer[SIZEOF_AR_INDEX_NUMBERS];
- unsigned char * index_buffer;
-
- /* Check the size of the archive index. */
- if (size < SIZEOF_AR_INDEX_NUMBERS)
- {
- error (_("%s: the archive index is empty\n"), file_name);
- return 1;
- }
-
- /* Read the numer of entries in the archive index. */
- got = fread (integer_buffer, 1, sizeof integer_buffer, file);
- if (got != sizeof (integer_buffer))
- {
- error (_("%s: failed to read archive index\n"), file_name);
- return 1;
- }
- arch->index_num = byte_get_big_endian (integer_buffer, sizeof integer_buffer);
- size -= SIZEOF_AR_INDEX_NUMBERS;
-
- /* Read in the archive index. */
- if (size < arch->index_num * SIZEOF_AR_INDEX_NUMBERS)
- {
- error (_("%s: the archive index is supposed to have %ld entries, but the size in the header is too small\n"),
- file_name, arch->index_num);
- return 1;
- }
- index_buffer = (unsigned char *)
- malloc (arch->index_num * SIZEOF_AR_INDEX_NUMBERS);
- if (index_buffer == NULL)
- {
- error (_("Out of memory whilst trying to read archive symbol index\n"));
- return 1;
- }
- got = fread (index_buffer, SIZEOF_AR_INDEX_NUMBERS, arch->index_num, file);
- if (got != arch->index_num)
- {
- free (index_buffer);
- error (_("%s: failed to read archive index\n"), file_name);
- return 1;
- }
- size -= arch->index_num * SIZEOF_AR_INDEX_NUMBERS;
-
- /* Convert the index numbers into the host's numeric format. */
- arch->index_array = (long unsigned int *)
- malloc (arch->index_num * sizeof (* arch->index_array));
- if (arch->index_array == NULL)
- {
- free (index_buffer);
- error (_("Out of memory whilst trying to convert the archive symbol index\n"));
- return 1;
- }
-
- for (i = 0; i < arch->index_num; i++)
- arch->index_array[i] = byte_get_big_endian ((unsigned char *) (index_buffer + (i * SIZEOF_AR_INDEX_NUMBERS)),
- SIZEOF_AR_INDEX_NUMBERS);
- free (index_buffer);
-
- /* The remaining space in the header is taken up by the symbol table. */
- if (size < 1)
- {
- error (_("%s: the archive has an index but no symbols\n"), file_name);
- return 1;
- }
- arch->sym_table = (char *) malloc (size);
- arch->sym_size = size;
- if (arch->sym_table == NULL)
- {
- error (_("Out of memory whilst trying to read archive index symbol table\n"));
- return 1;
- }
- got = fread (arch->sym_table, 1, size, file);
- if (got != size)
- {
- error (_("%s: failed to read archive index symbol table\n"), file_name);
- return 1;
- }
- }
- else
- {
- if (fseek (file, size, SEEK_CUR) != 0)
- {
- error (_("%s: failed to skip archive symbol table\n"), file_name);
- return 1;
- }
- }
-
- /* Read the next archive header. */
- got = fread (&arch->arhdr, 1, sizeof arch->arhdr, file);
- if (got != sizeof arch->arhdr)
- {
- if (got == 0)
- return 0;
- error (_("%s: failed to read archive header following archive index\n"), file_name);
- return 1;
- }
- }
- else if (read_symbols)
- printf (_("%s has no archive index\n"), file_name);
-
- if (const_strneq (arch->arhdr.ar_name, "// "))
- {
- /* This is the archive string table holding long member names. */
- arch->longnames_size = strtoul (arch->arhdr.ar_size, NULL, 10);
- arch->next_arhdr_offset += sizeof arch->arhdr + arch->longnames_size;
-
- arch->longnames = (char *) malloc (arch->longnames_size);
- if (arch->longnames == NULL)
- {
- error (_("Out of memory reading long symbol names in archive\n"));
- return 1;
- }
-
- if (fread (arch->longnames, arch->longnames_size, 1, file) != 1)
- {
- free (arch->longnames);
- arch->longnames = NULL;
- error (_("%s: failed to read long symbol name string table\n"), file_name);
- return 1;
- }
-
- if ((arch->longnames_size & 1) != 0)
- getc (file);
- }
-
- return 0;
-}
-
-/* Release the memory used for the archive information. */
-
-static void
-release_archive (struct archive_info * arch)
-{
- if (arch->file_name != NULL)
- free (arch->file_name);
- if (arch->index_array != NULL)
- free (arch->index_array);
- if (arch->sym_table != NULL)
- free (arch->sym_table);
- if (arch->longnames != NULL)
- free (arch->longnames);
-}
-
-/* Open and setup a nested archive, if not already open. */
-
-static int
-setup_nested_archive (struct archive_info * nested_arch, char * member_file_name)
-{
- FILE * member_file;
-
- /* Have we already setup this archive? */
- if (nested_arch->file_name != NULL
- && streq (nested_arch->file_name, member_file_name))
- return 0;
-
- /* Close previous file and discard cached information. */
- if (nested_arch->file != NULL)
- fclose (nested_arch->file);
- release_archive (nested_arch);
-
- member_file = fopen (member_file_name, "rb");
- if (member_file == NULL)
- return 1;
- return setup_archive (nested_arch, member_file_name, member_file, FALSE, FALSE);
-}
-
-static char *
-get_archive_member_name_at (struct archive_info * arch,
- unsigned long offset,
- struct archive_info * nested_arch);
-
-/* Get the name of an archive member from the current archive header.
- For simple names, this will modify the ar_name field of the current
- archive header. For long names, it will return a pointer to the
- longnames table. For nested archives, it will open the nested archive
- and get the name recursively. NESTED_ARCH is a single-entry cache so
- we don't keep rereading the same information from a nested archive. */
-
-static char *
-get_archive_member_name (struct archive_info * arch,
- struct archive_info * nested_arch)
-{
- unsigned long j, k;
-
- if (arch->arhdr.ar_name[0] == '/')
- {
- /* We have a long name. */
- char * endp;
- char * member_file_name;
- char * member_name;
-
- arch->nested_member_origin = 0;
- k = j = strtoul (arch->arhdr.ar_name + 1, &endp, 10);
- if (arch->is_thin_archive && endp != NULL && * endp == ':')
- arch->nested_member_origin = strtoul (endp + 1, NULL, 10);
-
- while ((j < arch->longnames_size)
- && (arch->longnames[j] != '\n')
- && (arch->longnames[j] != '\0'))
- j++;
- if (arch->longnames[j-1] == '/')
- j--;
- arch->longnames[j] = '\0';
-
- if (!arch->is_thin_archive || arch->nested_member_origin == 0)
- return arch->longnames + k;
-
- /* This is a proxy for a member of a nested archive.
- Find the name of the member in that archive. */
- member_file_name = adjust_relative_path (arch->file_name, arch->longnames + k, j - k);
- if (member_file_name != NULL
- && setup_nested_archive (nested_arch, member_file_name) == 0
- && (member_name = get_archive_member_name_at (nested_arch, arch->nested_member_origin, NULL)) != NULL)
- {
- free (member_file_name);
- return member_name;
- }
- free (member_file_name);
-
- /* Last resort: just return the name of the nested archive. */
- return arch->longnames + k;
- }
-
- /* We have a normal (short) name. */
- j = 0;
- while ((arch->arhdr.ar_name[j] != '/')
- && (j < sizeof (arch->arhdr.ar_name) - 1))
- j++;
- arch->arhdr.ar_name[j] = '\0';
- return arch->arhdr.ar_name;
-}
-
-/* Get the name of an archive member at a given OFFSET within an archive ARCH. */
-
-static char *
-get_archive_member_name_at (struct archive_info * arch,
- unsigned long offset,
- struct archive_info * nested_arch)
-{
- size_t got;
-
- if (fseek (arch->file, offset, SEEK_SET) != 0)
- {
- error (_("%s: failed to seek to next file name\n"), arch->file_name);
- return NULL;
- }
- got = fread (&arch->arhdr, 1, sizeof arch->arhdr, arch->file);
- if (got != sizeof arch->arhdr)
- {
- error (_("%s: failed to read archive header\n"), arch->file_name);
- return NULL;
- }
- if (memcmp (arch->arhdr.ar_fmag, ARFMAG, 2) != 0)
- {
- error (_("%s: did not find a valid archive header\n"), arch->file_name);
- return NULL;
- }
-
- return get_archive_member_name (arch, nested_arch);
-}
-
-/* Construct a string showing the name of the archive member, qualified
- with the name of the containing archive file. For thin archives, we
- use square brackets to denote the indirection. For nested archives,
- we show the qualified name of the external member inside the square
- brackets (e.g., "thin.a[normal.a(foo.o)]"). */
-
-static char *
-make_qualified_name (struct archive_info * arch,
- struct archive_info * nested_arch,
- char * member_name)
-{
- size_t len;
- char * name;
-
- len = strlen (arch->file_name) + strlen (member_name) + 3;
- if (arch->is_thin_archive && arch->nested_member_origin != 0)
- len += strlen (nested_arch->file_name) + 2;
-
- name = (char *) malloc (len);
- if (name == NULL)
- {
- error (_("Out of memory\n"));
- return NULL;
- }
-
- if (arch->is_thin_archive && arch->nested_member_origin != 0)
- snprintf (name, len, "%s[%s(%s)]", arch->file_name, nested_arch->file_name, member_name);
- else if (arch->is_thin_archive)
- snprintf (name, len, "%s[%s]", arch->file_name, member_name);
- else
- snprintf (name, len, "%s(%s)", arch->file_name, member_name);
-
- return name;
-}
-
/* Process an ELF archive.
On entry the file is positioned just after the ARMAG string. */
ret |= process_object (qualified_name, file);
}
+ if (dump_sects != NULL)
+ {
+ free (dump_sects);
+ dump_sects = NULL;
+ num_dump_sects = 0;
+ }
+
free (qualified_name);
}
if (pid == -1)
{
- fatal (_("%s %s: %s"), errmsg_fmt, errmsg_arg, strerror (errno));
+ fatal ("%s %s: %s", errmsg_fmt, errmsg_arg, strerror (errno));
return 1;
}
void
rcparse_warning (const char *msg)
{
- fprintf (stderr, _("%s:%d: %s\n"), rc_filename, rc_lineno, msg);
+ fprintf (stderr, "%s:%d: %s\n", rc_filename, rc_lineno, msg);
}
/* Die if we get an unexpected end of file. */
+2011-02-01 Alan Modra <amodra@gmail.com>
+
+ Backport from mainline
+ 2010-11-08 Alan Modra <amodra@gmail.com>
+ * binutils-all/objdump.W: Adjust expected result for debug section
+ rename.
+
+2010-11-08 Alan Modra <amodra@gmail.com>
+
+ * binutils-all/objdump.W: Adjust expected result for debug section
+ rename.
+
2010-11-02 H.J. Lu <hongjiu.lu@intel.com>
* binutils-all/libdw2.out: Also accept MIPS_DWARF.
Extended opcode 1: End of Sequence
-Contents of the .zdebug_abbrev section:
+Contents of the .debug_abbrev section:
Number TAG
1 DW_TAG_compile_unit \[has children\]
/* This output is intended to follow the GNU standards document. */
/* xgettext:c-format */
printf ("GNU %s %s\n", name, BFD_VERSION_STRING);
- printf (_("Copyright 2010 Free Software Foundation, Inc.\n"));
+ printf (_("Copyright 2011 Free Software Foundation, Inc.\n"));
printf (_("\
This program is free software; you may redistribute it under the terms of\n\
the GNU General Public License version 3 or (at your option) any later version.\n\
+2011-02-01 Alan Modra <amodra@gmail.com>
+
+ Backport from mainline
+ 2011-01-01 H.J. Lu <hongjiu.lu@intel.com>
+ * gas.c (parse_args): Update copyright to 2011.
+
+ 2010-12-16 Maciej W. Rozycki <macro@codesourcery.com>
+ * symbols.c (symbol_clone_if_forward_ref): Call tc_new_dot_label
+ for new fake labels created off the dot special symbol.
+ * config/tc-mips.h (tc_new_dot_label): New macro.
+ (mips_record_label): New prototype.
+ * config/tc-mips.c (my_getExpression): Remove MIPS16 fake label
+ annotation.
+ (s_cons, s_float_cons, s_gpword, s_gpdword): Only clear labels
+ recorded once data expressions have been evaluated.
+ (mips_define_label): Move code to record labels over to...
+ (mips_record_label): ... this new function.
+ * doc/internals.texi: Document tc_new_dot_label.
+
+ 2010-12-04 Maciej W. Rozycki <macro@codesourcery.com>
+ PR gas/12282
+ * expr.c (expr_build_dot): Make a clone of the symbol to return if
+ needed.
+
+ 2010-12-02 Richard Sandiford <richard.sandiford@linaro.org>
+ * symbols.c (S_FORCE_RELOC): Return true for indirect functions
+ even if !strict.
+ * expr.c (operand): Don't convert absolute symbols to constants
+ if S_FORCE_RELOC is true.
+ (expr): Only reduce subtractions between different symbols if
+ S_FORCE_RELOC is false for both of them.
+ * write.c (fixup_segment): Don't remove symbols if S_FORCE_RELOC
+ is true for them, regardless of their segment.
+
+ 2010-12-01 Maciej W. Rozycki <macro@codesourcery.com>
+ * symbols.h (dot_symbol): New declaration.
+ (dot_symbol_init): New prototype.
+ * symbols.c (dot_symbol): New variable.
+ (symbol_clone): Assert it's not dot_symbol being cloned.
+ (dot_symbol_init): New function.
+ (symbol_clone_if_forward_ref): Create a new temporary symbol
+ when trying to clone dot_symbol.
+ * expr.c (current_location): Refer to dot_symbol instead of
+ making a new temporary symbol.
+ * read.c (read_a_source_file): Update dot_symbol as we go.
+ * as.c (main): Call dot_symbol_init.
+
+ 2010-12-01 Maciej W. Rozycki <macro@codesourcery.com>
+ * symbols.c (symbol_clone_if_forward_ref): Don't limit cloning
+ to expr_section symbols; clone all equated symbols. Clear
+ sy_resolving of the cloned copy.
+ * expr.c (operand): Only clone equated symbols on a final
+ (i.e. non-equated) reference.
+
2010-12-21 Alan Modra <amodra@gmail.com>
* po/ja.po: New translation.
case OPTION_VERSION:
/* This output is intended to follow the GNU standards document. */
printf (_("GNU assembler %s\n"), BFD_VERSION_STRING);
- printf (_("Copyright 2010 Free Software Foundation, Inc.\n"));
+ printf (_("Copyright 2011 Free Software Foundation, Inc.\n"));
printf (_("\
This program is free software; you may redistribute it under the terms of\n\
the GNU General Public License version 3 or later.\n\
output_file_create (out_file_name);
gas_assert (stdoutput != 0);
+ dot_symbol_init ();
+
#ifdef tc_init_after_args
tc_init_after_args ();
#endif
my_getExpression (expressionS *ep, char *str)
{
char *save_in;
- valueT val;
save_in = input_line_pointer;
input_line_pointer = str;
expression (ep);
expr_end = input_line_pointer;
input_line_pointer = save_in;
-
- /* If we are in mips16 mode, and this is an expression based on `.',
- then we bump the value of the symbol by 1 since that is how other
- text symbols are handled. We don't bother to handle complex
- expressions, just `.' plus or minus a constant. */
- if (mips_opts.mips16
- && ep->X_op == O_symbol
- && strcmp (S_GET_NAME (ep->X_add_symbol), FAKE_LABEL_NAME) == 0
- && S_GET_SEGMENT (ep->X_add_symbol) == now_seg
- && symbol_get_frag (ep->X_add_symbol) == frag_now
- && symbol_constant_p (ep->X_add_symbol)
- && (val = S_GET_VALUE (ep->X_add_symbol)) == frag_now_fix ())
- S_SET_VALUE (ep->X_add_symbol, val + 1);
}
char *
mips_emit_delays ();
if (log_size > 0 && auto_align)
mips_align (log_size, 0, label);
- mips_clear_insn_labels ();
cons (1 << log_size);
+ mips_clear_insn_labels ();
}
static void
mips_align (2, 0, label);
}
- mips_clear_insn_labels ();
-
float_cons (type);
+ mips_clear_insn_labels ();
}
/* Handle .globl. We need to override it because on Irix 5 you are
mips_emit_delays ();
if (auto_align)
mips_align (2, 0, label);
- mips_clear_insn_labels ();
expression (&ex);
+ mips_clear_insn_labels ();
if (ex.X_op != O_symbol || ex.X_add_number != 0)
{
mips_emit_delays ();
if (auto_align)
mips_align (3, 0, label);
- mips_clear_insn_labels ();
expression (&ex);
+ mips_clear_insn_labels ();
if (ex.X_op != O_symbol || ex.X_add_number != 0)
{
#endif
-/* This function is called whenever a label is defined. It is used
- when handling branch delays; if a branch has a label, we assume we
- can not move it. */
+/* This function is called whenever a label is defined, including fake
+ labels instantiated off the dot special symbol. It is used when
+ handling branch delays; if a branch has a label, we assume we cannot
+ move it. This also bumps the value of the symbol by 1 in compressed
+ code. */
void
-mips_define_label (symbolS *sym)
+mips_record_label (symbolS *sym)
{
segment_info_type *si = seg_info (now_seg);
struct insn_label_list *l;
l->label = sym;
l->next = si->label_list;
si->label_list = l;
+}
+/* This function is called as tc_frob_label() whenever a label is defined
+ and adds a DWARF-2 record we only want for true labels. */
+
+void
+mips_define_label (symbolS *sym)
+{
+ mips_record_label (sym);
#ifdef OBJ_ELF
dwarf2_emit_label (sym);
#endif
#define tc_frob_label(sym) mips_define_label (sym)
extern void mips_define_label (symbolS *);
+#define tc_new_dot_label(sym) mips_record_label (sym)
+extern void mips_record_label (symbolS *);
+
#define tc_frob_file_before_adjust() mips_frob_file_before_adjust ()
extern void mips_frob_file_before_adjust (void);
@cindex tc_frob_label
If you define this macro, GAS will call it each time a label is defined.
+@item tc_new_dot_label
+@cindex tc_new_dot_label
+If you define this macro, GAS will call it each time a fake label is created
+off the special dot symbol.
+
@item md_section_align
@cindex md_section_align
GAS will call this function for each section at the end of the assembly, to
expressionS e;
current_location (&e);
- return make_expr_symbol (&e);
+ return symbol_clone_if_forward_ref (make_expr_symbol (&e));
}
\f
/* Build any floating-point literal here.
else
{
expressionp->X_op = O_symbol;
- expressionp->X_add_symbol = symbol_temp_new_now ();
+ expressionp->X_add_symbol = &dot_symbol;
expressionp->X_add_number = 0;
}
}
/* If we have an absolute symbol or a reg, then we know its
value now. */
segment = S_GET_SEGMENT (symbolP);
- if (mode != expr_defer && segment == absolute_section)
+ if (mode != expr_defer
+ && segment == absolute_section
+ && !S_FORCE_RELOC (symbolP, 0))
{
expressionP->X_op = O_constant;
expressionP->X_add_number = S_GET_VALUE (symbolP);
if (expressionP->X_add_symbol)
symbol_mark_used (expressionP->X_add_symbol);
- expressionP->X_add_symbol = symbol_clone_if_forward_ref (expressionP->X_add_symbol);
- expressionP->X_op_symbol = symbol_clone_if_forward_ref (expressionP->X_op_symbol);
+ if (mode != expr_defer)
+ {
+ expressionP->X_add_symbol
+ = symbol_clone_if_forward_ref (expressionP->X_add_symbol);
+ expressionP->X_op_symbol
+ = symbol_clone_if_forward_ref (expressionP->X_op_symbol);
+ }
switch (expressionP->X_op)
{
#ifdef md_allow_local_subtract
&& md_allow_local_subtract (resultP, & right, rightseg)
#endif
- && (SEG_NORMAL (rightseg)
+ && ((SEG_NORMAL (rightseg)
+ && !S_FORCE_RELOC (resultP->X_add_symbol, 0)
+ && !S_FORCE_RELOC (right.X_add_symbol, 0))
|| right.X_add_symbol == resultP->X_add_symbol)
&& frag_offset_fixed_p (symbol_get_frag (resultP->X_add_symbol),
symbol_get_frag (right.X_add_symbol),
else if (op_left == O_subtract)
{
resultP->X_add_number -= right.X_add_number;
- if (retval == rightseg && SEG_NORMAL (retval))
+ if (retval == rightseg
+ && SEG_NORMAL (retval)
+ && !S_FORCE_RELOC (resultP->X_add_symbol, 0)
+ && !S_FORCE_RELOC (right.X_add_symbol, 0))
{
retval = absolute_section;
rightseg = absolute_section;
was_new_line = is_end_of_line[(unsigned char) input_line_pointer[-1]];
if (was_new_line)
{
+ symbol_set_value_now (&dot_symbol);
#ifdef md_start_line_hook
md_start_line_hook ();
#endif
md_after_pass_hook ();
#endif
}
+ symbol_set_value_now (&dot_symbol);
quit:
symbolS *symbol_rootP;
symbolS *symbol_lastP;
symbolS abs_symbol;
+symbolS dot_symbol;
#ifdef DEBUG_SYMS
#define debug_verify_symchain verify_symbol_chain
symbolS *newsymP;
asymbol *bsymorg, *bsymnew;
+ /* Make sure we never clone the dot special symbol. */
+ gas_assert (orgsymP != &dot_symbol);
+
/* Running local_symbol_convert on a clone that's not the one currently
in local_hash would incorrectly replace the hash entry. Thus the
symbol must be converted here. Note that the rest of the function
/* Re-using sy_resolving here, as this routine cannot get called from
symbol resolution code. */
- if (symbolP->bsym->section == expr_section && !symbolP->sy_resolving)
+ if ((symbolP->bsym->section == expr_section || symbolP->sy_forward_ref)
+ && !symbolP->sy_resolving)
{
symbolP->sy_resolving = 1;
add_symbol = symbol_clone_if_forward_ref (add_symbol, is_forward);
if (symbolP->sy_forward_ref
|| add_symbol != symbolP->sy_value.X_add_symbol
|| op_symbol != symbolP->sy_value.X_op_symbol)
- symbolP = symbol_clone (symbolP, 0);
+ {
+ if (symbolP != &dot_symbol)
+ {
+ symbolP = symbol_clone (symbolP, 0);
+ symbolP->sy_resolving = 0;
+ }
+ else
+ {
+ symbolP = symbol_temp_new_now ();
+#ifdef tc_new_dot_label
+ tc_new_dot_label (symbolP);
+#endif
+ }
+ }
symbolP->sy_value.X_add_symbol = add_symbol;
symbolP->sy_value.X_op_symbol = op_symbol;
return ((strict
&& ((s->bsym->flags & BSF_WEAK) != 0
- || (s->bsym->flags & BSF_GNU_INDIRECT_FUNCTION) != 0
|| (EXTERN_FORCE_RELOC
&& (s->bsym->flags & BSF_GLOBAL) != 0)))
+ || (s->bsym->flags & BSF_GNU_INDIRECT_FUNCTION) != 0
|| s->bsym->section == undefined_section
|| bfd_is_com_section (s->bsym->section));
}
if (LOCAL_LABELS_FB)
fb_label_init ();
}
+
+void
+dot_symbol_init (void)
+{
+ dot_symbol.bsym = bfd_make_empty_symbol (stdoutput);
+ if (dot_symbol.bsym == NULL)
+ as_fatal ("bfd_make_empty_symbol: %s", bfd_errmsg (bfd_get_error ()));
+ dot_symbol.bsym->name = ".";
+ dot_symbol.sy_forward_ref = 1;
+ dot_symbol.sy_value.X_op = O_constant;
+}
\f
int indent_level;
extern symbolS *symbol_lastP; /* last struct symbol we made, or NULL */
extern symbolS abs_symbol;
+extern symbolS dot_symbol;
extern int symbol_table_frozen;
symbolS *colon (const char *sym_name);
void local_colon (int n);
void symbol_begin (void);
+void dot_symbol_init (void);
void symbol_print_statistics (FILE *);
void symbol_table_insert (symbolS * symbolP);
valueT resolve_symbol_value (symbolS *);
+2011-02-01 Alan Modra <amodra@gmail.com>
+
+ Backport from mainline
+ 2010-12-02 Richard Sandiford <richard.sandiford@linaro.org>
+ * gas/i386/ifunc-2.s, gas/i386/ifunc-2.l: New test.
+ * gas/i386/ifunc-3.s, gas/i386/ifunc-3.d: Likeise.
+ * gas/i386/i386.exp: Run them.
+
2010-11-15 Richard Sandiford <rdsandiford@googlemail.com>
* gas/mips/elf-rel28.s, gas/mips/elf-rel28-n32.d,
run_list_test "inval-equ-1" "-al"
run_list_test "inval-equ-2" "-al"
run_dump_test "ifunc"
+ run_list_test "ifunc-2"
+ run_dump_test "ifunc-3"
run_list_test "l1om-inval" "-march=l1om --32"
run_dump_test "localpic"
run_dump_test "debug1"
sub_symbol_segment = S_GET_SEGMENT (fixP->fx_subsy);
if (fixP->fx_addsy != NULL
&& sub_symbol_segment == add_symbol_segment
+ && !S_FORCE_RELOC (fixP->fx_addsy, 0)
+ && !S_FORCE_RELOC (fixP->fx_subsy, 0)
&& !TC_FORCE_RELOCATION_SUB_SAME (fixP, add_symbol_segment))
{
add_number += S_GET_VALUE (fixP->fx_addsy);
#endif
}
else if (sub_symbol_segment == absolute_section
+ && !S_FORCE_RELOC (fixP->fx_subsy, 0)
&& !TC_FORCE_RELOCATION_SUB_ABS (fixP, add_symbol_segment))
{
add_number -= S_GET_VALUE (fixP->fx_subsy);
fixP->fx_subsy = NULL;
}
else if (sub_symbol_segment == this_segment
+ && !S_FORCE_RELOC (fixP->fx_subsy, 0)
&& !TC_FORCE_RELOCATION_SUB_LOCAL (fixP, add_symbol_segment))
{
add_number -= S_GET_VALUE (fixP->fx_subsy);
if (fixP->fx_addsy)
{
if (add_symbol_segment == this_segment
+ && !S_FORCE_RELOC (fixP->fx_addsy, 0)
&& !TC_FORCE_RELOCATION_LOCAL (fixP))
{
/* This fixup was made when the symbol's segment was
fixP->fx_pcrel = 0;
}
else if (add_symbol_segment == absolute_section
+ && !S_FORCE_RELOC (fixP->fx_addsy, 0)
&& !TC_FORCE_RELOCATION_ABS (fixP))
{
add_number += S_GET_VALUE (fixP->fx_addsy);
+2011-02-01 Alan Modra <amodra@gmail.com>
+
+ Backport from mainline
+ 2011-01-01 H.J. Lu <hongjiu.lu@intel.com>
+ * version.cc (print_version): Update copyright to 2011.
+
2011-01-24 Ian Lance Taylor <iant@google.com>
* version.cc (version_string): Bump to 1.11.
if (!print_short)
{
// This output is intended to follow the GNU standards.
- printf(_("Copyright 2010 Free Software Foundation, Inc.\n"));
+ printf(_("Copyright 2011 Free Software Foundation, Inc.\n"));
printf(_("\
This program is free software; you may redistribute it under the terms of\n\
the GNU General Public License version 3 or (at your option) a later version.\n\
+2011-02-01 Alan Modra <amodra@gmail.com>
+
+ Backport from mainline
+ 2011-01-22 H.J. Lu <hongjiu.lu@intel.com>
+ * Makefile.am (CXX): Removed.
+ * configure.in: Add AC_PROG_CXX.
+ * Makefile.in: Regenerated.
+ * configure: Likewise.
+
+ 2011-01-22 Richard Sandiford <rdsandiford@googlemail.com>
+ * plugin.c (plugin_get_ir_dummy_bfd): Copy across the bfd's
+ private data and GP size.
+
+ 2011-01-21 Alan Modra <amodra@gmail.com>
+ * ldexp.c (fold_binary): Set result section for arithmetic and
+ logical operations to NULL when both operands are in same section.
+ * ld.texinfo (Expression Section): Describe this.
+
+ 2011-01-14 Alan Modra <amodra@gmail.com>
+ * ldmain.c (main): Flush stdout before and stderr after printing
+ message.
+ * ldmisc.c (einfo): Similarly.
+ * plugin.c (message): Likewise.
+ * emultempl/ppc64elf.em: Likewise.
+ * emultempl/xtensaelf.em: Likewise.
+ * emulparams/elf32mcore.sh: Use einfo rather than printf.
+ * emultempl/beos.em: Likewise.
+ * emultempl/pe.em: Likewise.
+ * emultempl/pep.em: Likewise.
+
+ 2011-01-14 Alan Modra <amodra@gmail.com>
+ * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Don't
+ attempt to put non-alloc orphans before debug sections, just place
+ them after .comment.
+
+ 2011-01-14 J. Park <grassman@gmail.com>
+ PR ld/12339
+ * ldlang.c (sort_def_symbol): Handle bfd_link_hash_warning symbols.
+
+ 2011-01-14 Alan Modra <amodra@gmail.com>
+ * Makefile.am: Sort emulation rules.
+ (eelf32am33lin.c): Delete.
+ (ALL_EMULATION_SOURCES): Sort, add missing entries.
+ (ALL_64_EMULATION_SOURCES): Likewise.
+ * Makefile.in: Regenerate.
+
+ 2011-01-13 Alan Modra <amodra@gmail.com>
+ PR ld/12356
+ * ld.texinfo (Miscellaneous Commands): Describe LD_FEATURE.
+ (Expression Section): Update.
+ * ld.h (ld_config_type): Add sane_expr.
+ * ldgram.y (ifile_p1): Add LD_FEATURE.
+ * ldlex.l (LD_FEATYRE): New.
+ * ldemul.c (after_parse_default): Delete code handling ld_compatibility.
+ * ldexp.h (struct ldexp_control): Delete uses_defined.
+ * ldexp.c: Remove all uses of uses_defined.
+ (fold_name): Test config.sane_expr rather than ld_compatibility.
+ (exp_fold_tree_1): Likewise. Adjust handling of assignments
+ during first phase.
+ * ldlang.h (ld_compatibility): Delete.
+ (lang_ld_feature): Declare.
+ * ldlang.c (ld_compatibility): Delete.
+ (open_input_bfds): Only handle assignments for --defsym.
+ (lang_ld_feature): New function.
+
+ 2011-01-13 Alan Modra <amodra@gmail.com>
+ PR ld/12356
+ * ldexp.h (exp_assop): Delete.
+ (exp_assign, exp_defsym): Declare.
+ * ldexp.c (exp_assop): Make static, handle all assignment variations.
+ (exp_assign, exp_defsym): New functions.
+ (exp_provide): Use exp_assop.
+ * ldgram.y (defsym_expr): Use exp_defsym.
+ * ldctor.c, * ldgram.y, * ldlang.c, * mri.c, * emultempl/beos.em,
+ * emultempl/pe.em, * emultempl/pep.em, * emultempl/spuelf.em,
+ * emultempl/xtensaelf.em: Update exp_assop -> exp_assign.
+
+ 2011-01-12 Alan Modra <amodra@gmail.com>
+ PR ld/12380
+ * ldexp.h (enum phase_enum): Comment. Add exp_dataseg_done.
+ * ldexp.c (fold_unary <DATA_SEGMENT_END>): Rearrange code. Test
+ for exp_dataseg_done rather than expld.phase == lang_final_phase_enum
+ to detect when we've finished sizing sections.
+ (fold_binary <DATA_SEGMENT_ALIGN>): Likewise.
+ (fold_binary <DATA_SEGMENT_RELRO_END>): Likewise. Also test
+ that we are not inside an output section statement.
+ * ldlang.c (lang_size_sections): Set exp_dataseg_done on exit if
+ not exp_dataseg_relro_adjust or exp_dataseg_adjust. Don't set
+ lang_final_phase_enum here.
+ (lang_process): Set lang_final_phase_enum here.
+
+ 2011-01-05 H.J. Lu <hongjiu.lu@intel.com>
+ PR ld/12364
+ * plugin.c (get_symbols): Check if owner_sec->owner is NULL
+ before accessing its flags field.
+
+ 2011-01-01 H.J. Lu <hongjiu.lu@intel.com>
+ * ldver.c (ldversion): Update copyright to 2011.
+
+ 2010-12-20 Alan Modra <amodra@gmail.com>
+ * ld.texinfo (Expression Section): Describe treatment of numbers
+ and absolute symbols.
+ * ldemul.c (after_open_default): Look up __ld_compatibility.
+ * ldexp.c (fold_name): Convert absolute symbols to numbers when
+ inside output section definitions, or when __ld_compatibility >= 221.
+ (exp_fold_tree_1): Convert numbers to absolute when not in output
+ section definition and __ld_compatibility < 221. Don't always
+ convert values outside an output section definition to absolute.
+ * ldexp.h (uses_defined): Comment.
+ * ldlang.c (ld_compatibility): New variable.
+ * ldlang.h (ld_compatibility): Declare.
+ * emultempl/aix.em, * emultempl/armcoff.em, * emultempl/beos.em,
+ * emultempl/elf32.em, * emultempl/genelf.em, * emultempl/lnk960.em,
+ * emultempl/m68kcoff.em, * emultempl/mmo.em, * emultempl/pe.em,
+ * emultempl/pep.em, * emultempl/sunos.em, * emultempl/z80.em: Call
+ after_open_default from after_open function.
+
+ 2010-12-20 Alan Modra <amodra@gmail.com>
+ PR ld/12001
+ Revert 2010-11-03 Nick Clifton
+ * ldlang.c (ldlang_def_chain_list): Delete.
+ (insert_defined, ldlang_add_def, lang_place_defineds): Delete.
+ (lang_process): Don't call lang_place_defineds.
+ (lang_add_assignment): Don't do anything special for --defsym.
+ * ldexp.h (struct ldexp_control): Add uses_defined.
+ (exp_fold_tree_no_dot): Declare.
+ * ldexp.c (exp_fold_tree): Clear uses_defined.
+ (exp_fold_tree_no_dot): Likewise. Make global.
+ (fold_name <DEFINED>): Set uses_defined.
+ (exp_fold_tree_1 <etree_assign>): Define symbol during first phase
+ even when the value being assigned isn't valid.
+ * ldlang.c (open_input_bfds): Process assignment statements.
+ (lang_process): Bump lang_statement_iteration.
+ (scan_for_self_assignment): Formatting.
+ (print_assignment): Style.
+
+ 2010-12-13 Alan Modra <amodra@gmail.com>
+ * ldlang.c (load_symbols): Correct last change.
+
+ 2010-12-12 H.J. Lu <hongjiu.lu@intel.com>
+ * ldlang.c (load_symbols): Optimize for add_archive_element.
+
+ 2010-12-06 H.J. Lu <hongjiu.lu@intel.com>
+ PR ld/12288
+ * plugin.c (message): Don't add the trailing `\n' for
+ LDPL_ERROR.
+
+ 2010-12-06 H.J. Lu <hongjiu.lu@intel.com>
+ PR ld/12288
+ * testplug.c: Remove the trailing `\n' from TV_MESSAGE.
+
+ 2010-12-06 Dmitry Gorbachev <d.g.gorbachev@gmail.com>
+ PR ld/12288
+ * plugin.c (message): Use putchar for the trailing `\n'.
+
+ 2010-12-06 H.J. Lu <hongjiu.lu@intel.com>
+ Dmitry Gorbachev <d.g.gorbachev@gmail.com>
+ PR ld/12289
+ * ldmain.c (main): Don't call plugin_call_cleanup.
+ * plugin.c (plugin_call_cleanup): Make it static.
+ (message): Don't call plugin_call_cleanup.
+ (plugin_load_plugins): Call xatexit with plugin_call_cleanup.
+
+ 2010-12-05 H.J. Lu <hongjiu.lu@intel.com>
+ PR ld/12289
+ * plugin.c (message): Call plugin_call_cleanup on fatal
+ error.
+
+ 2010-12-05 H.J. Lu <hongjiu.lu@intel.com>
+ * plugin.c (message): Add a space after `:' in error message.
+
+ 2010-12-05 H.J. Lu <hongjiu.lu@intel.com>
+ * plugin.c (asymbol_from_plugin_symbol): Add the trailing `\n'
+ to einfo.
+ (get_symbols): Likewise.
+ (plugin_notice): Likewise.
+ (plugin_multiple_definition): Likewise.
+
+ 2010-12-05 H.J. Lu <hongjiu.lu@intel.com>
+ PR ld/12288
+ * plugin.c (message): Add the trailing `\n'.
+
+ 2010-12-05 H.J. Lu <hongjiu.lu@intel.com>
+ * ldfile.c (ldfile_open_file_search): Check maybe_archive instead
+ of is_archive.
+ * emultempl/aix.em: Likewise.
+ * emultempl/elf32.em: Likewise.
+ * emultempl/linux.em: Likewise.
+ * emultempl/pe.em: Likewise.
+ * emultempl/pep.em: Likewise.
+ * emultempl/sunos.em: Likewise.
+ * emultempl/vms.em: Likewise.
+ * ldlang.c (new_afile): Set maybe_archive instead of is_archive..
+ * ldlang.h (lang_input_statement_struct): Replace is_archive
+ with maybe_archive.
+
+ 2010-12-05 H.J. Lu <hongjiu.lu@intel.com>
+ * plugin.c (asymbol_from_plugin_symbol): Properly convert LTO
+ plugin visibility to ELF visibility.
+ (is_visible_from_outside): Re-indent.
+
+ 2010-11-21 H.J. Lu <hongjiu.lu@intel.com>
+ * ldfile.c: Re-indent plugin code.
+ * ldlang.c: Likewise.
+ * ldmain.c: Likewise.
+ * plugin.c: Likewise.
+
+ 2010-11-20 H.J. Lu <hongjiu.lu@intel.com>
+ PR ld/12246
+ * plugin.c (asymbol_from_plugin_symbol): Set alignment of
+ common symbol to 1 for For ELF targets.
+
+ 2010-11-20 H.J. Lu <hongjiu.lu@intel.com>
+ PR ld/12247
+ * lexsup.c (parse_args): Properly report loading plugin error.
+
2010-12-21 Alan Modra <amodra@gmail.com>
* po/ja.po: Update.
fi; \
fi`
-CXX = g++
CXX_FOR_TARGET = ` \
if [ -f $$r/../gcc/g++ ] ; then \
if [ -f $$r/../newlib/Makefile ] ; then \
LIBIBERTY = ../libiberty/libiberty.a
ALL_EMULATION_SOURCES = \
+ eaix5ppc.c \
+ eaix5rs6.c \
eaixppc.c \
eaixrs6.c \
ealpha.c \
earmaoutl.c \
earmcoff.c \
earmelf.c \
- earmelfb.c \
earmelf_fbsd.c \
earmelf_linux.c \
earmelf_linux_eabi.c \
+ earmelf_nbsd.c \
+ earmelf_vxworks.c \
+ earmelfb.c \
earmelfb_linux.c \
earmelfb_linux_eabi.c \
- earmelf_nbsd.c \
earmelfb_nbsd.c \
- earmelf_vxworks.c \
- earmnto.c \
earmnbsd.c \
+ earmnto.c \
earmpe.c \
earmsymbian.c \
- eavr2.c \
eavr1.c \
+ eavr2.c \
eavr25.c \
eavr3.c \
eavr31.c \
eavr6.c \
ecoff_i860.c \
ecoff_sparc.c \
- eelf32_spu.c \
ecrisaout.c \
ecriself.c \
ecrislinux.c \
ed30velf.c \
edelta68.c \
eelf32_dlx.c \
- eelf32_i960.c \
eelf32_i860.c \
+ eelf32_i960.c \
eelf32_sparc.c \
eelf32_sparc_sol2.c \
eelf32_sparc_vxworks.c \
+ eelf32_spu.c \
eelf32_tic6x_be.c \
eelf32_tic6x_le.c \
eelf32b4300.c \
eelf32bfin.c \
eelf32bfinfd.c \
- eelf32cr16.c \
- eelf32cr16c.c \
eelf32bmip.c \
eelf32bmipn32.c \
+ eelf32bsmip.c \
eelf32btsmip.c \
- eelf32crx.c \
eelf32btsmipn32.c \
- eelf32ltsmip.c \
- eelf32ltsmipn32.c \
+ eelf32cr16.c \
+ eelf32cr16c.c \
+ eelf32crx.c \
eelf32ebmip.c \
eelf32ebmipvxworks.c \
eelf32elmip.c \
eelf32elmipvxworks.c \
eelf32fr30.c \
eelf32frv.c \
- eelf32moxie.c \
+ eelf32frvfd.c \
eelf32i370.c \
eelf32ip2k.c \
- eelf32iq2000.c \
eelf32iq10.c \
+ eelf32iq2000.c \
+ eelf32l4300.c \
eelf32lm32.c \
eelf32lm32fd.c \
- eelf32l4300.c \
eelf32lmip.c \
eelf32lppc.c \
eelf32lppcnto.c \
eelf32lppcsim.c \
+ eelf32lsmip.c \
+ eelf32ltsmip.c \
+ eelf32ltsmipn32.c \
eelf32m32c.c \
+ eelf32mb_linux.c \
eelf32mcore.c \
eelf32mep.c \
- eelf32mb_linux.c \
eelf32microblaze.c \
eelf32mipswindiss.c \
+ eelf32moxie.c \
eelf32mt.c \
eelf32openrisc.c \
eelf32ppc.c \
eelf32ppclinux.c \
eelf32ppcnto.c \
eelf32ppcsim.c \
- eelf32ppcwindiss.c \
eelf32ppcvxworks.c \
+ eelf32ppcwindiss.c \
eelf32rx.c \
eelf32vax.c \
- eelf32xc16x.c \
- eelf32xc16xl.c \
- eelf32xc16xs.c \
+ eelf32xc16x.c \
+ eelf32xc16xl.c \
+ eelf32xc16xs.c \
eelf32xstormy16.c \
eelf32xtensa.c \
eelf_i386.c \
egld960.c \
egld960coff.c \
eh8300.c \
- eh8300h.c \
- eh8300s.c \
eh8300elf.c \
- eh8300hn.c \
- eh8300sn.c \
- eh8300sx.c \
+ eh8300h.c \
eh8300helf.c \
- eh8300self.c \
+ eh8300hn.c \
eh8300hnelf.c \
+ eh8300s.c \
+ eh8300self.c \
+ eh8300sn.c \
eh8300snelf.c \
+ eh8300sx.c \
eh8300sxelf.c \
eh8300sxn.c \
eh8300sxnelf.c \
ei386pep.c \
elnk960.c \
em32relf.c \
- em32rlelf.c \
em32relf_linux.c \
+ em32rlelf.c \
em32rlelf_linux.c \
em68hc11elf.c \
em68hc11elfb.c \
emipslit.c \
emipslnews.c \
emipspe.c \
+ emn10200.c \
+ emn10300.c \
emsp430x110.c \
- emsp430x112.c \
emsp430x1101.c \
emsp430x1111.c \
+ emsp430x112.c \
emsp430x1121.c \
emsp430x1122.c \
emsp430x1132.c \
emsp430x122.c \
- emsp430x123.c \
emsp430x1222.c \
+ emsp430x123.c \
emsp430x1232.c \
emsp430x133.c \
- emsp430x135.c \
emsp430x1331.c \
+ emsp430x135.c \
emsp430x1351.c \
emsp430x147.c \
emsp430x148.c \
emsp430x155.c \
emsp430x156.c \
emsp430x157.c \
- emsp430x167.c \
- emsp430x168.c \
- emsp430x169.c \
emsp430x1610.c \
emsp430x1611.c \
emsp430x1612.c \
+ emsp430x167.c \
+ emsp430x168.c \
+ emsp430x169.c \
emsp430x2101.c \
emsp430x2111.c \
emsp430x2121.c \
emsp430x413.c \
emsp430x415.c \
emsp430x417.c \
- emsp430xE423.c \
- emsp430xE425.c \
- emsp430xE427.c \
- emsp430xW423.c \
- emsp430xW425.c \
- emsp430xW427.c \
- emsp430xG437.c \
- emsp430xG438.c \
- emsp430xG439.c \
emsp430x435.c \
emsp430x436.c \
emsp430x437.c \
emsp430x447.c \
emsp430x448.c \
emsp430x449.c \
+ emsp430xE423.c \
+ emsp430xE425.c \
+ emsp430xE427.c \
+ emsp430xG437.c \
+ emsp430xG438.c \
+ emsp430xG439.c \
+ emsp430xW423.c \
+ emsp430xW425.c \
+ emsp430xW427.c \
enews.c \
ens32knbsd.c \
eor32.c \
epdp11.c \
epjelf.c \
epjlelf.c \
+ eppclynx.c \
eppcmacos.c \
eppcnw.c \
eppcpe.c \
- eppclynx.c \
eriscix.c \
escore3_elf.c \
escore7_elf.c \
esh.c \
+ eshelf.c \
eshelf32.c \
- eshlelf32.c \
eshelf32_linux.c \
- eshlelf32_linux.c \
eshelf32_nbsd.c \
- eshlelf32_nbsd.c \
- eshelf.c \
eshelf_fd.c \
- eshlelf_fd.c \
eshelf_linux.c \
- eshlelf_linux.c \
eshelf_nbsd.c \
- eshlelf_nbsd.c \
eshelf_nto.c \
- eshlelf_nto.c \
eshelf_uclinux.c \
eshelf_vxworks.c \
- eshlelf_vxworks.c \
eshl.c \
eshlelf.c \
+ eshlelf32.c \
+ eshlelf32_linux.c \
+ eshlelf32_nbsd.c \
+ eshlelf_fd.c \
+ eshlelf_linux.c \
+ eshlelf_nbsd.c \
+ eshlelf_nto.c \
+ eshlelf_vxworks.c \
eshlsymbian.c \
eshpe.c \
esparcaout.c \
etic4xcoff.c \
etic54xcoff.c \
etic80coff.c \
+ ev850.c \
evanilla.c \
evax.c \
evaxnbsd.c \
evsta.c \
ew65.c \
- ez8001.c \
- eelf32frvfd.c \
ez80.c \
+ ez8001.c \
ez8002.c
ALL_EMULATIONS = $(ALL_EMULATION_SOURCES:.c=.@OBJEXT@)
eelf64_aix.c \
eelf64_ia64.c \
eelf64_ia64_fbsd.c \
- eshelf64.c \
- eshlelf64.c \
- eshelf64_nbsd.c \
- eshlelf64_nbsd.c \
- eelf_x86_64.c \
- eelf_x86_64_fbsd.c \
- eelf_x86_64_sol2.c \
- eelf_l1om.c \
- eelf_l1om_fbsd.c \
eelf64_s390.c \
eelf64_sparc.c \
eelf64_sparc_fbsd.c \
eelf64alpha_nbsd.c \
eelf64bmip.c \
eelf64btsmip.c \
- eelf64ltsmip.c \
eelf64hppa.c \
+ eelf64lppc.c \
+ eelf64ltsmip.c \
eelf64mmix.c \
- emmo.c \
eelf64ppc.c \
- eelf64lppc.c \
- ehppa64linux.c
+ eelf_l1om.c \
+ eelf_l1om_fbsd.c \
+ eelf_x86_64.c \
+ eelf_x86_64_fbsd.c \
+ eelf_x86_64_sol2.c \
+ ehppa64linux.c \
+ emmo.c \
+ eshelf64.c \
+ eshelf64_nbsd.c \
+ eshlelf64.c \
+ eshlelf64_nbsd.c
ALL_64_EMULATIONS = $(ALL_64_EMULATION_SOURCES:.c=.@OBJEXT@)
earcelf.c: $(srcdir)/emulparams/arcelf.sh \
$(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} arcelf "$(tdir_arcelf)"
+earm_epoc_pe.c: $(srcdir)/emulparams/arm_epoc_pe.sh \
+ $(srcdir)/emultempl/pe.em $(srcdir)/scripttempl/epocpe.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} arm_epoc_pe "$(tdir_armpe)"
+earm_wince_pe.c: $(srcdir)/emulparams/arm_wince_pe.sh \
+ $(srcdir)/emultempl/pe.em $(srcdir)/scripttempl/pe.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} arm_wince_pe "$(tdir_armpe)"
+earmaoutb.c: $(srcdir)/emulparams/armaoutb.sh \
+ $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/armaout.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} armaoutb "$(tdir_armaoutb)"
+earmaoutl.c: $(srcdir)/emulparams/armaoutl.sh \
+ $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/armaout.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} armaoutl "$(tdir_armaoutl)"
+earmcoff.c: $(srcdir)/emulparams/armcoff.sh \
+ $(srcdir)/emultempl/armcoff.em $(srcdir)/scripttempl/armcoff.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} armcoff "$(tdir_armcoff)"
earmelf.c: $(srcdir)/emulparams/armelf.sh \
$(ELF_DEPS) $(srcdir)/emultempl/armelf.em \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} armelf "$(tdir_armelf)"
-earmelfb.c: $(srcdir)/emulparams/armelfb.sh $(srcdir)/emulparams/armelf.sh \
- $(ELF_DEPS) $(srcdir)/emultempl/armelf.em \
- $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} armelfb "$(tdir_armelfb)"
earmelf_fbsd.c: $(srcdir)/emulparams/armelf_fbsd.sh \
$(srcdir)/emulparams/armelf.sh \
$(ELF_DEPS) $(srcdir)/emultempl/armelf.em \
$(ELF_DEPS) $(srcdir)/emultempl/armelf.em \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} armelf_linux_eabi "$(tdir_armelf_linux_abi)"
+earmelf_nbsd.c: $(srcdir)/emulparams/armelf_nbsd.sh \
+ $(srcdir)/emulparams/armelf.sh \
+ $(ELF_DEPS) $(srcdir)/emultempl/armelf.em \
+ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} armelf_nbsd "$(tdir_armelf_nbsd)"
+earmelf_vxworks.c: $(srcdir)/emulparams/armelf_vxworks.sh \
+ $(srcdir)/emulparams/vxworks.sh $(srcdir)/emulparams/armelf.sh \
+ $(ELF_DEPS) $(srcdir)/emultempl/vxworks.em \
+ $(srcdir)/emultempl/armelf.em $(srcdir)/scripttempl/elf.sc \
+ ${GEN_DEPENDS}
+ ${GENSCRIPTS} armelf_vxworks "$(tdir_armelf)"
+earmelfb.c: $(srcdir)/emulparams/armelfb.sh $(srcdir)/emulparams/armelf.sh \
+ $(ELF_DEPS) $(srcdir)/emultempl/armelf.em \
+ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} armelfb "$(tdir_armelfb)"
earmelfb_linux.c: $(srcdir)/emulparams/armelfb_linux.sh \
$(srcdir)/emulparams/armelf_linux.sh \
$(ELF_DEPS) $(srcdir)/emultempl/armelf.em \
$(ELF_DEPS) $(srcdir)/emultempl/armelf.em \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} armelfb_linux_eabi "$(tdir_armelfb_linux_abi)"
-earmelf_nbsd.c: $(srcdir)/emulparams/armelf_nbsd.sh \
- $(srcdir)/emulparams/armelf.sh \
- $(ELF_DEPS) $(srcdir)/emultempl/armelf.em \
- $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} armelf_nbsd "$(tdir_armelf_nbsd)"
earmelfb_nbsd.c: $(srcdir)/emulparams/armelfb_nbsd.sh \
$(srcdir)/emulparams/armelf_nbsd.sh \
$(srcdir)/emulparams/armelf.sh \
$(ELF_DEPS) $(srcdir)/emultempl/armelf.em \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} armelfb_nbsd "$(tdir_armelfb_nbsd)"
-earmelf_vxworks.c: $(srcdir)/emulparams/armelf_vxworks.sh \
- $(srcdir)/emulparams/vxworks.sh $(srcdir)/emulparams/armelf.sh \
- $(ELF_DEPS) $(srcdir)/emultempl/vxworks.em \
- $(srcdir)/emultempl/armelf.em $(srcdir)/scripttempl/elf.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} armelf_vxworks "$(tdir_armelf)"
-earmaoutb.c: $(srcdir)/emulparams/armaoutb.sh \
- $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/armaout.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} armaoutb "$(tdir_armaoutb)"
-earmaoutl.c: $(srcdir)/emulparams/armaoutl.sh \
- $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/armaout.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} armaoutl "$(tdir_armaoutl)"
-earmcoff.c: $(srcdir)/emulparams/armcoff.sh \
- $(srcdir)/emultempl/armcoff.em $(srcdir)/scripttempl/armcoff.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} armcoff "$(tdir_armcoff)"
earmnbsd.c: $(srcdir)/emulparams/armnbsd.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/aout.sc ${GEN_DEPENDS}
${GENSCRIPTS} armnbsd "$(tdir_armnbsd)"
$(ELF_DEPS) $(srcdir)/emultempl/armelf.em \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} armnto "$(tdir_armnto)"
-earm_epoc_pe.c: $(srcdir)/emulparams/arm_epoc_pe.sh \
- $(srcdir)/emultempl/pe.em $(srcdir)/scripttempl/epocpe.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} arm_epoc_pe "$(tdir_armpe)"
-earm_wince_pe.c: $(srcdir)/emulparams/arm_wince_pe.sh \
- $(srcdir)/emultempl/pe.em $(srcdir)/scripttempl/pe.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} arm_wince_pe "$(tdir_armpe)"
earmpe.c: $(srcdir)/emulparams/armpe.sh \
$(srcdir)/emultempl/pe.em $(srcdir)/scripttempl/pe.sc ${GEN_DEPENDS}
${GENSCRIPTS} armpe "$(tdir_armpe)"
$(srcdir)/emultempl/armelf.em $(srcdir)/scripttempl/armbpabi.sc \
${GEN_DEPENDS}
${GENSCRIPTS} armsymbian "$(tdir_armelf)"
-eavr2.c: $(srcdir)/emulparams/avr2.sh $(srcdir)/emultempl/avrelf.em \
- $(ELF_DEPS) $(srcdir)/scripttempl/avr.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} avr2 "$(tdir_avr2)"
eavr1.c: $(srcdir)/emulparams/avr1.sh $(srcdir)/emultempl/avrelf.em \
$(ELF_DEPS) $(srcdir)/scripttempl/avr.sc \
${GEN_DEPENDS}
${GENSCRIPTS} avr1 "$(tdir_avr2)"
+eavr2.c: $(srcdir)/emulparams/avr2.sh $(srcdir)/emultempl/avrelf.em \
+ $(ELF_DEPS) $(srcdir)/scripttempl/avr.sc \
+ ${GEN_DEPENDS}
+ ${GENSCRIPTS} avr2 "$(tdir_avr2)"
eavr25.c: $(srcdir)/emulparams/avr25.sh $(srcdir)/emultempl/avrelf.em \
$(ELF_DEPS) $(srcdir)/scripttempl/avr.sc \
${GEN_DEPENDS}
ed10velf.c: $(srcdir)/emulparams/d10velf.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elfd10v.sc ${GEN_DEPENDS}
${GENSCRIPTS} d10velf "$(tdir_d10v)"
-ed30velf.c: $(srcdir)/emulparams/d30velf.sh \
+ed30v_e.c: $(srcdir)/emulparams/d30v_e.sh \
$(ELF_GEN_DEPS) $(srcdir)/scripttempl/elfd30v.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} d30velf "$(tdir_d30v)"
+ ${GENSCRIPTS} d30v_e "$(tdir_d30v)"
ed30v_o.c: $(srcdir)/emulparams/d30v_o.sh \
$(ELF_GEN_DEPS) $(srcdir)/scripttempl/elfd30v.sc ${GEN_DEPENDS}
${GENSCRIPTS} d30v_o "$(tdir_d30v)"
-ed30v_e.c: $(srcdir)/emulparams/d30v_e.sh \
+ed30velf.c: $(srcdir)/emulparams/d30velf.sh \
$(ELF_GEN_DEPS) $(srcdir)/scripttempl/elfd30v.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} d30v_e "$(tdir_d30v)"
+ ${GENSCRIPTS} d30velf "$(tdir_d30v)"
edelta68.c: $(srcdir)/emulparams/delta68.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/delta68.sc ${GEN_DEPENDS}
${GENSCRIPTS} delta68 "$(tdir_delta68)"
-eelf32bfin.c: $(srcdir)/emulparams/bfin.sh \
- $(ELF_DEPS) \
- $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32bfin "$(tdir_elf32bfin)" bfin
-eelf32bfinfd.c: $(srcdir)/emulparams/elf32bfinfd.sh $(srcdir)/emulparams/bfin.sh \
- $(ELF_DEPS) \
- $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32bfinfd "$(tdir_elf32bfinfd)" elf32bfinfd
eelf32_dlx.c: $(srcdir)/emulparams/elf32_dlx.sh \
$(ELF_GEN_DEPS) $(srcdir)/scripttempl/dlx.sc ${GEN_DEPENDS}
${GENSCRIPTS} elf32_dlx "$(tdir_elf32_dlx)"
+eelf32_i860.c: $(srcdir)/emulparams/elf32_i860.sh \
+ $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} elf32_i860 "$(tdir_elf32_i860)"
+eelf32_i960.c: $(srcdir)/emulparams/elf32_i960.sh \
+ $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} elf32_i960 "$(tdir_elf32_i960)"
+eelf32_sparc.c: $(srcdir)/emulparams/elf32_sparc.sh \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} elf32_sparc "$(tdir_elf32_sparc)"
+eelf32_sparc_sol2.c: $(srcdir)/emulparams/elf32_sparc_sol2.sh \
+ $(srcdir)/emulparams/elf32_sparc.sh \
+ $(srcdir)/emulparams/solaris2.sh \
+ $(srcdir)/emultempl/solaris2.em $(ELF_DEPS) \
+ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} elf32_sparc_sol2 "$(tdir_elf32_sparc_sol2)"
+eelf32_sparc_vxworks.c: $(srcdir)/emulparams/elf32_sparc_vxworks.sh \
+ $(srcdir)/emulparams/vxworks.sh $(srcdir)/emulparams/elf32_sparc.sh \
+ $(srcdir)/emultempl/vxworks.em $(ELF_DEPS) \
+ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} elf32_sparc_vxworks "$(tdir_elf32_sparc_vxworks)"
+eelf32_spu.c: $(srcdir)/emulparams/elf32_spu.sh $(srcdir)/emultempl/spuelf.em \
+ $(srcdir)/emultempl/spu_ovl.@OBJEXT@_c $(srcdir)/emultempl/spu_icache.@OBJEXT@_c \
+ ldemul-list.h \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} elf32_spu "$(tdir_elf32_spu)"
+$(srcdir)/emultempl/spu_ovl.@OBJEXT@_c: @MAINT@ $(srcdir)/emultempl/spu_ovl.S
+ if ../gas/as-new --version \
+ | grep 'target.*spu' >/dev/null 2>/dev/null; then \
+ cpp -DOVLY_IRQ_SAVE $(srcdir)/emultempl/spu_ovl.S spu_ovl.s; \
+ ../gas/as-new -o spu_ovl.@OBJEXT@ spu_ovl.s; \
+ ../binutils/bin2c <spu_ovl.@OBJEXT@ >$@; \
+ fi
+$(srcdir)/emultempl/spu_icache.@OBJEXT@_c: @MAINT@ $(srcdir)/emultempl/spu_icache.S
+ if ../gas/as-new --version \
+ | grep 'target.*spu' >/dev/null 2>/dev/null; then \
+ cpp -DOVLY_IRQ_SAVE $(srcdir)/emultempl/spu_icache.S spu_icache.s; \
+ ../gas/as-new -o spu_icache.@OBJEXT@ spu_icache.s; \
+ ../binutils/bin2c <spu_icache.@OBJEXT@ >$@; \
+ fi
eelf32_tic6x_be.c: $(srcdir)/emulparams/elf32_tic6x_be.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} elf32_tic6x_be "$(tdir_elf32_tic6x_be)"
eelf32_tic6x_le.c: $(srcdir)/emulparams/elf32_tic6x_le.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} elf32_tic6x_le "$(tdir_elf32_tic6x_le)"
-eelf32xc16x.c: $(srcdir)/emulparams/elf32xc16x.sh \
- $(ELF_DEPS) $(srcdir)/emultempl/needrelax.em \
+eelf32b4300.c: $(srcdir)/emulparams/elf32b4300.sh \
+ $(srcdir)/emulparams/elf32bmip.sh $(ELF_DEPS) \
+ $(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} elf32b4300 "$(tdir_elf32b4300)"
+eelf32bfin.c: $(srcdir)/emulparams/bfin.sh \
+ $(ELF_DEPS) \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32xc16x "$(tdir_xc16x)"
-eelf32xc16xl.c: $(srcdir)/emulparams/elf32xc16xl.sh \
- $(ELF_DEPS) $(srcdir)/emultempl/needrelax.em \
- $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32xc16xl "$(tdir_xc16xl)"
-eelf32xc16xs.c: $(srcdir)/emulparams/elf32xc16xs.sh \
- $(ELF_DEPS) $(srcdir)/emultempl/needrelax.em \
- $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32xc16xs "$(tdir_xc16xs)"
-eelf32xstormy16.c: $(srcdir)/emulparams/elf32xstormy16.sh \
- $(ELF_DEPS) $(srcdir)/emultempl/needrelax.em \
- $(srcdir)/scripttempl/xstormy16.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32xstormy16 "$(tdir_xstormy16)"
-eelf32am33lin.c: $(srcdir)/emulparams/elf32am33lin.sh \
- $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32am33lin "$(tdir_mn10300)"
-eelf32rx.c: $(srcdir)/emulparams/elf32rx.sh \
- $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32rx "$(tdir_elf32rx)"
-eelf32vax.c: $(srcdir)/emulparams/elf32vax.sh \
- $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32vax "$(tdir_elf32vax)"
-eelf32xtensa.c: $(srcdir)/emulparams/elf32xtensa.sh $(ELF_DEPS) \
- $(srcdir)/emultempl/xtensaelf.em $(INCDIR)/xtensa-config.h \
- $(BFDDIR)/elf-bfd.h $(BFDDIR)/libbfd.h $(INCDIR)/elf/xtensa.h \
- $(srcdir)/scripttempl/elfxtensa.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32xtensa "$(tdir_elf32xtensa)"
-eelf32fr30.c: $(srcdir)/emulparams/elf32fr30.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32fr30 "$(tdir_fr30)"
-eelf32frv.c: $(srcdir)/emulparams/elf32frv.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32frv "$(tdir_frv)"
-eelf32frvfd.c: $(srcdir)/emulparams/elf32frvfd.sh \
- $(srcdir)/emulparams/elf32frv.sh \
- $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32frvfd "$(tdir_frv)"
-eelf32moxie.c: $(srcdir)/emulparams/elf32moxie.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32moxie "$(tdir_moxie)"
-eelf32mcore.c: $(srcdir)/emulparams/elf32mcore.sh \
- $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32mcore "$(tdir_mcore)"
-eelf32mep.c: $(srcdir)/emulparams/elf32mep.sh \
- $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/mep.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32mep "$(tdir_mep)"
-em32relf.c: $(srcdir)/emulparams/m32relf.sh \
- $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} m32relf "$(tdir_m32r)"
-em32rlelf.c: $(srcdir)/emulparams/m32rlelf.sh \
- $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} m32rlelf "$(tdir_m32rlelf)"
-em32relf_linux.c: $(srcdir)/emulparams/m32relf_linux.sh \
- $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} m32relf_linux "$(tdir_m32relf_linux)"
-em32rlelf_linux.c: $(srcdir)/emulparams/m32rlelf_linux.sh \
- $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} m32rlelf_linux "$(tdir_m32rlelf_linux)"
-eelf32_sparc.c: $(srcdir)/emulparams/elf32_sparc.sh \
- $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32_sparc "$(tdir_elf32_sparc)"
-eelf32_sparc_sol2.c: $(srcdir)/emulparams/elf32_sparc_sol2.sh \
- $(srcdir)/emulparams/elf32_sparc.sh \
- $(srcdir)/emulparams/solaris2.sh \
- $(srcdir)/emultempl/solaris2.em $(ELF_DEPS) \
- $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32_sparc_sol2 "$(tdir_elf32_sparc_sol2)"
-eelf32_sparc_vxworks.c: $(srcdir)/emulparams/elf32_sparc_vxworks.sh \
- $(srcdir)/emulparams/vxworks.sh $(srcdir)/emulparams/elf32_sparc.sh \
- $(srcdir)/emultempl/vxworks.em $(ELF_DEPS) \
- $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32_sparc_vxworks "$(tdir_elf32_sparc_vxworks)"
-eelf32_spu.c: $(srcdir)/emulparams/elf32_spu.sh $(srcdir)/emultempl/spuelf.em \
- $(srcdir)/emultempl/spu_ovl.@OBJEXT@_c $(srcdir)/emultempl/spu_icache.@OBJEXT@_c \
- ldemul-list.h \
- $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32_spu "$(tdir_elf32_spu)"
-$(srcdir)/emultempl/spu_ovl.@OBJEXT@_c: @MAINT@ $(srcdir)/emultempl/spu_ovl.S
- if ../gas/as-new --version \
- | grep 'target.*spu' >/dev/null 2>/dev/null; then \
- cpp -DOVLY_IRQ_SAVE $(srcdir)/emultempl/spu_ovl.S spu_ovl.s; \
- ../gas/as-new -o spu_ovl.@OBJEXT@ spu_ovl.s; \
- ../binutils/bin2c <spu_ovl.@OBJEXT@ >$@; \
- fi
-$(srcdir)/emultempl/spu_icache.@OBJEXT@_c: @MAINT@ $(srcdir)/emultempl/spu_icache.S
- if ../gas/as-new --version \
- | grep 'target.*spu' >/dev/null 2>/dev/null; then \
- cpp -DOVLY_IRQ_SAVE $(srcdir)/emultempl/spu_icache.S spu_icache.s; \
- ../gas/as-new -o spu_icache.@OBJEXT@ spu_icache.s; \
- ../binutils/bin2c <spu_icache.@OBJEXT@ >$@; \
- fi
-eelf32_i860.c: $(srcdir)/emulparams/elf32_i860.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32_i860 "$(tdir_elf32_i860)"
-eelf32_i960.c: $(srcdir)/emulparams/elf32_i960.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32_i960 "$(tdir_elf32_i960)"
-eelf32b4300.c: $(srcdir)/emulparams/elf32b4300.sh \
- $(srcdir)/emulparams/elf32bmip.sh $(ELF_DEPS) \
- $(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32b4300 "$(tdir_elf32b4300)"
-eelf32cr16.c: $(srcdir)/emulparams/elf32cr16.sh \
- $(srcdir)/emultempl/elf32.em $(srcdir)/emultempl/cr16elf.em \
- $(srcdir)/scripttempl/elf32cr16.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32cr16 "$(tdir_elf32crx)"
-eelf32cr16c.c: $(srcdir)/emulparams/elf32cr16c.sh \
+ ${GENSCRIPTS} elf32bfin "$(tdir_elf32bfin)" bfin
+eelf32bfinfd.c: $(srcdir)/emulparams/elf32bfinfd.sh $(srcdir)/emulparams/bfin.sh \
$(ELF_DEPS) \
- $(srcdir)/scripttempl/elf32cr16c.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32cr16c "$(tdir_elf32cr16c)"
+ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} elf32bfinfd "$(tdir_elf32bfinfd)" elf32bfinfd
eelf32bmip.c: $(srcdir)/emulparams/elf32bmip.sh $(ELF_DEPS) \
$(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} elf32bmip "$(tdir_elf32bmip)"
+eelf32bmipn32.c: $(srcdir)/emulparams/elf32bmipn32.sh \
+ $(srcdir)/emulparams/elf32bmipn32-defs.sh $(ELF_DEPS) \
+ $(srcdir)/emultempl/irix.em $(srcdir)/emultempl/mipself.em \
+ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} elf32bmipn32 "$(tdir_elf32bmipn32)"
eelf32bsmip.c: $(srcdir)/emulparams/elf32bsmip.sh \
$(srcdir)/emulparams/elf32bmip.sh $(ELF_DEPS) $(srcdir)/emultempl/irix.em \
$(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
$(srcdir)/emulparams/elf32bmip.sh $(ELF_DEPS) \
$(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} elf32btsmip "$(tdir_elf32btsmip)"
-eelf32crx.c: $(srcdir)/emulparams/elf32crx.sh \
- $(ELF_DEPS) $(srcdir)/emultempl/crxelf.em \
- $(srcdir)/scripttempl/elf32crx.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32crx "$(tdir_elf32crx)"
eelf32btsmipn32.c: $(srcdir)/emulparams/elf32btsmipn32.sh \
$(srcdir)/emulparams/elf32bmipn32-defs.sh $(ELF_DEPS) \
$(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} elf32btsmipn32 "$(tdir_elf32btsmipn32)"
-eelf32ltsmip.c: $(srcdir)/emulparams/elf32ltsmip.sh \
- $(srcdir)/emulparams/elf32btsmip.sh $(srcdir)/emulparams/elf32bmip.sh \
- $(ELF_DEPS) $(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32ltsmip "$(tdir_elf32ltsmip)"
-eelf32ltsmipn32.c: $(srcdir)/emulparams/elf32ltsmipn32.sh \
- $(srcdir)/emulparams/elf32btsmipn32.sh \
- $(srcdir)/emulparams/elf32bmipn32-defs.sh $(ELF_DEPS) \
- $(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32ltsmipn32 "$(tdir_elf32ltsmipn32)"
+eelf32cr16.c: $(srcdir)/emulparams/elf32cr16.sh \
+ $(srcdir)/emultempl/elf32.em $(srcdir)/emultempl/cr16elf.em \
+ $(srcdir)/scripttempl/elf32cr16.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} elf32cr16 "$(tdir_elf32crx)"
+eelf32cr16c.c: $(srcdir)/emulparams/elf32cr16c.sh \
+ $(ELF_DEPS) \
+ $(srcdir)/scripttempl/elf32cr16c.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} elf32cr16c "$(tdir_elf32cr16c)"
+eelf32crx.c: $(srcdir)/emulparams/elf32crx.sh \
+ $(ELF_DEPS) $(srcdir)/emultempl/crxelf.em \
+ $(srcdir)/scripttempl/elf32crx.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} elf32crx "$(tdir_elf32crx)"
eelf32ebmip.c: $(srcdir)/emulparams/elf32ebmip.sh \
$(srcdir)/emulparams/elf32bmip.sh $(ELF_DEPS) \
$(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
$(ELF_DEPS) $(srcdir)/emultempl/generic.em $(srcdir)/emultempl/mipself.em \
$(srcdir)/emultempl/vxworks.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} elf32elmipvxworks "$(tdir_elf32elmipvxworks)"
-eelf32bmipn32.c: $(srcdir)/emulparams/elf32bmipn32.sh \
- $(srcdir)/emulparams/elf32bmipn32-defs.sh $(ELF_DEPS) \
- $(srcdir)/emultempl/irix.em $(srcdir)/emultempl/mipself.em \
- $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32bmipn32 "$(tdir_elf32bmipn32)"
+eelf32fr30.c: $(srcdir)/emulparams/elf32fr30.sh \
+ $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} elf32fr30 "$(tdir_fr30)"
+eelf32frv.c: $(srcdir)/emulparams/elf32frv.sh \
+ $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} elf32frv "$(tdir_frv)"
+eelf32frvfd.c: $(srcdir)/emulparams/elf32frvfd.sh \
+ $(srcdir)/emulparams/elf32frv.sh \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} elf32frvfd "$(tdir_frv)"
+eelf32i370.c: $(srcdir)/emulparams/elf32i370.sh \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elfi370.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} elf32i370 "$(tdir_elf32i370)"
+eelf32ip2k.c: $(srcdir)/emulparams/elf32ip2k.sh \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} elf32ip2k "$(tdir_ip2k)"
+eelf32iq10.c: $(srcdir)/emulparams/elf32iq10.sh \
+ $(ELF_GEN_DEPS) $(srcdir)/scripttempl/iq2000.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} elf32iq10 "$(tdir_iq10)"
+eelf32iq2000.c: $(srcdir)/emulparams/elf32iq2000.sh \
+ $(ELF_GEN_DEPS) $(srcdir)/scripttempl/iq2000.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} elf32iq2000 "$(tdir_iq2000)"
eelf32l4300.c: $(srcdir)/emulparams/elf32l4300.sh \
$(srcdir)/emulparams/elf32b4300.sh $(srcdir)/emulparams/elf32bmip.sh \
$(ELF_DEPS) $(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc \
${GEN_DEPENDS}
${GENSCRIPTS} elf32l4300 "$(tdir_elf32l4300)"
+eelf32lm32.c: $(srcdir)/emulparams/elf32lm32.sh \
+ $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} elf32lm32 "$(tdir_elf32lm32)"
+eelf32lm32fd.c: $(srcdir)/emulparams/elf32lm32fd.sh \
+ $(srcdir)/emulparams/elf32lm32.sh $(ELF_DEPS) \
+ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} elf32lm32fd "$(tdir_elf32lm32fd)"
eelf32lmip.c: $(srcdir)/emulparams/elf32lmip.sh \
$(srcdir)/emulparams/elf32bmip.sh $(ELF_DEPS) \
$(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} elf32lmip "$(tdir_elf32lmip)"
-eelf32mb_linux.c: $(srcdir)/emulparams/elf32mb_linux.sh \
- $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32mb_linux "$(tdir_microblaze)"
-eelf32microblaze.c: $(srcdir)/emulparams/elf32microblaze.sh \
- $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elfmicroblaze.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32microblaze "$(tdir_microblaze)"
-eelf32mipswindiss.c: $(srcdir)/emulparams/elf32mipswindiss.sh $(ELF_DEPS) \
- $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32mipswindiss "$(tdir_elf32mipswindiss)"
-eelf32m32c.c: $(srcdir)/emulparams/elf32m32c.sh \
- $(ELF_DEPS) $(srcdir)/emultempl/needrelax.em \
- $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32m32c "$(tdir_m32c)"
-eelf32mt.c: $(srcdir)/emulparams/elf32mt.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32mt "$(tdir_mt)"
eelf32lppc.c: $(srcdir)/emulparams/elf32lppc.sh \
$(srcdir)/emulparams/elf32ppccommon.sh \
$(srcdir)/emulparams/elf32ppc.sh $(srcdir)/emultempl/ppc32elf.em \
ldemul-list.h \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} elf32lppcsim "$(tdir_elf32lppcsim)"
-eelf32ppcnto.c: $(srcdir)/emulparams/elf32ppcnto.sh \
- $(srcdir)/emulparams/elf32ppc.sh $(srcdir)/emulparams/elf32ppccommon.sh \
- $(srcdir)/emultempl/ppc32elf.em $(ELF_DEPS) \
- ldemul-list.h \
- $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32ppcnto "$(tdir_elf32ppcnto)"
-eelf32ppcwindiss.c: $(srcdir)/emulparams/elf32ppcwindiss.sh \
- $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32ppcwindiss "$(tdir_elf32ppcwindiss)"
-eelf32ppcvxworks.c: $(srcdir)/emulparams/elf32ppcvxworks.sh \
- $(srcdir)/emulparams/elf32ppccommon.sh $(srcdir)/emulparams/vxworks.sh \
- $(srcdir)/emultempl/vxworks.em $(ELF_DEPS) \
- $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32ppcvxworks "$(tdir_elf32ppcvxworks)"
eelf32lsmip.c: $(srcdir)/emulparams/elf32lsmip.sh \
$(srcdir)/emulparams/elf32lmip.sh $(srcdir)/emulparams/elf32bmip.sh \
$(ELF_DEPS) $(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc \
${GEN_DEPENDS}
${GENSCRIPTS} elf32lsmip "$(tdir_elf32lsmip)"
+eelf32ltsmip.c: $(srcdir)/emulparams/elf32ltsmip.sh \
+ $(srcdir)/emulparams/elf32btsmip.sh $(srcdir)/emulparams/elf32bmip.sh \
+ $(ELF_DEPS) $(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc \
+ ${GEN_DEPENDS}
+ ${GENSCRIPTS} elf32ltsmip "$(tdir_elf32ltsmip)"
+eelf32ltsmipn32.c: $(srcdir)/emulparams/elf32ltsmipn32.sh \
+ $(srcdir)/emulparams/elf32btsmipn32.sh \
+ $(srcdir)/emulparams/elf32bmipn32-defs.sh $(ELF_DEPS) \
+ $(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} elf32ltsmipn32 "$(tdir_elf32ltsmipn32)"
+eelf32m32c.c: $(srcdir)/emulparams/elf32m32c.sh \
+ $(ELF_DEPS) $(srcdir)/emultempl/needrelax.em \
+ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} elf32m32c "$(tdir_m32c)"
+eelf32mb_linux.c: $(srcdir)/emulparams/elf32mb_linux.sh \
+ $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} elf32mb_linux "$(tdir_microblaze)"
+eelf32mcore.c: $(srcdir)/emulparams/elf32mcore.sh \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} elf32mcore "$(tdir_mcore)"
+eelf32mep.c: $(srcdir)/emulparams/elf32mep.sh \
+ $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/mep.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} elf32mep "$(tdir_mep)"
+eelf32microblaze.c: $(srcdir)/emulparams/elf32microblaze.sh \
+ $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elfmicroblaze.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} elf32microblaze "$(tdir_microblaze)"
+eelf32mipswindiss.c: $(srcdir)/emulparams/elf32mipswindiss.sh $(ELF_DEPS) \
+ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} elf32mipswindiss "$(tdir_elf32mipswindiss)"
+eelf32moxie.c: $(srcdir)/emulparams/elf32moxie.sh \
+ $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} elf32moxie "$(tdir_moxie)"
+eelf32mt.c: $(srcdir)/emulparams/elf32mt.sh \
+ $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} elf32mt "$(tdir_mt)"
eelf32openrisc.c: $(srcdir)/emulparams/elf32openrisc.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} elf32openrisc "$(tdir_openrisc)"
ldemul-list.h \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} elf32ppc_fbsd "$(tdir_elf32ppc_fbsd)"
-eelf32ppcsim.c: $(srcdir)/emulparams/elf32ppcsim.sh \
- $(srcdir)/emulparams/elf32ppc.sh $(srcdir)/emulparams/elf32ppccommon.sh \
- $(srcdir)/emultempl/ppc32elf.em $(ELF_DEPS) \
- ldemul-list.h \
- $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32ppcsim "$(tdir_elf32ppcsim)"
eelf32ppclinux.c: $(srcdir)/emulparams/elf32ppclinux.sh \
$(srcdir)/emulparams/elf32ppc.sh $(srcdir)/emulparams/elf32ppccommon.sh \
$(srcdir)/emultempl/ppc32elf.em $(ELF_DEPS) \
- ldemul-list.h \
- $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32ppclinux "$(tdir_elf32ppclinux)"
-eelf64ppc.c: $(srcdir)/emulparams/elf64ppc.sh $(srcdir)/emultempl/ppc64elf.em \
- ldemul-list.h \
- $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf64ppc "$(tdir_elf64ppc)"
-eelf64lppc.c: $(srcdir)/emulparams/elf64lppc.sh \
- $(srcdir)/emulparams/elf64ppc.sh $(srcdir)/emultempl/ppc64elf.em \
- ldemul-list.h \
- $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf64lppc "$(tdir_elf64lppc)"
-eelf32i370.c: $(srcdir)/emulparams/elf32i370.sh \
- $(ELF_DEPS) $(srcdir)/scripttempl/elfi370.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32i370 "$(tdir_elf32i370)"
-eelf32ip2k.c: $(srcdir)/emulparams/elf32ip2k.sh \
- $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32ip2k "$(tdir_ip2k)"
-eelf32iq2000.c: $(srcdir)/emulparams/elf32iq2000.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/iq2000.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32iq2000 "$(tdir_iq2000)"
-eelf32iq10.c: $(srcdir)/emulparams/elf32iq10.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/iq2000.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32iq10 "$(tdir_iq10)"
-eelf32lm32.c: $(srcdir)/emulparams/elf32lm32.sh \
- $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32lm32 "$(tdir_elf32lm32)"
-eelf32lm32fd.c: $(srcdir)/emulparams/elf32lm32fd.sh \
- $(srcdir)/emulparams/elf32lm32.sh $(ELF_DEPS) \
- $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32lm32fd "$(tdir_elf32lm32fd)"
-eelf64alpha.c: $(srcdir)/emulparams/elf64alpha.sh \
- $(ELF_DEPS) $(srcdir)/emultempl/alphaelf.em \
- $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf64alpha "$(tdir_elf64alpha)"
-eelf64alpha_fbsd.c: $(srcdir)/emulparams/elf64alpha_fbsd.sh \
- $(srcdir)/emulparams/elf64alpha.sh \
- $(ELF_DEPS) $(srcdir)/emultempl/alphaelf.em \
+ ldemul-list.h \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf64alpha_fbsd "$(tdir_elf64alpha_fbsd)"
-eelf64alpha_nbsd.c: $(srcdir)/emulparams/elf64alpha_nbsd.sh \
- $(srcdir)/emulparams/elf64alpha.sh \
- $(ELF_DEPS) $(srcdir)/emultempl/alphaelf.em \
+ ${GENSCRIPTS} elf32ppclinux "$(tdir_elf32ppclinux)"
+eelf32ppcnto.c: $(srcdir)/emulparams/elf32ppcnto.sh \
+ $(srcdir)/emulparams/elf32ppc.sh $(srcdir)/emulparams/elf32ppccommon.sh \
+ $(srcdir)/emultempl/ppc32elf.em $(ELF_DEPS) \
+ ldemul-list.h \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf64alpha_nbsd "$(tdir_elf64alpha_nbsd)"
-eelf64hppa.c: $(srcdir)/emulparams/elf64hppa.sh \
- $(ELF_DEPS) $(srcdir)/scripttempl/elf64hppa.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf64hppa "$(tdir_elf64hppa)"
-eelf64_aix.c: $(srcdir)/emulparams/elf64_aix.sh \
- $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf64_aix "$(tdir_elf64_aix)"
-eelf64_ia64.c: $(srcdir)/emulparams/elf64_ia64.sh \
- $(ELF_DEPS) $(srcdir)/emultempl/ia64elf.em \
- $(srcdir)/emultempl/needrelax.em \
+ ${GENSCRIPTS} elf32ppcnto "$(tdir_elf32ppcnto)"
+eelf32ppcsim.c: $(srcdir)/emulparams/elf32ppcsim.sh \
+ $(srcdir)/emulparams/elf32ppc.sh $(srcdir)/emulparams/elf32ppccommon.sh \
+ $(srcdir)/emultempl/ppc32elf.em $(ELF_DEPS) \
+ ldemul-list.h \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf64_ia64 "$(tdir_elf64_ia64)"
-eelf64_ia64_fbsd.c: $(srcdir)/emulparams/elf64_ia64_fbsd.sh \
- $(srcdir)/emulparams/elf64_ia64.sh \
- $(ELF_DEPS) $(srcdir)/emultempl/ia64elf.em \
- $(srcdir)/emultempl/needrelax.em \
+ ${GENSCRIPTS} elf32ppcsim "$(tdir_elf32ppcsim)"
+eelf32ppcvxworks.c: $(srcdir)/emulparams/elf32ppcvxworks.sh \
+ $(srcdir)/emulparams/elf32ppccommon.sh $(srcdir)/emulparams/vxworks.sh \
+ $(srcdir)/emultempl/vxworks.em $(ELF_DEPS) \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf64_ia64_fbsd "$(tdir_elf64_ia64_fbsd)"
-eelf64_s390.c: $(srcdir)/emulparams/elf64_s390.sh \
- $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf64_s390 "$(tdir_elf64_s390)"
-eelf64_sparc.c: $(srcdir)/emulparams/elf64_sparc.sh \
- $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf64_sparc "$(tdir_elf64_sparc)"
-eelf64_sparc_fbsd.c: $(srcdir)/emulparams/elf64_sparc_fbsd.sh \
- $(srcdir)/emulparams/elf64_sparc.sh \
+ ${GENSCRIPTS} elf32ppcvxworks "$(tdir_elf32ppcvxworks)"
+eelf32ppcwindiss.c: $(srcdir)/emulparams/elf32ppcwindiss.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf64_sparc_fbsd "$(tdir_elf64_sparc_fbsd)"
-eelf64_sparc_sol2.c: $(srcdir)/emulparams/elf64_sparc_sol2.sh \
- $(srcdir)/emulparams/elf64_sparc.sh \
- $(srcdir)/emulparams/solaris2.sh \
- $(srcdir)/emultempl/solaris2.em \
+ ${GENSCRIPTS} elf32ppcwindiss "$(tdir_elf32ppcwindiss)"
+eelf32rx.c: $(srcdir)/emulparams/elf32rx.sh \
+ $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} elf32rx "$(tdir_elf32rx)"
+eelf32vax.c: $(srcdir)/emulparams/elf32vax.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf64_sparc_sol2 "$(tdir_elf64_sparc_sol2)"
-eelf64bmip.c: $(srcdir)/emulparams/elf64bmip.sh \
- $(srcdir)/emulparams/elf64bmip-defs.sh \
- $(srcdir)/emulparams/elf32bmipn32-defs.sh $(ELF_DEPS) \
- $(srcdir)/emultempl/irix.em $(srcdir)/emultempl/mipself.em \
+ ${GENSCRIPTS} elf32vax "$(tdir_elf32vax)"
+eelf32xc16x.c: $(srcdir)/emulparams/elf32xc16x.sh \
+ $(ELF_DEPS) $(srcdir)/emultempl/needrelax.em \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf64bmip "$(tdir_elf64bmip)"
-eelf64mmix.c: $(srcdir)/emulparams/elf64mmix.sh \
- $(ELF_DEPS) $(srcdir)/emultempl/mmix-elfnmmo.em \
- $(srcdir)/emultempl/mmixelf.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf64mmix "$(tdir_elf64mmix)"
-emmo.c: $(srcdir)/emulparams/mmo.sh $(srcdir)/emultempl/mmix-elfnmmo.em \
- $(srcdir)/emultempl/generic.em $(srcdir)/emultempl/elf-generic.em \
- $(srcdir)/emultempl/mmo.em \
- $(srcdir)/scripttempl/mmo.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} mmo "$(tdir_mmo)"
-eelf64btsmip.c: $(srcdir)/emulparams/elf64btsmip.sh \
- $(srcdir)/emulparams/elf64bmip-defs.sh \
- $(srcdir)/emulparams/elf32bmipn32-defs.sh $(ELF_DEPS) \
- $(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf64btsmip "$(tdir_elf64btsmip)"
-eelf64ltsmip.c: $(srcdir)/emulparams/elf64ltsmip.sh \
- $(srcdir)/emulparams/elf64btsmip.sh $(srcdir)/emulparams/elf64bmip-defs.sh \
- $(srcdir)/emulparams/elf32bmipn32-defs.sh $(ELF_DEPS) \
- $(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf64ltsmip "$(tdir_elf64ltsmip)"
+ ${GENSCRIPTS} elf32xc16x "$(tdir_xc16x)"
+eelf32xc16xl.c: $(srcdir)/emulparams/elf32xc16xl.sh \
+ $(ELF_DEPS) $(srcdir)/emultempl/needrelax.em \
+ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} elf32xc16xl "$(tdir_xc16xl)"
+eelf32xc16xs.c: $(srcdir)/emulparams/elf32xc16xs.sh \
+ $(ELF_DEPS) $(srcdir)/emultempl/needrelax.em \
+ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} elf32xc16xs "$(tdir_xc16xs)"
+eelf32xstormy16.c: $(srcdir)/emulparams/elf32xstormy16.sh \
+ $(ELF_DEPS) $(srcdir)/emultempl/needrelax.em \
+ $(srcdir)/scripttempl/xstormy16.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} elf32xstormy16 "$(tdir_xstormy16)"
+eelf32xtensa.c: $(srcdir)/emulparams/elf32xtensa.sh $(ELF_DEPS) \
+ $(srcdir)/emultempl/xtensaelf.em $(INCDIR)/xtensa-config.h \
+ $(BFDDIR)/elf-bfd.h $(BFDDIR)/libbfd.h $(INCDIR)/elf/xtensa.h \
+ $(srcdir)/scripttempl/elfxtensa.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} elf32xtensa "$(tdir_elf32xtensa)"
eelf_i386.c: $(srcdir)/emulparams/elf_i386.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} elf_i386 "$(tdir_elf_i386)"
-eelf_x86_64.c: $(srcdir)/emulparams/elf_x86_64.sh \
- $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf_x86_64 "$(tdir_elf_x86_64)"
-eelf_x86_64_fbsd.c: $(srcdir)/emulparams/elf_x86_64_fbsd.sh \
- $(srcdir)/emulparams/elf_x86_64.sh \
- $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf_x86_64_fbsd "$(tdir_elf_x86_64_fbsd)"
-eelf_x86_64_sol2.c: $(srcdir)/emulparams/elf_x86_64_sol2.sh \
- $(srcdir)/emulparams/elf_x86_64.sh \
- $(srcdir)/emulparams/solaris2.sh \
- $(srcdir)/emultempl/solaris2.em \
- $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf_x86_64_sol2 "$(tdir_elf_x86_64_sol2)"
-eelf_l1om.c: $(srcdir)/emulparams/elf_l1om.sh \
- $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf_l1om "$(tdir_elf_l1om)"
-eelf_l1om_fbsd.c: $(srcdir)/emulparams/elf_l1om_fbsd.sh \
- $(srcdir)/emulparams/elf_l1om.sh \
- $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf_l1om_fbsd "$(tdir_elf_l1om_fbsd)"
eelf_i386_be.c: $(srcdir)/emulparams/elf_i386_be.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} elf_i386_be "$(tdir_elf_i386_be)"
eh8300.c: $(srcdir)/emulparams/h8300.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/h8300.sc ${GEN_DEPENDS}
${GENSCRIPTS} h8300 "$(tdir_h8300)"
+eh8300elf.c: $(srcdir)/emulparams/h8300elf.sh \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} h8300elf "$(tdir_h8300elf)"
eh8300h.c: $(srcdir)/emulparams/h8300h.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/h8300h.sc ${GEN_DEPENDS}
${GENSCRIPTS} h8300h "$(tdir_h8300h)"
-eh8300s.c: $(srcdir)/emulparams/h8300s.sh \
- $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/h8300s.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} h8300s "$(tdir_h8300s)"
+eh8300helf.c: $(srcdir)/emulparams/h8300helf.sh \
+ $(srcdir)/emulparams/h8300elf.sh \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} h8300helf "$(tdir_h8300helf)"
eh8300hn.c: $(srcdir)/emulparams/h8300hn.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/h8300hn.sc ${GEN_DEPENDS}
${GENSCRIPTS} h8300hn "$(tdir_h8300hn)"
-eh8300sn.c: $(srcdir)/emulparams/h8300sn.sh \
- $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/h8300sn.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} h8300sn "$(tdir_h8300sn)"
-eh8300sx.c: $(srcdir)/emulparams/h8300sx.sh \
- $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/h8300sx.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} h8300sx "$(tdir_h8300sx)"
-eh8300sxn.c: $(srcdir)/emulparams/h8300sxn.sh \
- $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/h8300sxn.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} h8300sxn "$(tdir_h8300sxn)"
-eh8300elf.c: $(srcdir)/emulparams/h8300elf.sh \
- $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} h8300elf "$(tdir_h8300elf)"
-eh8300helf.c: $(srcdir)/emulparams/h8300helf.sh \
+eh8300hnelf.c: $(srcdir)/emulparams/h8300hnelf.sh \
$(srcdir)/emulparams/h8300elf.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} h8300helf "$(tdir_h8300helf)"
+ ${GENSCRIPTS} h8300hnelf "$(tdir_h8300hnelf)"
+eh8300s.c: $(srcdir)/emulparams/h8300s.sh \
+ $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/h8300s.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} h8300s "$(tdir_h8300s)"
eh8300self.c: $(srcdir)/emulparams/h8300self.sh \
$(srcdir)/emulparams/h8300elf.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} h8300self "$(tdir_h8300self)"
-eh8300hnelf.c: $(srcdir)/emulparams/h8300hnelf.sh \
- $(srcdir)/emulparams/h8300elf.sh \
- $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} h8300hnelf "$(tdir_h8300hnelf)"
+eh8300sn.c: $(srcdir)/emulparams/h8300sn.sh \
+ $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/h8300sn.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} h8300sn "$(tdir_h8300sn)"
eh8300snelf.c: $(srcdir)/emulparams/h8300snelf.sh \
$(srcdir)/emulparams/h8300elf.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} h8300snelf "$(tdir_h8300snelf)"
+eh8300sx.c: $(srcdir)/emulparams/h8300sx.sh \
+ $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/h8300sx.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} h8300sx "$(tdir_h8300sx)"
eh8300sxelf.c: $(srcdir)/emulparams/h8300sxelf.sh \
$(srcdir)/emulparams/h8300elf.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} h8300sxelf "$(tdir_h8300sxelf)"
+eh8300sxn.c: $(srcdir)/emulparams/h8300sxn.sh \
+ $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/h8300sxn.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} h8300sxn "$(tdir_h8300sxn)"
eh8300sxnelf.c: $(srcdir)/emulparams/h8300sxnelf.sh \
$(srcdir)/emulparams/h8300elf.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
$(ELF_DEPS) $(srcdir)/emultempl/hppaelf.em \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} hppaobsd "$(tdir_hppaobsd)"
-ehppa64linux.c: $(srcdir)/emulparams/hppa64linux.sh \
- $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} hppa64linux "$(tdir_hppa64linux)"
ei386aout.c: $(srcdir)/emulparams/i386aout.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/aout.sc ${GEN_DEPENDS}
${GENSCRIPTS} i386aout "$(tdir_i386aout)"
elnk960.c: $(srcdir)/emulparams/lnk960.sh \
$(srcdir)/emultempl/lnk960.em $(srcdir)/scripttempl/i960.sc ${GEN_DEPENDS}
${GENSCRIPTS} lnk960 "$(tdir_lnk960)"
+em32relf.c: $(srcdir)/emulparams/m32relf.sh \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} m32relf "$(tdir_m32r)"
+em32relf_linux.c: $(srcdir)/emulparams/m32relf_linux.sh \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} m32relf_linux "$(tdir_m32relf_linux)"
+em32rlelf.c: $(srcdir)/emulparams/m32rlelf.sh \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} m32rlelf "$(tdir_m32rlelf)"
+em32rlelf_linux.c: $(srcdir)/emulparams/m32rlelf_linux.sh \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} m32rlelf_linux "$(tdir_m32rlelf_linux)"
em68hc11elf.c: $(srcdir)/emulparams/m68hc11elf.sh \
$(srcdir)/emultempl/m68hc1xelf.em $(ELF_DEPS) \
$(srcdir)/scripttempl/elfm68hc11.sc ${GEN_DEPENDS}
emipspe.c: $(srcdir)/emulparams/mipspe.sh $(srcdir)/emultempl/pe.em \
$(srcdir)/scripttempl/pe.sc ${GEN_DEPENDS}
${GENSCRIPTS} mipspe "$(tdir_mipspe)"
+emn10200.c: $(srcdir)/emulparams/mn10200.sh \
+ $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} mn10200 "$(tdir_mn10200)"
emn10300.c: $(srcdir)/emulparams/mn10300.sh \
$(srcdir)/emulparams/mn10200.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} mn10300 "$(tdir_mn10300)"
-emn10200.c: $(srcdir)/emulparams/mn10200.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} mn10200 "$(tdir_mn10200)"
emsp430x110.c: $(srcdir)/emulparams/msp430all.sh \
$(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
${GEN_DEPENDS}
${GENSCRIPTS} msp430x110 "$(tdir_msp430x110)" msp430all
-emsp430x112.c: $(srcdir)/emulparams/msp430all.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x112 "$(tdir_msp430x112)" msp430all
emsp430x1101.c: $(srcdir)/emulparams/msp430all.sh \
$(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
${GEN_DEPENDS}
$(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
${GEN_DEPENDS}
${GENSCRIPTS} msp430x1111 "$(tdir_msp430x1111)" msp430all
+emsp430x112.c: $(srcdir)/emulparams/msp430all.sh \
+ $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
+ ${GEN_DEPENDS}
+ ${GENSCRIPTS} msp430x112 "$(tdir_msp430x112)" msp430all
emsp430x1121.c: $(srcdir)/emulparams/msp430all.sh \
$(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
${GEN_DEPENDS}
$(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
${GEN_DEPENDS}
${GENSCRIPTS} msp430x122 "$(tdir_msp430x122)" msp430all
-emsp430x123.c: $(srcdir)/emulparams/msp430all.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x123 "$(tdir_msp430x123)" msp430all
emsp430x1222.c: $(srcdir)/emulparams/msp430all.sh \
$(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
${GEN_DEPENDS}
${GENSCRIPTS} msp430x1222 "$(tdir_msp430x1222)" msp430all
+emsp430x123.c: $(srcdir)/emulparams/msp430all.sh \
+ $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
+ ${GEN_DEPENDS}
+ ${GENSCRIPTS} msp430x123 "$(tdir_msp430x123)" msp430all
emsp430x1232.c: $(srcdir)/emulparams/msp430all.sh \
$(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
${GEN_DEPENDS}
$(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
${GEN_DEPENDS}
${GENSCRIPTS} msp430x133 "$(tdir_msp430x133)" msp430all
-emsp430x135.c: $(srcdir)/emulparams/msp430all.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x135 "$(tdir_msp430x135)" msp430all
emsp430x1331.c: $(srcdir)/emulparams/msp430all.sh \
$(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
${GEN_DEPENDS}
${GENSCRIPTS} msp430x1331 "$(tdir_msp430x1331)" msp430all
+emsp430x135.c: $(srcdir)/emulparams/msp430all.sh \
+ $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
+ ${GEN_DEPENDS}
+ ${GENSCRIPTS} msp430x135 "$(tdir_msp430x135)" msp430all
emsp430x1351.c: $(srcdir)/emulparams/msp430all.sh \
$(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
${GEN_DEPENDS}
$(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
${GEN_DEPENDS}
${GENSCRIPTS} msp430x157 "$(tdir_msp430x157)" msp430all
-emsp430x167.c: $(srcdir)/emulparams/msp430all.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x167 "$(tdir_msp430x167)" msp430all
-emsp430x168.c: $(srcdir)/emulparams/msp430all.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x168 "$(tdir_msp430x168)" msp430all
-emsp430x169.c: $(srcdir)/emulparams/msp430all.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x169 "$(tdir_msp430x169)" msp430all
emsp430x1610.c: $(srcdir)/emulparams/msp430all.sh \
$(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
${GEN_DEPENDS}
$(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
${GEN_DEPENDS}
${GENSCRIPTS} msp430x1612 "$(tdir_msp430x1612)" msp430all
+emsp430x167.c: $(srcdir)/emulparams/msp430all.sh \
+ $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
+ ${GEN_DEPENDS}
+ ${GENSCRIPTS} msp430x167 "$(tdir_msp430x167)" msp430all
+emsp430x168.c: $(srcdir)/emulparams/msp430all.sh \
+ $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
+ ${GEN_DEPENDS}
+ ${GENSCRIPTS} msp430x168 "$(tdir_msp430x168)" msp430all
+emsp430x169.c: $(srcdir)/emulparams/msp430all.sh \
+ $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
+ ${GEN_DEPENDS}
+ ${GENSCRIPTS} msp430x169 "$(tdir_msp430x169)" msp430all
emsp430x2101.c: $(srcdir)/emulparams/msp430all.sh \
$(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
${GEN_DEPENDS}
emsp430x412.c: $(srcdir)/emulparams/msp430all.sh \
$(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x412 "$(tdir_msp430x412)" msp430all
-emsp430x413.c: $(srcdir)/emulparams/msp430all.sh \
+ ${GENSCRIPTS} msp430x412 "$(tdir_msp430x412)" msp430all
+emsp430x413.c: $(srcdir)/emulparams/msp430all.sh \
+ $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
+ ${GEN_DEPENDS}
+ ${GENSCRIPTS} msp430x413 "$(tdir_msp430x413)" msp430all
+emsp430x415.c: $(srcdir)/emulparams/msp430all.sh \
+ $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
+ ${GEN_DEPENDS}
+ ${GENSCRIPTS} msp430x415 "$(tdir_msp430x415)" msp430all
+emsp430x417.c: $(srcdir)/emulparams/msp430all.sh \
+ $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
+ ${GEN_DEPENDS}
+ ${GENSCRIPTS} msp430x417 "$(tdir_msp430x417)" msp430all
+emsp430x435.c: $(srcdir)/emulparams/msp430all.sh \
+ $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
+ ${GEN_DEPENDS}
+ ${GENSCRIPTS} msp430x435 "$(tdir_msp430x435)" msp430all
+emsp430x436.c: $(srcdir)/emulparams/msp430all.sh \
+ $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
+ ${GEN_DEPENDS}
+ ${GENSCRIPTS} msp430x436 "$(tdir_msp430x436)" msp430all
+emsp430x437.c: $(srcdir)/emulparams/msp430all.sh \
+ $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
+ ${GEN_DEPENDS}
+ ${GENSCRIPTS} msp430x437 "$(tdir_msp430x437)" msp430all
+emsp430x447.c: $(srcdir)/emulparams/msp430all.sh \
$(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x413 "$(tdir_msp430x413)" msp430all
-emsp430x415.c: $(srcdir)/emulparams/msp430all.sh \
+ ${GENSCRIPTS} msp430x447 "$(tdir_msp430x447)" msp430all
+emsp430x448.c: $(srcdir)/emulparams/msp430all.sh \
$(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x415 "$(tdir_msp430x415)" msp430all
-emsp430x417.c: $(srcdir)/emulparams/msp430all.sh \
+ ${GENSCRIPTS} msp430x448 "$(tdir_msp430x448)" msp430all
+emsp430x449.c: $(srcdir)/emulparams/msp430all.sh \
$(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x417 "$(tdir_msp430x417)" msp430all
+ ${GENSCRIPTS} msp430x449 "$(tdir_msp430x449)" msp430all
emsp430xE423.c: $(srcdir)/emulparams/msp430all.sh \
$(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
${GEN_DEPENDS}
$(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
${GEN_DEPENDS}
${GENSCRIPTS} msp430xE427 "$(tdir_msp430xE427)" msp430all
-emsp430xW423.c: $(srcdir)/emulparams/msp430all.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430xW423 "$(tdir_msp430xW423)" msp430all
-emsp430xW425.c: $(srcdir)/emulparams/msp430all.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430xW425 "$(tdir_msp430xW425)" msp430all
-emsp430xW427.c: $(srcdir)/emulparams/msp430all.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430xW427 "$(tdir_msp430xW427)" msp430all
emsp430xG437.c: $(srcdir)/emulparams/msp430all.sh \
$(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
${GEN_DEPENDS}
$(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
${GEN_DEPENDS}
${GENSCRIPTS} msp430xG439 "$(tdir_msp430xG439)" msp430all
-emsp430x435.c: $(srcdir)/emulparams/msp430all.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x435 "$(tdir_msp430x435)" msp430all
-emsp430x436.c: $(srcdir)/emulparams/msp430all.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x436 "$(tdir_msp430x436)" msp430all
-emsp430x437.c: $(srcdir)/emulparams/msp430all.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x437 "$(tdir_msp430x437)" msp430all
-emsp430x447.c: $(srcdir)/emulparams/msp430all.sh \
+emsp430xW423.c: $(srcdir)/emulparams/msp430all.sh \
$(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x447 "$(tdir_msp430x447)" msp430all
-emsp430x448.c: $(srcdir)/emulparams/msp430all.sh \
+ ${GENSCRIPTS} msp430xW423 "$(tdir_msp430xW423)" msp430all
+emsp430xW425.c: $(srcdir)/emulparams/msp430all.sh \
$(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x448 "$(tdir_msp430x448)" msp430all
-emsp430x449.c: $(srcdir)/emulparams/msp430all.sh \
+ ${GENSCRIPTS} msp430xW425 "$(tdir_msp430xW425)" msp430all
+emsp430xW427.c: $(srcdir)/emulparams/msp430all.sh \
$(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x449 "$(tdir_msp430x449)" msp430all
+ ${GENSCRIPTS} msp430xW427 "$(tdir_msp430xW427)" msp430all
enews.c: $(srcdir)/emulparams/news.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/aout.sc ${GEN_DEPENDS}
${GENSCRIPTS} news "$(tdir_news)"
epjlelf.c: $(srcdir)/emulparams/pjlelf.sh $(srcdir)/emulparams/pjelf.sh \
$(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} pjlelf "$(tdir_pjlelf)"
+eppclynx.c: $(srcdir)/emulparams/ppclynx.sh \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} ppclynx "$(tdir_ppclynx)"
eppcmacos.c: $(srcdir)/emulparams/ppcmacos.sh \
$(srcdir)/emultempl/aix.em $(srcdir)/scripttempl/aix.sc ${GEN_DEPENDS}
${GENSCRIPTS} ppcmacos "$(tdir_ppcmacos)"
eppcpe.c: $(srcdir)/emulparams/ppcpe.sh \
$(srcdir)/emultempl/pe.em $(srcdir)/scripttempl/ppcpe.sc ${GEN_DEPENDS}
${GENSCRIPTS} ppcpe "$(tdir_ppcpe)"
-eppclynx.c: $(srcdir)/emulparams/ppclynx.sh \
- $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} ppclynx "$(tdir_ppclynx)"
eriscix.c: $(srcdir)/emulparams/riscix.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/aout.sc ${GEN_DEPENDS}
${GENSCRIPTS} riscix "$(tdir_riscix)"
$(srcdir)/emultempl/sh64elf.em $(INCDIR)/elf/sh.h $(BFDDIR)/elf-bfd.h \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} shelf32_nbsd "$(tdir_shelf32_nbsd)"
-eshelf64.c: $(srcdir)/emulparams/shelf64.sh $(srcdir)/emulparams/shelf32.sh \
- $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} shelf64 "$(tdir_shelf64)"
-eshelf64_nbsd.c: $(srcdir)/emulparams/shelf64_nbsd.sh \
- $(srcdir)/emulparams/shelf32_nbsd.sh $(srcdir)/emulparams/shelf32.sh \
- $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} shelf64_nbsd "$(tdir_shelf64_nbsd)"
eshelf_fd.c: $(srcdir)/emulparams/shelf_fd.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} shelf_fd "$(tdir_shelf_fd)"
-eshlelf_fd.c: $(srcdir)/emulparams/shlelf_fd.sh \
- $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} shlelf_fd "$(tdir_shlelf_fd)"
eshelf_linux.c: $(srcdir)/emulparams/shelf_linux.sh \
$(srcdir)/emulparams/shlelf_linux.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} shelf_linux "$(tdir_shelf_linux)"
-eshlelf_linux.c: $(srcdir)/emulparams/shlelf_linux.sh \
- $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} shlelf_linux "$(tdir_shlelf_linux)"
eshelf_nbsd.c: $(srcdir)/emulparams/shelf_nbsd.sh \
$(srcdir)/emulparams/shelf.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
eshelf_nto.c: $(srcdir)/emulparams/shelf_nto.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} shelf_nto "$(tdir_shelf_nto)"
+eshelf_uclinux.c: $(srcdir)/emulparams/shelf_uclinux.sh \
+ $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} shelf_uclinux "$(tdir_shelf_uclinux)"
eshelf_vxworks.c: $(srcdir)/emulparams/shelf_vxworks.sh \
$(srcdir)/emulparams/vxworks.sh $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc \
$(srcdir)/emultempl/vxworks.em ${GEN_DEPENDS}
${GENSCRIPTS} shelf_vxworks "$(tdir_shelf_vxworks)"
-eshlelf_nbsd.c: $(srcdir)/emulparams/shlelf_nbsd.sh \
- $(srcdir)/emulparams/shelf_nbsd.sh \
- $(srcdir)/emulparams/shelf.sh \
- $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} shlelf_nbsd "$(tdir_shlelf_nbsd)"
-eshlelf_nto.c: $(srcdir)/emulparams/shlelf_nto.sh \
- $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} shlelf_nto "$(tdir_shlelf_nto)"
-eshlelf_vxworks.c: $(srcdir)/emulparams/shlelf_vxworks.sh \
- $(srcdir)/emulparams/shelf_vxworks.sh $(srcdir)/emulparams/vxworks.sh \
- $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc $(srcdir)/emultempl/vxworks.em \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} shlelf_vxworks "$(tdir_shlelf_vxworks)"
-eshelf_uclinux.c: $(srcdir)/emulparams/shelf_uclinux.sh \
- $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} shelf_uclinux "$(tdir_shelf_uclinux)"
+eshl.c: $(srcdir)/emulparams/shl.sh \
+ $(srcdir)/emulparams/sh.sh \
+ $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/sh.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} shl "$(tdir_shl)"
eshlelf.c: $(srcdir)/emulparams/shlelf.sh \
$(srcdir)/emulparams/shelf.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} shlelf "$(tdir_shlelf)"
-eshlsymbian.c: $(srcdir)/emulparams/shlsymbian.sh \
- $(srcdir)/emulparams/shelf.sh \
- $(ELF_DEPS) $(srcdir)/scripttempl/elf32sh-symbian.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} shlsymbian "$(tdir_shlelf)"
eshlelf32.c: $(srcdir)/emulparams/shlelf32.sh \
$(BFDDIR)/libbfd.h $(INCDIR)/libiberty.h $(srcdir)/emulparams/shelf32.sh \
$(srcdir)/emultempl/sh64elf.em $(INCDIR)/elf/sh.h $(BFDDIR)/elf-bfd.h \
$(srcdir)/emultempl/sh64elf.em $(INCDIR)/elf/sh.h $(BFDDIR)/elf-bfd.h \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} shlelf32_nbsd "$(tdir_shlelf32_nbsd)"
-eshlelf64.c: $(srcdir)/emulparams/shlelf64.sh \
- $(srcdir)/emulparams/shelf64.sh $(srcdir)/emulparams/shelf32.sh \
+eshlelf_fd.c: $(srcdir)/emulparams/shlelf_fd.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} shlelf64 "$(tdir_shlelf64)"
-eshlelf64_nbsd.c: $(srcdir)/emulparams/shlelf64_nbsd.sh \
- $(srcdir)/emulparams/shelf64_nbsd.sh \
- $(srcdir)/emulparams/shelf32_nbsd.sh $(srcdir)/emulparams/shelf32.sh \
+ ${GENSCRIPTS} shlelf_fd "$(tdir_shlelf_fd)"
+eshlelf_linux.c: $(srcdir)/emulparams/shlelf_linux.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} shlelf64_nbsd "$(tdir_shlelf64_nbsd)"
-eshl.c: $(srcdir)/emulparams/shl.sh \
- $(srcdir)/emulparams/sh.sh \
- $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/sh.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} shl "$(tdir_shl)"
+ ${GENSCRIPTS} shlelf_linux "$(tdir_shlelf_linux)"
+eshlelf_nbsd.c: $(srcdir)/emulparams/shlelf_nbsd.sh \
+ $(srcdir)/emulparams/shelf_nbsd.sh \
+ $(srcdir)/emulparams/shelf.sh \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} shlelf_nbsd "$(tdir_shlelf_nbsd)"
+eshlelf_nto.c: $(srcdir)/emulparams/shlelf_nto.sh \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} shlelf_nto "$(tdir_shlelf_nto)"
+eshlelf_vxworks.c: $(srcdir)/emulparams/shlelf_vxworks.sh \
+ $(srcdir)/emulparams/shelf_vxworks.sh $(srcdir)/emulparams/vxworks.sh \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc $(srcdir)/emultempl/vxworks.em \
+ ${GEN_DEPENDS}
+ ${GENSCRIPTS} shlelf_vxworks "$(tdir_shlelf_vxworks)"
+eshlsymbian.c: $(srcdir)/emulparams/shlsymbian.sh \
+ $(srcdir)/emulparams/shelf.sh \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf32sh-symbian.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} shlsymbian "$(tdir_shlelf)"
eshpe.c: $(srcdir)/emulparams/shpe.sh \
$(srcdir)/emultempl/pe.em $(srcdir)/scripttempl/pe.sc ${GEN_DEPENDS}
${GENSCRIPTS} shpe "$(tdir_shl)"
etic80coff.c: $(srcdir)/emulparams/tic80coff.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/tic80coff.sc ${GEN_DEPENDS}
${GENSCRIPTS} tic80coff "$(tdir_tic80coff)"
+ev850.c: $(srcdir)/emulparams/v850.sh \
+ $(ELF_DEPS) $(srcdir)/scripttempl/v850.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} v850 "$(tdir_v850)"
evanilla.c: $(srcdir)/emulparams/vanilla.sh \
$(srcdir)/emultempl/vanilla.em $(srcdir)/scripttempl/vanilla.sc ${GEN_DEPENDS}
${GENSCRIPTS} vanilla "$(tdir_vanilla)"
evsta.c: $(srcdir)/emulparams/vsta.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/aout.sc ${GEN_DEPENDS}
${GENSCRIPTS} vsta "$(tdir_vsta)"
-ev850.c: $(srcdir)/emulparams/v850.sh \
- $(ELF_DEPS) $(srcdir)/scripttempl/v850.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} v850 "$(tdir_v850)"
ew65.c: $(srcdir)/emulparams/w65.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/w65.sc ${GEN_DEPENDS}
${GENSCRIPTS} w65 "$(tdir_w65)"
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/z8000.sc ${GEN_DEPENDS}
${GENSCRIPTS} z8002 "$(tdir_z8002)"
+eelf32_x86_64.c: $(srcdir)/emulparams/elf32_x86_64.sh \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} elf32_x86_64 "$(tdir_elf32_x86_64)"
+eelf64_aix.c: $(srcdir)/emulparams/elf64_aix.sh \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} elf64_aix "$(tdir_elf64_aix)"
+eelf64_ia64.c: $(srcdir)/emulparams/elf64_ia64.sh \
+ $(ELF_DEPS) $(srcdir)/emultempl/ia64elf.em \
+ $(srcdir)/emultempl/needrelax.em \
+ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} elf64_ia64 "$(tdir_elf64_ia64)"
+eelf64_ia64_fbsd.c: $(srcdir)/emulparams/elf64_ia64_fbsd.sh \
+ $(srcdir)/emulparams/elf64_ia64.sh \
+ $(ELF_DEPS) $(srcdir)/emultempl/ia64elf.em \
+ $(srcdir)/emultempl/needrelax.em \
+ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} elf64_ia64_fbsd "$(tdir_elf64_ia64_fbsd)"
+eelf64_s390.c: $(srcdir)/emulparams/elf64_s390.sh \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} elf64_s390 "$(tdir_elf64_s390)"
+eelf64_sparc.c: $(srcdir)/emulparams/elf64_sparc.sh \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} elf64_sparc "$(tdir_elf64_sparc)"
+eelf64_sparc_fbsd.c: $(srcdir)/emulparams/elf64_sparc_fbsd.sh \
+ $(srcdir)/emulparams/elf64_sparc.sh \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} elf64_sparc_fbsd "$(tdir_elf64_sparc_fbsd)"
+eelf64_sparc_sol2.c: $(srcdir)/emulparams/elf64_sparc_sol2.sh \
+ $(srcdir)/emulparams/elf64_sparc.sh \
+ $(srcdir)/emulparams/solaris2.sh \
+ $(srcdir)/emultempl/solaris2.em \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} elf64_sparc_sol2 "$(tdir_elf64_sparc_sol2)"
+eelf64alpha.c: $(srcdir)/emulparams/elf64alpha.sh \
+ $(ELF_DEPS) $(srcdir)/emultempl/alphaelf.em \
+ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} elf64alpha "$(tdir_elf64alpha)"
+eelf64alpha_fbsd.c: $(srcdir)/emulparams/elf64alpha_fbsd.sh \
+ $(srcdir)/emulparams/elf64alpha.sh \
+ $(ELF_DEPS) $(srcdir)/emultempl/alphaelf.em \
+ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} elf64alpha_fbsd "$(tdir_elf64alpha_fbsd)"
+eelf64alpha_nbsd.c: $(srcdir)/emulparams/elf64alpha_nbsd.sh \
+ $(srcdir)/emulparams/elf64alpha.sh \
+ $(ELF_DEPS) $(srcdir)/emultempl/alphaelf.em \
+ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} elf64alpha_nbsd "$(tdir_elf64alpha_nbsd)"
+eelf64bmip.c: $(srcdir)/emulparams/elf64bmip.sh \
+ $(srcdir)/emulparams/elf64bmip-defs.sh \
+ $(srcdir)/emulparams/elf32bmipn32-defs.sh $(ELF_DEPS) \
+ $(srcdir)/emultempl/irix.em $(srcdir)/emultempl/mipself.em \
+ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} elf64bmip "$(tdir_elf64bmip)"
+eelf64btsmip.c: $(srcdir)/emulparams/elf64btsmip.sh \
+ $(srcdir)/emulparams/elf64bmip-defs.sh \
+ $(srcdir)/emulparams/elf32bmipn32-defs.sh $(ELF_DEPS) \
+ $(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} elf64btsmip "$(tdir_elf64btsmip)"
+eelf64hppa.c: $(srcdir)/emulparams/elf64hppa.sh \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf64hppa.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} elf64hppa "$(tdir_elf64hppa)"
+eelf64lppc.c: $(srcdir)/emulparams/elf64lppc.sh \
+ $(srcdir)/emulparams/elf64ppc.sh $(srcdir)/emultempl/ppc64elf.em \
+ ldemul-list.h \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} elf64lppc "$(tdir_elf64lppc)"
+eelf64ltsmip.c: $(srcdir)/emulparams/elf64ltsmip.sh \
+ $(srcdir)/emulparams/elf64btsmip.sh $(srcdir)/emulparams/elf64bmip-defs.sh \
+ $(srcdir)/emulparams/elf32bmipn32-defs.sh $(ELF_DEPS) \
+ $(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} elf64ltsmip "$(tdir_elf64ltsmip)"
+eelf64mmix.c: $(srcdir)/emulparams/elf64mmix.sh \
+ $(ELF_DEPS) $(srcdir)/emultempl/mmix-elfnmmo.em \
+ $(srcdir)/emultempl/mmixelf.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} elf64mmix "$(tdir_elf64mmix)"
+eelf64ppc.c: $(srcdir)/emulparams/elf64ppc.sh $(srcdir)/emultempl/ppc64elf.em \
+ ldemul-list.h \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} elf64ppc "$(tdir_elf64ppc)"
+eelf_l1om.c: $(srcdir)/emulparams/elf_l1om.sh \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} elf_l1om "$(tdir_elf_l1om)"
+eelf_l1om_fbsd.c: $(srcdir)/emulparams/elf_l1om_fbsd.sh \
+ $(srcdir)/emulparams/elf_l1om.sh \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} elf_l1om_fbsd "$(tdir_elf_l1om_fbsd)"
+eelf_x86_64.c: $(srcdir)/emulparams/elf_x86_64.sh \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} elf_x86_64 "$(tdir_elf_x86_64)"
+eelf_x86_64_fbsd.c: $(srcdir)/emulparams/elf_x86_64_fbsd.sh \
+ $(srcdir)/emulparams/elf_x86_64.sh \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} elf_x86_64_fbsd "$(tdir_elf_x86_64_fbsd)"
+eelf_x86_64_sol2.c: $(srcdir)/emulparams/elf_x86_64_sol2.sh \
+ $(srcdir)/emulparams/elf_x86_64.sh \
+ $(srcdir)/emulparams/solaris2.sh \
+ $(srcdir)/emultempl/solaris2.em \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} elf_x86_64_sol2 "$(tdir_elf_x86_64_sol2)"
+ehppa64linux.c: $(srcdir)/emulparams/hppa64linux.sh \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} hppa64linux "$(tdir_hppa64linux)"
+emmo.c: $(srcdir)/emulparams/mmo.sh $(srcdir)/emultempl/mmix-elfnmmo.em \
+ $(srcdir)/emultempl/generic.em $(srcdir)/emultempl/elf-generic.em \
+ $(srcdir)/emultempl/mmo.em \
+ $(srcdir)/scripttempl/mmo.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} mmo "$(tdir_mmo)"
+eshelf64.c: $(srcdir)/emulparams/shelf64.sh $(srcdir)/emulparams/shelf32.sh \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} shelf64 "$(tdir_shelf64)"
+eshelf64_nbsd.c: $(srcdir)/emulparams/shelf64_nbsd.sh \
+ $(srcdir)/emulparams/shelf32_nbsd.sh $(srcdir)/emulparams/shelf32.sh \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} shelf64_nbsd "$(tdir_shelf64_nbsd)"
+eshlelf64.c: $(srcdir)/emulparams/shlelf64.sh \
+ $(srcdir)/emulparams/shelf64.sh $(srcdir)/emulparams/shelf32.sh \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} shlelf64 "$(tdir_shlelf64)"
+eshlelf64_nbsd.c: $(srcdir)/emulparams/shlelf64_nbsd.sh \
+ $(srcdir)/emulparams/shelf64_nbsd.sh \
+ $(srcdir)/emulparams/shelf32_nbsd.sh $(srcdir)/emulparams/shelf32.sh \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} shlelf64_nbsd "$(tdir_shlelf64_nbsd)"
+
# We need this for automake to use YLWRAP.
EXTRA_ld_new_SOURCES = deffilep.y ldlex.l
# Allow dependency tracking to work for these files, too.
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DATADIRNAME = @DATADIRNAME@
DEFS = @DEFS@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
fi; \
fi`
-CXX = g++
CXX_FOR_TARGET = ` \
if [ -f $$r/../gcc/g++ ] ; then \
if [ -f $$r/../newlib/Makefile ] ; then \
BFDLIB = ../bfd/libbfd.la
LIBIBERTY = ../libiberty/libiberty.a
ALL_EMULATION_SOURCES = \
+ eaix5ppc.c \
+ eaix5rs6.c \
eaixppc.c \
eaixrs6.c \
ealpha.c \
earmaoutl.c \
earmcoff.c \
earmelf.c \
- earmelfb.c \
earmelf_fbsd.c \
earmelf_linux.c \
earmelf_linux_eabi.c \
+ earmelf_nbsd.c \
+ earmelf_vxworks.c \
+ earmelfb.c \
earmelfb_linux.c \
earmelfb_linux_eabi.c \
- earmelf_nbsd.c \
earmelfb_nbsd.c \
- earmelf_vxworks.c \
- earmnto.c \
earmnbsd.c \
+ earmnto.c \
earmpe.c \
earmsymbian.c \
- eavr2.c \
eavr1.c \
+ eavr2.c \
eavr25.c \
eavr3.c \
eavr31.c \
eavr6.c \
ecoff_i860.c \
ecoff_sparc.c \
- eelf32_spu.c \
ecrisaout.c \
ecriself.c \
ecrislinux.c \
ed30velf.c \
edelta68.c \
eelf32_dlx.c \
- eelf32_i960.c \
eelf32_i860.c \
+ eelf32_i960.c \
eelf32_sparc.c \
eelf32_sparc_sol2.c \
eelf32_sparc_vxworks.c \
+ eelf32_spu.c \
eelf32_tic6x_be.c \
eelf32_tic6x_le.c \
eelf32b4300.c \
eelf32bfin.c \
eelf32bfinfd.c \
- eelf32cr16.c \
- eelf32cr16c.c \
eelf32bmip.c \
eelf32bmipn32.c \
+ eelf32bsmip.c \
eelf32btsmip.c \
- eelf32crx.c \
eelf32btsmipn32.c \
- eelf32ltsmip.c \
- eelf32ltsmipn32.c \
+ eelf32cr16.c \
+ eelf32cr16c.c \
+ eelf32crx.c \
eelf32ebmip.c \
eelf32ebmipvxworks.c \
eelf32elmip.c \
eelf32elmipvxworks.c \
eelf32fr30.c \
eelf32frv.c \
- eelf32moxie.c \
+ eelf32frvfd.c \
eelf32i370.c \
eelf32ip2k.c \
- eelf32iq2000.c \
eelf32iq10.c \
+ eelf32iq2000.c \
+ eelf32l4300.c \
eelf32lm32.c \
eelf32lm32fd.c \
- eelf32l4300.c \
eelf32lmip.c \
eelf32lppc.c \
eelf32lppcnto.c \
eelf32lppcsim.c \
+ eelf32lsmip.c \
+ eelf32ltsmip.c \
+ eelf32ltsmipn32.c \
eelf32m32c.c \
+ eelf32mb_linux.c \
eelf32mcore.c \
eelf32mep.c \
- eelf32mb_linux.c \
eelf32microblaze.c \
eelf32mipswindiss.c \
+ eelf32moxie.c \
eelf32mt.c \
eelf32openrisc.c \
eelf32ppc.c \
eelf32ppclinux.c \
eelf32ppcnto.c \
eelf32ppcsim.c \
- eelf32ppcwindiss.c \
eelf32ppcvxworks.c \
+ eelf32ppcwindiss.c \
eelf32rx.c \
eelf32vax.c \
- eelf32xc16x.c \
- eelf32xc16xl.c \
- eelf32xc16xs.c \
+ eelf32xc16x.c \
+ eelf32xc16xl.c \
+ eelf32xc16xs.c \
eelf32xstormy16.c \
eelf32xtensa.c \
eelf_i386.c \
egld960.c \
egld960coff.c \
eh8300.c \
- eh8300h.c \
- eh8300s.c \
eh8300elf.c \
- eh8300hn.c \
- eh8300sn.c \
- eh8300sx.c \
+ eh8300h.c \
eh8300helf.c \
- eh8300self.c \
+ eh8300hn.c \
eh8300hnelf.c \
+ eh8300s.c \
+ eh8300self.c \
+ eh8300sn.c \
eh8300snelf.c \
+ eh8300sx.c \
eh8300sxelf.c \
eh8300sxn.c \
eh8300sxnelf.c \
ei386pep.c \
elnk960.c \
em32relf.c \
- em32rlelf.c \
em32relf_linux.c \
+ em32rlelf.c \
em32rlelf_linux.c \
em68hc11elf.c \
em68hc11elfb.c \
emipslit.c \
emipslnews.c \
emipspe.c \
+ emn10200.c \
+ emn10300.c \
emsp430x110.c \
- emsp430x112.c \
emsp430x1101.c \
emsp430x1111.c \
+ emsp430x112.c \
emsp430x1121.c \
emsp430x1122.c \
emsp430x1132.c \
emsp430x122.c \
- emsp430x123.c \
emsp430x1222.c \
+ emsp430x123.c \
emsp430x1232.c \
emsp430x133.c \
- emsp430x135.c \
emsp430x1331.c \
+ emsp430x135.c \
emsp430x1351.c \
emsp430x147.c \
emsp430x148.c \
emsp430x155.c \
emsp430x156.c \
emsp430x157.c \
- emsp430x167.c \
- emsp430x168.c \
- emsp430x169.c \
emsp430x1610.c \
emsp430x1611.c \
emsp430x1612.c \
+ emsp430x167.c \
+ emsp430x168.c \
+ emsp430x169.c \
emsp430x2101.c \
emsp430x2111.c \
emsp430x2121.c \
emsp430x413.c \
emsp430x415.c \
emsp430x417.c \
- emsp430xE423.c \
- emsp430xE425.c \
- emsp430xE427.c \
- emsp430xW423.c \
- emsp430xW425.c \
- emsp430xW427.c \
- emsp430xG437.c \
- emsp430xG438.c \
- emsp430xG439.c \
emsp430x435.c \
emsp430x436.c \
emsp430x437.c \
emsp430x447.c \
emsp430x448.c \
emsp430x449.c \
+ emsp430xE423.c \
+ emsp430xE425.c \
+ emsp430xE427.c \
+ emsp430xG437.c \
+ emsp430xG438.c \
+ emsp430xG439.c \
+ emsp430xW423.c \
+ emsp430xW425.c \
+ emsp430xW427.c \
enews.c \
ens32knbsd.c \
eor32.c \
epdp11.c \
epjelf.c \
epjlelf.c \
+ eppclynx.c \
eppcmacos.c \
eppcnw.c \
eppcpe.c \
- eppclynx.c \
eriscix.c \
escore3_elf.c \
escore7_elf.c \
esh.c \
+ eshelf.c \
eshelf32.c \
- eshlelf32.c \
eshelf32_linux.c \
- eshlelf32_linux.c \
eshelf32_nbsd.c \
- eshlelf32_nbsd.c \
- eshelf.c \
eshelf_fd.c \
- eshlelf_fd.c \
eshelf_linux.c \
- eshlelf_linux.c \
eshelf_nbsd.c \
- eshlelf_nbsd.c \
eshelf_nto.c \
- eshlelf_nto.c \
eshelf_uclinux.c \
eshelf_vxworks.c \
- eshlelf_vxworks.c \
eshl.c \
eshlelf.c \
+ eshlelf32.c \
+ eshlelf32_linux.c \
+ eshlelf32_nbsd.c \
+ eshlelf_fd.c \
+ eshlelf_linux.c \
+ eshlelf_nbsd.c \
+ eshlelf_nto.c \
+ eshlelf_vxworks.c \
eshlsymbian.c \
eshpe.c \
esparcaout.c \
etic4xcoff.c \
etic54xcoff.c \
etic80coff.c \
+ ev850.c \
evanilla.c \
evax.c \
evaxnbsd.c \
evsta.c \
ew65.c \
- ez8001.c \
- eelf32frvfd.c \
ez80.c \
+ ez8001.c \
ez8002.c
ALL_EMULATIONS = $(ALL_EMULATION_SOURCES:.c=.@OBJEXT@)
eelf64_aix.c \
eelf64_ia64.c \
eelf64_ia64_fbsd.c \
- eshelf64.c \
- eshlelf64.c \
- eshelf64_nbsd.c \
- eshlelf64_nbsd.c \
- eelf_x86_64.c \
- eelf_x86_64_fbsd.c \
- eelf_x86_64_sol2.c \
- eelf_l1om.c \
- eelf_l1om_fbsd.c \
eelf64_s390.c \
eelf64_sparc.c \
eelf64_sparc_fbsd.c \
eelf64alpha_nbsd.c \
eelf64bmip.c \
eelf64btsmip.c \
- eelf64ltsmip.c \
eelf64hppa.c \
+ eelf64lppc.c \
+ eelf64ltsmip.c \
eelf64mmix.c \
- emmo.c \
eelf64ppc.c \
- eelf64lppc.c \
- ehppa64linux.c
+ eelf_l1om.c \
+ eelf_l1om_fbsd.c \
+ eelf_x86_64.c \
+ eelf_x86_64_fbsd.c \
+ eelf_x86_64_sol2.c \
+ ehppa64linux.c \
+ emmo.c \
+ eshelf64.c \
+ eshelf64_nbsd.c \
+ eshlelf64.c \
+ eshlelf64_nbsd.c
ALL_64_EMULATIONS = $(ALL_64_EMULATION_SOURCES:.c=.@OBJEXT@)
ALL_EMUL_EXTRA_OFILES = \
-rm -f *.tab.c
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/deffilep.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eaix5ppc.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eaix5rs6.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eaixppc.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eaixrs6.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ealpha.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32bfinfd.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32bmip.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32bmipn32.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32bsmip.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32btsmip.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32btsmipn32.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32cr16.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32lppc.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32lppcnto.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32lppcsim.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32lsmip.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32ltsmip.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32ltsmipn32.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32m32c.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/emipslnews.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/emipspe.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/emmo.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/emn10200.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/emn10300.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/emsp430x110.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/emsp430x1101.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/emsp430x1111.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/etic4xcoff.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/etic54xcoff.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/etic80coff.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ev850.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/evanilla.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/evax.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/evaxnbsd.Po@am__quote@
earcelf.c: $(srcdir)/emulparams/arcelf.sh \
$(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} arcelf "$(tdir_arcelf)"
+earm_epoc_pe.c: $(srcdir)/emulparams/arm_epoc_pe.sh \
+ $(srcdir)/emultempl/pe.em $(srcdir)/scripttempl/epocpe.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} arm_epoc_pe "$(tdir_armpe)"
+earm_wince_pe.c: $(srcdir)/emulparams/arm_wince_pe.sh \
+ $(srcdir)/emultempl/pe.em $(srcdir)/scripttempl/pe.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} arm_wince_pe "$(tdir_armpe)"
+earmaoutb.c: $(srcdir)/emulparams/armaoutb.sh \
+ $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/armaout.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} armaoutb "$(tdir_armaoutb)"
+earmaoutl.c: $(srcdir)/emulparams/armaoutl.sh \
+ $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/armaout.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} armaoutl "$(tdir_armaoutl)"
+earmcoff.c: $(srcdir)/emulparams/armcoff.sh \
+ $(srcdir)/emultempl/armcoff.em $(srcdir)/scripttempl/armcoff.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} armcoff "$(tdir_armcoff)"
earmelf.c: $(srcdir)/emulparams/armelf.sh \
$(ELF_DEPS) $(srcdir)/emultempl/armelf.em \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} armelf "$(tdir_armelf)"
-earmelfb.c: $(srcdir)/emulparams/armelfb.sh $(srcdir)/emulparams/armelf.sh \
- $(ELF_DEPS) $(srcdir)/emultempl/armelf.em \
- $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} armelfb "$(tdir_armelfb)"
earmelf_fbsd.c: $(srcdir)/emulparams/armelf_fbsd.sh \
$(srcdir)/emulparams/armelf.sh \
$(ELF_DEPS) $(srcdir)/emultempl/armelf.em \
$(ELF_DEPS) $(srcdir)/emultempl/armelf.em \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} armelf_linux_eabi "$(tdir_armelf_linux_abi)"
+earmelf_nbsd.c: $(srcdir)/emulparams/armelf_nbsd.sh \
+ $(srcdir)/emulparams/armelf.sh \
+ $(ELF_DEPS) $(srcdir)/emultempl/armelf.em \
+ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} armelf_nbsd "$(tdir_armelf_nbsd)"
+earmelf_vxworks.c: $(srcdir)/emulparams/armelf_vxworks.sh \
+ $(srcdir)/emulparams/vxworks.sh $(srcdir)/emulparams/armelf.sh \
+ $(ELF_DEPS) $(srcdir)/emultempl/vxworks.em \
+ $(srcdir)/emultempl/armelf.em $(srcdir)/scripttempl/elf.sc \
+ ${GEN_DEPENDS}
+ ${GENSCRIPTS} armelf_vxworks "$(tdir_armelf)"
+earmelfb.c: $(srcdir)/emulparams/armelfb.sh $(srcdir)/emulparams/armelf.sh \
+ $(ELF_DEPS) $(srcdir)/emultempl/armelf.em \
+ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} armelfb "$(tdir_armelfb)"
earmelfb_linux.c: $(srcdir)/emulparams/armelfb_linux.sh \
$(srcdir)/emulparams/armelf_linux.sh \
$(ELF_DEPS) $(srcdir)/emultempl/armelf.em \
$(ELF_DEPS) $(srcdir)/emultempl/armelf.em \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} armelfb_linux_eabi "$(tdir_armelfb_linux_abi)"
-earmelf_nbsd.c: $(srcdir)/emulparams/armelf_nbsd.sh \
- $(srcdir)/emulparams/armelf.sh \
- $(ELF_DEPS) $(srcdir)/emultempl/armelf.em \
- $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} armelf_nbsd "$(tdir_armelf_nbsd)"
earmelfb_nbsd.c: $(srcdir)/emulparams/armelfb_nbsd.sh \
$(srcdir)/emulparams/armelf_nbsd.sh \
$(srcdir)/emulparams/armelf.sh \
$(ELF_DEPS) $(srcdir)/emultempl/armelf.em \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} armelfb_nbsd "$(tdir_armelfb_nbsd)"
-earmelf_vxworks.c: $(srcdir)/emulparams/armelf_vxworks.sh \
- $(srcdir)/emulparams/vxworks.sh $(srcdir)/emulparams/armelf.sh \
- $(ELF_DEPS) $(srcdir)/emultempl/vxworks.em \
- $(srcdir)/emultempl/armelf.em $(srcdir)/scripttempl/elf.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} armelf_vxworks "$(tdir_armelf)"
-earmaoutb.c: $(srcdir)/emulparams/armaoutb.sh \
- $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/armaout.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} armaoutb "$(tdir_armaoutb)"
-earmaoutl.c: $(srcdir)/emulparams/armaoutl.sh \
- $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/armaout.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} armaoutl "$(tdir_armaoutl)"
-earmcoff.c: $(srcdir)/emulparams/armcoff.sh \
- $(srcdir)/emultempl/armcoff.em $(srcdir)/scripttempl/armcoff.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} armcoff "$(tdir_armcoff)"
earmnbsd.c: $(srcdir)/emulparams/armnbsd.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/aout.sc ${GEN_DEPENDS}
${GENSCRIPTS} armnbsd "$(tdir_armnbsd)"
$(ELF_DEPS) $(srcdir)/emultempl/armelf.em \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} armnto "$(tdir_armnto)"
-earm_epoc_pe.c: $(srcdir)/emulparams/arm_epoc_pe.sh \
- $(srcdir)/emultempl/pe.em $(srcdir)/scripttempl/epocpe.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} arm_epoc_pe "$(tdir_armpe)"
-earm_wince_pe.c: $(srcdir)/emulparams/arm_wince_pe.sh \
- $(srcdir)/emultempl/pe.em $(srcdir)/scripttempl/pe.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} arm_wince_pe "$(tdir_armpe)"
earmpe.c: $(srcdir)/emulparams/armpe.sh \
$(srcdir)/emultempl/pe.em $(srcdir)/scripttempl/pe.sc ${GEN_DEPENDS}
${GENSCRIPTS} armpe "$(tdir_armpe)"
$(srcdir)/emultempl/armelf.em $(srcdir)/scripttempl/armbpabi.sc \
${GEN_DEPENDS}
${GENSCRIPTS} armsymbian "$(tdir_armelf)"
-eavr2.c: $(srcdir)/emulparams/avr2.sh $(srcdir)/emultempl/avrelf.em \
- $(ELF_DEPS) $(srcdir)/scripttempl/avr.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} avr2 "$(tdir_avr2)"
eavr1.c: $(srcdir)/emulparams/avr1.sh $(srcdir)/emultempl/avrelf.em \
$(ELF_DEPS) $(srcdir)/scripttempl/avr.sc \
${GEN_DEPENDS}
${GENSCRIPTS} avr1 "$(tdir_avr2)"
+eavr2.c: $(srcdir)/emulparams/avr2.sh $(srcdir)/emultempl/avrelf.em \
+ $(ELF_DEPS) $(srcdir)/scripttempl/avr.sc \
+ ${GEN_DEPENDS}
+ ${GENSCRIPTS} avr2 "$(tdir_avr2)"
eavr25.c: $(srcdir)/emulparams/avr25.sh $(srcdir)/emultempl/avrelf.em \
$(ELF_DEPS) $(srcdir)/scripttempl/avr.sc \
${GEN_DEPENDS}
ed10velf.c: $(srcdir)/emulparams/d10velf.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elfd10v.sc ${GEN_DEPENDS}
${GENSCRIPTS} d10velf "$(tdir_d10v)"
-ed30velf.c: $(srcdir)/emulparams/d30velf.sh \
+ed30v_e.c: $(srcdir)/emulparams/d30v_e.sh \
$(ELF_GEN_DEPS) $(srcdir)/scripttempl/elfd30v.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} d30velf "$(tdir_d30v)"
+ ${GENSCRIPTS} d30v_e "$(tdir_d30v)"
ed30v_o.c: $(srcdir)/emulparams/d30v_o.sh \
$(ELF_GEN_DEPS) $(srcdir)/scripttempl/elfd30v.sc ${GEN_DEPENDS}
${GENSCRIPTS} d30v_o "$(tdir_d30v)"
-ed30v_e.c: $(srcdir)/emulparams/d30v_e.sh \
+ed30velf.c: $(srcdir)/emulparams/d30velf.sh \
$(ELF_GEN_DEPS) $(srcdir)/scripttempl/elfd30v.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} d30v_e "$(tdir_d30v)"
+ ${GENSCRIPTS} d30velf "$(tdir_d30v)"
edelta68.c: $(srcdir)/emulparams/delta68.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/delta68.sc ${GEN_DEPENDS}
${GENSCRIPTS} delta68 "$(tdir_delta68)"
-eelf32bfin.c: $(srcdir)/emulparams/bfin.sh \
- $(ELF_DEPS) \
- $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32bfin "$(tdir_elf32bfin)" bfin
-eelf32bfinfd.c: $(srcdir)/emulparams/elf32bfinfd.sh $(srcdir)/emulparams/bfin.sh \
- $(ELF_DEPS) \
- $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32bfinfd "$(tdir_elf32bfinfd)" elf32bfinfd
eelf32_dlx.c: $(srcdir)/emulparams/elf32_dlx.sh \
$(ELF_GEN_DEPS) $(srcdir)/scripttempl/dlx.sc ${GEN_DEPENDS}
${GENSCRIPTS} elf32_dlx "$(tdir_elf32_dlx)"
+eelf32_i860.c: $(srcdir)/emulparams/elf32_i860.sh \
+ $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} elf32_i860 "$(tdir_elf32_i860)"
+eelf32_i960.c: $(srcdir)/emulparams/elf32_i960.sh \
+ $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} elf32_i960 "$(tdir_elf32_i960)"
+eelf32_sparc.c: $(srcdir)/emulparams/elf32_sparc.sh \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} elf32_sparc "$(tdir_elf32_sparc)"
+eelf32_sparc_sol2.c: $(srcdir)/emulparams/elf32_sparc_sol2.sh \
+ $(srcdir)/emulparams/elf32_sparc.sh \
+ $(srcdir)/emulparams/solaris2.sh \
+ $(srcdir)/emultempl/solaris2.em $(ELF_DEPS) \
+ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} elf32_sparc_sol2 "$(tdir_elf32_sparc_sol2)"
+eelf32_sparc_vxworks.c: $(srcdir)/emulparams/elf32_sparc_vxworks.sh \
+ $(srcdir)/emulparams/vxworks.sh $(srcdir)/emulparams/elf32_sparc.sh \
+ $(srcdir)/emultempl/vxworks.em $(ELF_DEPS) \
+ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} elf32_sparc_vxworks "$(tdir_elf32_sparc_vxworks)"
+eelf32_spu.c: $(srcdir)/emulparams/elf32_spu.sh $(srcdir)/emultempl/spuelf.em \
+ $(srcdir)/emultempl/spu_ovl.@OBJEXT@_c $(srcdir)/emultempl/spu_icache.@OBJEXT@_c \
+ ldemul-list.h \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} elf32_spu "$(tdir_elf32_spu)"
+$(srcdir)/emultempl/spu_ovl.@OBJEXT@_c: @MAINT@ $(srcdir)/emultempl/spu_ovl.S
+ if ../gas/as-new --version \
+ | grep 'target.*spu' >/dev/null 2>/dev/null; then \
+ cpp -DOVLY_IRQ_SAVE $(srcdir)/emultempl/spu_ovl.S spu_ovl.s; \
+ ../gas/as-new -o spu_ovl.@OBJEXT@ spu_ovl.s; \
+ ../binutils/bin2c <spu_ovl.@OBJEXT@ >$@; \
+ fi
+$(srcdir)/emultempl/spu_icache.@OBJEXT@_c: @MAINT@ $(srcdir)/emultempl/spu_icache.S
+ if ../gas/as-new --version \
+ | grep 'target.*spu' >/dev/null 2>/dev/null; then \
+ cpp -DOVLY_IRQ_SAVE $(srcdir)/emultempl/spu_icache.S spu_icache.s; \
+ ../gas/as-new -o spu_icache.@OBJEXT@ spu_icache.s; \
+ ../binutils/bin2c <spu_icache.@OBJEXT@ >$@; \
+ fi
eelf32_tic6x_be.c: $(srcdir)/emulparams/elf32_tic6x_be.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} elf32_tic6x_be "$(tdir_elf32_tic6x_be)"
eelf32_tic6x_le.c: $(srcdir)/emulparams/elf32_tic6x_le.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} elf32_tic6x_le "$(tdir_elf32_tic6x_le)"
-eelf32xc16x.c: $(srcdir)/emulparams/elf32xc16x.sh \
- $(ELF_DEPS) $(srcdir)/emultempl/needrelax.em \
+eelf32b4300.c: $(srcdir)/emulparams/elf32b4300.sh \
+ $(srcdir)/emulparams/elf32bmip.sh $(ELF_DEPS) \
+ $(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} elf32b4300 "$(tdir_elf32b4300)"
+eelf32bfin.c: $(srcdir)/emulparams/bfin.sh \
+ $(ELF_DEPS) \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32xc16x "$(tdir_xc16x)"
-eelf32xc16xl.c: $(srcdir)/emulparams/elf32xc16xl.sh \
- $(ELF_DEPS) $(srcdir)/emultempl/needrelax.em \
- $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32xc16xl "$(tdir_xc16xl)"
-eelf32xc16xs.c: $(srcdir)/emulparams/elf32xc16xs.sh \
- $(ELF_DEPS) $(srcdir)/emultempl/needrelax.em \
- $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32xc16xs "$(tdir_xc16xs)"
-eelf32xstormy16.c: $(srcdir)/emulparams/elf32xstormy16.sh \
- $(ELF_DEPS) $(srcdir)/emultempl/needrelax.em \
- $(srcdir)/scripttempl/xstormy16.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32xstormy16 "$(tdir_xstormy16)"
-eelf32am33lin.c: $(srcdir)/emulparams/elf32am33lin.sh \
- $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32am33lin "$(tdir_mn10300)"
-eelf32rx.c: $(srcdir)/emulparams/elf32rx.sh \
- $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32rx "$(tdir_elf32rx)"
-eelf32vax.c: $(srcdir)/emulparams/elf32vax.sh \
- $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32vax "$(tdir_elf32vax)"
-eelf32xtensa.c: $(srcdir)/emulparams/elf32xtensa.sh $(ELF_DEPS) \
- $(srcdir)/emultempl/xtensaelf.em $(INCDIR)/xtensa-config.h \
- $(BFDDIR)/elf-bfd.h $(BFDDIR)/libbfd.h $(INCDIR)/elf/xtensa.h \
- $(srcdir)/scripttempl/elfxtensa.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32xtensa "$(tdir_elf32xtensa)"
-eelf32fr30.c: $(srcdir)/emulparams/elf32fr30.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32fr30 "$(tdir_fr30)"
-eelf32frv.c: $(srcdir)/emulparams/elf32frv.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32frv "$(tdir_frv)"
-eelf32frvfd.c: $(srcdir)/emulparams/elf32frvfd.sh \
- $(srcdir)/emulparams/elf32frv.sh \
- $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32frvfd "$(tdir_frv)"
-eelf32moxie.c: $(srcdir)/emulparams/elf32moxie.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32moxie "$(tdir_moxie)"
-eelf32mcore.c: $(srcdir)/emulparams/elf32mcore.sh \
- $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32mcore "$(tdir_mcore)"
-eelf32mep.c: $(srcdir)/emulparams/elf32mep.sh \
- $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/mep.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32mep "$(tdir_mep)"
-em32relf.c: $(srcdir)/emulparams/m32relf.sh \
- $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} m32relf "$(tdir_m32r)"
-em32rlelf.c: $(srcdir)/emulparams/m32rlelf.sh \
- $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} m32rlelf "$(tdir_m32rlelf)"
-em32relf_linux.c: $(srcdir)/emulparams/m32relf_linux.sh \
- $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} m32relf_linux "$(tdir_m32relf_linux)"
-em32rlelf_linux.c: $(srcdir)/emulparams/m32rlelf_linux.sh \
- $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} m32rlelf_linux "$(tdir_m32rlelf_linux)"
-eelf32_sparc.c: $(srcdir)/emulparams/elf32_sparc.sh \
- $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32_sparc "$(tdir_elf32_sparc)"
-eelf32_sparc_sol2.c: $(srcdir)/emulparams/elf32_sparc_sol2.sh \
- $(srcdir)/emulparams/elf32_sparc.sh \
- $(srcdir)/emulparams/solaris2.sh \
- $(srcdir)/emultempl/solaris2.em $(ELF_DEPS) \
- $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32_sparc_sol2 "$(tdir_elf32_sparc_sol2)"
-eelf32_sparc_vxworks.c: $(srcdir)/emulparams/elf32_sparc_vxworks.sh \
- $(srcdir)/emulparams/vxworks.sh $(srcdir)/emulparams/elf32_sparc.sh \
- $(srcdir)/emultempl/vxworks.em $(ELF_DEPS) \
- $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32_sparc_vxworks "$(tdir_elf32_sparc_vxworks)"
-eelf32_spu.c: $(srcdir)/emulparams/elf32_spu.sh $(srcdir)/emultempl/spuelf.em \
- $(srcdir)/emultempl/spu_ovl.@OBJEXT@_c $(srcdir)/emultempl/spu_icache.@OBJEXT@_c \
- ldemul-list.h \
- $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32_spu "$(tdir_elf32_spu)"
-$(srcdir)/emultempl/spu_ovl.@OBJEXT@_c: @MAINT@ $(srcdir)/emultempl/spu_ovl.S
- if ../gas/as-new --version \
- | grep 'target.*spu' >/dev/null 2>/dev/null; then \
- cpp -DOVLY_IRQ_SAVE $(srcdir)/emultempl/spu_ovl.S spu_ovl.s; \
- ../gas/as-new -o spu_ovl.@OBJEXT@ spu_ovl.s; \
- ../binutils/bin2c <spu_ovl.@OBJEXT@ >$@; \
- fi
-$(srcdir)/emultempl/spu_icache.@OBJEXT@_c: @MAINT@ $(srcdir)/emultempl/spu_icache.S
- if ../gas/as-new --version \
- | grep 'target.*spu' >/dev/null 2>/dev/null; then \
- cpp -DOVLY_IRQ_SAVE $(srcdir)/emultempl/spu_icache.S spu_icache.s; \
- ../gas/as-new -o spu_icache.@OBJEXT@ spu_icache.s; \
- ../binutils/bin2c <spu_icache.@OBJEXT@ >$@; \
- fi
-eelf32_i860.c: $(srcdir)/emulparams/elf32_i860.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32_i860 "$(tdir_elf32_i860)"
-eelf32_i960.c: $(srcdir)/emulparams/elf32_i960.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32_i960 "$(tdir_elf32_i960)"
-eelf32b4300.c: $(srcdir)/emulparams/elf32b4300.sh \
- $(srcdir)/emulparams/elf32bmip.sh $(ELF_DEPS) \
- $(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32b4300 "$(tdir_elf32b4300)"
-eelf32cr16.c: $(srcdir)/emulparams/elf32cr16.sh \
- $(srcdir)/emultempl/elf32.em $(srcdir)/emultempl/cr16elf.em \
- $(srcdir)/scripttempl/elf32cr16.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32cr16 "$(tdir_elf32crx)"
-eelf32cr16c.c: $(srcdir)/emulparams/elf32cr16c.sh \
+ ${GENSCRIPTS} elf32bfin "$(tdir_elf32bfin)" bfin
+eelf32bfinfd.c: $(srcdir)/emulparams/elf32bfinfd.sh $(srcdir)/emulparams/bfin.sh \
$(ELF_DEPS) \
- $(srcdir)/scripttempl/elf32cr16c.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32cr16c "$(tdir_elf32cr16c)"
+ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} elf32bfinfd "$(tdir_elf32bfinfd)" elf32bfinfd
eelf32bmip.c: $(srcdir)/emulparams/elf32bmip.sh $(ELF_DEPS) \
$(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} elf32bmip "$(tdir_elf32bmip)"
+eelf32bmipn32.c: $(srcdir)/emulparams/elf32bmipn32.sh \
+ $(srcdir)/emulparams/elf32bmipn32-defs.sh $(ELF_DEPS) \
+ $(srcdir)/emultempl/irix.em $(srcdir)/emultempl/mipself.em \
+ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} elf32bmipn32 "$(tdir_elf32bmipn32)"
eelf32bsmip.c: $(srcdir)/emulparams/elf32bsmip.sh \
$(srcdir)/emulparams/elf32bmip.sh $(ELF_DEPS) $(srcdir)/emultempl/irix.em \
$(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
$(srcdir)/emulparams/elf32bmip.sh $(ELF_DEPS) \
$(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} elf32btsmip "$(tdir_elf32btsmip)"
-eelf32crx.c: $(srcdir)/emulparams/elf32crx.sh \
- $(ELF_DEPS) $(srcdir)/emultempl/crxelf.em \
- $(srcdir)/scripttempl/elf32crx.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32crx "$(tdir_elf32crx)"
eelf32btsmipn32.c: $(srcdir)/emulparams/elf32btsmipn32.sh \
$(srcdir)/emulparams/elf32bmipn32-defs.sh $(ELF_DEPS) \
$(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} elf32btsmipn32 "$(tdir_elf32btsmipn32)"
-eelf32ltsmip.c: $(srcdir)/emulparams/elf32ltsmip.sh \
- $(srcdir)/emulparams/elf32btsmip.sh $(srcdir)/emulparams/elf32bmip.sh \
- $(ELF_DEPS) $(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32ltsmip "$(tdir_elf32ltsmip)"
-eelf32ltsmipn32.c: $(srcdir)/emulparams/elf32ltsmipn32.sh \
- $(srcdir)/emulparams/elf32btsmipn32.sh \
- $(srcdir)/emulparams/elf32bmipn32-defs.sh $(ELF_DEPS) \
- $(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32ltsmipn32 "$(tdir_elf32ltsmipn32)"
+eelf32cr16.c: $(srcdir)/emulparams/elf32cr16.sh \
+ $(srcdir)/emultempl/elf32.em $(srcdir)/emultempl/cr16elf.em \
+ $(srcdir)/scripttempl/elf32cr16.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} elf32cr16 "$(tdir_elf32crx)"
+eelf32cr16c.c: $(srcdir)/emulparams/elf32cr16c.sh \
+ $(ELF_DEPS) \
+ $(srcdir)/scripttempl/elf32cr16c.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} elf32cr16c "$(tdir_elf32cr16c)"
+eelf32crx.c: $(srcdir)/emulparams/elf32crx.sh \
+ $(ELF_DEPS) $(srcdir)/emultempl/crxelf.em \
+ $(srcdir)/scripttempl/elf32crx.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} elf32crx "$(tdir_elf32crx)"
eelf32ebmip.c: $(srcdir)/emulparams/elf32ebmip.sh \
$(srcdir)/emulparams/elf32bmip.sh $(ELF_DEPS) \
$(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
$(ELF_DEPS) $(srcdir)/emultempl/generic.em $(srcdir)/emultempl/mipself.em \
$(srcdir)/emultempl/vxworks.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} elf32elmipvxworks "$(tdir_elf32elmipvxworks)"
-eelf32bmipn32.c: $(srcdir)/emulparams/elf32bmipn32.sh \
- $(srcdir)/emulparams/elf32bmipn32-defs.sh $(ELF_DEPS) \
- $(srcdir)/emultempl/irix.em $(srcdir)/emultempl/mipself.em \
- $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32bmipn32 "$(tdir_elf32bmipn32)"
+eelf32fr30.c: $(srcdir)/emulparams/elf32fr30.sh \
+ $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} elf32fr30 "$(tdir_fr30)"
+eelf32frv.c: $(srcdir)/emulparams/elf32frv.sh \
+ $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} elf32frv "$(tdir_frv)"
+eelf32frvfd.c: $(srcdir)/emulparams/elf32frvfd.sh \
+ $(srcdir)/emulparams/elf32frv.sh \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} elf32frvfd "$(tdir_frv)"
+eelf32i370.c: $(srcdir)/emulparams/elf32i370.sh \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elfi370.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} elf32i370 "$(tdir_elf32i370)"
+eelf32ip2k.c: $(srcdir)/emulparams/elf32ip2k.sh \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} elf32ip2k "$(tdir_ip2k)"
+eelf32iq10.c: $(srcdir)/emulparams/elf32iq10.sh \
+ $(ELF_GEN_DEPS) $(srcdir)/scripttempl/iq2000.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} elf32iq10 "$(tdir_iq10)"
+eelf32iq2000.c: $(srcdir)/emulparams/elf32iq2000.sh \
+ $(ELF_GEN_DEPS) $(srcdir)/scripttempl/iq2000.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} elf32iq2000 "$(tdir_iq2000)"
eelf32l4300.c: $(srcdir)/emulparams/elf32l4300.sh \
$(srcdir)/emulparams/elf32b4300.sh $(srcdir)/emulparams/elf32bmip.sh \
$(ELF_DEPS) $(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc \
${GEN_DEPENDS}
${GENSCRIPTS} elf32l4300 "$(tdir_elf32l4300)"
+eelf32lm32.c: $(srcdir)/emulparams/elf32lm32.sh \
+ $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} elf32lm32 "$(tdir_elf32lm32)"
+eelf32lm32fd.c: $(srcdir)/emulparams/elf32lm32fd.sh \
+ $(srcdir)/emulparams/elf32lm32.sh $(ELF_DEPS) \
+ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} elf32lm32fd "$(tdir_elf32lm32fd)"
eelf32lmip.c: $(srcdir)/emulparams/elf32lmip.sh \
$(srcdir)/emulparams/elf32bmip.sh $(ELF_DEPS) \
$(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} elf32lmip "$(tdir_elf32lmip)"
-eelf32mb_linux.c: $(srcdir)/emulparams/elf32mb_linux.sh \
- $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32mb_linux "$(tdir_microblaze)"
-eelf32microblaze.c: $(srcdir)/emulparams/elf32microblaze.sh \
- $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elfmicroblaze.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32microblaze "$(tdir_microblaze)"
-eelf32mipswindiss.c: $(srcdir)/emulparams/elf32mipswindiss.sh $(ELF_DEPS) \
- $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32mipswindiss "$(tdir_elf32mipswindiss)"
-eelf32m32c.c: $(srcdir)/emulparams/elf32m32c.sh \
- $(ELF_DEPS) $(srcdir)/emultempl/needrelax.em \
- $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32m32c "$(tdir_m32c)"
-eelf32mt.c: $(srcdir)/emulparams/elf32mt.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32mt "$(tdir_mt)"
eelf32lppc.c: $(srcdir)/emulparams/elf32lppc.sh \
$(srcdir)/emulparams/elf32ppccommon.sh \
$(srcdir)/emulparams/elf32ppc.sh $(srcdir)/emultempl/ppc32elf.em \
ldemul-list.h \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} elf32lppcsim "$(tdir_elf32lppcsim)"
-eelf32ppcnto.c: $(srcdir)/emulparams/elf32ppcnto.sh \
- $(srcdir)/emulparams/elf32ppc.sh $(srcdir)/emulparams/elf32ppccommon.sh \
- $(srcdir)/emultempl/ppc32elf.em $(ELF_DEPS) \
- ldemul-list.h \
- $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32ppcnto "$(tdir_elf32ppcnto)"
-eelf32ppcwindiss.c: $(srcdir)/emulparams/elf32ppcwindiss.sh \
- $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32ppcwindiss "$(tdir_elf32ppcwindiss)"
-eelf32ppcvxworks.c: $(srcdir)/emulparams/elf32ppcvxworks.sh \
- $(srcdir)/emulparams/elf32ppccommon.sh $(srcdir)/emulparams/vxworks.sh \
- $(srcdir)/emultempl/vxworks.em $(ELF_DEPS) \
- $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32ppcvxworks "$(tdir_elf32ppcvxworks)"
eelf32lsmip.c: $(srcdir)/emulparams/elf32lsmip.sh \
$(srcdir)/emulparams/elf32lmip.sh $(srcdir)/emulparams/elf32bmip.sh \
$(ELF_DEPS) $(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc \
${GEN_DEPENDS}
${GENSCRIPTS} elf32lsmip "$(tdir_elf32lsmip)"
+eelf32ltsmip.c: $(srcdir)/emulparams/elf32ltsmip.sh \
+ $(srcdir)/emulparams/elf32btsmip.sh $(srcdir)/emulparams/elf32bmip.sh \
+ $(ELF_DEPS) $(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc \
+ ${GEN_DEPENDS}
+ ${GENSCRIPTS} elf32ltsmip "$(tdir_elf32ltsmip)"
+eelf32ltsmipn32.c: $(srcdir)/emulparams/elf32ltsmipn32.sh \
+ $(srcdir)/emulparams/elf32btsmipn32.sh \
+ $(srcdir)/emulparams/elf32bmipn32-defs.sh $(ELF_DEPS) \
+ $(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} elf32ltsmipn32 "$(tdir_elf32ltsmipn32)"
+eelf32m32c.c: $(srcdir)/emulparams/elf32m32c.sh \
+ $(ELF_DEPS) $(srcdir)/emultempl/needrelax.em \
+ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} elf32m32c "$(tdir_m32c)"
+eelf32mb_linux.c: $(srcdir)/emulparams/elf32mb_linux.sh \
+ $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} elf32mb_linux "$(tdir_microblaze)"
+eelf32mcore.c: $(srcdir)/emulparams/elf32mcore.sh \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} elf32mcore "$(tdir_mcore)"
+eelf32mep.c: $(srcdir)/emulparams/elf32mep.sh \
+ $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/mep.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} elf32mep "$(tdir_mep)"
+eelf32microblaze.c: $(srcdir)/emulparams/elf32microblaze.sh \
+ $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elfmicroblaze.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} elf32microblaze "$(tdir_microblaze)"
+eelf32mipswindiss.c: $(srcdir)/emulparams/elf32mipswindiss.sh $(ELF_DEPS) \
+ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} elf32mipswindiss "$(tdir_elf32mipswindiss)"
+eelf32moxie.c: $(srcdir)/emulparams/elf32moxie.sh \
+ $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} elf32moxie "$(tdir_moxie)"
+eelf32mt.c: $(srcdir)/emulparams/elf32mt.sh \
+ $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} elf32mt "$(tdir_mt)"
eelf32openrisc.c: $(srcdir)/emulparams/elf32openrisc.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} elf32openrisc "$(tdir_openrisc)"
ldemul-list.h \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} elf32ppc_fbsd "$(tdir_elf32ppc_fbsd)"
-eelf32ppcsim.c: $(srcdir)/emulparams/elf32ppcsim.sh \
- $(srcdir)/emulparams/elf32ppc.sh $(srcdir)/emulparams/elf32ppccommon.sh \
- $(srcdir)/emultempl/ppc32elf.em $(ELF_DEPS) \
- ldemul-list.h \
- $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32ppcsim "$(tdir_elf32ppcsim)"
eelf32ppclinux.c: $(srcdir)/emulparams/elf32ppclinux.sh \
$(srcdir)/emulparams/elf32ppc.sh $(srcdir)/emulparams/elf32ppccommon.sh \
$(srcdir)/emultempl/ppc32elf.em $(ELF_DEPS) \
- ldemul-list.h \
- $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32ppclinux "$(tdir_elf32ppclinux)"
-eelf64ppc.c: $(srcdir)/emulparams/elf64ppc.sh $(srcdir)/emultempl/ppc64elf.em \
- ldemul-list.h \
- $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf64ppc "$(tdir_elf64ppc)"
-eelf64lppc.c: $(srcdir)/emulparams/elf64lppc.sh \
- $(srcdir)/emulparams/elf64ppc.sh $(srcdir)/emultempl/ppc64elf.em \
- ldemul-list.h \
- $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf64lppc "$(tdir_elf64lppc)"
-eelf32i370.c: $(srcdir)/emulparams/elf32i370.sh \
- $(ELF_DEPS) $(srcdir)/scripttempl/elfi370.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32i370 "$(tdir_elf32i370)"
-eelf32ip2k.c: $(srcdir)/emulparams/elf32ip2k.sh \
- $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32ip2k "$(tdir_ip2k)"
-eelf32iq2000.c: $(srcdir)/emulparams/elf32iq2000.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/iq2000.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32iq2000 "$(tdir_iq2000)"
-eelf32iq10.c: $(srcdir)/emulparams/elf32iq10.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/iq2000.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32iq10 "$(tdir_iq10)"
-eelf32lm32.c: $(srcdir)/emulparams/elf32lm32.sh \
- $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32lm32 "$(tdir_elf32lm32)"
-eelf32lm32fd.c: $(srcdir)/emulparams/elf32lm32fd.sh \
- $(srcdir)/emulparams/elf32lm32.sh $(ELF_DEPS) \
- $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf32lm32fd "$(tdir_elf32lm32fd)"
-eelf64alpha.c: $(srcdir)/emulparams/elf64alpha.sh \
- $(ELF_DEPS) $(srcdir)/emultempl/alphaelf.em \
- $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf64alpha "$(tdir_elf64alpha)"
-eelf64alpha_fbsd.c: $(srcdir)/emulparams/elf64alpha_fbsd.sh \
- $(srcdir)/emulparams/elf64alpha.sh \
- $(ELF_DEPS) $(srcdir)/emultempl/alphaelf.em \
+ ldemul-list.h \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf64alpha_fbsd "$(tdir_elf64alpha_fbsd)"
-eelf64alpha_nbsd.c: $(srcdir)/emulparams/elf64alpha_nbsd.sh \
- $(srcdir)/emulparams/elf64alpha.sh \
- $(ELF_DEPS) $(srcdir)/emultempl/alphaelf.em \
+ ${GENSCRIPTS} elf32ppclinux "$(tdir_elf32ppclinux)"
+eelf32ppcnto.c: $(srcdir)/emulparams/elf32ppcnto.sh \
+ $(srcdir)/emulparams/elf32ppc.sh $(srcdir)/emulparams/elf32ppccommon.sh \
+ $(srcdir)/emultempl/ppc32elf.em $(ELF_DEPS) \
+ ldemul-list.h \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf64alpha_nbsd "$(tdir_elf64alpha_nbsd)"
-eelf64hppa.c: $(srcdir)/emulparams/elf64hppa.sh \
- $(ELF_DEPS) $(srcdir)/scripttempl/elf64hppa.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf64hppa "$(tdir_elf64hppa)"
-eelf64_aix.c: $(srcdir)/emulparams/elf64_aix.sh \
- $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf64_aix "$(tdir_elf64_aix)"
-eelf64_ia64.c: $(srcdir)/emulparams/elf64_ia64.sh \
- $(ELF_DEPS) $(srcdir)/emultempl/ia64elf.em \
- $(srcdir)/emultempl/needrelax.em \
+ ${GENSCRIPTS} elf32ppcnto "$(tdir_elf32ppcnto)"
+eelf32ppcsim.c: $(srcdir)/emulparams/elf32ppcsim.sh \
+ $(srcdir)/emulparams/elf32ppc.sh $(srcdir)/emulparams/elf32ppccommon.sh \
+ $(srcdir)/emultempl/ppc32elf.em $(ELF_DEPS) \
+ ldemul-list.h \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf64_ia64 "$(tdir_elf64_ia64)"
-eelf64_ia64_fbsd.c: $(srcdir)/emulparams/elf64_ia64_fbsd.sh \
- $(srcdir)/emulparams/elf64_ia64.sh \
- $(ELF_DEPS) $(srcdir)/emultempl/ia64elf.em \
- $(srcdir)/emultempl/needrelax.em \
+ ${GENSCRIPTS} elf32ppcsim "$(tdir_elf32ppcsim)"
+eelf32ppcvxworks.c: $(srcdir)/emulparams/elf32ppcvxworks.sh \
+ $(srcdir)/emulparams/elf32ppccommon.sh $(srcdir)/emulparams/vxworks.sh \
+ $(srcdir)/emultempl/vxworks.em $(ELF_DEPS) \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf64_ia64_fbsd "$(tdir_elf64_ia64_fbsd)"
-eelf64_s390.c: $(srcdir)/emulparams/elf64_s390.sh \
- $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf64_s390 "$(tdir_elf64_s390)"
-eelf64_sparc.c: $(srcdir)/emulparams/elf64_sparc.sh \
- $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf64_sparc "$(tdir_elf64_sparc)"
-eelf64_sparc_fbsd.c: $(srcdir)/emulparams/elf64_sparc_fbsd.sh \
- $(srcdir)/emulparams/elf64_sparc.sh \
+ ${GENSCRIPTS} elf32ppcvxworks "$(tdir_elf32ppcvxworks)"
+eelf32ppcwindiss.c: $(srcdir)/emulparams/elf32ppcwindiss.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf64_sparc_fbsd "$(tdir_elf64_sparc_fbsd)"
-eelf64_sparc_sol2.c: $(srcdir)/emulparams/elf64_sparc_sol2.sh \
- $(srcdir)/emulparams/elf64_sparc.sh \
- $(srcdir)/emulparams/solaris2.sh \
- $(srcdir)/emultempl/solaris2.em \
+ ${GENSCRIPTS} elf32ppcwindiss "$(tdir_elf32ppcwindiss)"
+eelf32rx.c: $(srcdir)/emulparams/elf32rx.sh \
+ $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} elf32rx "$(tdir_elf32rx)"
+eelf32vax.c: $(srcdir)/emulparams/elf32vax.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf64_sparc_sol2 "$(tdir_elf64_sparc_sol2)"
-eelf64bmip.c: $(srcdir)/emulparams/elf64bmip.sh \
- $(srcdir)/emulparams/elf64bmip-defs.sh \
- $(srcdir)/emulparams/elf32bmipn32-defs.sh $(ELF_DEPS) \
- $(srcdir)/emultempl/irix.em $(srcdir)/emultempl/mipself.em \
+ ${GENSCRIPTS} elf32vax "$(tdir_elf32vax)"
+eelf32xc16x.c: $(srcdir)/emulparams/elf32xc16x.sh \
+ $(ELF_DEPS) $(srcdir)/emultempl/needrelax.em \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf64bmip "$(tdir_elf64bmip)"
-eelf64mmix.c: $(srcdir)/emulparams/elf64mmix.sh \
- $(ELF_DEPS) $(srcdir)/emultempl/mmix-elfnmmo.em \
- $(srcdir)/emultempl/mmixelf.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf64mmix "$(tdir_elf64mmix)"
-emmo.c: $(srcdir)/emulparams/mmo.sh $(srcdir)/emultempl/mmix-elfnmmo.em \
- $(srcdir)/emultempl/generic.em $(srcdir)/emultempl/elf-generic.em \
- $(srcdir)/emultempl/mmo.em \
- $(srcdir)/scripttempl/mmo.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} mmo "$(tdir_mmo)"
-eelf64btsmip.c: $(srcdir)/emulparams/elf64btsmip.sh \
- $(srcdir)/emulparams/elf64bmip-defs.sh \
- $(srcdir)/emulparams/elf32bmipn32-defs.sh $(ELF_DEPS) \
- $(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf64btsmip "$(tdir_elf64btsmip)"
-eelf64ltsmip.c: $(srcdir)/emulparams/elf64ltsmip.sh \
- $(srcdir)/emulparams/elf64btsmip.sh $(srcdir)/emulparams/elf64bmip-defs.sh \
- $(srcdir)/emulparams/elf32bmipn32-defs.sh $(ELF_DEPS) \
- $(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf64ltsmip "$(tdir_elf64ltsmip)"
+ ${GENSCRIPTS} elf32xc16x "$(tdir_xc16x)"
+eelf32xc16xl.c: $(srcdir)/emulparams/elf32xc16xl.sh \
+ $(ELF_DEPS) $(srcdir)/emultempl/needrelax.em \
+ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} elf32xc16xl "$(tdir_xc16xl)"
+eelf32xc16xs.c: $(srcdir)/emulparams/elf32xc16xs.sh \
+ $(ELF_DEPS) $(srcdir)/emultempl/needrelax.em \
+ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} elf32xc16xs "$(tdir_xc16xs)"
+eelf32xstormy16.c: $(srcdir)/emulparams/elf32xstormy16.sh \
+ $(ELF_DEPS) $(srcdir)/emultempl/needrelax.em \
+ $(srcdir)/scripttempl/xstormy16.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} elf32xstormy16 "$(tdir_xstormy16)"
+eelf32xtensa.c: $(srcdir)/emulparams/elf32xtensa.sh $(ELF_DEPS) \
+ $(srcdir)/emultempl/xtensaelf.em $(INCDIR)/xtensa-config.h \
+ $(BFDDIR)/elf-bfd.h $(BFDDIR)/libbfd.h $(INCDIR)/elf/xtensa.h \
+ $(srcdir)/scripttempl/elfxtensa.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} elf32xtensa "$(tdir_elf32xtensa)"
eelf_i386.c: $(srcdir)/emulparams/elf_i386.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} elf_i386 "$(tdir_elf_i386)"
-eelf_x86_64.c: $(srcdir)/emulparams/elf_x86_64.sh \
- $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf_x86_64 "$(tdir_elf_x86_64)"
-eelf_x86_64_fbsd.c: $(srcdir)/emulparams/elf_x86_64_fbsd.sh \
- $(srcdir)/emulparams/elf_x86_64.sh \
- $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf_x86_64_fbsd "$(tdir_elf_x86_64_fbsd)"
-eelf_x86_64_sol2.c: $(srcdir)/emulparams/elf_x86_64_sol2.sh \
- $(srcdir)/emulparams/elf_x86_64.sh \
- $(srcdir)/emulparams/solaris2.sh \
- $(srcdir)/emultempl/solaris2.em \
- $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf_x86_64_sol2 "$(tdir_elf_x86_64_sol2)"
-eelf_l1om.c: $(srcdir)/emulparams/elf_l1om.sh \
- $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf_l1om "$(tdir_elf_l1om)"
-eelf_l1om_fbsd.c: $(srcdir)/emulparams/elf_l1om_fbsd.sh \
- $(srcdir)/emulparams/elf_l1om.sh \
- $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} elf_l1om_fbsd "$(tdir_elf_l1om_fbsd)"
eelf_i386_be.c: $(srcdir)/emulparams/elf_i386_be.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} elf_i386_be "$(tdir_elf_i386_be)"
eh8300.c: $(srcdir)/emulparams/h8300.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/h8300.sc ${GEN_DEPENDS}
${GENSCRIPTS} h8300 "$(tdir_h8300)"
+eh8300elf.c: $(srcdir)/emulparams/h8300elf.sh \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} h8300elf "$(tdir_h8300elf)"
eh8300h.c: $(srcdir)/emulparams/h8300h.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/h8300h.sc ${GEN_DEPENDS}
${GENSCRIPTS} h8300h "$(tdir_h8300h)"
-eh8300s.c: $(srcdir)/emulparams/h8300s.sh \
- $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/h8300s.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} h8300s "$(tdir_h8300s)"
+eh8300helf.c: $(srcdir)/emulparams/h8300helf.sh \
+ $(srcdir)/emulparams/h8300elf.sh \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} h8300helf "$(tdir_h8300helf)"
eh8300hn.c: $(srcdir)/emulparams/h8300hn.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/h8300hn.sc ${GEN_DEPENDS}
${GENSCRIPTS} h8300hn "$(tdir_h8300hn)"
-eh8300sn.c: $(srcdir)/emulparams/h8300sn.sh \
- $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/h8300sn.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} h8300sn "$(tdir_h8300sn)"
-eh8300sx.c: $(srcdir)/emulparams/h8300sx.sh \
- $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/h8300sx.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} h8300sx "$(tdir_h8300sx)"
-eh8300sxn.c: $(srcdir)/emulparams/h8300sxn.sh \
- $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/h8300sxn.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} h8300sxn "$(tdir_h8300sxn)"
-eh8300elf.c: $(srcdir)/emulparams/h8300elf.sh \
- $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} h8300elf "$(tdir_h8300elf)"
-eh8300helf.c: $(srcdir)/emulparams/h8300helf.sh \
+eh8300hnelf.c: $(srcdir)/emulparams/h8300hnelf.sh \
$(srcdir)/emulparams/h8300elf.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} h8300helf "$(tdir_h8300helf)"
+ ${GENSCRIPTS} h8300hnelf "$(tdir_h8300hnelf)"
+eh8300s.c: $(srcdir)/emulparams/h8300s.sh \
+ $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/h8300s.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} h8300s "$(tdir_h8300s)"
eh8300self.c: $(srcdir)/emulparams/h8300self.sh \
$(srcdir)/emulparams/h8300elf.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} h8300self "$(tdir_h8300self)"
-eh8300hnelf.c: $(srcdir)/emulparams/h8300hnelf.sh \
- $(srcdir)/emulparams/h8300elf.sh \
- $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} h8300hnelf "$(tdir_h8300hnelf)"
+eh8300sn.c: $(srcdir)/emulparams/h8300sn.sh \
+ $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/h8300sn.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} h8300sn "$(tdir_h8300sn)"
eh8300snelf.c: $(srcdir)/emulparams/h8300snelf.sh \
$(srcdir)/emulparams/h8300elf.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} h8300snelf "$(tdir_h8300snelf)"
+eh8300sx.c: $(srcdir)/emulparams/h8300sx.sh \
+ $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/h8300sx.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} h8300sx "$(tdir_h8300sx)"
eh8300sxelf.c: $(srcdir)/emulparams/h8300sxelf.sh \
$(srcdir)/emulparams/h8300elf.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} h8300sxelf "$(tdir_h8300sxelf)"
+eh8300sxn.c: $(srcdir)/emulparams/h8300sxn.sh \
+ $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/h8300sxn.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} h8300sxn "$(tdir_h8300sxn)"
eh8300sxnelf.c: $(srcdir)/emulparams/h8300sxnelf.sh \
$(srcdir)/emulparams/h8300elf.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
$(ELF_DEPS) $(srcdir)/emultempl/hppaelf.em \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} hppaobsd "$(tdir_hppaobsd)"
-ehppa64linux.c: $(srcdir)/emulparams/hppa64linux.sh \
- $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} hppa64linux "$(tdir_hppa64linux)"
ei386aout.c: $(srcdir)/emulparams/i386aout.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/aout.sc ${GEN_DEPENDS}
${GENSCRIPTS} i386aout "$(tdir_i386aout)"
elnk960.c: $(srcdir)/emulparams/lnk960.sh \
$(srcdir)/emultempl/lnk960.em $(srcdir)/scripttempl/i960.sc ${GEN_DEPENDS}
${GENSCRIPTS} lnk960 "$(tdir_lnk960)"
+em32relf.c: $(srcdir)/emulparams/m32relf.sh \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} m32relf "$(tdir_m32r)"
+em32relf_linux.c: $(srcdir)/emulparams/m32relf_linux.sh \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} m32relf_linux "$(tdir_m32relf_linux)"
+em32rlelf.c: $(srcdir)/emulparams/m32rlelf.sh \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} m32rlelf "$(tdir_m32rlelf)"
+em32rlelf_linux.c: $(srcdir)/emulparams/m32rlelf_linux.sh \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} m32rlelf_linux "$(tdir_m32rlelf_linux)"
em68hc11elf.c: $(srcdir)/emulparams/m68hc11elf.sh \
$(srcdir)/emultempl/m68hc1xelf.em $(ELF_DEPS) \
$(srcdir)/scripttempl/elfm68hc11.sc ${GEN_DEPENDS}
emipspe.c: $(srcdir)/emulparams/mipspe.sh $(srcdir)/emultempl/pe.em \
$(srcdir)/scripttempl/pe.sc ${GEN_DEPENDS}
${GENSCRIPTS} mipspe "$(tdir_mipspe)"
+emn10200.c: $(srcdir)/emulparams/mn10200.sh \
+ $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} mn10200 "$(tdir_mn10200)"
emn10300.c: $(srcdir)/emulparams/mn10300.sh \
$(srcdir)/emulparams/mn10200.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} mn10300 "$(tdir_mn10300)"
-emn10200.c: $(srcdir)/emulparams/mn10200.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} mn10200 "$(tdir_mn10200)"
emsp430x110.c: $(srcdir)/emulparams/msp430all.sh \
$(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
${GEN_DEPENDS}
${GENSCRIPTS} msp430x110 "$(tdir_msp430x110)" msp430all
-emsp430x112.c: $(srcdir)/emulparams/msp430all.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x112 "$(tdir_msp430x112)" msp430all
emsp430x1101.c: $(srcdir)/emulparams/msp430all.sh \
$(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
${GEN_DEPENDS}
$(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
${GEN_DEPENDS}
${GENSCRIPTS} msp430x1111 "$(tdir_msp430x1111)" msp430all
+emsp430x112.c: $(srcdir)/emulparams/msp430all.sh \
+ $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
+ ${GEN_DEPENDS}
+ ${GENSCRIPTS} msp430x112 "$(tdir_msp430x112)" msp430all
emsp430x1121.c: $(srcdir)/emulparams/msp430all.sh \
$(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
${GEN_DEPENDS}
$(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
${GEN_DEPENDS}
${GENSCRIPTS} msp430x122 "$(tdir_msp430x122)" msp430all
-emsp430x123.c: $(srcdir)/emulparams/msp430all.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x123 "$(tdir_msp430x123)" msp430all
emsp430x1222.c: $(srcdir)/emulparams/msp430all.sh \
$(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
${GEN_DEPENDS}
${GENSCRIPTS} msp430x1222 "$(tdir_msp430x1222)" msp430all
+emsp430x123.c: $(srcdir)/emulparams/msp430all.sh \
+ $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
+ ${GEN_DEPENDS}
+ ${GENSCRIPTS} msp430x123 "$(tdir_msp430x123)" msp430all
emsp430x1232.c: $(srcdir)/emulparams/msp430all.sh \
$(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
${GEN_DEPENDS}
$(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
${GEN_DEPENDS}
${GENSCRIPTS} msp430x133 "$(tdir_msp430x133)" msp430all
-emsp430x135.c: $(srcdir)/emulparams/msp430all.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x135 "$(tdir_msp430x135)" msp430all
emsp430x1331.c: $(srcdir)/emulparams/msp430all.sh \
$(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
${GEN_DEPENDS}
${GENSCRIPTS} msp430x1331 "$(tdir_msp430x1331)" msp430all
+emsp430x135.c: $(srcdir)/emulparams/msp430all.sh \
+ $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
+ ${GEN_DEPENDS}
+ ${GENSCRIPTS} msp430x135 "$(tdir_msp430x135)" msp430all
emsp430x1351.c: $(srcdir)/emulparams/msp430all.sh \
$(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
${GEN_DEPENDS}
$(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
${GEN_DEPENDS}
${GENSCRIPTS} msp430x157 "$(tdir_msp430x157)" msp430all
-emsp430x167.c: $(srcdir)/emulparams/msp430all.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x167 "$(tdir_msp430x167)" msp430all
-emsp430x168.c: $(srcdir)/emulparams/msp430all.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x168 "$(tdir_msp430x168)" msp430all
-emsp430x169.c: $(srcdir)/emulparams/msp430all.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x169 "$(tdir_msp430x169)" msp430all
emsp430x1610.c: $(srcdir)/emulparams/msp430all.sh \
$(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
${GEN_DEPENDS}
$(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
${GEN_DEPENDS}
${GENSCRIPTS} msp430x1612 "$(tdir_msp430x1612)" msp430all
+emsp430x167.c: $(srcdir)/emulparams/msp430all.sh \
+ $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
+ ${GEN_DEPENDS}
+ ${GENSCRIPTS} msp430x167 "$(tdir_msp430x167)" msp430all
+emsp430x168.c: $(srcdir)/emulparams/msp430all.sh \
+ $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
+ ${GEN_DEPENDS}
+ ${GENSCRIPTS} msp430x168 "$(tdir_msp430x168)" msp430all
+emsp430x169.c: $(srcdir)/emulparams/msp430all.sh \
+ $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
+ ${GEN_DEPENDS}
+ ${GENSCRIPTS} msp430x169 "$(tdir_msp430x169)" msp430all
emsp430x2101.c: $(srcdir)/emulparams/msp430all.sh \
$(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
${GEN_DEPENDS}
emsp430x412.c: $(srcdir)/emulparams/msp430all.sh \
$(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x412 "$(tdir_msp430x412)" msp430all
-emsp430x413.c: $(srcdir)/emulparams/msp430all.sh \
+ ${GENSCRIPTS} msp430x412 "$(tdir_msp430x412)" msp430all
+emsp430x413.c: $(srcdir)/emulparams/msp430all.sh \
+ $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
+ ${GEN_DEPENDS}
+ ${GENSCRIPTS} msp430x413 "$(tdir_msp430x413)" msp430all
+emsp430x415.c: $(srcdir)/emulparams/msp430all.sh \
+ $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
+ ${GEN_DEPENDS}
+ ${GENSCRIPTS} msp430x415 "$(tdir_msp430x415)" msp430all
+emsp430x417.c: $(srcdir)/emulparams/msp430all.sh \
+ $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
+ ${GEN_DEPENDS}
+ ${GENSCRIPTS} msp430x417 "$(tdir_msp430x417)" msp430all
+emsp430x435.c: $(srcdir)/emulparams/msp430all.sh \
+ $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
+ ${GEN_DEPENDS}
+ ${GENSCRIPTS} msp430x435 "$(tdir_msp430x435)" msp430all
+emsp430x436.c: $(srcdir)/emulparams/msp430all.sh \
+ $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
+ ${GEN_DEPENDS}
+ ${GENSCRIPTS} msp430x436 "$(tdir_msp430x436)" msp430all
+emsp430x437.c: $(srcdir)/emulparams/msp430all.sh \
+ $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
+ ${GEN_DEPENDS}
+ ${GENSCRIPTS} msp430x437 "$(tdir_msp430x437)" msp430all
+emsp430x447.c: $(srcdir)/emulparams/msp430all.sh \
$(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x413 "$(tdir_msp430x413)" msp430all
-emsp430x415.c: $(srcdir)/emulparams/msp430all.sh \
+ ${GENSCRIPTS} msp430x447 "$(tdir_msp430x447)" msp430all
+emsp430x448.c: $(srcdir)/emulparams/msp430all.sh \
$(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x415 "$(tdir_msp430x415)" msp430all
-emsp430x417.c: $(srcdir)/emulparams/msp430all.sh \
+ ${GENSCRIPTS} msp430x448 "$(tdir_msp430x448)" msp430all
+emsp430x449.c: $(srcdir)/emulparams/msp430all.sh \
$(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x417 "$(tdir_msp430x417)" msp430all
+ ${GENSCRIPTS} msp430x449 "$(tdir_msp430x449)" msp430all
emsp430xE423.c: $(srcdir)/emulparams/msp430all.sh \
$(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
${GEN_DEPENDS}
$(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
${GEN_DEPENDS}
${GENSCRIPTS} msp430xE427 "$(tdir_msp430xE427)" msp430all
-emsp430xW423.c: $(srcdir)/emulparams/msp430all.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430xW423 "$(tdir_msp430xW423)" msp430all
-emsp430xW425.c: $(srcdir)/emulparams/msp430all.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430xW425 "$(tdir_msp430xW425)" msp430all
-emsp430xW427.c: $(srcdir)/emulparams/msp430all.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430xW427 "$(tdir_msp430xW427)" msp430all
emsp430xG437.c: $(srcdir)/emulparams/msp430all.sh \
$(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
${GEN_DEPENDS}
$(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
${GEN_DEPENDS}
${GENSCRIPTS} msp430xG439 "$(tdir_msp430xG439)" msp430all
-emsp430x435.c: $(srcdir)/emulparams/msp430all.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x435 "$(tdir_msp430x435)" msp430all
-emsp430x436.c: $(srcdir)/emulparams/msp430all.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x436 "$(tdir_msp430x436)" msp430all
-emsp430x437.c: $(srcdir)/emulparams/msp430all.sh \
- $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x437 "$(tdir_msp430x437)" msp430all
-emsp430x447.c: $(srcdir)/emulparams/msp430all.sh \
+emsp430xW423.c: $(srcdir)/emulparams/msp430all.sh \
$(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x447 "$(tdir_msp430x447)" msp430all
-emsp430x448.c: $(srcdir)/emulparams/msp430all.sh \
+ ${GENSCRIPTS} msp430xW423 "$(tdir_msp430xW423)" msp430all
+emsp430xW425.c: $(srcdir)/emulparams/msp430all.sh \
$(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x448 "$(tdir_msp430x448)" msp430all
-emsp430x449.c: $(srcdir)/emulparams/msp430all.sh \
+ ${GENSCRIPTS} msp430xW425 "$(tdir_msp430xW425)" msp430all
+emsp430xW427.c: $(srcdir)/emulparams/msp430all.sh \
$(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc \
${GEN_DEPENDS}
- ${GENSCRIPTS} msp430x449 "$(tdir_msp430x449)" msp430all
+ ${GENSCRIPTS} msp430xW427 "$(tdir_msp430xW427)" msp430all
enews.c: $(srcdir)/emulparams/news.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/aout.sc ${GEN_DEPENDS}
${GENSCRIPTS} news "$(tdir_news)"
epjlelf.c: $(srcdir)/emulparams/pjlelf.sh $(srcdir)/emulparams/pjelf.sh \
$(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} pjlelf "$(tdir_pjlelf)"
+eppclynx.c: $(srcdir)/emulparams/ppclynx.sh \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} ppclynx "$(tdir_ppclynx)"
eppcmacos.c: $(srcdir)/emulparams/ppcmacos.sh \
$(srcdir)/emultempl/aix.em $(srcdir)/scripttempl/aix.sc ${GEN_DEPENDS}
${GENSCRIPTS} ppcmacos "$(tdir_ppcmacos)"
eppcpe.c: $(srcdir)/emulparams/ppcpe.sh \
$(srcdir)/emultempl/pe.em $(srcdir)/scripttempl/ppcpe.sc ${GEN_DEPENDS}
${GENSCRIPTS} ppcpe "$(tdir_ppcpe)"
-eppclynx.c: $(srcdir)/emulparams/ppclynx.sh \
- $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} ppclynx "$(tdir_ppclynx)"
eriscix.c: $(srcdir)/emulparams/riscix.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/aout.sc ${GEN_DEPENDS}
${GENSCRIPTS} riscix "$(tdir_riscix)"
$(srcdir)/emultempl/sh64elf.em $(INCDIR)/elf/sh.h $(BFDDIR)/elf-bfd.h \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} shelf32_nbsd "$(tdir_shelf32_nbsd)"
-eshelf64.c: $(srcdir)/emulparams/shelf64.sh $(srcdir)/emulparams/shelf32.sh \
- $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} shelf64 "$(tdir_shelf64)"
-eshelf64_nbsd.c: $(srcdir)/emulparams/shelf64_nbsd.sh \
- $(srcdir)/emulparams/shelf32_nbsd.sh $(srcdir)/emulparams/shelf32.sh \
- $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} shelf64_nbsd "$(tdir_shelf64_nbsd)"
eshelf_fd.c: $(srcdir)/emulparams/shelf_fd.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} shelf_fd "$(tdir_shelf_fd)"
-eshlelf_fd.c: $(srcdir)/emulparams/shlelf_fd.sh \
- $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} shlelf_fd "$(tdir_shlelf_fd)"
eshelf_linux.c: $(srcdir)/emulparams/shelf_linux.sh \
$(srcdir)/emulparams/shlelf_linux.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} shelf_linux "$(tdir_shelf_linux)"
-eshlelf_linux.c: $(srcdir)/emulparams/shlelf_linux.sh \
- $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} shlelf_linux "$(tdir_shlelf_linux)"
eshelf_nbsd.c: $(srcdir)/emulparams/shelf_nbsd.sh \
$(srcdir)/emulparams/shelf.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
eshelf_nto.c: $(srcdir)/emulparams/shelf_nto.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} shelf_nto "$(tdir_shelf_nto)"
+eshelf_uclinux.c: $(srcdir)/emulparams/shelf_uclinux.sh \
+ $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} shelf_uclinux "$(tdir_shelf_uclinux)"
eshelf_vxworks.c: $(srcdir)/emulparams/shelf_vxworks.sh \
$(srcdir)/emulparams/vxworks.sh $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc \
$(srcdir)/emultempl/vxworks.em ${GEN_DEPENDS}
${GENSCRIPTS} shelf_vxworks "$(tdir_shelf_vxworks)"
-eshlelf_nbsd.c: $(srcdir)/emulparams/shlelf_nbsd.sh \
- $(srcdir)/emulparams/shelf_nbsd.sh \
- $(srcdir)/emulparams/shelf.sh \
- $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} shlelf_nbsd "$(tdir_shlelf_nbsd)"
-eshlelf_nto.c: $(srcdir)/emulparams/shlelf_nto.sh \
- $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} shlelf_nto "$(tdir_shlelf_nto)"
-eshlelf_vxworks.c: $(srcdir)/emulparams/shlelf_vxworks.sh \
- $(srcdir)/emulparams/shelf_vxworks.sh $(srcdir)/emulparams/vxworks.sh \
- $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc $(srcdir)/emultempl/vxworks.em \
- ${GEN_DEPENDS}
- ${GENSCRIPTS} shlelf_vxworks "$(tdir_shlelf_vxworks)"
-eshelf_uclinux.c: $(srcdir)/emulparams/shelf_uclinux.sh \
- $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} shelf_uclinux "$(tdir_shelf_uclinux)"
+eshl.c: $(srcdir)/emulparams/shl.sh \
+ $(srcdir)/emulparams/sh.sh \
+ $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/sh.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} shl "$(tdir_shl)"
eshlelf.c: $(srcdir)/emulparams/shlelf.sh \
$(srcdir)/emulparams/shelf.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} shlelf "$(tdir_shlelf)"
-eshlsymbian.c: $(srcdir)/emulparams/shlsymbian.sh \
- $(srcdir)/emulparams/shelf.sh \
- $(ELF_DEPS) $(srcdir)/scripttempl/elf32sh-symbian.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} shlsymbian "$(tdir_shlelf)"
eshlelf32.c: $(srcdir)/emulparams/shlelf32.sh \
$(BFDDIR)/libbfd.h $(INCDIR)/libiberty.h $(srcdir)/emulparams/shelf32.sh \
$(srcdir)/emultempl/sh64elf.em $(INCDIR)/elf/sh.h $(BFDDIR)/elf-bfd.h \
$(srcdir)/emultempl/sh64elf.em $(INCDIR)/elf/sh.h $(BFDDIR)/elf-bfd.h \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} shlelf32_nbsd "$(tdir_shlelf32_nbsd)"
-eshlelf64.c: $(srcdir)/emulparams/shlelf64.sh \
- $(srcdir)/emulparams/shelf64.sh $(srcdir)/emulparams/shelf32.sh \
+eshlelf_fd.c: $(srcdir)/emulparams/shlelf_fd.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} shlelf64 "$(tdir_shlelf64)"
-eshlelf64_nbsd.c: $(srcdir)/emulparams/shlelf64_nbsd.sh \
- $(srcdir)/emulparams/shelf64_nbsd.sh \
- $(srcdir)/emulparams/shelf32_nbsd.sh $(srcdir)/emulparams/shelf32.sh \
+ ${GENSCRIPTS} shlelf_fd "$(tdir_shlelf_fd)"
+eshlelf_linux.c: $(srcdir)/emulparams/shlelf_linux.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} shlelf64_nbsd "$(tdir_shlelf64_nbsd)"
-eshl.c: $(srcdir)/emulparams/shl.sh \
- $(srcdir)/emulparams/sh.sh \
- $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/sh.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} shl "$(tdir_shl)"
+ ${GENSCRIPTS} shlelf_linux "$(tdir_shlelf_linux)"
+eshlelf_nbsd.c: $(srcdir)/emulparams/shlelf_nbsd.sh \
+ $(srcdir)/emulparams/shelf_nbsd.sh \
+ $(srcdir)/emulparams/shelf.sh \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} shlelf_nbsd "$(tdir_shlelf_nbsd)"
+eshlelf_nto.c: $(srcdir)/emulparams/shlelf_nto.sh \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} shlelf_nto "$(tdir_shlelf_nto)"
+eshlelf_vxworks.c: $(srcdir)/emulparams/shlelf_vxworks.sh \
+ $(srcdir)/emulparams/shelf_vxworks.sh $(srcdir)/emulparams/vxworks.sh \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc $(srcdir)/emultempl/vxworks.em \
+ ${GEN_DEPENDS}
+ ${GENSCRIPTS} shlelf_vxworks "$(tdir_shlelf_vxworks)"
+eshlsymbian.c: $(srcdir)/emulparams/shlsymbian.sh \
+ $(srcdir)/emulparams/shelf.sh \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf32sh-symbian.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} shlsymbian "$(tdir_shlelf)"
eshpe.c: $(srcdir)/emulparams/shpe.sh \
$(srcdir)/emultempl/pe.em $(srcdir)/scripttempl/pe.sc ${GEN_DEPENDS}
${GENSCRIPTS} shpe "$(tdir_shl)"
etic80coff.c: $(srcdir)/emulparams/tic80coff.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/tic80coff.sc ${GEN_DEPENDS}
${GENSCRIPTS} tic80coff "$(tdir_tic80coff)"
+ev850.c: $(srcdir)/emulparams/v850.sh \
+ $(ELF_DEPS) $(srcdir)/scripttempl/v850.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} v850 "$(tdir_v850)"
evanilla.c: $(srcdir)/emulparams/vanilla.sh \
$(srcdir)/emultempl/vanilla.em $(srcdir)/scripttempl/vanilla.sc ${GEN_DEPENDS}
${GENSCRIPTS} vanilla "$(tdir_vanilla)"
evsta.c: $(srcdir)/emulparams/vsta.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/aout.sc ${GEN_DEPENDS}
${GENSCRIPTS} vsta "$(tdir_vsta)"
-ev850.c: $(srcdir)/emulparams/v850.sh \
- $(ELF_DEPS) $(srcdir)/scripttempl/v850.sc ${GEN_DEPENDS}
- ${GENSCRIPTS} v850 "$(tdir_v850)"
ew65.c: $(srcdir)/emulparams/w65.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/w65.sc ${GEN_DEPENDS}
${GENSCRIPTS} w65 "$(tdir_w65)"
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/z8000.sc ${GEN_DEPENDS}
${GENSCRIPTS} z8002 "$(tdir_z8002)"
+eelf32_x86_64.c: $(srcdir)/emulparams/elf32_x86_64.sh \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} elf32_x86_64 "$(tdir_elf32_x86_64)"
+eelf64_aix.c: $(srcdir)/emulparams/elf64_aix.sh \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} elf64_aix "$(tdir_elf64_aix)"
+eelf64_ia64.c: $(srcdir)/emulparams/elf64_ia64.sh \
+ $(ELF_DEPS) $(srcdir)/emultempl/ia64elf.em \
+ $(srcdir)/emultempl/needrelax.em \
+ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} elf64_ia64 "$(tdir_elf64_ia64)"
+eelf64_ia64_fbsd.c: $(srcdir)/emulparams/elf64_ia64_fbsd.sh \
+ $(srcdir)/emulparams/elf64_ia64.sh \
+ $(ELF_DEPS) $(srcdir)/emultempl/ia64elf.em \
+ $(srcdir)/emultempl/needrelax.em \
+ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} elf64_ia64_fbsd "$(tdir_elf64_ia64_fbsd)"
+eelf64_s390.c: $(srcdir)/emulparams/elf64_s390.sh \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} elf64_s390 "$(tdir_elf64_s390)"
+eelf64_sparc.c: $(srcdir)/emulparams/elf64_sparc.sh \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} elf64_sparc "$(tdir_elf64_sparc)"
+eelf64_sparc_fbsd.c: $(srcdir)/emulparams/elf64_sparc_fbsd.sh \
+ $(srcdir)/emulparams/elf64_sparc.sh \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} elf64_sparc_fbsd "$(tdir_elf64_sparc_fbsd)"
+eelf64_sparc_sol2.c: $(srcdir)/emulparams/elf64_sparc_sol2.sh \
+ $(srcdir)/emulparams/elf64_sparc.sh \
+ $(srcdir)/emulparams/solaris2.sh \
+ $(srcdir)/emultempl/solaris2.em \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} elf64_sparc_sol2 "$(tdir_elf64_sparc_sol2)"
+eelf64alpha.c: $(srcdir)/emulparams/elf64alpha.sh \
+ $(ELF_DEPS) $(srcdir)/emultempl/alphaelf.em \
+ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} elf64alpha "$(tdir_elf64alpha)"
+eelf64alpha_fbsd.c: $(srcdir)/emulparams/elf64alpha_fbsd.sh \
+ $(srcdir)/emulparams/elf64alpha.sh \
+ $(ELF_DEPS) $(srcdir)/emultempl/alphaelf.em \
+ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} elf64alpha_fbsd "$(tdir_elf64alpha_fbsd)"
+eelf64alpha_nbsd.c: $(srcdir)/emulparams/elf64alpha_nbsd.sh \
+ $(srcdir)/emulparams/elf64alpha.sh \
+ $(ELF_DEPS) $(srcdir)/emultempl/alphaelf.em \
+ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} elf64alpha_nbsd "$(tdir_elf64alpha_nbsd)"
+eelf64bmip.c: $(srcdir)/emulparams/elf64bmip.sh \
+ $(srcdir)/emulparams/elf64bmip-defs.sh \
+ $(srcdir)/emulparams/elf32bmipn32-defs.sh $(ELF_DEPS) \
+ $(srcdir)/emultempl/irix.em $(srcdir)/emultempl/mipself.em \
+ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} elf64bmip "$(tdir_elf64bmip)"
+eelf64btsmip.c: $(srcdir)/emulparams/elf64btsmip.sh \
+ $(srcdir)/emulparams/elf64bmip-defs.sh \
+ $(srcdir)/emulparams/elf32bmipn32-defs.sh $(ELF_DEPS) \
+ $(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} elf64btsmip "$(tdir_elf64btsmip)"
+eelf64hppa.c: $(srcdir)/emulparams/elf64hppa.sh \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf64hppa.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} elf64hppa "$(tdir_elf64hppa)"
+eelf64lppc.c: $(srcdir)/emulparams/elf64lppc.sh \
+ $(srcdir)/emulparams/elf64ppc.sh $(srcdir)/emultempl/ppc64elf.em \
+ ldemul-list.h \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} elf64lppc "$(tdir_elf64lppc)"
+eelf64ltsmip.c: $(srcdir)/emulparams/elf64ltsmip.sh \
+ $(srcdir)/emulparams/elf64btsmip.sh $(srcdir)/emulparams/elf64bmip-defs.sh \
+ $(srcdir)/emulparams/elf32bmipn32-defs.sh $(ELF_DEPS) \
+ $(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} elf64ltsmip "$(tdir_elf64ltsmip)"
+eelf64mmix.c: $(srcdir)/emulparams/elf64mmix.sh \
+ $(ELF_DEPS) $(srcdir)/emultempl/mmix-elfnmmo.em \
+ $(srcdir)/emultempl/mmixelf.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} elf64mmix "$(tdir_elf64mmix)"
+eelf64ppc.c: $(srcdir)/emulparams/elf64ppc.sh $(srcdir)/emultempl/ppc64elf.em \
+ ldemul-list.h \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} elf64ppc "$(tdir_elf64ppc)"
+eelf_l1om.c: $(srcdir)/emulparams/elf_l1om.sh \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} elf_l1om "$(tdir_elf_l1om)"
+eelf_l1om_fbsd.c: $(srcdir)/emulparams/elf_l1om_fbsd.sh \
+ $(srcdir)/emulparams/elf_l1om.sh \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} elf_l1om_fbsd "$(tdir_elf_l1om_fbsd)"
+eelf_x86_64.c: $(srcdir)/emulparams/elf_x86_64.sh \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} elf_x86_64 "$(tdir_elf_x86_64)"
+eelf_x86_64_fbsd.c: $(srcdir)/emulparams/elf_x86_64_fbsd.sh \
+ $(srcdir)/emulparams/elf_x86_64.sh \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} elf_x86_64_fbsd "$(tdir_elf_x86_64_fbsd)"
+eelf_x86_64_sol2.c: $(srcdir)/emulparams/elf_x86_64_sol2.sh \
+ $(srcdir)/emulparams/elf_x86_64.sh \
+ $(srcdir)/emulparams/solaris2.sh \
+ $(srcdir)/emultempl/solaris2.em \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} elf_x86_64_sol2 "$(tdir_elf_x86_64_sol2)"
+ehppa64linux.c: $(srcdir)/emulparams/hppa64linux.sh \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} hppa64linux "$(tdir_hppa64linux)"
+emmo.c: $(srcdir)/emulparams/mmo.sh $(srcdir)/emultempl/mmix-elfnmmo.em \
+ $(srcdir)/emultempl/generic.em $(srcdir)/emultempl/elf-generic.em \
+ $(srcdir)/emultempl/mmo.em \
+ $(srcdir)/scripttempl/mmo.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} mmo "$(tdir_mmo)"
+eshelf64.c: $(srcdir)/emulparams/shelf64.sh $(srcdir)/emulparams/shelf32.sh \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} shelf64 "$(tdir_shelf64)"
+eshelf64_nbsd.c: $(srcdir)/emulparams/shelf64_nbsd.sh \
+ $(srcdir)/emulparams/shelf32_nbsd.sh $(srcdir)/emulparams/shelf32.sh \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} shelf64_nbsd "$(tdir_shelf64_nbsd)"
+eshlelf64.c: $(srcdir)/emulparams/shlelf64.sh \
+ $(srcdir)/emulparams/shelf64.sh $(srcdir)/emulparams/shelf32.sh \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} shlelf64 "$(tdir_shlelf64)"
+eshlelf64_nbsd.c: $(srcdir)/emulparams/shlelf64_nbsd.sh \
+ $(srcdir)/emulparams/shelf64_nbsd.sh \
+ $(srcdir)/emulparams/shelf32_nbsd.sh $(srcdir)/emulparams/shelf32.sh \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} shlelf64_nbsd "$(tdir_shlelf64_nbsd)"
+
check-DEJAGNU: site.exp
srcroot=`cd $(srcdir) && pwd`; export srcroot; \
r=`pwd`; export r; \
LIBINTL_DEP
LIBINTL
USE_NLS
+CXXCPP
OTOOL64
OTOOL
LIPO
FGREP
SED
LIBTOOL
+am__fastdepCXX_FALSE
+am__fastdepCXX_TRUE
+CXXDEPMODE
+ac_ct_CXX
+CXXFLAGS
+CXX
NO_WERROR
WARN_CFLAGS
EGREP
LIBS
CPPFLAGS
CPP
+CXX
+CXXFLAGS
+CCC
+CXXCPP
YACC
YFLAGS'
CPPFLAGS C/C++/Objective C preprocessor flags, e.g. -I<include dir> if
you have headers in a nonstandard directory <include dir>
CPP C preprocessor
+ CXX C++ compiler command
+ CXXFLAGS C++ compiler flags
+ CXXCPP C++ preprocessor
YACC The `Yet Another C Compiler' implementation to use. Defaults to
the first program found out of: `bison -y', `byacc', `yacc'.
YFLAGS The list of arguments that will be passed by default to $YACC.
} # ac_fn_c_try_cpp
+# ac_fn_cxx_try_compile LINENO
+# ----------------------------
+# Try to compile conftest.$ac_ext, and return whether this succeeded.
+ac_fn_cxx_try_compile ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ rm -f conftest.$ac_objext
+ if { { ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_compile") 2>conftest.err
+ ac_status=$?
+ if test -s conftest.err; then
+ grep -v '^ *+' conftest.err >conftest.er1
+ cat conftest.er1 >&5
+ mv -f conftest.er1 conftest.err
+ fi
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } && {
+ test -z "$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then :
+ ac_retval=0
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_retval=1
+fi
+ eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+ return $ac_retval
+
+} # ac_fn_cxx_try_compile
+
# ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES
# -------------------------------------------------------
# Tests whether HEADER exists, giving a warning if it cannot be compiled using
} # ac_fn_c_check_func
+# ac_fn_cxx_try_cpp LINENO
+# ------------------------
+# Try to preprocess conftest.$ac_ext, and return whether this succeeded.
+ac_fn_cxx_try_cpp ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ if { { ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err
+ ac_status=$?
+ if test -s conftest.err; then
+ grep -v '^ *+' conftest.err >conftest.er1
+ cat conftest.er1 >&5
+ mv -f conftest.er1 conftest.err
+ fi
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } >/dev/null && {
+ test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ }; then :
+ ac_retval=0
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_retval=1
+fi
+ eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+ return $ac_retval
+
+} # ac_fn_cxx_try_cpp
+
+# ac_fn_cxx_try_link LINENO
+# -------------------------
+# Try to link conftest.$ac_ext, and return whether this succeeded.
+ac_fn_cxx_try_link ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ rm -f conftest.$ac_objext conftest$ac_exeext
+ if { { ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_link") 2>conftest.err
+ ac_status=$?
+ if test -s conftest.err; then
+ grep -v '^ *+' conftest.err >conftest.er1
+ cat conftest.er1 >&5
+ mv -f conftest.er1 conftest.err
+ fi
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } && {
+ test -z "$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then :
+ ac_retval=0
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_retval=1
+fi
+ # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information
+ # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would
+ # interfere with the next link command; also delete a directory that is
+ # left behind by Apple's compiler. We do this before executing the actions.
+ rm -rf conftest.dSYM conftest_ipa8_conftest.oo
+ eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+ return $ac_retval
+
+} # ac_fn_cxx_try_link
+
# ac_fn_c_check_decl LINENO SYMBOL VAR
# ------------------------------------
# Tests whether SYMBOL is declared, setting cache variable VAR accordingly.
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_c_compiler_gnu
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
-$as_echo_n "checking for ANSI C header files... " >&6; }
-if test "${ac_cv_header_stdc+set}" = set; then :
+ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+if test -z "$CXX"; then
+ if test -n "$CCC"; then
+ CXX=$CCC
+ else
+ if test -n "$ac_tool_prefix"; then
+ for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC
+ do
+ # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_CXX+set}" = set; then :
$as_echo_n "(cached) " >&6
else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <stdlib.h>
-#include <stdarg.h>
-#include <string.h>
-#include <float.h>
-
-int
-main ()
-{
+ if test -n "$CXX"; then
+ ac_cv_prog_CXX="$CXX" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_CXX="$ac_tool_prefix$ac_prog"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_header_stdc=yes
+fi
+fi
+CXX=$ac_cv_prog_CXX
+if test -n "$CXX"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5
+$as_echo "$CXX" >&6; }
else
- ac_cv_header_stdc=no
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-if test $ac_cv_header_stdc = yes; then
- # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <string.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "memchr" >/dev/null 2>&1; then :
-else
- ac_cv_header_stdc=no
+ test -n "$CXX" && break
+ done
fi
-rm -f conftest*
+if test -z "$CXX"; then
+ ac_ct_CXX=$CXX
+ for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_CXX"; then
+ ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_CXX="$ac_prog"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+fi
+fi
+ac_ct_CXX=$ac_cv_prog_ac_ct_CXX
+if test -n "$ac_ct_CXX"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5
+$as_echo "$ac_ct_CXX" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
fi
-if test $ac_cv_header_stdc = yes; then
- # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <stdlib.h>
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "free" >/dev/null 2>&1; then :
+ test -n "$ac_ct_CXX" && break
+done
-else
- ac_cv_header_stdc=no
+ if test "x$ac_ct_CXX" = x; then
+ CXX="g++"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ CXX=$ac_ct_CXX
+ fi
fi
-rm -f conftest*
+ fi
fi
+# Provide some information about the compiler.
+$as_echo "$as_me:${as_lineno-$LINENO}: checking for C++ compiler version" >&5
+set X $ac_compile
+ac_compiler=$2
+for ac_option in --version -v -V -qversion; do
+ { { ac_try="$ac_compiler $ac_option >&5"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_compiler $ac_option >&5") 2>conftest.err
+ ac_status=$?
+ if test -s conftest.err; then
+ sed '10a\
+... rest of stderr output deleted ...
+ 10q' conftest.err >conftest.er1
+ cat conftest.er1 >&5
+ rm -f conftest.er1 conftest.err
+ fi
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }
+done
-if test $ac_cv_header_stdc = yes; then
- # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
- if test "$cross_compiling" = yes; then :
- :
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C++ compiler" >&5
+$as_echo_n "checking whether we are using the GNU C++ compiler... " >&6; }
+if test "${ac_cv_cxx_compiler_gnu+set}" = set; then :
+ $as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
-#include <ctype.h>
-#include <stdlib.h>
-#if ((' ' & 0x0FF) == 0x020)
-# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
-# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
-#else
-# define ISLOWER(c) \
- (('a' <= (c) && (c) <= 'i') \
- || ('j' <= (c) && (c) <= 'r') \
- || ('s' <= (c) && (c) <= 'z'))
-# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
-#endif
-#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
int
main ()
{
- int i;
- for (i = 0; i < 256; i++)
- if (XOR (islower (i), ISLOWER (i))
- || toupper (i) != TOUPPER (i))
- return 2;
+#ifndef __GNUC__
+ choke me
+#endif
+
+ ;
return 0;
}
_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-
+if ac_fn_cxx_try_compile "$LINENO"; then :
+ ac_compiler_gnu=yes
else
- ac_cv_header_stdc=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
+ ac_compiler_gnu=no
fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ac_cv_cxx_compiler_gnu=$ac_compiler_gnu
fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_compiler_gnu" >&5
+$as_echo "$ac_cv_cxx_compiler_gnu" >&6; }
+if test $ac_compiler_gnu = yes; then
+ GXX=yes
+else
+ GXX=
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5
-$as_echo "$ac_cv_header_stdc" >&6; }
-if test $ac_cv_header_stdc = yes; then
-
-$as_echo "#define STDC_HEADERS 1" >>confdefs.h
+ac_test_CXXFLAGS=${CXXFLAGS+set}
+ac_save_CXXFLAGS=$CXXFLAGS
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5
+$as_echo_n "checking whether $CXX accepts -g... " >&6; }
+if test "${ac_cv_prog_cxx_g+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_save_cxx_werror_flag=$ac_cxx_werror_flag
+ ac_cxx_werror_flag=yes
+ ac_cv_prog_cxx_g=no
+ CXXFLAGS="-g"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
-fi
+int
+main ()
+{
-# On IRIX 5.3, sys/types and inttypes.h are conflicting.
-for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
- inttypes.h stdint.h unistd.h
-do :
- as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
-"
-eval as_val=\$$as_ac_Header
- if test "x$as_val" = x""yes; then :
- cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
+ ;
+ return 0;
+}
_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+ ac_cv_prog_cxx_g=yes
+else
+ CXXFLAGS=""
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
-fi
+int
+main ()
+{
-done
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+else
+ ac_cxx_werror_flag=$ac_save_cxx_werror_flag
+ CXXFLAGS="-g"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+int
+main ()
+{
- ac_fn_c_check_header_mongrel "$LINENO" "minix/config.h" "ac_cv_header_minix_config_h" "$ac_includes_default"
-if test "x$ac_cv_header_minix_config_h" = x""yes; then :
- MINIX=yes
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+ ac_cv_prog_cxx_g=yes
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ ac_cxx_werror_flag=$ac_save_cxx_werror_flag
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_g" >&5
+$as_echo "$ac_cv_prog_cxx_g" >&6; }
+if test "$ac_test_CXXFLAGS" = set; then
+ CXXFLAGS=$ac_save_CXXFLAGS
+elif test $ac_cv_prog_cxx_g = yes; then
+ if test "$GXX" = yes; then
+ CXXFLAGS="-g -O2"
+ else
+ CXXFLAGS="-g"
+ fi
else
- MINIX=
+ if test "$GXX" = yes; then
+ CXXFLAGS="-O2"
+ else
+ CXXFLAGS=
+ fi
fi
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+depcc="$CXX" am_compiler_list=
- if test "$MINIX" = yes; then
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
+$as_echo_n "checking dependency style of $depcc... " >&6; }
+if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
+ # We make a subdir and do the tests there. Otherwise we can end up
+ # making bogus files that we don't know about and never remove. For
+ # instance it was reported that on HP-UX the gcc test will end up
+ # making a dummy file named `D' -- because `-MD' means `put the output
+ # in D'.
+ mkdir conftest.dir
+ # Copy depcomp to subdir because otherwise we won't find it if we're
+ # using a relative directory.
+ cp "$am_depcomp" conftest.dir
+ cd conftest.dir
+ # We will build objects and dependencies in a subdirectory because
+ # it helps to detect inapplicable dependency modes. For instance
+ # both Tru64's cc and ICC support -MD to output dependencies as a
+ # side effect of compilation, but ICC will put the dependencies in
+ # the current directory while Tru64 will put them in the object
+ # directory.
+ mkdir sub
-$as_echo "#define _POSIX_SOURCE 1" >>confdefs.h
+ am_cv_CXX_dependencies_compiler_type=none
+ if test "$am_compiler_list" = ""; then
+ am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
+ fi
+ am__universal=false
+ case " $depcc " in #(
+ *\ -arch\ *\ -arch\ *) am__universal=true ;;
+ esac
+ for depmode in $am_compiler_list; do
+ # Setup a source with many dependencies, because some compilers
+ # like to wrap large dependency lists on column 80 (with \), and
+ # we should not choose a depcomp mode which is confused by this.
+ #
+ # We need to recreate these files for each test, as the compiler may
+ # overwrite some of them when testing with obscure command lines.
+ # This happens at least with the AIX C compiler.
+ : > sub/conftest.c
+ for i in 1 2 3 4 5 6; do
+ echo '#include "conftst'$i'.h"' >> sub/conftest.c
+ # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
+ # Solaris 8's {/usr,}/bin/sh.
+ touch sub/conftst$i.h
+ done
+ echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
-$as_echo "#define _POSIX_1_SOURCE 2" >>confdefs.h
+ # We check with `-c' and `-o' for the sake of the "dashmstdout"
+ # mode. It turns out that the SunPro C++ compiler does not properly
+ # handle `-M -o', and we need to detect this. Also, some Intel
+ # versions had trouble with output in subdirs
+ am__obj=sub/conftest.${OBJEXT-o}
+ am__minus_obj="-o $am__obj"
+ case $depmode in
+ gcc)
+ # This depmode causes a compiler race in universal mode.
+ test "$am__universal" = false || continue
+ ;;
+ nosideeffect)
+ # after this tag, mechanisms are not by side-effect, so they'll
+ # only be used when explicitly requested
+ if test "x$enable_dependency_tracking" = xyes; then
+ continue
+ else
+ break
+ fi
+ ;;
+ msvisualcpp | msvcmsys)
+ # This compiler won't grok `-c -o', but also, the minuso test has
+ # not run yet. These depmodes are late enough in the game, and
+ # so weak that their functioning should not be impacted.
+ am__obj=conftest.${OBJEXT-o}
+ am__minus_obj=
+ ;;
+ none) break ;;
+ esac
+ if depmode=$depmode \
+ source=sub/conftest.c object=$am__obj \
+ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
+ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
+ >/dev/null 2>conftest.err &&
+ grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
+ grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
+ grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
+ ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
+ # icc doesn't choke on unknown options, it will just issue warnings
+ # or remarks (even with -Werror). So we grep stderr for any message
+ # that says an option was ignored or not supported.
+ # When given -MP, icc 7.0 and 7.1 complain thusly:
+ # icc: Command line warning: ignoring option '-M'; no argument required
+ # The diagnosis changed in icc 8.0:
+ # icc: Command line remark: option '-MP' not supported
+ if (grep 'ignoring option' conftest.err ||
+ grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
+ am_cv_CXX_dependencies_compiler_type=$depmode
+ break
+ fi
+ fi
+ done
+ cd ..
+ rm -rf conftest.dir
+else
+ am_cv_CXX_dependencies_compiler_type=none
+fi
-$as_echo "#define _MINIX 1" >>confdefs.h
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CXX_dependencies_compiler_type" >&5
+$as_echo "$am_cv_CXX_dependencies_compiler_type" >&6; }
+CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type
- fi
+ if
+ test "x$enable_dependency_tracking" != xno \
+ && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then
+ am__fastdepCXX_TRUE=
+ am__fastdepCXX_FALSE='#'
+else
+ am__fastdepCXX_TRUE='#'
+ am__fastdepCXX_FALSE=
+fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether it is safe to define __EXTENSIONS__" >&5
-$as_echo_n "checking whether it is safe to define __EXTENSIONS__... " >&6; }
-if test "${ac_cv_safe_to_define___extensions__+set}" = set; then :
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
+$as_echo_n "checking for ANSI C header files... " >&6; }
+if test "${ac_cv_header_stdc+set}" = set; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
+#include <stdlib.h>
+#include <stdarg.h>
+#include <string.h>
+#include <float.h>
-# define __EXTENSIONS__ 1
- $ac_includes_default
int
main ()
{
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_safe_to_define___extensions__=yes
+ ac_cv_header_stdc=yes
else
- ac_cv_safe_to_define___extensions__=no
+ ac_cv_header_stdc=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_safe_to_define___extensions__" >&5
-$as_echo "$ac_cv_safe_to_define___extensions__" >&6; }
- test $ac_cv_safe_to_define___extensions__ = yes &&
- $as_echo "#define __EXTENSIONS__ 1" >>confdefs.h
-
- $as_echo "#define _ALL_SOURCE 1" >>confdefs.h
-
- $as_echo "#define _GNU_SOURCE 1" >>confdefs.h
-
- $as_echo "#define _POSIX_PTHREAD_SEMANTICS 1" >>confdefs.h
-
- $as_echo "#define _TANDEM_SOURCE 1" >>confdefs.h
-
+if test $ac_cv_header_stdc = yes; then
+ # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <string.h>
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ $EGREP "memchr" >/dev/null 2>&1; then :
+else
+ ac_cv_header_stdc=no
+fi
+rm -f conftest*
-# The tests for host and target for $enable_largefile require
-# canonical names.
+fi
+if test $ac_cv_header_stdc = yes; then
+ # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <stdlib.h>
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ $EGREP "free" >/dev/null 2>&1; then :
-# As the $enable_largefile decision depends on --enable-plugins we must set it
-# even in directories otherwise not depending on the $plugins option.
+else
+ ac_cv_header_stdc=no
+fi
+rm -f conftest*
+
+fi
+
+if test $ac_cv_header_stdc = yes; then
+ # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
+ if test "$cross_compiling" = yes; then :
+ :
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <ctype.h>
+#include <stdlib.h>
+#if ((' ' & 0x0FF) == 0x020)
+# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
+# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
+#else
+# define ISLOWER(c) \
+ (('a' <= (c) && (c) <= 'i') \
+ || ('j' <= (c) && (c) <= 'r') \
+ || ('s' <= (c) && (c) <= 'z'))
+# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
+#endif
+
+#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
+int
+main ()
+{
+ int i;
+ for (i = 0; i < 256; i++)
+ if (XOR (islower (i), ISLOWER (i))
+ || toupper (i) != TOUPPER (i))
+ return 2;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+
+else
+ ac_cv_header_stdc=no
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5
+$as_echo "$ac_cv_header_stdc" >&6; }
+if test $ac_cv_header_stdc = yes; then
+
+$as_echo "#define STDC_HEADERS 1" >>confdefs.h
+
+fi
+
+# On IRIX 5.3, sys/types and inttypes.h are conflicting.
+for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
+ inttypes.h stdint.h unistd.h
+do :
+ as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
+"
+eval as_val=\$$as_ac_Header
+ if test "x$as_val" = x""yes; then :
+ cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+
+done
+
+
+
+ ac_fn_c_check_header_mongrel "$LINENO" "minix/config.h" "ac_cv_header_minix_config_h" "$ac_includes_default"
+if test "x$ac_cv_header_minix_config_h" = x""yes; then :
+ MINIX=yes
+else
+ MINIX=
+fi
+
+
+ if test "$MINIX" = yes; then
+
+$as_echo "#define _POSIX_SOURCE 1" >>confdefs.h
+
+
+$as_echo "#define _POSIX_1_SOURCE 2" >>confdefs.h
+
+
+$as_echo "#define _MINIX 1" >>confdefs.h
+
+ fi
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether it is safe to define __EXTENSIONS__" >&5
+$as_echo_n "checking whether it is safe to define __EXTENSIONS__... " >&6; }
+if test "${ac_cv_safe_to_define___extensions__+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+# define __EXTENSIONS__ 1
+ $ac_includes_default
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_cv_safe_to_define___extensions__=yes
+else
+ ac_cv_safe_to_define___extensions__=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_safe_to_define___extensions__" >&5
+$as_echo "$ac_cv_safe_to_define___extensions__" >&6; }
+ test $ac_cv_safe_to_define___extensions__ = yes &&
+ $as_echo "#define __EXTENSIONS__ 1" >>confdefs.h
+
+ $as_echo "#define _ALL_SOURCE 1" >>confdefs.h
+
+ $as_echo "#define _GNU_SOURCE 1" >>confdefs.h
+
+ $as_echo "#define _POSIX_PTHREAD_SEMANTICS 1" >>confdefs.h
+
+ $as_echo "#define _TANDEM_SOURCE 1" >>confdefs.h
+
+
+
+
+
+# The tests for host and target for $enable_largefile require
+# canonical names.
+
+
+
+# As the $enable_largefile decision depends on --enable-plugins we must set it
+# even in directories otherwise not depending on the $plugins option.
# Check whether --enable-plugins was given.
+
# Set options
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 11625 "configure"
+#line 12145 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 11731 "configure"
+#line 12251 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
# endif
#endif
-/* When -fvisbility=hidden is used, assume the code has been annotated
- correspondingly for the symbols needed. */
-#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
-void fnord () __attribute__((visibility("default")));
-#endif
+/* When -fvisbility=hidden is used, assume the code has been annotated
+ correspondingly for the symbols needed. */
+#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
+void fnord () __attribute__((visibility("default")));
+#endif
+
+void fnord () { int i=42; }
+int main ()
+{
+ void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
+ int status = $lt_dlunknown;
+
+ if (self)
+ {
+ if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
+ else
+ {
+ if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
+ else puts (dlerror ());
+ }
+ /* dlclose (self); */
+ }
+ else
+ puts (dlerror ());
+
+ return status;
+}
+_LT_EOF
+ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then
+ (./conftest; exit; ) >&5 2>/dev/null
+ lt_status=$?
+ case x$lt_status in
+ x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;;
+ x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;;
+ x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;;
+ esac
+ else :
+ # compilation failed
+ lt_cv_dlopen_self_static=no
+ fi
+fi
+rm -fr conftest*
+
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self_static" >&5
+$as_echo "$lt_cv_dlopen_self_static" >&6; }
+ fi
+
+ CPPFLAGS="$save_CPPFLAGS"
+ LDFLAGS="$save_LDFLAGS"
+ LIBS="$save_LIBS"
+ ;;
+ esac
+
+ case $lt_cv_dlopen_self in
+ yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
+ *) enable_dlopen_self=unknown ;;
+ esac
+
+ case $lt_cv_dlopen_self_static in
+ yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
+ *) enable_dlopen_self_static=unknown ;;
+ esac
+fi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+striplib=
+old_striplib=
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5
+$as_echo_n "checking whether stripping libraries is possible... " >&6; }
+if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
+ test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
+ test -z "$striplib" && striplib="$STRIP --strip-unneeded"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+else
+# FIXME - insert some real tests, host_os isn't really good enough
+ case $host_os in
+ darwin*)
+ if test -n "$STRIP" ; then
+ striplib="$STRIP -x"
+ old_striplib="$STRIP -S"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ fi
+ ;;
+ *)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ ;;
+ esac
+fi
+
+
+
+
+
+
+
+
+
+
+
+
+ # Report which library types will actually be built
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5
+$as_echo_n "checking if libtool supports shared libraries... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5
+$as_echo "$can_build_shared" >&6; }
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5
+$as_echo_n "checking whether to build shared libraries... " >&6; }
+ test "$can_build_shared" = "no" && enable_shared=no
+
+ # On AIX, shared libraries and static libraries use the same namespace, and
+ # are all built from PIC.
+ case $host_os in
+ aix3*)
+ test "$enable_shared" = yes && enable_static=no
+ if test -n "$RANLIB"; then
+ archive_cmds="$archive_cmds~\$RANLIB \$lib"
+ postinstall_cmds='$RANLIB $lib'
+ fi
+ ;;
+
+ aix[4-9]*)
+ if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
+ test "$enable_shared" = yes && enable_static=no
+ fi
+ ;;
+ esac
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5
+$as_echo "$enable_shared" >&6; }
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5
+$as_echo_n "checking whether to build static libraries... " >&6; }
+ # Make sure either enable_shared or enable_static is yes.
+ test "$enable_shared" = yes || enable_static=yes
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5
+$as_echo "$enable_static" >&6; }
+
+
+
+
+fi
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+CC="$lt_save_CC"
+
+ if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
+ ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
+ (test "X$CXX" != "Xg++"))) ; then
+ ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C++ preprocessor" >&5
+$as_echo_n "checking how to run the C++ preprocessor... " >&6; }
+if test -z "$CXXCPP"; then
+ if test "${ac_cv_prog_CXXCPP+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ # Double quotes because CXXCPP needs to be expanded
+ for CXXCPP in "$CXX -E" "/lib/cpp"
+ do
+ ac_preproc_ok=false
+for ac_cxx_preproc_warn_flag in '' yes
+do
+ # Use a header file that comes with gcc, so configuring glibc
+ # with a fresh cross-compiler works.
+ # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ # <limits.h> exists even on freestanding compilers.
+ # On the NeXT, cc -E runs the code through the compiler's parser,
+ # not just through cpp. "Syntax error" is here to catch this case.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+ Syntax error
+_ACEOF
+if ac_fn_cxx_try_cpp "$LINENO"; then :
+
+else
+ # Broken: fails on valid input.
+continue
+fi
+rm -f conftest.err conftest.$ac_ext
+
+ # OK, works on sane cases. Now check whether nonexistent headers
+ # can be detected and how.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <ac_nonexistent.h>
+_ACEOF
+if ac_fn_cxx_try_cpp "$LINENO"; then :
+ # Broken: success on invalid input.
+continue
+else
+ # Passes both tests.
+ac_preproc_ok=:
+break
+fi
+rm -f conftest.err conftest.$ac_ext
+
+done
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+rm -f conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then :
+ break
+fi
+
+ done
+ ac_cv_prog_CXXCPP=$CXXCPP
+
+fi
+ CXXCPP=$ac_cv_prog_CXXCPP
+else
+ ac_cv_prog_CXXCPP=$CXXCPP
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXXCPP" >&5
+$as_echo "$CXXCPP" >&6; }
+ac_preproc_ok=false
+for ac_cxx_preproc_warn_flag in '' yes
+do
+ # Use a header file that comes with gcc, so configuring glibc
+ # with a fresh cross-compiler works.
+ # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ # <limits.h> exists even on freestanding compilers.
+ # On the NeXT, cc -E runs the code through the compiler's parser,
+ # not just through cpp. "Syntax error" is here to catch this case.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+ Syntax error
+_ACEOF
+if ac_fn_cxx_try_cpp "$LINENO"; then :
+
+else
+ # Broken: fails on valid input.
+continue
+fi
+rm -f conftest.err conftest.$ac_ext
+
+ # OK, works on sane cases. Now check whether nonexistent headers
+ # can be detected and how.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <ac_nonexistent.h>
+_ACEOF
+if ac_fn_cxx_try_cpp "$LINENO"; then :
+ # Broken: success on invalid input.
+continue
+else
+ # Passes both tests.
+ac_preproc_ok=:
+break
+fi
+rm -f conftest.err conftest.$ac_ext
+
+done
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+rm -f conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then :
+
+else
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error "C++ preprocessor \"$CXXCPP\" fails sanity check
+See \`config.log' for more details." "$LINENO" 5; }
+fi
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+else
+ _lt_caught_CXX_error=yes
+fi
+
+ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+archive_cmds_need_lc_CXX=no
+allow_undefined_flag_CXX=
+always_export_symbols_CXX=no
+archive_expsym_cmds_CXX=
+compiler_needs_object_CXX=no
+export_dynamic_flag_spec_CXX=
+hardcode_direct_CXX=no
+hardcode_direct_absolute_CXX=no
+hardcode_libdir_flag_spec_CXX=
+hardcode_libdir_flag_spec_ld_CXX=
+hardcode_libdir_separator_CXX=
+hardcode_minus_L_CXX=no
+hardcode_shlibpath_var_CXX=unsupported
+hardcode_automatic_CXX=no
+inherit_rpath_CXX=no
+module_cmds_CXX=
+module_expsym_cmds_CXX=
+link_all_deplibs_CXX=unknown
+old_archive_cmds_CXX=$old_archive_cmds
+reload_flag_CXX=$reload_flag
+reload_cmds_CXX=$reload_cmds
+no_undefined_flag_CXX=
+whole_archive_flag_spec_CXX=
+enable_shared_with_static_runtimes_CXX=no
+
+# Source file extension for C++ test sources.
+ac_ext=cpp
+
+# Object file extension for compiled C++ test sources.
+objext=o
+objext_CXX=$objext
+
+# No sense in running all these tests if we already determined that
+# the CXX compiler isn't working. Some variables (like enable_shared)
+# are currently assumed to apply to all compilers on this platform,
+# and will be corrupted by setting them based on a non-working compiler.
+if test "$_lt_caught_CXX_error" != yes; then
+ # Code to be used in simple compile tests
+ lt_simple_compile_test_code="int some_variable = 0;"
+
+ # Code to be used in simple link tests
+ lt_simple_link_test_code='int main(int, char *[]) { return(0); }'
+
+ # ltmain only uses $CC for tagged configurations so make sure $CC is set.
+
+
+
+
+
+
+# If no C compiler was specified, use CC.
+LTCC=${LTCC-"$CC"}
+
+# If no C compiler flags were specified, use CFLAGS.
+LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
+
+# Allow CC to be a program name with arguments.
+compiler=$CC
+
+
+ # save warnings/boilerplate of simple test code
+ ac_outfile=conftest.$ac_objext
+echo "$lt_simple_compile_test_code" >conftest.$ac_ext
+eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+_lt_compiler_boilerplate=`cat conftest.err`
+$RM conftest*
+
+ ac_outfile=conftest.$ac_objext
+echo "$lt_simple_link_test_code" >conftest.$ac_ext
+eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+_lt_linker_boilerplate=`cat conftest.err`
+$RM -r conftest*
+
+
+ # Allow CC to be a program name with arguments.
+ lt_save_CC=$CC
+ lt_save_LD=$LD
+ lt_save_GCC=$GCC
+ GCC=$GXX
+ lt_save_with_gnu_ld=$with_gnu_ld
+ lt_save_path_LD=$lt_cv_path_LD
+ if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then
+ lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx
+ else
+ $as_unset lt_cv_prog_gnu_ld
+ fi
+ if test -n "${lt_cv_path_LDCXX+set}"; then
+ lt_cv_path_LD=$lt_cv_path_LDCXX
+ else
+ $as_unset lt_cv_path_LD
+ fi
+ test -z "${LDCXX+set}" || LD=$LDCXX
+ CC=${CXX-"c++"}
+ compiler=$CC
+ compiler_CXX=$CC
+ for cc_temp in $compiler""; do
+ case $cc_temp in
+ compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
+ distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
+ \-*) ;;
+ *) break;;
+ esac
+done
+cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
+
+
+ if test -n "$compiler"; then
+ # We don't want -fno-exception when compiling C++ code, so set the
+ # no_builtin_flag separately
+ if test "$GXX" = yes; then
+ lt_prog_compiler_no_builtin_flag_CXX=' -fno-builtin'
+ else
+ lt_prog_compiler_no_builtin_flag_CXX=
+ fi
+
+ if test "$GXX" = yes; then
+ # Set up default GNU C++ configuration
+
+
+
+# Check whether --with-gnu-ld was given.
+if test "${with_gnu_ld+set}" = set; then :
+ withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes
+else
+ with_gnu_ld=no
+fi
+
+ac_prog=ld
+if test "$GCC" = yes; then
+ # Check if gcc -print-prog-name=ld gives a path.
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5
+$as_echo_n "checking for ld used by $CC... " >&6; }
+ case $host in
+ *-*-mingw*)
+ # gcc leaves a trailing carriage return which upsets mingw
+ ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
+ *)
+ ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
+ esac
+ case $ac_prog in
+ # Accept absolute paths.
+ [\\/]* | ?:[\\/]*)
+ re_direlt='/[^/][^/]*/\.\./'
+ # Canonicalize the pathname of ld
+ ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
+ while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
+ ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
+ done
+ test -z "$LD" && LD="$ac_prog"
+ ;;
+ "")
+ # If it fails, then pretend we aren't using GCC.
+ ac_prog=ld
+ ;;
+ *)
+ # If it is relative, then search for the first ld in PATH.
+ with_gnu_ld=unknown
+ ;;
+ esac
+elif test "$with_gnu_ld" = yes; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5
+$as_echo_n "checking for GNU ld... " >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5
+$as_echo_n "checking for non-GNU ld... " >&6; }
+fi
+if test "${lt_cv_path_LD+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -z "$LD"; then
+ lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+ for ac_dir in $PATH; do
+ IFS="$lt_save_ifs"
+ test -z "$ac_dir" && ac_dir=.
+ if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
+ lt_cv_path_LD="$ac_dir/$ac_prog"
+ # Check to see if the program is GNU ld. I'd rather use --version,
+ # but apparently some variants of GNU ld only accept -v.
+ # Break only if it was the GNU/non-GNU ld that we prefer.
+ case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
+ *GNU* | *'with BFD'*)
+ test "$with_gnu_ld" != no && break
+ ;;
+ *)
+ test "$with_gnu_ld" != yes && break
+ ;;
+ esac
+ fi
+ done
+ IFS="$lt_save_ifs"
+else
+ lt_cv_path_LD="$LD" # Let the user override the test with a path.
+fi
+fi
+
+LD="$lt_cv_path_LD"
+if test -n "$LD"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5
+$as_echo "$LD" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+test -z "$LD" && as_fn_error "no acceptable ld found in \$PATH" "$LINENO" 5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5
+$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
+if test "${lt_cv_prog_gnu_ld+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ # I'd rather use --version here, but apparently some GNU lds only accept -v.
+case `$LD -v 2>&1 </dev/null` in
+*GNU* | *'with BFD'*)
+ lt_cv_prog_gnu_ld=yes
+ ;;
+*)
+ lt_cv_prog_gnu_ld=no
+ ;;
+esac
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_gnu_ld" >&5
+$as_echo "$lt_cv_prog_gnu_ld" >&6; }
+with_gnu_ld=$lt_cv_prog_gnu_ld
+
+
+
+
+
+
+
+ # Check if GNU C++ uses GNU ld as the underlying linker, since the
+ # archiving commands below assume that GNU ld is being used.
+ if test "$with_gnu_ld" = yes; then
+ archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ archive_expsym_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+
+ hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
+ export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
+
+ # If archive_cmds runs LD, not CC, wlarc should be empty
+ # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
+ # investigate it a little bit more. (MM)
+ wlarc='${wl}'
+
+ # ancient GNU ld didn't support --whole-archive et. al.
+ if eval "`$CC -print-prog-name=ld` --help 2>&1" |
+ $GREP 'no-whole-archive' > /dev/null; then
+ whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+ else
+ whole_archive_flag_spec_CXX=
+ fi
+ else
+ with_gnu_ld=no
+ wlarc=
+
+ # A generic and very simple default shared library creation
+ # command for GNU C++ for the case where it uses the native
+ # linker, instead of GNU ld. If possible, this setting should
+ # overridden to take advantage of the native linker features on
+ # the platform it is being used on.
+ archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
+ fi
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
+
+ else
+ GXX=no
+ with_gnu_ld=no
+ wlarc=
+ fi
+
+ # PORTME: fill in a description of your system's C++ link characteristics
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5
+$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
+ ld_shlibs_CXX=yes
+ case $host_os in
+ aix3*)
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+ aix[4-9]*)
+ if test "$host_cpu" = ia64; then
+ # On IA64, the linker does run time linking by default, so we don't
+ # have to do anything special.
+ aix_use_runtimelinking=no
+ exp_sym_flag='-Bexport'
+ no_entry_flag=""
+ else
+ aix_use_runtimelinking=no
+
+ # Test if we are trying to use run time linking or normal
+ # AIX style linking. If -brtl is somewhere in LDFLAGS, we
+ # need to do runtime linking.
+ case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
+ for ld_flag in $LDFLAGS; do
+ case $ld_flag in
+ *-brtl*)
+ aix_use_runtimelinking=yes
+ break
+ ;;
+ esac
+ done
+ ;;
+ esac
+
+ exp_sym_flag='-bexport'
+ no_entry_flag='-bnoentry'
+ fi
+
+ # When large executables or shared objects are built, AIX ld can
+ # have problems creating the table of contents. If linking a library
+ # or program results in "error TOC overflow" add -mminimal-toc to
+ # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
+ # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
+
+ archive_cmds_CXX=''
+ hardcode_direct_CXX=yes
+ hardcode_direct_absolute_CXX=yes
+ hardcode_libdir_separator_CXX=':'
+ link_all_deplibs_CXX=yes
+ file_list_spec_CXX='${wl}-f,'
+
+ if test "$GXX" = yes; then
+ case $host_os in aix4.[012]|aix4.[012].*)
+ # We only want to do this on AIX 4.2 and lower, the check
+ # below for broken collect2 doesn't work under 4.3+
+ collect2name=`${CC} -print-prog-name=collect2`
+ if test -f "$collect2name" &&
+ strings "$collect2name" | $GREP resolve_lib_name >/dev/null
+ then
+ # We have reworked collect2
+ :
+ else
+ # We have old collect2
+ hardcode_direct_CXX=unsupported
+ # It fails to find uninstalled libraries when the uninstalled
+ # path is not listed in the libpath. Setting hardcode_minus_L
+ # to unsupported forces relinking
+ hardcode_minus_L_CXX=yes
+ hardcode_libdir_flag_spec_CXX='-L$libdir'
+ hardcode_libdir_separator_CXX=
+ fi
+ esac
+ shared_flag='-shared'
+ if test "$aix_use_runtimelinking" = yes; then
+ shared_flag="$shared_flag "'${wl}-G'
+ fi
+ else
+ # not using gcc
+ if test "$host_cpu" = ia64; then
+ # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
+ # chokes on -Wl,-G. The following line is correct:
+ shared_flag='-G'
+ else
+ if test "$aix_use_runtimelinking" = yes; then
+ shared_flag='${wl}-G'
+ else
+ shared_flag='${wl}-bM:SRE'
+ fi
+ fi
+ fi
+
+ export_dynamic_flag_spec_CXX='${wl}-bexpall'
+ # It seems that -bexpall does not export symbols beginning with
+ # underscore (_), so it is better to generate a list of symbols to
+ # export.
+ always_export_symbols_CXX=yes
+ if test "$aix_use_runtimelinking" = yes; then
+ # Warning - without using the other runtime loading flags (-brtl),
+ # -berok will link without error, but may produce a broken library.
+ allow_undefined_flag_CXX='-berok'
+ # Determine the default libpath from the value encoded in an empty
+ # executable.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_link "$LINENO"; then :
+
+lt_aix_libpath_sed='
+ /Import File Strings/,/^$/ {
+ /^0/ {
+ s/^0 *\(.*\)$/\1/
+ p
+ }
+ }'
+aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+# Check for a 64-bit object if we didn't find anything.
+if test -z "$aix_libpath"; then
+ aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+fi
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+
+ hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath"
+
+ archive_expsym_cmds_CXX='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+ else
+ if test "$host_cpu" = ia64; then
+ hardcode_libdir_flag_spec_CXX='${wl}-R $libdir:/usr/lib:/lib'
+ allow_undefined_flag_CXX="-z nodefs"
+ archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
+ else
+ # Determine the default libpath from the value encoded in an
+ # empty executable.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_link "$LINENO"; then :
+
+lt_aix_libpath_sed='
+ /Import File Strings/,/^$/ {
+ /^0/ {
+ s/^0 *\(.*\)$/\1/
+ p
+ }
+ }'
+aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+# Check for a 64-bit object if we didn't find anything.
+if test -z "$aix_libpath"; then
+ aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+fi
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+
+ hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath"
+ # Warning - without using the other run time loading flags,
+ # -berok will link without error, but may produce a broken library.
+ no_undefined_flag_CXX=' ${wl}-bernotok'
+ allow_undefined_flag_CXX=' ${wl}-berok'
+ if test "$with_gnu_ld" = yes; then
+ # We only use this code for GNU lds that support --whole-archive.
+ whole_archive_flag_spec_CXX='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
+ else
+ # Exported symbols can be pulled into shared objects from archives
+ whole_archive_flag_spec_CXX='$convenience'
+ fi
+ archive_cmds_need_lc_CXX=yes
+ # This is similar to how AIX traditionally builds its shared
+ # libraries.
+ archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
+ fi
+ fi
+ ;;
+
+ beos*)
+ if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+ allow_undefined_flag_CXX=unsupported
+ # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
+ # support --undefined. This deserves some investigation. FIXME
+ archive_cmds_CXX='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ else
+ ld_shlibs_CXX=no
+ fi
+ ;;
+
+ chorus*)
+ case $cc_basename in
+ *)
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+ esac
+ ;;
+
+ cygwin* | mingw* | pw32* | cegcc*)
+ # _LT_TAGVAR(hardcode_libdir_flag_spec, CXX) is actually meaningless,
+ # as there is no search path for DLLs.
+ hardcode_libdir_flag_spec_CXX='-L$libdir'
+ export_dynamic_flag_spec_CXX='${wl}--export-all-symbols'
+ allow_undefined_flag_CXX=unsupported
+ always_export_symbols_CXX=no
+ enable_shared_with_static_runtimes_CXX=yes
+
+ if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
+ archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+ # If the export-symbols file already is a .def file (1st line
+ # is EXPORTS), use it as is; otherwise, prepend...
+ archive_expsym_cmds_CXX='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
+ cp $export_symbols $output_objdir/$soname.def;
+ else
+ echo EXPORTS > $output_objdir/$soname.def;
+ cat $export_symbols >> $output_objdir/$soname.def;
+ fi~
+ $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+ else
+ ld_shlibs_CXX=no
+ fi
+ ;;
+ darwin* | rhapsody*)
+
+
+ archive_cmds_need_lc_CXX=no
+ hardcode_direct_CXX=no
+ hardcode_automatic_CXX=yes
+ hardcode_shlibpath_var_CXX=unsupported
+ if test "$lt_cv_ld_force_load" = "yes"; then
+ whole_archive_flag_spec_CXX='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
+ else
+ whole_archive_flag_spec_CXX=''
+ fi
+ link_all_deplibs_CXX=yes
+ allow_undefined_flag_CXX="$_lt_dar_allow_undefined"
+ case $cc_basename in
+ ifort*) _lt_dar_can_shared=yes ;;
+ *) _lt_dar_can_shared=$GCC ;;
+ esac
+ if test "$_lt_dar_can_shared" = "yes"; then
+ output_verbose_link_cmd=func_echo_all
+ archive_cmds_CXX="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
+ module_cmds_CXX="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
+ archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
+ module_expsym_cmds_CXX="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
+ if test "$lt_cv_apple_cc_single_mod" != "yes"; then
+ archive_cmds_CXX="\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dsymutil}"
+ archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}"
+ fi
+
+ else
+ ld_shlibs_CXX=no
+ fi
+
+ ;;
+
+ dgux*)
+ case $cc_basename in
+ ec++*)
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+ ghcx*)
+ # Green Hills C++ Compiler
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+ *)
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+ esac
+ ;;
+
+ freebsd[12]*)
+ # C++ shared libraries reported to be fairly broken before
+ # switch to ELF
+ ld_shlibs_CXX=no
+ ;;
+
+ freebsd-elf*)
+ archive_cmds_need_lc_CXX=no
+ ;;
+
+ freebsd* | dragonfly*)
+ # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
+ # conventions
+ ld_shlibs_CXX=yes
+ ;;
+
+ gnu*)
+ ;;
+
+ haiku*)
+ archive_cmds_CXX='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ link_all_deplibs_CXX=yes
+ ;;
+
+ hpux9*)
+ hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir'
+ hardcode_libdir_separator_CXX=:
+ export_dynamic_flag_spec_CXX='${wl}-E'
+ hardcode_direct_CXX=yes
+ hardcode_minus_L_CXX=yes # Not in the search PATH,
+ # but as the default
+ # location of the library.
+
+ case $cc_basename in
+ CC*)
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+ aCC*)
+ archive_cmds_CXX='$RM $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ #
+ # There doesn't appear to be a way to prevent this compiler from
+ # explicitly linking system object files so we need to strip them
+ # from the output so that they don't get included in the library
+ # dependencies.
+ output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
+ ;;
+ *)
+ if test "$GXX" = yes; then
+ archive_cmds_CXX='$RM $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ else
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ fi
+ ;;
+ esac
+ ;;
+
+ hpux10*|hpux11*)
+ if test $with_gnu_ld = no; then
+ hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir'
+ hardcode_libdir_separator_CXX=:
+
+ case $host_cpu in
+ hppa*64*|ia64*)
+ ;;
+ *)
+ export_dynamic_flag_spec_CXX='${wl}-E'
+ ;;
+ esac
+ fi
+ case $host_cpu in
+ hppa*64*|ia64*)
+ hardcode_direct_CXX=no
+ hardcode_shlibpath_var_CXX=no
+ ;;
+ *)
+ hardcode_direct_CXX=yes
+ hardcode_direct_absolute_CXX=yes
+ hardcode_minus_L_CXX=yes # Not in the search PATH,
+ # but as the default
+ # location of the library.
+ ;;
+ esac
+
+ case $cc_basename in
+ CC*)
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+ aCC*)
+ case $host_cpu in
+ hppa*64*)
+ archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
+ ia64*)
+ archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
+ *)
+ archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
+ esac
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ #
+ # There doesn't appear to be a way to prevent this compiler from
+ # explicitly linking system object files so we need to strip them
+ # from the output so that they don't get included in the library
+ # dependencies.
+ output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
+ ;;
+ *)
+ if test "$GXX" = yes; then
+ if test $with_gnu_ld = no; then
+ case $host_cpu in
+ hppa*64*)
+ archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
+ ia64*)
+ archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
+ *)
+ archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
+ esac
+ fi
+ else
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ fi
+ ;;
+ esac
+ ;;
+
+ interix[3-9]*)
+ hardcode_direct_CXX=no
+ hardcode_shlibpath_var_CXX=no
+ hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
+ export_dynamic_flag_spec_CXX='${wl}-E'
+ # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
+ # Instead, shared libraries are loaded at an image base (0x10000000 by
+ # default) and relocated if they conflict, which is a slow very memory
+ # consuming and fragmenting process. To avoid this, we pick a random,
+ # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
+ # time. Moving up from 0x10000000 also allows more sbrk(2) space.
+ archive_cmds_CXX='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+ archive_expsym_cmds_CXX='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+ ;;
+ irix5* | irix6*)
+ case $cc_basename in
+ CC*)
+ # SGI C++
+ archive_cmds_CXX='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
+
+ # Archives containing C++ object files must be created using
+ # "CC -ar", where "CC" is the IRIX C++ compiler. This is
+ # necessary to make sure instantiated templates are included
+ # in the archive.
+ old_archive_cmds_CXX='$CC -ar -WR,-u -o $oldlib $oldobjs'
+ ;;
+ *)
+ if test "$GXX" = yes; then
+ if test "$with_gnu_ld" = no; then
+ archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ else
+ archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` -o $lib'
+ fi
+ fi
+ link_all_deplibs_CXX=yes
+ ;;
+ esac
+ hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
+ hardcode_libdir_separator_CXX=:
+ inherit_rpath_CXX=yes
+ ;;
+
+ linux* | k*bsd*-gnu | kopensolaris*-gnu)
+ case $cc_basename in
+ KCC*)
+ # Kuck and Associates, Inc. (KAI) C++ Compiler
+
+ # KCC will only create a shared library if the output file
+ # ends with ".so" (or ".sl" for HP-UX), so rename the library
+ # to its proper name (with version) after linking.
+ archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
+ archive_expsym_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib'
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ #
+ # There doesn't appear to be a way to prevent this compiler from
+ # explicitly linking system object files so we need to strip them
+ # from the output so that they don't get included in the library
+ # dependencies.
+ output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
+
+ hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
+ export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
+
+ # Archives containing C++ object files must be created using
+ # "CC -Bstatic", where "CC" is the KAI C++ compiler.
+ old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs'
+ ;;
+ icpc* | ecpc* )
+ # Intel C++
+ with_gnu_ld=yes
+ # version 8.0 and above of icpc choke on multiply defined symbols
+ # if we add $predep_objects and $postdep_objects, however 7.1 and
+ # earlier do not add the objects themselves.
+ case `$CC -V 2>&1` in
+ *"Version 7."*)
+ archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ ;;
+ *) # Version 8.0 or newer
+ tmp_idyn=
+ case $host_cpu in
+ ia64*) tmp_idyn=' -i_dynamic';;
+ esac
+ archive_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ archive_expsym_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ ;;
+ esac
+ archive_cmds_need_lc_CXX=no
+ hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
+ export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
+ whole_archive_flag_spec_CXX='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
+ ;;
+ pgCC* | pgcpp*)
+ # Portland Group C++ compiler
+ case `$CC -V` in
+ *pgCC\ [1-5].* | *pgcpp\ [1-5].*)
+ prelink_cmds_CXX='tpldir=Template.dir~
+ rm -rf $tpldir~
+ $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~
+ compile_command="$compile_command `find $tpldir -name \*.o | $NL2SP`"'
+ old_archive_cmds_CXX='tpldir=Template.dir~
+ rm -rf $tpldir~
+ $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~
+ $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | $NL2SP`~
+ $RANLIB $oldlib'
+ archive_cmds_CXX='tpldir=Template.dir~
+ rm -rf $tpldir~
+ $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
+ $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
+ archive_expsym_cmds_CXX='tpldir=Template.dir~
+ rm -rf $tpldir~
+ $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
+ $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
+ ;;
+ *) # Version 6 and above use weak symbols
+ archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
+ archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
+ ;;
+ esac
+
+ hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir'
+ export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
+ whole_archive_flag_spec_CXX='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
+ ;;
+ cxx*)
+ # Compaq C++
+ archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols'
+
+ runpath_var=LD_RUN_PATH
+ hardcode_libdir_flag_spec_CXX='-rpath $libdir'
+ hardcode_libdir_separator_CXX=:
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ #
+ # There doesn't appear to be a way to prevent this compiler from
+ # explicitly linking system object files so we need to strip them
+ # from the output so that they don't get included in the library
+ # dependencies.
+ output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "X$list" | $Xsed'
+ ;;
+ xl* | mpixl* | bgxl*)
+ # IBM XL 8.0 on PPC, with GNU ld
+ hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
+ export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
+ archive_cmds_CXX='$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ if test "x$supports_anon_versioning" = xyes; then
+ archive_expsym_cmds_CXX='echo "{ global:" > $output_objdir/$libname.ver~
+ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+ echo "local: *; };" >> $output_objdir/$libname.ver~
+ $CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
+ fi
+ ;;
+ *)
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ C*)
+ # Sun C++ 5.9
+ no_undefined_flag_CXX=' -zdefs'
+ archive_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ archive_expsym_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols'
+ hardcode_libdir_flag_spec_CXX='-R$libdir'
+ whole_archive_flag_spec_CXX='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
+ compiler_needs_object_CXX=yes
+
+ # Not sure whether something based on
+ # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1
+ # would be better.
+ output_verbose_link_cmd='func_echo_all'
+
+ # Archives containing C++ object files must be created using
+ # "CC -xar", where "CC" is the Sun C++ compiler. This is
+ # necessary to make sure instantiated templates are included
+ # in the archive.
+ old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs'
+ ;;
+ esac
+ ;;
+ esac
+ ;;
+
+ lynxos*)
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+
+ m88k*)
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+
+ mvs*)
+ case $cc_basename in
+ cxx*)
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+ *)
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+ esac
+ ;;
+
+ netbsd*)
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+ archive_cmds_CXX='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
+ wlarc=
+ hardcode_libdir_flag_spec_CXX='-R$libdir'
+ hardcode_direct_CXX=yes
+ hardcode_shlibpath_var_CXX=no
+ fi
+ # Workaround some broken pre-1.5 toolchains
+ output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"'
+ ;;
+
+ *nto* | *qnx*)
+ ld_shlibs_CXX=yes
+ ;;
+
+ openbsd2*)
+ # C++ shared libraries are fairly broken
+ ld_shlibs_CXX=no
+ ;;
+
+ openbsd*)
+ if test -f /usr/libexec/ld.so; then
+ hardcode_direct_CXX=yes
+ hardcode_shlibpath_var_CXX=no
+ hardcode_direct_absolute_CXX=yes
+ archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
+ hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
+ if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib'
+ export_dynamic_flag_spec_CXX='${wl}-E'
+ whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+ fi
+ output_verbose_link_cmd=func_echo_all
+ else
+ ld_shlibs_CXX=no
+ fi
+ ;;
+
+ osf3* | osf4* | osf5*)
+ case $cc_basename in
+ KCC*)
+ # Kuck and Associates, Inc. (KAI) C++ Compiler
+
+ # KCC will only create a shared library if the output file
+ # ends with ".so" (or ".sl" for HP-UX), so rename the library
+ # to its proper name (with version) after linking.
+ archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
+
+ hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
+ hardcode_libdir_separator_CXX=:
+
+ # Archives containing C++ object files must be created using
+ # the KAI C++ compiler.
+ case $host in
+ osf3*) old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' ;;
+ *) old_archive_cmds_CXX='$CC -o $oldlib $oldobjs' ;;
+ esac
+ ;;
+ RCC*)
+ # Rational C++ 2.4.1
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+ cxx*)
+ case $host in
+ osf3*)
+ allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*'
+ archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && func_echo_all "${wl}-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
+ hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
+ ;;
+ *)
+ allow_undefined_flag_CXX=' -expect_unresolved \*'
+ archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
+ archive_expsym_cmds_CXX='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
+ echo "-hidden">> $lib.exp~
+ $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname ${wl}-input ${wl}$lib.exp `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~
+ $RM $lib.exp'
+ hardcode_libdir_flag_spec_CXX='-rpath $libdir'
+ ;;
+ esac
+
+ hardcode_libdir_separator_CXX=:
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ #
+ # There doesn't appear to be a way to prevent this compiler from
+ # explicitly linking system object files so we need to strip them
+ # from the output so that they don't get included in the library
+ # dependencies.
+ output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
+ ;;
+ *)
+ if test "$GXX" = yes && test "$with_gnu_ld" = no; then
+ allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*'
+ case $host in
+ osf3*)
+ archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ ;;
+ *)
+ archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ ;;
+ esac
+
+ hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
+ hardcode_libdir_separator_CXX=:
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
+
+ else
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ fi
+ ;;
+ esac
+ ;;
+
+ psos*)
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+
+ sunos4*)
+ case $cc_basename in
+ CC*)
+ # Sun C++ 4.x
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+ lcc*)
+ # Lucid
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+ *)
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+ esac
+ ;;
+
+ solaris*)
+ case $cc_basename in
+ CC*)
+ # Sun C++ 4.2, 5.x and Centerline C++
+ archive_cmds_need_lc_CXX=yes
+ no_undefined_flag_CXX=' -zdefs'
+ archive_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+ $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
+
+ hardcode_libdir_flag_spec_CXX='-R$libdir'
+ hardcode_shlibpath_var_CXX=no
+ case $host_os in
+ solaris2.[0-5] | solaris2.[0-5].*) ;;
+ *)
+ # The compiler driver will combine and reorder linker options,
+ # but understands `-z linker_flag'.
+ # Supported since Solaris 2.6 (maybe 2.5.1?)
+ whole_archive_flag_spec_CXX='-z allextract$convenience -z defaultextract'
+ ;;
+ esac
+ link_all_deplibs_CXX=yes
+
+ output_verbose_link_cmd='func_echo_all'
+
+ # Archives containing C++ object files must be created using
+ # "CC -xar", where "CC" is the Sun C++ compiler. This is
+ # necessary to make sure instantiated templates are included
+ # in the archive.
+ old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs'
+ ;;
+ gcx*)
+ # Green Hills C++ Compiler
+ archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
+
+ # The C++ compiler must be used to create the archive.
+ old_archive_cmds_CXX='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
+ ;;
+ *)
+ # GNU C++ compiler with Solaris linker
+ if test "$GXX" = yes && test "$with_gnu_ld" = no; then
+ no_undefined_flag_CXX=' ${wl}-z ${wl}defs'
+ if $CC --version | $GREP -v '^2\.7' > /dev/null; then
+ archive_cmds_CXX='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
+ archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+ $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
+ else
+ # g++ 2.7 appears to require `-G' NOT `-shared' on this
+ # platform.
+ archive_cmds_CXX='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
+ archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+ $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
+ fi
+
+ hardcode_libdir_flag_spec_CXX='${wl}-R $wl$libdir'
+ case $host_os in
+ solaris2.[0-5] | solaris2.[0-5].*) ;;
+ *)
+ whole_archive_flag_spec_CXX='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
+ ;;
+ esac
+ fi
+ ;;
+ esac
+ ;;
+
+ sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
+ no_undefined_flag_CXX='${wl}-z,text'
+ archive_cmds_need_lc_CXX=no
+ hardcode_shlibpath_var_CXX=no
+ runpath_var='LD_RUN_PATH'
+
+ case $cc_basename in
+ CC*)
+ archive_cmds_CXX='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ *)
+ archive_cmds_CXX='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ esac
+ ;;
+
+ sysv5* | sco3.2v5* | sco5v6*)
+ # Note: We can NOT use -z defs as we might desire, because we do not
+ # link with -lc, and that would cause any symbols used from libc to
+ # always be unresolved, which means just about no library would
+ # ever link correctly. If we're not using GNU ld we use -z text
+ # though, which does catch some bad symbols but isn't as heavy-handed
+ # as -z defs.
+ no_undefined_flag_CXX='${wl}-z,text'
+ allow_undefined_flag_CXX='${wl}-z,nodefs'
+ archive_cmds_need_lc_CXX=no
+ hardcode_shlibpath_var_CXX=no
+ hardcode_libdir_flag_spec_CXX='${wl}-R,$libdir'
+ hardcode_libdir_separator_CXX=':'
+ link_all_deplibs_CXX=yes
+ export_dynamic_flag_spec_CXX='${wl}-Bexport'
+ runpath_var='LD_RUN_PATH'
+
+ case $cc_basename in
+ CC*)
+ archive_cmds_CXX='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ old_archive_cmds_CXX='$CC -Tprelink_objects $oldobjs~
+ '"$old_archive_cmds_CXX"
+ reload_cmds_CXX='$CC -Tprelink_objects $reload_objs~
+ '"$reload_cmds_CXX"
+ ;;
+ *)
+ archive_cmds_CXX='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ esac
+ ;;
+
+ tandem*)
+ case $cc_basename in
+ NCC*)
+ # NonStop-UX NCC 3.20
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+ *)
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+ esac
+ ;;
+
+ vxworks*)
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+
+ *)
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+ esac
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_CXX" >&5
+$as_echo "$ld_shlibs_CXX" >&6; }
+ test "$ld_shlibs_CXX" = no && can_build_shared=no
+
+ GCC_CXX="$GXX"
+ LD_CXX="$LD"
+
+ ## CAVEAT EMPTOR:
+ ## There is no encapsulation within the following macros, do not change
+ ## the running order or otherwise move them around unless you know exactly
+ ## what you are doing...
+ # Dependencies to place before and after the object being linked:
+predep_objects_CXX=
+postdep_objects_CXX=
+predeps_CXX=
+postdeps_CXX=
+compiler_lib_search_path_CXX=
+
+cat > conftest.$ac_ext <<_LT_EOF
+class Foo
+{
+public:
+ Foo (void) { a = 0; }
+private:
+ int a;
+};
+_LT_EOF
+
+if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+ # Parse the compiler output and extract the necessary
+ # objects, libraries and library flags.
+
+ # Sentinel used to keep track of whether or not we are before
+ # the conftest object file.
+ pre_test_object_deps_done=no
+
+ for p in `eval "$output_verbose_link_cmd"`; do
+ case $p in
+
+ -L* | -R* | -l*)
+ # Some compilers place space between "-{L,R}" and the path.
+ # Remove the space.
+ if test $p = "-L" ||
+ test $p = "-R"; then
+ prev=$p
+ continue
+ else
+ prev=
+ fi
+
+ if test "$pre_test_object_deps_done" = no; then
+ case $p in
+ -L* | -R*)
+ # Internal compiler library paths should come after those
+ # provided the user. The postdeps already come after the
+ # user supplied libs so there is no need to process them.
+ if test -z "$compiler_lib_search_path_CXX"; then
+ compiler_lib_search_path_CXX="${prev}${p}"
+ else
+ compiler_lib_search_path_CXX="${compiler_lib_search_path_CXX} ${prev}${p}"
+ fi
+ ;;
+ # The "-l" case would never come before the object being
+ # linked, so don't bother handling this case.
+ esac
+ else
+ if test -z "$postdeps_CXX"; then
+ postdeps_CXX="${prev}${p}"
+ else
+ postdeps_CXX="${postdeps_CXX} ${prev}${p}"
+ fi
+ fi
+ ;;
+
+ *.$objext)
+ # This assumes that the test object file only shows up
+ # once in the compiler output.
+ if test "$p" = "conftest.$objext"; then
+ pre_test_object_deps_done=yes
+ continue
+ fi
+
+ if test "$pre_test_object_deps_done" = no; then
+ if test -z "$predep_objects_CXX"; then
+ predep_objects_CXX="$p"
+ else
+ predep_objects_CXX="$predep_objects_CXX $p"
+ fi
+ else
+ if test -z "$postdep_objects_CXX"; then
+ postdep_objects_CXX="$p"
+ else
+ postdep_objects_CXX="$postdep_objects_CXX $p"
+ fi
+ fi
+ ;;
+
+ *) ;; # Ignore the rest.
+
+ esac
+ done
+
+ # Clean up.
+ rm -f a.out a.exe
+else
+ echo "libtool.m4: error: problem compiling CXX test program"
+fi
+
+$RM -f confest.$objext
+
+# PORTME: override above test on systems where it is broken
+case $host_os in
+interix[3-9]*)
+ # Interix 3.5 installs completely hosed .la files for C++, so rather than
+ # hack all around it, let's just trust "g++" to DTRT.
+ predep_objects_CXX=
+ postdep_objects_CXX=
+ postdeps_CXX=
+ ;;
+
+linux*)
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ C*)
+ # Sun C++ 5.9
+
+ # The more standards-conforming stlport4 library is
+ # incompatible with the Cstd library. Avoid specifying
+ # it if it's in CXXFLAGS. Ignore libCrun as
+ # -library=stlport4 depends on it.
+ case " $CXX $CXXFLAGS " in
+ *" -library=stlport4 "*)
+ solaris_use_stlport4=yes
+ ;;
+ esac
+
+ if test "$solaris_use_stlport4" != yes; then
+ postdeps_CXX='-library=Cstd -library=Crun'
+ fi
+ ;;
+ esac
+ ;;
+
+solaris*)
+ case $cc_basename in
+ CC*)
+ # The more standards-conforming stlport4 library is
+ # incompatible with the Cstd library. Avoid specifying
+ # it if it's in CXXFLAGS. Ignore libCrun as
+ # -library=stlport4 depends on it.
+ case " $CXX $CXXFLAGS " in
+ *" -library=stlport4 "*)
+ solaris_use_stlport4=yes
+ ;;
+ esac
+
+ # Adding this requires a known-good setup of shared libraries for
+ # Sun compiler versions before 5.6, else PIC objects from an old
+ # archive will be linked into the output, leading to subtle bugs.
+ if test "$solaris_use_stlport4" != yes; then
+ postdeps_CXX='-library=Cstd -library=Crun'
+ fi
+ ;;
+ esac
+ ;;
+esac
+
+
+case " $postdeps_CXX " in
+*" -lc "*) archive_cmds_need_lc_CXX=no ;;
+esac
+ compiler_lib_search_dirs_CXX=
+if test -n "${compiler_lib_search_path_CXX}"; then
+ compiler_lib_search_dirs_CXX=`echo " ${compiler_lib_search_path_CXX}" | ${SED} -e 's! -L! !g' -e 's!^ !!'`
+fi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ lt_prog_compiler_wl_CXX=
+lt_prog_compiler_pic_CXX=
+lt_prog_compiler_static_CXX=
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5
+$as_echo_n "checking for $compiler option to produce PIC... " >&6; }
+
+ # C++ specific cases for pic, static, wl, etc.
+ if test "$GXX" = yes; then
+ lt_prog_compiler_wl_CXX='-Wl,'
+ lt_prog_compiler_static_CXX='-static'
+
+ case $host_os in
+ aix*)
+ # All AIX code is PIC.
+ if test "$host_cpu" = ia64; then
+ # AIX 5 now supports IA64 processor
+ lt_prog_compiler_static_CXX='-Bstatic'
+ fi
+ ;;
+
+ amigaos*)
+ case $host_cpu in
+ powerpc)
+ # see comment about AmigaOS4 .so support
+ lt_prog_compiler_pic_CXX='-fPIC'
+ ;;
+ m68k)
+ # FIXME: we need at least 68020 code to build shared libraries, but
+ # adding the `-m68020' flag to GCC prevents building anything better,
+ # like `-m68040'.
+ lt_prog_compiler_pic_CXX='-m68020 -resident32 -malways-restore-a4'
+ ;;
+ esac
+ ;;
+
+ beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
+ # PIC is the default for these OSes.
+ ;;
+ mingw* | cygwin* | os2* | pw32* | cegcc*)
+ # This hack is so that the source file can tell whether it is being
+ # built for inclusion in a dll (and should export symbols for example).
+ # Although the cygwin gcc ignores -fPIC, still need this for old-style
+ # (--disable-auto-import) libraries
+ lt_prog_compiler_pic_CXX='-DDLL_EXPORT'
+ ;;
+ darwin* | rhapsody*)
+ # PIC is the default on this platform
+ # Common symbols not allowed in MH_DYLIB files
+ lt_prog_compiler_pic_CXX='-fno-common'
+ ;;
+ *djgpp*)
+ # DJGPP does not support shared libraries at all
+ lt_prog_compiler_pic_CXX=
+ ;;
+ haiku*)
+ # PIC is the default for Haiku.
+ # The "-static" flag exists, but is broken.
+ lt_prog_compiler_static_CXX=
+ ;;
+ interix[3-9]*)
+ # Interix 3.x gcc -fpic/-fPIC options generate broken code.
+ # Instead, we relocate shared libraries at runtime.
+ ;;
+ sysv4*MP*)
+ if test -d /usr/nec; then
+ lt_prog_compiler_pic_CXX=-Kconform_pic
+ fi
+ ;;
+ hpux*)
+ # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
+ # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag
+ # sets the default TLS model and affects inlining.
+ case $host_cpu in
+ hppa*64*)
+ ;;
+ *)
+ lt_prog_compiler_pic_CXX='-fPIC'
+ ;;
+ esac
+ ;;
+ *qnx* | *nto*)
+ # QNX uses GNU C++, but need to define -shared option too, otherwise
+ # it will coredump.
+ lt_prog_compiler_pic_CXX='-fPIC -shared'
+ ;;
+ *)
+ lt_prog_compiler_pic_CXX='-fPIC'
+ ;;
+ esac
+ else
+ case $host_os in
+ aix[4-9]*)
+ # All AIX code is PIC.
+ if test "$host_cpu" = ia64; then
+ # AIX 5 now supports IA64 processor
+ lt_prog_compiler_static_CXX='-Bstatic'
+ else
+ lt_prog_compiler_static_CXX='-bnso -bI:/lib/syscalls.exp'
+ fi
+ ;;
+ chorus*)
+ case $cc_basename in
+ cxch68*)
+ # Green Hills C++ Compiler
+ # _LT_TAGVAR(lt_prog_compiler_static, CXX)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a"
+ ;;
+ esac
+ ;;
+ dgux*)
+ case $cc_basename in
+ ec++*)
+ lt_prog_compiler_pic_CXX='-KPIC'
+ ;;
+ ghcx*)
+ # Green Hills C++ Compiler
+ lt_prog_compiler_pic_CXX='-pic'
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ freebsd* | dragonfly*)
+ # FreeBSD uses GNU C++
+ ;;
+ hpux9* | hpux10* | hpux11*)
+ case $cc_basename in
+ CC*)
+ lt_prog_compiler_wl_CXX='-Wl,'
+ lt_prog_compiler_static_CXX='${wl}-a ${wl}archive'
+ if test "$host_cpu" != ia64; then
+ lt_prog_compiler_pic_CXX='+Z'
+ fi
+ ;;
+ aCC*)
+ lt_prog_compiler_wl_CXX='-Wl,'
+ lt_prog_compiler_static_CXX='${wl}-a ${wl}archive'
+ case $host_cpu in
+ hppa*64*|ia64*)
+ # +Z the default
+ ;;
+ *)
+ lt_prog_compiler_pic_CXX='+Z'
+ ;;
+ esac
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ interix*)
+ # This is c89, which is MS Visual C++ (no shared libs)
+ # Anyone wants to do a port?
+ ;;
+ irix5* | irix6* | nonstopux*)
+ case $cc_basename in
+ CC*)
+ lt_prog_compiler_wl_CXX='-Wl,'
+ lt_prog_compiler_static_CXX='-non_shared'
+ # CC pic flag -KPIC is the default.
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ linux* | k*bsd*-gnu | kopensolaris*-gnu)
+ case $cc_basename in
+ KCC*)
+ # KAI C++ Compiler
+ lt_prog_compiler_wl_CXX='--backend -Wl,'
+ lt_prog_compiler_pic_CXX='-fPIC'
+ ;;
+ ecpc* )
+ # old Intel C++ for x86_64 which still supported -KPIC.
+ lt_prog_compiler_wl_CXX='-Wl,'
+ lt_prog_compiler_pic_CXX='-KPIC'
+ lt_prog_compiler_static_CXX='-static'
+ ;;
+ icpc* )
+ # Intel C++, used to be incompatible with GCC.
+ # ICC 10 doesn't accept -KPIC any more.
+ lt_prog_compiler_wl_CXX='-Wl,'
+ lt_prog_compiler_pic_CXX='-fPIC'
+ lt_prog_compiler_static_CXX='-static'
+ ;;
+ pgCC* | pgcpp*)
+ # Portland Group C++ compiler
+ lt_prog_compiler_wl_CXX='-Wl,'
+ lt_prog_compiler_pic_CXX='-fpic'
+ lt_prog_compiler_static_CXX='-Bstatic'
+ ;;
+ cxx*)
+ # Compaq C++
+ # Make sure the PIC flag is empty. It appears that all Alpha
+ # Linux and Compaq Tru64 Unix objects are PIC.
+ lt_prog_compiler_pic_CXX=
+ lt_prog_compiler_static_CXX='-non_shared'
+ ;;
+ xlc* | xlC* | bgxl[cC]* | mpixl[cC]*)
+ # IBM XL 8.0, 9.0 on PPC and BlueGene
+ lt_prog_compiler_wl_CXX='-Wl,'
+ lt_prog_compiler_pic_CXX='-qpic'
+ lt_prog_compiler_static_CXX='-qstaticlink'
+ ;;
+ *)
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ C*)
+ # Sun C++ 5.9
+ lt_prog_compiler_pic_CXX='-KPIC'
+ lt_prog_compiler_static_CXX='-Bstatic'
+ lt_prog_compiler_wl_CXX='-Qoption ld '
+ ;;
+ esac
+ ;;
+ esac
+ ;;
+ lynxos*)
+ ;;
+ m88k*)
+ ;;
+ mvs*)
+ case $cc_basename in
+ cxx*)
+ lt_prog_compiler_pic_CXX='-W c,exportall'
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ netbsd*)
+ ;;
+ *qnx* | *nto*)
+ # QNX uses GNU C++, but need to define -shared option too, otherwise
+ # it will coredump.
+ lt_prog_compiler_pic_CXX='-fPIC -shared'
+ ;;
+ osf3* | osf4* | osf5*)
+ case $cc_basename in
+ KCC*)
+ lt_prog_compiler_wl_CXX='--backend -Wl,'
+ ;;
+ RCC*)
+ # Rational C++ 2.4.1
+ lt_prog_compiler_pic_CXX='-pic'
+ ;;
+ cxx*)
+ # Digital/Compaq C++
+ lt_prog_compiler_wl_CXX='-Wl,'
+ # Make sure the PIC flag is empty. It appears that all Alpha
+ # Linux and Compaq Tru64 Unix objects are PIC.
+ lt_prog_compiler_pic_CXX=
+ lt_prog_compiler_static_CXX='-non_shared'
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ psos*)
+ ;;
+ solaris*)
+ case $cc_basename in
+ CC*)
+ # Sun C++ 4.2, 5.x and Centerline C++
+ lt_prog_compiler_pic_CXX='-KPIC'
+ lt_prog_compiler_static_CXX='-Bstatic'
+ lt_prog_compiler_wl_CXX='-Qoption ld '
+ ;;
+ gcx*)
+ # Green Hills C++ Compiler
+ lt_prog_compiler_pic_CXX='-PIC'
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ sunos4*)
+ case $cc_basename in
+ CC*)
+ # Sun C++ 4.x
+ lt_prog_compiler_pic_CXX='-pic'
+ lt_prog_compiler_static_CXX='-Bstatic'
+ ;;
+ lcc*)
+ # Lucid
+ lt_prog_compiler_pic_CXX='-pic'
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
+ case $cc_basename in
+ CC*)
+ lt_prog_compiler_wl_CXX='-Wl,'
+ lt_prog_compiler_pic_CXX='-KPIC'
+ lt_prog_compiler_static_CXX='-Bstatic'
+ ;;
+ esac
+ ;;
+ tandem*)
+ case $cc_basename in
+ NCC*)
+ # NonStop-UX NCC 3.20
+ lt_prog_compiler_pic_CXX='-KPIC'
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ vxworks*)
+ ;;
+ *)
+ lt_prog_compiler_can_build_shared_CXX=no
+ ;;
+ esac
+ fi
+
+case $host_os in
+ # For platforms which do not support PIC, -DPIC is meaningless:
+ *djgpp*)
+ lt_prog_compiler_pic_CXX=
+ ;;
+ *)
+ lt_prog_compiler_pic_CXX="$lt_prog_compiler_pic_CXX -DPIC"
+ ;;
+esac
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_prog_compiler_pic_CXX" >&5
+$as_echo "$lt_prog_compiler_pic_CXX" >&6; }
+
+
+
+#
+# Check to make sure the PIC flag actually works.
+#
+if test -n "$lt_prog_compiler_pic_CXX"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5
+$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... " >&6; }
+if test "${lt_cv_prog_compiler_pic_works_CXX+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_prog_compiler_pic_works_CXX=no
+ ac_outfile=conftest.$ac_objext
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+ lt_compiler_flag="$lt_prog_compiler_pic_CXX -DPIC"
+ # Insert the option either (1) after the last *FLAGS variable, or
+ # (2) before a word containing "conftest.", or (3) at the end.
+ # Note that $ac_compile itself does not contain backslashes and begins
+ # with a dollar sign (not a hyphen), so the echo should work correctly.
+ # The option is referenced via a variable to avoid confusing sed.
+ lt_compile=`echo "$ac_compile" | $SED \
+ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
+ (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
+ (eval "$lt_compile" 2>conftest.err)
+ ac_status=$?
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ if (exit $ac_status) && test -s "$ac_outfile"; then
+ # The compiler can only warn and ignore the option if not recognized
+ # So say no if there are warnings other than the usual output.
+ $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
+ $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+ if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
+ lt_cv_prog_compiler_pic_works_CXX=yes
+ fi
+ fi
+ $RM conftest*
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works_CXX" >&5
+$as_echo "$lt_cv_prog_compiler_pic_works_CXX" >&6; }
+
+if test x"$lt_cv_prog_compiler_pic_works_CXX" = xyes; then
+ case $lt_prog_compiler_pic_CXX in
+ "" | " "*) ;;
+ *) lt_prog_compiler_pic_CXX=" $lt_prog_compiler_pic_CXX" ;;
+ esac
+else
+ lt_prog_compiler_pic_CXX=
+ lt_prog_compiler_can_build_shared_CXX=no
+fi
+
+fi
+
+
+
+#
+# Check to make sure the static flag actually works.
+#
+wl=$lt_prog_compiler_wl_CXX eval lt_tmp_static_flag=\"$lt_prog_compiler_static_CXX\"
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5
+$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; }
+if test "${lt_cv_prog_compiler_static_works_CXX+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_prog_compiler_static_works_CXX=no
+ save_LDFLAGS="$LDFLAGS"
+ LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
+ echo "$lt_simple_link_test_code" > conftest.$ac_ext
+ if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
+ # The linker can only warn and ignore the option if not recognized
+ # So say no if there are warnings
+ if test -s conftest.err; then
+ # Append any errors to the config.log.
+ cat conftest.err 1>&5
+ $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
+ $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+ if diff conftest.exp conftest.er2 >/dev/null; then
+ lt_cv_prog_compiler_static_works_CXX=yes
+ fi
+ else
+ lt_cv_prog_compiler_static_works_CXX=yes
+ fi
+ fi
+ $RM -r conftest*
+ LDFLAGS="$save_LDFLAGS"
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works_CXX" >&5
+$as_echo "$lt_cv_prog_compiler_static_works_CXX" >&6; }
+
+if test x"$lt_cv_prog_compiler_static_works_CXX" = xyes; then
+ :
+else
+ lt_prog_compiler_static_CXX=
+fi
+
+
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
+$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
+if test "${lt_cv_prog_compiler_c_o_CXX+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_prog_compiler_c_o_CXX=no
+ $RM -r conftest 2>/dev/null
+ mkdir conftest
+ cd conftest
+ mkdir out
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+ lt_compiler_flag="-o out/conftest2.$ac_objext"
+ # Insert the option either (1) after the last *FLAGS variable, or
+ # (2) before a word containing "conftest.", or (3) at the end.
+ # Note that $ac_compile itself does not contain backslashes and begins
+ # with a dollar sign (not a hyphen), so the echo should work correctly.
+ lt_compile=`echo "$ac_compile" | $SED \
+ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
+ (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
+ (eval "$lt_compile" 2>out/conftest.err)
+ ac_status=$?
+ cat out/conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ if (exit $ac_status) && test -s out/conftest2.$ac_objext
+ then
+ # The compiler can only warn and ignore the option if not recognized
+ # So say no if there are warnings
+ $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
+ $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
+ if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
+ lt_cv_prog_compiler_c_o_CXX=yes
+ fi
+ fi
+ chmod u+w . 2>&5
+ $RM conftest*
+ # SGI C++ compiler will create directory out/ii_files/ for
+ # template instantiation
+ test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
+ $RM out/* && rmdir out
+ cd ..
+ $RM -r conftest
+ $RM conftest*
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_CXX" >&5
+$as_echo "$lt_cv_prog_compiler_c_o_CXX" >&6; }
+
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
+$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
+if test "${lt_cv_prog_compiler_c_o_CXX+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_prog_compiler_c_o_CXX=no
+ $RM -r conftest 2>/dev/null
+ mkdir conftest
+ cd conftest
+ mkdir out
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+ lt_compiler_flag="-o out/conftest2.$ac_objext"
+ # Insert the option either (1) after the last *FLAGS variable, or
+ # (2) before a word containing "conftest.", or (3) at the end.
+ # Note that $ac_compile itself does not contain backslashes and begins
+ # with a dollar sign (not a hyphen), so the echo should work correctly.
+ lt_compile=`echo "$ac_compile" | $SED \
+ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
+ (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
+ (eval "$lt_compile" 2>out/conftest.err)
+ ac_status=$?
+ cat out/conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ if (exit $ac_status) && test -s out/conftest2.$ac_objext
+ then
+ # The compiler can only warn and ignore the option if not recognized
+ # So say no if there are warnings
+ $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
+ $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
+ if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
+ lt_cv_prog_compiler_c_o_CXX=yes
+ fi
+ fi
+ chmod u+w . 2>&5
+ $RM conftest*
+ # SGI C++ compiler will create directory out/ii_files/ for
+ # template instantiation
+ test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
+ $RM out/* && rmdir out
+ cd ..
+ $RM -r conftest
+ $RM conftest*
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_CXX" >&5
+$as_echo "$lt_cv_prog_compiler_c_o_CXX" >&6; }
+
+
+
+
+hard_links="nottested"
+if test "$lt_cv_prog_compiler_c_o_CXX" = no && test "$need_locks" != no; then
+ # do not overwrite the value of need_locks provided by the user
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5
+$as_echo_n "checking if we can lock with hard links... " >&6; }
+ hard_links=yes
+ $RM conftest*
+ ln conftest.a conftest.b 2>/dev/null && hard_links=no
+ touch conftest.a
+ ln conftest.a conftest.b 2>&5 || hard_links=no
+ ln conftest.a conftest.b 2>/dev/null && hard_links=no
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5
+$as_echo "$hard_links" >&6; }
+ if test "$hard_links" = no; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
+$as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
+ need_locks=warn
+ fi
+else
+ need_locks=no
+fi
+
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5
+$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
+
+ export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+ case $host_os in
+ aix[4-9]*)
+ # If we're using GNU nm, then we don't want the "-C" option.
+ # -C means demangle to AIX nm, but means don't demangle with GNU nm
+ # Also, AIX nm treats weak defined symbols like other global defined
+ # symbols, whereas GNU nm marks them as "W".
+ if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
+ export_symbols_cmds_CXX='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+ else
+ export_symbols_cmds_CXX='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+ fi
+ ;;
+ pw32*)
+ export_symbols_cmds_CXX="$ltdll_cmds"
+ ;;
+ cygwin* | mingw* | cegcc*)
+ export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;/^.*[ ]__nm__/s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols'
+ ;;
+ *)
+ export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+ ;;
+ esac
+ exclude_expsyms_CXX='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_CXX" >&5
+$as_echo "$ld_shlibs_CXX" >&6; }
+test "$ld_shlibs_CXX" = no && can_build_shared=no
+
+with_gnu_ld_CXX=$with_gnu_ld
+
+
+
+
+
+
+#
+# Do we need to explicitly link libc?
+#
+case "x$archive_cmds_need_lc_CXX" in
+x|xyes)
+ # Assume -lc should be added
+ archive_cmds_need_lc_CXX=yes
+
+ if test "$enable_shared" = yes && test "$GCC" = yes; then
+ case $archive_cmds_CXX in
+ *'~'*)
+ # FIXME: we may have to deal with multi-command sequences.
+ ;;
+ '$CC '*)
+ # Test whether the compiler implicitly links with -lc since on some
+ # systems, -lgcc has to come before -lc. If gcc already passes -lc
+ # to ld, don't add -lc before -lgcc.
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5
+$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; }
+if test "${lt_cv_archive_cmds_need_lc_CXX+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ $RM conftest*
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } 2>conftest.err; then
+ soname=conftest
+ lib=conftest
+ libobjs=conftest.$ac_objext
+ deplibs=
+ wl=$lt_prog_compiler_wl_CXX
+ pic_flag=$lt_prog_compiler_pic_CXX
+ compiler_flags=-v
+ linker_flags=-v
+ verstring=
+ output_objdir=.
+ libname=conftest
+ lt_save_allow_undefined_flag=$allow_undefined_flag_CXX
+ allow_undefined_flag_CXX=
+ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds_CXX 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5
+ (eval $archive_cmds_CXX 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }
+ then
+ lt_cv_archive_cmds_need_lc_CXX=no
+ else
+ lt_cv_archive_cmds_need_lc_CXX=yes
+ fi
+ allow_undefined_flag_CXX=$lt_save_allow_undefined_flag
+ else
+ cat conftest.err 1>&5
+ fi
+ $RM conftest*
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc_CXX" >&5
+$as_echo "$lt_cv_archive_cmds_need_lc_CXX" >&6; }
+ archive_cmds_need_lc_CXX=$lt_cv_archive_cmds_need_lc_CXX
+ ;;
+ esac
+ fi
+ ;;
+esac
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5
+$as_echo_n "checking dynamic linker characteristics... " >&6; }
+
+library_names_spec=
+libname_spec='lib$name'
+soname_spec=
+shrext_cmds=".so"
+postinstall_cmds=
+postuninstall_cmds=
+finish_cmds=
+finish_eval=
+shlibpath_var=
+shlibpath_overrides_runpath=unknown
+version_type=none
+dynamic_linker="$host_os ld.so"
+sys_lib_dlsearch_path_spec="/lib /usr/lib"
+need_lib_prefix=unknown
+hardcode_into_libs=no
+
+# when you set need_version to no, make sure it does not cause -set_version
+# flags to be left without arguments
+need_version=unknown
+
+case $host_os in
+aix3*)
+ version_type=linux
+ library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
+ shlibpath_var=LIBPATH
+
+ # AIX 3 has no versioning support, so we append a major version to the name.
+ soname_spec='${libname}${release}${shared_ext}$major'
+ ;;
+
+aix[4-9]*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ hardcode_into_libs=yes
+ if test "$host_cpu" = ia64; then
+ # AIX 5 supports IA64
+ library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
+ shlibpath_var=LD_LIBRARY_PATH
+ else
+ # With GCC up to 2.95.x, collect2 would create an import file
+ # for dependence libraries. The import file would start with
+ # the line `#! .'. This would cause the generated library to
+ # depend on `.', always an invalid library. This was fixed in
+ # development snapshots of GCC prior to 3.0.
+ case $host_os in
+ aix4 | aix4.[01] | aix4.[01].*)
+ if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
+ echo ' yes '
+ echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then
+ :
+ else
+ can_build_shared=no
+ fi
+ ;;
+ esac
+ # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
+ # soname into executable. Probably we can add versioning support to
+ # collect2, so additional links can be useful in future.
+ if test "$aix_use_runtimelinking" = yes; then
+ # If using run time linking (on AIX 4.2 or later) use lib<name>.so
+ # instead of lib<name>.a to let people know that these are not
+ # typical AIX shared libraries.
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ else
+ # We preserve .a as extension for shared libraries through AIX4.2
+ # and later when we are not doing run time linking.
+ library_names_spec='${libname}${release}.a $libname.a'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ fi
+ shlibpath_var=LIBPATH
+ fi
+ ;;
+
+amigaos*)
+ case $host_cpu in
+ powerpc)
+ # Since July 2007 AmigaOS4 officially supports .so libraries.
+ # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ ;;
+ m68k)
+ library_names_spec='$libname.ixlibrary $libname.a'
+ # Create ${libname}_ixlibrary.a entries in /sys/libs.
+ finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
+ ;;
+ esac
+ ;;
+
+beos*)
+ library_names_spec='${libname}${shared_ext}'
+ dynamic_linker="$host_os ld.so"
+ shlibpath_var=LIBRARY_PATH
+ ;;
+
+bsdi[45]*)
+ version_type=linux
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
+ sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
+ # the default ld.so.conf also contains /usr/contrib/lib and
+ # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
+ # libtool to hard-code these into programs
+ ;;
+
+cygwin* | mingw* | pw32* | cegcc*)
+ version_type=windows
+ shrext_cmds=".dll"
+ need_version=no
+ need_lib_prefix=no
+
+ case $GCC,$host_os in
+ yes,cygwin* | yes,mingw* | yes,pw32* | yes,cegcc*)
+ library_names_spec='$libname.dll.a'
+ # DLL is installed to $(libdir)/../bin by postinstall_cmds
+ postinstall_cmds='base_file=`basename \${file}`~
+ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
+ dldir=$destdir/`dirname \$dlpath`~
+ test -d \$dldir || mkdir -p \$dldir~
+ $install_prog $dir/$dlname \$dldir/$dlname~
+ chmod a+x \$dldir/$dlname~
+ if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
+ eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
+ fi'
+ postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
+ dlpath=$dir/\$dldll~
+ $RM \$dlpath'
+ shlibpath_overrides_runpath=yes
+
+ case $host_os in
+ cygwin*)
+ # Cygwin DLLs use 'cyg' prefix rather than 'lib'
+ soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+
+ ;;
+ mingw* | cegcc*)
+ # MinGW DLLs use traditional 'lib' prefix
+ soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+ ;;
+ pw32*)
+ # pw32 DLLs use 'pw' prefix rather than 'lib'
+ library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+ ;;
+ esac
+ ;;
+
+ *)
+ library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib'
+ ;;
+ esac
+ dynamic_linker='Win32 ld.exe'
+ # FIXME: first we should search . and the directory the executable is in
+ shlibpath_var=PATH
+ ;;
+
+darwin* | rhapsody*)
+ dynamic_linker="$host_os dyld"
+ version_type=darwin
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext'
+ soname_spec='${libname}${release}${major}$shared_ext'
+ shlibpath_overrides_runpath=yes
+ shlibpath_var=DYLD_LIBRARY_PATH
+ shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
+
+ sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
+ ;;
+
+dgux*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ ;;
+
+freebsd1*)
+ dynamic_linker=no
+ ;;
+
+freebsd* | dragonfly*)
+ # DragonFly does not have aout. When/if they implement a new
+ # versioning mechanism, adjust this.
+ if test -x /usr/bin/objformat; then
+ objformat=`/usr/bin/objformat`
+ else
+ case $host_os in
+ freebsd[123]*) objformat=aout ;;
+ *) objformat=elf ;;
+ esac
+ fi
+ version_type=freebsd-$objformat
+ case $version_type in
+ freebsd-elf*)
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+ need_version=no
+ need_lib_prefix=no
+ ;;
+ freebsd-*)
+ library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
+ need_version=yes
+ ;;
+ esac
+ shlibpath_var=LD_LIBRARY_PATH
+ case $host_os in
+ freebsd2*)
+ shlibpath_overrides_runpath=yes
+ ;;
+ freebsd3.[01]* | freebsdelf3.[01]*)
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ ;;
+ freebsd3.[2-9]* | freebsdelf3.[2-9]* | \
+ freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1)
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ ;;
+ *) # from 4.6 on, and DragonFly
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ ;;
+ esac
+ ;;
+
+gnu*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ hardcode_into_libs=yes
+ ;;
+
+haiku*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ dynamic_linker="$host_os runtime_loader"
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/beos/system/lib'
+ hardcode_into_libs=yes
+ ;;
+
+hpux9* | hpux10* | hpux11*)
+ # Give a soname corresponding to the major version so that dld.sl refuses to
+ # link against other versions.
+ version_type=sunos
+ need_lib_prefix=no
+ need_version=no
+ case $host_cpu in
+ ia64*)
+ shrext_cmds='.so'
+ hardcode_into_libs=yes
+ dynamic_linker="$host_os dld.so"
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ if test "X$HPUX_IA64_MODE" = X32; then
+ sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
+ else
+ sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
+ fi
+ sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+ ;;
+ hppa*64*)
+ shrext_cmds='.sl'
+ hardcode_into_libs=yes
+ dynamic_linker="$host_os dld.sl"
+ shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
+ shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
+ sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+ ;;
+ *)
+ shrext_cmds='.sl'
+ dynamic_linker="$host_os dld.sl"
+ shlibpath_var=SHLIB_PATH
+ shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ ;;
+ esac
+ # HP-UX runs *really* slowly unless shared libraries are mode 555, ...
+ postinstall_cmds='chmod 555 $lib'
+ # or fails outright, so override atomically:
+ install_override_mode=555
+ ;;
+
+interix[3-9]*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ ;;
+
+irix5* | irix6* | nonstopux*)
+ case $host_os in
+ nonstopux*) version_type=nonstopux ;;
+ *)
+ if test "$lt_cv_prog_gnu_ld" = yes; then
+ version_type=linux
+ else
+ version_type=irix
+ fi ;;
+ esac
+ need_lib_prefix=no
+ need_version=no
+ soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
+ case $host_os in
+ irix5* | nonstopux*)
+ libsuff= shlibsuff=
+ ;;
+ *)
+ case $LD in # libtool.m4 will add one of these switches to LD
+ *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
+ libsuff= shlibsuff= libmagic=32-bit;;
+ *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
+ libsuff=32 shlibsuff=N32 libmagic=N32;;
+ *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
+ libsuff=64 shlibsuff=64 libmagic=64-bit;;
+ *) libsuff= shlibsuff= libmagic=never-match;;
+ esac
+ ;;
+ esac
+ shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
+ shlibpath_overrides_runpath=no
+ sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
+ sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
+ hardcode_into_libs=yes
+ ;;
+
+# No shared lib support for Linux oldld, aout, or coff.
+linux*oldld* | linux*aout* | linux*coff*)
+ dynamic_linker=no
+ ;;
+
+# This must be Linux ELF.
+linux* | k*bsd*-gnu | kopensolaris*-gnu)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+
+ # Some binutils ld are patched to set DT_RUNPATH
+ if test "${lt_cv_shlibpath_overrides_runpath+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_shlibpath_overrides_runpath=no
+ save_LDFLAGS=$LDFLAGS
+ save_libdir=$libdir
+ eval "libdir=/foo; wl=\"$lt_prog_compiler_wl_CXX\"; \
+ LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec_CXX\""
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_link "$LINENO"; then :
+ if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then :
+ lt_cv_shlibpath_overrides_runpath=yes
+fi
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ LDFLAGS=$save_LDFLAGS
+ libdir=$save_libdir
+
+fi
+
+ shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath
+
+ # This implies no fast_install, which is unacceptable.
+ # Some rework will be needed to allow for fast_install
+ # before this can be enabled.
+ hardcode_into_libs=yes
+
+ # Append ld.so.conf contents to the search path
+ if test -f /etc/ld.so.conf; then
+ lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
+ sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
+ fi
+
+ # We used to test for /lib/ld.so.1 and disable shared libraries on
+ # powerpc, because MkLinux only supported shared libraries with the
+ # GNU dynamic linker. Since this was broken with cross compilers,
+ # most powerpc-linux boxes support dynamic linking these days and
+ # people can always --disable-shared, the test was removed, and we
+ # assume the GNU/Linux dynamic linker is in use.
+ dynamic_linker='GNU/Linux ld.so'
+ ;;
+
+netbsd*)
+ version_type=sunos
+ need_lib_prefix=no
+ need_version=no
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+ dynamic_linker='NetBSD (a.out) ld.so'
+ else
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ dynamic_linker='NetBSD ld.elf_so'
+ fi
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ ;;
+
+newsos6)
+ version_type=linux
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ ;;
+
+*nto* | *qnx*)
+ version_type=qnx
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ dynamic_linker='ldqnx.so'
+ ;;
+
+openbsd*)
+ version_type=sunos
+ sys_lib_dlsearch_path_spec="/usr/lib"
+ need_lib_prefix=no
+ # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
+ case $host_os in
+ openbsd3.3 | openbsd3.3.*) need_version=yes ;;
+ *) need_version=no ;;
+ esac
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ case $host_os in
+ openbsd2.[89] | openbsd2.[89].*)
+ shlibpath_overrides_runpath=no
+ ;;
+ *)
+ shlibpath_overrides_runpath=yes
+ ;;
+ esac
+ else
+ shlibpath_overrides_runpath=yes
+ fi
+ ;;
+
+os2*)
+ libname_spec='$name'
+ shrext_cmds=".dll"
+ need_lib_prefix=no
+ library_names_spec='$libname${shared_ext} $libname.a'
+ dynamic_linker='OS/2 ld.exe'
+ shlibpath_var=LIBPATH
+ ;;
+
+osf3* | osf4* | osf5*)
+ version_type=osf
+ need_lib_prefix=no
+ need_version=no
+ soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ shlibpath_var=LD_LIBRARY_PATH
+ sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
+ sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
+ ;;
+
+rdos*)
+ dynamic_linker=no
+ ;;
+
+solaris*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ # ldd complains unless libraries are executable
+ postinstall_cmds='chmod +x $lib'
+ ;;
+
+sunos4*)
+ version_type=sunos
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+ finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ if test "$with_gnu_ld" = yes; then
+ need_lib_prefix=no
+ fi
+ need_version=yes
+ ;;
+
+sysv4 | sysv4.3*)
+ version_type=linux
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ case $host_vendor in
+ sni)
+ shlibpath_overrides_runpath=no
+ need_lib_prefix=no
+ runpath_var=LD_RUN_PATH
+ ;;
+ siemens)
+ need_lib_prefix=no
+ ;;
+ motorola)
+ need_lib_prefix=no
+ need_version=no
+ shlibpath_overrides_runpath=no
+ sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
+ ;;
+ esac
+ ;;
+
+sysv4*MP*)
+ if test -d /usr/nec ;then
+ version_type=linux
+ library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
+ soname_spec='$libname${shared_ext}.$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ fi
+ ;;
+
+sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+ version_type=freebsd-elf
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ if test "$with_gnu_ld" = yes; then
+ sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
+ else
+ sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
+ case $host_os in
+ sco3.2v5*)
+ sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
+ ;;
+ esac
+ fi
+ sys_lib_dlsearch_path_spec='/usr/lib'
+ ;;
+
+tpf*)
+ # TPF is a cross-target only. Preferred cross-host = GNU/Linux.
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ ;;
+
+uts4*)
+ version_type=linux
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ ;;
+
+*)
+ dynamic_linker=no
+ ;;
+esac
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5
+$as_echo "$dynamic_linker" >&6; }
+test "$dynamic_linker" = no && can_build_shared=no
+
+variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
+if test "$GCC" = yes; then
+ variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
+fi
+
+if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
+ sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
+fi
+if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
+ sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
+fi
+
-void fnord () { int i=42; }
-int main ()
-{
- void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
- int status = $lt_dlunknown;
- if (self)
- {
- if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
- else
- {
- if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
- else puts (dlerror ());
- }
- /* dlclose (self); */
- }
- else
- puts (dlerror ());
- return status;
-}
-_LT_EOF
- if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then
- (./conftest; exit; ) >&5 2>/dev/null
- lt_status=$?
- case x$lt_status in
- x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;;
- x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;;
- x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;;
- esac
- else :
- # compilation failed
- lt_cv_dlopen_self_static=no
- fi
-fi
-rm -fr conftest*
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self_static" >&5
-$as_echo "$lt_cv_dlopen_self_static" >&6; }
- fi
- CPPFLAGS="$save_CPPFLAGS"
- LDFLAGS="$save_LDFLAGS"
- LIBS="$save_LIBS"
- ;;
- esac
- case $lt_cv_dlopen_self in
- yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
- *) enable_dlopen_self=unknown ;;
- esac
- case $lt_cv_dlopen_self_static in
- yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
- *) enable_dlopen_self_static=unknown ;;
- esac
-fi
-striplib=
-old_striplib=
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5
-$as_echo_n "checking whether stripping libraries is possible... " >&6; }
-if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
- test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
- test -z "$striplib" && striplib="$STRIP --strip-unneeded"
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-else
-# FIXME - insert some real tests, host_os isn't really good enough
- case $host_os in
- darwin*)
- if test -n "$STRIP" ; then
- striplib="$STRIP -x"
- old_striplib="$STRIP -S"
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
- fi
- ;;
- *)
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
- ;;
- esac
-fi
- # Report which library types will actually be built
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5
-$as_echo_n "checking if libtool supports shared libraries... " >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5
-$as_echo "$can_build_shared" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5
+$as_echo_n "checking how to hardcode library paths into programs... " >&6; }
+hardcode_action_CXX=
+if test -n "$hardcode_libdir_flag_spec_CXX" ||
+ test -n "$runpath_var_CXX" ||
+ test "X$hardcode_automatic_CXX" = "Xyes" ; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5
-$as_echo_n "checking whether to build shared libraries... " >&6; }
- test "$can_build_shared" = "no" && enable_shared=no
+ # We can hardcode non-existent directories.
+ if test "$hardcode_direct_CXX" != no &&
+ # If the only mechanism to avoid hardcoding is shlibpath_var, we
+ # have to relink, otherwise we might link with an installed library
+ # when we should be linking with a yet-to-be-installed one
+ ## test "$_LT_TAGVAR(hardcode_shlibpath_var, CXX)" != no &&
+ test "$hardcode_minus_L_CXX" != no; then
+ # Linking always hardcodes the temporary library directory.
+ hardcode_action_CXX=relink
+ else
+ # We can link without hardcoding, and we can hardcode nonexisting dirs.
+ hardcode_action_CXX=immediate
+ fi
+else
+ # We cannot hardcode anything, or else we can only hardcode existing
+ # directories.
+ hardcode_action_CXX=unsupported
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action_CXX" >&5
+$as_echo "$hardcode_action_CXX" >&6; }
- # On AIX, shared libraries and static libraries use the same namespace, and
- # are all built from PIC.
- case $host_os in
- aix3*)
- test "$enable_shared" = yes && enable_static=no
- if test -n "$RANLIB"; then
- archive_cmds="$archive_cmds~\$RANLIB \$lib"
- postinstall_cmds='$RANLIB $lib'
- fi
- ;;
+if test "$hardcode_action_CXX" = relink ||
+ test "$inherit_rpath_CXX" = yes; then
+ # Fast installation is not supported
+ enable_fast_install=no
+elif test "$shlibpath_overrides_runpath" = yes ||
+ test "$enable_shared" = no; then
+ # Fast installation is not necessary
+ enable_fast_install=needless
+fi
- aix[4-9]*)
- if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
- test "$enable_shared" = yes && enable_static=no
- fi
- ;;
- esac
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5
-$as_echo "$enable_shared" >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5
-$as_echo_n "checking whether to build static libraries... " >&6; }
- # Make sure either enable_shared or enable_static is yes.
- test "$enable_shared" = yes || enable_static=yes
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5
-$as_echo "$enable_static" >&6; }
-fi
+
+ fi # test -n "$compiler"
+
+ CC=$lt_save_CC
+ LDCXX=$LD
+ LD=$lt_save_LD
+ GCC=$lt_save_GCC
+ with_gnu_ld=$lt_save_with_gnu_ld
+ lt_cv_path_LDCXX=$lt_cv_path_LD
+ lt_cv_path_LD=$lt_save_path_LD
+ lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld
+ lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
+fi # test "$_lt_caught_CXX_error" != yes
+
ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_c_compiler_gnu
-CC="$lt_save_CC"
-
as_fn_error "conditional \"MAINTAINER_MODE\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
+if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then
+ as_fn_error "conditional \"am__fastdepCXX\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then
as_fn_error "conditional \"MAINTAINER_MODE\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
enable_dlopen_self_static='`$ECHO "$enable_dlopen_self_static" | $SED "$delay_single_quote_subst"`'
old_striplib='`$ECHO "$old_striplib" | $SED "$delay_single_quote_subst"`'
striplib='`$ECHO "$striplib" | $SED "$delay_single_quote_subst"`'
+compiler_lib_search_dirs='`$ECHO "$compiler_lib_search_dirs" | $SED "$delay_single_quote_subst"`'
+predep_objects='`$ECHO "$predep_objects" | $SED "$delay_single_quote_subst"`'
+postdep_objects='`$ECHO "$postdep_objects" | $SED "$delay_single_quote_subst"`'
+predeps='`$ECHO "$predeps" | $SED "$delay_single_quote_subst"`'
+postdeps='`$ECHO "$postdeps" | $SED "$delay_single_quote_subst"`'
+compiler_lib_search_path='`$ECHO "$compiler_lib_search_path" | $SED "$delay_single_quote_subst"`'
+LD_CXX='`$ECHO "$LD_CXX" | $SED "$delay_single_quote_subst"`'
+reload_flag_CXX='`$ECHO "$reload_flag_CXX" | $SED "$delay_single_quote_subst"`'
+reload_cmds_CXX='`$ECHO "$reload_cmds_CXX" | $SED "$delay_single_quote_subst"`'
+old_archive_cmds_CXX='`$ECHO "$old_archive_cmds_CXX" | $SED "$delay_single_quote_subst"`'
+compiler_CXX='`$ECHO "$compiler_CXX" | $SED "$delay_single_quote_subst"`'
+GCC_CXX='`$ECHO "$GCC_CXX" | $SED "$delay_single_quote_subst"`'
+lt_prog_compiler_no_builtin_flag_CXX='`$ECHO "$lt_prog_compiler_no_builtin_flag_CXX" | $SED "$delay_single_quote_subst"`'
+lt_prog_compiler_wl_CXX='`$ECHO "$lt_prog_compiler_wl_CXX" | $SED "$delay_single_quote_subst"`'
+lt_prog_compiler_pic_CXX='`$ECHO "$lt_prog_compiler_pic_CXX" | $SED "$delay_single_quote_subst"`'
+lt_prog_compiler_static_CXX='`$ECHO "$lt_prog_compiler_static_CXX" | $SED "$delay_single_quote_subst"`'
+lt_cv_prog_compiler_c_o_CXX='`$ECHO "$lt_cv_prog_compiler_c_o_CXX" | $SED "$delay_single_quote_subst"`'
+archive_cmds_need_lc_CXX='`$ECHO "$archive_cmds_need_lc_CXX" | $SED "$delay_single_quote_subst"`'
+enable_shared_with_static_runtimes_CXX='`$ECHO "$enable_shared_with_static_runtimes_CXX" | $SED "$delay_single_quote_subst"`'
+export_dynamic_flag_spec_CXX='`$ECHO "$export_dynamic_flag_spec_CXX" | $SED "$delay_single_quote_subst"`'
+whole_archive_flag_spec_CXX='`$ECHO "$whole_archive_flag_spec_CXX" | $SED "$delay_single_quote_subst"`'
+compiler_needs_object_CXX='`$ECHO "$compiler_needs_object_CXX" | $SED "$delay_single_quote_subst"`'
+old_archive_from_new_cmds_CXX='`$ECHO "$old_archive_from_new_cmds_CXX" | $SED "$delay_single_quote_subst"`'
+old_archive_from_expsyms_cmds_CXX='`$ECHO "$old_archive_from_expsyms_cmds_CXX" | $SED "$delay_single_quote_subst"`'
+archive_cmds_CXX='`$ECHO "$archive_cmds_CXX" | $SED "$delay_single_quote_subst"`'
+archive_expsym_cmds_CXX='`$ECHO "$archive_expsym_cmds_CXX" | $SED "$delay_single_quote_subst"`'
+module_cmds_CXX='`$ECHO "$module_cmds_CXX" | $SED "$delay_single_quote_subst"`'
+module_expsym_cmds_CXX='`$ECHO "$module_expsym_cmds_CXX" | $SED "$delay_single_quote_subst"`'
+with_gnu_ld_CXX='`$ECHO "$with_gnu_ld_CXX" | $SED "$delay_single_quote_subst"`'
+allow_undefined_flag_CXX='`$ECHO "$allow_undefined_flag_CXX" | $SED "$delay_single_quote_subst"`'
+no_undefined_flag_CXX='`$ECHO "$no_undefined_flag_CXX" | $SED "$delay_single_quote_subst"`'
+hardcode_libdir_flag_spec_CXX='`$ECHO "$hardcode_libdir_flag_spec_CXX" | $SED "$delay_single_quote_subst"`'
+hardcode_libdir_flag_spec_ld_CXX='`$ECHO "$hardcode_libdir_flag_spec_ld_CXX" | $SED "$delay_single_quote_subst"`'
+hardcode_libdir_separator_CXX='`$ECHO "$hardcode_libdir_separator_CXX" | $SED "$delay_single_quote_subst"`'
+hardcode_direct_CXX='`$ECHO "$hardcode_direct_CXX" | $SED "$delay_single_quote_subst"`'
+hardcode_direct_absolute_CXX='`$ECHO "$hardcode_direct_absolute_CXX" | $SED "$delay_single_quote_subst"`'
+hardcode_minus_L_CXX='`$ECHO "$hardcode_minus_L_CXX" | $SED "$delay_single_quote_subst"`'
+hardcode_shlibpath_var_CXX='`$ECHO "$hardcode_shlibpath_var_CXX" | $SED "$delay_single_quote_subst"`'
+hardcode_automatic_CXX='`$ECHO "$hardcode_automatic_CXX" | $SED "$delay_single_quote_subst"`'
+inherit_rpath_CXX='`$ECHO "$inherit_rpath_CXX" | $SED "$delay_single_quote_subst"`'
+link_all_deplibs_CXX='`$ECHO "$link_all_deplibs_CXX" | $SED "$delay_single_quote_subst"`'
+fix_srcfile_path_CXX='`$ECHO "$fix_srcfile_path_CXX" | $SED "$delay_single_quote_subst"`'
+always_export_symbols_CXX='`$ECHO "$always_export_symbols_CXX" | $SED "$delay_single_quote_subst"`'
+export_symbols_cmds_CXX='`$ECHO "$export_symbols_cmds_CXX" | $SED "$delay_single_quote_subst"`'
+exclude_expsyms_CXX='`$ECHO "$exclude_expsyms_CXX" | $SED "$delay_single_quote_subst"`'
+include_expsyms_CXX='`$ECHO "$include_expsyms_CXX" | $SED "$delay_single_quote_subst"`'
+prelink_cmds_CXX='`$ECHO "$prelink_cmds_CXX" | $SED "$delay_single_quote_subst"`'
+file_list_spec_CXX='`$ECHO "$file_list_spec_CXX" | $SED "$delay_single_quote_subst"`'
+hardcode_action_CXX='`$ECHO "$hardcode_action_CXX" | $SED "$delay_single_quote_subst"`'
+compiler_lib_search_dirs_CXX='`$ECHO "$compiler_lib_search_dirs_CXX" | $SED "$delay_single_quote_subst"`'
+predep_objects_CXX='`$ECHO "$predep_objects_CXX" | $SED "$delay_single_quote_subst"`'
+postdep_objects_CXX='`$ECHO "$postdep_objects_CXX" | $SED "$delay_single_quote_subst"`'
+predeps_CXX='`$ECHO "$predeps_CXX" | $SED "$delay_single_quote_subst"`'
+postdeps_CXX='`$ECHO "$postdeps_CXX" | $SED "$delay_single_quote_subst"`'
+compiler_lib_search_path_CXX='`$ECHO "$compiler_lib_search_path_CXX" | $SED "$delay_single_quote_subst"`'
LTCC='$LTCC'
LTCFLAGS='$LTCFLAGS'
install_override_mode \
finish_eval \
old_striplib \
-striplib; do
+striplib \
+compiler_lib_search_dirs \
+predep_objects \
+postdep_objects \
+predeps \
+postdeps \
+compiler_lib_search_path \
+LD_CXX \
+reload_flag_CXX \
+compiler_CXX \
+lt_prog_compiler_no_builtin_flag_CXX \
+lt_prog_compiler_wl_CXX \
+lt_prog_compiler_pic_CXX \
+lt_prog_compiler_static_CXX \
+lt_cv_prog_compiler_c_o_CXX \
+export_dynamic_flag_spec_CXX \
+whole_archive_flag_spec_CXX \
+compiler_needs_object_CXX \
+with_gnu_ld_CXX \
+allow_undefined_flag_CXX \
+no_undefined_flag_CXX \
+hardcode_libdir_flag_spec_CXX \
+hardcode_libdir_flag_spec_ld_CXX \
+hardcode_libdir_separator_CXX \
+fix_srcfile_path_CXX \
+exclude_expsyms_CXX \
+include_expsyms_CXX \
+file_list_spec_CXX \
+compiler_lib_search_dirs_CXX \
+predep_objects_CXX \
+postdep_objects_CXX \
+predeps_CXX \
+postdeps_CXX \
+compiler_lib_search_path_CXX; do
case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
*[\\\\\\\`\\"\\\$]*)
eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\""
postuninstall_cmds \
finish_cmds \
sys_lib_search_path_spec \
-sys_lib_dlsearch_path_spec; do
+sys_lib_dlsearch_path_spec \
+reload_cmds_CXX \
+old_archive_cmds_CXX \
+old_archive_from_new_cmds_CXX \
+old_archive_from_expsyms_cmds_CXX \
+archive_cmds_CXX \
+archive_expsym_cmds_CXX \
+module_cmds_CXX \
+module_expsym_cmds_CXX \
+export_symbols_cmds_CXX \
+prelink_cmds_CXX; do
case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
*[\\\\\\\`\\"\\\$]*)
eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
+
+
# Capture the value of obsolete ALL_LINGUAS because we need it to compute
# POFILES, GMOFILES, UPDATEPOFILES, DUMMYPOFILES, CATALOGS. But hide it
# from automake.
# The names of the tagged configurations supported by this script.
-available_tags=""
+available_tags="CXX "
# ### BEGIN LIBTOOL CONFIG
# How to hardcode a shared library path into an executable.
hardcode_action=$hardcode_action
+# The directories searched by this compiler when creating a shared library.
+compiler_lib_search_dirs=$lt_compiler_lib_search_dirs
+
+# Dependencies to place before and after the objects being linked to
+# create a shared library.
+predep_objects=$lt_predep_objects
+postdep_objects=$lt_postdep_objects
+predeps=$lt_predeps
+postdeps=$lt_postdeps
+
+# The library search path used internally by the compiler when linking
+# a shared library.
+compiler_lib_search_path=$lt_compiler_lib_search_path
+
# ### END LIBTOOL CONFIG
_LT_EOF
(rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
chmod +x "$ofile"
+
+ cat <<_LT_EOF >> "$ofile"
+
+# ### BEGIN LIBTOOL TAG CONFIG: CXX
+
+# The linker used to build libraries.
+LD=$lt_LD_CXX
+
+# How to create reloadable object files.
+reload_flag=$lt_reload_flag_CXX
+reload_cmds=$lt_reload_cmds_CXX
+
+# Commands used to build an old-style archive.
+old_archive_cmds=$lt_old_archive_cmds_CXX
+
+# A language specific compiler.
+CC=$lt_compiler_CXX
+
+# Is the compiler the GNU compiler?
+with_gcc=$GCC_CXX
+
+# Compiler flag to turn off builtin functions.
+no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_CXX
+
+# How to pass a linker flag through the compiler.
+wl=$lt_lt_prog_compiler_wl_CXX
+
+# Additional compiler flags for building library objects.
+pic_flag=$lt_lt_prog_compiler_pic_CXX
+
+# Compiler flag to prevent dynamic linking.
+link_static_flag=$lt_lt_prog_compiler_static_CXX
+
+# Does compiler simultaneously support -c and -o options?
+compiler_c_o=$lt_lt_cv_prog_compiler_c_o_CXX
+
+# Whether or not to add -lc for building shared libraries.
+build_libtool_need_lc=$archive_cmds_need_lc_CXX
+
+# Whether or not to disallow shared libs when runtime libs are static.
+allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_CXX
+
+# Compiler flag to allow reflexive dlopens.
+export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_CXX
+
+# Compiler flag to generate shared objects directly from archives.
+whole_archive_flag_spec=$lt_whole_archive_flag_spec_CXX
+
+# Whether the compiler copes with passing no objects directly.
+compiler_needs_object=$lt_compiler_needs_object_CXX
+
+# Create an old-style archive from a shared archive.
+old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_CXX
+
+# Create a temporary old-style archive to link instead of a shared archive.
+old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_CXX
+
+# Commands used to build a shared archive.
+archive_cmds=$lt_archive_cmds_CXX
+archive_expsym_cmds=$lt_archive_expsym_cmds_CXX
+
+# Commands used to build a loadable module if different from building
+# a shared archive.
+module_cmds=$lt_module_cmds_CXX
+module_expsym_cmds=$lt_module_expsym_cmds_CXX
+
+# Whether we are building with GNU ld or not.
+with_gnu_ld=$lt_with_gnu_ld_CXX
+
+# Flag that allows shared libraries with undefined symbols to be built.
+allow_undefined_flag=$lt_allow_undefined_flag_CXX
+
+# Flag that enforces no undefined symbols.
+no_undefined_flag=$lt_no_undefined_flag_CXX
+
+# Flag to hardcode \$libdir into a binary during linking.
+# This must work even if \$libdir does not exist
+hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_CXX
+
+# If ld is used when linking, flag to hardcode \$libdir into a binary
+# during linking. This must work even if \$libdir does not exist.
+hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_CXX
+
+# Whether we need a single "-rpath" flag with a separated argument.
+hardcode_libdir_separator=$lt_hardcode_libdir_separator_CXX
+
+# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
+# DIR into the resulting binary.
+hardcode_direct=$hardcode_direct_CXX
+
+# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
+# DIR into the resulting binary and the resulting library dependency is
+# "absolute",i.e impossible to change by setting \${shlibpath_var} if the
+# library is relocated.
+hardcode_direct_absolute=$hardcode_direct_absolute_CXX
+
+# Set to "yes" if using the -LDIR flag during linking hardcodes DIR
+# into the resulting binary.
+hardcode_minus_L=$hardcode_minus_L_CXX
+
+# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
+# into the resulting binary.
+hardcode_shlibpath_var=$hardcode_shlibpath_var_CXX
+
+# Set to "yes" if building a shared library automatically hardcodes DIR
+# into the library and all subsequent libraries and executables linked
+# against it.
+hardcode_automatic=$hardcode_automatic_CXX
+
+# Set to yes if linker adds runtime paths of dependent libraries
+# to runtime path list.
+inherit_rpath=$inherit_rpath_CXX
+
+# Whether libtool must link a program against all its dependency libraries.
+link_all_deplibs=$link_all_deplibs_CXX
+
+# Fix the shell variable \$srcfile for the compiler.
+fix_srcfile_path=$lt_fix_srcfile_path_CXX
+
+# Set to "yes" if exported symbols are required.
+always_export_symbols=$always_export_symbols_CXX
+
+# The commands to list exported symbols.
+export_symbols_cmds=$lt_export_symbols_cmds_CXX
+
+# Symbols that should not be listed in the preloaded symbols.
+exclude_expsyms=$lt_exclude_expsyms_CXX
+
+# Symbols that must always be exported.
+include_expsyms=$lt_include_expsyms_CXX
+
+# Commands necessary for linking programs (against libraries) with templates.
+prelink_cmds=$lt_prelink_cmds_CXX
+
+# Specify filename containing input files.
+file_list_spec=$lt_file_list_spec_CXX
+
+# How to hardcode a shared library path into an executable.
+hardcode_action=$hardcode_action_CXX
+
+# The directories searched by this compiler when creating a shared library.
+compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_CXX
+
+# Dependencies to place before and after the objects being linked to
+# create a shared library.
+predep_objects=$lt_predep_objects_CXX
+postdep_objects=$lt_postdep_objects_CXX
+predeps=$lt_predeps_CXX
+postdeps=$lt_postdeps_CXX
+
+# The library search path used internally by the compiler when linking
+# a shared library.
+compiler_lib_search_path=$lt_compiler_lib_search_path_CXX
+
+# ### END LIBTOOL TAG CONFIG: CXX
+_LT_EOF
+
;;
"default-1":C)
for ac_file in $CONFIG_FILES; do
# host-specific stuff:
AC_PROG_CC
+AC_PROG_CXX
AC_GNU_SOURCE
AC_USE_SYSTEM_EXTENSIONS
ACX_LARGEFILE
case OPTION_BASE_FILE:
link_info.base_file = fopen (optarg, FOPEN_WB);
if (link_info.base_file == NULL)
- {
- /* xgettext:c-format */
- fprintf (stderr, _("%s: Cannot open base file %s\n"),
- program_name, optarg);
- xexit (1);
- }
+ einfo (_("%F%P: cannot open base file %s\n"), optarg);
break;
'
bfd_boolean r;
struct set_info *p;
+ after_open_default ();
+
/* Call ldctor_build_sets, after pretending that this is a
relocatable link. We do this because AIX requires relocation
entries for all references to symbols, even in a final
{
char *path;
- if (!entry->is_archive)
+ if (!entry->maybe_archive)
return FALSE;
path = concat (search->name, "/lib", entry->filename, arch, ".a", NULL);
static void
gld${EMULATION_NAME}_after_open (void)
{
+ after_open_default ();
+
if (strstr (bfd_get_target (link_info.output_bfd), "arm") == NULL)
{
/* The arm backend needs special fields in the output hash structure.
fragment <<EOF
/* This file is part of GLD, the Gnu Linker.
Copyright 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
- 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
+ 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
This file is part of the GNU Binutils.
case OPTION_BASE_FILE:
link_info.base_file = fopen (optarg, FOPEN_WB);
if (link_info.base_file == NULL)
- {
- fprintf (stderr, "%s: Can't open base file %s\n",
- program_name, optarg);
- xexit (1);
- }
+ einfo (_("%F%P: cannot open base file %s\n"), optarg);
break;
/* PE options */
for (j = 0; init[j].ptr; j++)
{
long val = init[j].value;
- lang_add_assignment (exp_assop ('=', init[j].symbol, exp_intop (val)));
+ lang_add_assignment (exp_assign (init[j].symbol, exp_intop (val)));
if (init[j].size == sizeof(short))
*(short *)init[j].ptr = val;
else if (init[j].size == sizeof(int))
static void
gld_${EMULATION_NAME}_after_open (void)
{
+ after_open_default ();
+
/* Pass the wacky PE command line options into the output bfd.
FIXME: This should be done via a function, rather than by
including an internal BFD header. */
/* ${ELFSIZE} bit ELF emulation code for ${EMULATION_NAME}
Copyright 1991, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
- 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
+ 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
Free Software Foundation, Inc.
Written by Steve Chamberlain <sac@cygnus.com>
ELF support by Ian Lance Taylor <ian@cygnus.com>
struct bfd_link_needed_list *needed, *l;
struct elf_link_hash_table *htab;
+ after_open_default ();
+
htab = elf_hash_table (&link_info);
if (!is_elf_hash_table (htab))
return;
const char *filename;
char *string;
- if (! entry->is_archive)
+ if (! entry->maybe_archive)
return FALSE;
filename = entry->filename;
if (bfd_check_format (entry->the_bfd, bfd_object)
&& (entry->the_bfd->flags & DYNAMIC) != 0)
{
- ASSERT (entry->is_archive && entry->search_dirs_flag);
+ ASSERT (entry->maybe_archive && entry->search_dirs_flag);
/* Rather than duplicating the logic above. Just use the
filename we recorded earlier. */
{ ".sdata",
SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD | SEC_DATA | SEC_SMALL_DATA,
0, 0, 0, 0 },
- { 0,
+ { ".comment",
SEC_HAS_CONTENTS,
0, 0, 0, 0 },
};
if (!orphan_init_done)
{
- lang_output_section_statement_type *lookup;
struct orphan_save *ho;
for (ho = hold; ho < hold + sizeof (hold) / sizeof (hold[0]); ++ho)
if (ho->os != NULL && ho->os->flags == 0)
ho->os->flags = ho->flags;
}
- lookup = hold[orphan_bss].os;
- if (lookup == NULL)
- lookup = &lang_output_section_statement.head->output_section_statement;
- for (; lookup != NULL; lookup = lookup->next)
- if ((lookup->bfd_section != NULL
- && (lookup->bfd_section->flags & SEC_DEBUGGING) != 0)
- || strcmp (lookup->name, ".comment") == 0)
- break;
- hold[orphan_nonalloc].os = lookup ? lookup->prev : NULL;
- hold[orphan_nonalloc].name = ".comment";
orphan_init_done = 1;
}
asection *sec;
asymbol **syms;
+ after_open_default ();
+
if (link_info.relocatable)
for (ibfd = link_info.input_bfds; ibfd != NULL; ibfd = ibfd->link_next)
if ((syms = bfd_get_outsymbols (ibfd)) != NULL
{
char *string;
- if (! entry->is_archive)
+ if (! entry->maybe_archive)
return FALSE;
string = (char *) xmalloc (strlen (search->name)
lnk960_syslib,
lnk960_hll,
lnk960_after_parse,
- NULL, /* after_open */
+ after_open_default,
lnk960_after_allocation,
lnk960_set_output_arch,
lnk960_choose_target,
{
bfd *abfd;
+ after_open_default ();
+
if (! command_line.embedded_relocs
|| link_info.relocatable)
return;
is->the_bfd);
}
}
+ after_open_default ();
}
EOF
(echo;echo;echo;echo;echo)>e${EMULATION_NAME}.c # there, now line numbers match ;-)
fragment <<EOF
/* Copyright 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
- 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
+ 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
This file is part of the GNU Binutils.
case OPTION_BASE_FILE:
link_info.base_file = fopen (optarg, FOPEN_WB);
if (link_info.base_file == NULL)
- {
- /* xgettext:c-format */
- fprintf (stderr, _("%s: Can't open base file %s\n"),
- program_name, optarg);
- xexit (1);
- }
+ einfo (_("%F%P: cannot open base file %s\n"), optarg);
break;
/* PE options. */
long val = init[j].value;
lang_assignment_statement_type *rv;
- rv = lang_add_assignment (exp_assop ('=', GET_INIT_SYMBOL_NAME (j),
- exp_intop (val)));
+ rv = lang_add_assignment (exp_assign (GET_INIT_SYMBOL_NAME (j),
+ exp_intop (val)));
if (init[j].size == sizeof (short))
*(short *) init[j].ptr = val;
else if (init[j].size == sizeof (int))
static void
gld_${EMULATION_NAME}_after_open (void)
{
+ after_open_default ();
+
#ifdef DLL_SUPPORT
if (pe_dll_extra_pe_debug)
{
= pe_def_file->base_address;
init[IMAGEBASEOFF].inited = 1;
if (image_base_statement)
- image_base_statement->exp = exp_assop ('=', "__image_base__",
- exp_intop (pe.ImageBase));
+ image_base_statement->exp = exp_assign ("__image_base__",
+ exp_intop (pe.ImageBase));
}
if (pe_def_file->stack_reserve != -1
unsigned int i;
- if (! entry->is_archive)
+ if (! entry->maybe_archive)
return FALSE;
filename = entry->filename;
rm -f e${EMULATION_NAME}.c
(echo;echo;echo;echo;echo)>e${EMULATION_NAME}.c # there, now line numbers match ;-)
fragment <<EOF
-/* Copyright 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
+/* Copyright 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
Written by Kai Tietz, OneVision Software GmbH&CoKg.
This file is part of the GNU Binutils.
case OPTION_BASE_FILE:
link_info.base_file = fopen (optarg, FOPEN_WB);
if (link_info.base_file == NULL)
- {
- /* xgettext:c-format */
- fprintf (stderr, _("%s: Can't open base file %s\n"),
- program_name, optarg);
- xexit (1);
- }
+ einfo (_("%F%P: cannot open base file %s\n"), optarg);
break;
/* PE options. */
bfd_vma val = init[j].value;
lang_assignment_statement_type *rv;
- rv = lang_add_assignment (exp_assop ('=', GET_INIT_SYMBOL_NAME (j),
- exp_intop (val)));
+ rv = lang_add_assignment (exp_assign (GET_INIT_SYMBOL_NAME (j),
+ exp_intop (val)));
if (init[j].size == sizeof (short))
*(short *) init[j].ptr = (short) val;
else if (init[j].size == sizeof (int))
static void
gld_${EMULATION_NAME}_after_open (void)
{
+ after_open_default ();
+
is_underscoring ();
#ifdef DLL_SUPPORT
if (pep_dll_extra_pe_debug)
= pep_def_file->base_address;
init[IMAGEBASEOFF].inited = 1;
if (image_base_statement)
- image_base_statement->exp = exp_assop ('=', "__image_base__",
- exp_intop (pep.ImageBase));
+ image_base_statement->exp = exp_assign ("__image_base__",
+ exp_intop (pep.ImageBase));
}
if (pep_def_file->stack_reserve != -1
unsigned int i;
- if (! entry->is_archive)
+ if (! entry->maybe_archive)
return FALSE;
filename = entry->filename;
# This shell script emits a C file. -*- C -*-
-# Copyright 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
+# Copyright 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
# Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
config.stats ? &msg : NULL))
einfo ("%X%P: can not build stubs: %E\n");
+ fflush (stdout);
for (line = msg; line != NULL; line = endline)
{
endline = strchr (line, '\n');
*endline++ = '\0';
fprintf (stderr, "%s: %s\n", program_name, line);
}
+ fflush (stderr);
if (msg != NULL)
free (msg);
}
# This shell script emits a C file. -*- C -*-
-# Copyright 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
+# Copyright 2006, 2007, 2008, 2009, 2010, 2011
+# Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
push_stat_ptr (&os->children);
e_size = exp_intop (params.line_size - s->size);
- lang_add_assignment (exp_assop ('=', ".", e_size));
+ lang_add_assignment (exp_assign (".", e_size));
pop_stat_ptr ();
}
lang_add_section (&os->children, s, os);
struct stat st;
if (! inp->search_dirs_flag
- || ! inp->is_archive
+ || ! inp->maybe_archive
|| ! inp->dynamic)
return;
{
struct bfd_link_needed_list *needed, *l;
+ after_open_default ();
+
/* We only need to worry about this when doing a final link. */
if (link_info.relocatable || link_info.shared)
return;
{
++need_entries;
need_size += NEED_ENTRY_SIZE;
- if (! inp->is_archive)
+ if (! inp->maybe_archive)
need_size += strlen (inp->filename) + 1;
else
{
referential locality. */
bfd_put_32 (link_info.output_bfd, need_pnames - need_contents,
need_pinfo);
- if (! inp->is_archive)
+ if (! inp->maybe_archive)
{
bfd_put_32 (link_info.output_bfd, (bfd_vma) 0, need_pinfo + 4);
bfd_put_16 (link_info.output_bfd, (bfd_vma) 0, need_pinfo + 8);
{
char *string;
- if (! entry->is_archive)
+ if (! entry->maybe_archive)
return FALSE;
string = (char *) xmalloc (strlen (search->name)
# This shell script emits a C file. -*- C -*-
-# Copyright 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
+# Copyright 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
# Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
bfd_vma target_addr = e->tgt->output_offset & ~3;
if (l32r_addr < target_addr)
{
+ fflush (stdout);
fprintf (stderr, "Warning: "
"l32r target section before l32r\n");
+ fflush (stderr);
return FALSE;
}
etree_type *name_op = exp_nameop (NAME, ".");
etree_type *addend_op = exp_intop (1 << xtensa_page_power);
etree_type *add_op = exp_binop ('+', name_op, addend_op);
- etree_type *assign_op = exp_assop ('=', ".", add_op);
+ etree_type *assign_op = exp_assign (".", add_op);
lang_assignment_statement_type *assign_stmt;
lang_statement_union_type *assign_union;
{
unsigned long mach_type;
+ after_open_default ();
+
switch (result_mach_type)
{
case M_Z80STRICT:
on the command line. */
bfd_boolean only_cmd_line_lib_dirs;
+ /* If set, numbers and absolute symbols are simply treated as
+ numbers everywhere. */
+ bfd_boolean sane_expr;
+
/* The rpath separation character. Usually ':'. */
char rpath_separator;
architecture of an object file by using the @code{objdump} program with
the @samp{-f} option.
@end ifclear
+
+@item LD_FEATURE(@var{string})
+@kindex LD_FEATURE(@var{string})
+This command may be used to modify @command{ld} behavior. If
+@var{string} is @code{"SANE_EXPR"} then absolute symbols and numbers
+in a script are simply treated as numbers everywhere.
+@xref{Expression Section}.
@end table
@node Assignments
address, such as @code{ADDR}, @code{LOADADDR}, @code{ORIGIN} and
@code{SEGMENT_START}. Other terms are simply numbers, or are builtin
functions that return a non-address value, such as @code{LENGTH}.
-
-When the linker evaluates an expression, the result depends on where
-the expression is located in a linker script. Expressions appearing
-outside an output section definitions are evaluated with all terms
-first being converted to absolute addresses before applying operators,
-and evaluate to an absolute address result. Expressions appearing
-inside an output section definition are evaluated with more complex
-rules, but the aim is to treat terms as relative addresses and produce
-a relative address result. In particular, an assignment of a number
-to a symbol results in a symbol relative to the output section with an
-offset given by the number. So, in the following simple example,
+One complication is that unless you set @code{LD_FEATURE ("SANE_EXPR")}
+(@pxref{Miscellaneous Commands}), numbers and absolute symbols are treated
+differently depending on their location, for compatibility with older
+versions of @code{ld}. Expressions appearing outside an output
+section definition treat all numbers as absolute addresses.
+Expressions appearing inside an output section definition treat
+absolute symbols as numbers. If @code{LD_FEATURE ("SANE_EXPR")} is
+given, then absolute symbols and numbers are simply treated as numbers
+everywhere.
+
+In the following simple example,
@smallexample
@group
@code{__data_start} are set to 0x10 relative to the @code{.data}
section in the second two assignments.
-For expressions appearing inside an output section definition
-involving numbers, relative addresses and absolute addresses, ld
-follows these rules to evaluate terms:
+For expressions involving numbers, relative addresses and absolute
+addresses, ld follows these rules to evaluate terms:
@itemize @bullet
@item
@item
The result of comparisons, @samp{&&} and @samp{||} is also a number.
@item
-The result of other operations on relative addresses (after above
-conversions) is a relative address in the same section as the operand(s).
+The result of other binary arithmetic and logical operations on two
+relative addresses in the same section or two absolute addresess
+(after above conversions) is also a number.
+@item
+The result of other operations on relative addresses or one
+relative address and a number, is a relative address in the same
+section as the relative operand(s).
@item
The result of other operations on absolute addresses (after above
conversions) is an absolute address.
/* ldctor.c -- constructor support routines
Copyright 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
- 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
+ 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2011
Free Software Foundation, Inc.
By Steve Chamberlain <sac@cygnus.com>
break;
}
- lang_add_assignment (exp_assop ('=', ".",
- exp_unop (ALIGN_K,
- exp_intop (reloc_size))));
- lang_add_assignment (exp_assop ('=', p->h->root.string,
- exp_nameop (NAME, ".")));
+ lang_add_assignment (exp_assign (".",
+ exp_unop (ALIGN_K,
+ exp_intop (reloc_size))));
+ lang_add_assignment (exp_assign (p->h->root.string,
+ exp_nameop (NAME, ".")));
lang_add_data (size, exp_intop (p->count));
for (e = p->elements; e != NULL; e = e->next)
/* This module handles expression trees.
Copyright 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
- 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
+ 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
Free Software Foundation, Inc.
Written by Steve Chamberlain of Cygnus Support <sac@cygnus.com>.
#include "safe-ctype.h"
static void exp_fold_tree_1 (etree_type *);
-static void exp_fold_tree_no_dot (etree_type *);
static bfd_vma align_n (bfd_vma, bfd_vma);
segment_type *segments;
break;
case DATA_SEGMENT_END:
- if (expld.phase != lang_first_phase_enum
- && expld.section == bfd_abs_section_ptr
- && (expld.dataseg.phase == exp_dataseg_align_seen
- || expld.dataseg.phase == exp_dataseg_relro_seen
- || expld.dataseg.phase == exp_dataseg_adjust
- || expld.dataseg.phase == exp_dataseg_relro_adjust
- || expld.phase == lang_final_phase_enum))
+ if (expld.phase == lang_first_phase_enum
+ || expld.section != bfd_abs_section_ptr)
{
- if (expld.dataseg.phase == exp_dataseg_align_seen
- || expld.dataseg.phase == exp_dataseg_relro_seen)
- {
- expld.dataseg.phase = exp_dataseg_end_seen;
- expld.dataseg.end = expld.result.value;
- }
+ expld.result.valid_p = FALSE;
+ }
+ else if (expld.dataseg.phase == exp_dataseg_align_seen
+ || expld.dataseg.phase == exp_dataseg_relro_seen)
+ {
+ expld.dataseg.phase = exp_dataseg_end_seen;
+ expld.dataseg.end = expld.result.value;
+ }
+ else if (expld.dataseg.phase == exp_dataseg_done
+ || expld.dataseg.phase == exp_dataseg_adjust
+ || expld.dataseg.phase == exp_dataseg_relro_adjust)
+ {
+ /* OK. */
}
else
expld.result.valid_p = FALSE;
{
make_abs ();
lhs.value += lhs.section->vma;
+ lhs.section = bfd_abs_section_ptr;
}
/* If the rhs is just a number, keep the lhs section. */
else if (expld.result.section == NULL)
- expld.result.section = lhs.section;
+ {
+ expld.result.section = lhs.section;
+ /* Make this NULL so that we know one of the operands
+ was just a number, for later tests. */
+ lhs.section = NULL;
+ }
}
+ /* At this point we know that both operands have the same
+ section, or at least one of them is a plain number. */
switch (tree->type.node_code)
{
- case '%':
- if (expld.result.value != 0)
- expld.result.value = ((bfd_signed_vma) lhs.value
- % (bfd_signed_vma) expld.result.value);
- else if (expld.phase != lang_mark_phase_enum)
- einfo (_("%F%S %% by zero\n"));
- break;
-
- case '/':
- if (expld.result.value != 0)
- expld.result.value = ((bfd_signed_vma) lhs.value
- / (bfd_signed_vma) expld.result.value);
- else if (expld.phase != lang_mark_phase_enum)
- einfo (_("%F%S / by zero\n"));
- break;
-
+ /* Arithmetic operators, bitwise AND, bitwise OR and XOR
+ keep the section of one of their operands only when the
+ other operand is a plain number. Losing the section when
+ operating on two symbols, ie. a result of a plain number,
+ is required for subtraction and XOR. It's justifiable
+ for the other operations on the grounds that adding,
+ multiplying etc. two section relative values does not
+ really make sense unless they are just treated as
+ numbers.
+ The same argument could be made for many expressions
+ involving one symbol and a number. For example,
+ "1 << x" and "100 / x" probably should not be given the
+ section of x. The trouble is that if we fuss about such
+ things the rules become complex and it is onerous to
+ document ld expression evaluation. */
#define BOP(x, y) \
case x: \
expld.result.value = lhs.value y expld.result.value; \
+ if (expld.result.section == lhs.section) \
+ expld.result.section = NULL; \
break;
+ /* Comparison operators, logical AND, and logical OR always
+ return a plain number. */
#define BOPN(x, y) \
case x: \
expld.result.value = lhs.value y expld.result.value; \
BOPN (ANDAND, &&);
BOPN (OROR, ||);
+ case '%':
+ if (expld.result.value != 0)
+ expld.result.value = ((bfd_signed_vma) lhs.value
+ % (bfd_signed_vma) expld.result.value);
+ else if (expld.phase != lang_mark_phase_enum)
+ einfo (_("%F%S %% by zero\n"));
+ if (expld.result.section == lhs.section)
+ expld.result.section = NULL;
+ break;
+
+ case '/':
+ if (expld.result.value != 0)
+ expld.result.value = ((bfd_signed_vma) lhs.value
+ / (bfd_signed_vma) expld.result.value);
+ else if (expld.phase != lang_mark_phase_enum)
+ einfo (_("%F%S / by zero\n"));
+ if (expld.result.section == lhs.section)
+ expld.result.section = NULL;
+ break;
+
case MAX_K:
if (lhs.value > expld.result.value)
expld.result.value = lhs.value;
case DATA_SEGMENT_ALIGN:
expld.dataseg.relro = exp_dataseg_relro_start;
- if (expld.phase != lang_first_phase_enum
- && expld.section == bfd_abs_section_ptr
- && (expld.dataseg.phase == exp_dataseg_none
- || expld.dataseg.phase == exp_dataseg_adjust
- || expld.dataseg.phase == exp_dataseg_relro_adjust
- || expld.phase == lang_final_phase_enum))
+ if (expld.phase == lang_first_phase_enum
+ || expld.section != bfd_abs_section_ptr)
+ expld.result.valid_p = FALSE;
+ else
{
bfd_vma maxpage = lhs.value;
bfd_vma commonpage = expld.result.value;
expld.result.value = align_n (expld.dot, maxpage);
if (expld.dataseg.phase == exp_dataseg_relro_adjust)
expld.result.value = expld.dataseg.base;
- else if (expld.dataseg.phase != exp_dataseg_adjust)
+ else if (expld.dataseg.phase == exp_dataseg_adjust)
+ {
+ if (commonpage < maxpage)
+ expld.result.value += ((expld.dot + commonpage - 1)
+ & (maxpage - commonpage));
+ }
+ else
{
expld.result.value += expld.dot & (maxpage - 1);
- if (expld.phase == lang_allocating_phase_enum)
+ if (expld.dataseg.phase == exp_dataseg_done)
+ {
+ /* OK. */
+ }
+ else if (expld.dataseg.phase == exp_dataseg_none)
{
expld.dataseg.phase = exp_dataseg_align_seen;
expld.dataseg.min_base = expld.dot;
expld.dataseg.maxpagesize = maxpage;
expld.dataseg.relro_end = 0;
}
+ else
+ expld.result.valid_p = FALSE;
}
- else if (commonpage < maxpage)
- expld.result.value += ((expld.dot + commonpage - 1)
- & (maxpage - commonpage));
}
- else
- expld.result.valid_p = FALSE;
break;
case DATA_SEGMENT_RELRO_END:
expld.dataseg.relro = exp_dataseg_relro_end;
- if (expld.phase != lang_first_phase_enum
- && (expld.dataseg.phase == exp_dataseg_align_seen
- || expld.dataseg.phase == exp_dataseg_adjust
- || expld.dataseg.phase == exp_dataseg_relro_adjust
- || expld.phase == lang_final_phase_enum))
+ if (expld.phase == lang_first_phase_enum
+ || expld.section != bfd_abs_section_ptr)
+ expld.result.valid_p = FALSE;
+ else if (expld.dataseg.phase == exp_dataseg_align_seen
+ || expld.dataseg.phase == exp_dataseg_adjust
+ || expld.dataseg.phase == exp_dataseg_relro_adjust
+ || expld.dataseg.phase == exp_dataseg_done)
{
if (expld.dataseg.phase == exp_dataseg_align_seen
|| expld.dataseg.phase == exp_dataseg_relro_adjust)
" referenced in expression\n"),
tree->name.name);
}
- else if (output_section == bfd_abs_section_ptr)
+ else if (output_section == bfd_abs_section_ptr
+ && (expld.section != bfd_abs_section_ptr
+ || config.sane_expr))
new_number (h->u.def.value + h->u.def.section->output_offset);
else
new_rel (h->u.def.value + h->u.def.section->output_offset,
switch (tree->type.node_class)
{
case etree_value:
- new_number (tree->value.value);
+ if (expld.section == bfd_abs_section_ptr
+ && !config.sane_expr)
+ new_abs (tree->value.value);
+ else
+ new_number (tree->value.value);
expld.result.str = tree->value.str;
break;
}
exp_fold_tree_1 (tree->assign.src);
- if (expld.result.valid_p)
+ if (expld.result.valid_p
+ || (expld.phase == lang_first_phase_enum
+ && tree->type.node_class == etree_assign
+ && tree->assign.hidden))
{
if (h == NULL)
{
memset (&expld.result, 0, sizeof (expld.result));
break;
}
-
- /* Any value not inside an output section statement is an
- absolute value. */
- if (expld.result.valid_p
- && expld.section == bfd_abs_section_ptr)
- make_abs ();
}
void
exp_fold_tree_1 (tree);
}
-static void
+void
exp_fold_tree_no_dot (etree_type *tree)
{
expld.dot = 0;
}
-etree_type *
-exp_assop (int code, const char *dst, etree_type *src)
-{
- etree_type *new_e;
-
- new_e = (etree_type *) stat_alloc (sizeof (new_e->assign));
- new_e->type.node_code = code;
- new_e->type.lineno = src->type.lineno;
- new_e->type.node_class = etree_assign;
- new_e->assign.src = src;
- new_e->assign.dst = dst;
- return new_e;
-}
-
-/* Handle PROVIDE. */
-
-etree_type *
-exp_provide (const char *dst, etree_type *src, bfd_boolean hidden)
+static etree_type *
+exp_assop (const char *dst,
+ etree_type *src,
+ enum node_tree_enum class,
+ bfd_boolean hidden)
{
etree_type *n;
n = (etree_type *) stat_alloc (sizeof (n->assign));
n->assign.type.node_code = '=';
n->assign.type.lineno = src->type.lineno;
- n->assign.type.node_class = etree_provide;
+ n->assign.type.node_class = class;
n->assign.src = src;
n->assign.dst = dst;
n->assign.hidden = hidden;
return n;
}
+etree_type *
+exp_assign (const char *dst, etree_type *src)
+{
+ return exp_assop (dst, src, etree_assign, FALSE);
+}
+
+etree_type *
+exp_defsym (const char *dst, etree_type *src)
+{
+ return exp_assop (dst, src, etree_assign, TRUE);
+}
+
+/* Handle PROVIDE. */
+
+etree_type *
+exp_provide (const char *dst, etree_type *src, bfd_boolean hidden)
+{
+ return exp_assop (dst, src, etree_provide, hidden);
+}
+
/* Handle ASSERT. */
etree_type *
/* ldexp.h -
Copyright 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2000, 2001, 2002,
- 2003, 2004, 2005, 2007 Free Software Foundation, Inc.
+ 2003, 2004, 2005, 2007, 2011 Free Software Foundation, Inc.
This file is part of the GNU Binutils.
typedef struct {
int node_code;
unsigned int lineno;
- enum node_tree_enum node_class;
+ enum node_tree_enum node_class;
} node_type;
typedef union etree_union {
union lang_statement_union;
enum phase_enum {
+ /* We step through the first four states here as we see the
+ associated linker script tokens. */
exp_dataseg_none,
exp_dataseg_align_seen,
exp_dataseg_relro_seen,
exp_dataseg_end_seen,
+ /* The last three states are final, and affect the value returned
+ by DATA_SEGMENT_ALIGN. */
exp_dataseg_relro_adjust,
- exp_dataseg_adjust
+ exp_dataseg_adjust,
+ exp_dataseg_done
};
enum relro_enum {
(asection *, bfd_vma);
void exp_fold_tree
(etree_type *, asection *, bfd_vma *);
+void exp_fold_tree_no_dot
+ (etree_type *);
etree_type *exp_binop
(int, etree_type *, etree_type *);
etree_type *exp_trinop
(int, etree_type *);
etree_type *exp_nameop
(int, const char *);
-etree_type *exp_assop
- (int, const char *, etree_type *);
+etree_type *exp_assign
+ (const char *, etree_type *);
+etree_type *exp_defsym
+ (const char *, etree_type *);
etree_type *exp_provide
(const char *, etree_type *, bfd_boolean);
etree_type *exp_assert
will be needed when and if we want to bfd_create a new
one using this one as a template. */
if (bfd_check_format (entry->the_bfd, bfd_object)
- && plugin_active_plugins_p ())
+ && plugin_active_plugins_p ())
{
int fd = open (attempt, O_RDONLY | O_BINARY);
if (fd >= 0)
file.handle = plugin_get_ir_dummy_bfd (attempt, entry->the_bfd);
if (plugin_call_claim_file (&file, &claimed))
einfo (_("%P%F: %s: plugin reported error claiming file\n"),
- plugin_error_plugin ());
+ plugin_error_plugin ());
/* fd belongs to us, not the plugin; but we don't need it. */
close (fd);
if (claimed)
else
{
/* If plugin didn't claim the file, we don't need the dummy
- bfd. Can't avoid speculatively creating it, alas. */
+ bfd. Can't avoid speculatively creating it, alas. */
bfd_close_all_done (file.handle);
entry->claimed = FALSE;
}
/* If this is not an archive, try to open it in the current
directory first. */
- if (! entry->is_archive)
+ if (! entry->maybe_archive)
{
if (entry->sysrooted && IS_ABSOLUTE_PATH (entry->filename))
{
}
}
- if (entry->is_archive)
+ if (entry->maybe_archive)
string = concat (search->name, slash, lib, entry->filename,
arch, suffix, (const char *) NULL);
else
/* A YACC grammar to parse a superset of the AT&T linker scripting language.
Copyright 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
- 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
+ 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
Free Software Foundation, Inc.
Written by Steve Chamberlain of Cygnus Support (steve@cygnus.com).
%token INCLUDE
%token MEMORY
%token REGION_ALIAS
+%token LD_FEATURE
%token NOLOAD DSECT COPY INFO OVERLAY
%token DEFINED TARGET_K SEARCH_DIR MAP ENTRY
%token <integer> NEXT
NAME '=' exp
{
ldlex_popstate();
- lang_add_assignment(exp_assop($3,$2,$4));
+ lang_add_assignment (exp_defsym ($2, $4));
}
;
{ lang_add_insert ($3, 1); }
| REGION_ALIAS '(' NAME ',' NAME ')'
{ lang_memory_region_alias ($3, $5); }
+ | LD_FEATURE '(' NAME ')'
+ { lang_ld_feature ($3); }
;
input_list:
assignment:
NAME '=' mustbe_exp
{
- lang_add_assignment (exp_assop ($2, $1, $3));
+ lang_add_assignment (exp_assign ($1, $3));
}
| NAME assign_op mustbe_exp
{
- lang_add_assignment (exp_assop ('=', $1,
- exp_binop ($2,
- exp_nameop (NAME,
- $1),
- $3)));
+ lang_add_assignment (exp_assign ($1,
+ exp_binop ($2,
+ exp_nameop (NAME,
+ $1),
+ $3)));
}
| PROVIDE '(' NAME '=' mustbe_exp ')'
{
opt_exp_with_type
{
ldlex_popstate ();
- lang_add_assignment (exp_assop ('=', ".", $3));
+ lang_add_assignment (exp_assign (".", $3));
}
'{' sec_or_group_p1 '}'
| INCLUDE filename
/* Linker command language support.
Copyright 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
- 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
+ 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
Free Software Foundation, Inc.
This file is part of the GNU Binutils.
{
case lang_input_file_is_symbols_only_enum:
p->filename = name;
- p->is_archive = FALSE;
+ p->maybe_archive = FALSE;
p->real = TRUE;
p->local_sym_name = name;
p->just_syms_flag = TRUE;
break;
case lang_input_file_is_fake_enum:
p->filename = name;
- p->is_archive = FALSE;
+ p->maybe_archive = FALSE;
p->real = FALSE;
p->local_sym_name = name;
p->just_syms_flag = FALSE;
p->search_dirs_flag = FALSE;
break;
case lang_input_file_is_l_enum:
- p->is_archive = TRUE;
+ p->maybe_archive = TRUE;
p->filename = name;
p->real = TRUE;
p->local_sym_name = concat ("-l", name, (const char *) NULL);
break;
case lang_input_file_is_marker_enum:
p->filename = name;
- p->is_archive = FALSE;
+ p->maybe_archive = FALSE;
p->real = FALSE;
p->local_sym_name = name;
p->just_syms_flag = FALSE;
case lang_input_file_is_search_file_enum:
p->sysrooted = ldlang_sysrooted_script;
p->filename = name;
- p->is_archive = FALSE;
+ p->maybe_archive = FALSE;
p->real = TRUE;
p->local_sym_name = name;
p->just_syms_flag = FALSE;
break;
case lang_input_file_is_file_enum:
p->filename = name;
- p->is_archive = FALSE;
+ p->maybe_archive = FALSE;
p->real = TRUE;
p->local_sym_name = name;
p->just_syms_flag = FALSE;
sprintf (symname + (symname[0] != 0), "__start_%s", secname);
e_align = exp_unop (ALIGN_K,
exp_intop ((bfd_vma) 1 << s->alignment_power));
- lang_add_assignment (exp_assop ('=', ".", e_align));
+ lang_add_assignment (exp_assign (".", e_align));
lang_add_assignment (exp_provide (symname,
exp_unop (ABSOLUTE,
exp_nameop (NAME, ".")),
sort_def_symbol (struct bfd_link_hash_entry *hash_entry,
void *info ATTRIBUTE_UNUSED)
{
+ if (hash_entry->type == bfd_link_hash_warning)
+ hash_entry = (struct bfd_link_hash_entry *) hash_entry->u.i.link;
+
if (hash_entry->type == bfd_link_hash_defined
|| hash_entry->type == bfd_link_hash_defweak)
{
loaded = FALSE;
}
- subsbfd = NULL;
- if (! ((*link_info.callbacks->add_archive_element)
- (&link_info, member, "--whole-archive", &subsbfd)))
+ subsbfd = member;
+ if (!(*link_info.callbacks
+ ->add_archive_element) (&link_info, member,
+ "--whole-archive", &subsbfd))
abort ();
/* Potentially, the add_archive_element hook may have set a
substitute BFD for us. */
- if (! bfd_link_add_symbols (subsbfd ? subsbfd : member,
- &link_info))
+ if (!bfd_link_add_symbols (subsbfd, &link_info))
{
einfo (_("%F%B: could not read symbols: %E\n"), member);
loaded = FALSE;
}
}
break;
+ case lang_assignment_statement_enum:
+ if (s->assignment_statement.exp->assign.hidden)
+ /* This is from a --defsym on the command line. */
+ exp_fold_tree_no_dot (s->assignment_statement.exp);
+ break;
default:
break;
}
insert_undefined (ptr->name);
}
-typedef struct bfd_sym_chain ldlang_def_chain_list_type;
-
-static ldlang_def_chain_list_type ldlang_def_chain_list_head;
-
-/* Insert NAME as defined in the symbol table. */
-
-static void
-insert_defined (const char *name)
-{
- struct bfd_link_hash_entry *h;
-
- h = bfd_link_hash_lookup (link_info.hash, name, TRUE, FALSE, TRUE);
- if (h == NULL)
- einfo (_("%P%F: bfd_link_hash_lookup failed: %E\n"));
- if (h->type == bfd_link_hash_new
- || h->type == bfd_link_hash_undefined
- || h->type == bfd_link_hash_undefweak)
- {
- h->type = bfd_link_hash_defined;
- h->u.def.section = bfd_abs_section_ptr;
- h->u.def.value = 0;
- }
-}
-
-/* Like lang_add_undef, but this time for symbols defined on the
- command line. */
-
-static void
-ldlang_add_def (const char *const name)
-{
- if (link_info.output_bfd != NULL)
- insert_defined (xstrdup (name));
- else
- {
- ldlang_def_chain_list_type *new_def;
-
- new_def = (ldlang_def_chain_list_type *) stat_alloc (sizeof (*new_def));
- new_def->next = ldlang_def_chain_list_head.next;
- ldlang_def_chain_list_head.next = new_def;
-
- new_def->name = xstrdup (name);
- }
-}
-
-/* Run through the list of defineds created above and place them
- into the linker hash table as defined symbols belonging to the
- script file. */
-
-static void
-lang_place_defineds (void)
-{
- ldlang_def_chain_list_type *ptr;
-
- for (ptr = ldlang_def_chain_list_head.next;
- ptr != NULL;
- ptr = ptr->next)
- insert_defined (ptr->name);
-}
-
/* Check for all readonly or some readwrite sections. */
static void
switch (rhs->type.node_class)
{
case etree_binary:
- return scan_for_self_assignment (dst, rhs->binary.lhs)
- || scan_for_self_assignment (dst, rhs->binary.rhs);
+ return (scan_for_self_assignment (dst, rhs->binary.lhs)
+ || scan_for_self_assignment (dst, rhs->binary.rhs));
case etree_trinary:
- return scan_for_self_assignment (dst, rhs->trinary.lhs)
- || scan_for_self_assignment (dst, rhs->trinary.rhs);
+ return (scan_for_self_assignment (dst, rhs->trinary.lhs)
+ || scan_for_self_assignment (dst, rhs->trinary.rhs));
case etree_assign:
case etree_provided:
is_dot = (dst[0] == '.' && dst[1] == 0);
tree = assignment->exp->assign.src;
- computation_is_valid = is_dot || (scan_for_self_assignment (dst, tree) == FALSE);
+ computation_is_valid = is_dot || !scan_for_self_assignment (dst, tree);
}
osec = output_section->bfd_section;
lang_reset_memory_regions ();
one_lang_size_sections_pass (relax, check_regions);
}
+ else
+ expld.dataseg.phase = exp_dataseg_done;
}
-
- expld.phase = lang_final_phase_enum;
+ else
+ expld.dataseg.phase = exp_dataseg_done;
}
/* Worker function for lang_do_assignments. Recursiveness goes here. */
/* Add to the hash table all undefineds on the command line. */
lang_place_undefineds ();
- lang_place_defineds ();
if (!bfd_section_already_linked_table_init ())
einfo (_("%P%F: Failed to create hash table\n"));
open_input_bfds (statement_list.head, FALSE);
#ifdef ENABLE_PLUGINS
- {
- union lang_statement_union **listend;
- /* Now all files are read, let the plugin(s) decide if there
- are any more to be added to the link before we call the
- emulation's after_open hook. */
- listend = statement_list.tail;
- ASSERT (!*listend);
- if (plugin_call_all_symbols_read ())
- einfo (_("%P%F: %s: plugin reported error after all symbols read\n"),
- plugin_error_plugin ());
- /* If any new files were added, they will be on the end of the
- statement list, and we can open them now by getting open_input_bfds
- to carry on from where it ended last time. */
- if (*listend)
- open_input_bfds (*listend, FALSE);
- }
+ {
+ union lang_statement_union **listend;
+ /* Now all files are read, let the plugin(s) decide if there
+ are any more to be added to the link before we call the
+ emulation's after_open hook. */
+ listend = statement_list.tail;
+ ASSERT (!*listend);
+ if (plugin_call_all_symbols_read ())
+ einfo (_("%P%F: %s: plugin reported error after all symbols read\n"),
+ plugin_error_plugin ());
+ /* If any new files were added, they will be on the end of the
+ statement list, and we can open them now by getting open_input_bfds
+ to carry on from where it ended last time. */
+ if (*listend)
+ open_input_bfds (*listend, FALSE);
+ }
#endif /* ENABLE_PLUGINS */
link_info.gc_sym_list = &entry_symbol;
/* Run through the contours of the script and attach input sections
to the correct output sections. */
+ lang_statement_iteration++;
map_input_to_output_sections (statement_list.head, NULL, NULL);
process_insert_statements ();
/* Do all the assignments, now that we know the final resting places
of all the symbols. */
-
+ expld.phase = lang_final_phase_enum;
lang_do_assignments ();
ldemul_finish ();
{
lang_assignment_statement_type *new_stmt;
- extern int parsing_defsym;
- if (parsing_defsym)
- ldlang_add_def (exp->assign.dst);
-
new_stmt = new_stat (lang_assignment_statement, stat_ptr);
new_stmt->exp = exp;
return new_stmt;
overlay region. */
if (overlay_list != NULL)
overlay_list->os->update_dot_tree
- = exp_assop ('=', ".", exp_binop ('+', overlay_vma, overlay_max));
+ = exp_assign (".", exp_binop ('+', overlay_vma, overlay_max));
l = overlay_list;
while (l != NULL)
lang_append_dynamic_list (dynamic);
}
+
+/* Scan a space and/or comma separated string of features. */
+
+void
+lang_ld_feature (char *str)
+{
+ char *p, *q;
+
+ p = str;
+ while (*p)
+ {
+ char sep;
+ while (*p == ',' || ISSPACE (*p))
+ ++p;
+ if (!*p)
+ break;
+ q = p + 1;
+ while (*q && *q != ',' && !ISSPACE (*q))
+ ++q;
+ sep = *q;
+ *q = 0;
+ if (strcasecmp (p, "SANE_EXPR") == 0)
+ config.sane_expr = TRUE;
+ else
+ einfo (_("%X%P: unknown feature `%s'\n"), p);
+ *q = sep;
+ p = q;
+ }
+}
const char *target;
- unsigned int is_archive : 1;
+ unsigned int maybe_archive : 1;
/* 1 means search a set of directories for this file. */
unsigned int search_dirs_flag : 1;
ldlang_override_segment_assignment
(struct bfd_link_info *, bfd *, asection *, asection *, bfd_boolean);
+extern void
+lang_ld_feature (char *);
+
#endif
<BOTH,SCRIPT,EXPRESSION,MRI>";" { RTOKEN(';');}
<BOTH,SCRIPT>"MEMORY" { RTOKEN(MEMORY);}
<BOTH,SCRIPT>"REGION_ALIAS" { RTOKEN(REGION_ALIAS);}
+<BOTH,SCRIPT>"LD_FEATURE" { RTOKEN(LD_FEATURE);}
<BOTH,SCRIPT,EXPRESSION>"ORIGIN" { RTOKEN(ORIGIN);}
<BOTH,SCRIPT>"VERSION" { RTOKEN(VERSIONK);}
<EXPRESSION,BOTH,SCRIPT>"BLOCK" { RTOKEN(BLOCK);}
/* Main program of GNU linker.
Copyright 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
- 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
+ 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
Free Software Foundation, Inc.
Written by Steve Chamberlain steve@cygnus.com
lang_finish ();
-#ifdef ENABLE_PLUGINS
- /* Now everything is finished, we can tell the plugins to clean up. */
- if (plugin_call_cleanup ())
- info_msg (_("%P: %s: error in plugin cleanup (ignored)\n"), plugin_error_plugin ());
-#endif /* ENABLE_PLUGINS */
-
/* Even if we're producing relocatable output, some non-fatal errors should
be reported in the exit status. (What non-fatal errors, if any, do we
want to ignore for relocatable output?) */
#endif
long run_time = get_run_time () - start_time;
+ fflush (stdout);
fprintf (stderr, _("%s: total time in link: %ld.%06ld\n"),
program_name, run_time / 1000000, run_time % 1000000);
#ifdef HAVE_SBRK
fprintf (stderr, _("%s: data size %ld\n"), program_name,
(long) (lim - (char *) &environ));
#endif
+ fflush (stderr);
}
/* Prevent remove_output from doing anything, after a successful link. */
file.handle = plugin_get_ir_dummy_bfd (abfd->filename, abfd);
if (plugin_call_claim_file (&file, &claimed))
einfo (_("%P%F: %s: plugin reported error claiming file\n"),
- plugin_error_plugin ());
+ plugin_error_plugin ());
/* fd belongs to us, not the plugin; but we don't need it. */
close (fd);
if (claimed)
it will let us know not to continue by returning TRUE even if this
is not an IR-only vs. non-IR symbol conflict. */
if (plugin_multiple_definition (info, name, obfd, osec, oval, nbfd,
- nsec, nval))
+ nsec, nval))
return TRUE;
#endif /* ENABLE_PLUGINS */
/* If either section has the output_section field set to
bfd_abs_section_ptr, it means that the section is being
discarded, and this is not really a multiple definition at all.
- FIXME: It would be cleaner to somehow ignore symbols defined in
- sections which are being discarded. */
+FIXME: It would be cleaner to somehow ignore symbols defined in
+sections which are being discarded. */
if ((osec->output_section != NULL
&& ! bfd_is_abs_section (osec)
&& bfd_is_abs_section (osec->output_section))
/* ldmisc.c
Copyright 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
- 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
+ 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2010, 2011
Free Software Foundation, Inc.
Written by Steve Chamberlain of Cygnus Support.
{
va_list arg;
+ fflush (stdout);
va_start (arg, fmt);
vfinfo (stderr, fmt, arg, TRUE);
va_end (arg);
+ fflush (stderr);
}
void
if (noisy & 2)
{
- printf (_("Copyright 2010 Free Software Foundation, Inc.\n"));
+ printf (_("Copyright 2011 Free Software Foundation, Inc.\n"));
printf (_("\
This program is free software; you may redistribute it under the terms of\n\
the GNU General Public License version 3 or (at your option) a later version.\n\
#ifdef ENABLE_PLUGINS
case OPTION_PLUGIN:
if (plugin_opt_plugin (optarg))
- einfo(_("%P%F: bad -plugin option\n"));
+ einfo (_("%P%F: %s: error loading plugin\n"),
+ plugin_error_plugin ());
break;
case OPTION_PLUGIN_OPT:
if (plugin_opt_plugin_arg (optarg))
/* mri.c -- handle MRI style linker scripts
Copyright 1991, 1992, 1993, 1994, 1996, 1997, 1998, 1999, 2000, 2001,
- 2002, 2003, 2004, 2005, 2007 Free Software Foundation, Inc.
+ 2002, 2003, 2004, 2005, 2007, 2011 Free Software Foundation, Inc.
Contributed by Steve Chamberlain <sac@cygnus.com>.
This file is part of the GNU Binutils.
void
mri_public (const char *name, etree_type *exp)
{
- lang_add_assignment (exp_assop ('=', name, exp));
+ lang_add_assignment (exp_assign (name, exp));
}
void
/* Plugin control for the GNU linker.
- Copyright 2010 Free Software Foundation, Inc.
+ Copyright 2010, 2011 Free Software Foundation, Inc.
This file is part of the GNU Binutils.
TRUE is returned from the hook. */
static bfd_boolean plugin_cached_allow_multiple_defs = FALSE;
+/* Call 'cleanup' hook for all plugins at exit. */
+static void plugin_call_cleanup (void);
+
/* List of tags to set in the constant leading part of the tv array. */
static const enum ld_plugin_tag tv_header_tags[] =
{
srctemplate);
bfd_set_arch_info (abfd, bfd_get_arch_info (srctemplate));
bfd_make_writable (abfd);
+ bfd_copy_private_bfd_data (srctemplate, abfd);
+ bfd_set_gp_size (abfd, bfd_get_gp_size (abfd));
/* Create a minimal set of sections to own the symbols. */
sec = bfd_make_section_old_way (abfd, ".text");
bfd_set_section_flags (abfd, sec,
/* Helpers to convert between BFD and GOLD symbol formats. */
static enum ld_plugin_status
asymbol_from_plugin_symbol (bfd *abfd, asymbol *asym,
- const struct ld_plugin_symbol *ldsym)
+ const struct ld_plugin_symbol *ldsym)
{
flagword flags = BSF_NO_FLAGS;
struct bfd_section *section;
asym->the_bfd = abfd;
- asym->name = ldsym->version
+ asym->name = (ldsym->version
? concat (ldsym->name, "@", ldsym->version, NULL)
- : ldsym->name;
+ : ldsym->name);
asym->value = 0;
switch (ldsym->def)
{
flags = BSF_GLOBAL;
section = bfd_com_section_ptr;
asym->value = ldsym->size;
+ /* For ELF targets, set alignment of common symbol to 1. */
+ if (bfd_get_flavour (abfd) == bfd_target_elf_flavour)
+ ((elf_symbol_type *) asym)->internal_elf_sym.st_value = 1;
break;
default:
if (bfd_get_flavour (abfd) == bfd_target_elf_flavour)
{
elf_symbol_type *elfsym = elf_symbol_from (abfd, asym);
+ unsigned char visibility;
+
if (!elfsym)
- einfo (_("%P%F: %s: non-ELF symbol in ELF BFD!"), asym->name);
- elfsym->internal_elf_sym.st_other &= ~3;
- elfsym->internal_elf_sym.st_other |= ldsym->visibility;
+ einfo (_("%P%F: %s: non-ELF symbol in ELF BFD!\n"), asym->name);
+ switch (ldsym->visibility)
+ {
+ default:
+ einfo (_("%P%F: unknown ELF symbol visibility: %d!\n"),
+ ldsym->visibility);
+ case LDPV_DEFAULT:
+ visibility = STV_DEFAULT;
+ break;
+ case LDPV_PROTECTED:
+ visibility = STV_PROTECTED;
+ break;
+ case LDPV_INTERNAL:
+ visibility = STV_INTERNAL;
+ break;
+ case LDPV_HIDDEN:
+ visibility = STV_HIDDEN;
+ break;
+ }
+ elfsym->internal_elf_sym.st_other
+ = (visibility | (elfsym->internal_elf_sym.st_other
+ & ~ELF_ST_VISIBILITY (-1)));
}
return LDPS_OK;
universe of claimed objects. */
static inline bfd_boolean
is_visible_from_outside (struct ld_plugin_symbol *lsym, asection *section,
- struct bfd_link_hash_entry *blhe)
+ struct bfd_link_hash_entry *blhe)
{
/* Section's owner may be NULL if it is the absolute
section, fortunately is_ir_dummy_bfd handles that. */
return vis == STV_DEFAULT || vis == STV_PROTECTED;
}
/* On non-ELF targets, we can safely make inferences by considering
- what visibility the plugin would have liked to apply when it first
+ what visibility the plugin would have liked to apply when it first
sent us the symbol. During ELF symbol processing, visibility only
ever becomes more restrictive, not less, when symbols are merged,
so this is a conservative estimate; it may give false positives,
opportunities during LTRANS at worst; it will not give false
negatives, which can lead to the disastrous conclusion that the
related symbol is IRONLY. (See GCC PR46319 for an example.) */
- return lsym->visibility == LDPV_DEFAULT
- || lsym->visibility == LDPV_PROTECTED;
+ return (lsym->visibility == LDPV_DEFAULT
+ || lsym->visibility == LDPV_PROTECTED);
}
return FALSE;
}
asection *owner_sec;
blhe = bfd_link_hash_lookup (link_info.hash, syms[n].name,
- FALSE, FALSE, TRUE);
+ FALSE, FALSE, TRUE);
if (!blhe)
{
syms[n].resolution = LDPR_UNKNOWN;
/* Determine resolution from blhe type and symbol's original type. */
if (blhe->type == bfd_link_hash_undefined
- || blhe->type == bfd_link_hash_undefweak)
+ || blhe->type == bfd_link_hash_undefweak)
{
syms[n].resolution = LDPR_UNDEF;
continue;
}
if (blhe->type != bfd_link_hash_defined
- && blhe->type != bfd_link_hash_defweak
- && blhe->type != bfd_link_hash_common)
+ && blhe->type != bfd_link_hash_defweak
+ && blhe->type != bfd_link_hash_common)
{
/* We should not have a new, indirect or warning symbol here. */
- einfo ("%P%F: %s: plugin symbol table corrupt (sym type %d)",
- called_plugin->name, blhe->type);
+ einfo ("%P%F: %s: plugin symbol table corrupt (sym type %d)\n",
+ called_plugin->name, blhe->type);
}
/* Find out which section owns the symbol. Since it's not undef,
it must have an owner; if it's not a common symbol, both defs
and weakdefs keep it in the same place. */
owner_sec = (blhe->type == bfd_link_hash_common)
- ? blhe->u.c.p->section
- : blhe->u.def.section;
+ ? blhe->u.c.p->section
+ : blhe->u.def.section;
/* We need to know if the sym is referenced from non-IR files. Or
- even potentially-referenced, perhaps in a future final link if
+ even potentially-referenced, perhaps in a future final link if
this is a partial one, perhaps dynamically at load-time if the
symbol is externally visible. */
ironly = !is_visible_from_outside (&syms[n], owner_sec, blhe)
&& !bfd_hash_lookup (non_ironly_hash, syms[n].name, FALSE, FALSE);
/* If it was originally undefined or common, then it has been
- resolved; determine how. */
- if (syms[n].def == LDPK_UNDEF || syms[n].def == LDPK_WEAKUNDEF
+ resolved; determine how. */
+ if (syms[n].def == LDPK_UNDEF
+ || syms[n].def == LDPK_WEAKUNDEF
|| syms[n].def == LDPK_COMMON)
{
if (owner_sec->owner == link_info.output_bfd)
syms[n].resolution = LDPR_RESOLVED_EXEC;
else if (owner_sec->owner == abfd)
- syms[n].resolution = (ironly)
- ? LDPR_PREVAILING_DEF_IRONLY
- : LDPR_PREVAILING_DEF;
+ syms[n].resolution = (ironly
+ ? LDPR_PREVAILING_DEF_IRONLY
+ : LDPR_PREVAILING_DEF);
else if (is_ir_dummy_bfd (owner_sec->owner))
syms[n].resolution = LDPR_RESOLVED_IR;
- else if (owner_sec->owner->flags & DYNAMIC)
+ else if (owner_sec->owner != NULL
+ && (owner_sec->owner->flags & DYNAMIC) != 0)
syms[n].resolution = LDPR_RESOLVED_DYN;
else
syms[n].resolution = LDPR_RESOLVED_EXEC;
}
/* Was originally def, or weakdef. Does it prevail? If the
- owner is the original dummy bfd that supplied it, then this
+ owner is the original dummy bfd that supplied it, then this
is the definition that has prevailed. */
if (owner_sec->owner == link_info.output_bfd)
syms[n].resolution = LDPR_PREEMPTED_REG;
else if (owner_sec->owner == abfd)
{
- syms[n].resolution = (ironly)
+ syms[n].resolution = (ironly
? LDPR_PREVAILING_DEF_IRONLY
- : LDPR_PREVAILING_DEF;
+ : LDPR_PREVAILING_DEF);
continue;
}
/* Was originally def, weakdef, or common, but has been pre-empted. */
syms[n].resolution = is_ir_dummy_bfd (owner_sec->owner)
- ? LDPR_PREEMPTED_IR
- : LDPR_PREEMPTED_REG;
+ ? LDPR_PREEMPTED_IR
+ : LDPR_PREEMPTED_REG;
}
return LDPS_OK;
}
{
ASSERT (called_plugin);
if (!lang_add_input_file (xstrdup (pathname), lang_input_file_is_file_enum,
- NULL))
+ NULL))
return LDPS_ERR;
return LDPS_OK;
}
{
ASSERT (called_plugin);
if (!lang_add_input_file (xstrdup (pathname), lang_input_file_is_l_enum,
- NULL))
+ NULL))
return LDPS_ERR;
return LDPS_OK;
}
{
case LDPL_INFO:
vfinfo (stdout, format, args, FALSE);
+ putchar ('\n');
break;
case LDPL_WARNING:
vfinfo (stdout, format, args, TRUE);
+ putchar ('\n');
break;
case LDPL_FATAL:
case LDPL_ERROR:
default:
- {
- char *newfmt = ACONCAT ((level == LDPL_FATAL ? "%F" : "%X",
- format, NULL));
- vfinfo (stderr, newfmt, args, TRUE);
- }
+ {
+ char *newfmt = ACONCAT ((level == LDPL_FATAL
+ ? "%P%F: " : "%P%X: ",
+ format, "\n", NULL));
+ fflush (stdout);
+ vfinfo (stderr, newfmt, args, TRUE);
+ fflush (stderr);
+ }
break;
}
#define TVU(x) tv[i].tv_u.tv_ ## x
switch (tv[i].tv_tag)
{
- case LDPT_MESSAGE:
- TVU(message) = message;
- break;
- case LDPT_API_VERSION:
- TVU(val) = LD_PLUGIN_API_VERSION;
- break;
- case LDPT_GNU_LD_VERSION:
- TVU(val) = major * 100 + minor;
- break;
- case LDPT_LINKER_OUTPUT:
- TVU(val) = link_info.relocatable ? LDPO_REL
- : (link_info.shared ? LDPO_DYN : LDPO_EXEC);
- break;
- case LDPT_OUTPUT_NAME:
- TVU(string) = output_filename;
- break;
- case LDPT_REGISTER_CLAIM_FILE_HOOK:
- TVU(register_claim_file) = register_claim_file;
- break;
- case LDPT_REGISTER_ALL_SYMBOLS_READ_HOOK:
- TVU(register_all_symbols_read) = register_all_symbols_read;
- break;
- case LDPT_REGISTER_CLEANUP_HOOK:
- TVU(register_cleanup) = register_cleanup;
- break;
- case LDPT_ADD_SYMBOLS:
- TVU(add_symbols) = add_symbols;
- break;
- case LDPT_GET_INPUT_FILE:
- TVU(get_input_file) = get_input_file;
- break;
- case LDPT_RELEASE_INPUT_FILE:
- TVU(release_input_file) = release_input_file;
- break;
- case LDPT_GET_SYMBOLS:
- TVU(get_symbols) = get_symbols;
- break;
- case LDPT_ADD_INPUT_FILE:
- TVU(add_input_file) = add_input_file;
- break;
- case LDPT_ADD_INPUT_LIBRARY:
- TVU(add_input_library) = add_input_library;
- break;
- case LDPT_SET_EXTRA_LIBRARY_PATH:
- TVU(set_extra_library_path) = set_extra_library_path;
- break;
- default:
- /* Added a new entry to the array without adding
- a new case to set up its value is a bug. */
- FAIL ();
+ case LDPT_MESSAGE:
+ TVU(message) = message;
+ break;
+ case LDPT_API_VERSION:
+ TVU(val) = LD_PLUGIN_API_VERSION;
+ break;
+ case LDPT_GNU_LD_VERSION:
+ TVU(val) = major * 100 + minor;
+ break;
+ case LDPT_LINKER_OUTPUT:
+ TVU(val) = (link_info.relocatable
+ ? LDPO_REL
+ : (link_info.shared ? LDPO_DYN : LDPO_EXEC));
+ break;
+ case LDPT_OUTPUT_NAME:
+ TVU(string) = output_filename;
+ break;
+ case LDPT_REGISTER_CLAIM_FILE_HOOK:
+ TVU(register_claim_file) = register_claim_file;
+ break;
+ case LDPT_REGISTER_ALL_SYMBOLS_READ_HOOK:
+ TVU(register_all_symbols_read) = register_all_symbols_read;
+ break;
+ case LDPT_REGISTER_CLEANUP_HOOK:
+ TVU(register_cleanup) = register_cleanup;
+ break;
+ case LDPT_ADD_SYMBOLS:
+ TVU(add_symbols) = add_symbols;
+ break;
+ case LDPT_GET_INPUT_FILE:
+ TVU(get_input_file) = get_input_file;
+ break;
+ case LDPT_RELEASE_INPUT_FILE:
+ TVU(release_input_file) = release_input_file;
+ break;
+ case LDPT_GET_SYMBOLS:
+ TVU(get_symbols) = get_symbols;
+ break;
+ case LDPT_ADD_INPUT_FILE:
+ TVU(add_input_file) = add_input_file;
+ break;
+ case LDPT_ADD_INPUT_LIBRARY:
+ TVU(add_input_library) = add_input_library;
+ break;
+ case LDPT_SET_EXTRA_LIBRARY_PATH:
+ TVU(set_extra_library_path) = set_extra_library_path;
+ break;
+ default:
+ /* Added a new entry to the array without adding
+ a new case to set up its value is a bug. */
+ FAIL ();
}
#undef TVU
}
if (!curplug)
return 0;
+ xatexit (plugin_call_cleanup);
+
/* First pass over plugins to find max # args needed so that we
can size and allocate the tv array. */
while (curplug)
if (!onloadfn)
onloadfn = dlsym (curplug->dlhandle, "_onload");
if (!onloadfn)
- return set_plugin_error (curplug->name);
+ return set_plugin_error (curplug->name);
set_tv_plugin_args (curplug, &my_tv[tv_header_size]);
called_plugin = curplug;
rv = (*onloadfn) (my_tv);
called_plugin = NULL;
if (rv != LDPS_OK)
- return set_plugin_error (curplug->name);
+ return set_plugin_error (curplug->name);
curplug = curplug->next;
}
return plugin_error_p () ? -1 : 0;
}
-/* Call 'cleanup' hook for all plugins. */
-int
+/* Call 'cleanup' hook for all plugins at exit. */
+static void
plugin_call_cleanup (void)
{
plugin_t *curplug = plugins_list;
}
curplug = curplug->next;
}
- return plugin_error_p () ? -1 : 0;
+ if (plugin_error_p ())
+ info_msg (_("%P: %s: error in plugin cleanup (ignored)\n"),
+ plugin_error_plugin ());
}
/* Lazily init the non_ironly hash table. */
if (non_ironly_hash == NULL)
{
non_ironly_hash =
- (struct bfd_hash_table *) xmalloc (sizeof (struct bfd_hash_table));
+ (struct bfd_hash_table *) xmalloc (sizeof (struct bfd_hash_table));
if (!bfd_hash_table_init_n (non_ironly_hash,
bfd_hash_newfunc,
sizeof (struct bfd_hash_entry),
contributed by IR files. */
bfd_boolean
plugin_notice (struct bfd_link_info *info ATTRIBUTE_UNUSED,
- const char *name, bfd *abfd,
- asection *section, bfd_vma value ATTRIBUTE_UNUSED)
+ const char *name, bfd *abfd,
+ asection *section, bfd_vma value ATTRIBUTE_UNUSED)
{
bfd_boolean is_ref = bfd_is_und_section (section);
bfd_boolean is_dummy = is_ir_dummy_bfd (abfd);
if (is_ref && !is_dummy)
{
/* This is a ref from a non-IR file, so note the ref'd symbol
- in the non-IR-only hash. */
+ in the non-IR-only hash. */
if (!bfd_hash_lookup (non_ironly_hash, name, TRUE, TRUE))
- einfo (_("%P%X: %s: hash table failure adding symbol %s"),
- abfd->filename, name);
+ einfo (_("%P%X: %s: hash table failure adding symbol %s\n"),
+ abfd->filename, name);
}
else if (!is_ref && is_dummy)
{
effect (before we disabled it to ensure we got called back). */
bfd_boolean
plugin_multiple_definition (struct bfd_link_info *info, const char *name,
- bfd *obfd, asection *osec ATTRIBUTE_UNUSED,
- bfd_vma oval ATTRIBUTE_UNUSED,
- bfd *nbfd, asection *nsec, bfd_vma nval)
+ bfd *obfd, asection *osec ATTRIBUTE_UNUSED,
+ bfd_vma oval ATTRIBUTE_UNUSED,
+ bfd *nbfd, asection *nsec, bfd_vma nval)
{
if (is_ir_dummy_bfd (obfd))
{
- struct bfd_link_hash_entry *blhe = bfd_link_hash_lookup (info->hash,
- name, FALSE, FALSE, FALSE);
+ struct bfd_link_hash_entry *blhe
+ = bfd_link_hash_lookup (info->hash, name, FALSE, FALSE, FALSE);
if (!blhe)
- einfo (_("%P%X: %s: can't find IR symbol '%s'"), nbfd->filename,
- name);
+ einfo (_("%P%X: %s: can't find IR symbol '%s'\n"), nbfd->filename,
+ name);
else if (blhe->type != bfd_link_hash_defined)
- einfo (_("%P%x: %s: bad IR symbol type %d"), name, blhe->type);
+ einfo (_("%P%x: %s: bad IR symbol type %d\n"), name, blhe->type);
/* Replace it with new details. */
blhe->u.def.section = nsec;
blhe->u.def.value = nval;
/* Call 'all symbols read' hook for all plugins. */
extern int plugin_call_all_symbols_read (void);
-/* Call 'cleanup' hook for all plugins. */
-extern int plugin_call_cleanup (void);
-
/* Generate a dummy BFD to represent an IR file, for any callers of
plugin_call_claim_file to use as the handle in the ld_plugin_input_file
struct that they build to pass in. The BFD is initially writable, so
break;
sprintf (unknownbuf, "unknown tag #%d", tv->tv_tag);
name = (tag < ARRAY_SIZE (tag_names)) ? tag_names[tag].name : unknownbuf;
- TV_MESSAGE (LDPL_INFO, "tv[%d]: %s ", n, name);
switch (tv->tv_tag)
{
case LDPT_OPTION:
case LDPT_OUTPUT_NAME:
- TV_MESSAGE (LDPL_INFO, "'%s'\n", tv->tv_u.tv_string);
+ TV_MESSAGE (LDPL_INFO, "tv[%d]: %s '%s'", n, name,
+ tv->tv_u.tv_string);
break;
case LDPT_REGISTER_CLAIM_FILE_HOOK:
case LDPT_REGISTER_ALL_SYMBOLS_READ_HOOK:
case LDPT_RELEASE_INPUT_FILE:
case LDPT_ADD_INPUT_LIBRARY:
case LDPT_SET_EXTRA_LIBRARY_PATH:
- TV_MESSAGE (LDPL_INFO, "func@0x%p\n",
- (void *)(tv->tv_u.tv_message));
+ TV_MESSAGE (LDPL_INFO, "tv[%d]: %s func@0x%p", n, name,
+ (void *)(tv->tv_u.tv_message));
break;
case LDPT_NULL:
case LDPT_API_VERSION:
case LDPT_LINKER_OUTPUT:
case LDPT_GNU_LD_VERSION:
default:
- TV_MESSAGE (LDPL_INFO, "value %W (%d)\n",
- (bfd_vma)tv->tv_u.tv_val, tv->tv_u.tv_val);
+ TV_MESSAGE (LDPL_INFO, "tv[%d]: %s value %W (%d)", n, name,
+ (bfd_vma)tv->tv_u.tv_val, tv->tv_u.tv_val);
break;
}
}
tv_message = tv[0].tv_u.tv_message;
fflush (NULL);
- TV_MESSAGE (LDPL_INFO, "Hello from testplugin.\n");
+ TV_MESSAGE (LDPL_INFO, "Hello from testplugin.");
do
if ((rv = parse_and_dump_tv_tag (n++, tv)) != LDPS_OK)
return rv;
while ((tv++)->tv_tag != LDPT_NULL);
- TV_MESSAGE (LDPL_INFO, "\n");
-
/* Register hooks only if instructed by options. */
if (register_claimfile_hook)
{
if (!tv_register_claim_file)
{
- TV_MESSAGE (LDPL_FATAL, "No register_claim_file hook\n");
+ TV_MESSAGE (LDPL_FATAL, "No register_claim_file hook");
fflush (NULL);
return LDPS_ERR;
}
{
if (!tv_register_all_symbols_read)
{
- TV_MESSAGE (LDPL_FATAL, "No register_all_symbols_read hook\n");
+ TV_MESSAGE (LDPL_FATAL, "No register_all_symbols_read hook");
fflush (NULL);
return LDPS_ERR;
}
{
if (!tv_register_cleanup)
{
- TV_MESSAGE (LDPL_FATAL, "No register_cleanup hook\n");
+ TV_MESSAGE (LDPL_FATAL, "No register_cleanup hook");
fflush (NULL);
return LDPS_ERR;
}
}
/* Inform the user/testsuite. */
- TV_MESSAGE (LDPL_INFO, "hook called: claim_file %s [@%ld/%ld] %s\n",
- file->name, (long)file->offset, (long)file->filesize,
- claimfile ? "CLAIMED" : "not claimed");
+ TV_MESSAGE (LDPL_INFO, "hook called: claim_file %s [@%ld/%ld] %s",
+ file->name, (long)file->offset, (long)file->filesize,
+ claimfile ? "CLAIMED" : "not claimed");
fflush (NULL);
/* If we decided to claim it, record that fact, and add any symbols
};
claim_file_t *claimfile = dumpresolutions ? claimfiles_list : NULL;
add_file_t *addfile = addfiles_list;
- TV_MESSAGE (LDPL_INFO, "hook called: all symbols read.\n");
+ TV_MESSAGE (LDPL_INFO, "hook called: all symbols read.");
for ( ; claimfile; claimfile = claimfile->next)
{
enum ld_plugin_status rv;
if (rv != LDPS_OK)
return rv;
for (n = 0; n < claimfile->n_syms_used; n++)
- TV_MESSAGE (LDPL_INFO, "Sym: '%s%s%s' Resolution: %s\n",
- claimfile->symbols[n].name,
- claimfile->symbols[n].version ? "@" : "",
- claimfile->symbols[n].version ? claimfile->symbols[n].version
- : "",
- resolutions[claimfile->symbols[n].resolution]);
+ TV_MESSAGE (LDPL_INFO, "Sym: '%s%s%s' Resolution: %s",
+ claimfile->symbols[n].name,
+ claimfile->symbols[n].version ? "@" : "",
+ (claimfile->symbols[n].version
+ ? claimfile->symbols[n].version : ""),
+ resolutions[claimfile->symbols[n].resolution]);
}
for ( ; addfile ; addfile = addfile->next)
{
static enum ld_plugin_status
oncleanup (void)
{
- TV_MESSAGE (LDPL_INFO, "hook called: cleanup.\n");
+ TV_MESSAGE (LDPL_INFO, "hook called: cleanup.");
fflush (NULL);
return cleanup_ret;
}
-
+2011-02-01 Alan Modra <amodra@gmail.com>
+
+ Backport from mainline
+ 2010-12-20 Alan Modra <amodra@gmail.com>
+ PR ld/12001
+ * ld-scripts/default-script2.d: Revert 2010-11-03 change.
+
+ 2010-12-05 H.J. Lu <hongjiu.lu@intel.com>
+ * ld-plugin/plugin-vis-1.d: Updated.
+
2010-11-25 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
* ld-arm/arm-elf.exp (armeabitests): Replace --defsym argument in
#...
-.*(PROTECTED.*func3|DEFAULT.*func|HIDDEN.*func2|INTERNAL.*func1)
+.*(PROTECTED.*func1|DEFAULT.*func|HIDDEN.*func3|INTERNAL.*func2)
#...
-.*(PROTECTED.*func3|DEFAULT.*func|HIDDEN.*func2|INTERNAL.*func1)
+.*(PROTECTED.*func1|DEFAULT.*func|HIDDEN.*func3|INTERNAL.*func2)
#...
-.*(PROTECTED.*func3|DEFAULT.*func|HIDDEN.*func2|INTERNAL.*func1)
+.*(PROTECTED.*func1|DEFAULT.*func|HIDDEN.*func3|INTERNAL.*func2)
#...
-.*(PROTECTED.*func3|DEFAULT.*func|HIDDEN.*func2|INTERNAL.*func1)
+.*(PROTECTED.*func1|DEFAULT.*func|HIDDEN.*func3|INTERNAL.*func2)
#...
#...
0*8000000 . _START
#...
-0*8000000 T text
+0*9000000 T text
#pass
+2011-02-01 Alan Modra <amodra@gmail.com>
+
+ Backport from mainline
+ 2011-01-21 Dave Murphy <davem@devkitpro.org>
+ * ppc-opc.c (NON32, NO371): Remove PPC_OPCODE_PPCPS.
+
+ 2011-01-01 H.J. Lu <hongjiu.lu@intel.com>
+ * i386-gen.c (process_copyright): Update copyright to 2011.
+
2010-11-25 Alan Modra <amodra@gmail.com>
* po/es.po: Update.
process_copyright (FILE *fp)
{
fprintf (fp, "/* This file is automatically generated by i386-gen. Do not edit! */\n\
-/* Copyright 2007, 2008, 2009, 2010\n\
+/* Copyright 2007, 2008, 2009, 2010, 2010\n\
Free Software Foundation, Inc.\n\
\n\
This file is part of the GNU opcodes library.\n\
/* This file is automatically generated by i386-gen. Do not edit! */
-/* Copyright 2007, 2008, 2009, 2010
+/* Copyright 2007, 2008, 2009, 2010, 2010
Free Software Foundation, Inc.
This file is part of the GNU opcodes library.
/* This file is automatically generated by i386-gen. Do not edit! */
-/* Copyright 2007, 2008, 2009, 2010
+/* Copyright 2007, 2008, 2009, 2010, 2010
Free Software Foundation, Inc.
This file is part of the GNU opcodes library.
/* ppc-opc.c -- PowerPC opcode list
Copyright 1994, 1995, 1996, 1997, 1998, 2000, 2001, 2002, 2003, 2004,
- 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+ 2005, 2006, 2007, 2008, 2009, 2010, 2011
+ Free Software Foundation, Inc.
Written by Ian Lance Taylor, Cygnus Support
This file is part of the GNU opcodes library.
#define POWER7 PPC_OPCODE_POWER7
#define CELL PPC_OPCODE_CELL
#define PPC64 PPC_OPCODE_64 | PPC_OPCODE_64_BRIDGE
-#define NON32 (PPC_OPCODE_64 | PPC_OPCODE_POWER4 | PPC_OPCODE_PPCPS \
+#define NON32 (PPC_OPCODE_64 | PPC_OPCODE_POWER4 \
| PPC_OPCODE_EFS | PPC_OPCODE_E500MC | PPC_OPCODE_TITAN)
#define PPC403 PPC_OPCODE_403
#define PPC405 PPC_OPCODE_405
#define MFDEC1 PPC_OPCODE_POWER
#define MFDEC2 PPC_OPCODE_PPC | PPC_OPCODE_601 | PPC_OPCODE_BOOKE | PPC_OPCODE_TITAN
#define BOOKE PPC_OPCODE_BOOKE
-#define NO371 PPC_OPCODE_BOOKE | PPC_OPCODE_PPCPS | PPC_OPCODE_EFS
+#define NO371 PPC_OPCODE_BOOKE | PPC_OPCODE_EFS
#define PPCE300 PPC_OPCODE_E300
#define PPCSPE PPC_OPCODE_SPE
#define PPCISEL PPC_OPCODE_ISEL