[binutils] Bump binutils to 2.20.1
Review URL: http://codereview.chromium.org/3018030
diff --git a/binutils/bfd/ChangeLog b/binutils/bfd/ChangeLog
index 316725d..f523265 100644
--- a/binutils/bfd/ChangeLog
+++ b/binutils/bfd/ChangeLog
@@ -1,3 +1,151 @@
+2010-03-03 Tristan Gingold <gingold@adacore.com>
+
+ * Makefile.am (RELEASE): Unset.
+ * Makefile.in: Regenerate.
+
+2010-03-01 Tristan Gingold <gingold@adacore.com>
+
+ * configure.in: Bump version to 2.20.1
+ * Makefile.am (RELEASE): Set.
+ * configure, Makefile.in: Regenerate.
+
+2010-02-19 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
+
+ 2010-01-19 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
+ * elf32-arm.c (elf32_arm_howto_table_1): Correct bitsize of
+ R_ARM_THM_CALL entry.
+ (elf32_arm_final_link_relocate): Correct calculation of
+ reloc_signed_max when doing a R_ARM_THM_CALL, R_ARM_THM_XPC22,
+ or R_ARM_THM_JUMP24 relocation.
+
+2010-02-17 Dave Korn <dave.korn.cygwin@gmail.com>
+
+ PR binutils/11280
+ * configure.host (*-*-solaris2.11): Add host define to select
+ valid default code page for windres/windmc on solaris.
+
+2010-01-30 Richard Sandiford <r.sandiford@uk.ibm.com>
+
+ * coff-rs6000.c (xcoff_howto_table): Change size to 0 and bitsize to 1.
+ (_bfd_xcoff_reloc_type_lookup): Handle BFD_RELOC_NONE.
+ * coff64-rs6000.c (xcoff64_howto_table): Change size to 0 and
+ bitsize to 1.
+ (xcoff64_reloc_type_lookup): Handle BFD_RELOC_NONE.
+
+2010-01-27 Alan Modra <amodra@gmail.com>
+
+ PR ld/11217
+ * elf64-ppc.c (struct ppc_link_hash_table): Add toc_bfd, toc_first_sec.
+ (ppc64_elf_setup_section_lists): Init them.
+ (ppc64_elf_next_toc_section): Don't partition multi-toc between .got
+ and .toc on the same input file.
+ (ppc64_elf_relocate_section): Correct GOT entry offset.
+
+2010-01-25 Alan Modra <amodra@gmail.com>
+
+ PR ld/11217
+ * elf64-ppc.c (ppc64_elf_tls_optimize): Optimize tls sequences
+ with relocations against undefined weak symbols.
+ (ppc64_elf_relocate_section): Don't optimize calls to undefined
+ weak functions if the symbol is dynamic.
+ (ppc64_elf_relocate_section): Edit tprel tls sequences.
+ * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
+ (_bfd_elf_ppc_at_tprel_transform): New function.
+ * bfd-in.h (_bfd_elf_ppc_at_tprel_transform): Declare.
+ * bfd-in2.h: Regenerate.
+
+2010-01-25 Alan Modra <amodra@gmail.com>
+
+ 2009-12-11 Nick Clifton <nickc@redhat.com>
+ * elf32-ppc.c: Fix shadowed variable warnings.
+ * elf64-ppc.c: Likewise.
+
+ 2009-11-18 Alan Modra <amodra@bigpond.net.au>
+ * bfd-in.h (_bfd_elf_ppc_at_tls_transform): Declare.
+ * bfd-in2.h: Regenerate.
+ * elf64-ppc.c (ppc64_elf_relocate_section): Move code for R_PPC64_TLS
+ insn optimisation to..
+ * elf32-ppc.c (_bfd_elf_ppc_at_tls_transform): ..here. New function.
+ (ppc_elf_relocate_section): Use it.
+
+2010-01-11 Alan Modra <amodra@gmail.com>
+
+ PR 11103
+ * dwarf1.c (parse_die): Correct FORM_STRING data pointer increment.
+
+2010-01-11 Alan Modra <amodra@gmail.com>
+
+ PR 6832
+ * dwarf2.c (struct comp_unit): Add sec_info_ptr.
+ (find_abstract_instance_name): Use it.
+ (parse_comp_unit): Set it.
+
+2009-12-21 Alan Modra <amodra@gmail.com>
+
+ * elf64-ppc.c: Delete my email address.
+
+2009-12-17 Alan Modra <amodra@bigpond.net.au>
+
+ PR ld/11088
+ * elf32-ppc.c (update_plt_info): Clear sec here when addend is
+ less than 32768..
+ (ppc_elf_check_relocs): ..rather than doing so here. Ignore new
+ relax relocs.
+ (ppc_elf_gc_sweep_hook): Don't segfault when symbol hiding has
+ removed plt_entry records.
+ (ppc_elf_tls_setup): Handle PIE calls to __tls_get_addr correctly.
+ (ppc_elf_tls_optimize): Likewise. Also dec __tls_get_addr refcount
+ when optimizing code using new tlsgd and tlsld marker relocs.
+ (ppc_elf_relax_section): Differentiate relaxed PLTREL24 relocs
+ from ADDR24 relocs using plt or glink. Don't clear the addend
+ for R_PPC_RELAX_PLTREL24.
+ (ppc_elf_relocate_section): Correctly handle addends on relaxed
+ PLTREL24 relocs.
+
+2009-12-17 Alan Modra <amodra@bigpond.net.au>
+
+ PR ld/11088
+ * elf64-ppc.c (ppc64_elf_gc_sweep_hook): Don't abort if symbol
+ hiding has nulled out plt.plist.
+
+2009-12-03 Alan Modra <amodra@bigpond.net.au>
+
+ PR ld/11047
+ * elf32-ppc.c (ppc_elf_relocate_section): Delete __tls_get_addr
+ symbol reference from relocs belonging to calls that are
+ optimized away.
+ * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
+
+2009-11-17 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * elf32-spu.c (struct spu_link_hash_table): Remove overlay_fixed,
+ reserved, and extra_stack_space members.
+ (spu_elf_auto_overlay): Use auto_overlay_fixed, auto_overlay_reserved,
+ and extra_stack_space members of htab->params instead.
+
+2009-11-03 Alan Modra <amodra@bigpond.net.au>
+ Ulrich Weigand <uweigand@de.ibm.com>
+
+ * elf32-spu.c (mark_functions_via_relocs): Handle non-branch relocs
+ (jump tables or other references to code labels) as well.
+
+2009-10-20 Alan Modra <amodra@bigpond.net.au>
+
+ PR binutils/10802
+ * opncls.c (_maybe_make_executable): Make DYNAMIC files executable.
+
+2009-10-19 Hans-Peter Nilsson <hp@axis.com>
+
+ * elf32-cris.c (cris_elf_relocate_section) <case R_CRIS_32_DTPREL>:
+ Don't subtract the size of the TLS block for non-shared objects
+ from the relocation.
+
+2009-10-16 Tristan Gingold <gingold@adacore.com>
+
+ * configure.in: Bump version to 2.20.0
+ * Makefile.am (RELEASE): Unset.
+ * configure, Makefile.in: Regenerate.
+
2009-10-16 Tristan Gingold <gingold@adacore.com>
* configure.in: Bump version to 2.20
diff --git a/binutils/bfd/Makefile.am b/binutils/bfd/Makefile.am
index a0c1eaa..13ace29 100644
--- a/binutils/bfd/Makefile.am
+++ b/binutils/bfd/Makefile.am
@@ -4,7 +4,7 @@
ACLOCAL_AMFLAGS = -I . -I .. -I ../config
# Uncomment the following line when doing a release.
-RELEASE=y
+# RELEASE=y
INCDIR = $(srcdir)/../include
CSEARCH = -I. -I$(srcdir) -I$(INCDIR)
diff --git a/binutils/bfd/Makefile.in b/binutils/bfd/Makefile.in
index 6bebad7..4068a2d 100644
--- a/binutils/bfd/Makefile.in
+++ b/binutils/bfd/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11 from Makefile.am.
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
@@ -317,7 +317,7 @@
ACLOCAL_AMFLAGS = -I . -I .. -I ../config
# Uncomment the following line when doing a release.
-RELEASE = y
+# RELEASE=y
INCDIR = $(srcdir)/../include
CSEARCH = -I. -I$(srcdir) -I$(INCDIR)
SUBDIRS = doc po
@@ -1537,7 +1537,7 @@
# (which will cause the Makefiles to be regenerated when you run `make');
# (2) otherwise, pass the desired values on the `make' command line.
$(RECURSIVE_TARGETS):
- @failcom='exit 1'; \
+ @fail= failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \
case $$f in \
*=* | --[!k]*);; \
@@ -1562,7 +1562,7 @@
fi; test -z "$$fail"
$(RECURSIVE_CLEAN_TARGETS):
- @failcom='exit 1'; \
+ @fail= failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \
case $$f in \
*=* | --[!k]*);; \
diff --git a/binutils/bfd/aclocal.m4 b/binutils/bfd/aclocal.m4
index 77edbce..0948e43 100644
--- a/binutils/bfd/aclocal.m4
+++ b/binutils/bfd/aclocal.m4
@@ -1,4 +1,4 @@
-# generated automatically by aclocal 1.11 -*- Autoconf -*-
+# generated automatically by aclocal 1.11.1 -*- Autoconf -*-
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
# 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
@@ -34,7 +34,7 @@
[am__api_version='1.11'
dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
dnl require some minimum version. Point them to the right macro.
-m4_if([$1], [1.11], [],
+m4_if([$1], [1.11.1], [],
[AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
])
@@ -50,7 +50,7 @@
# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
-[AM_AUTOMAKE_VERSION([1.11])dnl
+[AM_AUTOMAKE_VERSION([1.11.1])dnl
m4_ifndef([AC_AUTOCONF_VERSION],
[m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
diff --git a/binutils/bfd/bfd-in.h b/binutils/bfd/bfd-in.h
index 516102e..01b877d 100644
--- a/binutils/bfd/bfd-in.h
+++ b/binutils/bfd/bfd-in.h
@@ -1,7 +1,7 @@
/* Main header file for the bfd library -- portable access to object files.
Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
- 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
+ 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
Free Software Foundation, Inc.
Contributed by Cygnus Support.
@@ -908,6 +908,13 @@
extern bfd_boolean elf32_arm_fix_exidx_coverage
(struct bfd_section **, unsigned int, struct bfd_link_info *);
+/* PowerPC @tls opcode transform/validate. */
+extern unsigned int _bfd_elf_ppc_at_tls_transform
+ (unsigned int, unsigned int);
+/* PowerPC @tprel opcode transform/validate. */
+extern unsigned int _bfd_elf_ppc_at_tprel_transform
+ (unsigned int, unsigned int);
+
/* TI COFF load page support. */
extern void bfd_ticoff_set_section_load_page
(struct bfd_section *, int);
diff --git a/binutils/bfd/bfd-in2.h b/binutils/bfd/bfd-in2.h
index 40d3b7a..d98c6ec 100644
--- a/binutils/bfd/bfd-in2.h
+++ b/binutils/bfd/bfd-in2.h
@@ -8,7 +8,7 @@
/* Main header file for the bfd library -- portable access to object files.
Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
- 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
+ 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
Free Software Foundation, Inc.
Contributed by Cygnus Support.
@@ -915,6 +915,13 @@
extern bfd_boolean elf32_arm_fix_exidx_coverage
(struct bfd_section **, unsigned int, struct bfd_link_info *);
+/* PowerPC @tls opcode transform/validate. */
+extern unsigned int _bfd_elf_ppc_at_tls_transform
+ (unsigned int, unsigned int);
+/* PowerPC @tprel opcode transform/validate. */
+extern unsigned int _bfd_elf_ppc_at_tprel_transform
+ (unsigned int, unsigned int);
+
/* TI COFF load page support. */
extern void bfd_ticoff_set_section_load_page
(struct bfd_section *, int);
diff --git a/binutils/bfd/coff-rs6000.c b/binutils/bfd/coff-rs6000.c
index e8d5484..040a030 100644
--- a/binutils/bfd/coff-rs6000.c
+++ b/binutils/bfd/coff-rs6000.c
@@ -896,11 +896,11 @@
EMPTY_HOWTO (0xe),
- /* Non-relocating reference. */
+ /* Non-relocating reference. Bitsize is 1 so that r_rsize is 0. */
HOWTO (R_REF, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
- 32, /* bitsize */
+ 0, /* size (0 = byte, 1 = short, 2 = long) */
+ 1, /* bitsize */
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_dont, /* complain_on_overflow */
@@ -1162,6 +1162,8 @@
case BFD_RELOC_32:
case BFD_RELOC_CTOR:
return &xcoff_howto_table[0];
+ case BFD_RELOC_NONE:
+ return &xcoff_howto_table[0xf];
default:
return NULL;
}
diff --git a/binutils/bfd/coff64-rs6000.c b/binutils/bfd/coff64-rs6000.c
index e202070..8abec10 100644
--- a/binutils/bfd/coff64-rs6000.c
+++ b/binutils/bfd/coff64-rs6000.c
@@ -1594,11 +1594,11 @@
EMPTY_HOWTO (0xe),
- /* Non-relocating reference. */
+ /* Non-relocating reference. Bitsize is 1 so that r_rsize is 0. */
HOWTO (R_REF, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
- 32, /* bitsize */
+ 0, /* size (0 = byte, 1 = short, 2 = long) */
+ 1, /* bitsize */
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_dont, /* complain_on_overflow */
@@ -1882,6 +1882,8 @@
return &xcoff64_howto_table[0x1c];
case BFD_RELOC_64:
return &xcoff64_howto_table[0];
+ case BFD_RELOC_NONE:
+ return &xcoff64_howto_table[0xf];
default:
return NULL;
}
diff --git a/binutils/bfd/configure b/binutils/bfd/configure
index dcc9bd9..6502be6 100755
--- a/binutils/bfd/configure
+++ b/binutils/bfd/configure
@@ -4116,7 +4116,7 @@
# Define the identity of the package.
PACKAGE=bfd
- VERSION=2.20
+ VERSION=2.20.1
cat >>confdefs.h <<_ACEOF
diff --git a/binutils/bfd/configure.host b/binutils/bfd/configure.host
index 11b42e0..eb7bfe9 100644
--- a/binutils/bfd/configure.host
+++ b/binutils/bfd/configure.host
@@ -56,6 +56,12 @@
m68*-hp-hpux*) HDEFINES=-DHOST_HP300HPUX ;;
+# Some Solaris systems (osol0906 at least) have a libc that doesn't recognise
+# the "MS-ANSI" code page name, so we define an override for CP_ACP (sets the
+# default code page used by windres/windmc when not specified by a commandline
+# option) to select the "WINDOWS-1252" name instead. See PR11280 for details.
+*-*-solaris2.11) HDEFINES=-DCP_ACP=1 ;;
+
*-*-windows*)
HOST_64BIT_TYPE=__int64
HOST_U_64BIT_TYPE="unsigned __int64"
diff --git a/binutils/bfd/configure.in b/binutils/bfd/configure.in
index d03a271..e39187d 100644
--- a/binutils/bfd/configure.in
+++ b/binutils/bfd/configure.in
@@ -8,7 +8,7 @@
AC_CANONICAL_TARGET
AC_ISC_POSIX
-AM_INIT_AUTOMAKE(bfd, 2.20)
+AM_INIT_AUTOMAKE(bfd, 2.20.1)
dnl These must be called before LT_INIT, because it may want
dnl to call AC_CHECK_PROG.
diff --git a/binutils/bfd/doc/Makefile.in b/binutils/bfd/doc/Makefile.in
index 370fcad..3af328b 100644
--- a/binutils/bfd/doc/Makefile.in
+++ b/binutils/bfd/doc/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11 from Makefile.am.
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
diff --git a/binutils/bfd/doc/bfdver.texi b/binutils/bfd/doc/bfdver.texi
index 6ae2b43..eb5d7e1 100644
--- a/binutils/bfd/doc/bfdver.texi
+++ b/binutils/bfd/doc/bfdver.texi
@@ -1,4 +1,4 @@
-@set VERSION 2.20
+@set VERSION 2.20.1
@set VERSION_PACKAGE (GNU Binutils)
-@set UPDATED October 2009
+@set UPDATED March 2010
@set BUGURL @uref{http://www.sourceware.org/bugzilla/}
diff --git a/binutils/bfd/dwarf1.c b/binutils/bfd/dwarf1.c
index 2674044..375f4cf 100644
--- a/binutils/bfd/dwarf1.c
+++ b/binutils/bfd/dwarf1.c
@@ -1,5 +1,5 @@
/* DWARF 1 find nearest line (_bfd_dwarf1_find_nearest_line).
- Copyright 1998, 1999, 2000, 2001, 2002, 2004, 2005, 2007, 2008
+ Copyright 1998, 1999, 2000, 2001, 2002, 2004, 2005, 2007, 2008, 2009, 2010
Free Software Foundation, Inc.
Written by Gavin Romig-Koch of Cygnus Solutions (gavin@cygnus.com).
@@ -251,8 +251,8 @@
break;
case FORM_STRING:
if (attr == AT_name)
- aDieInfo->name = (char *)xptr;
- xptr += strlen (aDieInfo->name) + 1;
+ aDieInfo->name = (char *) xptr;
+ xptr += strlen ((char *) xptr) + 1;
break;
}
}
diff --git a/binutils/bfd/dwarf2.c b/binutils/bfd/dwarf2.c
index 5d504c8..da68e1f 100644
--- a/binutils/bfd/dwarf2.c
+++ b/binutils/bfd/dwarf2.c
@@ -216,6 +216,9 @@
by its reference. */
bfd_byte *info_ptr_unit;
+ /* Pointer to the start of the debug section, for DW_FORM_ref_addr. */
+ bfd_byte *sec_info_ptr;
+
/* The offset into .debug_line of the line number table. */
unsigned long line_offset;
@@ -1680,7 +1683,7 @@
if (!die_ref)
abort ();
- info_ptr = unit->stash->sec_info_ptr + die_ref;
+ info_ptr = unit->sec_info_ptr + die_ref;
}
else
info_ptr = unit->info_ptr_unit + die_ref;
@@ -2088,6 +2091,7 @@
unit->end_ptr = end_ptr;
unit->stash = stash;
unit->info_ptr_unit = info_ptr_unit;
+ unit->sec_info_ptr = stash->sec_info_ptr;
for (i = 0; i < abbrev->num_attrs; ++i)
{
diff --git a/binutils/bfd/elf32-arm.c b/binutils/bfd/elf32-arm.c
index 157024c..f0700b0 100644
--- a/binutils/bfd/elf32-arm.c
+++ b/binutils/bfd/elf32-arm.c
@@ -1,6 +1,6 @@
/* 32-bit ELF support for ARM
Copyright 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
- 2008, 2009 Free Software Foundation, Inc.
+ 2008, 2009, 2010 Free Software Foundation, Inc.
This file is part of BFD, the Binary File Descriptor library.
@@ -224,7 +224,7 @@
HOWTO (R_ARM_THM_CALL, /* type */
1, /* rightshift */
2, /* size (0 = byte, 1 = short, 2 = long) */
- 25, /* bitsize */
+ 24, /* bitsize */
TRUE, /* pc_relative */
0, /* bitpos */
complain_overflow_signed,/* complain_on_overflow */
@@ -7533,7 +7533,7 @@
bitsize = howto->bitsize;
if (!thumb2)
bitsize -= 2;
- reloc_signed_max = ((1 << (bitsize - 1)) - 1) >> howto->rightshift;
+ reloc_signed_max = (1 << (bitsize - 1)) - 1;
reloc_signed_min = ~reloc_signed_max;
/* Assumes two's complement. */
diff --git a/binutils/bfd/elf32-cris.c b/binutils/bfd/elf32-cris.c
index 2037b10..ceea1b9 100644
--- a/binutils/bfd/elf32-cris.c
+++ b/binutils/bfd/elf32-cris.c
@@ -1690,15 +1690,10 @@
= -elf_cris_hash_table (info)->dtpmod_refcount;
}
- /* The thread-based offset to the local symbol is the
- relocation.
- For the executable, TLS data begins at the thread pointer plus
- the negative size of the TLS data. For a DSO, that's part of
- the module TLS offset. */
+ /* The relocation is the offset from the start of the module
+ TLS block to the (local) symbol. */
relocation -= elf_hash_table (info)->tls_sec == NULL
- ? 0 : (elf_hash_table (info)->tls_sec->vma
- + (info->shared
- ? 0 : elf_hash_table (info)->tls_size));
+ ? 0 : elf_hash_table (info)->tls_sec->vma;
break;
case R_CRIS_32_GD:
diff --git a/binutils/bfd/elf32-ppc.c b/binutils/bfd/elf32-ppc.c
index 95058a2..fc4347e 100644
--- a/binutils/bfd/elf32-ppc.c
+++ b/binutils/bfd/elf32-ppc.c
@@ -1,6 +1,6 @@
/* PowerPC-specific support for 32-bit ELF
Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
- 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
+ 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
Written by Ian Lance Taylor, Cygnus Support.
This file is part of BFD, the Binary File Descriptor library.
@@ -3323,6 +3323,8 @@
{
struct plt_entry *ent;
+ if (addend < 32768)
+ sec = NULL;
for (ent = *plist; ent != NULL; ent = ent->next)
if (ent->sec == sec && ent->addend == addend)
break;
@@ -3508,8 +3510,7 @@
if (info->shared)
addend = rel->r_addend;
}
- if (!update_plt_info (abfd, ifunc,
- addend < 32768 ? NULL : got2, addend))
+ if (!update_plt_info (abfd, ifunc, got2, addend))
return FALSE;
}
}
@@ -3748,8 +3749,7 @@
addend = rel->r_addend;
}
h->needs_plt = 1;
- if (!update_plt_info (abfd, &h->plt.plist,
- addend < 32768 ? NULL : got2, addend))
+ if (!update_plt_info (abfd, &h->plt.plist, got2, addend))
return FALSE;
}
break;
@@ -3780,10 +3780,9 @@
case R_PPC_EMB_MRKREF:
case R_PPC_NONE:
case R_PPC_max:
- case R_PPC_RELAX32:
- case R_PPC_RELAX32PC:
- case R_PPC_RELAX32_PLT:
- case R_PPC_RELAX32PC_PLT:
+ case R_PPC_RELAX:
+ case R_PPC_RELAX_PLT:
+ case R_PPC_RELAX_PLTREL24:
break;
/* These should only appear in dynamic objects. */
@@ -3961,7 +3960,7 @@
|| !h->def_regular)))
{
struct ppc_elf_dyn_relocs *p;
- struct ppc_elf_dyn_relocs **head;
+ struct ppc_elf_dyn_relocs **rel_head;
#ifdef DEBUG
fprintf (stderr,
@@ -3986,7 +3985,7 @@
relocations we need for this symbol. */
if (h != NULL)
{
- head = &ppc_elf_hash_entry (h)->dyn_relocs;
+ rel_head = &ppc_elf_hash_entry (h)->dyn_relocs;
}
else
{
@@ -4007,17 +4006,17 @@
s = sec;
vpp = &elf_section_data (s)->local_dynrel;
- head = (struct ppc_elf_dyn_relocs **) vpp;
+ rel_head = (struct ppc_elf_dyn_relocs **) vpp;
}
- p = *head;
+ p = *rel_head;
if (p == NULL || p->sec != sec)
{
p = bfd_alloc (htab->elf.dynobj, sizeof *p);
if (p == NULL)
return FALSE;
- p->next = *head;
- *head = p;
+ p->next = *rel_head;
+ *rel_head = p;
p->sec = sec;
p->count = 0;
p->pc_count = 0;
@@ -4486,7 +4485,7 @@
struct plt_entry *ent;
ent = find_plt_ent (&h->plt.plist, NULL, 0);
- if (ent->plt.refcount > 0)
+ if (ent != NULL && ent->plt.refcount > 0)
ent->plt.refcount -= 1;
}
}
@@ -4534,7 +4533,7 @@
if (r_type == R_PPC_PLTREL24 && info->shared)
addend = rel->r_addend;
ent = find_plt_ent (&h->plt.plist, got2, addend);
- if (ent->plt.refcount > 0)
+ if (ent != NULL && ent->plt.refcount > 0)
ent->plt.refcount -= 1;
}
break;
@@ -4582,9 +4581,10 @@
&& tga->root.type == bfd_link_hash_undefweak)))
{
struct plt_entry *ent;
- ent = find_plt_ent (&tga->plt.plist, NULL, 0);
- if (ent != NULL
- && ent->plt.refcount > 0)
+ for (ent = tga->plt.plist; ent != NULL; ent = ent->next)
+ if (ent->plt.refcount > 0)
+ break;
+ if (ent != NULL)
{
tga->root.type = bfd_link_hash_indirect;
tga->root.u.i.link = &opt->root;
@@ -4669,6 +4669,7 @@
{
Elf_Internal_Sym *locsyms = NULL;
Elf_Internal_Shdr *symtab_hdr = &elf_symtab_hdr (ibfd);
+ asection *got2 = bfd_get_section_by_name (ibfd, ".got2");
for (sec = ibfd->sections; sec != NULL; sec = sec->next)
if (sec->has_tls_reloc && !bfd_is_abs_section (sec->output_section))
@@ -4762,6 +4763,13 @@
else
continue;
+ case R_PPC_TLSGD:
+ case R_PPC_TLSLD:
+ expecting_tls_get_addr = 2;
+ tls_set = 0;
+ tls_clear = 0;
+ break;
+
default:
continue;
}
@@ -4769,7 +4777,8 @@
if (pass == 0)
{
if (!expecting_tls_get_addr
- || !sec->has_tls_get_addr_call)
+ || (expecting_tls_get_addr == 1
+ && !sec->has_tls_get_addr_call))
continue;
if (rel + 1 < relend
@@ -4785,6 +4794,23 @@
break;
}
+ if (expecting_tls_get_addr)
+ {
+ struct plt_entry *ent;
+ bfd_vma addend = 0;
+
+ if (info->shared
+ && ELF32_R_TYPE (rel[1].r_info) == R_PPC_PLTREL24)
+ addend = rel[1].r_addend;
+ ent = find_plt_ent (&htab->tls_get_addr->plt.plist,
+ got2, addend);
+ if (ent != NULL && ent->plt.refcount > 0)
+ ent->plt.refcount -= 1;
+
+ if (expecting_tls_get_addr == 2)
+ continue;
+ }
+
if (h != NULL)
{
tls_mask = &ppc_elf_hash_entry (h)->tls_mask;
@@ -4829,16 +4855,6 @@
*got_count -= 1;
}
- if (expecting_tls_get_addr)
- {
- struct plt_entry *ent;
-
- ent = find_plt_ent (&htab->tls_get_addr->plt.plist,
- NULL, 0);
- if (ent != NULL && ent->plt.refcount > 0)
- ent->plt.refcount -= 1;
- }
-
*tls_mask |= tls_set;
*tls_mask &= ~tls_clear;
}
@@ -5619,6 +5635,7 @@
local_plt = (struct plt_entry **) end_local_got;
end_local_plt = local_plt + locsymcount;
lgot_masks = (char *) end_local_plt;
+
for (; local_got < end_local_got; ++local_got, ++lgot_masks)
if (*local_got > 0)
{
@@ -5662,7 +5679,7 @@
for (ent = *local_plt; ent != NULL; ent = ent->next)
if (ent->plt.refcount > 0)
{
- asection *s = htab->iplt;
+ s = htab->iplt;
if (!doneone)
{
@@ -6018,7 +6035,7 @@
for (irel = internal_relocs; irel < irelend; irel++)
{
unsigned long r_type = ELF32_R_TYPE (irel->r_info);
- bfd_vma reladdr, toff, roff;
+ bfd_vma toff, roff;
asection *tsec;
struct one_fixup *f;
size_t insn_offset = 0;
@@ -6202,7 +6219,6 @@
continue;
roff = irel->r_offset;
- reladdr = isec->output_section->vma + isec->output_offset + roff;
/* If the branch is in range, no need to do anything. */
if (tsec != bfd_und_section_ptr
@@ -6239,28 +6255,28 @@
{
size = 4 * ARRAY_SIZE (shared_stub_entry);
insn_offset = 12;
- stub_rtype = R_PPC_RELAX32PC;
}
else
{
size = 4 * ARRAY_SIZE (stub_entry);
insn_offset = 0;
- stub_rtype = R_PPC_RELAX32;
}
-
- if (R_PPC_RELAX32_PLT - R_PPC_RELAX32
- != R_PPC_RELAX32PC_PLT - R_PPC_RELAX32PC)
- abort ();
+ stub_rtype = R_PPC_RELAX;
if (tsec == htab->plt
|| tsec == htab->glink)
- stub_rtype += R_PPC_RELAX32_PLT - R_PPC_RELAX32;
+ {
+ stub_rtype = R_PPC_RELAX_PLT;
+ if (r_type == R_PPC_PLTREL24)
+ stub_rtype = R_PPC_RELAX_PLTREL24;
+ }
/* Hijack the old relocation. Since we need two
relocations for this use a "composite" reloc. */
irel->r_info = ELF32_R_INFO (ELF32_R_SYM (irel->r_info),
stub_rtype);
irel->r_offset = trampoff + insn_offset;
- if (r_type == R_PPC_PLTREL24)
+ if (r_type == R_PPC_PLTREL24
+ && stub_rtype != R_PPC_RELAX_PLTREL24)
irel->r_addend = 0;
/* Record the fixup so we don't do it again this section. */
@@ -6430,7 +6446,7 @@
{
/* Convert the internal relax relocs to external form. */
for (irel = internal_relocs; irel < irelend; irel++)
- if (ELF32_R_TYPE (irel->r_info) == R_PPC_RELAX32)
+ if (ELF32_R_TYPE (irel->r_info) == R_PPC_RELAX)
{
unsigned long r_symndx = ELF32_R_SYM (irel->r_info);
@@ -6613,6 +6629,91 @@
&& h->root.u.def.section->output_section != NULL);
}
+/* If INSN is an opcode that may be used with an @tls operand, return
+ the transformed insn for TLS optimisation, otherwise return 0. If
+ REG is non-zero only match an insn with RB or RA equal to REG. */
+
+unsigned int
+_bfd_elf_ppc_at_tls_transform (unsigned int insn, unsigned int reg)
+{
+ unsigned int rtra;
+
+ if ((insn & (0x3f << 26)) != 31 << 26)
+ return 0;
+
+ if (reg == 0 || ((insn >> 11) & 0x1f) == reg)
+ rtra = insn & ((1 << 26) - (1 << 16));
+ else if (((insn >> 16) & 0x1f) == reg)
+ rtra = (insn & (0x1f << 21)) | ((insn & (0x1f << 11)) << 5);
+ else
+ return 0;
+
+ if ((insn & (0x3ff << 1)) == 266 << 1)
+ /* add -> addi. */
+ insn = 14 << 26;
+ else if ((insn & (0x1f << 1)) == 23 << 1
+ && ((insn & (0x1f << 6)) < 14 << 6
+ || ((insn & (0x1f << 6)) >= 16 << 6
+ && (insn & (0x1f << 6)) < 24 << 6)))
+ /* load and store indexed -> dform. */
+ insn = (32 | ((insn >> 6) & 0x1f)) << 26;
+ else if ((insn & (((0x1a << 5) | 0x1f) << 1)) == 21 << 1)
+ /* ldx, ldux, stdx, stdux -> ld, ldu, std, stdu. */
+ insn = ((58 | ((insn >> 6) & 4)) << 26) | ((insn >> 6) & 1);
+ else if ((insn & (((0x1f << 5) | 0x1f) << 1)) == 341 << 1)
+ /* lwax -> lwa. */
+ insn = (58 << 26) | 2;
+ else
+ return 0;
+ insn |= rtra;
+ return insn;
+}
+
+/* If INSN is an opcode that may be used with an @tprel operand, return
+ the transformed insn for an undefined weak symbol, ie. with the
+ thread pointer REG operand removed. Otherwise return 0. */
+
+unsigned int
+_bfd_elf_ppc_at_tprel_transform (unsigned int insn, unsigned int reg)
+{
+ if ((insn & (0x1f << 16)) == reg << 16
+ && ((insn & (0x3f << 26)) == 14u << 26 /* addi */
+ || (insn & (0x3f << 26)) == 15u << 26 /* addis */
+ || (insn & (0x3f << 26)) == 32u << 26 /* lwz */
+ || (insn & (0x3f << 26)) == 34u << 26 /* lbz */
+ || (insn & (0x3f << 26)) == 36u << 26 /* stw */
+ || (insn & (0x3f << 26)) == 38u << 26 /* stb */
+ || (insn & (0x3f << 26)) == 40u << 26 /* lhz */
+ || (insn & (0x3f << 26)) == 42u << 26 /* lha */
+ || (insn & (0x3f << 26)) == 44u << 26 /* sth */
+ || (insn & (0x3f << 26)) == 46u << 26 /* lmw */
+ || (insn & (0x3f << 26)) == 47u << 26 /* stmw */
+ || (insn & (0x3f << 26)) == 48u << 26 /* lfs */
+ || (insn & (0x3f << 26)) == 50u << 26 /* lfd */
+ || (insn & (0x3f << 26)) == 52u << 26 /* stfs */
+ || (insn & (0x3f << 26)) == 54u << 26 /* stfd */
+ || ((insn & (0x3f << 26)) == 58u << 26 /* lwa,ld,lmd */
+ && (insn & 3) != 1)
+ || ((insn & (0x3f << 26)) == 62u << 26 /* std, stmd */
+ && ((insn & 3) == 0 || (insn & 3) == 3))))
+ {
+ insn &= ~(0x1f << 16);
+ }
+ else if ((insn & (0x1f << 21)) == reg << 21
+ && ((insn & (0x3e << 26)) == 24u << 26 /* ori, oris */
+ || (insn & (0x3e << 26)) == 26u << 26 /* xori,xoris */
+ || (insn & (0x3e << 26)) == 28u << 26 /* andi,andis */))
+ {
+ insn &= ~(0x1f << 21);
+ insn |= (insn & (0x1f << 16)) << 5;
+ if ((insn & (0x3e << 26)) == 26 << 26 /* xori,xoris */)
+ insn -= 2 >> 26; /* convert to ori,oris */
+ }
+ else
+ insn = 0;
+ return insn;
+}
+
/* The RELOCATE_SECTION function is called by the ELF backend linker
to handle the relocations for a section.
@@ -6658,7 +6759,6 @@
Elf_Internal_Rela *rel;
Elf_Internal_Rela *relend;
Elf_Internal_Rela outrel;
- bfd_byte *loc;
asection *got2, *sreloc = NULL;
bfd_vma *local_got_offsets;
bfd_boolean ret = TRUE;
@@ -6702,7 +6802,7 @@
reloc_howto_type *howto;
unsigned long r_symndx;
bfd_vma relocation;
- bfd_vma branch_bit, insn, from;
+ bfd_vma branch_bit, from;
bfd_boolean unresolved_reloc;
bfd_boolean warned;
unsigned int tls_type, tls_mask, tls_gd;
@@ -6800,6 +6900,7 @@
&& (tls_mask & TLS_TPREL) == 0)
{
bfd_vma insn;
+
insn = bfd_get_32 (output_bfd, contents + rel->r_offset - d_offset);
insn &= 31 << 21;
insn |= 0x3c020000; /* addis 0,2,0 */
@@ -6813,37 +6914,12 @@
if ((tls_mask & TLS_TLS) != 0
&& (tls_mask & TLS_TPREL) == 0)
{
- bfd_vma insn, rtra;
+ bfd_vma insn;
+
insn = bfd_get_32 (output_bfd, contents + rel->r_offset);
- if ((insn & ((31 << 26) | (31 << 11)))
- == ((31 << 26) | (2 << 11)))
- rtra = insn & ((1 << 26) - (1 << 16));
- else if ((insn & ((31 << 26) | (31 << 16)))
- == ((31 << 26) | (2 << 16)))
- rtra = (insn & (31 << 21)) | ((insn & (31 << 11)) << 5);
- else
+ insn = _bfd_elf_ppc_at_tls_transform (insn, 2);
+ if (insn == 0)
abort ();
- if ((insn & ((1 << 11) - (1 << 1))) == 266 << 1)
- /* add -> addi. */
- insn = 14 << 26;
- else if ((insn & (31 << 1)) == 23 << 1
- && ((insn & (31 << 6)) < 14 << 6
- || ((insn & (31 << 6)) >= 16 << 6
- && (insn & (31 << 6)) < 24 << 6)))
- /* load and store indexed -> dform. */
- insn = (32 | ((insn >> 6) & 31)) << 26;
- else if ((insn & (31 << 1)) == 21 << 1
- && (insn & (0x1a << 6)) == 0)
- /* ldx, ldux, stdx, stdux -> ld, ldu, std, stdu. */
- insn = (((58 | ((insn >> 6) & 4)) << 26)
- | ((insn >> 6) & 1));
- else if ((insn & (31 << 1)) == 21 << 1
- && (insn & ((1 << 11) - (1 << 1))) == 341 << 1)
- /* lwax -> lwa. */
- insn = (58 << 26) | 2;
- else
- abort ();
- insn |= rtra;
bfd_put_32 (output_bfd, insn, contents + rel->r_offset);
r_type = R_PPC_TPREL16_LO;
rel->r_info = ELF32_R_INFO (r_symndx, r_type);
@@ -6914,9 +6990,7 @@
insn1 |= 32 << 26; /* lwz */
if (offset != (bfd_vma) -1)
{
- rel[1].r_info
- = ELF32_R_INFO (ELF32_R_SYM (rel[1].r_info),
- R_PPC_NONE);
+ rel[1].r_info = ELF32_R_INFO (STN_UNDEF, R_PPC_NONE);
insn2 = 0x7c631214; /* add 3,3,2 */
bfd_put_32 (output_bfd, insn2, contents + offset);
}
@@ -6990,8 +7064,7 @@
bfd_put_32 (output_bfd, insn2, contents + offset);
/* Zap the reloc on the _tls_get_addr call too. */
BFD_ASSERT (offset == rel[1].r_offset);
- rel[1].r_info = ELF32_R_INFO (ELF32_R_SYM (rel[1].r_info),
- R_PPC_NONE);
+ rel[1].r_info = ELF32_R_INFO (STN_UNDEF, R_PPC_NONE);
}
break;
@@ -7020,8 +7093,7 @@
contents + rel->r_offset - d_offset);
/* Zap the reloc on the _tls_get_addr call too. */
BFD_ASSERT (rel->r_offset - d_offset == rel[1].r_offset);
- rel[1].r_info = ELF32_R_INFO (ELF32_R_SYM (rel[1].r_info),
- R_PPC_NONE);
+ rel[1].r_info = ELF32_R_INFO (STN_UNDEF, R_PPC_NONE);
rel--;
continue;
}
@@ -7044,20 +7116,24 @@
/* Branch not taken prediction relocations. */
case R_PPC_ADDR14_BRNTAKEN:
case R_PPC_REL14_BRNTAKEN:
- insn = bfd_get_32 (output_bfd, contents + rel->r_offset);
- insn &= ~BRANCH_PREDICT_BIT;
- insn |= branch_bit;
+ {
+ bfd_vma insn;
- from = (rel->r_offset
- + input_section->output_offset
- + input_section->output_section->vma);
+ insn = bfd_get_32 (output_bfd, contents + rel->r_offset);
+ insn &= ~BRANCH_PREDICT_BIT;
+ insn |= branch_bit;
- /* Invert 'y' bit if not the default. */
- if ((bfd_signed_vma) (relocation + rel->r_addend - from) < 0)
- insn ^= BRANCH_PREDICT_BIT;
+ from = (rel->r_offset
+ + input_section->output_offset
+ + input_section->output_section->vma);
- bfd_put_32 (output_bfd, insn, contents + rel->r_offset);
- break;
+ /* Invert 'y' bit if not the default. */
+ if ((bfd_signed_vma) (relocation + rel->r_addend - from) < 0)
+ insn ^= BRANCH_PREDICT_BIT;
+
+ bfd_put_32 (output_bfd, insn, contents + rel->r_offset);
+ break;
+ }
}
ifunc = NULL;
@@ -7288,6 +7364,7 @@
|| h->root.type != bfd_link_hash_undefweak))
{
asection *rsec = htab->relgot;
+ bfd_byte * loc;
outrel.r_offset = (htab->got->output_section->vma
+ htab->got->output_offset
@@ -7439,6 +7516,21 @@
case R_PPC_TPREL16_LO:
case R_PPC_TPREL16_HI:
case R_PPC_TPREL16_HA:
+ if (h != NULL
+ && h->root.type == bfd_link_hash_undefweak
+ && h->dynindx == -1)
+ {
+ /* Make this relocation against an undefined weak symbol
+ resolve to zero. This is really just a tweak, since
+ code using weak externs ought to check that they are
+ defined before using them. */
+ bfd_byte *p = contents + rel->r_offset - d_offset;
+ unsigned int insn = bfd_get_32 (output_bfd, p);
+ insn = _bfd_elf_ppc_at_tprel_transform (insn, 2);
+ if (insn != 0)
+ bfd_put_32 (output_bfd, insn, p);
+ break;
+ }
addend -= htab->elf.tls_sec->vma + TP_OFFSET;
/* The TPREL16 relocs shouldn't really be used in shared
libs as they will result in DT_TEXTREL being set, but
@@ -7519,7 +7611,7 @@
&& !h->def_regular))
{
int skip;
-
+ bfd_byte * loc;
#ifdef DEBUG
fprintf (stderr, "ppc_elf_relocate_section needs to "
"create relocation for %s\n",
@@ -7653,12 +7745,20 @@
}
break;
- case R_PPC_RELAX32PC_PLT:
- case R_PPC_RELAX32_PLT:
+ case R_PPC_RELAX_PLT:
+ case R_PPC_RELAX_PLTREL24:
if (h != NULL)
{
- struct plt_entry *ent = find_plt_ent (&h->plt.plist, got2,
- info->shared ? addend : 0);
+ struct plt_entry *ent;
+ bfd_vma got2_addend = 0;
+
+ if (r_type == R_PPC_RELAX_PLTREL24)
+ {
+ if (info->shared)
+ got2_addend = addend;
+ addend = 0;
+ }
+ ent = find_plt_ent (&h->plt.plist, got2, got2_addend);
if (htab->plt_type == PLT_NEW)
relocation = (htab->glink->output_section->vma
+ htab->glink->output_offset
@@ -7668,18 +7768,14 @@
+ htab->plt->output_offset
+ ent->plt.offset);
}
- if (r_type == R_PPC_RELAX32_PLT)
- goto relax32;
/* Fall thru */
- case R_PPC_RELAX32PC:
- relocation -= (input_section->output_section->vma
- + input_section->output_offset
- + rel->r_offset - 4);
- /* Fall thru */
+ case R_PPC_RELAX:
+ if (info->shared)
+ relocation -= (input_section->output_section->vma
+ + input_section->output_offset
+ + rel->r_offset - 4);
- case R_PPC_RELAX32:
- relax32:
{
unsigned long t0;
unsigned long t1;
@@ -7909,7 +8005,9 @@
}
if (r_type == R_PPC_EMB_SDA21)
- { /* fill in register field */
+ {
+ bfd_vma insn; /* Fill in register field. */
+
insn = bfd_get_32 (output_bfd, contents + rel->r_offset);
insn = (insn & ~RA_REGISTER_MASK) | (reg << RA_REGISTER_SHIFT);
bfd_put_32 (output_bfd, insn, contents + rel->r_offset);
diff --git a/binutils/bfd/elf32-spu.c b/binutils/bfd/elf32-spu.c
index 890f260..250beef 100644
--- a/binutils/bfd/elf32-spu.c
+++ b/binutils/bfd/elf32-spu.c
@@ -331,16 +331,7 @@
/* How much memory we have. */
unsigned int local_store;
- /* Local store --auto-overlay should reserve for non-overlay
- functions and data. */
- unsigned int overlay_fixed;
- /* Local store --auto-overlay should reserve for stack and heap. */
- unsigned int reserved;
- /* If reserved is not specified, stack analysis will calculate a value
- for the stack. This parameter adjusts that value to allow for
- negative sp access (the ABI says 2000 bytes below sp are valid,
- and the overlay manager uses some of this area). */
- int extra_stack_space;
+
/* Count of overlay stubs needed in non-overlay area. */
unsigned int non_ovly_stub;
@@ -2692,19 +2683,12 @@
Elf_Internal_Sym *sym;
struct elf_link_hash_entry *h;
bfd_vma val;
- bfd_boolean reject, is_call;
+ bfd_boolean nonbranch, is_call;
struct function_info *caller;
struct call_info *callee;
- reject = FALSE;
r_type = ELF32_R_TYPE (irela->r_info);
- if (r_type != R_SPU_REL16
- && r_type != R_SPU_ADDR16)
- {
- reject = TRUE;
- if (!(call_tree && spu_hash_table (info)->params->auto_overlay))
- continue;
- }
+ nonbranch = r_type != R_SPU_REL16 && r_type != R_SPU_ADDR16;
r_indx = ELF32_R_SYM (irela->r_info);
if (!get_sym_h (&h, &sym, &sym_sec, psyms, r_indx, sec->owner))
@@ -2715,7 +2699,7 @@
continue;
is_call = FALSE;
- if (!reject)
+ if (!nonbranch)
{
unsigned char insn[4];
@@ -2746,14 +2730,13 @@
}
else
{
- reject = TRUE;
- if (!(call_tree && spu_hash_table (info)->params->auto_overlay)
- || is_hint (insn))
+ nonbranch = TRUE;
+ if (is_hint (insn))
continue;
}
}
- if (reject)
+ if (nonbranch)
{
/* For --auto-overlay, count possible stubs we need for
function pointer references. */
@@ -2763,8 +2746,20 @@
else
sym_type = ELF_ST_TYPE (sym->st_info);
if (sym_type == STT_FUNC)
- spu_hash_table (info)->non_ovly_stub += 1;
- continue;
+ {
+ if (call_tree && spu_hash_table (info)->params->auto_overlay)
+ spu_hash_table (info)->non_ovly_stub += 1;
+ /* If the symbol type is STT_FUNC then this must be a
+ function pointer initialisation. */
+ continue;
+ }
+ /* Ignore data references. */
+ if ((sym_sec->flags & (SEC_ALLOC | SEC_LOAD | SEC_CODE))
+ != (SEC_ALLOC | SEC_LOAD | SEC_CODE))
+ continue;
+ /* Otherwise we probably have a jump table reloc for
+ a switch statement or some other reference to a
+ code label. */
}
if (h)
@@ -2813,7 +2808,7 @@
callee->is_pasted = FALSE;
callee->broken_cycle = FALSE;
callee->priority = priority;
- callee->count = 1;
+ callee->count = nonbranch? 0 : 1;
if (callee->fun->last_caller != sec)
{
callee->fun->last_caller = sec;
@@ -4159,6 +4154,7 @@
bfd **bfd_arr;
struct elf_segment_map *m;
unsigned int fixed_size, lo, hi;
+ unsigned int reserved;
struct spu_link_hash_table *htab;
unsigned int base, i, count, bfd_count;
unsigned int region, ovlynum;
@@ -4194,7 +4190,8 @@
goto err_exit;
htab = spu_hash_table (info);
- if (htab->reserved == 0)
+ reserved = htab->params->auto_overlay_reserved;
+ if (reserved == 0)
{
struct _sum_stack_param sum_stack_param;
@@ -4202,11 +4199,12 @@
sum_stack_param.overall_stack = 0;
if (!for_each_node (sum_stack, info, &sum_stack_param, TRUE))
goto err_exit;
- htab->reserved = sum_stack_param.overall_stack + htab->extra_stack_space;
+ reserved = (sum_stack_param.overall_stack
+ + htab->params->extra_stack_space);
}
/* No need for overlays if everything already fits. */
- if (fixed_size + htab->reserved <= htab->local_store
+ if (fixed_size + reserved <= htab->local_store
&& htab->params->ovly_flavour != ovly_soft_icache)
{
htab->params->auto_overlay = 0;
@@ -4319,7 +4317,7 @@
}
free (bfd_arr);
- fixed_size += htab->reserved;
+ fixed_size += reserved;
fixed_size += htab->non_ovly_stub * ovl_stub_size (htab->params);
if (fixed_size + mos_param.max_overlay_size <= htab->local_store)
{
@@ -4358,13 +4356,13 @@
(bfd_vma) mos_param.max_overlay_size);
/* Now see if we should put some functions in the non-overlay area. */
- else if (fixed_size < htab->overlay_fixed)
+ else if (fixed_size < htab->params->auto_overlay_fixed)
{
unsigned int max_fixed, lib_size;
max_fixed = htab->local_store - mos_param.max_overlay_size;
- if (max_fixed > htab->overlay_fixed)
- max_fixed = htab->overlay_fixed;
+ if (max_fixed > htab->params->auto_overlay_fixed)
+ max_fixed = htab->params->auto_overlay_fixed;
lib_size = max_fixed - fixed_size;
lib_size = auto_ovl_lib_functions (info, lib_size);
if (lib_size == (unsigned int) -1)
diff --git a/binutils/bfd/elf64-ppc.c b/binutils/bfd/elf64-ppc.c
index 35757b8..dd28092 100644
--- a/binutils/bfd/elf64-ppc.c
+++ b/binutils/bfd/elf64-ppc.c
@@ -1,9 +1,9 @@
/* PowerPC64-specific support for 64-bit ELF.
Copyright 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008,
- 2009 Free Software Foundation, Inc.
+ 2009, 2010 Free Software Foundation, Inc.
Written by Linus Nordberg, Swox AB <info@swox.com>,
based on elf32-ppc.c by Ian Lance Taylor.
- Largely rewritten by Alan Modra <amodra@bigpond.net.au>
+ Largely rewritten by Alan Modra.
This file is part of BFD, the Binary File Descriptor library.
@@ -3732,6 +3732,8 @@
/* Temp used when calculating TOC pointers. */
bfd_vma toc_curr;
+ bfd *toc_bfd;
+ asection *toc_first_sec;
/* Highest input section id. */
int top_id;
@@ -5401,8 +5403,6 @@
/* No relocs implies we are linking a --just-symbols object. */
if (opd_sec->reloc_count == 0)
{
- bfd_vma val;
-
if (!bfd_get_section_contents (opd_bfd, opd_sec, &val, offset, 8))
return (bfd_vma) -1;
@@ -5866,9 +5866,7 @@
for (ent = h->plt.plist; ent != NULL; ent = ent->next)
if (ent->addend == rel->r_addend)
break;
- if (ent == NULL)
- abort ();
- if (ent->plt.refcount > 0)
+ if (ent != NULL && ent->plt.refcount > 0)
ent->plt.refcount -= 1;
}
break;
@@ -7413,10 +7411,13 @@
if (h != NULL)
{
- if (h->root.type != bfd_link_hash_defined
- && h->root.type != bfd_link_hash_defweak)
+ if (h->root.type == bfd_link_hash_defined
+ || h->root.type == bfd_link_hash_defweak)
+ value = h->root.u.def.value;
+ else if (h->root.type == bfd_link_hash_undefweak)
+ value = 0;
+ else
continue;
- value = h->root.u.def.value;
}
else
/* Symbols referenced by TLS relocs must be of type
@@ -7429,11 +7430,17 @@
|| !h->def_dynamic)
{
is_local = TRUE;
- value += sym_sec->output_offset;
- value += sym_sec->output_section->vma;
- value -= htab->elf.tls_sec->vma;
- ok_tprel = (value + TP_OFFSET + ((bfd_vma) 1 << 31)
- < (bfd_vma) 1 << 32);
+ if (h != NULL
+ && h->root.type == bfd_link_hash_undefweak)
+ ok_tprel = TRUE;
+ else
+ {
+ value += sym_sec->output_offset;
+ value += sym_sec->output_section->vma;
+ value -= htab->elf.tls_sec->vma;
+ ok_tprel = (value + TP_OFFSET + ((bfd_vma) 1 << 31)
+ < (bfd_vma) 1 << 32);
+ }
}
r_type = ELF64_R_TYPE (rel->r_info);
@@ -8575,8 +8582,7 @@
for (ent = *local_plt; ent != NULL; ent = ent->next)
if (ent->plt.refcount > 0)
{
- asection *s = htab->iplt;
-
+ s = htab->iplt;
ent->plt.offset = s->size;
s->size += PLT_ENTRY_SIZE;
@@ -9608,6 +9614,8 @@
htab->stub_group[id].toc_off = TOC_BASE_OFF;
elf_gp (output_bfd) = htab->toc_curr = ppc64_elf_toc (output_bfd);
+ htab->toc_bfd = NULL;
+ htab->toc_first_sec = NULL;
/* We can't use output_bfd->section_count here to find the top output
section index as some sections may have been removed, and
@@ -9642,11 +9650,21 @@
if (!htab->no_multi_toc)
{
- bfd_vma addr = isec->output_offset + isec->output_section->vma;
- bfd_vma off = addr - htab->toc_curr;
+ bfd_vma addr, off;
+ if (htab->toc_bfd != isec->owner)
+ {
+ htab->toc_bfd = isec->owner;
+ htab->toc_first_sec = isec;
+ }
+ addr = isec->output_offset + isec->output_section->vma;
+ off = addr - htab->toc_curr;
if (off + isec->size > 0x10000)
- htab->toc_curr = addr;
+ {
+ addr = (htab->toc_first_sec->output_offset
+ + htab->toc_first_sec->output_section->vma);
+ htab->toc_curr = addr;
+ }
elf_gp (isec->owner) = (htab->toc_curr
- elf_gp (isec->output_section->owner)
@@ -11018,37 +11036,10 @@
if (tls_mask != 0
&& (tls_mask & TLS_TPREL) == 0)
{
- bfd_vma rtra;
insn = bfd_get_32 (output_bfd, contents + rel->r_offset);
- if ((insn & ((0x3f << 26) | (31 << 11)))
- == ((31 << 26) | (13 << 11)))
- rtra = insn & ((1 << 26) - (1 << 16));
- else if ((insn & ((0x3f << 26) | (31 << 16)))
- == ((31 << 26) | (13 << 16)))
- rtra = (insn & (31 << 21)) | ((insn & (31 << 11)) << 5);
- else
+ insn = _bfd_elf_ppc_at_tls_transform (insn, 13);
+ if (insn == 0)
abort ();
- if ((insn & ((1 << 11) - (1 << 1))) == 266 << 1)
- /* add -> addi. */
- insn = 14 << 26;
- else if ((insn & (31 << 1)) == 23 << 1
- && ((insn & (31 << 6)) < 14 << 6
- || ((insn & (31 << 6)) >= 16 << 6
- && (insn & (31 << 6)) < 24 << 6)))
- /* load and store indexed -> dform. */
- insn = (32 | ((insn >> 6) & 31)) << 26;
- else if ((insn & (31 << 1)) == 21 << 1
- && (insn & (0x1a << 6)) == 0)
- /* ldx, ldux, stdx, stdux -> ld, ldu, std, stdu. */
- insn = (((58 | ((insn >> 6) & 4)) << 26)
- | ((insn >> 6) & 1));
- else if ((insn & (31 << 1)) == 21 << 1
- && (insn & ((1 << 11) - (1 << 1))) == 341 << 1)
- /* lwax -> lwa. */
- insn = (58 << 26) | 2;
- else
- abort ();
- insn |= rtra;
bfd_put_32 (output_bfd, insn, contents + rel->r_offset);
/* Was PPC64_TLS which sits on insn boundary, now
PPC64_TPREL16_LO which is at low-order half-word. */
@@ -11129,8 +11120,7 @@
insn1 |= 58 << 26; /* ld */
insn2 = 0x7c636a14; /* add 3,3,13 */
if (offset != (bfd_vma) -1)
- rel[1].r_info = ELF64_R_INFO (ELF64_R_SYM (rel[1].r_info),
- R_PPC64_NONE);
+ rel[1].r_info = ELF64_R_INFO (STN_UNDEF, R_PPC64_NONE);
if ((tls_mask & TLS_EXPLICIT) == 0)
r_type = (((r_type - (R_PPC64_GOT_TLSGD16 & 3)) & 3)
+ R_PPC64_GOT_TPREL16_DS);
@@ -11229,8 +11219,7 @@
rel->r_info = ELF64_R_INFO (r_symndx, r_type);
/* Zap the reloc on the _tls_get_addr call too. */
BFD_ASSERT (offset == rel[1].r_offset);
- rel[1].r_info = ELF64_R_INFO (ELF64_R_SYM (rel[1].r_info),
- R_PPC64_NONE);
+ rel[1].r_info = ELF64_R_INFO (STN_UNDEF, R_PPC64_NONE);
insn3 = bfd_get_32 (output_bfd,
contents + offset + 4);
if (insn3 == NOP
@@ -11275,8 +11264,7 @@
rel->r_offset = offset + d_offset;
/* Zap the reloc on the _tls_get_addr call too. */
BFD_ASSERT (offset == rel[1].r_offset);
- rel[1].r_info = ELF64_R_INFO (ELF64_R_SYM (rel[1].r_info),
- R_PPC64_NONE);
+ rel[1].r_info = ELF64_R_INFO (STN_UNDEF, R_PPC64_NONE);
insn2 = 0x38630000; /* addi 3,3,0 */
insn3 = bfd_get_32 (output_bfd,
contents + offset + 4);
@@ -11533,6 +11521,7 @@
checking whether the function is defined. */
else if (h != NULL
&& h->elf.root.type == bfd_link_hash_undefweak
+ && h->elf.dynindx == -1
&& r_type == R_PPC64_REL24
&& relocation == 0
&& addend == 0)
@@ -11770,10 +11759,8 @@
if (off >= (bfd_vma) -2)
abort ();
- relocation = got->output_offset + off;
-
- /* TOC base (r2) is TOC start plus 0x8000. */
- addend = -TOC_BASE_OFF;
+ relocation = got->output_section->vma + got->output_offset + off;
+ addend = -(TOCstart + htab->stub_group[input_section->id].toc_off);
}
break;
@@ -11868,6 +11855,22 @@
case R_PPC64_TPREL16_HIGHERA:
case R_PPC64_TPREL16_HIGHEST:
case R_PPC64_TPREL16_HIGHESTA:
+ if (h != NULL
+ && h->elf.root.type == bfd_link_hash_undefweak
+ && h->elf.dynindx == -1)
+ {
+ /* Make this relocation against an undefined weak symbol
+ resolve to zero. This is really just a tweak, since
+ code using weak externs ought to check that they are
+ defined before using them. */
+ bfd_byte *p = contents + rel->r_offset - d_offset;
+
+ insn = bfd_get_32 (output_bfd, p);
+ insn = _bfd_elf_ppc_at_tprel_transform (insn, 13);
+ if (insn != 0)
+ bfd_put_32 (output_bfd, insn, p);
+ break;
+ }
addend -= htab->elf.tls_sec->vma + TP_OFFSET;
if (info->shared)
/* The TPREL16 relocs shouldn't really be used in shared
@@ -11950,10 +11953,8 @@
? h->elf.type == STT_GNU_IFUNC
: ELF_ST_TYPE (sym->st_info) == STT_GNU_IFUNC)))
{
- Elf_Internal_Rela outrel;
bfd_boolean skip, relocate;
asection *sreloc;
- bfd_byte *loc;
bfd_vma out_off;
/* When generating a dynamic object, these relocations
@@ -12414,9 +12415,6 @@
if (h->needs_copy)
{
- Elf_Internal_Rela rela;
- bfd_byte *loc;
-
/* This symbol needs a copy reloc. Set it up. */
if (h->dynindx == -1
diff --git a/binutils/bfd/opncls.c b/binutils/bfd/opncls.c
index 3337efe..4afde88 100644
--- a/binutils/bfd/opncls.c
+++ b/binutils/bfd/opncls.c
@@ -635,7 +635,7 @@
/* If the file was open for writing and is now executable,
make it so. */
if (abfd->direction == write_direction
- && abfd->flags & EXEC_P)
+ && (abfd->flags & (EXEC_P | DYNAMIC)) != 0)
{
struct stat buf;
diff --git a/binutils/bfd/po/bfd.pot b/binutils/bfd/po/bfd.pot
index 5f00211..a453192 100644
--- a/binutils/bfd/po/bfd.pot
+++ b/binutils/bfd/po/bfd.pot
@@ -8,7 +8,7 @@
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: bug-binutils@gnu.org\n"
-"POT-Creation-Date: 2009-09-07 14:05+0200\n"
+"POT-Creation-Date: 2010-03-03 15:03+0100\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"
@@ -48,128 +48,128 @@
msgid "*unknown*"
msgstr ""
-#: aoutx.h:3994 aoutx.h:4320
+#: aoutx.h:3997 aoutx.h:4323
msgid "%P: %B: unexpected relocation type\n"
msgstr ""
-#: aoutx.h:5354
+#: aoutx.h:5358
#, c-format
msgid "%s: relocatable link from %s to %s not supported"
msgstr ""
-#: archive.c:2056
+#: archive.c:2057
msgid "Warning: writing archive was slow: rewriting timestamp\n"
msgstr ""
-#: archive.c:2342
+#: archive.c:2344
msgid "Reading archive file mod timestamp"
msgstr ""
-#: archive.c:2366
+#: archive.c:2368
msgid "Writing updated armap timestamp"
msgstr ""
-#: bfd.c:375
+#: bfd.c:376
msgid "No error"
msgstr ""
-#: bfd.c:376
+#: bfd.c:377
msgid "System call error"
msgstr ""
-#: bfd.c:377
+#: bfd.c:378
msgid "Invalid bfd target"
msgstr ""
-#: bfd.c:378
+#: bfd.c:379
msgid "File in wrong format"
msgstr ""
-#: bfd.c:379
+#: bfd.c:380
msgid "Archive object file in wrong format"
msgstr ""
-#: bfd.c:380
+#: bfd.c:381
msgid "Invalid operation"
msgstr ""
-#: bfd.c:381
+#: bfd.c:382
msgid "Memory exhausted"
msgstr ""
-#: bfd.c:382
+#: bfd.c:383
msgid "No symbols"
msgstr ""
-#: bfd.c:383
+#: bfd.c:384
msgid "Archive has no index; run ranlib to add one"
msgstr ""
-#: bfd.c:384
+#: bfd.c:385
msgid "No more archived files"
msgstr ""
-#: bfd.c:385
+#: bfd.c:386
msgid "Malformed archive"
msgstr ""
-#: bfd.c:386
+#: bfd.c:387
msgid "File format not recognized"
msgstr ""
-#: bfd.c:387
+#: bfd.c:388
msgid "File format is ambiguous"
msgstr ""
-#: bfd.c:388
+#: bfd.c:389
msgid "Section has no contents"
msgstr ""
-#: bfd.c:389
+#: bfd.c:390
msgid "Nonrepresentable section on output"
msgstr ""
-#: bfd.c:390
+#: bfd.c:391
msgid "Symbol needs debug section which does not exist"
msgstr ""
-#: bfd.c:391
+#: bfd.c:392
msgid "Bad value"
msgstr ""
-#: bfd.c:392
+#: bfd.c:393
msgid "File truncated"
msgstr ""
-#: bfd.c:393
+#: bfd.c:394
msgid "File too big"
msgstr ""
-#: bfd.c:394
+#: bfd.c:395
#, c-format
msgid "Error reading %s: %s"
msgstr ""
-#: bfd.c:395
+#: bfd.c:396
msgid "#<Invalid error code>"
msgstr ""
-#: bfd.c:919
+#: bfd.c:920
#, c-format
msgid "BFD %s assertion fail %s:%d"
msgstr ""
-#: bfd.c:931
+#: bfd.c:932
#, c-format
msgid "BFD %s internal error, aborting at %s line %d in %s\n"
msgstr ""
-#: bfd.c:935
+#: bfd.c:936
#, c-format
msgid "BFD %s internal error, aborting at %s line %d\n"
msgstr ""
-#: bfd.c:937
+#: bfd.c:938
msgid "Please report this bug.\n"
msgstr ""
@@ -189,8 +189,8 @@
msgstr ""
#: bout.c:1150 elf-m10300.c:2078 elf32-avr.c:1639 elf32-frv.c:5743
-#: elf32-xtensa.c:6639 elfxx-sparc.c:2456 reloc.c:5386 reloc16.c:162
-#: vms.c:1918 elf32-ia64.c:788 elf64-ia64.c:788
+#: elfxx-sparc.c:2456 reloc.c:5386 reloc16.c:162 vms.c:1918 elf32-ia64.c:788
+#: elf64-ia64.c:788
msgid "%P%F: --relax and -r may not be used together\n"
msgstr ""
@@ -254,7 +254,7 @@
" consider relinking with --support-old-code enabled"
msgstr ""
-#: coff-arm.c:1755 coff-tic80.c:695 cofflink.c:3027
+#: coff-arm.c:1755 coff-tic80.c:695 cofflink.c:3030
msgid "%B: bad reloc address 0x%lx in section `%A'"
msgstr ""
@@ -267,14 +267,14 @@
msgid "error: %B is compiled for APCS-%d, whereas %B is compiled for APCS-%d"
msgstr ""
-#: coff-arm.c:2227 elf32-arm.c:10327
+#: coff-arm.c:2227 elf32-arm.c:10334
#, c-format
msgid ""
"error: %B passes floats in float registers, whereas %B passes them in "
"integer registers"
msgstr ""
-#: coff-arm.c:2230 elf32-arm.c:10331
+#: coff-arm.c:2230 elf32-arm.c:10338
#, c-format
msgid ""
"error: %B passes floats in integer registers, whereas %B passes them in "
@@ -295,12 +295,12 @@
"position independent"
msgstr ""
-#: coff-arm.c:2275 elf32-arm.c:10396
+#: coff-arm.c:2275 elf32-arm.c:10403
#, c-format
msgid "Warning: %B supports interworking, whereas %B does not"
msgstr ""
-#: coff-arm.c:2278 elf32-arm.c:10402
+#: coff-arm.c:2278 elf32-arm.c:10409
#, c-format
msgid "Warning: %B does not support interworking, whereas %B does"
msgstr ""
@@ -310,7 +310,7 @@
msgid "private flags = %x:"
msgstr ""
-#: coff-arm.c:2310 elf32-arm.c:10453
+#: coff-arm.c:2310 elf32-arm.c:10460
#, c-format
msgid " [floats passed in float registers]"
msgstr ""
@@ -320,7 +320,7 @@
msgid " [floats passed in integer registers]"
msgstr ""
-#: coff-arm.c:2315 elf32-arm.c:10456
+#: coff-arm.c:2315 elf32-arm.c:10463
#, c-format
msgid " [position independent]"
msgstr ""
@@ -345,14 +345,14 @@
msgid " [interworking not supported]"
msgstr ""
-#: coff-arm.c:2371 elf32-arm.c:9360
+#: coff-arm.c:2371 elf32-arm.c:9367
#, c-format
msgid ""
"Warning: Not setting interworking flag of %B since it has already been "
"specified as non-interworking"
msgstr ""
-#: coff-arm.c:2375 elf32-arm.c:9364
+#: coff-arm.c:2375 elf32-arm.c:9371
#, c-format
msgid "Warning: Clearing the interworking flag of %B due to outside request"
msgstr ""
@@ -375,7 +375,7 @@
msgid "uncertain calling convention for non-COFF symbol"
msgstr ""
-#: coff-m68k.c:506 elf32-bfin.c:5693 elf32-cr16.c:2965 elf32-m68k.c:4615
+#: coff-m68k.c:506 elf32-bfin.c:5691 elf32-cr16.c:2965 elf32-m68k.c:4615
msgid "unsupported reloc type"
msgstr ""
@@ -408,17 +408,17 @@
msgid "Unrecognized reloc"
msgstr ""
-#: coff-rs6000.c:2787
+#: coff-rs6000.c:2789
#, c-format
msgid "%s: unsupported relocation type 0x%02x"
msgstr ""
-#: coff-rs6000.c:2880
+#: coff-rs6000.c:2882
#, c-format
msgid "%s: TOC reloc at 0x%x to symbol `%s' with no TOC entry"
msgstr ""
-#: coff-rs6000.c:3646 coff64-rs6000.c:2168
+#: coff-rs6000.c:3648 coff64-rs6000.c:2170
msgid "%B: symbol `%s' has unrecognized smclas %d"
msgstr ""
@@ -490,24 +490,24 @@
msgid "%B: illegal relocation type %d at address 0x%lx"
msgstr ""
-#: coffgen.c:1571
+#: coffgen.c:1573
msgid "%B: bad string table size %lu"
msgstr ""
-#: cofflink.c:513 elflink.c:4307
+#: cofflink.c:513 elflink.c:4308
msgid "Warning: type of symbol `%s' changed from %d to %d in %B"
msgstr ""
-#: cofflink.c:2305
+#: cofflink.c:2308
msgid "%B: relocs in section `%A', but it has no contents"
msgstr ""
-#: cofflink.c:2636 coffswap.h:826
+#: cofflink.c:2639 coffswap.h:826
#, c-format
msgid "%s: %s: reloc overflow: 0x%lx > 0xffff"
msgstr ""
-#: cofflink.c:2645 coffswap.h:812
+#: cofflink.c:2648 coffswap.h:812
#, c-format
msgid "%s: warning: %s: line number overflow: 0x%lx > 0xffff"
msgstr ""
@@ -521,54 +521,54 @@
msgid "warning: unable to update contents of %s section in %s"
msgstr ""
-#: dwarf2.c:430
+#: dwarf2.c:436
#, c-format
msgid "Dwarf Error: Can't find %s section."
msgstr ""
-#: dwarf2.c:457
+#: dwarf2.c:463
#, c-format
msgid "Dwarf Error: unable to decompress %s section."
msgstr ""
-#: dwarf2.c:468
+#: dwarf2.c:474
#, c-format
msgid "Dwarf Error: Offset (%lu) greater than or equal to %s size (%lu)."
msgstr ""
-#: dwarf2.c:865
+#: dwarf2.c:871
#, c-format
msgid "Dwarf Error: Invalid or unhandled FORM value: %u."
msgstr ""
-#: dwarf2.c:1079
+#: dwarf2.c:1085
msgid "Dwarf Error: mangled line number section (bad file number)."
msgstr ""
-#: dwarf2.c:1413
+#: dwarf2.c:1419
msgid "Dwarf Error: mangled line number section."
msgstr ""
-#: dwarf2.c:1760 dwarf2.c:1867 dwarf2.c:2139
+#: dwarf2.c:1698 dwarf2.c:1806 dwarf2.c:2078
#, c-format
msgid "Dwarf Error: Could not find abbrev number %u."
msgstr ""
-#: dwarf2.c:2100
+#: dwarf2.c:2039
#, c-format
msgid ""
"Dwarf Error: found dwarf version '%u', this reader only handles version 2 "
"and 3 information."
msgstr ""
-#: dwarf2.c:2107
+#: dwarf2.c:2046
#, c-format
msgid ""
"Dwarf Error: found address size '%u', this reader can not handle sizes "
"greater than '%u'."
msgstr ""
-#: dwarf2.c:2130
+#: dwarf2.c:2069
#, c-format
msgid "Dwarf Error: Bad abbrev number: %u."
msgstr ""
@@ -642,11 +642,11 @@
msgid "error: %B: Object tag '%d, %s' is incompatible with tag '%d, %s'"
msgstr ""
-#: elf-eh-frame.c:884
+#: elf-eh-frame.c:885
msgid "%P: error in %B(%A); no .eh_frame_hdr table will be created.\n"
msgstr ""
-#: elf-eh-frame.c:1122
+#: elf-eh-frame.c:1123
msgid ""
"%P: fde encoding in %B(%A) prevents .eh_frame_hdr table being created.\n"
msgstr ""
@@ -658,25 +658,25 @@
"pie\n"
msgstr ""
-#: elf-m10200.c:456 elf-m10300.c:1575 elf32-avr.c:1251 elf32-bfin.c:3200
-#: elf32-cr16.c:1517 elf32-cr16c.c:790 elf32-cris.c:2089 elf32-crx.c:933
+#: elf-m10200.c:456 elf-m10300.c:1575 elf32-avr.c:1251 elf32-bfin.c:3204
+#: elf32-cr16.c:1517 elf32-cr16c.c:790 elf32-cris.c:2084 elf32-crx.c:933
#: elf32-d10v.c:516 elf32-fr30.c:616 elf32-frv.c:4114 elf32-h8300.c:516
#: elf32-i860.c:1218 elf32-ip2k.c:1499 elf32-iq2000.c:691 elf32-lm32.c:1171
#: elf32-m32c.c:560 elf32-m32r.c:3102 elf32-m68hc1x.c:1136 elf32-mep.c:541
#: elf32-microblaze.c:1226 elf32-moxie.c:291 elf32-msp430.c:493 elf32-mt.c:402
#: elf32-openrisc.c:411 elf32-score.c:2752 elf32-score7.c:2591
-#: elf32-spu.c:5045 elf32-v850.c:1701 elf32-xstormy16.c:948 elf64-mmix.c:1533
+#: elf32-spu.c:5047 elf32-v850.c:1701 elf32-xstormy16.c:948 elf64-mmix.c:1533
msgid "internal error: out of range error"
msgstr ""
-#: elf-m10200.c:460 elf-m10300.c:1579 elf32-avr.c:1255 elf32-bfin.c:3204
-#: elf32-cr16.c:1521 elf32-cr16c.c:794 elf32-cris.c:2093 elf32-crx.c:937
+#: elf-m10200.c:460 elf-m10300.c:1579 elf32-avr.c:1255 elf32-bfin.c:3208
+#: elf32-cr16.c:1521 elf32-cr16c.c:794 elf32-cris.c:2088 elf32-crx.c:937
#: elf32-d10v.c:520 elf32-fr30.c:620 elf32-frv.c:4118 elf32-h8300.c:520
#: elf32-i860.c:1222 elf32-iq2000.c:695 elf32-lm32.c:1175 elf32-m32c.c:564
#: elf32-m32r.c:3106 elf32-m68hc1x.c:1140 elf32-mep.c:545
#: elf32-microblaze.c:1230 elf32-moxie.c:295 elf32-msp430.c:497
#: elf32-openrisc.c:415 elf32-score.c:2756 elf32-score7.c:2595
-#: elf32-spu.c:5049 elf32-v850.c:1705 elf32-xstormy16.c:952 elf64-mmix.c:1537
+#: elf32-spu.c:5051 elf32-v850.c:1705 elf32-xstormy16.c:952 elf64-mmix.c:1537
#: elfxx-mips.c:9103
msgid "internal error: unsupported relocation error"
msgstr ""
@@ -684,25 +684,25 @@
#: elf-m10200.c:464 elf32-cr16.c:1525 elf32-cr16c.c:798 elf32-crx.c:941
#: elf32-d10v.c:524 elf32-h8300.c:524 elf32-lm32.c:1179 elf32-m32r.c:3110
#: elf32-m68hc1x.c:1144 elf32-microblaze.c:1234 elf32-score.c:2760
-#: elf32-score7.c:2599 elf32-spu.c:5053
+#: elf32-score7.c:2599 elf32-spu.c:5055
msgid "internal error: dangerous error"
msgstr ""
-#: elf-m10200.c:468 elf-m10300.c:1592 elf32-avr.c:1263 elf32-bfin.c:3212
-#: elf32-cr16.c:1529 elf32-cr16c.c:802 elf32-cris.c:2101 elf32-crx.c:945
+#: elf-m10200.c:468 elf-m10300.c:1592 elf32-avr.c:1263 elf32-bfin.c:3216
+#: elf32-cr16.c:1529 elf32-cr16c.c:802 elf32-cris.c:2096 elf32-crx.c:945
#: elf32-d10v.c:528 elf32-fr30.c:628 elf32-frv.c:4126 elf32-h8300.c:528
#: elf32-i860.c:1230 elf32-ip2k.c:1514 elf32-iq2000.c:703 elf32-lm32.c:1183
#: elf32-m32c.c:572 elf32-m32r.c:3114 elf32-m68hc1x.c:1148 elf32-mep.c:553
#: elf32-microblaze.c:1238 elf32-moxie.c:303 elf32-msp430.c:505 elf32-mt.c:410
#: elf32-openrisc.c:423 elf32-score.c:2769 elf32-score7.c:2603
-#: elf32-spu.c:5057 elf32-v850.c:1725 elf32-xstormy16.c:960 elf64-mmix.c:1545
+#: elf32-spu.c:5059 elf32-v850.c:1725 elf32-xstormy16.c:960 elf64-mmix.c:1545
msgid "internal error: unknown error"
msgstr ""
-#: elf-m10300.c:1512 elf32-arm.c:8963 elf32-i386.c:3984 elf32-m32r.c:2588
-#: elf32-m68k.c:4099 elf32-ppc.c:7906 elf32-s390.c:3015 elf32-sh.c:3429
-#: elf32-xtensa.c:3027 elf64-ppc.c:12063 elf64-s390.c:2974 elf64-sh64.c:1648
-#: elf64-x86-64.c:3657 elfxx-sparc.c:3317
+#: elf-m10300.c:1512 elf32-arm.c:8970 elf32-i386.c:3986 elf32-m32r.c:2588
+#: elf32-m68k.c:4099 elf32-ppc.c:8116 elf32-s390.c:3015 elf32-sh.c:3429
+#: elf32-xtensa.c:3027 elf64-ppc.c:12252 elf64-s390.c:2974 elf64-sh64.c:1648
+#: elf64-x86-64.c:3658 elfxx-sparc.c:3317
msgid "%B(%A+0x%lx): unresolvable %s relocation against symbol `%s'"
msgstr ""
@@ -716,11 +716,11 @@
msgid "internal error: suspicious relocation type used in shared library"
msgstr ""
-#: elf-m10300.c:4385 elf32-arm.c:11346 elf32-cr16.c:2519 elf32-cris.c:3030
-#: elf32-hppa.c:1891 elf32-i370.c:506 elf32-i386.c:1975 elf32-lm32.c:1873
-#: elf32-m32r.c:1921 elf32-m68k.c:3188 elf32-ppc.c:4953 elf32-s390.c:1650
-#: elf32-sh.c:2574 elf32-vax.c:1052 elf64-ppc.c:6348 elf64-s390.c:1623
-#: elf64-sh64.c:3396 elf64-x86-64.c:1821 elfxx-sparc.c:1802
+#: elf-m10300.c:4385 elf32-arm.c:11353 elf32-cr16.c:2519 elf32-cris.c:3025
+#: elf32-hppa.c:1891 elf32-i370.c:506 elf32-i386.c:1977 elf32-lm32.c:1873
+#: elf32-m32r.c:1921 elf32-m68k.c:3188 elf32-ppc.c:5026 elf32-s390.c:1650
+#: elf32-sh.c:2574 elf32-vax.c:1052 elf64-ppc.c:6394 elf64-s390.c:1623
+#: elf64-sh64.c:3396 elf64-x86-64.c:1822 elfxx-sparc.c:1802
#, c-format
msgid "dynamic variable `%s' is zero size"
msgstr ""
@@ -729,138 +729,138 @@
msgid "%B: invalid string offset %u >= %lu for section `%s'"
msgstr ""
-#: elf.c:439
+#: elf.c:441
msgid "%B symbol number %lu references nonexistent SHT_SYMTAB_SHNDX section"
msgstr ""
-#: elf.c:595
+#: elf.c:597
msgid "%B: Corrupt size field in group section header: 0x%lx"
msgstr ""
-#: elf.c:631
+#: elf.c:633
msgid "%B: invalid SHT_GROUP entry"
msgstr ""
-#: elf.c:701
+#: elf.c:703
msgid "%B: no group info for section %A"
msgstr ""
-#: elf.c:730 elf.c:2960 elflink.c:9912
+#: elf.c:732 elf.c:2979 elflink.c:9922
msgid "%B: warning: sh_link not set for section `%A'"
msgstr ""
-#: elf.c:749
+#: elf.c:751
msgid "%B: sh_link [%d] in section `%A' is incorrect"
msgstr ""
-#: elf.c:784
+#: elf.c:786
msgid "%B: unknown [%d] section `%s' in group [%s]"
msgstr ""
-#: elf.c:1104
+#: elf.c:1106
#, c-format
msgid ""
"\n"
"Program Header:\n"
msgstr ""
-#: elf.c:1146
+#: elf.c:1148
#, c-format
msgid ""
"\n"
"Dynamic Section:\n"
msgstr ""
-#: elf.c:1282
+#: elf.c:1284
#, c-format
msgid ""
"\n"
"Version definitions:\n"
msgstr ""
-#: elf.c:1307
+#: elf.c:1309
#, c-format
msgid ""
"\n"
"Version References:\n"
msgstr ""
-#: elf.c:1312
+#: elf.c:1314
#, c-format
msgid " required from %s:\n"
msgstr ""
-#: elf.c:1702
+#: elf.c:1718
msgid "%B: invalid link %lu for reloc section %s (index %u)"
msgstr ""
-#: elf.c:1870
+#: elf.c:1886
msgid ""
"%B: don't know how to handle allocated, application specific section `%s' [0x"
"%8x]"
msgstr ""
-#: elf.c:1882
+#: elf.c:1898
msgid "%B: don't know how to handle processor specific section `%s' [0x%8x]"
msgstr ""
-#: elf.c:1893
+#: elf.c:1909
msgid "%B: don't know how to handle OS specific section `%s' [0x%8x]"
msgstr ""
-#: elf.c:1903
+#: elf.c:1919
msgid "%B: don't know how to handle section `%s' [0x%8x]"
msgstr ""
-#: elf.c:2500
+#: elf.c:2517
#, c-format
msgid "warning: section `%A' type changed to PROGBITS"
msgstr ""
-#: elf.c:2917
+#: elf.c:2936
msgid "%B: sh_link of section `%A' points to discarded section `%A' of `%B'"
msgstr ""
-#: elf.c:2940
+#: elf.c:2959
msgid "%B: sh_link of section `%A' points to removed section `%A' of `%B'"
msgstr ""
-#: elf.c:4311
+#: elf.c:4333
msgid ""
"%B: The first section in the PT_DYNAMIC segment is not the .dynamic section"
msgstr ""
-#: elf.c:4338
+#: elf.c:4360
msgid "%B: Not enough room for program headers, try linking with -N"
msgstr ""
-#: elf.c:4420
+#: elf.c:4442
msgid "%B: section %A vma 0x%lx overlaps previous sections"
msgstr ""
-#: elf.c:4515
+#: elf.c:4537
msgid "%B: section `%A' can't be allocated in segment %d"
msgstr ""
-#: elf.c:4565
+#: elf.c:4587
msgid "%B: warning: allocated section `%s' not in segment"
msgstr ""
-#: elf.c:5065
+#: elf.c:5087
msgid "%B: symbol `%s' required but not present"
msgstr ""
-#: elf.c:5404
+#: elf.c:5426
msgid "%B: warning: Empty loadable segment detected, is this intentional ?\n"
msgstr ""
-#: elf.c:6370
+#: elf.c:6393
#, c-format
msgid ""
"Unable to find equivalent output section for symbol '%s' from section '%s'"
msgstr ""
-#: elf.c:7356
+#: elf.c:7382
msgid "%B: unsupported relocation type %s"
msgstr ""
@@ -921,299 +921,299 @@
msgid "\\%B: Warning: Arm BLX instruction targets Arm function '%s'."
msgstr ""
-#: elf32-arm.c:7405
+#: elf32-arm.c:7408
msgid "%B: Warning: Thumb BLX instruction targets thumb function '%s'."
msgstr ""
-#: elf32-arm.c:8085
+#: elf32-arm.c:8092
msgid "%B(%A+0x%lx): R_ARM_TLS_LE32 relocation not permitted in shared object"
msgstr ""
-#: elf32-arm.c:8300
+#: elf32-arm.c:8307
msgid ""
"%B(%A+0x%lx): Only ADD or SUB instructions are allowed for ALU group "
"relocations"
msgstr ""
-#: elf32-arm.c:8340 elf32-arm.c:8427 elf32-arm.c:8510 elf32-arm.c:8595
+#: elf32-arm.c:8347 elf32-arm.c:8434 elf32-arm.c:8517 elf32-arm.c:8602
msgid "%B(%A+0x%lx): Overflow whilst splitting 0x%lx for group relocation %s"
msgstr ""
-#: elf32-arm.c:8821 elf32-sh.c:3325 elf64-sh64.c:1556
+#: elf32-arm.c:8828 elf32-sh.c:3325 elf64-sh64.c:1556
msgid "%B(%A+0x%lx): %s relocation against SEC_MERGE section"
msgstr ""
-#: elf32-arm.c:8939 elf32-m68k.c:4134 elf32-xtensa.c:2765 elf64-ppc.c:10743
+#: elf32-arm.c:8946 elf32-m68k.c:4134 elf32-xtensa.c:2765 elf64-ppc.c:10939
msgid "%B(%A+0x%lx): %s used with TLS symbol %s"
msgstr ""
-#: elf32-arm.c:8940 elf32-m68k.c:4135 elf32-xtensa.c:2766 elf64-ppc.c:10744
+#: elf32-arm.c:8947 elf32-m68k.c:4135 elf32-xtensa.c:2766 elf64-ppc.c:10940
msgid "%B(%A+0x%lx): %s used with non-TLS symbol %s"
msgstr ""
-#: elf32-arm.c:8997
+#: elf32-arm.c:9004
msgid "out of range"
msgstr ""
-#: elf32-arm.c:9001
+#: elf32-arm.c:9008
msgid "unsupported relocation"
msgstr ""
-#: elf32-arm.c:9009
+#: elf32-arm.c:9016
msgid "unknown error"
msgstr ""
-#: elf32-arm.c:9409
+#: elf32-arm.c:9416
msgid ""
"Warning: Clearing the interworking flag of %B because non-interworking code "
"in %B has been linked with it"
msgstr ""
-#: elf32-arm.c:9652
+#: elf32-arm.c:9659
msgid "error: %B: Unknown CPU architecture"
msgstr ""
-#: elf32-arm.c:9690
+#: elf32-arm.c:9697
msgid "error: %B: Conflicting CPU architectures %d/%d"
msgstr ""
-#: elf32-arm.c:9747
+#: elf32-arm.c:9754
msgid "error: %B uses VFP register arguments, %B does not"
msgstr ""
-#: elf32-arm.c:9897
+#: elf32-arm.c:9904
msgid "error: %B: Conflicting architecture profiles %c/%c"
msgstr ""
-#: elf32-arm.c:9921
+#: elf32-arm.c:9928
msgid "Warning: %B: Conflicting platform configuration"
msgstr ""
-#: elf32-arm.c:9930
+#: elf32-arm.c:9937
msgid "error: %B: Conflicting use of R9"
msgstr ""
-#: elf32-arm.c:9942
+#: elf32-arm.c:9949
msgid "error: %B: SB relative addressing conflicts with use of R9"
msgstr ""
-#: elf32-arm.c:9955
+#: elf32-arm.c:9962
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:9986
+#: elf32-arm.c:9993
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:9998
+#: elf32-arm.c:10005
msgid "error: %B uses iWMMXt register arguments, %B does not"
msgstr ""
-#: elf32-arm.c:10020
+#: elf32-arm.c:10027
msgid "error: fp16 format mismatch between %B and %B"
msgstr ""
-#: elf32-arm.c:10063 elf32-arm.c:10156
+#: elf32-arm.c:10070 elf32-arm.c:10163
msgid "%B: Unknown mandatory EABI object attribute %d"
msgstr ""
-#: elf32-arm.c:10071 elf32-arm.c:10164
+#: elf32-arm.c:10078 elf32-arm.c:10171
msgid "Warning: %B: Unknown EABI object attribute %d"
msgstr ""
-#: elf32-arm.c:10224
+#: elf32-arm.c:10231
msgid "error: %B is already in final BE8 format"
msgstr ""
-#: elf32-arm.c:10300
+#: elf32-arm.c:10307
msgid ""
"error: Source object %B has EABI version %d, but target %B has EABI version %"
"d"
msgstr ""
-#: elf32-arm.c:10316
+#: elf32-arm.c:10323
msgid "error: %B is compiled for APCS-%d, whereas target %B uses APCS-%d"
msgstr ""
-#: elf32-arm.c:10341
+#: elf32-arm.c:10348
msgid "error: %B uses VFP instructions, whereas %B does not"
msgstr ""
-#: elf32-arm.c:10345
+#: elf32-arm.c:10352
msgid "error: %B uses FPA instructions, whereas %B does not"
msgstr ""
-#: elf32-arm.c:10355
+#: elf32-arm.c:10362
msgid "error: %B uses Maverick instructions, whereas %B does not"
msgstr ""
-#: elf32-arm.c:10359
+#: elf32-arm.c:10366
msgid "error: %B does not use Maverick instructions, whereas %B does"
msgstr ""
-#: elf32-arm.c:10378
+#: elf32-arm.c:10385
msgid "error: %B uses software FP, whereas %B uses hardware FP"
msgstr ""
-#: elf32-arm.c:10382
+#: elf32-arm.c:10389
msgid "error: %B uses hardware FP, whereas %B uses software FP"
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:10429 elf32-bfin.c:5082 elf32-cris.c:4110 elf32-m68hc1x.c:1280
+#: elf32-arm.c:10436 elf32-bfin.c:5080 elf32-cris.c:4105 elf32-m68hc1x.c:1280
#: elf32-m68k.c:1169 elf32-score.c:4039 elf32-score7.c:3876 elf32-vax.c:540
#: elfxx-mips.c:12755
#, c-format
msgid "private flags = %lx:"
msgstr ""
-#: elf32-arm.c:10438
+#: elf32-arm.c:10445
#, c-format
msgid " [interworking enabled]"
msgstr ""
-#: elf32-arm.c:10446
+#: elf32-arm.c:10453
#, c-format
msgid " [VFP float format]"
msgstr ""
-#: elf32-arm.c:10448
+#: elf32-arm.c:10455
#, c-format
msgid " [Maverick float format]"
msgstr ""
-#: elf32-arm.c:10450
+#: elf32-arm.c:10457
#, c-format
msgid " [FPA float format]"
msgstr ""
-#: elf32-arm.c:10459
+#: elf32-arm.c:10466
#, c-format
msgid " [new ABI]"
msgstr ""
-#: elf32-arm.c:10462
+#: elf32-arm.c:10469
#, c-format
msgid " [old ABI]"
msgstr ""
-#: elf32-arm.c:10465
+#: elf32-arm.c:10472
#, c-format
msgid " [software FP]"
msgstr ""
-#: elf32-arm.c:10474
+#: elf32-arm.c:10481
#, c-format
msgid " [Version1 EABI]"
msgstr ""
-#: elf32-arm.c:10477 elf32-arm.c:10488
+#: elf32-arm.c:10484 elf32-arm.c:10495
#, c-format
msgid " [sorted symbol table]"
msgstr ""
-#: elf32-arm.c:10479 elf32-arm.c:10490
+#: elf32-arm.c:10486 elf32-arm.c:10497
#, c-format
msgid " [unsorted symbol table]"
msgstr ""
-#: elf32-arm.c:10485
+#: elf32-arm.c:10492
#, c-format
msgid " [Version2 EABI]"
msgstr ""
-#: elf32-arm.c:10493
+#: elf32-arm.c:10500
#, c-format
msgid " [dynamic symbols use segment index]"
msgstr ""
-#: elf32-arm.c:10496
+#: elf32-arm.c:10503
#, c-format
msgid " [mapping symbols precede others]"
msgstr ""
-#: elf32-arm.c:10503
+#: elf32-arm.c:10510
#, c-format
msgid " [Version3 EABI]"
msgstr ""
-#: elf32-arm.c:10507
+#: elf32-arm.c:10514
#, c-format
msgid " [Version4 EABI]"
msgstr ""
-#: elf32-arm.c:10511
+#: elf32-arm.c:10518
#, c-format
msgid " [Version5 EABI]"
msgstr ""
-#: elf32-arm.c:10514
+#: elf32-arm.c:10521
#, c-format
msgid " [BE8]"
msgstr ""
-#: elf32-arm.c:10517
+#: elf32-arm.c:10524
#, c-format
msgid " [LE8]"
msgstr ""
-#: elf32-arm.c:10523
+#: elf32-arm.c:10530
#, c-format
msgid " <EABI version unrecognised>"
msgstr ""
-#: elf32-arm.c:10530
+#: elf32-arm.c:10537
#, c-format
msgid " [relocatable executable]"
msgstr ""
-#: elf32-arm.c:10533
+#: elf32-arm.c:10540
#, c-format
msgid " [has entry point]"
msgstr ""
-#: elf32-arm.c:10538
+#: elf32-arm.c:10545
#, c-format
msgid "<Unrecognised flag bits set>"
msgstr ""
-#: elf32-arm.c:10783 elf32-i386.c:1300 elf32-s390.c:998 elf32-xtensa.c:1000
-#: elf64-s390.c:952 elf64-x86-64.c:1082 elfxx-sparc.c:1121
+#: elf32-arm.c:10790 elf32-i386.c:1300 elf32-s390.c:998 elf32-xtensa.c:1000
+#: elf64-s390.c:952 elf64-x86-64.c:1083 elfxx-sparc.c:1121
msgid "%B: bad symbol index: %d"
msgstr ""
-#: elf32-arm.c:10904 elf64-x86-64.c:1242 elf64-x86-64.c:1411 elfxx-mips.c:7870
+#: elf32-arm.c:10911 elf64-x86-64.c:1243 elf64-x86-64.c:1412 elfxx-mips.c:7870
msgid ""
"%B: relocation %s against `%s' can not be used when making a shared object; "
"recompile with -fPIC"
msgstr ""
-#: elf32-arm.c:11893
+#: elf32-arm.c:11900
#, c-format
msgid "Errors encountered processing file %s"
msgstr ""
-#: elf32-arm.c:13339
+#: elf32-arm.c:13346
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:13366
+#: elf32-arm.c:13373
msgid "%B: error: Cortex-A8 erratum stub out of range (input file too large)"
msgstr ""
-#: elf32-arm.c:13457 elf32-arm.c:13479
+#: elf32-arm.c:13464 elf32-arm.c:13486
msgid "%B: error: VFP11 veneer out of range"
msgstr ""
-#: elf32-avr.c:1259 elf32-bfin.c:3208 elf32-cris.c:2097 elf32-fr30.c:624
+#: elf32-avr.c:1259 elf32-bfin.c:3212 elf32-cris.c:2092 elf32-fr30.c:624
#: elf32-frv.c:4122 elf32-i860.c:1226 elf32-ip2k.c:1510 elf32-iq2000.c:699
#: elf32-m32c.c:568 elf32-mep.c:549 elf32-moxie.c:299 elf32-msp430.c:501
#: elf32-mt.c:406 elf32-openrisc.c:419 elf32-v850.c:1709 elf32-xstormy16.c:956
@@ -1221,7 +1221,7 @@
msgid "internal error: dangerous relocation"
msgstr ""
-#: elf32-avr.c:2409 elf32-hppa.c:605 elf32-m68hc1x.c:165 elf64-ppc.c:4141
+#: elf32-avr.c:2409 elf32-hppa.c:605 elf32-m68hc1x.c:165 elf64-ppc.c:4146
msgid "%B: cannot create stub entry %s"
msgstr ""
@@ -1229,54 +1229,54 @@
msgid "%B(%A+0x%lx): unresolvable relocation against symbol `%s'"
msgstr ""
-#: elf32-bfin.c:1614 elf32-i386.c:4026 elf32-m68k.c:4176 elf32-s390.c:3067
-#: elf64-s390.c:3026 elf64-x86-64.c:3697
+#: elf32-bfin.c:1614 elf32-i386.c:4028 elf32-m68k.c:4176 elf32-s390.c:3067
+#: elf64-s390.c:3026 elf64-x86-64.c:3698
msgid "%B(%A+0x%lx): reloc against `%s': error %d"
msgstr ""
-#: elf32-bfin.c:2714
+#: elf32-bfin.c:2718
msgid "%B: relocation at `%A+0x%x' references symbol `%s' with nonzero addend"
msgstr ""
-#: elf32-bfin.c:2728 elf32-frv.c:2904
+#: elf32-bfin.c:2732 elf32-frv.c:2904
msgid "relocation references symbol not defined in the module"
msgstr ""
-#: elf32-bfin.c:2825
+#: elf32-bfin.c:2829
msgid "R_BFIN_FUNCDESC references dynamic symbol with nonzero addend"
msgstr ""
-#: elf32-bfin.c:2866 elf32-bfin.c:2989 elf32-frv.c:3641 elf32-frv.c:3762
+#: elf32-bfin.c:2870 elf32-bfin.c:2993 elf32-frv.c:3641 elf32-frv.c:3762
msgid "cannot emit fixups in read-only section"
msgstr ""
-#: elf32-bfin.c:2897 elf32-bfin.c:3027 elf32-frv.c:3672 elf32-frv.c:3806
+#: elf32-bfin.c:2901 elf32-bfin.c:3031 elf32-frv.c:3672 elf32-frv.c:3806
#: elf32-lm32.c:1104
msgid "cannot emit dynamic relocations in read-only section"
msgstr ""
-#: elf32-bfin.c:2947
+#: elf32-bfin.c:2951
msgid "R_BFIN_FUNCDESC_VALUE references dynamic symbol with nonzero addend"
msgstr ""
-#: elf32-bfin.c:3112
+#: elf32-bfin.c:3116
msgid "relocations between different segments are not supported"
msgstr ""
-#: elf32-bfin.c:3113
+#: elf32-bfin.c:3117
msgid "warning: relocation references a different segment"
msgstr ""
-#: elf32-bfin.c:4974 elf32-frv.c:6408
+#: elf32-bfin.c:4972 elf32-frv.c:6408
msgid "%B: unsupported relocation type %i"
msgstr ""
-#: elf32-bfin.c:5127 elf32-frv.c:6816
+#: elf32-bfin.c:5125 elf32-frv.c:6816
#, c-format
msgid "%s: cannot link non-fdpic object file into fdpic executable"
msgstr ""
-#: elf32-bfin.c:5131 elf32-frv.c:6820
+#: elf32-bfin.c:5129 elf32-frv.c:6820
#, c-format
msgid "%s: cannot link fdpic object file into non-fdpic executable"
msgstr ""
@@ -1293,8 +1293,8 @@
msgid "%B, section %A: No PLT for relocation %s against symbol `%s'"
msgstr ""
-#: elf32-cris.c:1246 elf32-cris.c:1379 elf32-cris.c:1641 elf32-cris.c:1730
-#: elf32-cris.c:1883
+#: elf32-cris.c:1246 elf32-cris.c:1379 elf32-cris.c:1641 elf32-cris.c:1725
+#: elf32-cris.c:1878
msgid "[whose name is lost]"
msgstr ""
@@ -1303,7 +1303,7 @@
"%B, section %A: relocation %s with non-zero addend %d against local symbol"
msgstr ""
-#: elf32-cris.c:1373 elf32-cris.c:1724 elf32-cris.c:1877
+#: elf32-cris.c:1373 elf32-cris.c:1719 elf32-cris.c:1872
msgid ""
"%B, section %A: relocation %s with non-zero addend %d against symbol `%s'"
msgstr ""
@@ -1323,79 +1323,79 @@
"declaration mixup?"
msgstr ""
-#: elf32-cris.c:2010
+#: elf32-cris.c:2005
msgid ""
"%B, section %A: relocation %s is not allowed for symbol: `%s' which is "
"defined outside the program, perhaps a declaration mixup?"
msgstr ""
-#: elf32-cris.c:2063
+#: elf32-cris.c:2058
msgid "(too many global variables for -fpic: recompile with -fPIC)"
msgstr ""
-#: elf32-cris.c:2070
+#: elf32-cris.c:2065
msgid ""
"(thread-local data too big for -fpic or -msmall-tls: recompile with -fPIC or "
"-mno-small-tls)"
msgstr ""
-#: elf32-cris.c:3204
+#: elf32-cris.c:3199
msgid ""
"%B, section %A:\n"
" v10/v32 compatible object %s must not contain a PIC relocation"
msgstr ""
-#: elf32-cris.c:3309
+#: elf32-cris.c:3304
msgid ""
"%B, section %A:\n"
" relocation %s not valid in a shared object; typically an option mixup, "
"recompile with -fPIC"
msgstr ""
-#: elf32-cris.c:3523
+#: elf32-cris.c:3518
msgid ""
"%B, section %A:\n"
" relocation %s should not be used in a shared object; recompile with -fPIC"
msgstr ""
-#: elf32-cris.c:3940
+#: elf32-cris.c:3935
msgid ""
"%B, section `%A', to symbol `%s':\n"
" relocation %s should not be used in a shared object; recompile with -fPIC"
msgstr ""
-#: elf32-cris.c:4059
+#: elf32-cris.c:4054
msgid "Unexpected machine number"
msgstr ""
-#: elf32-cris.c:4113
+#: elf32-cris.c:4108
#, c-format
msgid " [symbols have a _ prefix]"
msgstr ""
-#: elf32-cris.c:4116
+#: elf32-cris.c:4111
#, c-format
msgid " [v10 and v32]"
msgstr ""
-#: elf32-cris.c:4119
+#: elf32-cris.c:4114
#, c-format
msgid " [v32]"
msgstr ""
-#: elf32-cris.c:4164
+#: elf32-cris.c:4159
msgid "%B: uses _-prefixed symbols, but writing file with non-prefixed symbols"
msgstr ""
-#: elf32-cris.c:4165
+#: elf32-cris.c:4160
msgid "%B: uses non-prefixed symbols, but writing file with _-prefixed symbols"
msgstr ""
-#: elf32-cris.c:4184
+#: elf32-cris.c:4179
msgid "%B contains CRIS v32 code, incompatible with previous objects"
msgstr ""
-#: elf32-cris.c:4186
+#: elf32-cris.c:4181
msgid "%B contains non-CRIS-v32 code, incompatible with previous objects"
msgstr ""
@@ -1525,52 +1525,52 @@
msgid ".got section not immediately after .plt section"
msgstr ""
-#: elf32-i386.c:371 elf32-ppc.c:1666 elf32-s390.c:379 elf64-ppc.c:2283
+#: elf32-i386.c:371 elf32-ppc.c:1674 elf32-s390.c:379 elf64-ppc.c:2283
#: elf64-s390.c:403 elf64-x86-64.c:234
msgid "%B: invalid relocation type %d"
msgstr ""
-#: elf32-i386.c:1246 elf64-x86-64.c:1029
+#: elf32-i386.c:1246 elf64-x86-64.c:1030
msgid ""
"%B: TLS transition from %s to %s against `%s' at 0x%lx in section `%A' failed"
msgstr ""
-#: elf32-i386.c:1387 elf32-i386.c:2970 elf64-x86-64.c:1171 elf64-x86-64.c:2680
+#: elf32-i386.c:1387 elf32-i386.c:2972 elf64-x86-64.c:1172 elf64-x86-64.c:2681
msgid "%B: relocation %s against STT_GNU_IFUNC symbol `%s' isn't handled by %s"
msgstr ""
-#: elf32-i386.c:1548 elf32-s390.c:1180 elf32-sh.c:5065 elf32-xtensa.c:1173
+#: elf32-i386.c:1549 elf32-s390.c:1180 elf32-sh.c:5065 elf32-xtensa.c:1173
#: elf64-s390.c:1143 elfxx-sparc.c:1257
msgid "%B: `%s' accessed both as normal and thread local symbol"
msgstr ""
-#: elf32-i386.c:2805
+#: elf32-i386.c:2807
msgid "%B: unrecognized relocation (0x%x) in section `%A'"
msgstr ""
-#: elf32-i386.c:3219 elf64-x86-64.c:3081
+#: elf32-i386.c:3221 elf64-x86-64.c:3082
msgid "hidden symbol"
msgstr ""
-#: elf32-i386.c:3222 elf64-x86-64.c:3084
+#: elf32-i386.c:3224 elf64-x86-64.c:3085
msgid "internal symbol"
msgstr ""
-#: elf32-i386.c:3225 elf64-x86-64.c:3087
+#: elf32-i386.c:3227 elf64-x86-64.c:3088
msgid "protected symbol"
msgstr ""
-#: elf32-i386.c:3228 elf64-x86-64.c:3090
+#: elf32-i386.c:3230 elf64-x86-64.c:3091
msgid "symbol"
msgstr ""
-#: elf32-i386.c:3233
+#: elf32-i386.c:3235
msgid ""
"%B: relocation R_386_GOTOFF against undefined %s `%s' can not be used when "
"making a shared object"
msgstr ""
-#: elf32-i386.c:3243
+#: elf32-i386.c:3245
msgid ""
"%B: relocation R_386_GOTOFF against protected function `%s' can not be used "
"when making a shared object"
@@ -1686,7 +1686,7 @@
msgid "%B: linking files compiled for HCS12 with others compiled for HC12"
msgstr ""
-#: elf32-m68hc1x.c:1255 elf32-ppc.c:4255 elf64-sparc.c:698 elfxx-mips.c:12617
+#: elf32-m68hc1x.c:1255 elf32-ppc.c:4262 elf64-sparc.c:698 elfxx-mips.c:12617
msgid "%B: uses different e_flags (0x%lx) fields than previous modules (0x%lx)"
msgstr ""
@@ -1786,7 +1786,7 @@
msgid "%B: probably compiled without -fPIC?"
msgstr ""
-#: elf32-microblaze.c:2086 elflink.c:12444
+#: elf32-microblaze.c:2086 elflink.c:12457
msgid "%B: bad relocation section name `%s'"
msgstr ""
@@ -1799,124 +1799,124 @@
msgid "32bits gp relative relocation occurs for an external symbol"
msgstr ""
-#: elf32-ppc.c:1731
+#: elf32-ppc.c:1739
#, c-format
msgid "generic linker can't handle %s"
msgstr ""
-#: elf32-ppc.c:2211
+#: elf32-ppc.c:2219
msgid "corrupt or empty %s section in %B"
msgstr ""
-#: elf32-ppc.c:2218
+#: elf32-ppc.c:2226
msgid "unable to read in %s section from %B"
msgstr ""
-#: elf32-ppc.c:2224
+#: elf32-ppc.c:2232
msgid "corrupt %s section in %B"
msgstr ""
-#: elf32-ppc.c:2267
+#: elf32-ppc.c:2275
msgid "warning: unable to set size of %s section in %B"
msgstr ""
-#: elf32-ppc.c:2315
+#: elf32-ppc.c:2323
msgid "failed to allocate space for new APUinfo section."
msgstr ""
-#: elf32-ppc.c:2334
+#: elf32-ppc.c:2342
msgid "failed to compute new APUinfo section."
msgstr ""
-#: elf32-ppc.c:2337
+#: elf32-ppc.c:2345
msgid "failed to install new APUinfo section."
msgstr ""
-#: elf32-ppc.c:3364
+#: elf32-ppc.c:3379
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:3723
+#: elf32-ppc.c:3732
msgid "%B(%A+0x%lx): %s reloc against local symbol"
msgstr ""
-#: elf32-ppc.c:4067 elf32-ppc.c:4082 elfxx-mips.c:12324 elfxx-mips.c:12350
+#: elf32-ppc.c:4074 elf32-ppc.c:4089 elfxx-mips.c:12324 elfxx-mips.c:12350
#: elfxx-mips.c:12372 elfxx-mips.c:12398
msgid "Warning: %B uses hard float, %B uses soft float"
msgstr ""
-#: elf32-ppc.c:4070 elf32-ppc.c:4074
+#: elf32-ppc.c:4077 elf32-ppc.c:4081
msgid ""
"Warning: %B uses double-precision hard float, %B uses single-precision hard "
"float"
msgstr ""
-#: elf32-ppc.c:4078
+#: elf32-ppc.c:4085
msgid "Warning: %B uses soft float, %B uses single-precision hard float"
msgstr ""
-#: elf32-ppc.c:4085 elf32-ppc.c:4089 elfxx-mips.c:12304 elfxx-mips.c:12308
+#: elf32-ppc.c:4092 elf32-ppc.c:4096 elfxx-mips.c:12304 elfxx-mips.c:12308
msgid "Warning: %B uses unknown floating point ABI %d"
msgstr ""
-#: elf32-ppc.c:4131 elf32-ppc.c:4135
+#: elf32-ppc.c:4138 elf32-ppc.c:4142
msgid "Warning: %B uses unknown vector ABI %d"
msgstr ""
-#: elf32-ppc.c:4139
+#: elf32-ppc.c:4146
msgid "Warning: %B uses vector ABI \"%s\", %B uses \"%s\""
msgstr ""
-#: elf32-ppc.c:4156 elf32-ppc.c:4159
+#: elf32-ppc.c:4163 elf32-ppc.c:4166
msgid "Warning: %B uses r3/r4 for small structure returns, %B uses memory"
msgstr ""
-#: elf32-ppc.c:4162 elf32-ppc.c:4166
+#: elf32-ppc.c:4169 elf32-ppc.c:4173
msgid "Warning: %B uses unknown small structure return convention %d"
msgstr ""
-#: elf32-ppc.c:4220
+#: elf32-ppc.c:4227
msgid ""
"%B: compiled with -mrelocatable and linked with modules compiled normally"
msgstr ""
-#: elf32-ppc.c:4228
+#: elf32-ppc.c:4235
msgid ""
"%B: compiled normally and linked with modules compiled with -mrelocatable"
msgstr ""
-#: elf32-ppc.c:4314
+#: elf32-ppc.c:4323
msgid "Using bss-plt due to %B"
msgstr ""
-#: elf32-ppc.c:7056 elf64-ppc.c:11364
+#: elf32-ppc.c:7219 elf64-ppc.c:11541
msgid "%B: unknown relocation type %d for symbol %s"
msgstr ""
-#: elf32-ppc.c:7316
+#: elf32-ppc.c:7480
msgid "%B(%A+0x%lx): non-zero addend on %s reloc against `%s'"
msgstr ""
-#: elf32-ppc.c:7499 elf64-ppc.c:11854
+#: elf32-ppc.c:7678 elf64-ppc.c:12043
msgid "%B(%A+0x%lx): relocation %s for indirect function %s unsupported"
msgstr ""
-#: elf32-ppc.c:7709 elf32-ppc.c:7736 elf32-ppc.c:7787
+#: elf32-ppc.c:7908 elf32-ppc.c:7938 elf32-ppc.c:7985
msgid ""
"%B: the target (%s) of a %s relocation is in the wrong output section (%s)"
msgstr ""
-#: elf32-ppc.c:7847
+#: elf32-ppc.c:8057
msgid "%B: relocation %s is not yet supported for symbol %s."
msgstr ""
-#: elf32-ppc.c:7955 elf64-ppc.c:12110
+#: elf32-ppc.c:8165 elf64-ppc.c:12299
msgid "%B(%A+0x%lx): %s reloc against `%s': error %d"
msgstr ""
-#: elf32-ppc.c:8423
+#: elf32-ppc.c:8656
#, c-format
msgid "%s not defined in linker created %s"
msgstr ""
@@ -2079,135 +2079,135 @@
msgid "%B: linking little endian files with big endian files"
msgstr ""
-#: elf32-spu.c:723
+#: elf32-spu.c:713
msgid "%X%P: overlay section %A does not start on a cache line.\n"
msgstr ""
-#: elf32-spu.c:731
+#: elf32-spu.c:721
msgid "%X%P: overlay section %A is larger than a cache line.\n"
msgstr ""
-#: elf32-spu.c:751
+#: elf32-spu.c:741
msgid "%X%P: overlay section %A is not in cache area.\n"
msgstr ""
-#: elf32-spu.c:791
+#: elf32-spu.c:781
msgid "%X%P: overlay sections %A and %A do not start at the same address.\n"
msgstr ""
-#: elf32-spu.c:1015
+#: elf32-spu.c:1005
msgid "warning: call to non-function symbol %s defined in %B"
msgstr ""
-#: elf32-spu.c:1365
+#: elf32-spu.c:1355
msgid "%A:0x%v lrlive .brinfo (%u) differs from analysis (%u)\n"
msgstr ""
-#: elf32-spu.c:1884
+#: elf32-spu.c:1874
msgid "%B is not allowed to define %s"
msgstr ""
-#: elf32-spu.c:1892
+#: elf32-spu.c:1882
#, c-format
msgid "you are not allowed to define %s in a script"
msgstr ""
-#: elf32-spu.c:1926
+#: elf32-spu.c:1916
#, c-format
msgid "%s in overlay section"
msgstr ""
-#: elf32-spu.c:1955
+#: elf32-spu.c:1945
msgid "overlay stub relocation overflow"
msgstr ""
-#: elf32-spu.c:1964 elf64-ppc.c:10441
+#: elf32-spu.c:1954 elf64-ppc.c:10637
msgid "stubs don't match calculated size"
msgstr ""
-#: elf32-spu.c:2546
+#: elf32-spu.c:2536
#, c-format
msgid "warning: %s overlaps %s\n"
msgstr ""
-#: elf32-spu.c:2562
+#: elf32-spu.c:2552
#, c-format
msgid "warning: %s exceeds section size\n"
msgstr ""
-#: elf32-spu.c:2593
+#: elf32-spu.c:2583
msgid "%A:0x%v not found in function table\n"
msgstr ""
-#: elf32-spu.c:2740
+#: elf32-spu.c:2723
msgid "%B(%A+0x%v): call to non-code section %B(%A), analysis incomplete\n"
msgstr ""
-#: elf32-spu.c:3297
+#: elf32-spu.c:3291
#, c-format
msgid "Stack analysis will ignore the call from %s to %s\n"
msgstr ""
-#: elf32-spu.c:3988
+#: elf32-spu.c:3982
msgid " %s: 0x%v\n"
msgstr ""
-#: elf32-spu.c:3989
+#: elf32-spu.c:3983
msgid "%s: 0x%v 0x%v\n"
msgstr ""
-#: elf32-spu.c:3994
+#: elf32-spu.c:3988
msgid " calls:\n"
msgstr ""
-#: elf32-spu.c:4002
+#: elf32-spu.c:3996
#, c-format
msgid " %s%s %s\n"
msgstr ""
-#: elf32-spu.c:4304
+#: elf32-spu.c:4301
#, c-format
msgid "%s duplicated in %s\n"
msgstr ""
-#: elf32-spu.c:4308
+#: elf32-spu.c:4305
#, c-format
msgid "%s duplicated\n"
msgstr ""
-#: elf32-spu.c:4315
+#: elf32-spu.c:4312
msgid "sorry, no support for duplicate object files in auto-overlay script\n"
msgstr ""
-#: elf32-spu.c:4356
+#: elf32-spu.c:4353
msgid ""
"non-overlay size of 0x%v plus maximum overlay size of 0x%v exceeds local "
"store\n"
msgstr ""
-#: elf32-spu.c:4512
+#: elf32-spu.c:4509
msgid "%B:%A%s exceeds overlay size\n"
msgstr ""
-#: elf32-spu.c:4669
+#: elf32-spu.c:4671
msgid "Stack size for call graph root nodes.\n"
msgstr ""
-#: elf32-spu.c:4670
+#: elf32-spu.c:4672
msgid ""
"\n"
"Stack size for functions. Annotations: '*' max stack, 't' tail call\n"
msgstr ""
-#: elf32-spu.c:4680
+#: elf32-spu.c:4682
msgid "Maximum stack required is 0x%v\n"
msgstr ""
-#: elf32-spu.c:4771
+#: elf32-spu.c:4773
msgid "fatal error while creating .fixup"
msgstr ""
-#: elf32-spu.c:5009
+#: elf32-spu.c:5011
msgid "%B(%s+0x%lx): unresolvable %s relocation against symbol `%s'"
msgstr ""
@@ -2350,26 +2350,26 @@
msgid "Attempt to convert L32R/CALLX to CALL failed"
msgstr ""
-#: elf32-xtensa.c:6290 elf32-xtensa.c:6366 elf32-xtensa.c:7486
+#: elf32-xtensa.c:6290 elf32-xtensa.c:6366 elf32-xtensa.c:7482
msgid ""
"%B(%A+0x%lx): could not decode instruction; possible configuration mismatch"
msgstr ""
-#: elf32-xtensa.c:7226
+#: elf32-xtensa.c:7222
msgid ""
"%B(%A+0x%lx): could not decode instruction for XTENSA_ASM_SIMPLIFY "
"relocation; possible configuration mismatch"
msgstr ""
-#: elf32-xtensa.c:8987
+#: elf32-xtensa.c:8983
msgid "invalid relocation address"
msgstr ""
-#: elf32-xtensa.c:9036
+#: elf32-xtensa.c:9032
msgid "overflow after relaxation"
msgstr ""
-#: elf32-xtensa.c:10167
+#: elf32-xtensa.c:10163
msgid "%B(%A+0x%lx): unexpected fix for %s relocation"
msgstr ""
@@ -2493,59 +2493,59 @@
msgid "%B: compiled for a little endian system and target is big endian"
msgstr ""
-#: elf64-ppc.c:6338
+#: elf64-ppc.c:6384
#, c-format
msgid ""
"copy reloc against `%s' requires lazy plt linking; avoid setting "
"LD_BIND_NOW=1 or upgrade gcc"
msgstr ""
-#: elf64-ppc.c:6767
+#: elf64-ppc.c:6811
msgid "dynreloc miscount for %B, section %A"
msgstr ""
-#: elf64-ppc.c:6851
+#: elf64-ppc.c:6895
msgid "%B: .opd is not a regular array of opd entries"
msgstr ""
-#: elf64-ppc.c:6860
+#: elf64-ppc.c:6904
msgid "%B: unexpected reloc type %u in .opd section"
msgstr ""
-#: elf64-ppc.c:6881
+#: elf64-ppc.c:6925
msgid "%B: undefined sym `%s' in .opd section"
msgstr ""
-#: elf64-ppc.c:7640 elf64-ppc.c:8017
+#: elf64-ppc.c:7767 elf64-ppc.c:8144
#, c-format
msgid "%s defined in removed toc entry"
msgstr ""
-#: elf64-ppc.c:8910
+#: elf64-ppc.c:9085
#, c-format
msgid "long branch stub `%s' offset overflow"
msgstr ""
-#: elf64-ppc.c:8969
+#: elf64-ppc.c:9144
#, c-format
msgid "can't find branch stub `%s'"
msgstr ""
-#: elf64-ppc.c:9031 elf64-ppc.c:9169
+#: elf64-ppc.c:9206 elf64-ppc.c:9342
#, c-format
msgid "linkage table error against `%s'"
msgstr ""
-#: elf64-ppc.c:9326
+#: elf64-ppc.c:9510
#, c-format
msgid "can't build branch stub `%s'"
msgstr ""
-#: elf64-ppc.c:9799
+#: elf64-ppc.c:9995
msgid "%B section %A exceeds stub group size"
msgstr ""
-#: elf64-ppc.c:10453
+#: elf64-ppc.c:10649
#, c-format
msgid ""
"linker stubs in %u group%s\n"
@@ -2556,24 +2556,24 @@
" plt call %lu"
msgstr ""
-#: elf64-ppc.c:11252
+#: elf64-ppc.c:11428
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:11260
+#: elf64-ppc.c:11436
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:11961
+#: elf64-ppc.c:12150
msgid "%B: relocation %s is not supported for symbol %s."
msgstr ""
-#: elf64-ppc.c:12044
+#: elf64-ppc.c:12233
msgid "%B: error: relocation %s not a multiple of %d"
msgstr ""
@@ -2602,48 +2602,48 @@
msgid "%B: linking UltraSPARC specific with HAL specific code"
msgstr ""
-#: elf64-x86-64.c:1337
+#: elf64-x86-64.c:1338
msgid "%B: '%s' accessed both as normal and thread local symbol"
msgstr ""
-#: elf64-x86-64.c:2701
+#: elf64-x86-64.c:2702
msgid ""
"%B: relocation %s against STT_GNU_IFUNC symbol `%s' has non-zero addend: %d"
msgstr ""
-#: elf64-x86-64.c:2980
+#: elf64-x86-64.c:2981
msgid ""
"%B: relocation R_X86_64_GOTOFF64 against protected function `%s' can not be "
"used when making a shared object"
msgstr ""
-#: elf64-x86-64.c:3091
+#: elf64-x86-64.c:3092
msgid "; recompile with -fPIC"
msgstr ""
-#: elf64-x86-64.c:3096
+#: elf64-x86-64.c:3097
msgid ""
"%B: relocation %s against %s `%s' can not be used when making a shared object"
"%s"
msgstr ""
-#: elf64-x86-64.c:3098
+#: elf64-x86-64.c:3099
msgid ""
"%B: relocation %s against undefined %s `%s' can not be used when making a "
"shared object%s"
msgstr ""
-#: elfcode.h:795
+#: elfcode.h:811
#, c-format
msgid "warning: %s has a corrupt string table index - ignoring"
msgstr ""
-#: elfcode.h:1201
+#: elfcode.h:1217
#, c-format
msgid "%s: version count (%ld) does not match symbol count (%ld)"
msgstr ""
-#: elfcode.h:1441
+#: elfcode.h:1457
#, c-format
msgid "%s(%s): relocation %d has invalid symbol index %ld"
msgstr ""
@@ -2689,156 +2689,156 @@
"object file has no symbol table"
msgstr ""
-#: elflink.c:2375
+#: elflink.c:2376
msgid "%B: relocation size mismatch in %B section %A"
msgstr ""
-#: elflink.c:2678
+#: elflink.c:2679
#, c-format
msgid "warning: type and size of dynamic symbol `%s' are not defined"
msgstr ""
-#: elflink.c:3424
+#: elflink.c:3425
msgid "%P: alternate ELF machine code found (%d) in %B, expecting %d\n"
msgstr ""
-#: elflink.c:4032
+#: elflink.c:4033
msgid "%B: %s: invalid version %u (max %d)"
msgstr ""
-#: elflink.c:4068
+#: elflink.c:4069
msgid "%B: %s: invalid needed version %d"
msgstr ""
-#: elflink.c:4253
+#: elflink.c:4254
msgid ""
"Warning: alignment %u of common symbol `%s' in %B is greater than the "
"alignment (%u) of its section %A"
msgstr ""
-#: elflink.c:4259
+#: elflink.c:4260
msgid "Warning: alignment %u of symbol `%s' in %B is smaller than %u in %B"
msgstr ""
-#: elflink.c:4274
+#: elflink.c:4275
msgid "Warning: size of symbol `%s' changed from %lu in %B to %lu in %B"
msgstr ""
-#: elflink.c:4438
+#: elflink.c:4440
#, c-format
msgid "%s: invalid DSO for symbol `%s' definition"
msgstr ""
-#: elflink.c:5688
+#: elflink.c:5692
#, c-format
msgid "%s: undefined version: %s"
msgstr ""
-#: elflink.c:5756
+#: elflink.c:5760
msgid "%B: .preinit_array section is not allowed in DSO"
msgstr ""
-#: elflink.c:7484
+#: elflink.c:7493
#, c-format
msgid "undefined %s reference in complex symbol: %s"
msgstr ""
-#: elflink.c:7638
+#: elflink.c:7647
#, c-format
msgid "unknown operator '%c' in complex symbol"
msgstr ""
-#: elflink.c:7976 elflink.c:7993 elflink.c:8030 elflink.c:8047
+#: elflink.c:7985 elflink.c:8002 elflink.c:8039 elflink.c:8056
msgid "%B: Unable to sort relocs - they are in more than one size"
msgstr ""
-#: elflink.c:8007 elflink.c:8061
+#: elflink.c:8016 elflink.c:8070
msgid "%B: Unable to sort relocs - they are of an unknown size"
msgstr ""
-#: elflink.c:8112
+#: elflink.c:8121
msgid "Not enough memory to sort relocations"
msgstr ""
-#: elflink.c:8304
+#: elflink.c:8314
msgid "%B: Too many sections: %d (>= %d)"
msgstr ""
-#: elflink.c:8540
+#: elflink.c:8550
msgid "%B: %s symbol `%s' in %B is referenced by DSO"
msgstr ""
-#: elflink.c:8625
+#: elflink.c:8635
msgid "%B: could not find output section %A for input section %A"
msgstr ""
-#: elflink.c:8745
+#: elflink.c:8755
msgid "%B: %s symbol `%s' isn't defined"
msgstr ""
-#: elflink.c:9301
+#: elflink.c:9311
msgid ""
"error: %B contains a reloc (0x%s) for section %A that references a non-"
"existent global symbol"
msgstr ""
-#: elflink.c:9366
+#: elflink.c:9376
msgid ""
"%X`%s' referenced in section `%A' of %B: defined in discarded section `%A' "
"of %B\n"
msgstr ""
-#: elflink.c:9991
+#: elflink.c:10001
msgid "%A has both ordered [`%A' in %B] and unordered [`%A' in %B] sections"
msgstr ""
-#: elflink.c:9996
+#: elflink.c:10006
#, c-format
msgid "%A has both ordered and unordered sections"
msgstr ""
-#: elflink.c:10872 elflink.c:10916
+#: elflink.c:10882 elflink.c:10926
msgid "%B: could not find output section %s"
msgstr ""
-#: elflink.c:10877
+#: elflink.c:10887
#, c-format
msgid "warning: %s section has zero size"
msgstr ""
-#: elflink.c:10982
+#: elflink.c:10992
msgid "%P: warning: creating a DT_TEXTREL in a shared object.\n"
msgstr ""
-#: elflink.c:11165
+#: elflink.c:11175
msgid "%P%X: can not read symbols: %E\n"
msgstr ""
-#: elflink.c:11483
+#: elflink.c:11494
msgid "Removing unused section '%s' in file '%B'"
msgstr ""
-#: elflink.c:11695
+#: elflink.c:11706
msgid "Warning: gc-sections option ignored"
msgstr ""
-#: elflink.c:12242
+#: elflink.c:12255
msgid "%B: ignoring duplicate section `%A'"
msgstr ""
-#: elflink.c:12249 elflink.c:12256
+#: elflink.c:12262 elflink.c:12269
msgid "%B: duplicate section `%A' has different size"
msgstr ""
-#: elflink.c:12264 elflink.c:12269
+#: elflink.c:12277 elflink.c:12282
msgid "%B: warning: could not read contents of section `%A'"
msgstr ""
-#: elflink.c:12273
+#: elflink.c:12286
msgid "%B: warning: duplicate section `%A' has different contents"
msgstr ""
-#: elflink.c:12374 linker.c:3098
+#: elflink.c:12387 linker.c:3104
msgid "%F%P: already_linked_table: %E\n"
msgstr ""
@@ -3060,7 +3060,7 @@
msgid "%B: bad section length in ihex_read_section"
msgstr ""
-#: ihex.c:825
+#: ihex.c:826
#, c-format
msgid "%s: address 0x%s out of range for Intel Hex file"
msgstr ""
@@ -3075,20 +3075,20 @@
msgid "Deprecated %s called\n"
msgstr ""
-#: linker.c:1874
+#: linker.c:1877
msgid "%B: indirect symbol `%s' to `%s' is a loop"
msgstr ""
-#: linker.c:2740
+#: linker.c:2744
#, c-format
msgid "Attempt to do relocatable link with %s input and %s output"
msgstr ""
-#: linker.c:3065
+#: linker.c:3071
msgid "%B: warning: ignoring duplicate section `%A'\n"
msgstr ""
-#: linker.c:3079
+#: linker.c:3085
msgid "%B: warning: duplicate section `%A' has different size\n"
msgstr ""
@@ -3152,7 +3152,7 @@
msgid " #: Segment name Section name Address\n"
msgstr ""
-#: merge.c:829
+#: merge.c:831
#, c-format
msgid "%s: access beyond end of merged section (%ld)"
msgstr ""
@@ -3348,33 +3348,33 @@
msgstr ""
#. XXX code yet to be written.
-#: peicode.h:752
+#: peicode.h:751
msgid "%B: Unhandled import type; %x"
msgstr ""
-#: peicode.h:757
+#: peicode.h:756
msgid "%B: Unrecognised import type; %x"
msgstr ""
-#: peicode.h:771
+#: peicode.h:770
msgid "%B: Unrecognised import name type; %x"
msgstr ""
-#: peicode.h:1154
+#: peicode.h:1160
msgid "%B: Unrecognised machine type (0x%x) in Import Library Format archive"
msgstr ""
-#: peicode.h:1166
+#: peicode.h:1172
msgid ""
"%B: Recognised but unhandled machine type (0x%x) in Import Library Format "
"archive"
msgstr ""
-#: peicode.h:1184
+#: peicode.h:1190
msgid "%B: size field is zero in Import Library Format header"
msgstr ""
-#: peicode.h:1215
+#: peicode.h:1221
msgid "%B: string not null terminated in ILF object file."
msgstr ""
diff --git a/binutils/bfd/version.h b/binutils/bfd/version.h
index b580166..7846721 100644
--- a/binutils/bfd/version.h
+++ b/binutils/bfd/version.h
@@ -1,4 +1,4 @@
-#define BFD_VERSION_DATE 20091016
+#define BFD_VERSION_DATE 20100303
#define BFD_VERSION @bfd_version@
#define BFD_VERSION_STRING @bfd_version_package@ @bfd_version_string@
#define REPORT_BUGS_TO @report_bugs_to@
diff --git a/binutils/binutils/ChangeLog b/binutils/binutils/ChangeLog
index bee7b35..c48a0a9 100644
--- a/binutils/binutils/ChangeLog
+++ b/binutils/binutils/ChangeLog
@@ -1,3 +1,40 @@
+2010-02-05 Christophe Lyon <christophe.lyon@st.com>
+
+ * objdump.c (disassemble_bytes): Clear aux->reloc before printing
+ a new address, so as not to reuse a previous, non-related reloc.
+
+2010-01-05 Alan Modra <amodra@gmail.com>
+
+ PR 11129
+ 2009-11-20 Ben Elliston <bje@au.ibm.com>
+ * Makefile.am (syslex.o): Use $(NO_WERROR) not -Wno-error.
+ (sysinfo.o): Likewise.
+ PR 10764
+ 2009-10-16 Jerker Bäck <jerker.back@gmail.com>
+ * Makefile.am (sysinfo.o, syslex.o): Place source file after all
+ command line switches.
+ * Makefile.in: Regenerate.
+
+2009-12-31 Eirik Byrkjeflot Anonsen <eirik@opera.com>
+ Nick Clifton <nickc@redhat.com>
+
+ * objcopy.c (add_redefine_syms_file): Avoid symbol buffer
+ overrun.
+
+2009-10-23 Thomas Cougnard <thomas.cougnard@gmail.com>
+
+ * readelf.c (dynamic_info): Correct size of array.
+
+2009-10-19 Jerker Bäck <jerker.back@gmail.com>
+
+ PR binutils/10793
+ * prdbg.c (tg_end_struct_type): Warning fix.
+
+ PR binutils/10792
+ * dlltool.c (dll_name_list_append): Declare variable at start
+ of block.
+ (dll_name_list_count, dll_name-list_print): Likewise.
+
2009-10-01 Alan Modra <amodra@bigpond.net.au>
* addr2line.c (slurp_symtab): Don't use bfd_read_minisymbols.
diff --git a/binutils/binutils/MAINTAINERS b/binutils/binutils/MAINTAINERS
index 6d31632..29b7ea7 100644
--- a/binutils/binutils/MAINTAINERS
+++ b/binutils/binutils/MAINTAINERS
@@ -38,7 +38,7 @@
Jeff Law <law@redhat.com>
Jim Wilson <wilson@tuliptree.org>
DJ Delorie <dj@redhat.com>
- Alan Modra <amodra@bigpond.net.au>
+ Alan Modra <amodra@gmail.com>
Michael Meissner <gnu@the-meissners.org>
Daniel Jacobowitz <dan@debian.org>
Richard Sandiford <rdsandiford@googlemail.com>
@@ -77,7 +77,7 @@
FRV Alexandre Oliva <aoliva@redhat.com>
H8300 Prafulla Thakare <prafulla.thakare@kpitcummins.com>
HPPA Dave Anglin <dave.anglin@nrc.ca>
- HPPA elf32 Alan Modra <amodra@bigpond.net.au>
+ HPPA elf32 Alan Modra <amodra@gmail.com>
HPPA elf64 Jeff Law <law@redhat.com> [Basic maintainance only]
IA-64 Jim Wilson <wilson@tuliptree.org>
IQ2000 Stan Cox <scox@redhat.com>
@@ -102,14 +102,14 @@
MSP430 Dmitry Diky <diwil@spec.ru>
NetBSD support Matt Thomas <matt@netbsd.org>
PPC Geoff Keating <geoffk@geoffk.org>
- PPC Alan Modra <amodra@bigpond.net.au>
+ PPC Alan Modra <amodra@gmail.com>
PPC vector ext Aldy Hernandez <aldyh@redhat.com>
s390, s390x Martin Schwidefsky <schwidefsky@de.ibm.com>
SCORE Mei Ligang <ligang@sunnorth.com.cn>
SH Alexandre Oliva <aoliva@redhat.com>
SH Kaz Kojima <kkojima@rr.iij4u.or.jp>
SPARC Jakub Jelinek <jakub@redhat.com>
- SPU Alan Modra <amodra@bigpond.net.au>
+ SPU Alan Modra <amodra@gmail.com>
TESTSUITES Ben Elliston <bje@gnu.org>
TIC4X Svein Seldal <svein@dev.seldal.com>
TIC54X Timothy Wall <twall@alum.mit.edu>
diff --git a/binutils/binutils/Makefile.am b/binutils/binutils/Makefile.am
index abade21..db7a773 100644
--- a/binutils/binutils/Makefile.am
+++ b/binutils/binutils/Makefile.am
@@ -255,16 +255,16 @@
syslex.o: syslex.c sysinfo.h config.h
if [ -r syslex.c ]; then \
- $(CC_FOR_BUILD) -c -I. $(AM_CFLAGS) $(CFLAGS_FOR_BUILD) syslex.c -Wno-error ; \
+ $(CC_FOR_BUILD) -c -I. $(AM_CFLAGS) $(CFLAGS_FOR_BUILD) $(NO_WERROR) syslex.c ; \
else \
- $(CC_FOR_BUILD) -c -I. -I$(srcdir) $(AM_CFLAGS) $(CFLAGS_FOR_BUILD) $(srcdir)/syslex.c -Wno-error ;\
+ $(CC_FOR_BUILD) -c -I. -I$(srcdir) $(AM_CFLAGS) $(CFLAGS_FOR_BUILD) $(NO_WERROR) $(srcdir)/syslex.c ;\
fi
sysinfo.o: sysinfo.c
if [ -r sysinfo.c ]; then \
- $(CC_FOR_BUILD) -c -I. $(AM_CFLAGS) $(CFLAGS_FOR_BUILD) sysinfo.c -Wno-error ; \
+ $(CC_FOR_BUILD) -c -I. $(AM_CFLAGS) $(CFLAGS_FOR_BUILD) $(NO_WERROR) sysinfo.c ; \
else \
- $(CC_FOR_BUILD) -c -I. $(AM_CFLAGS) $(CFLAGS_FOR_BUILD) $(srcdir)/sysinfo.c -Wno-error ; \
+ $(CC_FOR_BUILD) -c -I. $(AM_CFLAGS) $(CFLAGS_FOR_BUILD) $(NO_WERROR) $(srcdir)/sysinfo.c ; \
fi
bin2c$(EXEEXT_FOR_BUILD):
diff --git a/binutils/binutils/Makefile.in b/binutils/binutils/Makefile.in
index a1f3800..ab0c1a6 100644
--- a/binutils/binutils/Makefile.in
+++ b/binutils/binutils/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11 from Makefile.am.
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
@@ -840,7 +840,7 @@
# (which will cause the Makefiles to be regenerated when you run `make');
# (2) otherwise, pass the desired values on the `make' command line.
$(RECURSIVE_TARGETS):
- @failcom='exit 1'; \
+ @fail= failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \
case $$f in \
*=* | --[!k]*);; \
@@ -865,7 +865,7 @@
fi; test -z "$$fail"
$(RECURSIVE_CLEAN_TARGETS):
- @failcom='exit 1'; \
+ @fail= failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \
case $$f in \
*=* | --[!k]*);; \
@@ -1197,16 +1197,16 @@
syslex.o: syslex.c sysinfo.h config.h
if [ -r syslex.c ]; then \
- $(CC_FOR_BUILD) -c -I. $(AM_CFLAGS) $(CFLAGS_FOR_BUILD) syslex.c -Wno-error ; \
+ $(CC_FOR_BUILD) -c -I. $(AM_CFLAGS) $(CFLAGS_FOR_BUILD) $(NO_WERROR) syslex.c ; \
else \
- $(CC_FOR_BUILD) -c -I. -I$(srcdir) $(AM_CFLAGS) $(CFLAGS_FOR_BUILD) $(srcdir)/syslex.c -Wno-error ;\
+ $(CC_FOR_BUILD) -c -I. -I$(srcdir) $(AM_CFLAGS) $(CFLAGS_FOR_BUILD) $(NO_WERROR) $(srcdir)/syslex.c ;\
fi
sysinfo.o: sysinfo.c
if [ -r sysinfo.c ]; then \
- $(CC_FOR_BUILD) -c -I. $(AM_CFLAGS) $(CFLAGS_FOR_BUILD) sysinfo.c -Wno-error ; \
+ $(CC_FOR_BUILD) -c -I. $(AM_CFLAGS) $(CFLAGS_FOR_BUILD) $(NO_WERROR) sysinfo.c ; \
else \
- $(CC_FOR_BUILD) -c -I. $(AM_CFLAGS) $(CFLAGS_FOR_BUILD) $(srcdir)/sysinfo.c -Wno-error ; \
+ $(CC_FOR_BUILD) -c -I. $(AM_CFLAGS) $(CFLAGS_FOR_BUILD) $(NO_WERROR) $(srcdir)/sysinfo.c ; \
fi
bin2c$(EXEEXT_FOR_BUILD):
diff --git a/binutils/binutils/aclocal.m4 b/binutils/binutils/aclocal.m4
index 4813787..8d793e8 100644
--- a/binutils/binutils/aclocal.m4
+++ b/binutils/binutils/aclocal.m4
@@ -1,4 +1,4 @@
-# generated automatically by aclocal 1.11 -*- Autoconf -*-
+# generated automatically by aclocal 1.11.1 -*- Autoconf -*-
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
# 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
@@ -34,7 +34,7 @@
[am__api_version='1.11'
dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
dnl require some minimum version. Point them to the right macro.
-m4_if([$1], [1.11], [],
+m4_if([$1], [1.11.1], [],
[AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
])
@@ -50,7 +50,7 @@
# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
-[AM_AUTOMAKE_VERSION([1.11])dnl
+[AM_AUTOMAKE_VERSION([1.11.1])dnl
m4_ifndef([AC_AUTOCONF_VERSION],
[m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
diff --git a/binutils/binutils/dlltool.c b/binutils/binutils/dlltool.c
index 71fd993..897790d 100644
--- a/binutils/binutils/dlltool.c
+++ b/binutils/binutils/dlltool.c
@@ -3162,13 +3162,15 @@
static void
dll_name_list_append (dll_name_list_type * list, bfd_byte * data)
{
+ dll_name_list_node_type * entry;
+
/* Error checking. */
if (! list || ! list->tail)
return;
/* Allocate new node. */
- dll_name_list_node_type * entry =
- (dll_name_list_node_type *) xmalloc (sizeof (dll_name_list_node_type));
+ entry = ((dll_name_list_node_type *)
+ xmalloc (sizeof (dll_name_list_node_type)));
/* Initialize its values. */
entry->dllname = xstrdup ((char *) data);
@@ -3184,12 +3186,14 @@
static int
dll_name_list_count (dll_name_list_type * list)
{
+ dll_name_list_node_type * p;
+ int count = 0;
+
/* Error checking. */
if (! list || ! list->head)
return 0;
- int count = 0;
- dll_name_list_node_type * p = list->head;
+ p = list->head;
while (p && p->next)
{
@@ -3204,11 +3208,13 @@
static void
dll_name_list_print (dll_name_list_type * list)
{
+ dll_name_list_node_type * p;
+
/* Error checking. */
if (! list || ! list->head)
return;
- dll_name_list_node_type * p = list->head;
+ p = list->head;
while (p && p->next && p->next->dllname && *(p->next->dllname))
{
diff --git a/binutils/binutils/doc/Makefile.in b/binutils/binutils/doc/Makefile.in
index f2d63c8..e0d674e 100644
--- a/binutils/binutils/doc/Makefile.in
+++ b/binutils/binutils/doc/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11 from Makefile.am.
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
diff --git a/binutils/binutils/objcopy.c b/binutils/binutils/objcopy.c
index 2048827..e0cac19 100644
--- a/binutils/binutils/objcopy.c
+++ b/binutils/binutils/objcopy.c
@@ -1237,7 +1237,7 @@
filename, strerror (errno));
bufsize = 100;
- buf = (char *) xmalloc (bufsize);
+ buf = (char *) xmalloc (bufsize + 1 /* For the terminating NUL. */);
lineno = 1;
c = getc (file);
@@ -1254,7 +1254,7 @@
if (len >= bufsize)
{
bufsize *= 2;
- buf = (char *) xrealloc (buf, bufsize);
+ buf = (char *) xrealloc (buf, bufsize + 1);
}
c = getc (file);
}
@@ -1280,7 +1280,7 @@
if (len >= bufsize)
{
bufsize *= 2;
- buf = (char *) xrealloc (buf, bufsize);
+ buf = (char *) xrealloc (buf, bufsize + 1);
}
c = getc (file);
}
diff --git a/binutils/binutils/objdump.c b/binutils/binutils/objdump.c
index dd0d0ef..ff2d703 100644
--- a/binutils/binutils/objdump.c
+++ b/binutils/binutils/objdump.c
@@ -1465,6 +1465,9 @@
previous_octets = octets;
octets = 0;
+ /* Make sure we don't use relocs from previous instructions. */
+ aux->reloc = NULL;
+
/* If we see more than SKIP_ZEROES octets of zeroes, we just
print `...'. */
for (z = addr_offset * opb; z < stop_offset * opb; z++)
@@ -1568,8 +1571,6 @@
info->flags |= INSN_HAS_RELOC;
aux->reloc = **relppp;
}
- else
- aux->reloc = NULL;
}
octets = (*disassemble_fn) (section->vma + addr_offset, info);
diff --git a/binutils/binutils/po/binutils.pot b/binutils/binutils/po/binutils.pot
index 6a5ec37..45a9042 100644
--- a/binutils/binutils/po/binutils.pot
+++ b/binutils/binutils/po/binutils.pot
@@ -8,7 +8,7 @@
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: bug-binutils@gnu.org\n"
-"POT-Creation-Date: 2009-09-07 14:08+0200\n"
+"POT-Creation-Date: 2010-03-03 14:57+0100\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"
@@ -50,24 +50,24 @@
"\n"
msgstr ""
-#: addr2line.c:94 ar.c:295 coffdump.c:469 dlltool.c:3832 dllwrap.c:510
-#: nlmconv.c:1113 objcopy.c:563 objcopy.c:598 readelf.c:2922 size.c:99
+#: addr2line.c:94 ar.c:295 coffdump.c:469 dlltool.c:3838 dllwrap.c:510
+#: nlmconv.c:1113 objcopy.c:563 objcopy.c:598 readelf.c:2935 size.c:99
#: srconv.c:1741 strings.c:676 sysdump.c:653 windmc.c:233 windres.c:698
#, c-format
msgid "Report bugs to %s\n"
msgstr ""
-#: addr2line.c:281
+#: addr2line.c:292
#, c-format
msgid "%s: cannot get addresses from archive"
msgstr ""
-#: addr2line.c:298
+#: addr2line.c:309
#, c-format
msgid "%s: cannot find section %s"
msgstr ""
-#: addr2line.c:364 nm.c:1554 objdump.c:3229
+#: addr2line.c:375 nm.c:1554 objdump.c:3234
#, c-format
msgid "unknown demangling style `%s'"
msgstr ""
@@ -312,7 +312,7 @@
msgid "creating %s"
msgstr ""
-#: ar.c:851 ar.c:906 ar.c:1234 objcopy.c:2026
+#: ar.c:851 ar.c:906 ar.c:1234 objcopy.c:2027
#, c-format
msgid "internal stat error on %s"
msgstr ""
@@ -451,27 +451,27 @@
msgid "%s: supported architectures:"
msgstr ""
-#: bucomm.c:398
+#: bucomm.c:399
#, c-format
msgid "BFD header file version %s\n"
msgstr ""
-#: bucomm.c:547
+#: bucomm.c:548
#, c-format
msgid "%s: bad number: %s"
msgstr ""
-#: bucomm.c:564 strings.c:422
+#: bucomm.c:565 strings.c:422
#, c-format
msgid "'%s': No such file"
msgstr ""
-#: bucomm.c:566 strings.c:424
+#: bucomm.c:567 strings.c:424
#, c-format
msgid "Warning: could not locate '%s'. reason: %s"
msgstr ""
-#: bucomm.c:570
+#: bucomm.c:571
#, c-format
msgid "Warning: '%s' is not an ordinary file"
msgstr ""
@@ -767,271 +767,271 @@
msgid "Created lib file"
msgstr ""
-#: dlltool.c:3369 dlltool.c:3391
+#: dlltool.c:3375 dlltool.c:3397
#, c-format
msgid "%s is not a library"
msgstr ""
-#: dlltool.c:3409
+#: dlltool.c:3415
#, c-format
msgid "Import library `%s' specifies two or more dlls"
msgstr ""
-#: dlltool.c:3420
+#: dlltool.c:3426
#, c-format
msgid "Unable to determine dll name for `%s' (not an import library?)"
msgstr ""
-#: dlltool.c:3641
+#: dlltool.c:3647
#, c-format
msgid "Warning, ignoring duplicate EXPORT %s %d,%d"
msgstr ""
-#: dlltool.c:3647
+#: dlltool.c:3653
#, c-format
msgid "Error, duplicate EXPORT with ordinals: %s"
msgstr ""
-#: dlltool.c:3752
+#: dlltool.c:3758
msgid "Processing definitions"
msgstr ""
-#: dlltool.c:3784
+#: dlltool.c:3790
msgid "Processed definitions"
msgstr ""
#. xgetext:c-format
-#: dlltool.c:3791 dllwrap.c:471
+#: dlltool.c:3797 dllwrap.c:471
#, c-format
msgid "Usage %s <option(s)> <object-file(s)>\n"
msgstr ""
#. xgetext:c-format
-#: dlltool.c:3793
+#: dlltool.c:3799
#, c-format
msgid ""
" -m --machine <machine> Create as DLL for <machine>. [default: %s]\n"
msgstr ""
-#: dlltool.c:3794
+#: dlltool.c:3800
#, c-format
msgid ""
" possible <machine>: arm[_interwork], i386, mcore[-elf]{-le|-be}, "
"ppc, thumb\n"
msgstr ""
-#: dlltool.c:3795
+#: dlltool.c:3801
#, c-format
msgid " -e --output-exp <outname> Generate an export file.\n"
msgstr ""
-#: dlltool.c:3796
+#: dlltool.c:3802
#, c-format
msgid " -l --output-lib <outname> Generate an interface library.\n"
msgstr ""
-#: dlltool.c:3797
+#: dlltool.c:3803
#, c-format
msgid " -y --output-delaylib <outname> Create a delay-import library.\n"
msgstr ""
-#: dlltool.c:3798
+#: dlltool.c:3804
#, c-format
msgid " -a --add-indirect Add dll indirects to export file.\n"
msgstr ""
-#: dlltool.c:3799
+#: dlltool.c:3805
#, c-format
msgid ""
" -D --dllname <name> Name of input dll to put into interface lib.\n"
msgstr ""
-#: dlltool.c:3800
+#: dlltool.c:3806
#, c-format
msgid " -d --input-def <deffile> Name of .def file to be read in.\n"
msgstr ""
-#: dlltool.c:3801
+#: dlltool.c:3807
#, c-format
msgid " -z --output-def <deffile> Name of .def file to be created.\n"
msgstr ""
-#: dlltool.c:3802
+#: dlltool.c:3808
#, c-format
msgid " --export-all-symbols Export all symbols to .def\n"
msgstr ""
-#: dlltool.c:3803
+#: dlltool.c:3809
#, c-format
msgid " --no-export-all-symbols Only export listed symbols\n"
msgstr ""
-#: dlltool.c:3804
+#: dlltool.c:3810
#, c-format
msgid " --exclude-symbols <list> Don't export <list>\n"
msgstr ""
-#: dlltool.c:3805
+#: dlltool.c:3811
#, c-format
msgid " --no-default-excludes Clear default exclude symbols\n"
msgstr ""
-#: dlltool.c:3806
+#: dlltool.c:3812
#, c-format
msgid " -b --base-file <basefile> Read linker generated base file.\n"
msgstr ""
-#: dlltool.c:3807
+#: dlltool.c:3813
#, c-format
msgid " -x --no-idata4 Don't generate idata$4 section.\n"
msgstr ""
-#: dlltool.c:3808
+#: dlltool.c:3814
#, c-format
msgid " -c --no-idata5 Don't generate idata$5 section.\n"
msgstr ""
-#: dlltool.c:3809
+#: dlltool.c:3815
#, c-format
msgid ""
" --use-nul-prefixed-import-tables Use zero prefixed idata$4 and idata"
"$5.\n"
msgstr ""
-#: dlltool.c:3810
+#: dlltool.c:3816
#, c-format
msgid ""
" -U --add-underscore Add underscores to all symbols in interface "
"library.\n"
msgstr ""
-#: dlltool.c:3811
+#: dlltool.c:3817
#, c-format
msgid ""
" --add-stdcall-underscore Add underscores to stdcall symbols in "
"interface library.\n"
msgstr ""
-#: dlltool.c:3812
+#: dlltool.c:3818
#, c-format
msgid " -k --kill-at Kill @<n> from exported names.\n"
msgstr ""
-#: dlltool.c:3813
+#: dlltool.c:3819
#, c-format
msgid " -A --add-stdcall-alias Add aliases without @<n>.\n"
msgstr ""
-#: dlltool.c:3814
+#: dlltool.c:3820
#, c-format
msgid " -p --ext-prefix-alias <prefix> Add aliases with <prefix>.\n"
msgstr ""
-#: dlltool.c:3815
+#: dlltool.c:3821
#, c-format
msgid " -S --as <name> Use <name> for assembler.\n"
msgstr ""
-#: dlltool.c:3816
+#: dlltool.c:3822
#, c-format
msgid " -f --as-flags <flags> Pass <flags> to the assembler.\n"
msgstr ""
-#: dlltool.c:3817
+#: dlltool.c:3823
#, c-format
msgid ""
" -C --compat-implib Create backward compatible import library.\n"
msgstr ""
-#: dlltool.c:3818
+#: dlltool.c:3824
#, c-format
msgid ""
" -n --no-delete Keep temp files (repeat for extra "
"preservation).\n"
msgstr ""
-#: dlltool.c:3819
+#: dlltool.c:3825
#, c-format
msgid ""
" -t --temp-prefix <prefix> Use <prefix> to construct temp file names.\n"
msgstr ""
-#: dlltool.c:3820
+#: dlltool.c:3826
#, c-format
msgid ""
" -I --identify <implib> Report the name of the DLL associated with "
"<implib>.\n"
msgstr ""
-#: dlltool.c:3821
+#: dlltool.c:3827
#, c-format
msgid ""
" --identify-strict Causes --identify to report error when multiple "
"DLLs.\n"
msgstr ""
-#: dlltool.c:3822
+#: dlltool.c:3828
#, c-format
msgid " -v --verbose Be verbose.\n"
msgstr ""
-#: dlltool.c:3823
+#: dlltool.c:3829
#, c-format
msgid " -V --version Display the program version.\n"
msgstr ""
-#: dlltool.c:3824
+#: dlltool.c:3830
#, c-format
msgid " -h --help Display this information.\n"
msgstr ""
-#: dlltool.c:3825
+#: dlltool.c:3831
#, c-format
msgid " @<file> Read options from <file>.\n"
msgstr ""
-#: dlltool.c:3827
+#: dlltool.c:3833
#, c-format
msgid ""
" -M --mcore-elf <outname> Process mcore-elf object files into <outname>.\n"
msgstr ""
-#: dlltool.c:3828
+#: dlltool.c:3834
#, c-format
msgid " -L --linker <name> Use <name> as the linker.\n"
msgstr ""
-#: dlltool.c:3829
+#: dlltool.c:3835
#, c-format
msgid " -F --linker-flags <flags> Pass <flags> to the linker.\n"
msgstr ""
-#: dlltool.c:3966
+#: dlltool.c:3972
#, c-format
msgid "Path components stripped from dllname, '%s'."
msgstr ""
-#: dlltool.c:4014
+#: dlltool.c:4020
#, c-format
msgid "Unable to open base-file: %s"
msgstr ""
-#: dlltool.c:4049
+#: dlltool.c:4055
#, c-format
msgid "Machine '%s' not supported"
msgstr ""
-#: dlltool.c:4118
+#: dlltool.c:4124
#, c-format
msgid "Warning, machine type (%d) not supported for delayimport."
msgstr ""
-#: dlltool.c:4186 dllwrap.c:201
+#: dlltool.c:4192 dllwrap.c:201
#, c-format
msgid "Tried file: %s"
msgstr ""
-#: dlltool.c:4193 dllwrap.c:208
+#: dlltool.c:4199 dllwrap.c:208
#, c-format
msgid "Using file: %s"
msgstr ""
@@ -1276,60 +1276,60 @@
msgid "DRIVER options : %s\n"
msgstr ""
-#: dwarf.c:101 dwarf.c:145 readelf.c:355 readelf.c:520
+#: dwarf.c:106 dwarf.c:155 readelf.c:357 readelf.c:525
#, c-format
msgid "Unhandled data length: %d\n"
msgstr ""
-#: dwarf.c:294 dwarf.c:2625
+#: dwarf.c:304 dwarf.c:2649
msgid "badly formed extended line op encountered!\n"
msgstr ""
-#: dwarf.c:301
+#: dwarf.c:311
#, c-format
msgid " Extended opcode %d: "
msgstr ""
-#: dwarf.c:306
+#: dwarf.c:316
#, c-format
msgid ""
"End of Sequence\n"
"\n"
msgstr ""
-#: dwarf.c:312
+#: dwarf.c:322
#, c-format
msgid "set Address to 0x%lx\n"
msgstr ""
-#: dwarf.c:317
+#: dwarf.c:327
#, c-format
msgid " define new File Table entry\n"
msgstr ""
-#: dwarf.c:318 dwarf.c:2240
+#: dwarf.c:328 dwarf.c:2263
#, c-format
msgid " Entry\tDir\tTime\tSize\tName\n"
msgstr ""
-#: dwarf.c:320
+#: dwarf.c:330
#, c-format
msgid " %d\t"
msgstr ""
-#: dwarf.c:323 dwarf.c:325 dwarf.c:327 dwarf.c:2252 dwarf.c:2254 dwarf.c:2256
+#: dwarf.c:333 dwarf.c:335 dwarf.c:337 dwarf.c:2275 dwarf.c:2277 dwarf.c:2279
#, c-format
msgid "%lu\t"
msgstr ""
-#: dwarf.c:328
+#: dwarf.c:338
#, c-format
msgid ""
"%s\n"
"\n"
msgstr ""
-#: dwarf.c:332
+#: dwarf.c:342
#, c-format
msgid "set Discriminator to %lu\n"
msgstr ""
@@ -1338,456 +1338,456 @@
#. the limited range of the unsigned char data type used
#. for op_code.
#. && op_code <= DW_LNE_hi_user
-#: dwarf.c:374
+#: dwarf.c:384
#, c-format
msgid "user defined: length %d\n"
msgstr ""
-#: dwarf.c:376 dwarf.c:2656
+#: dwarf.c:386 dwarf.c:2680
#, c-format
msgid "UNKNOWN: length %d\n"
msgstr ""
-#: dwarf.c:389
+#: dwarf.c:399
msgid "<no .debug_str section>"
msgstr ""
-#: dwarf.c:395
+#: dwarf.c:405
#, c-format
msgid "DW_FORM_strp offset too big: %lx\n"
msgstr ""
-#: dwarf.c:396
+#: dwarf.c:406
msgid "<offset is too big>"
msgstr ""
-#: dwarf.c:629
+#: dwarf.c:639
#, c-format
msgid "Unknown TAG value: %lx"
msgstr ""
-#: dwarf.c:665
+#: dwarf.c:675
#, c-format
msgid "Unknown FORM value: %lx"
msgstr ""
-#: dwarf.c:674
+#: dwarf.c:684
#, c-format
msgid " %lu byte block: "
msgstr ""
-#: dwarf.c:1092
+#: dwarf.c:1102
#, c-format
msgid "(User defined location op)"
msgstr ""
-#: dwarf.c:1094
+#: dwarf.c:1104
#, c-format
msgid "(Unknown location op)"
msgstr ""
-#: dwarf.c:1142
+#: dwarf.c:1152
msgid "Internal error: DWARF version is not 2 or 3.\n"
msgstr ""
-#: dwarf.c:1241
+#: dwarf.c:1251
msgid "DW_FORM_data8 is unsupported when sizeof (unsigned long) != 8\n"
msgstr ""
-#: dwarf.c:1290
+#: dwarf.c:1300
#, c-format
msgid " (indirect string, offset: 0x%lx): %s"
msgstr ""
-#: dwarf.c:1299
+#: dwarf.c:1309
#, c-format
msgid "Unrecognized form: %lu\n"
msgstr ""
-#: dwarf.c:1383
+#: dwarf.c:1393
#, c-format
msgid "(not inlined)"
msgstr ""
-#: dwarf.c:1386
+#: dwarf.c:1396
#, c-format
msgid "(inlined)"
msgstr ""
-#: dwarf.c:1389
+#: dwarf.c:1399
#, c-format
msgid "(declared as inline but ignored)"
msgstr ""
-#: dwarf.c:1392
+#: dwarf.c:1402
#, c-format
msgid "(declared as inline and inlined)"
msgstr ""
-#: dwarf.c:1395
+#: dwarf.c:1405
#, c-format
msgid " (Unknown inline attribute value: %lx)"
msgstr ""
-#: dwarf.c:1556
+#: dwarf.c:1566
#, c-format
msgid "(location list)"
msgstr ""
-#: dwarf.c:1575 dwarf.c:3257
+#: dwarf.c:1585 dwarf.c:3281
#, c-format
msgid " [without DW_AT_frame_base]"
msgstr ""
-#: dwarf.c:1587
+#: dwarf.c:1597
#, 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:1761
+#: dwarf.c:1771
#, c-format
msgid "Unknown AT value: %lx"
msgstr ""
-#: dwarf.c:1828
+#: dwarf.c:1838
#, c-format
msgid "Reserved length value (%lx) found in section %s\n"
msgstr ""
-#: dwarf.c:1839
+#: dwarf.c:1849
#, c-format
msgid "Corrupt unit length (%lx) found in section %s\n"
msgstr ""
-#: dwarf.c:1846
+#: dwarf.c:1856
#, c-format
msgid "No comp units in %s section ?"
msgstr ""
-#: dwarf.c:1855
+#: dwarf.c:1865
#, c-format
msgid "Not enough memory for a debug info array of %u entries"
msgstr ""
-#: dwarf.c:1863 dwarf.c:2858 dwarf.c:2952 dwarf.c:3026 dwarf.c:3143
-#: dwarf.c:3292 dwarf.c:3350 dwarf.c:3546
+#: dwarf.c:1873 dwarf.c:2882 dwarf.c:2976 dwarf.c:3050 dwarf.c:3167
+#: dwarf.c:3316 dwarf.c:3374 dwarf.c:3571
#, c-format
msgid ""
"Contents of the %s section:\n"
"\n"
msgstr ""
-#: dwarf.c:1871
+#: dwarf.c:1881
#, c-format
msgid "Unable to locate %s section!\n"
msgstr ""
-#: dwarf.c:1934
+#: dwarf.c:1944
#, c-format
msgid " Compilation Unit @ offset 0x%lx:\n"
msgstr ""
-#: dwarf.c:1935
+#: dwarf.c:1945
#, c-format
msgid " Length: 0x%lx (%s)\n"
msgstr ""
-#: dwarf.c:1937
+#: dwarf.c:1947
#, c-format
msgid " Version: %d\n"
msgstr ""
-#: dwarf.c:1938
+#: dwarf.c:1948
#, c-format
msgid " Abbrev Offset: %ld\n"
msgstr ""
-#: dwarf.c:1939
+#: dwarf.c:1949
#, c-format
msgid " Pointer Size: %d\n"
msgstr ""
-#: dwarf.c:1945
+#: dwarf.c:1955
#, c-format
msgid ""
"Debug info is corrupted, length of CU at %lx extends beyond end of section "
"(length = %lx)\n"
msgstr ""
-#: dwarf.c:1954
+#: dwarf.c:1964
#, c-format
msgid "CU at offset %lx contains corrupt or unsupported version number: %d.\n"
msgstr ""
-#: dwarf.c:1964
+#: dwarf.c:1974
#, c-format
msgid ""
"Debug info is corrupted, abbrev offset (%lx) is larger than abbrev section "
"size (%lx)\n"
msgstr ""
-#: dwarf.c:1998
+#: dwarf.c:2021
#, c-format
msgid ""
"Bogus end-of-siblings marker detected at offset %lx in .debug_info section\n"
msgstr ""
-#: dwarf.c:2002
+#: dwarf.c:2025
msgid "Further warnings about bogus end-of-sibling markers suppressed\n"
msgstr ""
-#: dwarf.c:2009
+#: dwarf.c:2032
#, c-format
msgid " <%d><%lx>: Abbrev Number: %lu"
msgstr ""
-#: dwarf.c:2026
+#: dwarf.c:2049
#, c-format
msgid ""
"DIE at offset %lx refers to abbreviation number %lu which does not exist\n"
msgstr ""
-#: dwarf.c:2032
+#: dwarf.c:2055
#, c-format
msgid " (%s)\n"
msgstr ""
-#: dwarf.c:2123
+#: dwarf.c:2146
#, c-format
msgid ""
"Raw dump of debug contents of section %s:\n"
"\n"
msgstr ""
-#: dwarf.c:2161
+#: dwarf.c:2184
#, c-format
msgid ""
"The information in section %s appears to be corrupt - the section is too "
"small\n"
msgstr ""
-#: dwarf.c:2171 dwarf.c:2459
+#: dwarf.c:2194 dwarf.c:2482
msgid "Only DWARF version 2 and 3 line info is currently supported.\n"
msgstr ""
-#: dwarf.c:2192
+#: dwarf.c:2215
#, c-format
msgid " Offset: 0x%lx\n"
msgstr ""
-#: dwarf.c:2193
+#: dwarf.c:2216
#, c-format
msgid " Length: %ld\n"
msgstr ""
-#: dwarf.c:2194
+#: dwarf.c:2217
#, c-format
msgid " DWARF Version: %d\n"
msgstr ""
-#: dwarf.c:2195
+#: dwarf.c:2218
#, c-format
msgid " Prologue Length: %d\n"
msgstr ""
-#: dwarf.c:2196
+#: dwarf.c:2219
#, c-format
msgid " Minimum Instruction Length: %d\n"
msgstr ""
-#: dwarf.c:2197
+#: dwarf.c:2220
#, c-format
msgid " Initial value of 'is_stmt': %d\n"
msgstr ""
-#: dwarf.c:2198
+#: dwarf.c:2221
#, c-format
msgid " Line Base: %d\n"
msgstr ""
-#: dwarf.c:2199
+#: dwarf.c:2222
#, c-format
msgid " Line Range: %d\n"
msgstr ""
-#: dwarf.c:2200
+#: dwarf.c:2223
#, c-format
msgid " Opcode Base: %d\n"
msgstr ""
-#: dwarf.c:2209
+#: dwarf.c:2232
#, c-format
msgid ""
"\n"
" Opcodes:\n"
msgstr ""
-#: dwarf.c:2212
+#: dwarf.c:2235
#, c-format
msgid " Opcode %d has %d args\n"
msgstr ""
-#: dwarf.c:2218
+#: dwarf.c:2241
#, c-format
msgid ""
"\n"
" The Directory Table is empty.\n"
msgstr ""
-#: dwarf.c:2221
+#: dwarf.c:2244
#, c-format
msgid ""
"\n"
" The Directory Table:\n"
msgstr ""
-#: dwarf.c:2225
+#: dwarf.c:2248
#, c-format
msgid " %s\n"
msgstr ""
-#: dwarf.c:2236
+#: dwarf.c:2259
#, c-format
msgid ""
"\n"
" The File Name Table is empty.\n"
msgstr ""
-#: dwarf.c:2239
+#: dwarf.c:2262
#, c-format
msgid ""
"\n"
" The File Name Table:\n"
msgstr ""
-#: dwarf.c:2247
+#: dwarf.c:2270
#, c-format
msgid " %d\t"
msgstr ""
-#: dwarf.c:2258
+#: dwarf.c:2281
#, c-format
msgid "%s\n"
msgstr ""
#. Now display the statements.
-#: dwarf.c:2266
+#: dwarf.c:2289
#, c-format
msgid ""
"\n"
" Line Number Statements:\n"
msgstr ""
-#: dwarf.c:2282
+#: dwarf.c:2305
#, c-format
msgid " Special opcode %d: advance Address by %lu to 0x%lx"
msgstr ""
-#: dwarf.c:2286
+#: dwarf.c:2309
#, c-format
msgid " and Line by %d to %d\n"
msgstr ""
-#: dwarf.c:2296
+#: dwarf.c:2319
#, c-format
msgid " Copy\n"
msgstr ""
-#: dwarf.c:2304
+#: dwarf.c:2327
#, c-format
msgid " Advance PC by %lu to 0x%lx\n"
msgstr ""
-#: dwarf.c:2312
+#: dwarf.c:2335
#, c-format
msgid " Advance Line by %d to %d\n"
msgstr ""
-#: dwarf.c:2319
+#: dwarf.c:2342
#, c-format
msgid " Set File Name to entry %d in the File Name Table\n"
msgstr ""
-#: dwarf.c:2327
+#: dwarf.c:2350
#, c-format
msgid " Set column to %lu\n"
msgstr ""
-#: dwarf.c:2334
+#: dwarf.c:2357
#, c-format
msgid " Set is_stmt to %d\n"
msgstr ""
-#: dwarf.c:2339
+#: dwarf.c:2362
#, c-format
msgid " Set basic block\n"
msgstr ""
-#: dwarf.c:2347
+#: dwarf.c:2370
#, c-format
msgid " Advance PC by constant %lu to 0x%lx\n"
msgstr ""
-#: dwarf.c:2355
+#: dwarf.c:2378
#, c-format
msgid " Advance PC by fixed size amount %lu to 0x%lx\n"
msgstr ""
-#: dwarf.c:2360
+#: dwarf.c:2383
#, c-format
msgid " Set prologue_end to true\n"
msgstr ""
-#: dwarf.c:2364
+#: dwarf.c:2387
#, c-format
msgid " Set epilogue_begin to true\n"
msgstr ""
-#: dwarf.c:2370 dwarf.c:2734
+#: dwarf.c:2393 dwarf.c:2758
#, c-format
msgid " Set ISA to %lu\n"
msgstr ""
-#: dwarf.c:2374 dwarf.c:2738
+#: dwarf.c:2397 dwarf.c:2762
#, c-format
msgid " Unknown opcode %d with operands: "
msgstr ""
-#: dwarf.c:2407
+#: dwarf.c:2430
#, c-format
msgid ""
"Decoded dump of debug contents of section %s:\n"
"\n"
msgstr ""
-#: dwarf.c:2449
+#: dwarf.c:2472
msgid "The line info appears to be corrupt - the section is too small\n"
msgstr ""
-#: dwarf.c:2568
+#: dwarf.c:2592
#, c-format
msgid "CU: %s:\n"
msgstr ""
-#: dwarf.c:2569 dwarf.c:2582
+#: dwarf.c:2593 dwarf.c:2606
#, c-format
msgid "File name Line number Starting address\n"
msgstr ""
-#: dwarf.c:2575
+#: dwarf.c:2599
#, c-format
msgid "CU: %s/%s:\n"
msgstr ""
-#: dwarf.c:2580 dwarf.c:2652
+#: dwarf.c:2604 dwarf.c:2676
#, c-format
msgid "%s:\n"
msgstr ""
#. If directory index is 0, that means current directory.
-#: dwarf.c:2685
+#: dwarf.c:2709
#, c-format
msgid ""
"\n"
@@ -1795,116 +1795,116 @@
msgstr ""
#. The directory index starts counting at 1.
-#: dwarf.c:2691
+#: dwarf.c:2715
#, c-format
msgid ""
"\n"
"%s/%s:\n"
msgstr ""
-#: dwarf.c:2776
+#: dwarf.c:2800
#, c-format
msgid "%-35s %11d %#18lx\n"
msgstr ""
-#: dwarf.c:2781
+#: dwarf.c:2805
#, c-format
msgid "%s %11d %#18lx\n"
msgstr ""
-#: dwarf.c:2811 dwarf.c:3088 dwarf.c:3510
+#: dwarf.c:2835 dwarf.c:3112 dwarf.c:3534
#, c-format
msgid ""
"Unable to load/parse the .debug_info section, so cannot interpret the %s "
"section.\n"
msgstr ""
-#: dwarf.c:2892 dwarf.c:3395
+#: dwarf.c:2916 dwarf.c:3419
#, c-format
msgid ""
".debug_info offset of 0x%lx in %s section does not point to a CU header.\n"
msgstr ""
-#: dwarf.c:2906
+#: dwarf.c:2930
msgid "Only DWARF 2 and 3 pubnames are currently supported\n"
msgstr ""
-#: dwarf.c:2913
+#: dwarf.c:2937
#, c-format
msgid " Length: %ld\n"
msgstr ""
-#: dwarf.c:2915
+#: dwarf.c:2939
#, c-format
msgid " Version: %d\n"
msgstr ""
-#: dwarf.c:2917
+#: dwarf.c:2941
#, c-format
msgid " Offset into .debug_info section: 0x%lx\n"
msgstr ""
-#: dwarf.c:2919
+#: dwarf.c:2943
#, c-format
msgid " Size of area in .debug_info section: %ld\n"
msgstr ""
-#: dwarf.c:2922
+#: dwarf.c:2946
#, c-format
msgid ""
"\n"
" Offset\tName\n"
msgstr ""
-#: dwarf.c:2973
+#: dwarf.c:2997
#, c-format
msgid " DW_MACINFO_start_file - lineno: %d filenum: %d\n"
msgstr ""
-#: dwarf.c:2979
+#: dwarf.c:3003
#, c-format
msgid " DW_MACINFO_end_file\n"
msgstr ""
-#: dwarf.c:2987
+#: dwarf.c:3011
#, c-format
msgid " DW_MACINFO_define - lineno : %d macro : %s\n"
msgstr ""
-#: dwarf.c:2996
+#: dwarf.c:3020
#, c-format
msgid " DW_MACINFO_undef - lineno : %d macro : %s\n"
msgstr ""
-#: dwarf.c:3008
+#: dwarf.c:3032
#, c-format
msgid " DW_MACINFO_vendor_ext - constant : %d string : %s\n"
msgstr ""
-#: dwarf.c:3037
+#: dwarf.c:3061
#, c-format
msgid " Number TAG\n"
msgstr ""
-#: dwarf.c:3043
+#: dwarf.c:3067
#, c-format
msgid " %ld %s [%s]\n"
msgstr ""
-#: dwarf.c:3046
+#: dwarf.c:3070
msgid "has children"
msgstr ""
-#: dwarf.c:3046
+#: dwarf.c:3070
msgid "no children"
msgstr ""
-#: dwarf.c:3049
+#: dwarf.c:3073
#, c-format
msgid " %-18s %s\n"
msgstr ""
-#: dwarf.c:3082 dwarf.c:3288 dwarf.c:3504
+#: dwarf.c:3106 dwarf.c:3312 dwarf.c:3528
#, c-format
msgid ""
"\n"
@@ -1912,181 +1912,181 @@
msgstr ""
#. FIXME: Should we handle this case?
-#: dwarf.c:3132
+#: dwarf.c:3156
msgid "Location lists in .debug_info section aren't in ascending order!\n"
msgstr ""
-#: dwarf.c:3135
+#: dwarf.c:3159
msgid "No location lists in .debug_info section!\n"
msgstr ""
-#: dwarf.c:3140
+#: dwarf.c:3164
#, c-format
msgid "Location lists in %s section start at 0x%lx\n"
msgstr ""
-#: dwarf.c:3144
+#: dwarf.c:3168
#, c-format
msgid " Offset Begin End Expression\n"
msgstr ""
-#: dwarf.c:3175
+#: dwarf.c:3199
#, c-format
msgid "There is a hole [0x%lx - 0x%lx] in .debug_loc section.\n"
msgstr ""
-#: dwarf.c:3179
+#: dwarf.c:3203
#, c-format
msgid "There is an overlap [0x%lx - 0x%lx] in .debug_loc section.\n"
msgstr ""
-#: dwarf.c:3187
+#: dwarf.c:3211
#, c-format
msgid "Offset 0x%lx is bigger than .debug_loc section size.\n"
msgstr ""
-#: dwarf.c:3196 dwarf.c:3231 dwarf.c:3241
+#: dwarf.c:3220 dwarf.c:3255 dwarf.c:3265
#, c-format
msgid "Location list starting at offset 0x%lx is not terminated.\n"
msgstr ""
-#: dwarf.c:3215 dwarf.c:3597
+#: dwarf.c:3239 dwarf.c:3622
#, c-format
msgid "<End of list>\n"
msgstr ""
-#: dwarf.c:3225
+#: dwarf.c:3249
#, c-format
msgid "(base address)\n"
msgstr ""
-#: dwarf.c:3260
+#: dwarf.c:3284
msgid " (start == end)"
msgstr ""
-#: dwarf.c:3262
+#: dwarf.c:3286
msgid " (start > end)"
msgstr ""
-#: dwarf.c:3272
+#: dwarf.c:3296
#, c-format
msgid "There are %ld unused bytes at the end of section %s\n"
msgstr ""
-#: dwarf.c:3406
+#: dwarf.c:3430
msgid "Only DWARF 2 and 3 aranges are currently supported.\n"
msgstr ""
-#: dwarf.c:3410
+#: dwarf.c:3434
#, c-format
msgid " Length: %ld\n"
msgstr ""
-#: dwarf.c:3411
+#: dwarf.c:3435
#, c-format
msgid " Version: %d\n"
msgstr ""
-#: dwarf.c:3412
+#: dwarf.c:3436
#, c-format
msgid " Offset into .debug_info: 0x%lx\n"
msgstr ""
-#: dwarf.c:3413
+#: dwarf.c:3437
#, c-format
msgid " Pointer Size: %d\n"
msgstr ""
-#: dwarf.c:3414
+#: dwarf.c:3438
#, c-format
msgid " Segment Size: %d\n"
msgstr ""
-#: dwarf.c:3423
+#: dwarf.c:3447
msgid "Pointer size + Segment size is not a power of two.\n"
msgstr ""
-#: dwarf.c:3428
+#: dwarf.c:3452
#, c-format
msgid ""
"\n"
" Address Length\n"
msgstr ""
-#: dwarf.c:3430
+#: dwarf.c:3454
#, c-format
msgid ""
"\n"
" Address Length\n"
msgstr ""
-#: dwarf.c:3520
+#: dwarf.c:3544
msgid "No range lists in .debug_info section!\n"
msgstr ""
-#: dwarf.c:3543
-#, c-format
-msgid "Range lists in %s section start at 0x%lx\n"
-msgstr ""
-
-#: dwarf.c:3547
-#, c-format
-msgid " Offset Begin End\n"
-msgstr ""
-
#: dwarf.c:3568
#, c-format
-msgid "There is a hole [0x%lx - 0x%lx] in %s section.\n"
+msgid "Range lists in %s section start at 0x%lx\n"
msgstr ""
#: dwarf.c:3572
#, c-format
+msgid " Offset Begin End\n"
+msgstr ""
+
+#: dwarf.c:3593
+#, c-format
+msgid "There is a hole [0x%lx - 0x%lx] in %s section.\n"
+msgstr ""
+
+#: dwarf.c:3597
+#, c-format
msgid "There is an overlap [0x%lx - 0x%lx] in %s section.\n"
msgstr ""
-#: dwarf.c:3615
+#: dwarf.c:3640
msgid "(start == end)"
msgstr ""
-#: dwarf.c:3617
+#: dwarf.c:3642
msgid "(start > end)"
msgstr ""
-#: dwarf.c:3853
+#: dwarf.c:3879
msgid "bad register: "
msgstr ""
-#: dwarf.c:3855
+#: dwarf.c:3881
#, c-format
msgid "Contents of the %s section:\n"
msgstr ""
-#: dwarf.c:4619
+#: dwarf.c:4646
#, c-format
msgid " DW_CFA_??? (User defined call frame op: %#x)\n"
msgstr ""
-#: dwarf.c:4621
+#: dwarf.c:4648
#, c-format
msgid "unsupported or unknown Dwarf Call Frame Instruction number: %#x\n"
msgstr ""
-#: dwarf.c:4645
+#: dwarf.c:4672
#, c-format
msgid "Displaying the debug contents of section %s is not yet supported.\n"
msgstr ""
-#: dwarf.c:4687
+#: dwarf.c:4714
#, c-format
msgid "%s: Error: "
msgstr ""
-#: dwarf.c:4698
+#: dwarf.c:4725
#, c-format
msgid "%s: Warning: "
msgstr ""
-#: dwarf.c:4796 dwarf.c:4862
+#: dwarf.c:4823 dwarf.c:4889
#, c-format
msgid "Unrecognized debug option '%s'\n"
msgstr ""
@@ -2111,238 +2111,238 @@
msgid " [-X32_64] - accepts 32 and 64 bit objects\n"
msgstr ""
-#: ieee.c:309
+#: ieee.c:311
msgid "unexpected end of debugging information"
msgstr ""
-#: ieee.c:396
+#: ieee.c:398
msgid "invalid number"
msgstr ""
-#: ieee.c:449
+#: ieee.c:451
msgid "invalid string length"
msgstr ""
-#: ieee.c:504 ieee.c:545
+#: ieee.c:506 ieee.c:547
msgid "expression stack overflow"
msgstr ""
-#: ieee.c:524
+#: ieee.c:526
msgid "unsupported IEEE expression operator"
msgstr ""
-#: ieee.c:539
+#: ieee.c:541
msgid "unknown section"
msgstr ""
-#: ieee.c:560
+#: ieee.c:562
msgid "expression stack underflow"
msgstr ""
-#: ieee.c:574
+#: ieee.c:576
msgid "expression stack mismatch"
msgstr ""
-#: ieee.c:611
+#: ieee.c:613
msgid "unknown builtin type"
msgstr ""
-#: ieee.c:756
+#: ieee.c:758
msgid "BCD float type not supported"
msgstr ""
-#: ieee.c:893
+#: ieee.c:895
msgid "unexpected number"
msgstr ""
-#: ieee.c:900
+#: ieee.c:902
msgid "unexpected record type"
msgstr ""
-#: ieee.c:933
+#: ieee.c:935
msgid "blocks left on stack at end"
msgstr ""
-#: ieee.c:1206
+#: ieee.c:1208
msgid "unknown BB type"
msgstr ""
-#: ieee.c:1215
+#: ieee.c:1217
msgid "stack overflow"
msgstr ""
-#: ieee.c:1238
+#: ieee.c:1240
msgid "stack underflow"
msgstr ""
-#: ieee.c:1350 ieee.c:1420 ieee.c:2118
+#: ieee.c:1352 ieee.c:1422 ieee.c:2120
msgid "illegal variable index"
msgstr ""
-#: ieee.c:1398
+#: ieee.c:1400
msgid "illegal type index"
msgstr ""
-#: ieee.c:1408 ieee.c:1445
+#: ieee.c:1410 ieee.c:1447
msgid "unknown TY code"
msgstr ""
-#: ieee.c:1427
+#: ieee.c:1429
msgid "undefined variable in TY"
msgstr ""
#. Pascal file name. FIXME.
-#: ieee.c:1839
+#: ieee.c:1841
msgid "Pascal file name not supported"
msgstr ""
-#: ieee.c:1887
+#: ieee.c:1889
msgid "unsupported qualifier"
msgstr ""
-#: ieee.c:2156
+#: ieee.c:2158
msgid "undefined variable in ATN"
msgstr ""
-#: ieee.c:2199
+#: ieee.c:2201
msgid "unknown ATN type"
msgstr ""
#. Reserved for FORTRAN common.
-#: ieee.c:2321
+#: ieee.c:2323
msgid "unsupported ATN11"
msgstr ""
#. We have no way to record this information. FIXME.
-#: ieee.c:2348
+#: ieee.c:2350
msgid "unsupported ATN12"
msgstr ""
-#: ieee.c:2408
+#: ieee.c:2410
msgid "unexpected string in C++ misc"
msgstr ""
-#: ieee.c:2421
+#: ieee.c:2423
msgid "bad misc record"
msgstr ""
-#: ieee.c:2462
+#: ieee.c:2464
msgid "unrecognized C++ misc record"
msgstr ""
-#: ieee.c:2577
+#: ieee.c:2579
msgid "undefined C++ object"
msgstr ""
-#: ieee.c:2611
+#: ieee.c:2613
msgid "unrecognized C++ object spec"
msgstr ""
-#: ieee.c:2647
+#: ieee.c:2649
msgid "unsupported C++ object type"
msgstr ""
-#: ieee.c:2657
+#: ieee.c:2659
msgid "C++ base class not defined"
msgstr ""
-#: ieee.c:2669 ieee.c:2774
+#: ieee.c:2671 ieee.c:2776
msgid "C++ object has no fields"
msgstr ""
-#: ieee.c:2688
+#: ieee.c:2690
msgid "C++ base class not found in container"
msgstr ""
-#: ieee.c:2795
+#: ieee.c:2797
msgid "C++ data member not found in container"
msgstr ""
-#: ieee.c:2836 ieee.c:2986
+#: ieee.c:2838 ieee.c:2988
msgid "unknown C++ visibility"
msgstr ""
-#: ieee.c:2870
+#: ieee.c:2872
msgid "bad C++ field bit pos or size"
msgstr ""
-#: ieee.c:2962
+#: ieee.c:2964
msgid "bad type for C++ method function"
msgstr ""
-#: ieee.c:2972
+#: ieee.c:2974
msgid "no type information for C++ method function"
msgstr ""
-#: ieee.c:3011
+#: ieee.c:3013
msgid "C++ static virtual method"
msgstr ""
-#: ieee.c:3106
+#: ieee.c:3108
msgid "unrecognized C++ object overhead spec"
msgstr ""
-#: ieee.c:3145
+#: ieee.c:3147
msgid "undefined C++ vtable"
msgstr ""
-#: ieee.c:3214
+#: ieee.c:3216
msgid "C++ default values not in a function"
msgstr ""
-#: ieee.c:3254
+#: ieee.c:3256
msgid "unrecognized C++ default type"
msgstr ""
-#: ieee.c:3285
+#: ieee.c:3287
msgid "reference parameter is not a pointer"
msgstr ""
-#: ieee.c:3368
+#: ieee.c:3370
msgid "unrecognized C++ reference type"
msgstr ""
-#: ieee.c:3450
+#: ieee.c:3452
msgid "C++ reference not found"
msgstr ""
-#: ieee.c:3458
+#: ieee.c:3460
msgid "C++ reference is not pointer"
msgstr ""
-#: ieee.c:3484 ieee.c:3492
+#: ieee.c:3486 ieee.c:3494
msgid "missing required ASN"
msgstr ""
-#: ieee.c:3519 ieee.c:3527
+#: ieee.c:3521 ieee.c:3529
msgid "missing required ATN65"
msgstr ""
-#: ieee.c:3541
+#: ieee.c:3543
msgid "bad ATN65 record"
msgstr ""
-#: ieee.c:4169
+#: ieee.c:4171
#, c-format
msgid "IEEE numeric overflow: 0x"
msgstr ""
-#: ieee.c:4213
+#: ieee.c:4215
#, c-format
msgid "IEEE string length overflow: %u\n"
msgstr ""
-#: ieee.c:5210
+#: ieee.c:5212
#, c-format
msgid "IEEE unsupported integer type size %u\n"
msgstr ""
-#: ieee.c:5244
+#: ieee.c:5246
#, c-format
msgid "IEEE unsupported float type size %u\n"
msgstr ""
-#: ieee.c:5278
+#: ieee.c:5280
#, c-format
msgid "IEEE unsupported complex type size %u\n"
msgstr ""
@@ -2609,17 +2609,17 @@
msgid "%s: invalid output format"
msgstr ""
-#: nm.c:337 readelf.c:6917 readelf.c:6962
+#: nm.c:337 readelf.c:7016 readelf.c:7061
#, c-format
msgid "<processor specific>: %d"
msgstr ""
-#: nm.c:339 readelf.c:6926 readelf.c:6980
+#: nm.c:339 readelf.c:7025 readelf.c:7079
#, c-format
msgid "<OS specific>: %d"
msgstr ""
-#: nm.c:341 readelf.c:6929 readelf.c:6983
+#: nm.c:341 readelf.c:7028 readelf.c:7082
#, c-format
msgid "<unknown>: %d"
msgstr ""
@@ -2911,7 +2911,7 @@
msgid "cannot open '%s': %s"
msgstr ""
-#: objcopy.c:751 objcopy.c:3335
+#: objcopy.c:751 objcopy.c:3336
#, c-format
msgid "%s: fread failed"
msgstr ""
@@ -2921,309 +2921,309 @@
msgid "%s:%d: Ignoring rubbish found on this line"
msgstr ""
-#: objcopy.c:1120
+#: objcopy.c:1121
#, c-format
msgid "not stripping symbol `%s' because it is named in a relocation"
msgstr ""
-#: objcopy.c:1203
+#: objcopy.c:1204
#, c-format
msgid "%s: Multiple redefinition of symbol \"%s\""
msgstr ""
-#: objcopy.c:1207
+#: objcopy.c:1208
#, c-format
msgid "%s: Symbol \"%s\" is target of more than one redefinition"
msgstr ""
-#: objcopy.c:1235
+#: objcopy.c:1236
#, c-format
msgid "couldn't open symbol redefinition file %s (error: %s)"
msgstr ""
-#: objcopy.c:1313
+#: objcopy.c:1314
#, c-format
msgid "%s:%d: garbage found at end of line"
msgstr ""
-#: objcopy.c:1316
+#: objcopy.c:1317
#, c-format
msgid "%s:%d: missing new symbol name"
msgstr ""
-#: objcopy.c:1326
+#: objcopy.c:1327
#, c-format
msgid "%s:%d: premature end of file"
msgstr ""
-#: objcopy.c:1352
+#: objcopy.c:1353
#, c-format
msgid "stat returns negative size for `%s'"
msgstr ""
-#: objcopy.c:1364
+#: objcopy.c:1365
#, c-format
msgid "copy from `%s' [unknown] to `%s' [unknown]\n"
msgstr ""
-#: objcopy.c:1419
+#: objcopy.c:1420
msgid "Unable to change endianness of input file(s)"
msgstr ""
-#: objcopy.c:1428
+#: objcopy.c:1429
#, c-format
msgid "copy from `%s' [%s] to `%s' [%s]\n"
msgstr ""
-#: objcopy.c:1473
+#: objcopy.c:1474
#, c-format
msgid "Unable to recognise the format of the input file `%s'"
msgstr ""
-#: objcopy.c:1476
+#: objcopy.c:1477
#, c-format
msgid "Warning: Output file cannot represent architecture `%s'"
msgstr ""
-#: objcopy.c:1539
+#: objcopy.c:1540
#, c-format
msgid "warning: file alignment (0x%s) > section alignment (0x%s)"
msgstr ""
-#: objcopy.c:1598
+#: objcopy.c:1599
#, c-format
msgid "can't add section '%s'"
msgstr ""
-#: objcopy.c:1607
+#: objcopy.c:1608
#, c-format
msgid "can't create section `%s'"
msgstr ""
-#: objcopy.c:1653
+#: objcopy.c:1654
#, c-format
msgid "cannot create debug link section `%s'"
msgstr ""
-#: objcopy.c:1746
+#: objcopy.c:1747
msgid "Can't fill gap after section"
msgstr ""
-#: objcopy.c:1770
+#: objcopy.c:1771
msgid "can't add padding"
msgstr ""
-#: objcopy.c:1861
+#: objcopy.c:1862
#, c-format
msgid "cannot fill debug link section `%s'"
msgstr ""
-#: objcopy.c:1924
+#: objcopy.c:1925
msgid "error copying private BFD data"
msgstr ""
-#: objcopy.c:1935
+#: objcopy.c:1936
#, c-format
msgid "this target does not support %lu alternative machine codes"
msgstr ""
-#: objcopy.c:1939
+#: objcopy.c:1940
msgid "treating that number as an absolute e_machine value instead"
msgstr ""
-#: objcopy.c:1943
+#: objcopy.c:1944
msgid "ignoring the alternative value"
msgstr ""
-#: objcopy.c:1974 objcopy.c:2009
+#: objcopy.c:1975 objcopy.c:2010
#, c-format
msgid "cannot create tempdir for archive copying (error: %s)"
msgstr ""
-#: objcopy.c:2070
+#: objcopy.c:2071
msgid "Unable to recognise the format of file"
msgstr ""
-#: objcopy.c:2167
+#: objcopy.c:2168
#, c-format
msgid "error: the input file '%s' is empty"
msgstr ""
-#: objcopy.c:2299
+#: objcopy.c:2300
#, c-format
msgid "Multiple renames of section %s"
msgstr ""
-#: objcopy.c:2350
+#: objcopy.c:2351
msgid "error in private header data"
msgstr ""
-#: objcopy.c:2428
+#: objcopy.c:2429
msgid "failed to create output section"
msgstr ""
-#: objcopy.c:2442
+#: objcopy.c:2443
msgid "failed to set size"
msgstr ""
-#: objcopy.c:2456
+#: objcopy.c:2457
msgid "failed to set vma"
msgstr ""
-#: objcopy.c:2481
+#: objcopy.c:2482
msgid "failed to set alignment"
msgstr ""
-#: objcopy.c:2515
+#: objcopy.c:2516
msgid "failed to copy private data"
msgstr ""
-#: objcopy.c:2597
+#: objcopy.c:2598
msgid "relocation count is negative"
msgstr ""
#. User must pad the section up in order to do this.
-#: objcopy.c:2658
+#: objcopy.c:2659
#, c-format
msgid ""
"cannot reverse bytes: length of section %s must be evenly divisible by %d"
msgstr ""
-#: objcopy.c:2842
+#: objcopy.c:2843
msgid "can't create debugging section"
msgstr ""
-#: objcopy.c:2855
+#: objcopy.c:2856
msgid "can't set debugging section contents"
msgstr ""
-#: objcopy.c:2863
+#: objcopy.c:2864
#, c-format
msgid "don't know how to write debugging information for %s"
msgstr ""
-#: objcopy.c:3005
+#: objcopy.c:3006
msgid "could not create temporary file to hold stripped copy"
msgstr ""
-#: objcopy.c:3077
+#: objcopy.c:3078
#, c-format
msgid "%s: bad version in PE subsystem"
msgstr ""
-#: objcopy.c:3107
+#: objcopy.c:3108
#, c-format
msgid "unknown PE subsystem: %s"
msgstr ""
-#: objcopy.c:3167
+#: objcopy.c:3168
msgid "byte number must be non-negative"
msgstr ""
-#: objcopy.c:3177
+#: objcopy.c:3178
msgid "interleave must be positive"
msgstr ""
-#: objcopy.c:3197 objcopy.c:3205
+#: objcopy.c:3198 objcopy.c:3206
#, c-format
msgid "%s both copied and removed"
msgstr ""
-#: objcopy.c:3306 objcopy.c:3380 objcopy.c:3480 objcopy.c:3511 objcopy.c:3535
-#: objcopy.c:3539 objcopy.c:3559
+#: objcopy.c:3307 objcopy.c:3381 objcopy.c:3481 objcopy.c:3512 objcopy.c:3536
+#: objcopy.c:3540 objcopy.c:3560
#, c-format
msgid "bad format for %s"
msgstr ""
-#: objcopy.c:3330
+#: objcopy.c:3331
#, c-format
msgid "cannot open: %s: %s"
msgstr ""
-#: objcopy.c:3449
+#: objcopy.c:3450
#, c-format
msgid "Warning: truncating gap-fill from 0x%s to 0x%x"
msgstr ""
-#: objcopy.c:3610
+#: objcopy.c:3611
#, c-format
msgid "unknown long section names option '%s'"
msgstr ""
-#: objcopy.c:3628
+#: objcopy.c:3629
msgid "unable to parse alternative machine code"
msgstr ""
-#: objcopy.c:3673
+#: objcopy.c:3674
msgid "number of bytes to reverse must be positive and even"
msgstr ""
-#: objcopy.c:3676
+#: objcopy.c:3677
#, c-format
msgid "Warning: ignoring previous --reverse-bytes value of %d"
msgstr ""
-#: objcopy.c:3691
+#: objcopy.c:3692
#, c-format
msgid "%s: invalid reserve value for --heap"
msgstr ""
-#: objcopy.c:3697
+#: objcopy.c:3698
#, c-format
msgid "%s: invalid commit value for --heap"
msgstr ""
-#: objcopy.c:3722
+#: objcopy.c:3723
#, c-format
msgid "%s: invalid reserve value for --stack"
msgstr ""
-#: objcopy.c:3728
+#: objcopy.c:3729
#, c-format
msgid "%s: invalid commit value for --stack"
msgstr ""
-#: objcopy.c:3757
+#: objcopy.c:3758
msgid "byte number must be less than interleave"
msgstr ""
-#: objcopy.c:3784
+#: objcopy.c:3785
#, c-format
msgid "unknown input EFI target: %s"
msgstr ""
-#: objcopy.c:3815
+#: objcopy.c:3816
#, c-format
msgid "unknown output EFI target: %s"
msgstr ""
-#: objcopy.c:3840
+#: objcopy.c:3841
#, c-format
msgid "architecture %s unknown"
msgstr ""
-#: objcopy.c:3844
+#: objcopy.c:3845
msgid ""
"Warning: input target 'binary' required for binary architecture parameter."
msgstr ""
-#: objcopy.c:3845
+#: objcopy.c:3846
#, c-format
msgid " Argument %s ignored"
msgstr ""
-#: objcopy.c:3851
+#: objcopy.c:3852
#, c-format
msgid "warning: could not locate '%s'. System error message: %s"
msgstr ""
-#: objcopy.c:3862
+#: objcopy.c:3863
#, c-format
msgid ""
"warning: could not create temporary file whilst copying '%s', (error: %s)"
msgstr ""
-#: objcopy.c:3890 objcopy.c:3904
+#: objcopy.c:3891 objcopy.c:3905
#, c-format
msgid "%s %s%c0x%s never used"
msgstr ""
@@ -3363,136 +3363,136 @@
msgid " (File Offset: 0x%lx)"
msgstr ""
-#: objdump.c:1885
+#: objdump.c:1886
#, c-format
msgid ""
"\n"
"Disassembly of section %s:\n"
msgstr ""
-#: objdump.c:2058
+#: objdump.c:2062
#, c-format
msgid "Can't use supplied machine %s"
msgstr ""
-#: objdump.c:2077
+#: objdump.c:2081
#, c-format
msgid "Can't disassemble for architecture %s\n"
msgstr ""
-#: objdump.c:2168
+#: objdump.c:2172
#, c-format
msgid ""
"\n"
"Can't get contents for section '%s'.\n"
msgstr ""
-#: objdump.c:2179
+#: objdump.c:2183
#, c-format
msgid ""
"\n"
"Can't uncompress section '%s'.\n"
msgstr ""
-#: objdump.c:2307
+#: objdump.c:2312
#, c-format
msgid ""
"No %s section present\n"
"\n"
msgstr ""
-#: objdump.c:2316
+#: objdump.c:2321
#, c-format
msgid "Reading %s section of %s failed: %s"
msgstr ""
-#: objdump.c:2360
+#: objdump.c:2365
#, c-format
msgid ""
"Contents of %s section:\n"
"\n"
msgstr ""
-#: objdump.c:2491
+#: objdump.c:2496
#, c-format
msgid "architecture: %s, "
msgstr ""
-#: objdump.c:2494
+#: objdump.c:2499
#, c-format
msgid "flags 0x%08x:\n"
msgstr ""
-#: objdump.c:2508
+#: objdump.c:2513
#, c-format
msgid ""
"\n"
"start address 0x"
msgstr ""
-#: objdump.c:2571
+#: objdump.c:2576
#, c-format
msgid "Contents of section %s:"
msgstr ""
-#: objdump.c:2573
+#: objdump.c:2578
#, c-format
msgid " (Starting at file offset: 0x%lx)"
msgstr ""
-#: objdump.c:2680
+#: objdump.c:2685
#, c-format
msgid "no symbols\n"
msgstr ""
-#: objdump.c:2687
+#: objdump.c:2692
#, c-format
msgid "no information for symbol number %ld\n"
msgstr ""
-#: objdump.c:2690
+#: objdump.c:2695
#, c-format
msgid "could not determine the type of symbol number %ld\n"
msgstr ""
-#: objdump.c:2970
+#: objdump.c:2975
#, c-format
msgid ""
"\n"
"%s: file format %s\n"
msgstr ""
-#: objdump.c:3028
+#: objdump.c:3033
#, c-format
msgid "%s: printing debugging information failed"
msgstr ""
-#: objdump.c:3128
+#: objdump.c:3133
#, c-format
msgid "In archive %s:\n"
msgstr ""
-#: objdump.c:3244
+#: objdump.c:3249
msgid "error: the start address should be before the end address"
msgstr ""
-#: objdump.c:3249
+#: objdump.c:3254
msgid "error: the stop address should be after the start address"
msgstr ""
-#: objdump.c:3261
+#: objdump.c:3266
msgid "error: prefix strip must be non-negative"
msgstr ""
-#: objdump.c:3266
+#: objdump.c:3271
msgid "error: instruction width must be positive"
msgstr ""
-#: objdump.c:3275
+#: objdump.c:3280
msgid "unrecognized -E option"
msgstr ""
-#: objdump.c:3286
+#: objdump.c:3291
#, c-format
msgid "unrecognized --endian type `%s'"
msgstr ""
@@ -3551,173 +3551,173 @@
msgid "Unable to read in 0x%lx bytes of %s\n"
msgstr ""
-#: readelf.c:640
+#: readelf.c:645
msgid "Don't know about relocations on this machine architecture\n"
msgstr ""
-#: readelf.c:660 readelf.c:688 readelf.c:754 readelf.c:782
+#: readelf.c:666 readelf.c:696 readelf.c:764 readelf.c:793
msgid "relocs"
msgstr ""
-#: readelf.c:671 readelf.c:699 readelf.c:765 readelf.c:793
+#: readelf.c:678 readelf.c:708 readelf.c:775 readelf.c:804
msgid "out of memory parsing relocs\n"
msgstr ""
-#: readelf.c:898
+#: readelf.c:909
#, c-format
msgid ""
" Offset Info Type Sym. Value Symbol's Name + Addend\n"
msgstr ""
-#: readelf.c:900
+#: readelf.c:911
#, c-format
msgid " Offset Info Type Sym.Value Sym. Name + Addend\n"
msgstr ""
-#: readelf.c:905
+#: readelf.c:916
#, c-format
msgid " Offset Info Type Sym. Value Symbol's Name\n"
msgstr ""
-#: readelf.c:907
+#: readelf.c:918
#, c-format
msgid " Offset Info Type Sym.Value Sym. Name\n"
msgstr ""
-#: readelf.c:915
+#: readelf.c:926
#, c-format
msgid ""
" Offset Info Type Symbol's Value "
"Symbol's Name + Addend\n"
msgstr ""
-#: readelf.c:917
+#: readelf.c:928
#, c-format
msgid ""
" Offset Info Type Sym. Value Sym. Name + "
"Addend\n"
msgstr ""
-#: readelf.c:922
+#: readelf.c:933
#, c-format
msgid ""
" Offset Info Type Symbol's Value "
"Symbol's Name\n"
msgstr ""
-#: readelf.c:924
+#: readelf.c:935
#, c-format
msgid ""
" Offset Info Type Sym. Value Sym. Name\n"
msgstr ""
-#: readelf.c:1211 readelf.c:1370 readelf.c:1378
+#: readelf.c:1222 readelf.c:1381 readelf.c:1389
#, c-format
msgid "unrecognized: %-7lx"
msgstr ""
-#: readelf.c:1236
+#: readelf.c:1247
#, c-format
msgid "<unknown addend: %lx>"
msgstr ""
-#: readelf.c:1328
+#: readelf.c:1339
#, c-format
msgid "<string table index: %3ld>"
msgstr ""
-#: readelf.c:1330
+#: readelf.c:1341
#, c-format
msgid "<corrupt string table index: %3ld>"
msgstr ""
-#: readelf.c:1703
+#: readelf.c:1716
#, c-format
msgid "Processor Specific: %lx"
msgstr ""
-#: readelf.c:1727
+#: readelf.c:1740
#, c-format
msgid "Operating System specific: %lx"
msgstr ""
-#: readelf.c:1731 readelf.c:2613
+#: readelf.c:1744 readelf.c:2626
#, c-format
msgid "<unknown>: %lx"
msgstr ""
-#: readelf.c:1744
+#: readelf.c:1757
msgid "NONE (None)"
msgstr ""
-#: readelf.c:1745
+#: readelf.c:1758
msgid "REL (Relocatable file)"
msgstr ""
-#: readelf.c:1746
+#: readelf.c:1759
msgid "EXEC (Executable file)"
msgstr ""
-#: readelf.c:1747
+#: readelf.c:1760
msgid "DYN (Shared object file)"
msgstr ""
-#: readelf.c:1748
+#: readelf.c:1761
msgid "CORE (Core file)"
msgstr ""
-#: readelf.c:1752
+#: readelf.c:1765
#, c-format
msgid "Processor Specific: (%x)"
msgstr ""
-#: readelf.c:1754
+#: readelf.c:1767
#, c-format
msgid "OS Specific: (%x)"
msgstr ""
-#: readelf.c:1756 readelf.c:2830
+#: readelf.c:1769 readelf.c:2843
#, c-format
msgid "<unknown>: %x"
msgstr ""
-#: readelf.c:1768
+#: readelf.c:1781
msgid "None"
msgstr ""
-#: readelf.c:1879
+#: readelf.c:1892
#, c-format
msgid "<unknown>: 0x%x"
msgstr ""
-#: readelf.c:2136
+#: readelf.c:2149
msgid "unknown"
msgstr ""
-#: readelf.c:2137
+#: readelf.c:2150
msgid "unknown mac"
msgstr ""
-#: readelf.c:2450
+#: readelf.c:2463
msgid "Standalone App"
msgstr ""
-#: readelf.c:2453 readelf.c:3159 readelf.c:3175
+#: readelf.c:2466 readelf.c:3174 readelf.c:3190
#, c-format
msgid "<unknown: %x>"
msgstr ""
-#: readelf.c:2878
+#: readelf.c:2891
#, c-format
msgid "Usage: readelf <option(s)> elf-file(s)\n"
msgstr ""
-#: readelf.c:2879
+#: readelf.c:2892
#, c-format
msgid " Display information about the contents of ELF format files\n"
msgstr ""
-#: readelf.c:2880
+#: readelf.c:2893
#, c-format
msgid ""
" Options are:\n"
@@ -3757,14 +3757,14 @@
" Display the contents of DWARF2 debug sections\n"
msgstr ""
-#: readelf.c:2910
+#: readelf.c:2923
#, c-format
msgid ""
" -i --instruction-dump=<number|name>\n"
" Disassemble the contents of section <number|name>\n"
msgstr ""
-#: readelf.c:2914
+#: readelf.c:2927
#, c-format
msgid ""
" -I --histogram Display histogram of bucket list lengths\n"
@@ -3774,389 +3774,394 @@
" -v --version Display the version number of readelf\n"
msgstr ""
-#: readelf.c:2942 readelf.c:2970 readelf.c:2974 readelf.c:11443
+#: readelf.c:2956 readelf.c:2985 readelf.c:2989 readelf.c:11591
msgid "Out of memory allocating dump request table.\n"
msgstr ""
-#: readelf.c:3129
+#: readelf.c:3144
#, c-format
msgid "Invalid option '-%c'\n"
msgstr ""
-#: readelf.c:3143
+#: readelf.c:3158
msgid "Nothing to do.\n"
msgstr ""
-#: readelf.c:3155 readelf.c:3171 readelf.c:6440
+#: readelf.c:3170 readelf.c:3186 readelf.c:6536
msgid "none"
msgstr ""
-#: readelf.c:3172
+#: readelf.c:3187
msgid "2's complement, little endian"
msgstr ""
-#: readelf.c:3173
+#: readelf.c:3188
msgid "2's complement, big endian"
msgstr ""
-#: readelf.c:3191
+#: readelf.c:3206
msgid "Not an ELF file - it has the wrong magic bytes at the start\n"
msgstr ""
-#: readelf.c:3201
+#: readelf.c:3216
#, c-format
msgid "ELF Header:\n"
msgstr ""
-#: readelf.c:3202
+#: readelf.c:3217
#, c-format
msgid " Magic: "
msgstr ""
-#: readelf.c:3206
+#: readelf.c:3221
#, c-format
msgid " Class: %s\n"
msgstr ""
-#: readelf.c:3208
+#: readelf.c:3223
#, c-format
msgid " Data: %s\n"
msgstr ""
-#: readelf.c:3210
+#: readelf.c:3225
#, c-format
msgid " Version: %d %s\n"
msgstr ""
-#: readelf.c:3217
+#: readelf.c:3232
#, c-format
msgid " OS/ABI: %s\n"
msgstr ""
-#: readelf.c:3219
+#: readelf.c:3234
#, c-format
msgid " ABI Version: %d\n"
msgstr ""
-#: readelf.c:3221
+#: readelf.c:3236
#, c-format
msgid " Type: %s\n"
msgstr ""
-#: readelf.c:3223
+#: readelf.c:3238
#, c-format
msgid " Machine: %s\n"
msgstr ""
-#: readelf.c:3225
+#: readelf.c:3240
#, c-format
msgid " Version: 0x%lx\n"
msgstr ""
-#: readelf.c:3228
+#: readelf.c:3243
#, c-format
msgid " Entry point address: "
msgstr ""
-#: readelf.c:3230
+#: readelf.c:3245
#, c-format
msgid ""
"\n"
" Start of program headers: "
msgstr ""
-#: readelf.c:3232
+#: readelf.c:3247
#, c-format
msgid ""
" (bytes into file)\n"
" Start of section headers: "
msgstr ""
-#: readelf.c:3234
+#: readelf.c:3249
#, c-format
msgid " (bytes into file)\n"
msgstr ""
-#: readelf.c:3236
+#: readelf.c:3251
#, c-format
msgid " Flags: 0x%lx%s\n"
msgstr ""
-#: readelf.c:3239
+#: readelf.c:3254
#, c-format
msgid " Size of this header: %ld (bytes)\n"
msgstr ""
-#: readelf.c:3241
+#: readelf.c:3256
#, c-format
msgid " Size of program headers: %ld (bytes)\n"
msgstr ""
-#: readelf.c:3243
+#: readelf.c:3258
#, c-format
msgid " Number of program headers: %ld\n"
msgstr ""
-#: readelf.c:3245
+#: readelf.c:3260
#, c-format
msgid " Size of section headers: %ld (bytes)\n"
msgstr ""
-#: readelf.c:3247
+#: readelf.c:3262
#, c-format
msgid " Number of section headers: %ld"
msgstr ""
-#: readelf.c:3252
+#: readelf.c:3267
#, c-format
msgid " Section header string table index: %ld"
msgstr ""
-#: readelf.c:3289 readelf.c:3322
+#: readelf.c:3305 readelf.c:3339
msgid "program headers"
msgstr ""
-#: readelf.c:3360 readelf.c:3658 readelf.c:3699 readelf.c:3758 readelf.c:3823
-#: readelf.c:4494 readelf.c:4518 readelf.c:5770 readelf.c:5815 readelf.c:6014
-#: readelf.c:7087 readelf.c:7101 readelf.c:7611 readelf.c:7627 readelf.c:7670
-#: readelf.c:7695 readelf.c:9642 readelf.c:9834 readelf.c:10362
-#: readelf.c:10736 readelf.c:10750 readelf.c:11109
+#: readelf.c:3378 readelf.c:3678 readelf.c:3721 readelf.c:3782 readelf.c:3849
+#: readelf.c:4575 readelf.c:4599 readelf.c:5863 readelf.c:5909 readelf.c:6110
+#: readelf.c:7186 readelf.c:7200 readelf.c:7711 readelf.c:7727 readelf.c:7770
+#: readelf.c:7795 readelf.c:9780 readelf.c:9972 readelf.c:10507
+#: readelf.c:10881 readelf.c:10895 readelf.c:11256
msgid "Out of memory\n"
msgstr ""
-#: readelf.c:3387
+#: readelf.c:3405
#, c-format
msgid ""
"\n"
"There are no program headers in this file.\n"
msgstr ""
-#: readelf.c:3393
+#: readelf.c:3411
#, c-format
msgid ""
"\n"
"Elf file type is %s\n"
msgstr ""
-#: readelf.c:3394
+#: readelf.c:3412
#, c-format
msgid "Entry point "
msgstr ""
-#: readelf.c:3396
+#: readelf.c:3414
#, c-format
msgid ""
"\n"
"There are %d program headers, starting at offset "
msgstr ""
-#: readelf.c:3408 readelf.c:3410
+#: readelf.c:3426 readelf.c:3428
#, c-format
msgid ""
"\n"
"Program Headers:\n"
msgstr ""
-#: readelf.c:3414
+#: readelf.c:3432
#, c-format
msgid ""
" Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align\n"
msgstr ""
-#: readelf.c:3417
+#: readelf.c:3435
#, c-format
msgid ""
" Type Offset VirtAddr PhysAddr FileSiz "
"MemSiz Flg Align\n"
msgstr ""
-#: readelf.c:3421
+#: readelf.c:3439
#, c-format
msgid " Type Offset VirtAddr PhysAddr\n"
msgstr ""
-#: readelf.c:3423
+#: readelf.c:3441
#, c-format
msgid " FileSiz MemSiz Flags Align\n"
msgstr ""
-#: readelf.c:3516
+#: readelf.c:3534
msgid "more than one dynamic segment\n"
msgstr ""
-#: readelf.c:3532
+#: readelf.c:3550
msgid "no .dynamic section in the dynamic segment\n"
msgstr ""
-#: readelf.c:3547
+#: readelf.c:3565
msgid "the .dynamic section is not contained within the dynamic segment\n"
msgstr ""
-#: readelf.c:3550
+#: readelf.c:3568
msgid "the .dynamic section is not the first section in the dynamic segment.\n"
msgstr ""
-#: readelf.c:3558
+#: readelf.c:3576
msgid "Unable to find program interpreter name\n"
msgstr ""
-#: readelf.c:3565
+#: readelf.c:3583
msgid ""
"Internal error: failed to create format string to display program "
"interpreter\n"
msgstr ""
-#: readelf.c:3569
+#: readelf.c:3587
msgid "Unable to read program interpreter name\n"
msgstr ""
-#: readelf.c:3572
+#: readelf.c:3590
#, c-format
msgid ""
"\n"
" [Requesting program interpreter: %s]"
msgstr ""
-#: readelf.c:3584
+#: readelf.c:3602
#, c-format
msgid ""
"\n"
" Section to Segment mapping:\n"
msgstr ""
-#: readelf.c:3585
+#: readelf.c:3603
#, c-format
msgid " Segment Sections...\n"
msgstr ""
-#: readelf.c:3620
+#: readelf.c:3638
msgid "Cannot interpret virtual addresses without program headers.\n"
msgstr ""
-#: readelf.c:3636
+#: readelf.c:3654
#, c-format
msgid "Virtual address 0x%lx not located in any PT_LOAD segment.\n"
msgstr ""
-#: readelf.c:3650 readelf.c:3691
+#: readelf.c:3669 readelf.c:3712
msgid "section headers"
msgstr ""
-#: readelf.c:3735 readelf.c:3800
+#: readelf.c:3757 readelf.c:3824
msgid "symbols"
msgstr ""
-#: readelf.c:3745 readelf.c:3810
+#: readelf.c:3769 readelf.c:3836
msgid "symtab shndx"
msgstr ""
-#: readelf.c:4070 readelf.c:4478
+#: readelf.c:4112 readelf.c:4559
#, c-format
msgid ""
"\n"
"There are no sections in this file.\n"
msgstr ""
-#: readelf.c:4076
+#: readelf.c:4118
#, c-format
msgid "There are %d section headers, starting at offset 0x%lx:\n"
msgstr ""
-#: readelf.c:4096 readelf.c:4595 readelf.c:4821 readelf.c:5116 readelf.c:5524
-#: readelf.c:7421
+#: readelf.c:4139 readelf.c:4676 readelf.c:4903 readelf.c:5203 readelf.c:5616
+#: readelf.c:7521
msgid "string table"
msgstr ""
-#: readelf.c:4163
+#: readelf.c:4206
#, c-format
msgid "Section %d has invalid sh_entsize %lx (expected %lx)\n"
msgstr ""
-#: readelf.c:4183
+#: readelf.c:4226
msgid "File contains multiple dynamic symbol tables\n"
msgstr ""
-#: readelf.c:4196
+#: readelf.c:4239
msgid "File contains multiple dynamic string tables\n"
msgstr ""
-#: readelf.c:4201
+#: readelf.c:4245
msgid "dynamic strings"
msgstr ""
-#: readelf.c:4208
+#: readelf.c:4252
msgid "File contains multiple symtab shndx tables\n"
msgstr ""
-#: readelf.c:4259
+#: readelf.c:4303
#, c-format
msgid ""
"\n"
"Section Headers:\n"
msgstr ""
-#: readelf.c:4261
+#: readelf.c:4305
#, c-format
msgid ""
"\n"
"Section Header:\n"
msgstr ""
-#: readelf.c:4267 readelf.c:4278 readelf.c:4289
+#: readelf.c:4311 readelf.c:4322 readelf.c:4333
#, c-format
msgid " [Nr] Name\n"
msgstr ""
-#: readelf.c:4268
+#: readelf.c:4312
#, c-format
msgid " Type Addr Off Size ES Lk Inf Al\n"
msgstr ""
-#: readelf.c:4272
+#: readelf.c:4316
#, c-format
msgid ""
" [Nr] Name Type Addr Off Size ES Flg Lk "
"Inf Al\n"
msgstr ""
-#: readelf.c:4279
+#: readelf.c:4323
#, c-format
msgid " Type Address Off Size ES Lk Inf Al\n"
msgstr ""
-#: readelf.c:4283
+#: readelf.c:4327
#, c-format
msgid ""
" [Nr] Name Type Address Off Size ES "
"Flg Lk Inf Al\n"
msgstr ""
-#: readelf.c:4290
+#: readelf.c:4334
#, c-format
msgid " Type Address Offset Link\n"
msgstr ""
-#: readelf.c:4291
+#: readelf.c:4335
#, c-format
msgid " Size EntSize Info Align\n"
msgstr ""
-#: readelf.c:4295
+#: readelf.c:4339
#, c-format
msgid " [Nr] Name Type Address Offset\n"
msgstr ""
-#: readelf.c:4296
+#: readelf.c:4340
#, c-format
msgid " Size EntSize Flags Link Info Align\n"
msgstr ""
-#: readelf.c:4301
+#: readelf.c:4345
#, c-format
msgid " Flags\n"
msgstr ""
-#: readelf.c:4435
+#: readelf.c:4420
+#, c-format
+msgid "section %u: sh_link value of %u is larger than the number of sections\n"
+msgstr ""
+
+#: readelf.c:4516
#, c-format
msgid ""
"Key to Flags:\n"
@@ -4165,616 +4170,616 @@
" O (extra OS processing required) o (OS specific), p (processor specific)\n"
msgstr ""
-#: readelf.c:4453
+#: readelf.c:4534
#, c-format
msgid "[<unknown>: 0x%x]"
msgstr ""
-#: readelf.c:4485
+#: readelf.c:4566
msgid "Section headers are not available!\n"
msgstr ""
-#: readelf.c:4509
+#: readelf.c:4590
#, c-format
msgid ""
"\n"
"There are no section groups in this file.\n"
msgstr ""
-#: readelf.c:4546
+#: readelf.c:4627
#, c-format
msgid "Bad sh_link in group section `%s'\n"
msgstr ""
-#: readelf.c:4565
+#: readelf.c:4646
#, c-format
msgid "Bad sh_info in group section `%s'\n"
msgstr ""
-#: readelf.c:4603
+#: readelf.c:4685
msgid "section data"
msgstr ""
-#: readelf.c:4615
+#: readelf.c:4697
#, c-format
msgid " [Index] Name\n"
msgstr ""
-#: readelf.c:4629
+#: readelf.c:4711
#, c-format
msgid "section [%5u] in group section [%5u] > maximum section [%5u]\n"
msgstr ""
-#: readelf.c:4638
+#: readelf.c:4720
#, c-format
msgid "section [%5u] in group section [%5u] already in group section [%5u]\n"
msgstr ""
-#: readelf.c:4651
+#: readelf.c:4733
#, c-format
msgid "section 0 in group section [%5u]\n"
msgstr ""
-#: readelf.c:4746
+#: readelf.c:4828
#, c-format
msgid ""
"\n"
"'%s' relocation section at offset 0x%lx contains %ld bytes:\n"
msgstr ""
-#: readelf.c:4758
+#: readelf.c:4840
#, c-format
msgid ""
"\n"
"There are no dynamic relocations in this file.\n"
msgstr ""
-#: readelf.c:4782
+#: readelf.c:4864
#, c-format
msgid ""
"\n"
"Relocation section "
msgstr ""
-#: readelf.c:4787 readelf.c:5192 readelf.c:5206 readelf.c:5539
+#: readelf.c:4869 readelf.c:5279 readelf.c:5294 readelf.c:5631
#, c-format
msgid "'%s'"
msgstr ""
-#: readelf.c:4789 readelf.c:5208 readelf.c:5541
+#: readelf.c:4871 readelf.c:5296 readelf.c:5633
#, c-format
msgid " at offset 0x%lx contains %lu entries:\n"
msgstr ""
-#: readelf.c:4840
+#: readelf.c:4922
#, c-format
msgid ""
"\n"
"There are no relocations in this file.\n"
msgstr ""
-#: readelf.c:5022 readelf.c:5390
+#: readelf.c:5107 readelf.c:5480
msgid "unwind table"
msgstr ""
-#: readelf.c:5063 readelf.c:5471
+#: readelf.c:5149 readelf.c:5562
#, c-format
msgid "Skipping unexpected relocation type %s\n"
msgstr ""
-#: readelf.c:5124 readelf.c:5532 readelf.c:5585
+#: readelf.c:5211 readelf.c:5624 readelf.c:5677
#, c-format
msgid ""
"\n"
"There are no unwind sections in this file.\n"
msgstr ""
-#: readelf.c:5187
+#: readelf.c:5274
#, c-format
msgid ""
"\n"
"Could not find unwind info section for "
msgstr ""
-#: readelf.c:5199
+#: readelf.c:5287
msgid "unwind info"
msgstr ""
-#: readelf.c:5201 readelf.c:5538
+#: readelf.c:5289 readelf.c:5630
#, c-format
msgid ""
"\n"
"Unwind section "
msgstr ""
-#: readelf.c:5751 readelf.c:5796
+#: readelf.c:5843 readelf.c:5889
msgid "dynamic section"
msgstr ""
-#: readelf.c:5873
+#: readelf.c:5967
#, c-format
msgid ""
"\n"
"There is no dynamic section in this file.\n"
msgstr ""
-#: readelf.c:5911
+#: readelf.c:6005
msgid "Unable to seek to end of file!\n"
msgstr ""
-#: readelf.c:5924
+#: readelf.c:6018
msgid "Unable to determine the number of symbols to load\n"
msgstr ""
-#: readelf.c:5959
+#: readelf.c:6053
msgid "Unable to seek to end of file\n"
msgstr ""
-#: readelf.c:5966
+#: readelf.c:6060
msgid "Unable to determine the length of the dynamic string table\n"
msgstr ""
-#: readelf.c:5971
+#: readelf.c:6066
msgid "dynamic string table"
msgstr ""
-#: readelf.c:6007
+#: readelf.c:6103
msgid "symbol information"
msgstr ""
-#: readelf.c:6032
+#: readelf.c:6128
#, c-format
msgid ""
"\n"
"Dynamic section at offset 0x%lx contains %u entries:\n"
msgstr ""
-#: readelf.c:6035
+#: readelf.c:6131
#, c-format
msgid " Tag Type Name/Value\n"
msgstr ""
-#: readelf.c:6071
+#: readelf.c:6167
#, c-format
msgid "Auxiliary library"
msgstr ""
-#: readelf.c:6075
+#: readelf.c:6171
#, c-format
msgid "Filter library"
msgstr ""
-#: readelf.c:6079
+#: readelf.c:6175
#, c-format
msgid "Configuration file"
msgstr ""
-#: readelf.c:6083
+#: readelf.c:6179
#, c-format
msgid "Dependency audit library"
msgstr ""
-#: readelf.c:6087
+#: readelf.c:6183
#, c-format
msgid "Audit library"
msgstr ""
-#: readelf.c:6105 readelf.c:6133 readelf.c:6161
+#: readelf.c:6201 readelf.c:6229 readelf.c:6257
#, c-format
msgid "Flags:"
msgstr ""
-#: readelf.c:6108 readelf.c:6136 readelf.c:6163
+#: readelf.c:6204 readelf.c:6232 readelf.c:6259
#, c-format
msgid " None\n"
msgstr ""
-#: readelf.c:6284
+#: readelf.c:6380
#, c-format
msgid "Shared library: [%s]"
msgstr ""
-#: readelf.c:6287
+#: readelf.c:6383
#, c-format
msgid " program interpreter"
msgstr ""
-#: readelf.c:6291
+#: readelf.c:6387
#, c-format
msgid "Library soname: [%s]"
msgstr ""
-#: readelf.c:6295
+#: readelf.c:6391
#, c-format
msgid "Library rpath: [%s]"
msgstr ""
-#: readelf.c:6299
+#: readelf.c:6395
#, c-format
msgid "Library runpath: [%s]"
msgstr ""
-#: readelf.c:6362
+#: readelf.c:6458
#, c-format
msgid "Not needed object: [%s]\n"
msgstr ""
-#: readelf.c:6487
+#: readelf.c:6583
#, c-format
msgid ""
"\n"
"Version definition section '%s' contains %u entries:\n"
msgstr ""
-#: readelf.c:6490
+#: readelf.c:6586
#, c-format
msgid " Addr: 0x"
msgstr ""
-#: readelf.c:6492 readelf.c:6594 readelf.c:6715
+#: readelf.c:6588 readelf.c:6690 readelf.c:6813
#, c-format
msgid " Offset: %#08lx Link: %u (%s)\n"
msgstr ""
-#: readelf.c:6500
+#: readelf.c:6596
msgid "version definition section"
msgstr ""
-#: readelf.c:6529
+#: readelf.c:6625
#, c-format
msgid " %#06x: Rev: %d Flags: %s"
msgstr ""
-#: readelf.c:6532
+#: readelf.c:6628
#, c-format
msgid " Index: %d Cnt: %d "
msgstr ""
-#: readelf.c:6543
+#: readelf.c:6639
#, c-format
msgid "Name: %s\n"
msgstr ""
-#: readelf.c:6545
+#: readelf.c:6641
#, c-format
msgid "Name index: %ld\n"
msgstr ""
-#: readelf.c:6562
+#: readelf.c:6658
#, c-format
msgid " %#06x: Parent %d: %s\n"
msgstr ""
-#: readelf.c:6565
+#: readelf.c:6661
#, c-format
msgid " %#06x: Parent %d, name index: %ld\n"
msgstr ""
-#: readelf.c:6569
+#: readelf.c:6665
#, c-format
msgid " Version def aux past end of section\n"
msgstr ""
-#: readelf.c:6574
+#: readelf.c:6670
#, c-format
msgid " Version definition past end of section\n"
msgstr ""
-#: readelf.c:6589
+#: readelf.c:6685
#, c-format
msgid ""
"\n"
"Version needs section '%s' contains %u entries:\n"
msgstr ""
-#: readelf.c:6592
+#: readelf.c:6688
#, c-format
msgid " Addr: 0x"
msgstr ""
-#: readelf.c:6602
+#: readelf.c:6699
msgid "version need section"
msgstr ""
-#: readelf.c:6627
+#: readelf.c:6724
#, c-format
msgid " %#06x: Version: %d"
msgstr ""
-#: readelf.c:6630
+#: readelf.c:6727
#, c-format
msgid " File: %s"
msgstr ""
-#: readelf.c:6632
+#: readelf.c:6729
#, c-format
msgid " File: %lx"
msgstr ""
-#: readelf.c:6634
+#: readelf.c:6731
#, c-format
msgid " Cnt: %d\n"
msgstr ""
-#: readelf.c:6654
+#: readelf.c:6751
#, c-format
msgid " %#06x: Name: %s"
msgstr ""
-#: readelf.c:6657
+#: readelf.c:6754
#, c-format
msgid " %#06x: Name index: %lx"
msgstr ""
-#: readelf.c:6660
+#: readelf.c:6757
#, c-format
msgid " Flags: %s Version: %d\n"
msgstr ""
-#: readelf.c:6667
+#: readelf.c:6764
#, c-format
msgid " Version need aux past end of section\n"
msgstr ""
-#: readelf.c:6672
+#: readelf.c:6769
#, c-format
msgid " Version need past end of section\n"
msgstr ""
-#: readelf.c:6706
+#: readelf.c:6804
msgid "version string table"
msgstr ""
-#: readelf.c:6710
+#: readelf.c:6808
#, c-format
msgid ""
"\n"
"Version symbols section '%s' contains %d entries:\n"
msgstr ""
-#: readelf.c:6713
+#: readelf.c:6811
#, c-format
msgid " Addr: "
msgstr ""
-#: readelf.c:6723
+#: readelf.c:6822
msgid "version symbol data"
msgstr ""
-#: readelf.c:6750
+#: readelf.c:6849
msgid " 0 (*local*) "
msgstr ""
-#: readelf.c:6754
+#: readelf.c:6853
msgid " 1 (*global*) "
msgstr ""
-#: readelf.c:6791 readelf.c:7488
+#: readelf.c:6890 readelf.c:7588
msgid "version need"
msgstr ""
-#: readelf.c:6801
+#: readelf.c:6900
msgid "version need aux (2)"
msgstr ""
-#: readelf.c:6816 readelf.c:6871
+#: readelf.c:6915 readelf.c:6970
msgid "*invalid*"
msgstr ""
-#: readelf.c:6846 readelf.c:7553
+#: readelf.c:6945 readelf.c:7653
msgid "version def"
msgstr ""
-#: readelf.c:6866 readelf.c:7568
+#: readelf.c:6965 readelf.c:7668
msgid "version def aux"
msgstr ""
-#: readelf.c:6900
+#: readelf.c:6999
#, c-format
msgid ""
"\n"
"No version information found in this file.\n"
msgstr ""
-#: readelf.c:7034
+#: readelf.c:7133
#, c-format
msgid "<other>: %x"
msgstr ""
-#: readelf.c:7093
+#: readelf.c:7192
msgid "Unable to read in dynamic data\n"
msgstr ""
-#: readelf.c:7184 readelf.c:7234 readelf.c:7258 readelf.c:7288 readelf.c:7312
+#: readelf.c:7283 readelf.c:7333 readelf.c:7357 readelf.c:7387 readelf.c:7411
msgid "Unable to seek to start of dynamic information\n"
msgstr ""
-#: readelf.c:7190 readelf.c:7240
+#: readelf.c:7289 readelf.c:7339
msgid "Failed to read in number of buckets\n"
msgstr ""
-#: readelf.c:7196
+#: readelf.c:7295
msgid "Failed to read in number of chains\n"
msgstr ""
-#: readelf.c:7296
+#: readelf.c:7395
msgid "Failed to determine last chain length\n"
msgstr ""
-#: readelf.c:7340
+#: readelf.c:7439
#, c-format
msgid ""
"\n"
"Symbol table for image:\n"
msgstr ""
-#: readelf.c:7342 readelf.c:7360
+#: readelf.c:7441 readelf.c:7459
#, c-format
msgid " Num Buc: Value Size Type Bind Vis Ndx Name\n"
msgstr ""
-#: readelf.c:7344 readelf.c:7362
+#: readelf.c:7443 readelf.c:7461
#, c-format
msgid " Num Buc: Value Size Type Bind Vis Ndx Name\n"
msgstr ""
-#: readelf.c:7358
+#: readelf.c:7457
#, c-format
msgid ""
"\n"
"Symbol table of `.gnu.hash' for image:\n"
msgstr ""
-#: readelf.c:7397
+#: readelf.c:7496
#, c-format
msgid ""
"\n"
"Symbol table '%s' contains %lu entries:\n"
msgstr ""
-#: readelf.c:7401
+#: readelf.c:7500
#, c-format
msgid " Num: Value Size Type Bind Vis Ndx Name\n"
msgstr ""
-#: readelf.c:7403
+#: readelf.c:7502
#, c-format
msgid " Num: Value Size Type Bind Vis Ndx Name\n"
msgstr ""
-#: readelf.c:7459
+#: readelf.c:7559
msgid "version data"
msgstr ""
-#: readelf.c:7501
+#: readelf.c:7601
msgid "version need aux (3)"
msgstr ""
-#: readelf.c:7528
+#: readelf.c:7628
msgid "bad dynamic symbol\n"
msgstr ""
-#: readelf.c:7592
+#: readelf.c:7692
#, c-format
msgid ""
"\n"
"Dynamic symbol information is not available for displaying symbols.\n"
msgstr ""
-#: readelf.c:7604
+#: readelf.c:7704
#, c-format
msgid ""
"\n"
"Histogram for bucket list length (total of %lu buckets):\n"
msgstr ""
-#: readelf.c:7606 readelf.c:7676
+#: readelf.c:7706 readelf.c:7776
#, c-format
msgid " Length Number %% of total Coverage\n"
msgstr ""
-#: readelf.c:7674
+#: readelf.c:7774
#, c-format
msgid ""
"\n"
"Histogram for `.gnu.hash' bucket list length (total of %lu buckets):\n"
msgstr ""
-#: readelf.c:7740
+#: readelf.c:7840
#, c-format
msgid ""
"\n"
"Dynamic info segment at offset 0x%lx contains %d entries:\n"
msgstr ""
-#: readelf.c:7743
+#: readelf.c:7843
#, c-format
msgid " Num: Name BoundTo Flags\n"
msgstr ""
-#: readelf.c:7834
+#: readelf.c:7934
msgid "Unhandled MN10300 reloc type found after SYM_DIFF reloc"
msgstr ""
-#: readelf.c:7982
+#: readelf.c:8082
#, c-format
msgid ""
"Missing knowledge of 32-bit reloc types used in DWARF sections of machine "
"number %d\n"
msgstr ""
-#: readelf.c:8251
+#: readelf.c:8375
#, c-format
msgid "unable to apply unsupported reloc type %d to section %s\n"
msgstr ""
-#: readelf.c:8259
+#: readelf.c:8383
#, c-format
msgid "skipping invalid relocation offset 0x%lx in section %s\n"
msgstr ""
-#: readelf.c:8283
+#: readelf.c:8407
#, c-format
msgid "skipping unexpected symbol type %s in %ld'th relocation in section %s\n"
msgstr ""
-#: readelf.c:8315
+#: readelf.c:8449
#, c-format
msgid ""
"\n"
"Assembly dump of section %s\n"
msgstr ""
-#: readelf.c:8336
+#: readelf.c:8470
#, c-format
msgid ""
"\n"
"Section '%s' has no data to dump.\n"
msgstr ""
-#: readelf.c:8342
+#: readelf.c:8476
msgid "section contents"
msgstr ""
-#: readelf.c:8362
+#: readelf.c:8496
#, c-format
msgid ""
"\n"
"String dump of section '%s':\n"
msgstr ""
-#: readelf.c:8380
+#: readelf.c:8514
#, c-format
msgid ""
" Note: This section has relocations against it, but these have NOT been "
"applied to this dump.\n"
msgstr ""
-#: readelf.c:8409
+#: readelf.c:8543
#, c-format
msgid " No strings found in this section."
msgstr ""
-#: readelf.c:8431
+#: readelf.c:8565
#, c-format
msgid ""
"\n"
"Hex dump of section '%s':\n"
msgstr ""
-#: readelf.c:8455
+#: readelf.c:8589
#, c-format
msgid ""
" NOTE: This section has relocations against it, but these have NOT been "
"applied to this dump.\n"
msgstr ""
-#: readelf.c:8593
+#: readelf.c:8727
#, c-format
msgid "%s section data"
msgstr ""
-#: readelf.c:8658
+#: readelf.c:8793
#, c-format
msgid ""
"\n"
@@ -4785,130 +4790,130 @@
#. 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:8667
+#: readelf.c:8802
#, c-format
msgid "section '%s' has the NOBITS type - its contents are unreliable.\n"
msgstr ""
-#: readelf.c:8702
+#: readelf.c:8838
#, c-format
msgid "Unrecognized debug section: %s\n"
msgstr ""
-#: readelf.c:8730
+#: readelf.c:8866
#, c-format
msgid "Section '%s' was not dumped because it does not exist!\n"
msgstr ""
-#: readelf.c:8771
+#: readelf.c:8907
#, c-format
msgid "Section %d was not dumped because it does not exist!\n"
msgstr ""
-#: readelf.c:9285
+#: readelf.c:9421
msgid "attributes"
msgstr ""
-#: readelf.c:9306
+#: readelf.c:9442
#, c-format
msgid "ERROR: Bad section length (%d > %d)\n"
msgstr ""
-#: readelf.c:9337
+#: readelf.c:9473
#, c-format
msgid "ERROR: Bad subsection length (%d > %d)\n"
msgstr ""
-#: readelf.c:9396
+#: readelf.c:9532
#, c-format
msgid "Unknown format '%c'\n"
msgstr ""
-#: readelf.c:9549 readelf.c:10065
+#: readelf.c:9686 readelf.c:10208
msgid "liblist"
msgstr ""
-#: readelf.c:9636
+#: readelf.c:9773
msgid "options"
msgstr ""
-#: readelf.c:9666
+#: readelf.c:9804
#, c-format
msgid ""
"\n"
"Section '%s' contains %d entries:\n"
msgstr ""
-#: readelf.c:9827
+#: readelf.c:9965
msgid "conflict list found without a dynamic symbol table\n"
msgstr ""
-#: readelf.c:9843 readelf.c:9857
+#: readelf.c:9982 readelf.c:9997
msgid "conflict"
msgstr ""
-#: readelf.c:9867
+#: readelf.c:10007
#, c-format
msgid ""
"\n"
"Section '.conflict' contains %lu entries:\n"
msgstr ""
-#: readelf.c:9869
+#: readelf.c:10009
msgid " Num: Index Value Name"
msgstr ""
-#: readelf.c:9901
+#: readelf.c:10042
msgid "GOT"
msgstr ""
-#: readelf.c:9902
+#: readelf.c:10043
#, c-format
msgid ""
"\n"
"Primary GOT:\n"
msgstr ""
-#: readelf.c:9903
+#: readelf.c:10044
#, c-format
msgid " Canonical gp value: "
msgstr ""
-#: readelf.c:9907 readelf.c:9998
+#: readelf.c:10048 readelf.c:10140
#, c-format
msgid " Reserved entries:\n"
msgstr ""
-#: readelf.c:9908
+#: readelf.c:10049
#, c-format
msgid " %*s %10s %*s Purpose\n"
msgstr ""
-#: readelf.c:9924
+#: readelf.c:10065
#, c-format
msgid " Local entries:\n"
msgstr ""
-#: readelf.c:9925
+#: readelf.c:10066
#, c-format
msgid " %*s %10s %*s\n"
msgstr ""
-#: readelf.c:9940
+#: readelf.c:10081
#, c-format
msgid " Global entries:\n"
msgstr ""
-#: readelf.c:9941
+#: readelf.c:10082
#, c-format
msgid " %*s %10s %*s %*s %-7s %3s %s\n"
msgstr ""
-#: readelf.c:9996
+#: readelf.c:10138
msgid "PLT GOT"
msgstr ""
-#: readelf.c:9997
+#: readelf.c:10139
#, c-format
msgid ""
"\n"
@@ -4916,340 +4921,340 @@
"\n"
msgstr ""
-#: readelf.c:9999
+#: readelf.c:10141
#, c-format
msgid " %*s %*s Purpose\n"
msgstr ""
-#: readelf.c:10007
+#: readelf.c:10149
#, c-format
msgid " Entries:\n"
msgstr ""
-#: readelf.c:10008
+#: readelf.c:10150
#, c-format
msgid " %*s %*s %*s %-7s %3s %s\n"
msgstr ""
-#: readelf.c:10072
+#: readelf.c:10216
msgid "liblist string table"
msgstr ""
-#: readelf.c:10082
+#: readelf.c:10226
#, c-format
msgid ""
"\n"
"Library list section '%s' contains %lu entries:\n"
msgstr ""
-#: readelf.c:10135
+#: readelf.c:10279
msgid "NT_AUXV (auxiliary vector)"
msgstr ""
-#: readelf.c:10137
+#: readelf.c:10281
msgid "NT_PRSTATUS (prstatus structure)"
msgstr ""
-#: readelf.c:10139
+#: readelf.c:10283
msgid "NT_FPREGSET (floating point registers)"
msgstr ""
-#: readelf.c:10141
+#: readelf.c:10285
msgid "NT_PRPSINFO (prpsinfo structure)"
msgstr ""
-#: readelf.c:10143
+#: readelf.c:10287
msgid "NT_TASKSTRUCT (task structure)"
msgstr ""
-#: readelf.c:10145
+#: readelf.c:10289
msgid "NT_PRXFPREG (user_xfpregs structure)"
msgstr ""
-#: readelf.c:10147
+#: readelf.c:10291
msgid "NT_PPC_VMX (ppc Altivec registers)"
msgstr ""
-#: readelf.c:10149
+#: readelf.c:10293
msgid "NT_PPC_VSX (ppc VSX registers)"
msgstr ""
-#: readelf.c:10151
+#: readelf.c:10295
msgid "NT_PSTATUS (pstatus structure)"
msgstr ""
-#: readelf.c:10153
+#: readelf.c:10297
msgid "NT_FPREGS (floating point registers)"
msgstr ""
-#: readelf.c:10155
+#: readelf.c:10299
msgid "NT_PSINFO (psinfo structure)"
msgstr ""
-#: readelf.c:10157
+#: readelf.c:10301
msgid "NT_LWPSTATUS (lwpstatus_t structure)"
msgstr ""
-#: readelf.c:10159
+#: readelf.c:10303
msgid "NT_LWPSINFO (lwpsinfo_t structure)"
msgstr ""
-#: readelf.c:10161
+#: readelf.c:10305
msgid "NT_WIN32PSTATUS (win32_pstatus structure)"
msgstr ""
-#: readelf.c:10169
+#: readelf.c:10313
msgid "NT_VERSION (version)"
msgstr ""
-#: readelf.c:10171
+#: readelf.c:10315
msgid "NT_ARCH (architecture)"
msgstr ""
-#: readelf.c:10176 readelf.c:10199 readelf.c:10221
+#: readelf.c:10320 readelf.c:10343 readelf.c:10365
#, c-format
msgid "Unknown note type: (0x%08x)"
msgstr ""
-#: readelf.c:10188
+#: readelf.c:10332
msgid "NT_GNU_ABI_TAG (ABI version tag)"
msgstr ""
-#: readelf.c:10190
+#: readelf.c:10334
msgid "NT_GNU_HWCAP (DSO-supplied software HWCAP info)"
msgstr ""
-#: readelf.c:10192
+#: readelf.c:10336
msgid "NT_GNU_BUILD_ID (unique build ID bitstring)"
msgstr ""
-#: readelf.c:10194
+#: readelf.c:10338
msgid "NT_GNU_GOLD_VERSION (gold version)"
msgstr ""
#. NetBSD core "procinfo" structure.
-#: readelf.c:10211
+#: readelf.c:10355
msgid "NetBSD procinfo structure"
msgstr ""
-#: readelf.c:10238 readelf.c:10252
+#: readelf.c:10382 readelf.c:10396
msgid "PT_GETREGS (reg structure)"
msgstr ""
-#: readelf.c:10240 readelf.c:10254
+#: readelf.c:10384 readelf.c:10398
msgid "PT_GETFPREGS (fpreg structure)"
msgstr ""
-#: readelf.c:10260
+#: readelf.c:10404
#, c-format
msgid "PT_FIRSTMACH+%d"
msgstr ""
-#: readelf.c:10316
+#: readelf.c:10461
msgid "notes"
msgstr ""
-#: readelf.c:10322
+#: readelf.c:10467
#, c-format
msgid ""
"\n"
"Notes at offset 0x%08lx with length 0x%08lx:\n"
msgstr ""
-#: readelf.c:10324
+#: readelf.c:10469
#, c-format
msgid " Owner\t\tData size\tDescription\n"
msgstr ""
-#: readelf.c:10343
+#: readelf.c:10488
#, c-format
msgid "corrupt note found at offset %lx into core notes\n"
msgstr ""
-#: readelf.c:10345
+#: readelf.c:10490
#, c-format
msgid " type: %lx, namesize: %08lx, descsize: %08lx\n"
msgstr ""
-#: readelf.c:10443
+#: readelf.c:10588
#, c-format
msgid "No note segments present in the core file.\n"
msgstr ""
-#: readelf.c:10527
+#: readelf.c:10672
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:10574
+#: readelf.c:10719
#, c-format
msgid "%s: Failed to read file header\n"
msgstr ""
-#: readelf.c:10587
+#: readelf.c:10732
#, c-format
msgid ""
"\n"
"File: %s\n"
msgstr ""
-#: readelf.c:10802
+#: readelf.c:10947
#, c-format
msgid "%s: failed to seek to first archive header\n"
msgstr ""
-#: readelf.c:10811 readelf.c:11076 readelf.c:11246
+#: readelf.c:10956 readelf.c:11223 readelf.c:11393
#, c-format
msgid "%s: failed to read archive header\n"
msgstr ""
-#: readelf.c:10836
+#: readelf.c:10981
#, c-format
msgid "%s: the archive index is empty\n"
msgstr ""
-#: readelf.c:10844 readelf.c:10867
+#: readelf.c:10989 readelf.c:11013
#, c-format
msgid "%s: failed to read archive index\n"
msgstr ""
-#: readelf.c:10853
+#: readelf.c:10998
#, 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:10860
+#: readelf.c:11006
msgid "Out of memory whilst trying to read archive symbol index\n"
msgstr ""
-#: readelf.c:10877
+#: readelf.c:11024
msgid "Out of memory whilst trying to convert the archive symbol index\n"
msgstr ""
-#: readelf.c:10889
+#: readelf.c:11036
#, c-format
msgid "%s: the archive has an index but no symbols\n"
msgstr ""
-#: readelf.c:10896
+#: readelf.c:11043
msgid "Out of memory whilst trying to read archive index symbol table\n"
msgstr ""
-#: readelf.c:10902
+#: readelf.c:11049
#, c-format
msgid "%s: failed to read archive index symbol table\n"
msgstr ""
-#: readelf.c:10910
+#: readelf.c:11057
#, c-format
msgid "%s: failed to skip archive symbol table\n"
msgstr ""
-#: readelf.c:10921
+#: readelf.c:11068
#, c-format
msgid "%s: failed to read archive header following archive index\n"
msgstr ""
-#: readelf.c:10926
+#: readelf.c:11073
#, c-format
msgid "%s has no archive index\n"
msgstr ""
-#: readelf.c:10937
+#: readelf.c:11084
msgid "Out of memory reading long symbol names in archive\n"
msgstr ""
-#: readelf.c:10945
+#: readelf.c:11092
#, c-format
msgid "%s: failed to read long symbol name string table\n"
msgstr ""
-#: readelf.c:11070
+#: readelf.c:11217
#, c-format
msgid "%s: failed to seek to next file name\n"
msgstr ""
-#: readelf.c:11081 readelf.c:11252
+#: readelf.c:11228 readelf.c:11399
#, c-format
msgid "%s: did not find a valid archive header\n"
msgstr ""
-#: readelf.c:11162
+#: readelf.c:11309
#, c-format
msgid "%s: unable to dump the index as none was found\n"
msgstr ""
-#: readelf.c:11168
+#: readelf.c:11315
#, c-format
msgid "Index of archive %s: (%ld entries, 0x%lx bytes in the symbol table)\n"
msgstr ""
-#: readelf.c:11186
+#: readelf.c:11333
#, c-format
msgid "Binary %s contains:\n"
msgstr ""
-#: readelf.c:11194
+#: readelf.c:11341
#, c-format
msgid "%s: end of the symbol table reached before the end of the index\n"
msgstr ""
-#: readelf.c:11205
+#: readelf.c:11352
#, c-format
msgid ""
"%s: symbols remain in the index symbol table, but without corresponding "
"entries in the index table\n"
msgstr ""
-#: readelf.c:11210
+#: readelf.c:11357
#, c-format
msgid "%s: failed to seek back to start of object files in the archive\n"
msgstr ""
-#: readelf.c:11238
+#: readelf.c:11385
#, c-format
msgid "%s: failed to seek to next archive header\n"
msgstr ""
-#: readelf.c:11266 readelf.c:11275
+#: readelf.c:11413 readelf.c:11422
#, c-format
msgid "%s: bad archive file name\n"
msgstr ""
-#: readelf.c:11294 readelf.c:11370
+#: readelf.c:11441 readelf.c:11517
#, c-format
msgid "Input file '%s' is not readable.\n"
msgstr ""
-#: readelf.c:11316
+#: readelf.c:11463
#, c-format
msgid "%s: failed to seek to archive member.\n"
msgstr ""
-#: readelf.c:11354
+#: readelf.c:11501
#, c-format
msgid "'%s': No such file\n"
msgstr ""
-#: readelf.c:11356
+#: readelf.c:11503
#, c-format
msgid "Could not locate '%s'. System error message: %s\n"
msgstr ""
-#: readelf.c:11363
+#: readelf.c:11510
#, c-format
msgid "'%s' is not an ordinary file\n"
msgstr ""
-#: readelf.c:11376
+#: readelf.c:11523
#, c-format
msgid "%s: Failed to read file's magic number\n"
msgstr ""
-#: readelf.c:11388
+#: readelf.c:11535
#, c-format
msgid "File %s is not an archive so its index cannot be displayed.\n"
msgstr ""
diff --git a/binutils/binutils/prdbg.c b/binutils/binutils/prdbg.c
index d6988dc..a11f043 100644
--- a/binutils/binutils/prdbg.c
+++ b/binutils/binutils/prdbg.c
@@ -2088,8 +2088,7 @@
static bfd_boolean
tg_end_struct_type (void *p ATTRIBUTE_UNUSED)
{
- struct pr_handle *info = (struct pr_handle *) p;
- assert (info->stack != NULL);
+ assert (((struct pr_handle *) p)->stack != NULL);
return TRUE;
}
diff --git a/binutils/binutils/readelf.c b/binutils/binutils/readelf.c
index 2bfb3f6..e329d45 100644
--- a/binutils/binutils/readelf.c
+++ b/binutils/binutils/readelf.c
@@ -165,7 +165,7 @@
static unsigned long dynamic_syminfo_offset;
static unsigned int dynamic_syminfo_nent;
static char program_interpreter[PATH_MAX];
-static bfd_vma dynamic_info[DT_JMPREL + 1];
+static bfd_vma dynamic_info[DT_ENCODING];
static bfd_vma dynamic_info_DT_GNU_HASH;
static bfd_vma version_info[16];
static Elf_Internal_Ehdr elf_header;
diff --git a/binutils/gas/ChangeLog b/binutils/gas/ChangeLog
index eb6cd26..8e80aaf 100644
--- a/binutils/gas/ChangeLog
+++ b/binutils/gas/ChangeLog
@@ -1,3 +1,95 @@
+2010-03-01 Tristan Gingold <gingold@adacore.com>
+
+ * config/tc-score7.c (s7_frag_check): Add ATTRIBUTE_UNUSED.
+
+2010-02-08 Christophe Lyon <christophe.lyon@st.com>
+
+ * config/tc-arm.c (md_pcrel_from_section): Keep base to zero for
+ non-local branches (BFD_RELOC_THUMB_PCREL_BRANCH23,
+ BFD_RELOC_THUMB_PCREL_BLX, BFD_RELOC_ARM_PCREL_BLX,
+ BFD_RELOC_ARM_PCREL_CALL)
+
+2010-02-10 Richard Sandiford <r.sandiford@uk.ibm.com>
+
+ * config/tc-ppc.c (md_show_usage): Add -mpwr4, -mpwr5, -mpwr5x,
+ -mpwr6 and -mpwr7.
+
+2010-01-30 Richard Sandiford <r.sandiford@uk.ibm.com>
+
+ * write.h (fix_at_start): Declare.
+ * write.c (fix_new_internal): Add at_beginning parameter.
+ Use it instead of REVERSE_SORT_RELOCS. Fix the handling of
+ seg_fix_tailP for the at_beginning/REVERSE_SORT_RELOCS case.
+ (fix_new, fix_new_exp): Update accordingly.
+ (fix_at_start): New function.
+ * config/tc-ppc.c (md_pseudo_table): Add .ref to the OBJ_XCOFF section.
+ (ppc_ref): New function, for OBJ_XCOFF.
+ (md_apply_fix): Handle BFD_RELOC_NONE for OBJ_XCOFF.
+ * config/te-i386aix.h (REVERSE_SORT_RELOCS): Remove #undef.
+
+2010-01-27 Dave Korn <dave.korn.cygwin@gmail.com>
+
+ Backport from trunk:
+ * NEWS: Mention new feature.
+ * config/obj-coff.c (obj_coff_section): Accept digits and use
+ to override default section alignment power if specified.
+ * doc/as.texinfo (.section directive): Update documentation.
+
+2010-01-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * config/te-solaris.h (DWARF2_EH_FRAME_READ_ONLY): Make read-only
+ on 64-bit Solaris/x86.
+ Include obj-format.h earlier.
+
+2010-01-12 Alan Modra <amodra@gmail.com>
+
+ PR 11122
+ * listing.c (print_source): Add one to line number.
+
+2009-12-24 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
+
+ Backport from trunk:
+ 2009-12-21 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
+ Richard Earnshaw <richard.earnshaw@arm.com>
+
+ * config/tc-arm.c (encode_thumb2_b_bl_offset): New. Refactored
+ from md_apply_fix.
+ (md_apply_fix): Fixup range checks for Thumb2 version
+ of unconditional calls. Call encode_thumb2_b_bl_offset for
+ unconditional branches / function calls.
+
+2009-12-15 H.J. Lu <hongjiu.lu@intel.com>
+
+ Backport from trunk:
+ 2009-12-07 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR gas/11037
+ * expr.c (resolve_expression): Call symbol_same_p to check
+ if 2 symbols are the same.
+
+ * symbols.c (symbol_same_p): New.
+ * symbols.h (symbol_same_p): Likewise.
+
+2009-12-03 Nick Clifton <nickc@redhat.com>
+
+ PR gas/11011
+ Import this patch from the mainline:
+ 2009-10-18 Alan Modra <amodra@bigpond.net.au>
+
+ * as.h (know): Don't define as empty.
+
+2009-10-28 Alan Modra <amodra@bigpond.net.au>
+
+ PR gas/10856
+ * expr.c (resolve_expression): Only add "left" value to O_symbol
+ expression when the symbol is undefined and different from the
+ original symbol. Simplify negative logic.
+
+2009-10-18 Matthias Klose <doko@ubuntu.com>
+
+ * config/tc-arm.c (make_mapping_symbol): Add braces to avoid empty body
+ in release builds.
+
2009-10-13 Alan Modra <amodra@bigpond.net.au>
H.J. Lu <hongjiu.lu@intel.com>
diff --git a/binutils/gas/Makefile.in b/binutils/gas/Makefile.in
index e313686..0b11739 100644
--- a/binutils/gas/Makefile.in
+++ b/binutils/gas/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11 from Makefile.am.
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
@@ -2172,7 +2172,7 @@
# (which will cause the Makefiles to be regenerated when you run `make');
# (2) otherwise, pass the desired values on the `make' command line.
$(RECURSIVE_TARGETS):
- @failcom='exit 1'; \
+ @fail= failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \
case $$f in \
*=* | --[!k]*);; \
@@ -2197,7 +2197,7 @@
fi; test -z "$$fail"
$(RECURSIVE_CLEAN_TARGETS):
- @failcom='exit 1'; \
+ @fail= failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \
case $$f in \
*=* | --[!k]*);; \
diff --git a/binutils/gas/NEWS b/binutils/gas/NEWS
index 3fa3809..27929c0 100644
--- a/binutils/gas/NEWS
+++ b/binutils/gas/NEWS
@@ -1,5 +1,10 @@
-*- text -*-
+Changes in 2.20.1:
+
+* GAS now understands an extended syntax in the .section directive flags
+ for COFF targets that allows the section's alignment to be specified.
+
Changes in 2.20:
* GNU/Linux targets now supports "gnu_unique_object" as a value in the .type
diff --git a/binutils/gas/aclocal.m4 b/binutils/gas/aclocal.m4
index 874683e..c02bd11 100644
--- a/binutils/gas/aclocal.m4
+++ b/binutils/gas/aclocal.m4
@@ -1,4 +1,4 @@
-# generated automatically by aclocal 1.11 -*- Autoconf -*-
+# generated automatically by aclocal 1.11.1 -*- Autoconf -*-
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
# 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
@@ -34,7 +34,7 @@
[am__api_version='1.11'
dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
dnl require some minimum version. Point them to the right macro.
-m4_if([$1], [1.11], [],
+m4_if([$1], [1.11.1], [],
[AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
])
@@ -50,7 +50,7 @@
# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
-[AM_AUTOMAKE_VERSION([1.11])dnl
+[AM_AUTOMAKE_VERSION([1.11.1])dnl
m4_ifndef([AC_AUTOCONF_VERSION],
[m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
diff --git a/binutils/gas/as.h b/binutils/gas/as.h
index 7366121..1d1d97e 100644
--- a/binutils/gas/as.h
+++ b/binutils/gas/as.h
@@ -238,7 +238,7 @@
#define know(p) gas_assert(p) /* Verify our assumptions! */
#endif /* not yet defined */
#else
-#define know(p) /* know() checks are no-op.ed */
+#define know(p) do {} while (0) /* know() checks are no-op.ed */
#endif
/* input_scrub.c */
diff --git a/binutils/gas/config/obj-coff.c b/binutils/gas/config/obj-coff.c
index 271b01e..8e22279 100644
--- a/binutils/gas/config/obj-coff.c
+++ b/binutils/gas/config/obj-coff.c
@@ -23,6 +23,7 @@
#define OBJ_HEADER "obj-coff.h"
#include "as.h"
+#include "safe-ctype.h"
#include "obstack.h"
#include "subsegs.h"
@@ -1543,6 +1544,7 @@
'r' for read-only data
's' for shared data (PE)
'y' for noread
+ '0' - '9' for power-of-two alignment (GNU extension).
But if the argument is not a quoted string, treat it as a
subsegment number.
@@ -1555,6 +1557,7 @@
/* Strip out the section name. */
char *section_name;
char c;
+ int alignment = -1;
char *name;
unsigned int exp;
flagword flags, oldflags;
@@ -1597,6 +1600,11 @@
attr != '"'
&& ! is_end_of_line[attr])
{
+ if (ISDIGIT (attr))
+ {
+ alignment = attr - '0';
+ continue;
+ }
switch (attr)
{
case 'b':
@@ -1673,6 +1681,8 @@
}
sec = subseg_new (name, (subsegT) exp);
+ if (alignment >= 0)
+ sec->alignment_power = alignment;
oldflags = bfd_get_section_flags (stdoutput, sec);
if (oldflags == SEC_NO_FLAGS)
diff --git a/binutils/gas/config/tc-arm.c b/binutils/gas/config/tc-arm.c
index 5f67171..69b0f92 100644
--- a/binutils/gas/config/tc-arm.c
+++ b/binutils/gas/config/tc-arm.c
@@ -2486,7 +2486,9 @@
frag->tc_frag_data.first_map = symbolP;
}
if (frag->tc_frag_data.last_map != NULL)
- know (S_GET_VALUE (frag->tc_frag_data.last_map) < S_GET_VALUE (symbolP));
+ {
+ know (S_GET_VALUE (frag->tc_frag_data.last_map) < S_GET_VALUE (symbolP));
+ }
frag->tc_frag_data.last_map = symbolP;
}
@@ -19039,6 +19041,8 @@
case BFD_RELOC_THUMB_PCREL_BRANCH23:
if (fixP->fx_addsy
+ && (S_GET_SEGMENT (fixP->fx_addsy) == seg)
+ && (!S_IS_EXTERNAL (fixP->fx_addsy))
&& ARM_IS_FUNC (fixP->fx_addsy)
&& ARM_CPU_HAS_FEATURE (selected_cpu, arm_ext_v5t))
base = fixP->fx_where + fixP->fx_frag->fr_address;
@@ -19048,6 +19052,8 @@
zero. */
case BFD_RELOC_THUMB_PCREL_BLX:
if (fixP->fx_addsy
+ && (S_GET_SEGMENT (fixP->fx_addsy) == seg)
+ && (!S_IS_EXTERNAL (fixP->fx_addsy))
&& THUMB_IS_FUNC (fixP->fx_addsy)
&& ARM_CPU_HAS_FEATURE (selected_cpu, arm_ext_v5t))
base = fixP->fx_where + fixP->fx_frag->fr_address;
@@ -19057,6 +19063,8 @@
loader expects the relocation not to take this into account. */
case BFD_RELOC_ARM_PCREL_BLX:
if (fixP->fx_addsy
+ && (S_GET_SEGMENT (fixP->fx_addsy) == seg)
+ && (!S_IS_EXTERNAL (fixP->fx_addsy))
&& ARM_IS_FUNC (fixP->fx_addsy)
&& ARM_CPU_HAS_FEATURE (selected_cpu, arm_ext_v5t))
base = fixP->fx_where + fixP->fx_frag->fr_address;
@@ -19064,6 +19072,8 @@
case BFD_RELOC_ARM_PCREL_CALL:
if (fixP->fx_addsy
+ && (S_GET_SEGMENT (fixP->fx_addsy) == seg)
+ && (!S_IS_EXTERNAL (fixP->fx_addsy))
&& THUMB_IS_FUNC (fixP->fx_addsy)
&& ARM_CPU_HAS_FEATURE (selected_cpu, arm_ext_v5t))
base = fixP->fx_where + fixP->fx_frag->fr_address;
@@ -19381,6 +19391,31 @@
return FALSE;
}
+/* Encode Thumb2 unconditional branches and calls. The encoding
+ for the 2 are identical for the immediate values. */
+
+static void
+encode_thumb2_b_bl_offset (char * buf, offsetT value)
+{
+#define T2I1I2MASK ((1 << 13) | (1 << 11))
+ offsetT newval;
+ offsetT newval2;
+ addressT S, I1, I2, lo, hi;
+
+ S = (value >> 24) & 0x01;
+ I1 = (value >> 23) & 0x01;
+ I2 = (value >> 22) & 0x01;
+ hi = (value >> 12) & 0x3ff;
+ lo = (value >> 1) & 0x7ff;
+ newval = md_chars_to_number (buf, THUMB_SIZE);
+ newval2 = md_chars_to_number (buf + THUMB_SIZE, THUMB_SIZE);
+ newval |= (S << 10) | hi;
+ newval2 &= ~T2I1I2MASK;
+ newval2 |= (((I1 ^ S) << 13) | ((I2 ^ S) << 11) | lo) ^ T2I1I2MASK;
+ md_number_to_chars (buf, newval, THUMB_SIZE);
+ md_number_to_chars (buf + THUMB_SIZE, newval2, THUMB_SIZE);
+}
+
void
md_apply_fix (fixS * fixP,
valueT * valP,
@@ -20073,10 +20108,6 @@
fixP->fx_r_type = BFD_RELOC_THUMB_PCREL_BRANCH23;
#endif
- if ((value & ~0x3fffff) && ((value & ~0x3fffff) != ~0x3fffff))
- as_bad_where (fixP->fx_file, fixP->fx_line,
- _("branch out of range"));
-
if (fixP->fx_r_type == BFD_RELOC_THUMB_PCREL_BLX)
/* For a BLX instruction, make sure that the relocation is rounded up
to a word boundary. This follows the semantics of the instruction
@@ -20084,6 +20115,24 @@
1 of the base address. */
value = (value + 1) & ~ 1;
+ if ((value & ~0x3fffff) && ((value & ~0x3fffff) != ~0x3fffff))
+ {
+ if (!(ARM_CPU_HAS_FEATURE (cpu_variant, arm_arch_t2)))
+ {
+ as_bad_where (fixP->fx_file, fixP->fx_line,
+ _("branch out of range"));
+ }
+ else if ((value & ~0x1ffffff)
+ && ((value & ~0x1ffffff) != ~0x1ffffff))
+ {
+ as_bad_where (fixP->fx_file, fixP->fx_line,
+ _("Thumb2 branch out of range"));
+ }
+ }
+
+ if (fixP->fx_done || !seg->use_rela_p)
+ encode_thumb2_b_bl_offset (buf, value);
+
if (fixP->fx_done || !seg->use_rela_p)
{
offsetT newval2;
@@ -20104,24 +20153,7 @@
if (fixP->fx_done || !seg->use_rela_p)
{
- offsetT newval2;
- addressT S, I1, I2, lo, hi;
-
- S = (value & 0x01000000) >> 24;
- I1 = (value & 0x00800000) >> 23;
- I2 = (value & 0x00400000) >> 22;
- hi = (value & 0x003ff000) >> 12;
- lo = (value & 0x00000ffe) >> 1;
-
- I1 = !(I1 ^ S);
- I2 = !(I2 ^ S);
-
- newval = md_chars_to_number (buf, THUMB_SIZE);
- newval2 = md_chars_to_number (buf + THUMB_SIZE, THUMB_SIZE);
- newval |= (S << 10) | hi;
- newval2 |= (I1 << 13) | (I2 << 11) | lo;
- md_number_to_chars (buf, newval, THUMB_SIZE);
- md_number_to_chars (buf + THUMB_SIZE, newval2, THUMB_SIZE);
+ encode_thumb2_b_bl_offset (buf, value);
}
break;
diff --git a/binutils/gas/config/tc-ppc.c b/binutils/gas/config/tc-ppc.c
index 493bfe5..7713439 100644
--- a/binutils/gas/config/tc-ppc.c
+++ b/binutils/gas/config/tc-ppc.c
@@ -108,6 +108,7 @@
static void ppc_function (int);
static void ppc_extern (int);
static void ppc_lglobl (int);
+static void ppc_ref (int);
static void ppc_section (int);
static void ppc_named_section (int);
static void ppc_stabx (int);
@@ -212,6 +213,7 @@
{ "extern", ppc_extern, 0 },
{ "function", ppc_function, 0 },
{ "lglobl", ppc_lglobl, 0 },
+ { "ref", ppc_ref, 0 },
{ "rename", ppc_rename, 0 },
{ "section", ppc_named_section, 0 },
{ "stabx", ppc_stabx, 0 },
@@ -1197,10 +1199,11 @@
-mppc64bridge generate code for PowerPC 64, including bridge insns\n\
-mbooke generate code for 32-bit PowerPC BookE\n\
-ma2 generate code for A2 architecture\n\
--mpower4 generate code for Power4 architecture\n\
--mpower5 generate code for Power5 architecture\n\
--mpower6 generate code for Power6 architecture\n\
--mpower7 generate code for Power7 architecture\n\
+-mpower4, -mpwr4 generate code for Power4 architecture\n\
+-mpower5, -mpwr5, -mpwr5x\n\
+ generate code for Power5 architecture\n\
+-mpower6, -mpwr6 generate code for Power6 architecture\n\
+-mpower7, -mpwr7 generate code for Power7 architecture\n\
-mcell generate code for Cell Broadband Engine architecture\n\
-mcom generate code Power/PowerPC common instructions\n\
-many generate code for any architecture (PWR/PWRX/PPC)\n"));
@@ -3552,6 +3555,58 @@
demand_empty_rest_of_line ();
}
+/* The .ref pseudo-op. It takes a list of symbol names and inserts R_REF
+ relocations at the beginning of the current csect.
+
+ (In principle, there's no reason why the relocations _have_ to be at
+ the beginning. Anywhere in the csect would do. However, inserting
+ at the beginning is what the native assmebler does, and it helps to
+ deal with cases where the .ref statements follow the section contents.)
+
+ ??? .refs don't work for empty .csects. However, the native assembler
+ doesn't report an error in this case, and neither yet do we. */
+
+static void
+ppc_ref (int ignore ATTRIBUTE_UNUSED)
+{
+ char *name;
+ char c;
+
+ if (ppc_current_csect == NULL)
+ {
+ as_bad (_(".ref outside .csect"));
+ ignore_rest_of_line ();
+ return;
+ }
+
+ do
+ {
+ name = input_line_pointer;
+ c = get_symbol_end ();
+
+ fix_at_start (symbol_get_frag (ppc_current_csect), 0,
+ symbol_find_or_make (name), 0, FALSE, BFD_RELOC_NONE);
+
+ *input_line_pointer = c;
+ SKIP_WHITESPACE ();
+ c = *input_line_pointer;
+ if (c == ',')
+ {
+ input_line_pointer++;
+ SKIP_WHITESPACE ();
+ if (is_end_of_line[(unsigned char) *input_line_pointer])
+ {
+ as_bad (_("missing symbol name"));
+ ignore_rest_of_line ();
+ return;
+ }
+ }
+ }
+ while (c == ',');
+
+ demand_empty_rest_of_line ();
+}
+
/* The .rename pseudo-op. The RS/6000 assembler can rename symbols,
although I don't know why it bothers. */
@@ -6025,6 +6080,11 @@
PPC_HA (value), 2);
break;
+#ifdef OBJ_XCOFF
+ case BFD_RELOC_NONE:
+ break;
+#endif
+
#ifdef OBJ_ELF
case BFD_RELOC_PPC64_HIGHER:
if (fixP->fx_pcrel)
diff --git a/binutils/gas/config/tc-score7.c b/binutils/gas/config/tc-score7.c
index c931102..ebab249 100644
--- a/binutils/gas/config/tc-score7.c
+++ b/binutils/gas/config/tc-score7.c
@@ -6281,7 +6281,7 @@
Called after md_convert_frag(). */
static void
-s7_frag_check (fragS * fragp)
+s7_frag_check (fragS * fragp ATTRIBUTE_UNUSED)
{
know (fragp->insn_addr <= s7_RELAX_PAD_BYTE);
}
diff --git a/binutils/gas/config/te-i386aix.h b/binutils/gas/config/te-i386aix.h
index 04ce464..2b174a9 100644
--- a/binutils/gas/config/te-i386aix.h
+++ b/binutils/gas/config/te-i386aix.h
@@ -24,10 +24,6 @@
#include "obj-format.h"
-/* Undefine REVERSE_SORT_RELOCS to keep the relocation entries sorted
- in ascending vaddr. */
-#undef REVERSE_SORT_RELOCS
-
/* Define KEEP_RELOC_INFO so that the strip reloc info flag F_RELFLG is
not used in the filehdr for COFF output. */
#define KEEP_RELOC_INFO
diff --git a/binutils/gas/config/te-solaris.h b/binutils/gas/config/te-solaris.h
index a3c2cea..9c628c2 100644
--- a/binutils/gas/config/te-solaris.h
+++ b/binutils/gas/config/te-solaris.h
@@ -1,4 +1,4 @@
-/* Copyright 2008 Free Software Foundation, Inc.
+/* Copyright 2008, 2010 Free Software Foundation, Inc.
This file is part of GAS, the GNU Assembler.
@@ -22,9 +22,19 @@
#define LOCAL_LABELS_DOLLAR 1
#define LOCAL_LABELS_FB 1
-/* The Sun linker doesn't merge read-only and read-write sections into
- a single read-write section so we must force all EH frame sections
- to be read-write. */
-#define DWARF2_EH_FRAME_READ_ONLY 0
-
#include "obj-format.h"
+
+/* The Sun linker doesn't merge read-only and read-write sections into
+ a single section so we must force all EH frame sections to use the
+ same flags. For SPARC and 32-bit i386 this is read-write, whilst
+ for x86_64 this is read-only, matching GCC behavior.
+
+ See the definition of EH_TABLES_CAN_BE_READ_ONLY in
+ gcc/config/i386/sol2.h in the GCC sources and the thread starting at
+ http://sourceware.org/ml/binutils/2010-01/msg00401.html. */
+#ifdef TC_SPARC
+#define DWARF2_EH_FRAME_READ_ONLY SEC_NO_FLAGS
+#else
+#define DWARF2_EH_FRAME_READ_ONLY \
+ (bfd_get_arch_size (stdoutput) == 64 ? SEC_READONLY : SEC_NO_FLAGS)
+#endif
diff --git a/binutils/gas/doc/Makefile.in b/binutils/gas/doc/Makefile.in
index 74e3c91..22dadb5 100644
--- a/binutils/gas/doc/Makefile.in
+++ b/binutils/gas/doc/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11 from Makefile.am.
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
diff --git a/binutils/gas/doc/as.1 b/binutils/gas/doc/as.1
index fa94049..47a1666 100644
--- a/binutils/gas/doc/as.1
+++ b/binutils/gas/doc/as.1
@@ -132,7 +132,7 @@
.\" ========================================================================
.\"
.IX Title "AS 1"
-.TH AS 1 "2009-10-16" "binutils-2.20" "GNU Development Tools"
+.TH AS 1 "2010-03-01" "binutils-2.20.1" "GNU Development Tools"
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.if n .ad l
diff --git a/binutils/gas/doc/as.info b/binutils/gas/doc/as.info
index a8d3810..4f4af95 100644
--- a/binutils/gas/doc/as.info
+++ b/binutils/gas/doc/as.info
Binary files differ
diff --git a/binutils/gas/doc/as.texinfo b/binutils/gas/doc/as.texinfo
index 43fee5f..dde2fdb 100644
--- a/binutils/gas/doc/as.texinfo
+++ b/binutils/gas/doc/as.texinfo
@@ -5752,6 +5752,8 @@
ignored. (For compatibility with the ELF version)
@item y
section is not readable (meaningful for PE targets)
+@item 0-9
+single-digit power-of-two section alignment (GNU extension)
@end table
If no flags are specified, the default flags depend upon the section name. If
diff --git a/binutils/gas/expr.c b/binutils/gas/expr.c
index b9ce574..fbfdffc 100644
--- a/binutils/gas/expr.c
+++ b/binutils/gas/expr.c
@@ -1997,6 +1997,7 @@
/* Help out with CSE. */
valueT final_val = expressionP->X_add_number;
symbolS *add_symbol = expressionP->X_add_symbol;
+ symbolS *orig_add_symbol = add_symbol;
symbolS *op_symbol = expressionP->X_op_symbol;
operatorT op = expressionP->X_op;
valueT left, right;
@@ -2078,6 +2079,7 @@
left = right;
seg_left = seg_right;
add_symbol = op_symbol;
+ orig_add_symbol = expressionP->X_op_symbol;
op = O_symbol;
break;
}
@@ -2122,18 +2124,19 @@
{
if (op == O_bit_exclusive_or || op == O_bit_inclusive_or)
{
- if (seg_right != absolute_section || right != 0)
+ if (!(seg_right == absolute_section && right == 0))
{
seg_left = seg_right;
left = right;
add_symbol = op_symbol;
+ orig_add_symbol = expressionP->X_op_symbol;
}
op = O_symbol;
break;
}
else if (op == O_left_shift || op == O_right_shift)
{
- if (seg_left != absolute_section || left != 0)
+ if (!(seg_left == absolute_section && left == 0))
{
op = O_symbol;
break;
@@ -2149,6 +2152,7 @@
seg_left = seg_right;
left = right;
add_symbol = op_symbol;
+ orig_add_symbol = expressionP->X_op_symbol;
op = O_symbol;
break;
}
@@ -2158,11 +2162,11 @@
op = O_symbol;
break;
}
- else if (left != right
- || ((seg_left != reg_section || seg_right != reg_section)
- && (seg_left != undefined_section
- || seg_right != undefined_section
- || add_symbol != op_symbol)))
+ else if (!(left == right
+ && ((seg_left == reg_section && seg_right == reg_section)
+ || (seg_left == undefined_section
+ && seg_right == undefined_section
+ && add_symbol == op_symbol))))
return 0;
else if (op == O_bit_and || op == O_bit_inclusive_or)
{
@@ -2233,7 +2237,7 @@
op = O_constant;
else if (seg_left == reg_section && final_val == 0)
op = O_register;
- else if (add_symbol != expressionP->X_add_symbol)
+ else if (!symbol_same_p (add_symbol, orig_add_symbol))
final_val += left;
expressionP->X_add_symbol = add_symbol;
}
diff --git a/binutils/gas/listing.c b/binutils/gas/listing.c
index c8b6d63..43dbae0 100644
--- a/binutils/gas/listing.c
+++ b/binutils/gas/listing.c
@@ -1,6 +1,6 @@
/* listing.c - maintain assembly listings
Copyright 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
- 2001, 2002, 2003, 2005, 2006, 2007, 2008, 2009
+ 2001, 2002, 2003, 2005, 2006, 2007, 2008, 2009, 2010
Free Software Foundation, Inc.
This file is part of GAS, the GNU Assembler.
@@ -1047,7 +1047,7 @@
char *p;
cache->file = current_file;
- cache->line = current_file->linenum;
+ cache->line = current_file->linenum + 1;
cache->buffer[0] = 0;
p = buffer_line (current_file, cache->buffer, width);
diff --git a/binutils/gas/po/gas.pot b/binutils/gas/po/gas.pot
index a091ff3..01125e1 100644
--- a/binutils/gas/po/gas.pot
+++ b/binutils/gas/po/gas.pot
@@ -8,7 +8,7 @@
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: bug-binutils@gnu.org\n"
-"POT-Creation-Date: 2009-09-07 14:09+0200\n"
+"POT-Creation-Date: 2010-03-03 14:58+0100\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"
@@ -328,23 +328,23 @@
msgid "Report bugs to %s\n"
msgstr ""
-#: as.c:564
+#: as.c:565
#, c-format
msgid "unrecognized option -%c%s"
msgstr ""
#. This output is intended to follow the GNU standards document.
-#: as.c:602
+#: as.c:603
#, c-format
msgid "GNU assembler %s\n"
msgstr ""
-#: as.c:603
+#: as.c:604
#, c-format
msgid "Copyright 2009 Free Software Foundation, Inc.\n"
msgstr ""
-#: as.c:604
+#: as.c:605
#, c-format
msgid ""
"This program is free software; you may redistribute it under the terms of\n"
@@ -352,77 +352,77 @@
"This program has absolutely no warranty.\n"
msgstr ""
-#: as.c:608
+#: as.c:609
#, c-format
msgid "This assembler was configured for a target of `%s'.\n"
msgstr ""
-#: as.c:615
+#: as.c:616
msgid "multiple emulation names specified"
msgstr ""
-#: as.c:617
+#: as.c:618
msgid "emulations not handled in this configuration"
msgstr ""
-#: as.c:622
-#, c-format
-msgid "alias = %s\n"
-msgstr ""
-
#: as.c:623
#, c-format
-msgid "canonical = %s\n"
+msgid "alias = %s\n"
msgstr ""
#: as.c:624
#, c-format
+msgid "canonical = %s\n"
+msgstr ""
+
+#: as.c:625
+#, c-format
msgid "cpu-type = %s\n"
msgstr ""
-#: as.c:626
+#: as.c:627
#, c-format
msgid "format = %s\n"
msgstr ""
-#: as.c:629
+#: as.c:630
#, c-format
msgid "bfd-target = %s\n"
msgstr ""
-#: as.c:646
+#: as.c:647
msgid "bad defsym; format is --defsym name=value"
msgstr ""
-#: as.c:666
+#: as.c:667
msgid "no file name following -t option"
msgstr ""
-#: as.c:681
+#: as.c:682
#, c-format
msgid "failed to read instruction table %s\n"
msgstr ""
-#: as.c:852
+#: as.c:853
#, c-format
msgid "invalid listing option `%c'"
msgstr ""
-#: as.c:905
+#: as.c:906
msgid "--hash-size needs a numeric argument"
msgstr ""
-#: as.c:930
+#: as.c:931
#, c-format
msgid "%s: total time in assembly: %ld.%06ld\n"
msgstr ""
-#: as.c:933
+#: as.c:934
#, c-format
msgid "%s: data size %ld\n"
msgstr ""
-#: as.c:1241
+#: as.c:1242
#, c-format
msgid "%d warnings, treating warnings as errors"
msgstr ""
@@ -441,26 +441,26 @@
msgstr ""
#: cgen.c:113 config/tc-alpha.c:2083 config/tc-alpha.c:2107
-#: config/tc-arc.c:1681 config/tc-d10v.c:550 config/tc-d30v.c:538
-#: config/tc-mn10200.c:1100 config/tc-mn10300.c:1749 config/tc-ppc.c:2562
-#: config/tc-ppc.c:2713 config/tc-ppc.c:2834 config/tc-ppc.c:2845
+#: config/tc-arc.c:1681 config/tc-d10v.c:552 config/tc-d30v.c:539
+#: config/tc-mn10200.c:1100 config/tc-mn10300.c:1749 config/tc-ppc.c:2567
+#: config/tc-ppc.c:2718 config/tc-ppc.c:2839 config/tc-ppc.c:2850
#: config/tc-s390.c:1218 config/tc-s390.c:1318 config/tc-s390.c:1447
#: config/tc-v850.c:1730 config/tc-v850.c:1753 config/tc-v850.c:1956
msgid "too many fixups"
msgstr ""
-#: cgen.c:400 cgen.c:420 config/tc-arc.c:1662 config/tc-d10v.c:461
-#: config/tc-d30v.c:453 config/tc-i370.c:2129 config/tc-mn10200.c:1042
-#: config/tc-mn10300.c:1674 config/tc-ppc.c:2601 config/tc-s390.c:1189
+#: cgen.c:400 cgen.c:420 config/tc-arc.c:1662 config/tc-d10v.c:463
+#: config/tc-d30v.c:454 config/tc-i370.c:2129 config/tc-mn10200.c:1042
+#: config/tc-mn10300.c:1674 config/tc-ppc.c:2606 config/tc-s390.c:1189
#: config/tc-v850.c:1932 config/tc-z80.c:422
msgid "illegal operand"
msgstr ""
-#: cgen.c:424 config/tc-arc.c:1664 config/tc-avr.c:569 config/tc-d10v.c:463
-#: config/tc-d30v.c:455 config/tc-h8300.c:450 config/tc-i370.c:2131
+#: cgen.c:424 config/tc-arc.c:1664 config/tc-avr.c:569 config/tc-d10v.c:465
+#: config/tc-d30v.c:456 config/tc-h8300.c:450 config/tc-i370.c:2131
#: config/tc-mcore.c:662 config/tc-microblaze.c:583 config/tc-mmix.c:488
#: config/tc-mn10200.c:1045 config/tc-mn10300.c:1677 config/tc-msp430.c:452
-#: config/tc-or32.c:307 config/tc-ppc.c:2603 config/tc-s390.c:1207
+#: config/tc-or32.c:307 config/tc-ppc.c:2608 config/tc-s390.c:1207
#: config/tc-sh.c:1359 config/tc-sh64.c:2213 config/tc-v850.c:1935
#: config/tc-z80.c:575 config/tc-z8k.c:350
msgid "missing operand"
@@ -475,19 +475,19 @@
msgstr ""
#. We can't actually support subtracting a symbol.
-#: cgen.c:885 config/tc-arc.c:1247 config/tc-arm.c:1612 config/tc-arm.c:8617
-#: config/tc-arm.c:8668 config/tc-arm.c:8914 config/tc-arm.c:9704
-#: config/tc-arm.c:10703 config/tc-arm.c:10743 config/tc-arm.c:11051
-#: config/tc-arm.c:11080 config/tc-avr.c:1087 config/tc-cris.c:4044
-#: config/tc-d10v.c:1502 config/tc-d30v.c:1903 config/tc-mips.c:4394
-#: config/tc-mips.c:5518 config/tc-mips.c:6493 config/tc-mips.c:7069
-#: config/tc-msp430.c:1937 config/tc-ppc.c:5769 config/tc-spu.c:959
+#: cgen.c:885 config/tc-arc.c:1247 config/tc-arm.c:1612 config/tc-arm.c:8619
+#: config/tc-arm.c:8670 config/tc-arm.c:8916 config/tc-arm.c:9706
+#: config/tc-arm.c:10705 config/tc-arm.c:10745 config/tc-arm.c:11053
+#: config/tc-arm.c:11082 config/tc-avr.c:1087 config/tc-cris.c:4044
+#: config/tc-d10v.c:1507 config/tc-d30v.c:1910 config/tc-mips.c:4398
+#: config/tc-mips.c:5522 config/tc-mips.c:6497 config/tc-mips.c:7073
+#: config/tc-msp430.c:1937 config/tc-ppc.c:5826 config/tc-spu.c:959
#: config/tc-spu.c:983 config/tc-v850.c:2271 config/tc-xstormy16.c:484
#: config/tc-xtensa.c:5821 config/tc-xtensa.c:11839
msgid "expression too complex"
msgstr ""
-#: cgen.c:979 config/tc-arc.c:1308 config/tc-ppc.c:5894 config/tc-s390.c:2023
+#: cgen.c:979 config/tc-arc.c:1308 config/tc-ppc.c:5951 config/tc-s390.c:2023
#: config/tc-v850.c:2311 config/tc-xstormy16.c:538
msgid "unresolved expression that must be resolved"
msgstr ""
@@ -578,7 +578,7 @@
msgstr ""
#: config/atof-ieee.c:784 config/atof-vax.c:450 config/tc-arm.c:1007
-#: config/tc-ia64.c:11332 config/tc-tic30.c:1261 config/tc-tic4x.c:2599
+#: config/tc-ia64.c:11366 config/tc-tic30.c:1261 config/tc-tic4x.c:2599
msgid "Unrecognized or unsupported floating point constant"
msgstr ""
@@ -592,104 +592,104 @@
msgid "Attempt to put an undefined symbol into set %s"
msgstr ""
-#: config/obj-aout.c:116 config/obj-coff.c:1406
+#: config/obj-aout.c:116 config/obj-coff.c:1407
#, c-format
msgid "Symbol `%s' can not be both weak and common"
msgstr ""
-#: config/obj-coff.c:135
+#: config/obj-coff.c:136
#, c-format
msgid "Inserting \"%s\" into structure table failed: %s"
msgstr ""
-#: config/obj-coff.c:214 config/obj-coff.c:1694 config/tc-ppc.c:4859
+#: config/obj-coff.c:215 config/obj-coff.c:1704 config/tc-ppc.c:4916
#: config/tc-tic54x.c:4011 read.c:2796
#, c-format
msgid "error setting flags for \"%s\": %s"
msgstr ""
#. Zero is used as an end marker in the file.
-#: config/obj-coff.c:433
+#: config/obj-coff.c:434
msgid "Line numbers must be positive integers\n"
msgstr ""
-#: config/obj-coff.c:465
+#: config/obj-coff.c:466
msgid ".ln pseudo-op inside .def/.endef: ignored."
msgstr ""
-#: config/obj-coff.c:507 ecoff.c:3240
+#: config/obj-coff.c:508 ecoff.c:3240
msgid ".loc outside of .text"
msgstr ""
-#: config/obj-coff.c:514
+#: config/obj-coff.c:515
msgid ".loc pseudo-op inside .def/.endef: ignored."
msgstr ""
-#: config/obj-coff.c:595
+#: config/obj-coff.c:596
msgid ".def pseudo-op used inside of .def/.endef: ignored."
msgstr ""
-#: config/obj-coff.c:634
+#: config/obj-coff.c:635
msgid ".endef pseudo-op used outside of .def/.endef: ignored."
msgstr ""
-#: config/obj-coff.c:673
+#: config/obj-coff.c:674
#, c-format
msgid "`%s' symbol without preceding function"
msgstr ""
-#: config/obj-coff.c:760
+#: config/obj-coff.c:761
#, c-format
msgid "unexpected storage class %d"
msgstr ""
-#: config/obj-coff.c:868
+#: config/obj-coff.c:869
msgid ".dim pseudo-op used outside of .def/.endef: ignored."
msgstr ""
-#: config/obj-coff.c:888
+#: config/obj-coff.c:889
msgid "badly formed .dim directive ignored"
msgstr ""
-#: config/obj-coff.c:937
+#: config/obj-coff.c:938
msgid ".size pseudo-op used outside of .def/.endef ignored."
msgstr ""
-#: config/obj-coff.c:952
+#: config/obj-coff.c:953
msgid ".scl pseudo-op used outside of .def/.endef ignored."
msgstr ""
-#: config/obj-coff.c:969
+#: config/obj-coff.c:970
msgid ".tag pseudo-op used outside of .def/.endef ignored."
msgstr ""
-#: config/obj-coff.c:987
+#: config/obj-coff.c:988
#, c-format
msgid "tag not found for .tag %s"
msgstr ""
-#: config/obj-coff.c:1000
+#: config/obj-coff.c:1001
msgid ".type pseudo-op used outside of .def/.endef ignored."
msgstr ""
-#: config/obj-coff.c:1019
+#: config/obj-coff.c:1020
msgid ".val pseudo-op used outside of .def/.endef ignored."
msgstr ""
-#: config/obj-coff.c:1186
+#: config/obj-coff.c:1187
msgid "badly formed .weak directive ignored"
msgstr ""
-#: config/obj-coff.c:1364
+#: config/obj-coff.c:1365
msgid "mismatched .eb"
msgstr ""
-#: config/obj-coff.c:1385
+#: config/obj-coff.c:1386
#, c-format
msgid "C_EFCN symbol for %s out of scope"
msgstr ""
-#: config/obj-coff.c:1439
+#: config/obj-coff.c:1440
#, c-format
msgid "Warning: internal error: forgetting to set endndx of %s"
msgstr ""
@@ -697,22 +697,22 @@
#. STYP_INFO
#. STYP_LIB
#. STYP_OVER
-#: config/obj-coff.c:1662
+#: config/obj-coff.c:1670
#, c-format
msgid "unsupported section attribute '%c'"
msgstr ""
-#: config/obj-coff.c:1666 config/tc-ppc.c:4841
+#: config/obj-coff.c:1674 config/tc-ppc.c:4898
#, c-format
msgid "unknown section attribute '%c'"
msgstr ""
-#: config/obj-coff.c:1706
+#: config/obj-coff.c:1716
#, c-format
msgid "Ignoring changed section attributes for %s"
msgstr ""
-#: config/obj-coff.c:1836
+#: config/obj-coff.c:1846
#, c-format
msgid "0x%lx: \"%s\" type = %ld, class = %d, segment = %d\n"
msgstr ""
@@ -840,57 +840,57 @@
msgid "missing expression in .size directive"
msgstr ""
-#: config/obj-elf.c:1670
+#: config/obj-elf.c:1671
#, c-format
msgid "symbol '%s' is already defined"
msgstr ""
-#: config/obj-elf.c:1690 config/obj-elf.c:1702
+#: config/obj-elf.c:1691 config/obj-elf.c:1703
#, c-format
msgid "symbol type \"%s\" is supported only by GNU targets"
msgstr ""
-#: config/obj-elf.c:1713
+#: config/obj-elf.c:1714
#, c-format
msgid "unrecognized symbol type \"%s\""
msgstr ""
-#: config/obj-elf.c:1889
+#: config/obj-elf.c:1890
msgid ".size expression too complicated to fix up"
msgstr ""
-#: config/obj-elf.c:1921
+#: config/obj-elf.c:1922
#, c-format
msgid ""
"invalid attempt to declare external version name as default in symbol `%s'"
msgstr ""
-#: config/obj-elf.c:1982 ecoff.c:3598
+#: config/obj-elf.c:1983 ecoff.c:3598
#, c-format
msgid "symbol `%s' can not be both weak and common"
msgstr ""
-#: config/obj-elf.c:2089
+#: config/obj-elf.c:2091
#, c-format
msgid "assuming all members of group `%s' are COMDAT"
msgstr ""
-#: config/obj-elf.c:2111
+#: config/obj-elf.c:2113
#, c-format
msgid "can't create group: %s"
msgstr ""
-#: config/obj-elf.c:2221
+#: config/obj-elf.c:2223
#, c-format
msgid "failed to set up debugging information: %s"
msgstr ""
-#: config/obj-elf.c:2241
+#: config/obj-elf.c:2243
#, c-format
msgid "can't start writing .mdebug section: %s"
msgstr ""
-#: config/obj-elf.c:2249
+#: config/obj-elf.c:2251
#, c-format
msgid "could not write .mdebug section: %s"
msgstr ""
@@ -1085,7 +1085,7 @@
msgstr ""
#: config/tc-alpha.c:1980 config/tc-arc.c:292 config/tc-mn10200.c:856
-#: config/tc-mn10300.c:1146 config/tc-ppc.c:1676 config/tc-s390.c:604
+#: config/tc-mn10300.c:1146 config/tc-ppc.c:1681 config/tc-s390.c:604
#: config/tc-v850.c:1556
msgid "operand"
msgstr ""
@@ -1103,7 +1103,7 @@
msgstr ""
#: config/tc-alpha.c:3503 config/tc-i370.c:1058 config/tc-microblaze.c:187
-#: config/tc-ppc.c:2000 config/tc-ppc.c:4604
+#: config/tc-ppc.c:2005 config/tc-ppc.c:4661
#, c-format
msgid ".COMMon length (%ld.) <0! Ignored."
msgstr ""
@@ -1112,7 +1112,7 @@
msgid "Ignoring attempt to re-define symbol"
msgstr ""
-#: config/tc-alpha.c:3606 config/tc-ppc.c:4641 config/tc-sparc.c:3828
+#: config/tc-alpha.c:3606 config/tc-ppc.c:4698 config/tc-sparc.c:3828
#, c-format
msgid "Length of .comm \"%s\" is already %ld. Not changed to %ld."
msgstr ""
@@ -1153,7 +1153,7 @@
msgid "bad .mask directive"
msgstr ""
-#: config/tc-alpha.c:3864 config/tc-mips.c:15074 config/tc-score.c:5744
+#: config/tc-alpha.c:3864 config/tc-mips.c:15082 config/tc-score.c:5744
#: ecoff.c:3168
msgid ".frame outside of .ent"
msgstr ""
@@ -1282,7 +1282,7 @@
msgid "Alignment too large: %d. assumed"
msgstr ""
-#: config/tc-alpha.c:5030 config/tc-d30v.c:2048
+#: config/tc-alpha.c:5030 config/tc-d30v.c:2055
msgid "Alignment negative: 0 assumed"
msgstr ""
@@ -1310,7 +1310,7 @@
msgid "internal error: can't hash macro `%s': %s"
msgstr ""
-#: config/tc-alpha.c:5539 config/tc-arm.c:6439 config/tc-arm.c:6451
+#: config/tc-alpha.c:5539 config/tc-arm.c:6441 config/tc-arm.c:6453
#: config/tc-i960.c:708 config/tc-xtensa.c:5294 config/tc-xtensa.c:5372
#: config/tc-xtensa.c:5490 config/tc-z80.c:1893
msgid "syntax error"
@@ -1384,7 +1384,7 @@
msgid "could not set architecture and machine"
msgstr ""
-#: config/tc-arc.c:212 config/tc-arm.c:21296 config/tc-score.c:6304
+#: config/tc-arc.c:212 config/tc-arm.c:21328 config/tc-score.c:6304
#: config/tc-score.c:6533 config/tc-score.c:6538
msgid "virtual memory exhausted"
msgstr ""
@@ -1512,7 +1512,7 @@
msgid "invalid identifier for \".option\""
msgstr ""
-#: config/tc-arc.c:1036 config/tc-i860.c:1034 config/tc-ip2k.c:249
+#: config/tc-arc.c:1036 config/tc-i860.c:1035 config/tc-ip2k.c:249
msgid "relaxation not supported\n"
msgstr ""
@@ -1525,7 +1525,7 @@
msgid "missing ')' in %%-op"
msgstr ""
-#: config/tc-arc.c:1362 config/tc-dlx.c:1201 config/tc-i960.c:2641
+#: config/tc-arc.c:1362 config/tc-dlx.c:1203 config/tc-i960.c:2641
#: config/tc-m32r.c:2281 config/tc-sparc.c:3508
#, c-format
msgid "internal error: can't export reloc type %d (`%s')"
@@ -1545,7 +1545,7 @@
msgstr ""
#: config/tc-arc.c:1756 config/tc-i370.c:2211 config/tc-mn10200.c:1141
-#: config/tc-mn10300.c:1820 config/tc-ppc.c:2891 config/tc-s390.c:1460
+#: config/tc-mn10300.c:1820 config/tc-ppc.c:2896 config/tc-s390.c:1460
#: config/tc-v850.c:2009
#, c-format
msgid "junk at end of line: `%s'"
@@ -1564,7 +1564,7 @@
msgid "conditional branch follows set of flags"
msgstr ""
-#: config/tc-arc.c:1890 config/tc-arm.c:15434
+#: config/tc-arc.c:1890 config/tc-arm.c:15436
#, c-format
msgid "bad instruction `%s'"
msgstr ""
@@ -1641,7 +1641,7 @@
msgid "iWMMXt data register expected"
msgstr ""
-#: config/tc-arm.c:534 config/tc-arm.c:6248
+#: config/tc-arm.c:534 config/tc-arm.c:6250
msgid "iWMMXt control register expected"
msgstr ""
@@ -1726,11 +1726,11 @@
msgid "bad expression"
msgstr ""
-#: config/tc-arm.c:929 config/tc-i860.c:1003 config/tc-sparc.c:2880
+#: config/tc-arm.c:929 config/tc-i860.c:1004 config/tc-sparc.c:2880
msgid "bad segment"
msgstr ""
-#: config/tc-arm.c:946 config/tc-arm.c:4744 config/tc-i960.c:1300
+#: config/tc-arm.c:946 config/tc-arm.c:4746 config/tc-i960.c:1300
#: config/tc-score.c:1211
msgid "invalid constant"
msgstr ""
@@ -1769,7 +1769,7 @@
msgid "can't change index for operand"
msgstr ""
-#: config/tc-arm.c:1415 config/tc-arm.c:3274 config/tc-arm.c:4345
+#: config/tc-arm.c:1415 config/tc-arm.c:3276 config/tc-arm.c:4347
msgid "constant expression required"
msgstr ""
@@ -1781,8 +1781,8 @@
msgid "scalar must have an index"
msgstr ""
-#: config/tc-arm.c:1496 config/tc-arm.c:14062 config/tc-arm.c:14110
-#: config/tc-arm.c:14512
+#: config/tc-arm.c:1496 config/tc-arm.c:14064 config/tc-arm.c:14112
+#: config/tc-arm.c:14514
msgid "scalar index out of range"
msgstr ""
@@ -1816,11 +1816,11 @@
msgstr ""
#: config/tc-arm.c:1744 config/tc-arm.c:1789 config/tc-h8300.c:990
-#: config/tc-mips.c:10561 config/tc-mips.c:10583
+#: config/tc-mips.c:10565 config/tc-mips.c:10587
msgid "invalid register list"
msgstr ""
-#: config/tc-arm.c:1750 config/tc-arm.c:3788 config/tc-arm.c:3921
+#: config/tc-arm.c:1750 config/tc-arm.c:3790 config/tc-arm.c:3923
msgid "register list not in ascending order"
msgstr ""
@@ -1925,413 +1925,413 @@
msgid "ignoring attempt to undefine built-in register '%s'"
msgstr ""
-#: config/tc-arm.c:2610
+#: config/tc-arm.c:2612
#, c-format
msgid "Failed to find real start of function: %s\n"
msgstr ""
-#: config/tc-arm.c:2627
+#: config/tc-arm.c:2629
msgid "selected processor does not support THUMB opcodes"
msgstr ""
-#: config/tc-arm.c:2640
+#: config/tc-arm.c:2642
msgid "selected processor does not support ARM opcodes"
msgstr ""
-#: config/tc-arm.c:2652
+#: config/tc-arm.c:2654
#, c-format
msgid "invalid instruction size selected (%d)"
msgstr ""
-#: config/tc-arm.c:2684
+#: config/tc-arm.c:2686
#, c-format
msgid "invalid operand to .code directive (%d) (expecting 16 or 32)"
msgstr ""
-#: config/tc-arm.c:2740
+#: config/tc-arm.c:2742
#, c-format
msgid "expected comma after name \"%s\""
msgstr ""
-#: config/tc-arm.c:2790 config/tc-m32r.c:588
+#: config/tc-arm.c:2792 config/tc-m32r.c:588
#, c-format
msgid "symbol `%s' already defined"
msgstr ""
-#: config/tc-arm.c:2824
+#: config/tc-arm.c:2826
#, c-format
msgid "unrecognized syntax mode \"%s\""
msgstr ""
-#: config/tc-arm.c:2845
+#: config/tc-arm.c:2847
#, c-format
msgid "alignment too large: %d assumed"
msgstr ""
-#: config/tc-arm.c:2848
+#: config/tc-arm.c:2850
msgid "alignment negative. 0 assumed."
msgstr ""
-#: config/tc-arm.c:2998
+#: config/tc-arm.c:3000
msgid "literal pool overflow"
msgstr ""
-#: config/tc-arm.c:3154 config/tc-arm.c:6183
+#: config/tc-arm.c:3156 config/tc-arm.c:6185
msgid "unrecognized relocation suffix"
msgstr ""
-#: config/tc-arm.c:3167
+#: config/tc-arm.c:3169
msgid "(plt) is only valid on branch targets"
msgstr ""
-#: config/tc-arm.c:3173 config/tc-s390.c:1100 config/tc-s390.c:1725
+#: config/tc-arm.c:3175 config/tc-s390.c:1100 config/tc-s390.c:1725
#: config/tc-xtensa.c:1591
#, c-format
msgid "%s relocations do not fit in %d bytes"
msgstr ""
-#: config/tc-arm.c:3250
+#: config/tc-arm.c:3252
msgid ".inst.n operand too big. Use .inst.w instead"
msgstr ""
-#: config/tc-arm.c:3270
+#: config/tc-arm.c:3272
msgid "cannot determine Thumb instruction size. Use .inst.n/.inst.w instead"
msgstr ""
-#: config/tc-arm.c:3300
+#: config/tc-arm.c:3302
msgid "width suffixes are invalid in ARM mode"
msgstr ""
-#: config/tc-arm.c:3342 dwarf2dbg.c:701
+#: config/tc-arm.c:3344 dwarf2dbg.c:701
msgid "expected 0 or 1"
msgstr ""
-#: config/tc-arm.c:3346
+#: config/tc-arm.c:3348
msgid "missing comma"
msgstr ""
-#: config/tc-arm.c:3379
+#: config/tc-arm.c:3381
msgid "duplicate .fnstart directive"
msgstr ""
-#: config/tc-arm.c:3410
+#: config/tc-arm.c:3412
msgid "duplicate .handlerdata directive"
msgstr ""
-#: config/tc-arm.c:3429
+#: config/tc-arm.c:3431
msgid ".fnend directive without .fnstart"
msgstr ""
-#: config/tc-arm.c:3495
+#: config/tc-arm.c:3497
msgid "personality routine specified for cantunwind frame"
msgstr ""
-#: config/tc-arm.c:3512
+#: config/tc-arm.c:3514
msgid "duplicate .personalityindex directive"
msgstr ""
-#: config/tc-arm.c:3519
+#: config/tc-arm.c:3521
msgid "bad personality routine number"
msgstr ""
-#: config/tc-arm.c:3541
+#: config/tc-arm.c:3543
msgid "duplicate .personality directive"
msgstr ""
-#: config/tc-arm.c:3564 config/tc-arm.c:3692 config/tc-arm.c:3740
+#: config/tc-arm.c:3566 config/tc-arm.c:3694 config/tc-arm.c:3742
msgid "expected register list"
msgstr ""
-#: config/tc-arm.c:3646
+#: config/tc-arm.c:3648
msgid "expected , <constant>"
msgstr ""
-#: config/tc-arm.c:3655
+#: config/tc-arm.c:3657
msgid "number of registers must be in the range [1:4]"
msgstr ""
-#: config/tc-arm.c:3802 config/tc-arm.c:3935
+#: config/tc-arm.c:3804 config/tc-arm.c:3937
msgid "bad register range"
msgstr ""
-#: config/tc-arm.c:3992
+#: config/tc-arm.c:3994
msgid "register expected"
msgstr ""
-#: config/tc-arm.c:4002
+#: config/tc-arm.c:4004
msgid "FPA .unwind_save does not take a register list"
msgstr ""
-#: config/tc-arm.c:4021
+#: config/tc-arm.c:4023
msgid ".unwind_save does not support this kind of register"
msgstr ""
-#: config/tc-arm.c:4060
+#: config/tc-arm.c:4062
msgid "SP and PC not permitted in .unwind_movsp directive"
msgstr ""
-#: config/tc-arm.c:4065
+#: config/tc-arm.c:4067
msgid "unexpected .unwind_movsp directive"
msgstr ""
-#: config/tc-arm.c:4092
+#: config/tc-arm.c:4094
msgid "stack increment must be multiple of 4"
msgstr ""
-#: config/tc-arm.c:4124
+#: config/tc-arm.c:4126
msgid "expected <reg>, <reg>"
msgstr ""
-#: config/tc-arm.c:4142
+#: config/tc-arm.c:4144
msgid "register must be either sp or set by a previousunwind_movsp directive"
msgstr ""
-#: config/tc-arm.c:4181
+#: config/tc-arm.c:4183
msgid "expected <offset>, <opcode>"
msgstr ""
-#: config/tc-arm.c:4193
+#: config/tc-arm.c:4195
msgid "unwind opcode too long"
msgstr ""
-#: config/tc-arm.c:4198
+#: config/tc-arm.c:4200
msgid "invalid unwind opcode"
msgstr ""
-#: config/tc-arm.c:4351 config/tc-arm.c:5213 config/tc-arm.c:8917
-#: config/tc-arm.c:9440 config/tc-arm.c:12568 config/tc-arm.c:20329
-#: config/tc-arm.c:20354 config/tc-arm.c:20362 config/tc-z8k.c:1144
+#: config/tc-arm.c:4353 config/tc-arm.c:5215 config/tc-arm.c:8919
+#: config/tc-arm.c:9442 config/tc-arm.c:12570 config/tc-arm.c:20361
+#: config/tc-arm.c:20386 config/tc-arm.c:20394 config/tc-z8k.c:1144
#: config/tc-z8k.c:1154
msgid "immediate value out of range"
msgstr ""
-#: config/tc-arm.c:4498
+#: config/tc-arm.c:4500
msgid "invalid FPA immediate expression"
msgstr ""
-#: config/tc-arm.c:4622 config/tc-arm.c:4630
+#: config/tc-arm.c:4624 config/tc-arm.c:4632
msgid "shift expression expected"
msgstr ""
-#: config/tc-arm.c:4644
+#: config/tc-arm.c:4646
msgid "'LSL' or 'ASR' required"
msgstr ""
-#: config/tc-arm.c:4652
+#: config/tc-arm.c:4654
msgid "'LSL' required"
msgstr ""
-#: config/tc-arm.c:4660
+#: config/tc-arm.c:4662
msgid "'ASR' required"
msgstr ""
-#: config/tc-arm.c:4732 config/tc-arm.c:5207 config/tc-arm.c:6832
+#: config/tc-arm.c:4734 config/tc-arm.c:5209 config/tc-arm.c:6834
#: config/tc-v850.c:1827 config/tc-v850.c:1848
msgid "constant expression expected"
msgstr ""
-#: config/tc-arm.c:4739
+#: config/tc-arm.c:4741
msgid "invalid rotation"
msgstr ""
-#: config/tc-arm.c:4899 config/tc-arm.c:5043
+#: config/tc-arm.c:4901 config/tc-arm.c:5045
msgid "unknown group relocation"
msgstr ""
-#: config/tc-arm.c:5012
+#: config/tc-arm.c:5014
msgid "alignment must be constant"
msgstr ""
-#: config/tc-arm.c:5074
+#: config/tc-arm.c:5076
msgid "this group relocation is not allowed on this instruction"
msgstr ""
-#: config/tc-arm.c:5086 config/tc-arm.c:5486
+#: config/tc-arm.c:5088 config/tc-arm.c:5488
msgid "']' expected"
msgstr ""
-#: config/tc-arm.c:5104
+#: config/tc-arm.c:5106
msgid "'}' expected at end of 'option' field"
msgstr ""
-#: config/tc-arm.c:5109
+#: config/tc-arm.c:5111
msgid "cannot combine index with option"
msgstr ""
-#: config/tc-arm.c:5122
+#: config/tc-arm.c:5124
msgid "cannot combine pre- and post-indexing"
msgstr ""
-#: config/tc-arm.c:5283
+#: config/tc-arm.c:5285
msgid "flag for {c}psr instruction expected"
msgstr ""
-#: config/tc-arm.c:5308
+#: config/tc-arm.c:5310
msgid "unrecognized CPS flag"
msgstr ""
-#: config/tc-arm.c:5315
+#: config/tc-arm.c:5317
msgid "missing CPS flags"
msgstr ""
-#: config/tc-arm.c:5338 config/tc-arm.c:5344
+#: config/tc-arm.c:5340 config/tc-arm.c:5346
msgid "valid endian specifiers are be or le"
msgstr ""
-#: config/tc-arm.c:5366
+#: config/tc-arm.c:5368
msgid "missing rotation field after comma"
msgstr ""
-#: config/tc-arm.c:5381
+#: config/tc-arm.c:5383
msgid "rotation can only be 0, 8, 16, or 24"
msgstr ""
-#: config/tc-arm.c:5410
+#: config/tc-arm.c:5412
msgid "condition required"
msgstr ""
-#: config/tc-arm.c:5448 config/tc-arm.c:7385
+#: config/tc-arm.c:5450 config/tc-arm.c:7387
msgid "'[' expected"
msgstr ""
-#: config/tc-arm.c:5461
+#: config/tc-arm.c:5463
msgid "',' expected"
msgstr ""
-#: config/tc-arm.c:5478
+#: config/tc-arm.c:5480
msgid "invalid shift"
msgstr ""
-#: config/tc-arm.c:5551
+#: config/tc-arm.c:5553
msgid "can't use Neon quad register here"
msgstr ""
-#: config/tc-arm.c:5617
+#: config/tc-arm.c:5619
msgid "expected <Rm> or <Dm> or <Qm> operand"
msgstr ""
-#: config/tc-arm.c:5697
+#: config/tc-arm.c:5699
msgid "parse error"
msgstr ""
-#: config/tc-arm.c:5707 read.c:2135
+#: config/tc-arm.c:5709 read.c:2135
msgid "expected comma"
msgstr ""
-#: config/tc-arm.c:6018 config/tc-arm.c:6088
+#: config/tc-arm.c:6020 config/tc-arm.c:6090
msgid "immediate value is out of range"
msgstr ""
-#: config/tc-arm.c:6233
+#: config/tc-arm.c:6235
msgid "iWMMXt data or control register expected"
msgstr ""
-#: config/tc-arm.c:6386
+#: config/tc-arm.c:6388
#, c-format
msgid "unhandled operand code %d"
msgstr ""
-#: config/tc-arm.c:6465 config/tc-score.c:264
+#: config/tc-arm.c:6467 config/tc-score.c:264
msgid "garbage following instruction"
msgstr ""
#. If REG is R13 (the stack pointer), warn that its use is
#. deprecated.
-#: config/tc-arm.c:6505
+#: config/tc-arm.c:6507
msgid "use of r13 is deprecated"
msgstr ""
-#: config/tc-arm.c:6575
+#: config/tc-arm.c:6577
msgid "D register out of range for selected VFP version"
msgstr ""
-#: config/tc-arm.c:6654
+#: config/tc-arm.c:6656
msgid "instruction does not accept preindexed addressing"
msgstr ""
#. unindexed - only for coprocessor
-#: config/tc-arm.c:6670 config/tc-arm.c:8710
+#: config/tc-arm.c:6672 config/tc-arm.c:8712
msgid "instruction does not accept unindexed addressing"
msgstr ""
-#: config/tc-arm.c:6678
+#: config/tc-arm.c:6680
msgid "destination register same as write-back base"
msgstr ""
-#: config/tc-arm.c:6679
+#: config/tc-arm.c:6681
msgid "source register same as write-back base"
msgstr ""
-#: config/tc-arm.c:6725
+#: config/tc-arm.c:6727
msgid "instruction does not accept scaled register index"
msgstr ""
-#: config/tc-arm.c:6765
+#: config/tc-arm.c:6767
msgid "instruction does not support unindexed addressing"
msgstr ""
-#: config/tc-arm.c:6780
+#: config/tc-arm.c:6782
msgid "pc may not be used with write-back"
msgstr ""
-#: config/tc-arm.c:6785
+#: config/tc-arm.c:6787
msgid "instruction does not support writeback"
msgstr ""
-#: config/tc-arm.c:6827
+#: config/tc-arm.c:6829
msgid "invalid pseudo operation"
msgstr ""
-#: config/tc-arm.c:6873
+#: config/tc-arm.c:6875
msgid "literal pool insertion failed"
msgstr ""
-#: config/tc-arm.c:6931
+#: config/tc-arm.c:6933
msgid "Rn must not overlap other operands"
msgstr ""
-#: config/tc-arm.c:7020 config/tc-arm.c:9276
+#: config/tc-arm.c:7022 config/tc-arm.c:9278
msgid "bad barrier type"
msgstr ""
-#: config/tc-arm.c:7031 config/tc-arm.c:7050 config/tc-arm.c:7063
-#: config/tc-arm.c:9288 config/tc-arm.c:9319 config/tc-arm.c:9341
+#: config/tc-arm.c:7033 config/tc-arm.c:7052 config/tc-arm.c:7065
+#: config/tc-arm.c:9290 config/tc-arm.c:9321 config/tc-arm.c:9343
msgid "bit-field extends past end of register"
msgstr ""
-#: config/tc-arm.c:7092
+#: config/tc-arm.c:7094
msgid "the only suffix valid here is '(plt)'"
msgstr ""
-#: config/tc-arm.c:7145
+#: config/tc-arm.c:7147
msgid "use of r15 in blx in ARM mode is not really useful"
msgstr ""
-#: config/tc-arm.c:7167
+#: config/tc-arm.c:7169
msgid "use of r15 in bx in ARM mode is not really useful"
msgstr ""
-#: config/tc-arm.c:7192
+#: config/tc-arm.c:7194
msgid "use of r15 in bxj is not really useful"
msgstr ""
-#: config/tc-arm.c:7352 config/tc-arm.c:7361
+#: config/tc-arm.c:7354 config/tc-arm.c:7363
msgid "writeback of base register is UNPREDICTABLE"
msgstr ""
-#: config/tc-arm.c:7355
+#: config/tc-arm.c:7357
msgid "writeback of base register when in register list is UNPREDICTABLE"
msgstr ""
-#: config/tc-arm.c:7365
+#: config/tc-arm.c:7367
msgid "if writeback register is in list, it must be the lowest reg in the list"
msgstr ""
-#: config/tc-arm.c:7380
+#: config/tc-arm.c:7382
msgid "first destination register must be even"
msgstr ""
-#: config/tc-arm.c:7383 config/tc-arm.c:7450
+#: config/tc-arm.c:7385 config/tc-arm.c:7452
msgid "can only load two consecutive registers"
msgstr ""
@@ -2339,1073 +2339,1077 @@
#. have been called in the first place.
#. If op 2 were present and equal to PC, this function wouldn't
#. have been called in the first place.
-#: config/tc-arm.c:7384 config/tc-arm.c:7453 config/tc-arm.c:7982
-#: config/tc-arm.c:9988
+#: config/tc-arm.c:7386 config/tc-arm.c:7455 config/tc-arm.c:7984
+#: config/tc-arm.c:9990
msgid "r14 not allowed here"
msgstr ""
-#: config/tc-arm.c:7398
+#: config/tc-arm.c:7400
msgid "base register written back, and overlaps second destination register"
msgstr ""
-#: config/tc-arm.c:7406
+#: config/tc-arm.c:7408
msgid "index register overlaps destination register"
msgstr ""
-#: config/tc-arm.c:7436 config/tc-arm.c:7964
+#: config/tc-arm.c:7438 config/tc-arm.c:7966
msgid "offset must be zero in ARM encoding"
msgstr ""
-#: config/tc-arm.c:7447 config/tc-arm.c:7976
+#: config/tc-arm.c:7449 config/tc-arm.c:7978
msgid "even register required"
msgstr ""
-#: config/tc-arm.c:7478 config/tc-arm.c:7509
+#: config/tc-arm.c:7480 config/tc-arm.c:7511
msgid "this instruction requires a post-indexed address"
msgstr ""
-#: config/tc-arm.c:7536
+#: config/tc-arm.c:7538
msgid "Rd and Rm should be different in mla"
msgstr ""
-#: config/tc-arm.c:7560 config/tc-arm.c:10317
+#: config/tc-arm.c:7562 config/tc-arm.c:10319
msgid ":lower16: not allowed this instruction"
msgstr ""
-#: config/tc-arm.c:7562
+#: config/tc-arm.c:7564
msgid ":upper16: not allowed instruction"
msgstr ""
-#: config/tc-arm.c:7581
+#: config/tc-arm.c:7583
msgid "operand 1 must be FPSCR"
msgstr ""
-#: config/tc-arm.c:7614 config/tc-arm.c:10442
+#: config/tc-arm.c:7616 config/tc-arm.c:10444
msgid "'CPSR' or 'SPSR' expected"
msgstr ""
-#: config/tc-arm.c:7651
+#: config/tc-arm.c:7653
msgid "Rd and Rm should be different in mul"
msgstr ""
-#: config/tc-arm.c:7670 config/tc-arm.c:7909 config/tc-arm.c:10572
+#: config/tc-arm.c:7672 config/tc-arm.c:7911 config/tc-arm.c:10574
msgid "rdhi and rdlo must be different"
msgstr ""
-#: config/tc-arm.c:7676
+#: config/tc-arm.c:7678
msgid "rdhi, rdlo and rm must all be different"
msgstr ""
-#: config/tc-arm.c:7741
+#: config/tc-arm.c:7743
msgid "'[' expected after PLD mnemonic"
msgstr ""
-#: config/tc-arm.c:7743 config/tc-arm.c:7758
+#: config/tc-arm.c:7745 config/tc-arm.c:7760
msgid "post-indexed expression used in preload instruction"
msgstr ""
-#: config/tc-arm.c:7745 config/tc-arm.c:7760
+#: config/tc-arm.c:7747 config/tc-arm.c:7762
msgid "writeback used in preload instruction"
msgstr ""
-#: config/tc-arm.c:7747 config/tc-arm.c:7762
+#: config/tc-arm.c:7749 config/tc-arm.c:7764
msgid "unindexed addressing used in preload instruction"
msgstr ""
-#: config/tc-arm.c:7756
+#: config/tc-arm.c:7758
msgid "'[' expected after PLI mnemonic"
msgstr ""
-#: config/tc-arm.c:7935
+#: config/tc-arm.c:7937
msgid "SRS base register must be r13"
msgstr ""
-#: config/tc-arm.c:7979
+#: config/tc-arm.c:7981
msgid "can only store two consecutive registers"
msgstr ""
-#: config/tc-arm.c:8074 config/tc-arm.c:8091
+#: config/tc-arm.c:8076 config/tc-arm.c:8093
msgid "only two consecutive VFP SP registers allowed here"
msgstr ""
-#: config/tc-arm.c:8119 config/tc-arm.c:8134
+#: config/tc-arm.c:8121 config/tc-arm.c:8136
msgid "this addressing mode requires base-register writeback"
msgstr ""
-#: config/tc-arm.c:8308
+#: config/tc-arm.c:8310
msgid "this instruction does not support indexing"
msgstr ""
-#: config/tc-arm.c:8331
+#: config/tc-arm.c:8333
msgid "only r15 allowed here"
msgstr ""
-#: config/tc-arm.c:8466
+#: config/tc-arm.c:8468
msgid "immediate operand requires iWMMXt2"
msgstr ""
-#: config/tc-arm.c:8610
+#: config/tc-arm.c:8612
msgid "shift by register not allowed in thumb mode"
msgstr ""
-#: config/tc-arm.c:8622 config/tc-arm.c:11085 config/tc-arm.c:19719
+#: config/tc-arm.c:8624 config/tc-arm.c:11087 config/tc-arm.c:19754
msgid "shift expression is too large"
msgstr ""
-#: config/tc-arm.c:8648
+#: config/tc-arm.c:8650
msgid "Instruction does not support =N addresses"
msgstr ""
-#: config/tc-arm.c:8653
+#: config/tc-arm.c:8655
msgid "cannot use register index with PC-relative addressing"
msgstr ""
-#: config/tc-arm.c:8654
+#: config/tc-arm.c:8656
msgid "cannot use register index with this instruction"
msgstr ""
-#: config/tc-arm.c:8656
+#: config/tc-arm.c:8658
msgid "Thumb does not support negative register indexing"
msgstr ""
-#: config/tc-arm.c:8658
+#: config/tc-arm.c:8660
msgid "Thumb does not support register post-indexing"
msgstr ""
-#: config/tc-arm.c:8660
+#: config/tc-arm.c:8662
msgid "Thumb does not support register indexing with writeback"
msgstr ""
-#: config/tc-arm.c:8662
+#: config/tc-arm.c:8664
msgid "Thumb supports only LSL in shifted register indexing"
msgstr ""
-#: config/tc-arm.c:8671 config/tc-arm.c:13865
+#: config/tc-arm.c:8673 config/tc-arm.c:13867
msgid "shift out of range"
msgstr ""
-#: config/tc-arm.c:8679
+#: config/tc-arm.c:8681
msgid "cannot use writeback with PC-relative addressing"
msgstr ""
-#: config/tc-arm.c:8681
+#: config/tc-arm.c:8683
msgid "cannot use writeback with this instruction"
msgstr ""
-#: config/tc-arm.c:8700
+#: config/tc-arm.c:8702
msgid "cannot use post-indexing with PC-relative addressing"
msgstr ""
-#: config/tc-arm.c:8701
+#: config/tc-arm.c:8703
msgid "cannot use post-indexing with this instruction"
msgstr ""
-#: config/tc-arm.c:8912
+#: config/tc-arm.c:8914
msgid "only SUBS PC, LR, #const allowed"
msgstr ""
-#: config/tc-arm.c:8991 config/tc-arm.c:9142 config/tc-arm.c:9239
-#: config/tc-arm.c:10396 config/tc-arm.c:10678
+#: config/tc-arm.c:8993 config/tc-arm.c:9144 config/tc-arm.c:9241
+#: config/tc-arm.c:10398 config/tc-arm.c:10680
msgid "shift must be constant"
msgstr ""
-#: config/tc-arm.c:9018 config/tc-arm.c:9157 config/tc-arm.c:9254
-#: config/tc-arm.c:10409
+#: config/tc-arm.c:9020 config/tc-arm.c:9159 config/tc-arm.c:9256
+#: config/tc-arm.c:10411
msgid "unshifted register required"
msgstr ""
-#: config/tc-arm.c:9033 config/tc-arm.c:9265 config/tc-arm.c:10533
+#: config/tc-arm.c:9035 config/tc-arm.c:9267 config/tc-arm.c:10535
msgid "dest must overlap one source register"
msgstr ""
-#: config/tc-arm.c:9160
+#: config/tc-arm.c:9162
msgid "dest and source1 must be the same register"
msgstr ""
-#: config/tc-arm.c:9436
+#: config/tc-arm.c:9438
msgid "instruction is always unconditional"
msgstr ""
-#: config/tc-arm.c:9531
+#: config/tc-arm.c:9533
msgid "selected processor does not support 'A' form of this instruction"
msgstr ""
-#: config/tc-arm.c:9534
+#: config/tc-arm.c:9536
msgid "Thumb does not support the 2-argument form of this instruction"
msgstr ""
-#: config/tc-arm.c:9642
+#: config/tc-arm.c:9644
msgid "SP not allowed in register list"
msgstr ""
-#: config/tc-arm.c:9648
+#: config/tc-arm.c:9650
msgid "LR and PC should not both be in register list"
msgstr ""
-#: config/tc-arm.c:9655
+#: config/tc-arm.c:9657
msgid "base register should not be in register list when written back"
msgstr ""
-#: config/tc-arm.c:9661
+#: config/tc-arm.c:9663
msgid "PC not allowed in register list"
msgstr ""
-#: config/tc-arm.c:9664 config/tc-arm.c:9730 config/tc-arm.c:9770
+#: config/tc-arm.c:9666 config/tc-arm.c:9732 config/tc-arm.c:9772
#, c-format
msgid "value stored for r%d is UNPREDICTABLE"
msgstr ""
-#: config/tc-arm.c:9706
+#: config/tc-arm.c:9708
msgid "Thumb load/store multiple does not support {reglist}^"
msgstr ""
-#: config/tc-arm.c:9763
+#: config/tc-arm.c:9765
msgid "Thumb-2 instruction only valid in unified syntax"
msgstr ""
-#: config/tc-arm.c:9767 config/tc-arm.c:9777
+#: config/tc-arm.c:9769 config/tc-arm.c:9779
msgid "this instruction will write back the base register"
msgstr ""
-#: config/tc-arm.c:9780
+#: config/tc-arm.c:9782
msgid "this instruction will not write back the base register"
msgstr ""
-#: config/tc-arm.c:9809
+#: config/tc-arm.c:9811
msgid "r14 not allowed as first register when second register is omitted"
msgstr ""
-#: config/tc-arm.c:9911 config/tc-arm.c:9924 config/tc-arm.c:9960
+#: config/tc-arm.c:9913 config/tc-arm.c:9926 config/tc-arm.c:9962
msgid "Thumb does not support this addressing mode"
msgstr ""
-#: config/tc-arm.c:9928
+#: config/tc-arm.c:9930
msgid "byte or halfword not valid for base register"
msgstr ""
-#: config/tc-arm.c:9931
+#: config/tc-arm.c:9933
msgid "r15 based store not allowed"
msgstr ""
-#: config/tc-arm.c:9933
+#: config/tc-arm.c:9935
msgid "invalid base register for register offset"
msgstr ""
-#: config/tc-arm.c:10273
+#: config/tc-arm.c:10275
msgid "shifts in CMP/MOV instructions are only supported in unified syntax"
msgstr ""
-#: config/tc-arm.c:10301
+#: config/tc-arm.c:10303
msgid "only lo regs allowed with immediate"
msgstr ""
-#: config/tc-arm.c:10322
+#: config/tc-arm.c:10324
msgid ":upper16: not allowed this instruction"
msgstr ""
-#: config/tc-arm.c:10432 config/tc-arm.c:10438 config/tc-arm.c:10468
-#: config/tc-arm.c:10474
+#: config/tc-arm.c:10434 config/tc-arm.c:10440 config/tc-arm.c:10470
+#: config/tc-arm.c:10476
msgid "selected processor does not support requested special purpose register"
msgstr ""
-#: config/tc-arm.c:10463
+#: config/tc-arm.c:10465
msgid "Thumb encoding does not support an immediate here"
msgstr ""
-#: config/tc-arm.c:10538
+#: config/tc-arm.c:10540
msgid "Thumb-2 MUL must not set flags"
msgstr ""
-#: config/tc-arm.c:10603
+#: config/tc-arm.c:10605
msgid "Thumb does not support NOP with hints"
msgstr ""
-#: config/tc-arm.c:10741
+#: config/tc-arm.c:10743
msgid "push/pop do not support {reglist}^"
msgstr ""
-#: config/tc-arm.c:10764
+#: config/tc-arm.c:10766
msgid "invalid register list to push/pop instruction"
msgstr ""
-#: config/tc-arm.c:10997
+#: config/tc-arm.c:10999
msgid "source1 and dest must be same register"
msgstr ""
-#: config/tc-arm.c:11018
+#: config/tc-arm.c:11020
msgid "ror #imm not supported"
msgstr ""
-#: config/tc-arm.c:11201
+#: config/tc-arm.c:11203
msgid "Thumb encoding does not support rotation"
msgstr ""
-#: config/tc-arm.c:11221
+#: config/tc-arm.c:11223
msgid "instruction requires register index"
msgstr ""
-#: config/tc-arm.c:11230
+#: config/tc-arm.c:11232
msgid "instruction does not allow shifted index"
msgstr ""
-#: config/tc-arm.c:11640
+#: config/tc-arm.c:11642
msgid "invalid instruction shape"
msgstr ""
-#: config/tc-arm.c:11883
+#: config/tc-arm.c:11885
msgid "types specified in both the mnemonic and operands"
msgstr ""
-#: config/tc-arm.c:11920
+#: config/tc-arm.c:11922
msgid "operand types can't be inferred"
msgstr ""
-#: config/tc-arm.c:11926
+#: config/tc-arm.c:11928
msgid "type specifier has the wrong number of parts"
msgstr ""
-#: config/tc-arm.c:11981 config/tc-arm.c:13618 config/tc-arm.c:13625
+#: config/tc-arm.c:11983 config/tc-arm.c:13620 config/tc-arm.c:13627
msgid "operand size must match register width"
msgstr ""
-#: config/tc-arm.c:11992
+#: config/tc-arm.c:11994
msgid "bad type in Neon instruction"
msgstr ""
-#: config/tc-arm.c:12003
+#: config/tc-arm.c:12005
msgid "inconsistent types in Neon instruction"
msgstr ""
-#: config/tc-arm.c:13052
+#: config/tc-arm.c:13054
msgid "scalar out of range for multiply instruction"
msgstr ""
-#: config/tc-arm.c:13216 config/tc-arm.c:13228
+#: config/tc-arm.c:13218 config/tc-arm.c:13230
msgid "immediate out of range for insert"
msgstr ""
-#: config/tc-arm.c:13240 config/tc-arm.c:14210
+#: config/tc-arm.c:13242 config/tc-arm.c:14212
msgid "immediate out of range for shift"
msgstr ""
-#: config/tc-arm.c:13297 config/tc-arm.c:13324 config/tc-arm.c:13711
-#: config/tc-arm.c:14156
+#: config/tc-arm.c:13299 config/tc-arm.c:13326 config/tc-arm.c:13713
+#: config/tc-arm.c:14158
msgid "immediate out of range"
msgstr ""
-#: config/tc-arm.c:13361
+#: config/tc-arm.c:13363
msgid "immediate out of range for narrowing operation"
msgstr ""
-#: config/tc-arm.c:13486
+#: config/tc-arm.c:13488
msgid "operands 0 and 1 must be the same register"
msgstr ""
-#: config/tc-arm.c:13685
+#: config/tc-arm.c:13687
msgid "operand size must be specified for immediate VMOV"
msgstr ""
-#: config/tc-arm.c:13695
+#: config/tc-arm.c:13697
msgid "immediate has bits set outside the operand size"
msgstr ""
-#: config/tc-arm.c:13891
+#: config/tc-arm.c:13893
msgid "elements must be smaller than reversal region"
msgstr ""
-#: config/tc-arm.c:14061 config/tc-arm.c:14109
+#: config/tc-arm.c:14063 config/tc-arm.c:14111
msgid "bad type for scalar"
msgstr ""
-#: config/tc-arm.c:14173 config/tc-arm.c:14181
+#: config/tc-arm.c:14175 config/tc-arm.c:14183
msgid "VFP registers must be adjacent"
msgstr ""
-#: config/tc-arm.c:14322
+#: config/tc-arm.c:14324
msgid "bad list length for table lookup"
msgstr ""
-#: config/tc-arm.c:14352
+#: config/tc-arm.c:14354
msgid "writeback (!) must be used for VLDMDB and VSTMDB"
msgstr ""
-#: config/tc-arm.c:14355
+#: config/tc-arm.c:14357
msgid "register list must contain at least 1 and at most 16 registers"
msgstr ""
-#: config/tc-arm.c:14432
+#: config/tc-arm.c:14434
msgid "bad alignment"
msgstr ""
-#: config/tc-arm.c:14449
+#: config/tc-arm.c:14451
msgid "bad list type for instruction"
msgstr ""
-#: config/tc-arm.c:14491
+#: config/tc-arm.c:14493
msgid "unsupported alignment for instruction"
msgstr ""
-#: config/tc-arm.c:14510 config/tc-arm.c:14604 config/tc-arm.c:14615
-#: config/tc-arm.c:14625 config/tc-arm.c:14639
+#: config/tc-arm.c:14512 config/tc-arm.c:14606 config/tc-arm.c:14617
+#: config/tc-arm.c:14627 config/tc-arm.c:14641
msgid "bad list length"
msgstr ""
-#: config/tc-arm.c:14515
+#: config/tc-arm.c:14517
msgid "stride of 2 unavailable when element size is 8"
msgstr ""
-#: config/tc-arm.c:14548 config/tc-arm.c:14623
+#: config/tc-arm.c:14550 config/tc-arm.c:14625
msgid "can't use alignment with this instruction"
msgstr ""
-#: config/tc-arm.c:14687
+#: config/tc-arm.c:14689
msgid "post-index must be a register"
msgstr ""
-#: config/tc-arm.c:14689
+#: config/tc-arm.c:14691
msgid "bad register for post-index"
msgstr ""
-#: config/tc-arm.c:15003 config/tc-arm.c:15087
+#: config/tc-arm.c:15005 config/tc-arm.c:15089
msgid "conditional infixes are deprecated in unified syntax"
msgstr ""
-#: config/tc-arm.c:15235
+#: config/tc-arm.c:15237
msgid "Warning: conditional outside an IT block for Thumb."
msgstr ""
-#: config/tc-arm.c:15440
+#: config/tc-arm.c:15442
msgid "s suffix on comparison instruction is deprecated"
msgstr ""
-#: config/tc-arm.c:15459 config/tc-arm.c:15484 config/tc-arm.c:15548
+#: config/tc-arm.c:15461 config/tc-arm.c:15486 config/tc-arm.c:15550
#, c-format
msgid "selected processor does not support `%s'"
msgstr ""
-#: config/tc-arm.c:15465
+#: config/tc-arm.c:15467
msgid "Thumb does not support conditional execution"
msgstr ""
-#: config/tc-arm.c:15509
+#: config/tc-arm.c:15511
#, c-format
msgid "cannot honor width suffix -- `%s'"
msgstr ""
-#: config/tc-arm.c:15553
+#: config/tc-arm.c:15555
#, c-format
msgid "width suffixes are invalid in ARM mode -- `%s'"
msgstr ""
-#: config/tc-arm.c:15583
+#: config/tc-arm.c:15585
#, c-format
msgid "attempt to use an ARM instruction on a Thumb-only processor -- `%s'"
msgstr ""
-#: config/tc-arm.c:15600
+#: config/tc-arm.c:15602
#, c-format
msgid "section '%s' finished with an open IT block."
msgstr ""
-#: config/tc-arm.c:15605
+#: config/tc-arm.c:15607
msgid "file finished with an open IT block."
msgstr ""
-#: config/tc-arm.c:18509
+#: config/tc-arm.c:18511
#, c-format
msgid "alignments greater than %d bytes not supported in .text sections."
msgstr ""
-#: config/tc-arm.c:18777 config/tc-ia64.c:3458
+#: config/tc-arm.c:18779 config/tc-ia64.c:3458
#, c-format
msgid "Group section `%s' has no group signature"
msgstr ""
-#: config/tc-arm.c:18822
+#: config/tc-arm.c:18824
msgid "handlerdata in cantunwind frame"
msgstr ""
-#: config/tc-arm.c:18839
+#: config/tc-arm.c:18841
msgid "too many unwind opcodes for personality routine 0"
msgstr ""
-#: config/tc-arm.c:18871
+#: config/tc-arm.c:18873
msgid "too many unwind opcodes"
msgstr ""
-#: config/tc-arm.c:19123
+#: config/tc-arm.c:19133
msgid "GOT already in the symbol table"
msgstr ""
-#: config/tc-arm.c:19435 config/tc-arm.c:19476 config/tc-arm.c:19746
+#: config/tc-arm.c:19470 config/tc-arm.c:19511 config/tc-arm.c:19781
#, c-format
msgid "undefined symbol %s used as an immediate value"
msgstr ""
-#: config/tc-arm.c:19444 config/tc-arm.c:19485
+#: config/tc-arm.c:19479 config/tc-arm.c:19520
#, c-format
msgid "symbol %s is in a different section"
msgstr ""
-#: config/tc-arm.c:19458 config/tc-arm.c:19785
+#: config/tc-arm.c:19493 config/tc-arm.c:19820
#, c-format
msgid "invalid constant (%lx) after fixup"
msgstr ""
-#: config/tc-arm.c:19513
+#: config/tc-arm.c:19548
#, c-format
msgid "unable to compute ADRL instructions for PC offset of 0x%lx"
msgstr ""
-#: config/tc-arm.c:19548 config/tc-arm.c:19573
+#: config/tc-arm.c:19583 config/tc-arm.c:19608
msgid "invalid literal constant: pool needs to be closer"
msgstr ""
-#: config/tc-arm.c:19551 config/tc-arm.c:19589
+#: config/tc-arm.c:19586 config/tc-arm.c:19624
#, c-format
msgid "bad immediate value for offset (%ld)"
msgstr ""
-#: config/tc-arm.c:19575
+#: config/tc-arm.c:19610
#, c-format
msgid "bad immediate value for 8-bit offset (%ld)"
msgstr ""
-#: config/tc-arm.c:19630
+#: config/tc-arm.c:19665
msgid "offset not a multiple of 4"
msgstr ""
-#: config/tc-arm.c:19637 config/tc-arm.c:19652 config/tc-arm.c:19667
-#: config/tc-arm.c:19678 config/tc-arm.c:19701 config/tc-arm.c:20413
-#: config/tc-moxie.c:664 config/tc-pj.c:449 config/tc-sh.c:4190
+#: config/tc-arm.c:19672 config/tc-arm.c:19687 config/tc-arm.c:19702
+#: config/tc-arm.c:19713 config/tc-arm.c:19736 config/tc-arm.c:20445
+#: config/tc-moxie.c:664 config/tc-pj.c:450 config/tc-sh.c:4190
msgid "offset out of range"
msgstr ""
-#: config/tc-arm.c:19801
+#: config/tc-arm.c:19836
msgid "invalid smc expression"
msgstr ""
-#: config/tc-arm.c:19812 config/tc-arm.c:19821
+#: config/tc-arm.c:19847 config/tc-arm.c:19856
msgid "invalid swi expression"
msgstr ""
-#: config/tc-arm.c:19831
+#: config/tc-arm.c:19866
msgid "invalid expression in load/store multiple"
msgstr ""
-#: config/tc-arm.c:19892
+#: config/tc-arm.c:19927
#, c-format
msgid "blx to '%s' an ARM ISA state function changed to bl"
msgstr ""
-#: config/tc-arm.c:19911
+#: config/tc-arm.c:19946
msgid "misaligned branch destination"
msgstr ""
-#: config/tc-arm.c:19915 config/tc-arm.c:19952 config/tc-arm.c:19966
-#: config/tc-arm.c:19979 config/tc-arm.c:20078 config/tc-arm.c:20103
+#: config/tc-arm.c:19950 config/tc-arm.c:19987 config/tc-arm.c:20001
+#: config/tc-arm.c:20014 config/tc-arm.c:20123 config/tc-arm.c:20152
msgid "branch out of range"
msgstr ""
-#: config/tc-arm.c:20002
+#: config/tc-arm.c:20037
msgid "conditional branch out of range"
msgstr ""
-#: config/tc-arm.c:20038
+#: config/tc-arm.c:20073
#, c-format
msgid "blx to Thumb func '%s' from Thumb ISA state changed to bl"
msgstr ""
-#: config/tc-arm.c:20187
+#: config/tc-arm.c:20129
+msgid "Thumb2 branch out of range"
+msgstr ""
+
+#: config/tc-arm.c:20219
msgid "rel31 relocation overflow"
msgstr ""
-#: config/tc-arm.c:20199 config/tc-arm.c:20222
+#: config/tc-arm.c:20231 config/tc-arm.c:20254
msgid "co-processor offset out of range"
msgstr ""
-#: config/tc-arm.c:20239
+#: config/tc-arm.c:20271
#, c-format
msgid "invalid offset, target not word aligned (0x%08lX)"
msgstr ""
-#: config/tc-arm.c:20246 config/tc-arm.c:20255 config/tc-arm.c:20263
-#: config/tc-arm.c:20271 config/tc-arm.c:20279
+#: config/tc-arm.c:20278 config/tc-arm.c:20287 config/tc-arm.c:20295
+#: config/tc-arm.c:20303 config/tc-arm.c:20311
#, c-format
msgid "invalid offset, value too big (0x%08lX)"
msgstr ""
-#: config/tc-arm.c:20320
+#: config/tc-arm.c:20352
msgid "invalid Hi register with immediate"
msgstr ""
-#: config/tc-arm.c:20336
+#: config/tc-arm.c:20368
msgid "invalid immediate for stack address calculation"
msgstr ""
-#: config/tc-arm.c:20344
+#: config/tc-arm.c:20376
#, c-format
msgid "invalid immediate for address calculation (value = 0x%08lX)"
msgstr ""
-#: config/tc-arm.c:20374
+#: config/tc-arm.c:20406
#, c-format
msgid "invalid immediate: %ld is out of range"
msgstr ""
-#: config/tc-arm.c:20386
+#: config/tc-arm.c:20418
#, c-format
msgid "invalid shift value: %ld"
msgstr ""
-#: config/tc-arm.c:20465
+#: config/tc-arm.c:20497
#, c-format
msgid "the offset 0x%08lX is not representable"
msgstr ""
-#: config/tc-arm.c:20505
+#: config/tc-arm.c:20537
#, c-format
msgid "bad offset 0x%08lX (only 12 bits available for the magnitude)"
msgstr ""
-#: config/tc-arm.c:20544
+#: config/tc-arm.c:20576
#, c-format
msgid "bad offset 0x%08lX (only 8 bits available for the magnitude)"
msgstr ""
-#: config/tc-arm.c:20584
+#: config/tc-arm.c:20616
#, c-format
msgid "bad offset 0x%08lX (must be word-aligned)"
msgstr ""
-#: config/tc-arm.c:20589
+#: config/tc-arm.c:20621
#, c-format
msgid "bad offset 0x%08lX (must be an 8-bit number of words)"
msgstr ""
-#: config/tc-arm.c:20620 config/tc-score.c:7398
+#: config/tc-arm.c:20652 config/tc-score.c:7398
#, c-format
msgid "bad relocation fixup type (%d)"
msgstr ""
-#: config/tc-arm.c:20731
+#: config/tc-arm.c:20763
msgid "literal referenced across section boundary"
msgstr ""
-#: config/tc-arm.c:20792
+#: config/tc-arm.c:20824
msgid "internal relocation (type: IMMEDIATE) not fixed up"
msgstr ""
-#: config/tc-arm.c:20797
+#: config/tc-arm.c:20829
msgid "ADRL used for a symbol not defined in the same file"
msgstr ""
-#: config/tc-arm.c:20812
+#: config/tc-arm.c:20844
#, c-format
msgid "undefined local label `%s'"
msgstr ""
-#: config/tc-arm.c:20818
+#: config/tc-arm.c:20850
msgid "internal_relocation (type: OFFSET_IMM) not fixed up"
msgstr ""
-#: config/tc-arm.c:20839 config/tc-cris.c:3985 config/tc-mcore.c:1926
-#: config/tc-microblaze.c:1834 config/tc-mmix.c:2862 config/tc-moxie.c:759
+#: config/tc-arm.c:20871 config/tc-cris.c:3985 config/tc-mcore.c:1926
+#: config/tc-microblaze.c:1834 config/tc-mmix.c:2867 config/tc-moxie.c:759
#: config/tc-ns32k.c:2248 config/tc-score.c:7491
msgid "<unknown>"
msgstr ""
-#: config/tc-arm.c:20842 config/tc-arm.c:20863 config/tc-score.c:7493
+#: config/tc-arm.c:20874 config/tc-arm.c:20895 config/tc-score.c:7493
#, c-format
msgid "cannot represent %s relocation in this object file format"
msgstr ""
-#: config/tc-arm.c:21203
+#: config/tc-arm.c:21235
#, c-format
msgid "%s: unexpected function type: %d"
msgstr ""
-#: config/tc-arm.c:21330
+#: config/tc-arm.c:21362
msgid "use of old and new-style options to set CPU type"
msgstr ""
-#: config/tc-arm.c:21340
+#: config/tc-arm.c:21372
msgid "use of old and new-style options to set FPU type"
msgstr ""
-#: config/tc-arm.c:21416
+#: config/tc-arm.c:21448
msgid "hard-float conflicts with specified fpu"
msgstr ""
-#: config/tc-arm.c:21603
+#: config/tc-arm.c:21635
msgid "generate PIC code"
msgstr ""
-#: config/tc-arm.c:21604
+#: config/tc-arm.c:21636
msgid "assemble Thumb code"
msgstr ""
-#: config/tc-arm.c:21605
+#: config/tc-arm.c:21637
msgid "support ARM/Thumb interworking"
msgstr ""
-#: config/tc-arm.c:21607
+#: config/tc-arm.c:21639
msgid "code uses 32-bit program counter"
msgstr ""
-#: config/tc-arm.c:21608
+#: config/tc-arm.c:21640
msgid "code uses 26-bit program counter"
msgstr ""
-#: config/tc-arm.c:21609
+#: config/tc-arm.c:21641
msgid "floating point args are in fp regs"
msgstr ""
-#: config/tc-arm.c:21611
+#: config/tc-arm.c:21643
msgid "re-entrant code"
msgstr ""
-#: config/tc-arm.c:21612
+#: config/tc-arm.c:21644
msgid "code is ATPCS conformant"
msgstr ""
-#: config/tc-arm.c:21613
+#: config/tc-arm.c:21645
msgid "assemble for big-endian"
msgstr ""
-#: config/tc-arm.c:21614
+#: config/tc-arm.c:21646
msgid "assemble for little-endian"
msgstr ""
#. These are recognized by the assembler, but have no affect on code.
-#: config/tc-arm.c:21618
+#: config/tc-arm.c:21650
msgid "use frame pointer"
msgstr ""
-#: config/tc-arm.c:21619
+#: config/tc-arm.c:21651
msgid "use stack size checking"
msgstr ""
-#: config/tc-arm.c:21622
+#: config/tc-arm.c:21654
msgid "do not warn on use of deprecated feature"
msgstr ""
#. DON'T add any new processors to this list -- we want the whole list
#. to go away... Add them to the processors table instead.
-#: config/tc-arm.c:21639 config/tc-arm.c:21640
+#: config/tc-arm.c:21671 config/tc-arm.c:21672
msgid "use -mcpu=arm1"
msgstr ""
-#: config/tc-arm.c:21641 config/tc-arm.c:21642
+#: config/tc-arm.c:21673 config/tc-arm.c:21674
msgid "use -mcpu=arm2"
msgstr ""
-#: config/tc-arm.c:21643 config/tc-arm.c:21644
+#: config/tc-arm.c:21675 config/tc-arm.c:21676
msgid "use -mcpu=arm250"
msgstr ""
-#: config/tc-arm.c:21645 config/tc-arm.c:21646
+#: config/tc-arm.c:21677 config/tc-arm.c:21678
msgid "use -mcpu=arm3"
msgstr ""
-#: config/tc-arm.c:21647 config/tc-arm.c:21648
+#: config/tc-arm.c:21679 config/tc-arm.c:21680
msgid "use -mcpu=arm6"
msgstr ""
-#: config/tc-arm.c:21649 config/tc-arm.c:21650
+#: config/tc-arm.c:21681 config/tc-arm.c:21682
msgid "use -mcpu=arm600"
msgstr ""
-#: config/tc-arm.c:21651 config/tc-arm.c:21652
+#: config/tc-arm.c:21683 config/tc-arm.c:21684
msgid "use -mcpu=arm610"
msgstr ""
-#: config/tc-arm.c:21653 config/tc-arm.c:21654
+#: config/tc-arm.c:21685 config/tc-arm.c:21686
msgid "use -mcpu=arm620"
msgstr ""
-#: config/tc-arm.c:21655 config/tc-arm.c:21656
+#: config/tc-arm.c:21687 config/tc-arm.c:21688
msgid "use -mcpu=arm7"
msgstr ""
-#: config/tc-arm.c:21657 config/tc-arm.c:21658
+#: config/tc-arm.c:21689 config/tc-arm.c:21690
msgid "use -mcpu=arm70"
msgstr ""
-#: config/tc-arm.c:21659 config/tc-arm.c:21660
+#: config/tc-arm.c:21691 config/tc-arm.c:21692
msgid "use -mcpu=arm700"
msgstr ""
-#: config/tc-arm.c:21661 config/tc-arm.c:21662
+#: config/tc-arm.c:21693 config/tc-arm.c:21694
msgid "use -mcpu=arm700i"
msgstr ""
-#: config/tc-arm.c:21663 config/tc-arm.c:21664
+#: config/tc-arm.c:21695 config/tc-arm.c:21696
msgid "use -mcpu=arm710"
msgstr ""
-#: config/tc-arm.c:21665 config/tc-arm.c:21666
+#: config/tc-arm.c:21697 config/tc-arm.c:21698
msgid "use -mcpu=arm710c"
msgstr ""
-#: config/tc-arm.c:21667 config/tc-arm.c:21668
+#: config/tc-arm.c:21699 config/tc-arm.c:21700
msgid "use -mcpu=arm720"
msgstr ""
-#: config/tc-arm.c:21669 config/tc-arm.c:21670
+#: config/tc-arm.c:21701 config/tc-arm.c:21702
msgid "use -mcpu=arm7d"
msgstr ""
-#: config/tc-arm.c:21671 config/tc-arm.c:21672
+#: config/tc-arm.c:21703 config/tc-arm.c:21704
msgid "use -mcpu=arm7di"
msgstr ""
-#: config/tc-arm.c:21673 config/tc-arm.c:21674
+#: config/tc-arm.c:21705 config/tc-arm.c:21706
msgid "use -mcpu=arm7m"
msgstr ""
-#: config/tc-arm.c:21675 config/tc-arm.c:21676
+#: config/tc-arm.c:21707 config/tc-arm.c:21708
msgid "use -mcpu=arm7dm"
msgstr ""
-#: config/tc-arm.c:21677 config/tc-arm.c:21678
+#: config/tc-arm.c:21709 config/tc-arm.c:21710
msgid "use -mcpu=arm7dmi"
msgstr ""
-#: config/tc-arm.c:21679 config/tc-arm.c:21680
+#: config/tc-arm.c:21711 config/tc-arm.c:21712
msgid "use -mcpu=arm7100"
msgstr ""
-#: config/tc-arm.c:21681 config/tc-arm.c:21682
+#: config/tc-arm.c:21713 config/tc-arm.c:21714
msgid "use -mcpu=arm7500"
msgstr ""
-#: config/tc-arm.c:21683 config/tc-arm.c:21684
+#: config/tc-arm.c:21715 config/tc-arm.c:21716
msgid "use -mcpu=arm7500fe"
msgstr ""
-#: config/tc-arm.c:21685 config/tc-arm.c:21686 config/tc-arm.c:21687
-#: config/tc-arm.c:21688
+#: config/tc-arm.c:21717 config/tc-arm.c:21718 config/tc-arm.c:21719
+#: config/tc-arm.c:21720
msgid "use -mcpu=arm7tdmi"
msgstr ""
-#: config/tc-arm.c:21689 config/tc-arm.c:21690
+#: config/tc-arm.c:21721 config/tc-arm.c:21722
msgid "use -mcpu=arm710t"
msgstr ""
-#: config/tc-arm.c:21691 config/tc-arm.c:21692
+#: config/tc-arm.c:21723 config/tc-arm.c:21724
msgid "use -mcpu=arm720t"
msgstr ""
-#: config/tc-arm.c:21693 config/tc-arm.c:21694
+#: config/tc-arm.c:21725 config/tc-arm.c:21726
msgid "use -mcpu=arm740t"
msgstr ""
-#: config/tc-arm.c:21695 config/tc-arm.c:21696
+#: config/tc-arm.c:21727 config/tc-arm.c:21728
msgid "use -mcpu=arm8"
msgstr ""
-#: config/tc-arm.c:21697 config/tc-arm.c:21698
+#: config/tc-arm.c:21729 config/tc-arm.c:21730
msgid "use -mcpu=arm810"
msgstr ""
-#: config/tc-arm.c:21699 config/tc-arm.c:21700
+#: config/tc-arm.c:21731 config/tc-arm.c:21732
msgid "use -mcpu=arm9"
msgstr ""
-#: config/tc-arm.c:21701 config/tc-arm.c:21702
+#: config/tc-arm.c:21733 config/tc-arm.c:21734
msgid "use -mcpu=arm9tdmi"
msgstr ""
-#: config/tc-arm.c:21703 config/tc-arm.c:21704
+#: config/tc-arm.c:21735 config/tc-arm.c:21736
msgid "use -mcpu=arm920"
msgstr ""
-#: config/tc-arm.c:21705 config/tc-arm.c:21706
+#: config/tc-arm.c:21737 config/tc-arm.c:21738
msgid "use -mcpu=arm940"
msgstr ""
-#: config/tc-arm.c:21707
+#: config/tc-arm.c:21739
msgid "use -mcpu=strongarm"
msgstr ""
-#: config/tc-arm.c:21709
+#: config/tc-arm.c:21741
msgid "use -mcpu=strongarm110"
msgstr ""
-#: config/tc-arm.c:21711
+#: config/tc-arm.c:21743
msgid "use -mcpu=strongarm1100"
msgstr ""
-#: config/tc-arm.c:21713
+#: config/tc-arm.c:21745
msgid "use -mcpu=strongarm1110"
msgstr ""
-#: config/tc-arm.c:21714
+#: config/tc-arm.c:21746
msgid "use -mcpu=xscale"
msgstr ""
-#: config/tc-arm.c:21715
+#: config/tc-arm.c:21747
msgid "use -mcpu=iwmmxt"
msgstr ""
-#: config/tc-arm.c:21716
+#: config/tc-arm.c:21748
msgid "use -mcpu=all"
msgstr ""
#. Architecture variants -- don't add any more to this list either.
-#: config/tc-arm.c:21719 config/tc-arm.c:21720
+#: config/tc-arm.c:21751 config/tc-arm.c:21752
msgid "use -march=armv2"
msgstr ""
-#: config/tc-arm.c:21721 config/tc-arm.c:21722
+#: config/tc-arm.c:21753 config/tc-arm.c:21754
msgid "use -march=armv2a"
msgstr ""
-#: config/tc-arm.c:21723 config/tc-arm.c:21724
+#: config/tc-arm.c:21755 config/tc-arm.c:21756
msgid "use -march=armv3"
msgstr ""
-#: config/tc-arm.c:21725 config/tc-arm.c:21726
+#: config/tc-arm.c:21757 config/tc-arm.c:21758
msgid "use -march=armv3m"
msgstr ""
-#: config/tc-arm.c:21727 config/tc-arm.c:21728
+#: config/tc-arm.c:21759 config/tc-arm.c:21760
msgid "use -march=armv4"
msgstr ""
-#: config/tc-arm.c:21729 config/tc-arm.c:21730
+#: config/tc-arm.c:21761 config/tc-arm.c:21762
msgid "use -march=armv4t"
msgstr ""
-#: config/tc-arm.c:21731 config/tc-arm.c:21732
+#: config/tc-arm.c:21763 config/tc-arm.c:21764
msgid "use -march=armv5"
msgstr ""
-#: config/tc-arm.c:21733 config/tc-arm.c:21734
+#: config/tc-arm.c:21765 config/tc-arm.c:21766
msgid "use -march=armv5t"
msgstr ""
-#: config/tc-arm.c:21735 config/tc-arm.c:21736
+#: config/tc-arm.c:21767 config/tc-arm.c:21768
msgid "use -march=armv5te"
msgstr ""
#. Floating point variants -- don't add any more to this list either.
-#: config/tc-arm.c:21739
+#: config/tc-arm.c:21771
msgid "use -mfpu=fpe"
msgstr ""
-#: config/tc-arm.c:21740
+#: config/tc-arm.c:21772
msgid "use -mfpu=fpa10"
msgstr ""
-#: config/tc-arm.c:21741
+#: config/tc-arm.c:21773
msgid "use -mfpu=fpa11"
msgstr ""
-#: config/tc-arm.c:21743
+#: config/tc-arm.c:21775
msgid "use either -mfpu=softfpa or -mfpu=softvfp"
msgstr ""
-#: config/tc-arm.c:22018
+#: config/tc-arm.c:22050
msgid "invalid architectural extension"
msgstr ""
-#: config/tc-arm.c:22032
+#: config/tc-arm.c:22064
msgid "missing architectural extension"
msgstr ""
-#: config/tc-arm.c:22045
+#: config/tc-arm.c:22077
#, c-format
msgid "unknown architectural extension `%s'"
msgstr ""
-#: config/tc-arm.c:22069
+#: config/tc-arm.c:22101
#, c-format
msgid "missing cpu name `%s'"
msgstr ""
-#: config/tc-arm.c:22095 config/tc-arm.c:22530
+#: config/tc-arm.c:22127 config/tc-arm.c:22562
#, c-format
msgid "unknown cpu `%s'"
msgstr ""
-#: config/tc-arm.c:22113
+#: config/tc-arm.c:22145
#, c-format
msgid "missing architecture name `%s'"
msgstr ""
-#: config/tc-arm.c:22130 config/tc-arm.c:22564 config/tc-arm.c:22595
+#: config/tc-arm.c:22162 config/tc-arm.c:22596 config/tc-arm.c:22627
#: config/tc-score.c:7728
#, c-format
msgid "unknown architecture `%s'\n"
msgstr ""
-#: config/tc-arm.c:22146 config/tc-arm.c:22625
+#: config/tc-arm.c:22178 config/tc-arm.c:22657
#, c-format
msgid "unknown floating point format `%s'\n"
msgstr ""
-#: config/tc-arm.c:22162
+#: config/tc-arm.c:22194
#, c-format
msgid "unknown floating point abi `%s'\n"
msgstr ""
-#: config/tc-arm.c:22178
+#: config/tc-arm.c:22210
#, c-format
msgid "unknown EABI `%s'\n"
msgstr ""
-#: config/tc-arm.c:22198
+#: config/tc-arm.c:22230
#, c-format
msgid "unknown implicit IT mode `%s', should be arm, thumb, always, or never."
msgstr ""
-#: config/tc-arm.c:22208
+#: config/tc-arm.c:22240
msgid "<cpu name>\t assemble for CPU <cpu name>"
msgstr ""
-#: config/tc-arm.c:22210
+#: config/tc-arm.c:22242
msgid "<arch name>\t assemble for architecture <arch name>"
msgstr ""
-#: config/tc-arm.c:22212
+#: config/tc-arm.c:22244
msgid "<fpu name>\t assemble for FPU architecture <fpu name>"
msgstr ""
-#: config/tc-arm.c:22214
+#: config/tc-arm.c:22246
msgid "<abi>\t assemble for floating point ABI <abi>"
msgstr ""
-#: config/tc-arm.c:22217
+#: config/tc-arm.c:22249
msgid "<ver>\t\t assemble for eabi version <ver>"
msgstr ""
-#: config/tc-arm.c:22220
+#: config/tc-arm.c:22252
msgid "<mode>\t controls implicit insertion of IT instructions"
msgstr ""
-#: config/tc-arm.c:22264 config/tc-arm.c:22282 config/tc-arm.c:22302
+#: config/tc-arm.c:22296 config/tc-arm.c:22314 config/tc-arm.c:22334
#, c-format
msgid "option `-%c%s' is deprecated: %s"
msgstr ""
-#: config/tc-arm.c:22322
+#: config/tc-arm.c:22354
#, c-format
msgid " ARM-specific assembler options:\n"
msgstr ""
-#: config/tc-arm.c:22333
+#: config/tc-arm.c:22365
#, c-format
msgid " -EB assemble code for a big-endian cpu\n"
msgstr ""
-#: config/tc-arm.c:22338
+#: config/tc-arm.c:22370
#, c-format
msgid " -EL assemble code for a little-endian cpu\n"
msgstr ""
-#: config/tc-arm.c:22342
+#: config/tc-arm.c:22374
#, c-format
msgid " --fix-v4bx Allow BX in ARMv4 code\n"
msgstr ""
@@ -3474,7 +3478,7 @@
msgid "illegal expression"
msgstr ""
-#: config/tc-avr.c:654 config/tc-avr.c:1421
+#: config/tc-avr.c:654 config/tc-avr.c:1423
msgid "`)' required"
msgstr ""
@@ -3550,14 +3554,14 @@
msgstr ""
#: config/tc-avr.c:1122 config/tc-avr.c:1141 config/tc-avr.c:1163
-#: config/tc-avr.c:1170 config/tc-avr.c:1177 config/tc-d10v.c:503
-#: config/tc-d30v.c:554 config/tc-msp430.c:1978 config/tc-msp430.c:1993
+#: config/tc-avr.c:1170 config/tc-avr.c:1177 config/tc-d10v.c:505
+#: config/tc-d30v.c:555 config/tc-msp430.c:1978 config/tc-msp430.c:1993
#: config/tc-msp430.c:2003
#, c-format
msgid "operand out of range: %ld"
msgstr ""
-#: config/tc-avr.c:1253 config/tc-d10v.c:1585 config/tc-d30v.c:2025
+#: config/tc-avr.c:1253 config/tc-d10v.c:1590 config/tc-d30v.c:2032
#: config/tc-msp430.c:2021
#, c-format
msgid "line %d: unknown relocation type: 0x%x"
@@ -3568,9 +3572,9 @@
msgstr ""
#. xgettext:c-format.
-#: config/tc-avr.c:1327 config/tc-bfin.c:811 config/tc-d10v.c:1457
-#: config/tc-d30v.c:1769 config/tc-mn10200.c:781 config/tc-mn10300.c:2171
-#: config/tc-msp430.c:2056 config/tc-or32.c:959 config/tc-ppc.c:6273
+#: config/tc-avr.c:1327 config/tc-bfin.c:811 config/tc-d10v.c:1462
+#: config/tc-d30v.c:1774 config/tc-mn10200.c:781 config/tc-mn10300.c:2171
+#: config/tc-msp430.c:2056 config/tc-or32.c:959 config/tc-ppc.c:6335
#: config/tc-spu.c:881 config/tc-spu.c:1092 config/tc-v850.c:2187
#: config/tc-z80.c:2017
#, c-format
@@ -3588,16 +3592,16 @@
msgid "illegal opcode %s for mcu %s"
msgstr ""
-#: config/tc-avr.c:1376
+#: config/tc-avr.c:1378
msgid "garbage at end of line"
msgstr ""
-#: config/tc-avr.c:1448 config/tc-avr.c:1455
+#: config/tc-avr.c:1450 config/tc-avr.c:1457
#, c-format
msgid "illegal %srelocation size: %d"
msgstr ""
-#: config/tc-bfin.c:96 config/tc-frv.c:1606 config/tc-frv.c:1616
+#: config/tc-bfin.c:96 config/tc-frv.c:1607 config/tc-frv.c:1617
msgid "missing ')'"
msgstr ""
@@ -3642,21 +3646,21 @@
msgid "rel too far BFD_RELOC_16"
msgstr ""
-#: config/tc-cr16.c:164 read.c:4346
+#: config/tc-cr16.c:164 read.c:4349
msgid "using a bit field width of zero"
msgstr ""
-#: config/tc-cr16.c:172 read.c:4354
+#: config/tc-cr16.c:172 read.c:4357
#, c-format
msgid "field width \"%s\" too complex for a bitfield"
msgstr ""
-#: config/tc-cr16.c:181 read.c:4362
+#: config/tc-cr16.c:181 read.c:4365
#, c-format
msgid "field width %lu too big to fit in %d bytes: truncated to %d bits"
msgstr ""
-#: config/tc-cr16.c:203 read.c:4384
+#: config/tc-cr16.c:203 read.c:4387
#, c-format
msgid "field value \"%s\" too complex for a bitfield"
msgstr ""
@@ -3667,7 +3671,7 @@
msgstr ""
#: config/tc-cr16.c:570 config/tc-crx.c:344 config/tc-mn10200.c:768
-#: write.c:976
+#: write.c:985
#, c-format
msgid "can't resolve `%s' {%s section} - `%s' {%s section}"
msgstr ""
@@ -3677,7 +3681,7 @@
msgid "internal error: reloc %d (`%s') not supported by object file format"
msgstr ""
-#: config/tc-cr16.c:695 config/tc-i386.c:8187 config/tc-s390.c:1799
+#: config/tc-cr16.c:695 config/tc-i386.c:8188 config/tc-s390.c:1799
msgid "GOT already in symbol table"
msgstr ""
@@ -3878,8 +3882,8 @@
#: config/tc-cr16.c:2562 config/tc-cris.c:1538 config/tc-cris.c:1546
#: config/tc-crx.c:1988 config/tc-dlx.c:686 config/tc-hppa.c:3243
-#: config/tc-hppa.c:3250 config/tc-i860.c:490 config/tc-i860.c:507
-#: config/tc-i860.c:987 config/tc-sparc.c:1410 config/tc-sparc.c:1418
+#: config/tc-hppa.c:3250 config/tc-i860.c:491 config/tc-i860.c:508
+#: config/tc-i860.c:988 config/tc-sparc.c:1410 config/tc-sparc.c:1418
#, c-format
msgid "Unknown opcode: `%s'"
msgstr ""
@@ -4275,7 +4279,7 @@
msgid "HI/LO registers should be specified without additional registers"
msgstr ""
-#: config/tc-d10v.c:216
+#: config/tc-d10v.c:218
#, c-format
msgid ""
"D10V options:\n"
@@ -4286,138 +4290,138 @@
" instructions together.\n"
msgstr ""
-#: config/tc-d10v.c:573
+#: config/tc-d10v.c:575
msgid "operand is not an immediate"
msgstr ""
-#: config/tc-d10v.c:591
+#: config/tc-d10v.c:593
#, c-format
msgid "operand out of range: %lu"
msgstr ""
-#: config/tc-d10v.c:649
+#: config/tc-d10v.c:653
msgid "Instruction must be executed in parallel with another instruction."
msgstr ""
-#: config/tc-d10v.c:703 config/tc-d10v.c:711
+#: config/tc-d10v.c:707 config/tc-d10v.c:715
#, c-format
msgid "packing conflict: %s must dispatch sequentially"
msgstr ""
-#: config/tc-d10v.c:810
+#: config/tc-d10v.c:814
#, c-format
msgid "resource conflict (R%d)"
msgstr ""
-#: config/tc-d10v.c:813
+#: config/tc-d10v.c:817
#, c-format
msgid "resource conflict (A%d)"
msgstr ""
-#: config/tc-d10v.c:815
+#: config/tc-d10v.c:819
msgid "resource conflict (PSW)"
msgstr ""
-#: config/tc-d10v.c:817
+#: config/tc-d10v.c:821
msgid "resource conflict (C flag)"
msgstr ""
-#: config/tc-d10v.c:819
+#: config/tc-d10v.c:823
msgid "resource conflict (F flag)"
msgstr ""
-#: config/tc-d10v.c:969
+#: config/tc-d10v.c:973
msgid "Instruction must be executed in parallel"
msgstr ""
-#: config/tc-d10v.c:972
+#: config/tc-d10v.c:976
msgid "Long instructions may not be combined."
msgstr ""
-#: config/tc-d10v.c:1005
+#: config/tc-d10v.c:1009
msgid "One of these instructions may not be executed in parallel."
msgstr ""
-#: config/tc-d10v.c:1009 config/tc-d30v.c:1036
+#: config/tc-d10v.c:1013 config/tc-d30v.c:1039
msgid "Two IU instructions may not be executed in parallel"
msgstr ""
-#: config/tc-d10v.c:1011 config/tc-d10v.c:1019 config/tc-d10v.c:1033
-#: config/tc-d10v.c:1048 config/tc-d30v.c:1037 config/tc-d30v.c:1046
+#: config/tc-d10v.c:1015 config/tc-d10v.c:1023 config/tc-d10v.c:1037
+#: config/tc-d10v.c:1052 config/tc-d30v.c:1040 config/tc-d30v.c:1049
msgid "Swapping instruction order"
msgstr ""
-#: config/tc-d10v.c:1017 config/tc-d30v.c:1043
+#: config/tc-d10v.c:1021 config/tc-d30v.c:1046
msgid "Two MU instructions may not be executed in parallel"
msgstr ""
-#: config/tc-d10v.c:1037 config/tc-d30v.c:1063
+#: config/tc-d10v.c:1041 config/tc-d30v.c:1066
msgid "IU instruction may not be in the left container"
msgstr ""
-#: config/tc-d10v.c:1039 config/tc-d10v.c:1054
+#: config/tc-d10v.c:1043 config/tc-d10v.c:1058
msgid ""
"Instruction in R container is squashed by flow control instruction in L "
"container."
msgstr ""
-#: config/tc-d10v.c:1052 config/tc-d30v.c:1074
+#: config/tc-d10v.c:1056 config/tc-d30v.c:1077
msgid "MU instruction may not be in the right container"
msgstr ""
-#: config/tc-d10v.c:1058 config/tc-d30v.c:1086
+#: config/tc-d10v.c:1062 config/tc-d30v.c:1089
msgid "unknown execution type passed to write_2_short()"
msgstr ""
-#: config/tc-d10v.c:1186 config/tc-d10v.c:1359
+#: config/tc-d10v.c:1191 config/tc-d10v.c:1364
msgid "bad opcode or operands"
msgstr ""
-#: config/tc-d10v.c:1261
+#: config/tc-d10v.c:1266
msgid "value out of range"
msgstr ""
-#: config/tc-d10v.c:1335
+#: config/tc-d10v.c:1340
msgid "illegal operand - register name found where none expected"
msgstr ""
-#: config/tc-d10v.c:1370
+#: config/tc-d10v.c:1375
msgid "Register number must be EVEN"
msgstr ""
-#: config/tc-d10v.c:1373
+#: config/tc-d10v.c:1378
msgid "Unsupported use of sp"
msgstr ""
-#: config/tc-d10v.c:1392
+#: config/tc-d10v.c:1397
#, c-format
msgid "cr%ld is a reserved control register"
msgstr ""
-#: config/tc-d10v.c:1565
+#: config/tc-d10v.c:1570
#, c-format
msgid "line %d: rep or repi must include at least 4 instructions"
msgstr ""
-#: config/tc-d10v.c:1745
+#: config/tc-d10v.c:1759
msgid "can't find previous opcode "
msgstr ""
-#: config/tc-d10v.c:1757
+#: config/tc-d10v.c:1771
#, c-format
msgid "could not assemble: %s"
msgstr ""
-#: config/tc-d10v.c:1772 config/tc-d10v.c:1794 config/tc-d30v.c:1742
+#: config/tc-d10v.c:1786 config/tc-d10v.c:1808 config/tc-d30v.c:1747
msgid "Unable to mix instructions as specified"
msgstr ""
-#: config/tc-d30v.c:149
+#: config/tc-d30v.c:150
#, c-format
msgid "Register name %s conflicts with symbol of the same name"
msgstr ""
-#: config/tc-d30v.c:239
+#: config/tc-d30v.c:240
#, c-format
msgid ""
"\n"
@@ -4431,131 +4435,131 @@
"-C Opposite of -C. -c is the default.\n"
msgstr ""
-#: config/tc-d30v.c:367
+#: config/tc-d30v.c:368
msgid "unexpected 12-bit reloc type"
msgstr ""
-#: config/tc-d30v.c:374
+#: config/tc-d30v.c:375
msgid "unexpected 18-bit reloc type"
msgstr ""
-#: config/tc-d30v.c:624
+#: config/tc-d30v.c:627
#, c-format
msgid "%s NOP inserted"
msgstr ""
-#: config/tc-d30v.c:625
+#: config/tc-d30v.c:628
msgid "sequential"
msgstr ""
-#: config/tc-d30v.c:625
+#: config/tc-d30v.c:628
msgid "parallel"
msgstr ""
-#: config/tc-d30v.c:1032
+#: config/tc-d30v.c:1035
msgid "Instructions may not be executed in parallel"
msgstr ""
-#: config/tc-d30v.c:1045
+#: config/tc-d30v.c:1048
#, c-format
msgid "Executing %s in IU may not work"
msgstr ""
-#: config/tc-d30v.c:1052
+#: config/tc-d30v.c:1055
#, c-format
msgid "Executing %s in IU may not work in parallel execution"
msgstr ""
-#: config/tc-d30v.c:1065
+#: config/tc-d30v.c:1068
#, c-format
msgid "special left instruction `%s' kills instruction `%s' in right container"
msgstr ""
-#: config/tc-d30v.c:1076
+#: config/tc-d30v.c:1079
#, c-format
msgid "Executing %s in reverse serial with %s may not work"
msgstr ""
-#: config/tc-d30v.c:1079
+#: config/tc-d30v.c:1082
#, c-format
msgid "Executing %s in IU in reverse serial may not work"
msgstr ""
-#: config/tc-d30v.c:1268
+#: config/tc-d30v.c:1272
msgid "Odd numbered register used as target of multi-register instruction"
msgstr ""
-#: config/tc-d30v.c:1332 config/tc-d30v.c:1367
+#: config/tc-d30v.c:1336 config/tc-d30v.c:1371
#, c-format
msgid "unknown condition code: %s"
msgstr ""
-#: config/tc-d30v.c:1360
+#: config/tc-d30v.c:1364
#, c-format
msgid "cmpu doesn't support condition code %s"
msgstr ""
-#: config/tc-d30v.c:1395
+#: config/tc-d30v.c:1399
#, c-format
msgid "unknown opcode: %s"
msgstr ""
-#: config/tc-d30v.c:1406
+#: config/tc-d30v.c:1410
#, c-format
msgid "operands for opcode `%s' do not match any valid format"
msgstr ""
-#: config/tc-d30v.c:1621 config/tc-d30v.c:1638
+#: config/tc-d30v.c:1625 config/tc-d30v.c:1642
msgid "Cannot assemble instruction"
msgstr ""
-#: config/tc-d30v.c:1623
+#: config/tc-d30v.c:1627
msgid "First opcode is long. Unable to mix instructions as specified."
msgstr ""
-#: config/tc-d30v.c:1692
+#: config/tc-d30v.c:1697
msgid "word of NOPs added between word multiply and load"
msgstr ""
-#: config/tc-d30v.c:1694
+#: config/tc-d30v.c:1699
msgid "word of NOPs added between word multiply and 16-bit multiply"
msgstr ""
-#: config/tc-d30v.c:1726
+#: config/tc-d30v.c:1731
msgid "Instruction uses long version, so it cannot be mixed as specified"
msgstr ""
-#: config/tc-d30v.c:1853
+#: config/tc-d30v.c:1858
#, c-format
msgid "value too large to fit in %d bits"
msgstr ""
-#: config/tc-d30v.c:1914
+#: config/tc-d30v.c:1921
#, c-format
msgid "line %d: unable to place address of symbol '%s' into a byte"
msgstr ""
-#: config/tc-d30v.c:1917
+#: config/tc-d30v.c:1924
#, c-format
msgid "line %d: unable to place value %lx into a byte"
msgstr ""
-#: config/tc-d30v.c:1925
+#: config/tc-d30v.c:1932
#, c-format
msgid "line %d: unable to place address of symbol '%s' into a short"
msgstr ""
-#: config/tc-d30v.c:1928
+#: config/tc-d30v.c:1935
#, c-format
msgid "line %d: unable to place value %lx into a short"
msgstr ""
-#: config/tc-d30v.c:1936
+#: config/tc-d30v.c:1943
#, c-format
msgid "line %d: unable to place address of symbol '%s' into a quad"
msgstr ""
-#: config/tc-d30v.c:2044
+#: config/tc-d30v.c:2051
#, c-format
msgid "Alignment too large: %d assumed"
msgstr ""
@@ -4568,14 +4572,14 @@
msgid ".endfunc missing for previous .proc"
msgstr ""
-#: config/tc-dlx.c:291 config/tc-i860.c:227 config/tc-mips.c:1903
+#: config/tc-dlx.c:291 config/tc-i860.c:227 config/tc-mips.c:1907
#, c-format
msgid "internal error: can't hash `%s': %s\n"
msgstr ""
#. Probably a memory allocation problem? Give up now.
-#: config/tc-dlx.c:298 config/tc-hppa.c:8287 config/tc-mips.c:1906
-#: config/tc-mips.c:1958 config/tc-or32.c:211 config/tc-sparc.c:860
+#: config/tc-dlx.c:298 config/tc-hppa.c:8287 config/tc-mips.c:1910
+#: config/tc-mips.c:1962 config/tc-or32.c:211 config/tc-sparc.c:860
msgid "Broken assembler. No assembly attempted."
msgstr ""
@@ -4636,12 +4640,12 @@
msgid "Invalid operands"
msgstr ""
-#: config/tc-dlx.c:1120 config/tc-or32.c:775
+#: config/tc-dlx.c:1122 config/tc-or32.c:775
#, c-format
msgid "label \"$%d\" redefined"
msgstr ""
-#: config/tc-dlx.c:1158
+#: config/tc-dlx.c:1160
msgid "Invalid expression after # number\n"
msgstr ""
@@ -4655,147 +4659,147 @@
msgid "Instruction %s not allowed in a delay slot."
msgstr ""
-#: config/tc-frv.c:404
+#: config/tc-frv.c:405
#, c-format
msgid "Unknown cpu -mcpu=%s"
msgstr ""
-#: config/tc-frv.c:457
+#: config/tc-frv.c:458
#, c-format
msgid "FRV specific command line options:\n"
msgstr ""
-#: config/tc-frv.c:458
+#: config/tc-frv.c:459
#, c-format
msgid "-G n Put data <= n bytes in the small data area\n"
msgstr ""
-#: config/tc-frv.c:459
+#: config/tc-frv.c:460
#, c-format
msgid "-mgpr-32 Mark generated file as only using 32 GPRs\n"
msgstr ""
-#: config/tc-frv.c:460
+#: config/tc-frv.c:461
#, c-format
msgid "-mgpr-64 Mark generated file as using all 64 GPRs\n"
msgstr ""
-#: config/tc-frv.c:461
+#: config/tc-frv.c:462
#, c-format
msgid "-mfpr-32 Mark generated file as only using 32 FPRs\n"
msgstr ""
-#: config/tc-frv.c:462
+#: config/tc-frv.c:463
#, c-format
msgid "-mfpr-64 Mark generated file as using all 64 FPRs\n"
msgstr ""
-#: config/tc-frv.c:463
+#: config/tc-frv.c:464
#, c-format
msgid "-msoft-float Mark generated file as using software FP\n"
msgstr ""
-#: config/tc-frv.c:464
+#: config/tc-frv.c:465
#, c-format
msgid "-mdword Mark generated file as using a 8-byte stack alignment\n"
msgstr ""
-#: config/tc-frv.c:465
+#: config/tc-frv.c:466
#, c-format
msgid "-mno-dword Mark generated file as using a 4-byte stack alignment\n"
msgstr ""
-#: config/tc-frv.c:466
+#: config/tc-frv.c:467
#, c-format
msgid ""
"-mdouble Mark generated file as using double precision FP insns\n"
msgstr ""
-#: config/tc-frv.c:467
+#: config/tc-frv.c:468
#, c-format
msgid "-mmedia Mark generated file as using media insns\n"
msgstr ""
-#: config/tc-frv.c:468
+#: config/tc-frv.c:469
#, c-format
msgid ""
"-mmuladd Mark generated file as using multiply add/subtract insns\n"
msgstr ""
-#: config/tc-frv.c:469
+#: config/tc-frv.c:470
#, c-format
msgid "-mpack Allow instructions to be packed\n"
msgstr ""
-#: config/tc-frv.c:470
+#: config/tc-frv.c:471
#, c-format
msgid "-mno-pack Do not allow instructions to be packed\n"
msgstr ""
-#: config/tc-frv.c:471
+#: config/tc-frv.c:472
#, c-format
msgid ""
"-mpic Mark generated file as using small position independent "
"code\n"
msgstr ""
-#: config/tc-frv.c:472
+#: config/tc-frv.c:473
#, c-format
msgid ""
"-mPIC Mark generated file as using large position independent "
"code\n"
msgstr ""
-#: config/tc-frv.c:473
+#: config/tc-frv.c:474
#, c-format
msgid ""
"-mlibrary-pic Mark generated file as using position indepedent code for "
"libraries\n"
msgstr ""
-#: config/tc-frv.c:474
+#: config/tc-frv.c:475
#, c-format
msgid "-mfdpic Assemble for the FDPIC ABI\n"
msgstr ""
-#: config/tc-frv.c:475
+#: config/tc-frv.c:476
#, c-format
msgid "-mnopic Disable -mpic, -mPIC, -mlibrary-pic and -mfdpic\n"
msgstr ""
-#: config/tc-frv.c:476
+#: config/tc-frv.c:477
#, c-format
msgid "-mcpu={fr500|fr550|fr400|fr405|fr450|fr300|frv|simple|tomcat}\n"
msgstr ""
-#: config/tc-frv.c:477
+#: config/tc-frv.c:478
#, c-format
msgid " Record the cpu type\n"
msgstr ""
-#: config/tc-frv.c:478
+#: config/tc-frv.c:479
#, c-format
msgid "-mtomcat-stats Print out stats for tomcat workarounds\n"
msgstr ""
-#: config/tc-frv.c:479
+#: config/tc-frv.c:480
#, c-format
msgid "-mtomcat-debug Debug tomcat workarounds\n"
msgstr ""
-#: config/tc-frv.c:1163
+#: config/tc-frv.c:1164
msgid "VLIW packing used for -mno-pack"
msgstr ""
-#: config/tc-frv.c:1173
+#: config/tc-frv.c:1174
msgid "Instruction not supported by this architecture"
msgstr ""
-#: config/tc-frv.c:1183
+#: config/tc-frv.c:1184
msgid "VLIW packing constraint violation"
msgstr ""
-#: config/tc-frv.c:1774
+#: config/tc-frv.c:1775
#, c-format
msgid "Relocation %s is not safe for %s"
msgstr ""
@@ -4923,7 +4927,7 @@
#. get here only if the trailing trash starts with a comma.
#. Types or values of args don't match.
#: config/tc-h8300.c:1770 config/tc-mmix.c:472 config/tc-mmix.c:484
-#: config/tc-mmix.c:2500 config/tc-mmix.c:2524 config/tc-mmix.c:2797
+#: config/tc-mmix.c:2505 config/tc-mmix.c:2529 config/tc-mmix.c:2802
#: config/tc-or32.c:529
msgid "invalid operands"
msgstr ""
@@ -4932,7 +4936,7 @@
msgid "operand/size mis-match"
msgstr ""
-#: config/tc-h8300.c:1902 config/tc-mips.c:10156 config/tc-sh.c:2925
+#: config/tc-h8300.c:1902 config/tc-mips.c:10160 config/tc-sh.c:2925
#: config/tc-sh64.c:2795 config/tc-z8k.c:1226
msgid "unknown opcode"
msgstr ""
@@ -4965,7 +4969,7 @@
msgstr ""
#: config/tc-h8300.c:2181 config/tc-mcore.c:2199 config/tc-microblaze.c:2295
-#: config/tc-pj.c:488 config/tc-sh.c:4377 config/tc-xc16x.c:308
+#: config/tc-pj.c:489 config/tc-sh.c:4377 config/tc-xc16x.c:308
#, c-format
msgid "Cannot represent relocation type %s"
msgstr ""
@@ -5396,7 +5400,7 @@
msgid "internal error: losing opcode: `%s' \"%s\"\n"
msgstr ""
-#: config/tc-i370.c:419 config/tc-ppc.c:1141 config/tc-s390.c:404
+#: config/tc-i370.c:419 config/tc-ppc.c:1143 config/tc-s390.c:404
#: config/tc-s390.c:411
#, c-format
msgid "invalid switch -m%s"
@@ -5412,11 +5416,11 @@
msgid "Internal assembler error for macro %s"
msgstr ""
-#: config/tc-i370.c:630 config/tc-ppc.c:1839
+#: config/tc-i370.c:630 config/tc-ppc.c:1844
msgid "identifier+constant@got means identifier@got+constant"
msgstr ""
-#: config/tc-i370.c:684 config/tc-m68k.c:8030 config/tc-ppc.c:1928
+#: config/tc-i370.c:684 config/tc-m68k.c:8030 config/tc-ppc.c:1933
#, c-format
msgid "%s relocations do not fit in %d bytes\n"
msgstr ""
@@ -5439,28 +5443,28 @@
msgstr ""
#: config/tc-i370.c:1049 config/tc-m32r.c:1493 config/tc-microblaze.c:179
-#: config/tc-ppc.c:1992 config/tc-ppc.c:4596
+#: config/tc-ppc.c:1997 config/tc-ppc.c:4653
msgid "Expected comma after symbol-name: rest of line ignored."
msgstr ""
#: config/tc-i370.c:1072 config/tc-m32r.c:1517 config/tc-microblaze.c:201
-#: config/tc-ppc.c:2014 config/tc-ppc.c:3215 config/tc-ppc.c:4620
+#: config/tc-ppc.c:2019 config/tc-ppc.c:3220 config/tc-ppc.c:4677
msgid "ignoring bad alignment"
msgstr ""
#: config/tc-i370.c:1083 config/tc-m32r.c:1544 config/tc-microblaze.c:212
-#: config/tc-ppc.c:2025 config/tc-ppc.c:4632
+#: config/tc-ppc.c:2030 config/tc-ppc.c:4689
#, c-format
msgid "Ignoring attempt to re-define symbol `%s'."
msgstr ""
-#: config/tc-i370.c:1091 config/tc-microblaze.c:220 config/tc-ppc.c:2033
+#: config/tc-i370.c:1091 config/tc-microblaze.c:220 config/tc-ppc.c:2038
#, c-format
msgid "Length of .lcomm \"%s\" is already %ld. Not changed to %ld."
msgstr ""
#: config/tc-i370.c:1110 config/tc-m32r.c:1529 config/tc-microblaze.c:238
-#: config/tc-ppc.c:2051 config/tc-v850.c:322
+#: config/tc-ppc.c:2056 config/tc-v850.c:322
msgid "Common alignment not a power of 2"
msgstr ""
@@ -5513,12 +5517,12 @@
msgid "droping register %d in section %s previously used in section %s"
msgstr ""
-#: config/tc-i370.c:1848 config/tc-ppc.c:3030
+#: config/tc-i370.c:1848 config/tc-ppc.c:3035
msgid "wrong number of operands"
msgstr ""
#: config/tc-i370.c:1930 config/tc-mn10200.c:898 config/tc-mn10300.c:1249
-#: config/tc-ppc.c:2349 config/tc-s390.c:1544 config/tc-v850.c:1604
+#: config/tc-ppc.c:2354 config/tc-s390.c:1544 config/tc-v850.c:1604
#, c-format
msgid "Unrecognized opcode: `%s'"
msgstr ""
@@ -6099,34 +6103,34 @@
msgid " -mold-gcc support old (<= 2.8.1) versions of gcc\n"
msgstr ""
-#: config/tc-i386.c:8113
+#: config/tc-i386.c:8114
msgid "Intel L1OM is 64bit only"
msgstr ""
-#: config/tc-i386.c:8336
+#: config/tc-i386.c:8337
#, c-format
msgid "can not do %d byte pc-relative relocation"
msgstr ""
-#: config/tc-i386.c:8354 config/tc-maxq.c:247
+#: config/tc-i386.c:8355 config/tc-maxq.c:247
#, c-format
msgid "can not do %d byte relocation"
msgstr ""
-#: config/tc-i386.c:8437 config/tc-maxq.c:274 config/tc-s390.c:2234
+#: config/tc-i386.c:8438 config/tc-maxq.c:274 config/tc-s390.c:2234
#, c-format
msgid "cannot represent relocation type %s"
msgstr ""
-#: config/tc-i386.c:8544
+#: config/tc-i386.c:8545
msgid "Bad .section directive: want a,l,w,x,M,S,G,T in string"
msgstr ""
-#: config/tc-i386.c:8547
+#: config/tc-i386.c:8548
msgid "Bad .section directive: want a,w,x,M,S,G,T in string"
msgstr ""
-#: config/tc-i386.c:8566
+#: config/tc-i386.c:8567
msgid ".largecomm supported only in 64bit mode, producing .comm"
msgstr ""
@@ -6150,7 +6154,7 @@
msgid "Defective assembler. No assembly attempted."
msgstr ""
-#: config/tc-i860.c:393 config/tc-i860.c:938 config/tc-m68k.c:3871
+#: config/tc-i860.c:393 config/tc-i860.c:939 config/tc-m68k.c:3871
#: config/tc-m68k.c:3903 config/tc-sparc.c:2697
msgid "failed sanity check."
msgstr ""
@@ -6170,30 +6174,30 @@
msgid "An instruction was expanded (%s)"
msgstr ""
-#: config/tc-i860.c:674
+#: config/tc-i860.c:675
msgid "Pipelined instruction: fsrc1 = fdest"
msgstr ""
-#: config/tc-i860.c:877 config/tc-i860.c:884 config/tc-i860.c:891
+#: config/tc-i860.c:878 config/tc-i860.c:885 config/tc-i860.c:892
msgid "Assembler does not yet support PIC"
msgstr ""
-#: config/tc-i860.c:955
+#: config/tc-i860.c:956
#, c-format
msgid "Illegal operands for %s"
msgstr ""
-#: config/tc-i860.c:972
+#: config/tc-i860.c:973
#, c-format
msgid "'d.%s' must be 8-byte aligned"
msgstr ""
-#: config/tc-i860.c:980
+#: config/tc-i860.c:981
#, c-format
msgid "Prefix 'd.' invalid for instruction `%s'"
msgstr ""
-#: config/tc-i860.c:1133
+#: config/tc-i860.c:1134
#, c-format
msgid ""
" -EL\t\t\t generate code for little endian mode (default)\n"
@@ -6204,42 +6208,42 @@
msgstr ""
#. SVR4 compatibility flags.
-#: config/tc-i860.c:1141
+#: config/tc-i860.c:1142
#, c-format
msgid ""
" -V\t\t\t print assembler version number\n"
" -Qy, -Qn\t\t ignored\n"
msgstr ""
-#: config/tc-i860.c:1204
+#: config/tc-i860.c:1205
msgid "This immediate requires 0 MOD 2 alignment"
msgstr ""
-#: config/tc-i860.c:1207
+#: config/tc-i860.c:1208
msgid "This immediate requires 0 MOD 4 alignment"
msgstr ""
-#: config/tc-i860.c:1210
+#: config/tc-i860.c:1211
msgid "This immediate requires 0 MOD 8 alignment"
msgstr ""
-#: config/tc-i860.c:1213
+#: config/tc-i860.c:1214
msgid "This immediate requires 0 MOD 16 alignment"
msgstr ""
-#: config/tc-i860.c:1308
+#: config/tc-i860.c:1309
msgid "5-bit immediate too large"
msgstr ""
-#: config/tc-i860.c:1311
+#: config/tc-i860.c:1312
msgid "5-bit field must be absolute"
msgstr ""
-#: config/tc-i860.c:1356 config/tc-i860.c:1379
+#: config/tc-i860.c:1357 config/tc-i860.c:1380
msgid "A branch offset requires 0 MOD 4 alignment"
msgstr ""
-#: config/tc-i860.c:1400
+#: config/tc-i860.c:1401
#, c-format
msgid "Unrecognized fix-up (0x%08lx)"
msgstr ""
@@ -6406,7 +6410,7 @@
msgid "Unwind directive not followed by an instruction."
msgstr ""
-#: config/tc-ia64.c:1006 config/tc-ia64.c:7396
+#: config/tc-ia64.c:1006 config/tc-ia64.c:7430
msgid "qualifying predicate not followed by instruction"
msgstr ""
@@ -6742,7 +6746,7 @@
msgid "Expected '['"
msgstr ""
-#: config/tc-ia64.c:4503 config/tc-ia64.c:7531
+#: config/tc-ia64.c:4503 config/tc-ia64.c:7565
msgid "Expected ']'"
msgstr ""
@@ -6809,7 +6813,7 @@
msgid "Bad register range"
msgstr ""
-#: config/tc-ia64.c:4990 config/tc-ia64.c:7476
+#: config/tc-ia64.c:4990 config/tc-ia64.c:7510
msgid "Predicate register expected"
msgstr ""
@@ -6850,132 +6854,132 @@
msgid "lower 16 bits of mask ignored"
msgstr ""
-#: config/tc-ia64.c:5903
+#: config/tc-ia64.c:5935
msgid "Expected separator `='"
msgstr ""
-#: config/tc-ia64.c:5936
+#: config/tc-ia64.c:5969
msgid "Duplicate equal sign (=) in instruction"
msgstr ""
-#: config/tc-ia64.c:5943
+#: config/tc-ia64.c:5976
#, c-format
msgid "Illegal operand separator `%c'"
msgstr ""
-#: config/tc-ia64.c:6057
+#: config/tc-ia64.c:6091
#, c-format
msgid "Operand %u of `%s' should be %s"
msgstr ""
-#: config/tc-ia64.c:6061
+#: config/tc-ia64.c:6095
msgid "Wrong number of output operands"
msgstr ""
-#: config/tc-ia64.c:6063
+#: config/tc-ia64.c:6097
msgid "Wrong number of input operands"
msgstr ""
-#: config/tc-ia64.c:6065
+#: config/tc-ia64.c:6099
msgid "Operand mismatch"
msgstr ""
-#: config/tc-ia64.c:6147
-#, c-format
-msgid "Invalid use of `%c%d' as output operand"
-msgstr ""
-
-#: config/tc-ia64.c:6150
-#, c-format
-msgid "Invalid use of `r%d' as base update address operand"
-msgstr ""
-
-#: config/tc-ia64.c:6174
-#, c-format
-msgid "Invalid duplicate use of `%c%d'"
-msgstr ""
-
#: config/tc-ia64.c:6181
#, c-format
+msgid "Invalid use of `%c%d' as output operand"
+msgstr ""
+
+#: config/tc-ia64.c:6184
+#, c-format
+msgid "Invalid use of `r%d' as base update address operand"
+msgstr ""
+
+#: config/tc-ia64.c:6208
+#, c-format
+msgid "Invalid duplicate use of `%c%d'"
+msgstr ""
+
+#: config/tc-ia64.c:6215
+#, c-format
msgid "Invalid simultaneous use of `f%d' and `f%d'"
msgstr ""
-#: config/tc-ia64.c:6187
+#: config/tc-ia64.c:6221
#, c-format
msgid "Dangerous simultaneous use of `f%d' and `f%d'"
msgstr ""
-#: config/tc-ia64.c:6231
+#: config/tc-ia64.c:6265
msgid "Value truncated to 62 bits"
msgstr ""
-#: config/tc-ia64.c:6294
+#: config/tc-ia64.c:6328
#, c-format
msgid "Bad operand value: %s"
msgstr ""
#. Give an error if a frag containing code is not aligned to a 16 byte
#. boundary.
-#: config/tc-ia64.c:6369 config/tc-ia64.h:174
+#: config/tc-ia64.c:6403 config/tc-ia64.h:174
msgid "instruction address is not a multiple of 16"
msgstr ""
-#: config/tc-ia64.c:6437
+#: config/tc-ia64.c:6471
#, c-format
msgid "`%s' must be last in bundle"
msgstr ""
-#: config/tc-ia64.c:6469
+#: config/tc-ia64.c:6503
#, c-format
msgid "Internal error: don't know how to force %s to end of instruction group"
msgstr ""
-#: config/tc-ia64.c:6482
+#: config/tc-ia64.c:6516
#, c-format
msgid "`%s' must be last in instruction group"
msgstr ""
-#: config/tc-ia64.c:6512
+#: config/tc-ia64.c:6546
msgid "Label must be first in a bundle"
msgstr ""
-#: config/tc-ia64.c:6589
+#: config/tc-ia64.c:6623
msgid "hint in B unit may be treated as nop"
msgstr ""
-#: config/tc-ia64.c:6600
+#: config/tc-ia64.c:6634
msgid "hint in B unit can't be used"
msgstr ""
-#: config/tc-ia64.c:6614
+#: config/tc-ia64.c:6648
msgid "emit_one_bundle: unexpected dynamic op"
msgstr ""
-#: config/tc-ia64.c:6737
+#: config/tc-ia64.c:6771
#, c-format
msgid "`%s' does not fit into %s template"
msgstr ""
-#: config/tc-ia64.c:6752
+#: config/tc-ia64.c:6786
#, c-format
msgid "`%s' does not fit into bundle"
msgstr ""
-#: config/tc-ia64.c:6764
+#: config/tc-ia64.c:6798
#, c-format
msgid "`%s' can't go in %s of %s template"
msgstr ""
-#: config/tc-ia64.c:6770
+#: config/tc-ia64.c:6804
msgid "Missing '}' at end of file"
msgstr ""
-#: config/tc-ia64.c:6917
+#: config/tc-ia64.c:6951
#, c-format
msgid "Unrecognized option '-x%s'"
msgstr ""
-#: config/tc-ia64.c:6944
+#: config/tc-ia64.c:6978
msgid ""
"IA-64 options:\n"
" --mconstant-gp\t mark output file as using the constant-GP model\n"
@@ -7001,230 +7005,230 @@
"\t\t\t dependency violation checking\n"
msgstr ""
-#: config/tc-ia64.c:6974
+#: config/tc-ia64.c:7008
msgid "--gstabs is not supported for ia64"
msgstr ""
-#: config/tc-ia64.c:7206
+#: config/tc-ia64.c:7240
#, c-format
msgid "ia64.md_begin: can't hash `%s': %s"
msgstr ""
-#: config/tc-ia64.c:7267
+#: config/tc-ia64.c:7301
#, c-format
msgid "Inserting \"%s\" into constant hash table failed: %s"
msgstr ""
-#: config/tc-ia64.c:7279 config/tc-mips.c:1892
+#: config/tc-ia64.c:7313 config/tc-mips.c:1896
msgid "Could not set architecture and machine"
msgstr ""
-#: config/tc-ia64.c:7411
+#: config/tc-ia64.c:7445
msgid "Explicit stops are ignored in auto mode"
msgstr ""
-#: config/tc-ia64.c:7420
+#: config/tc-ia64.c:7454
msgid "Found '{' when manual bundling is already turned on"
msgstr ""
-#: config/tc-ia64.c:7433
+#: config/tc-ia64.c:7467
msgid "Found '{' after explicit switch to automatic mode"
msgstr ""
-#: config/tc-ia64.c:7439
+#: config/tc-ia64.c:7473
msgid "Found '}' when manual bundling is off"
msgstr ""
-#: config/tc-ia64.c:7466
+#: config/tc-ia64.c:7500
msgid "Expected ')'"
msgstr ""
-#: config/tc-ia64.c:7471
+#: config/tc-ia64.c:7505
msgid "Qualifying predicate expected"
msgstr ""
-#: config/tc-ia64.c:7490
+#: config/tc-ia64.c:7524
msgid "Tag must come before qualifying predicate."
msgstr ""
-#: config/tc-ia64.c:7520
+#: config/tc-ia64.c:7554
msgid "Expected ':'"
msgstr ""
-#: config/tc-ia64.c:7536
+#: config/tc-ia64.c:7570
msgid "Tag name expected"
msgstr ""
-#: config/tc-ia64.c:7638
+#: config/tc-ia64.c:7672
msgid "Rotating register index must be a non-negative constant"
msgstr ""
-#: config/tc-ia64.c:7643
+#: config/tc-ia64.c:7677
#, c-format
msgid "Index out of range 0..%u"
msgstr ""
-#: config/tc-ia64.c:7655
+#: config/tc-ia64.c:7689
msgid "Indirect register index must be a general register"
msgstr ""
-#: config/tc-ia64.c:7664
+#: config/tc-ia64.c:7698
msgid "Index can only be applied to rotating or indirect registers"
msgstr ""
-#: config/tc-ia64.c:7700 config/tc-xstormy16.c:146
+#: config/tc-ia64.c:7734 config/tc-xstormy16.c:146
msgid "Expected '('"
msgstr ""
-#: config/tc-ia64.c:7708 config/tc-pdp11.c:448 config/tc-pdp11.c:514
+#: config/tc-ia64.c:7742 config/tc-pdp11.c:448 config/tc-pdp11.c:514
#: config/tc-pdp11.c:553 config/tc-xstormy16.c:155
msgid "Missing ')'"
msgstr ""
-#: config/tc-ia64.c:7717 config/tc-xstormy16.c:162
+#: config/tc-ia64.c:7751 config/tc-xstormy16.c:162
msgid "Not a symbolic expression"
msgstr ""
-#: config/tc-ia64.c:7722 config/tc-ia64.c:7736
+#: config/tc-ia64.c:7756 config/tc-ia64.c:7770
msgid "Illegal combination of relocation functions"
msgstr ""
-#: config/tc-ia64.c:7825
+#: config/tc-ia64.c:7859
msgid "No current frame"
msgstr ""
-#: config/tc-ia64.c:7827
+#: config/tc-ia64.c:7861
#, c-format
msgid "Register number out of range 0..%u"
msgstr ""
-#: config/tc-ia64.c:7865
+#: config/tc-ia64.c:7899
msgid "Standalone `#' is illegal"
msgstr ""
-#: config/tc-ia64.c:7868
+#: config/tc-ia64.c:7902
msgid "Redundant `#' suffix operators"
msgstr ""
-#: config/tc-ia64.c:8026
+#: config/tc-ia64.c:8060
#, c-format
msgid "Unhandled dependency %s for %s (%s), note %d"
msgstr ""
-#: config/tc-ia64.c:9321
+#: config/tc-ia64.c:9355
#, c-format
msgid "Unrecognized dependency specifier %d\n"
msgstr ""
-#: config/tc-ia64.c:10197
+#: config/tc-ia64.c:10231
msgid "Only the first path encountering the conflict is reported"
msgstr ""
-#: config/tc-ia64.c:10199
+#: config/tc-ia64.c:10233
msgid "This is the location of the conflicting usage"
msgstr ""
-#: config/tc-ia64.c:10460
+#: config/tc-ia64.c:10494
#, c-format
msgid "Unknown opcode `%s'"
msgstr ""
-#: config/tc-ia64.c:10538
+#: config/tc-ia64.c:10572
#, c-format
msgid "AR %d can only be accessed by %c-unit"
msgstr ""
-#: config/tc-ia64.c:10550
+#: config/tc-ia64.c:10584
msgid "hint.b may be treated as nop"
msgstr ""
-#: config/tc-ia64.c:10553
+#: config/tc-ia64.c:10587
msgid "hint.b shouldn't be used"
msgstr ""
-#: config/tc-ia64.c:10592
+#: config/tc-ia64.c:10626
#, c-format
msgid "`%s' cannot be predicated"
msgstr ""
-#: config/tc-ia64.c:10664
+#: config/tc-ia64.c:10698
msgid "Closing bracket missing"
msgstr ""
-#: config/tc-ia64.c:10673
+#: config/tc-ia64.c:10707
msgid "Index must be a general register"
msgstr ""
-#: config/tc-ia64.c:10838
+#: config/tc-ia64.c:10872
#, c-format
msgid "Unsupported fixup size %d"
msgstr ""
#. This should be an error, but since previously there wasn't any
#. diagnostic here, don't make it fail because of this for now.
-#: config/tc-ia64.c:11105
+#: config/tc-ia64.c:11139
#, c-format
msgid "Cannot express %s%d%s relocation"
msgstr ""
-#: config/tc-ia64.c:11124
+#: config/tc-ia64.c:11158
msgid "No addend allowed in @fptr() relocation"
msgstr ""
-#: config/tc-ia64.c:11163
+#: config/tc-ia64.c:11197
msgid "integer operand out of range"
msgstr ""
-#: config/tc-ia64.c:11230
+#: config/tc-ia64.c:11264
#, c-format
msgid "%s must have a constant value"
msgstr ""
-#: config/tc-ia64.c:11284 config/tc-z8k.c:1372
+#: config/tc-ia64.c:11318 config/tc-z8k.c:1372
#, c-format
msgid "Cannot represent %s relocation in object file"
msgstr ""
-#: config/tc-ia64.c:11395
+#: config/tc-ia64.c:11429
msgid "Can't add stop bit to mark end of instruction group"
msgstr ""
-#: config/tc-ia64.c:11495 config/tc-score.c:6110 read.c:1448 read.c:2442
+#: config/tc-ia64.c:11529 config/tc-score.c:6110 read.c:1448 read.c:2442
#: read.c:3088 read.c:3429 read.c:3473
msgid "expected symbol name"
msgstr ""
-#: config/tc-ia64.c:11505 read.c:2452 read.c:3098 read.c:3457 stabs.c:468
+#: config/tc-ia64.c:11539 read.c:2452 read.c:3098 read.c:3457 stabs.c:468
#, c-format
msgid "expected comma after \"%s\""
msgstr ""
-#: config/tc-ia64.c:11547
+#: config/tc-ia64.c:11581
#, c-format
msgid "`%s' is already the alias of %s `%s'"
msgstr ""
-#: config/tc-ia64.c:11557
+#: config/tc-ia64.c:11591
#, c-format
msgid "%s `%s' already has an alias `%s'"
msgstr ""
-#: config/tc-ia64.c:11568
+#: config/tc-ia64.c:11602
#, c-format
msgid "inserting \"%s\" into %s alias hash table failed: %s"
msgstr ""
-#: config/tc-ia64.c:11576
+#: config/tc-ia64.c:11610
#, c-format
msgid "inserting \"%s\" into %s name hash table failed: %s"
msgstr ""
-#: config/tc-ia64.c:11602
+#: config/tc-ia64.c:11636
#, c-format
msgid "symbol `%s' aliased to `%s' is not used"
msgstr ""
-#: config/tc-ia64.c:11625
+#: config/tc-ia64.c:11659
#, c-format
msgid "section `%s' aliased to `%s' is not used"
msgstr ""
@@ -7268,19 +7272,19 @@
msgid "Unmatched high relocation"
msgstr ""
-#: config/tc-iq2000.c:829 config/tc-mips.c:14935 config/tc-score.c:5820
+#: config/tc-iq2000.c:829 config/tc-mips.c:14943 config/tc-score.c:5820
msgid ".end not in text section"
msgstr ""
-#: config/tc-iq2000.c:833 config/tc-mips.c:14939 config/tc-score.c:5823
+#: config/tc-iq2000.c:833 config/tc-mips.c:14947 config/tc-score.c:5823
msgid ".end directive without a preceding .ent directive."
msgstr ""
-#: config/tc-iq2000.c:842 config/tc-mips.c:14948 config/tc-score.c:5831
+#: config/tc-iq2000.c:842 config/tc-mips.c:14956 config/tc-score.c:5831
msgid ".end symbol does not match .ent symbol."
msgstr ""
-#: config/tc-iq2000.c:845 config/tc-mips.c:14955 config/tc-score.c:5836
+#: config/tc-iq2000.c:845 config/tc-mips.c:14963 config/tc-score.c:5836
msgid ".end directive missing or unknown symbol"
msgstr ""
@@ -7288,7 +7292,7 @@
msgid "Expected simple number."
msgstr ""
-#: config/tc-iq2000.c:892 config/tc-mips.c:14860 config/tc-score.c:5671
+#: config/tc-iq2000.c:892 config/tc-mips.c:14868 config/tc-score.c:5671
#, c-format
msgid " *input_line_pointer == '%c' 0x%02x\n"
msgstr ""
@@ -7297,7 +7301,7 @@
msgid "Invalid number"
msgstr ""
-#: config/tc-iq2000.c:929 config/tc-mips.c:15030 config/tc-score.c:5709
+#: config/tc-iq2000.c:929 config/tc-mips.c:15038 config/tc-score.c:5709
msgid ".ent or .aent not in text section."
msgstr ""
@@ -7940,7 +7944,7 @@
msgstr ""
#: config/tc-m68k.c:2481 config/tc-m68k.c:2487 config/tc-m68k.c:2493
-#: config/tc-mmix.c:2462 config/tc-mmix.c:2486
+#: config/tc-mmix.c:2467 config/tc-mmix.c:2491
msgid "operand out of range"
msgstr ""
@@ -8999,56 +9003,56 @@
msgstr ""
#: config/tc-microblaze.c:2364 config/tc-mn10300.c:1065 config/tc-sh.c:776
-#: config/tc-z80.c:671 read.c:4275
+#: config/tc-z80.c:671 read.c:4278
#, c-format
msgid "unsupported BFD relocation size %u"
msgstr ""
#. Prototypes for static functions.
-#: config/tc-mips.c:1042
+#: config/tc-mips.c:1046
#, c-format
msgid "internal Error, line %d, %s"
msgstr ""
-#: config/tc-mips.c:1795 config/tc-mips.c:12826
+#: config/tc-mips.c:1799 config/tc-mips.c:12830
#, c-format
msgid "Unrecognized register name `%s'"
msgstr ""
-#: config/tc-mips.c:1887
+#: config/tc-mips.c:1891
msgid "-G may not be used in position-independent code"
msgstr ""
-#: config/tc-mips.c:1934
+#: config/tc-mips.c:1938
#, c-format
msgid "internal: can't hash `%s': %s"
msgstr ""
-#: config/tc-mips.c:1942
+#: config/tc-mips.c:1946
#, c-format
msgid "internal error: bad mips16 opcode: %s %s\n"
msgstr ""
-#: config/tc-mips.c:2114
+#: config/tc-mips.c:2118
#, c-format
msgid "returned from mips_ip(%s) insn_opcode = 0x%x\n"
msgstr ""
-#: config/tc-mips.c:2890 config/tc-mips.c:14521
+#: config/tc-mips.c:2894 config/tc-mips.c:14529
msgid "extended instruction in delay slot"
msgstr ""
-#: config/tc-mips.c:2954 config/tc-mips.c:2961
+#: config/tc-mips.c:2958 config/tc-mips.c:2965
#, c-format
msgid "jump to misaligned address (0x%lx)"
msgstr ""
-#: config/tc-mips.c:2971 config/tc-mips.c:3742
+#: config/tc-mips.c:2975 config/tc-mips.c:3746
#, c-format
msgid "branch to misaligned address (0x%lx)"
msgstr ""
-#: config/tc-mips.c:2976 config/tc-mips.c:3745
+#: config/tc-mips.c:2980 config/tc-mips.c:3749
#, c-format
msgid "branch address range overflow (0x%lx)"
msgstr ""
@@ -9056,704 +9060,704 @@
#. To reproduce this failure try assembling gas/testsuites/
#. gas/mips/mips16-intermix.s with a mips-ecoff targeted
#. assembler.
-#: config/tc-mips.c:3003
+#: config/tc-mips.c:3007
#, c-format
msgid "Unsupported MIPS relocation number %d"
msgstr ""
-#: config/tc-mips.c:3475
+#: config/tc-mips.c:3479
msgid ""
"Macro instruction expanded into multiple instructions in a branch delay slot"
msgstr ""
-#: config/tc-mips.c:3478
+#: config/tc-mips.c:3482
msgid "Macro instruction expanded into multiple instructions"
msgstr ""
-#: config/tc-mips.c:4014 config/tc-mips.c:8012 config/tc-mips.c:8036
-#: config/tc-mips.c:8109 config/tc-mips.c:8132
+#: config/tc-mips.c:4018 config/tc-mips.c:8016 config/tc-mips.c:8040
+#: config/tc-mips.c:8113 config/tc-mips.c:8136
msgid "operand overflow"
msgstr ""
-#: config/tc-mips.c:4033 config/tc-mips.c:4633 config/tc-mips.c:7383
-#: config/tc-mips.c:8199
+#: config/tc-mips.c:4037 config/tc-mips.c:4637 config/tc-mips.c:7387
+#: config/tc-mips.c:8203
msgid "Macro used $at after \".set noat\""
msgstr ""
-#: config/tc-mips.c:4062
+#: config/tc-mips.c:4066
msgid "unsupported large constant"
msgstr ""
-#: config/tc-mips.c:4064
+#: config/tc-mips.c:4068
#, c-format
msgid "Instruction %s requires absolute expression"
msgstr ""
-#: config/tc-mips.c:4197 config/tc-mips.c:6503 config/tc-mips.c:7079
+#: config/tc-mips.c:4201 config/tc-mips.c:6507 config/tc-mips.c:7083
#, c-format
msgid "Number (0x%s) larger than 32 bits"
msgstr ""
-#: config/tc-mips.c:4217
+#: config/tc-mips.c:4221
msgid "Number larger than 64 bits"
msgstr ""
-#: config/tc-mips.c:4511 config/tc-mips.c:4539 config/tc-mips.c:4577
-#: config/tc-mips.c:4622 config/tc-mips.c:6712 config/tc-mips.c:6751
-#: config/tc-mips.c:6790 config/tc-mips.c:7194 config/tc-mips.c:7246
+#: config/tc-mips.c:4515 config/tc-mips.c:4543 config/tc-mips.c:4581
+#: config/tc-mips.c:4626 config/tc-mips.c:6716 config/tc-mips.c:6755
+#: config/tc-mips.c:6794 config/tc-mips.c:7198 config/tc-mips.c:7250
msgid "PIC code offset overflow (max 16 signed bits)"
msgstr ""
-#: config/tc-mips.c:4944 config/tc-mips.c:5010 config/tc-mips.c:5098
-#: config/tc-mips.c:5145 config/tc-mips.c:5206 config/tc-mips.c:5254
-#: config/tc-mips.c:8293 config/tc-mips.c:8300 config/tc-mips.c:8307
-#: config/tc-mips.c:8414
+#: config/tc-mips.c:4948 config/tc-mips.c:5014 config/tc-mips.c:5102
+#: config/tc-mips.c:5149 config/tc-mips.c:5210 config/tc-mips.c:5258
+#: config/tc-mips.c:8297 config/tc-mips.c:8304 config/tc-mips.c:8311
+#: config/tc-mips.c:8418
msgid "Unsupported large constant"
msgstr ""
#. result is always true
-#: config/tc-mips.c:4976
+#: config/tc-mips.c:4980
#, c-format
msgid "Branch %s is always true"
msgstr ""
-#: config/tc-mips.c:5217 config/tc-mips.c:5265 config/tc-mips.c:9065
-#: config/tc-mips.c:9222
+#: config/tc-mips.c:5221 config/tc-mips.c:5269 config/tc-mips.c:9069
+#: config/tc-mips.c:9226
#, c-format
msgid "Improper position (%lu)"
msgstr ""
-#: config/tc-mips.c:5223 config/tc-mips.c:9132
+#: config/tc-mips.c:5227 config/tc-mips.c:9136
#, c-format
msgid "Improper extract size (%lu, position %lu)"
msgstr ""
-#: config/tc-mips.c:5271 config/tc-mips.c:9096
+#: config/tc-mips.c:5275 config/tc-mips.c:9100
#, c-format
msgid "Improper insert size (%lu, position %lu)"
msgstr ""
-#: config/tc-mips.c:5308 config/tc-mips.c:5405
+#: config/tc-mips.c:5312 config/tc-mips.c:5409
msgid "Divide by zero."
msgstr ""
-#: config/tc-mips.c:5491
+#: config/tc-mips.c:5495
msgid "dla used to load 32-bit register"
msgstr ""
-#: config/tc-mips.c:5494
+#: config/tc-mips.c:5498
msgid "la used to load 64-bit address"
msgstr ""
-#: config/tc-mips.c:5606 config/tc-z80.c:700
+#: config/tc-mips.c:5610 config/tc-z80.c:700
msgid "offset too large"
msgstr ""
-#: config/tc-mips.c:5780 config/tc-mips.c:6059
+#: config/tc-mips.c:5784 config/tc-mips.c:6063
msgid "PIC code offset overflow (max 32 signed bits)"
msgstr ""
-#: config/tc-mips.c:6142
+#: config/tc-mips.c:6146
msgid "MIPS PIC call to register other than $25"
msgstr ""
-#: config/tc-mips.c:6148 config/tc-mips.c:6159 config/tc-mips.c:6281
-#: config/tc-mips.c:6292
+#: config/tc-mips.c:6152 config/tc-mips.c:6163 config/tc-mips.c:6285
+#: config/tc-mips.c:6296
msgid "No .cprestore pseudo-op used in PIC code"
msgstr ""
-#: config/tc-mips.c:6153 config/tc-mips.c:6286
+#: config/tc-mips.c:6157 config/tc-mips.c:6290
msgid "No .frame pseudo-op used in PIC code"
msgstr ""
-#: config/tc-mips.c:6307
+#: config/tc-mips.c:6311
msgid "Non-PIC jump used in PIC library"
msgstr ""
-#: config/tc-mips.c:6470 config/tc-mips.c:7346
+#: config/tc-mips.c:6474 config/tc-mips.c:7350
#, c-format
msgid "opcode not supported on this processor: %s"
msgstr ""
-#: config/tc-mips.c:7552 config/tc-mips.c:7583 config/tc-mips.c:7634
-#: config/tc-mips.c:7664
+#: config/tc-mips.c:7556 config/tc-mips.c:7587 config/tc-mips.c:7638
+#: config/tc-mips.c:7668
msgid "Improper rotate count"
msgstr ""
-#: config/tc-mips.c:7714
+#: config/tc-mips.c:7718
#, c-format
msgid "Instruction %s: result is always false"
msgstr ""
-#: config/tc-mips.c:7875
+#: config/tc-mips.c:7879
#, c-format
msgid "Instruction %s: result is always true"
msgstr ""
#. FIXME: Check if this is one of the itbl macros, since they
#. are added dynamically.
-#: config/tc-mips.c:8195
+#: config/tc-mips.c:8199
#, c-format
msgid "Macro %s not implemented yet"
msgstr ""
-#: config/tc-mips.c:8445
+#: config/tc-mips.c:8449
#, c-format
msgid "internal: bad mips opcode (mask error): %s %s"
msgstr ""
-#: config/tc-mips.c:8485 config/tc-mips.c:9296
+#: config/tc-mips.c:8489 config/tc-mips.c:9300
#, c-format
msgid "internal: bad mips opcode (unknown extension operand type `+%c'): %s %s"
msgstr ""
-#: config/tc-mips.c:8564
+#: config/tc-mips.c:8568
#, c-format
msgid "internal: bad mips opcode (unknown operand type `%c'): %s %s"
msgstr ""
-#: config/tc-mips.c:8571
+#: config/tc-mips.c:8575
#, c-format
msgid "internal: bad mips opcode (bits 0x%lx undefined): %s %s"
msgstr ""
-#: config/tc-mips.c:8694 config/tc-mips.c:8702 config/tc-mips.c:10165
+#: config/tc-mips.c:8698 config/tc-mips.c:8706 config/tc-mips.c:10169
#: config/tc-score.c:2696 config/tc-score.c:2742
msgid "unrecognized opcode"
msgstr ""
-#: config/tc-mips.c:8729 config/tc-mips.c:10191
+#: config/tc-mips.c:8733 config/tc-mips.c:10195
#, c-format
msgid "opcode not supported on this processor: %s (%s)"
msgstr ""
-#: config/tc-mips.c:8763
+#: config/tc-mips.c:8767
#, c-format
msgid "BALIGN immediate not 1 or 3 (%lu)"
msgstr ""
-#: config/tc-mips.c:8776 config/tc-mips.c:8789 config/tc-mips.c:8802
-#: config/tc-mips.c:8815 config/tc-mips.c:8841 config/tc-mips.c:8885
+#: config/tc-mips.c:8780 config/tc-mips.c:8793 config/tc-mips.c:8806
+#: config/tc-mips.c:8819 config/tc-mips.c:8845 config/tc-mips.c:8889
#, c-format
msgid "DSP immediate not in range 0..%d (%lu)"
msgstr ""
-#: config/tc-mips.c:8833 config/tc-mips.c:8860
+#: config/tc-mips.c:8837 config/tc-mips.c:8864
msgid "Invalid dsp acc register"
msgstr ""
-#: config/tc-mips.c:8871 config/tc-mips.c:8902 config/tc-mips.c:8919
+#: config/tc-mips.c:8875 config/tc-mips.c:8906 config/tc-mips.c:8923
#, c-format
msgid "DSP immediate not in range %ld..%ld (%ld)"
msgstr ""
-#: config/tc-mips.c:8932
+#: config/tc-mips.c:8936
#, c-format
msgid "MT usermode bit not 0 or 1 (%lu)"
msgstr ""
-#: config/tc-mips.c:8943
+#: config/tc-mips.c:8947
#, c-format
msgid "MT load high bit not 0 or 1 (%lu)"
msgstr ""
-#: config/tc-mips.c:8960 config/tc-mips.c:8973
+#: config/tc-mips.c:8964 config/tc-mips.c:8977
msgid "Invalid dsp/smartmips acc register"
msgstr ""
-#: config/tc-mips.c:9038
+#: config/tc-mips.c:9042
#, c-format
msgid "Illegal %s number (%lu, 0x%lx)"
msgstr ""
-#: config/tc-mips.c:9151 config/tc-mips.c:9704
+#: config/tc-mips.c:9155 config/tc-mips.c:9708
msgid "absolute expression required"
msgstr ""
-#: config/tc-mips.c:9174
+#: config/tc-mips.c:9178
#, c-format
msgid "Invalid register number (%d)"
msgstr ""
-#: config/tc-mips.c:9182
+#: config/tc-mips.c:9186
msgid "Invalid coprocessor 0 register number"
msgstr ""
-#: config/tc-mips.c:9192
+#: config/tc-mips.c:9196
#, c-format
msgid "Improper bit index (%lu)"
msgstr ""
-#: config/tc-mips.c:9253 config/tc-mips.c:9270
+#: config/tc-mips.c:9257 config/tc-mips.c:9274
#, c-format
msgid "Improper size (%lu)"
msgstr ""
-#: config/tc-mips.c:9286
+#: config/tc-mips.c:9290
#, c-format
msgid "Improper immediate (%ld)"
msgstr ""
-#: config/tc-mips.c:9313
+#: config/tc-mips.c:9317
#, c-format
msgid "Improper shift amount (%lu)"
msgstr ""
-#: config/tc-mips.c:9337 config/tc-mips.c:10512 config/tc-mips.c:10765
+#: config/tc-mips.c:9341 config/tc-mips.c:10516 config/tc-mips.c:10769
#, c-format
msgid "Invalid value for `%s' (%lu)"
msgstr ""
-#: config/tc-mips.c:9354
+#: config/tc-mips.c:9358
#, c-format
msgid "Code for %s not in range 0..1023 (%lu)"
msgstr ""
-#: config/tc-mips.c:9366
+#: config/tc-mips.c:9370
#, c-format
msgid "Lower code for %s not in range 0..1023 (%lu)"
msgstr ""
-#: config/tc-mips.c:9378
+#: config/tc-mips.c:9382
#, c-format
msgid "Code for %s not in range 0..1048575 (%lu)"
msgstr ""
-#: config/tc-mips.c:9391
+#: config/tc-mips.c:9395
#, c-format
msgid "Coproccesor code > 25 bits (%lu)"
msgstr ""
-#: config/tc-mips.c:9405
+#: config/tc-mips.c:9409
#, c-format
msgid "Illegal 19-bit code (%lu)"
msgstr ""
-#: config/tc-mips.c:9418
+#: config/tc-mips.c:9422
#, c-format
msgid "Invalid performance register (%lu)"
msgstr ""
-#: config/tc-mips.c:9461 config/tc-mips.c:10372
+#: config/tc-mips.c:9465 config/tc-mips.c:10376
msgid "used $at without \".set noat\""
msgstr ""
-#: config/tc-mips.c:9463 config/tc-mips.c:10374
+#: config/tc-mips.c:9467 config/tc-mips.c:10378
#, c-format
msgid "used $%u with \".set at=$%u\""
msgstr ""
-#: config/tc-mips.c:9489
+#: config/tc-mips.c:9493
msgid "source and destination must be different"
msgstr ""
-#: config/tc-mips.c:9494
+#: config/tc-mips.c:9498
msgid "a destination register must be supplied"
msgstr ""
-#: config/tc-mips.c:9563
+#: config/tc-mips.c:9567
#, c-format
msgid "Improper align amount (%ld), using low bits"
msgstr ""
-#: config/tc-mips.c:9577
+#: config/tc-mips.c:9581
#, c-format
msgid "Invalid MDMX Immediate (%ld)"
msgstr ""
-#: config/tc-mips.c:9615
+#: config/tc-mips.c:9619
#, c-format
msgid "Float register should be even, was %d"
msgstr ""
-#: config/tc-mips.c:9654
+#: config/tc-mips.c:9658
#, c-format
msgid "Bad element selector %ld"
msgstr ""
-#: config/tc-mips.c:9662
+#: config/tc-mips.c:9666
#, c-format
msgid "Expecting ']' found '%s'"
msgstr ""
-#: config/tc-mips.c:9768
+#: config/tc-mips.c:9772
#, c-format
msgid "Bad floating point constant: %s"
msgstr ""
-#: config/tc-mips.c:9888
+#: config/tc-mips.c:9892
msgid "Can't use floating point insn in this section"
msgstr ""
-#: config/tc-mips.c:9949
+#: config/tc-mips.c:9953
msgid "expression out of range"
msgstr ""
-#: config/tc-mips.c:9989
+#: config/tc-mips.c:9993
msgid "lui expression not in range 0..65535"
msgstr ""
-#: config/tc-mips.c:10010
+#: config/tc-mips.c:10014
#, c-format
msgid "Condition code register should be even for %s, was %d"
msgstr ""
-#: config/tc-mips.c:10015
+#: config/tc-mips.c:10019
#, c-format
msgid "Condition code register should be 0 or 4 for %s, was %d"
msgstr ""
-#: config/tc-mips.c:10041
+#: config/tc-mips.c:10045
msgid "invalid coprocessor sub-selection value (0-7)"
msgstr ""
-#: config/tc-mips.c:10053 config/tc-mips.c:10070
+#: config/tc-mips.c:10057 config/tc-mips.c:10074
#, c-format
msgid "bad byte vector index (%ld)"
msgstr ""
-#: config/tc-mips.c:10081
+#: config/tc-mips.c:10085
#, c-format
msgid "bad char = '%c'\n"
msgstr ""
-#: config/tc-mips.c:10092 config/tc-mips.c:10097 config/tc-mips.c:10790
+#: config/tc-mips.c:10096 config/tc-mips.c:10101 config/tc-mips.c:10794
msgid "illegal operands"
msgstr ""
-#: config/tc-mips.c:10548 config/tc-mips.c:10629 config/tc-mips.c:10644
+#: config/tc-mips.c:10552 config/tc-mips.c:10633 config/tc-mips.c:10648
msgid "can't parse register list"
msgstr ""
-#: config/tc-mips.c:10617
+#: config/tc-mips.c:10621
msgid "more than one frame size in list"
msgstr ""
-#: config/tc-mips.c:10672
+#: config/tc-mips.c:10676
msgid "unexpected register in list"
msgstr ""
-#: config/tc-mips.c:10682
+#: config/tc-mips.c:10686
msgid "arg/static registers overlap"
msgstr ""
-#: config/tc-mips.c:10700
+#: config/tc-mips.c:10704
msgid "invalid arg register list"
msgstr ""
-#: config/tc-mips.c:10709 config/tc-mips.c:10732
+#: config/tc-mips.c:10713 config/tc-mips.c:10736
msgid "invalid static register list"
msgstr ""
-#: config/tc-mips.c:10739
+#: config/tc-mips.c:10743
msgid "missing frame size"
msgstr ""
-#: config/tc-mips.c:10742
+#: config/tc-mips.c:10746
msgid "invalid frame size"
msgstr ""
-#: config/tc-mips.c:10908
+#: config/tc-mips.c:10912
msgid "extended operand requested but not required"
msgstr ""
-#: config/tc-mips.c:10910
+#: config/tc-mips.c:10914
msgid "invalid unextended operand value"
msgstr ""
-#: config/tc-mips.c:10938
+#: config/tc-mips.c:10942
msgid "operand value out of range for instruction"
msgstr ""
-#: config/tc-mips.c:11043
+#: config/tc-mips.c:11047
#, c-format
msgid "relocation %s isn't supported by the current ABI"
msgstr ""
-#: config/tc-mips.c:11099
+#: config/tc-mips.c:11103
msgid "unclosed '('"
msgstr ""
-#: config/tc-mips.c:11374
+#: config/tc-mips.c:11378
#, c-format
msgid "A different %s was already specified, is now %s"
msgstr ""
-#: config/tc-mips.c:11621
+#: config/tc-mips.c:11625
msgid "-call_shared is supported only for ELF format"
msgstr ""
-#: config/tc-mips.c:11631
+#: config/tc-mips.c:11635
msgid "-call_nonpic is supported only for ELF format"
msgstr ""
-#: config/tc-mips.c:11641
+#: config/tc-mips.c:11645
msgid "-non_shared is supported only for ELF format"
msgstr ""
-#: config/tc-mips.c:11674
+#: config/tc-mips.c:11678
msgid "-n32 is supported for ELF format only"
msgstr ""
-#: config/tc-mips.c:11683
+#: config/tc-mips.c:11687
msgid "-64 is supported for ELF format only"
msgstr ""
-#: config/tc-mips.c:11688 config/tc-mips.c:11741
+#: config/tc-mips.c:11692 config/tc-mips.c:11745
msgid "No compiled in support for 64 bit object file format"
msgstr ""
-#: config/tc-mips.c:11728
+#: config/tc-mips.c:11732
msgid "-mabi is supported for ELF format only"
msgstr ""
-#: config/tc-mips.c:11748
+#: config/tc-mips.c:11752
#, c-format
msgid "invalid abi -mabi=%s"
msgstr ""
-#: config/tc-mips.c:11826
+#: config/tc-mips.c:11830
msgid "-G not supported in this configuration."
msgstr ""
-#: config/tc-mips.c:11852
+#: config/tc-mips.c:11856
#, c-format
msgid "-%s conflicts with the other architecture options, which imply -%s"
msgstr ""
-#: config/tc-mips.c:11864
+#: config/tc-mips.c:11868
#, c-format
msgid "-march=%s is not compatible with the selected ABI"
msgstr ""
-#: config/tc-mips.c:11883
+#: config/tc-mips.c:11887
msgid "-mgp64 used with a 32-bit processor"
msgstr ""
-#: config/tc-mips.c:11885
+#: config/tc-mips.c:11889
msgid "-mgp32 used with a 64-bit ABI"
msgstr ""
-#: config/tc-mips.c:11887
+#: config/tc-mips.c:11891
msgid "-mgp64 used with a 32-bit ABI"
msgstr ""
-#: config/tc-mips.c:11925
+#: config/tc-mips.c:11929
msgid "-mfp64 used with a 32-bit fpu"
msgstr ""
-#: config/tc-mips.c:11928
+#: config/tc-mips.c:11932
msgid "-mfp64 used with a 32-bit ABI"
msgstr ""
-#: config/tc-mips.c:11932
+#: config/tc-mips.c:11936
msgid "-mfp32 used with a 64-bit ABI"
msgstr ""
-#: config/tc-mips.c:11946
+#: config/tc-mips.c:11950
msgid "trap exception not supported at ISA 1"
msgstr ""
-#: config/tc-mips.c:11956
+#: config/tc-mips.c:11960
msgid "-mfp32 used with -mips3d"
msgstr ""
-#: config/tc-mips.c:11962
+#: config/tc-mips.c:11966
msgid "-mfp32 used with -mdmx"
msgstr ""
-#: config/tc-mips.c:11967
+#: config/tc-mips.c:11971
#, c-format
msgid "%s ISA does not support SmartMIPS"
msgstr ""
-#: config/tc-mips.c:11973 config/tc-mips.c:12918
+#: config/tc-mips.c:11977 config/tc-mips.c:12922
#, c-format
msgid "%s ISA does not support DSP ASE"
msgstr ""
-#: config/tc-mips.c:11982 config/tc-mips.c:12931
+#: config/tc-mips.c:11986 config/tc-mips.c:12935
#, c-format
msgid "%s ISA does not support DSP R2 ASE"
msgstr ""
-#: config/tc-mips.c:11988 config/tc-mips.c:12944
+#: config/tc-mips.c:11992 config/tc-mips.c:12948
#, c-format
msgid "%s ISA does not support MT ASE"
msgstr ""
-#: config/tc-mips.c:12037
+#: config/tc-mips.c:12041
msgid "PC relative MIPS16 instruction references a different section"
msgstr ""
-#: config/tc-mips.c:12335 config/tc-sparc.c:3184 config/tc-sparc.c:3191
+#: config/tc-mips.c:12339 config/tc-sparc.c:3184 config/tc-sparc.c:3191
#: config/tc-sparc.c:3198 config/tc-sparc.c:3205 config/tc-sparc.c:3212
#: config/tc-sparc.c:3221 config/tc-sparc.c:3232 config/tc-sparc.c:3254
-#: config/tc-sparc.c:3278 write.c:1122
+#: config/tc-sparc.c:3278 write.c:1131
msgid "relocation overflow"
msgstr ""
-#: config/tc-mips.c:12345
+#: config/tc-mips.c:12349
#, c-format
msgid "Branch to misaligned address (%lx)"
msgstr ""
-#: config/tc-mips.c:12392
+#: config/tc-mips.c:12396
msgid "Branch out of range"
msgstr ""
-#: config/tc-mips.c:12474
+#: config/tc-mips.c:12478
#, c-format
msgid "Alignment too large: %d. assumed."
msgstr ""
-#: config/tc-mips.c:12477
+#: config/tc-mips.c:12481
msgid "Alignment negative: 0 assumed."
msgstr ""
-#: config/tc-mips.c:12723
+#: config/tc-mips.c:12727
#, c-format
msgid "%s: no such section"
msgstr ""
-#: config/tc-mips.c:12772
+#: config/tc-mips.c:12776
#, c-format
msgid ".option pic%d not supported"
msgstr ""
-#: config/tc-mips.c:12777 config/tc-mips.c:13084
+#: config/tc-mips.c:12781 config/tc-mips.c:13088
msgid "-G may not be used with SVR4 PIC code"
msgstr ""
-#: config/tc-mips.c:12783
+#: config/tc-mips.c:12787
#, c-format
msgid "Unrecognized option \"%s\""
msgstr ""
-#: config/tc-mips.c:12843
+#: config/tc-mips.c:12847
msgid "`noreorder' must be set before `nomacro'"
msgstr ""
-#: config/tc-mips.c:12869
+#: config/tc-mips.c:12873
#, c-format
msgid "%s isa does not support 64-bit registers"
msgstr ""
-#: config/tc-mips.c:12880
+#: config/tc-mips.c:12884
#, c-format
msgid "%s isa does not support 64-bit floating point registers"
msgstr ""
-#: config/tc-mips.c:12901
+#: config/tc-mips.c:12905
#, c-format
msgid "%s ISA does not support SmartMIPS ASE"
msgstr ""
-#: config/tc-mips.c:12968
+#: config/tc-mips.c:12972
#, c-format
msgid "unknown architecture %s"
msgstr ""
-#: config/tc-mips.c:12981 config/tc-mips.c:13011
+#: config/tc-mips.c:12985 config/tc-mips.c:13015
#, c-format
msgid "unknown ISA level %s"
msgstr ""
-#: config/tc-mips.c:12989
+#: config/tc-mips.c:12993
#, c-format
msgid "unknown ISA or architecture %s"
msgstr ""
-#: config/tc-mips.c:13039
+#: config/tc-mips.c:13043
msgid ".set pop with no .set push"
msgstr ""
-#: config/tc-mips.c:13068
+#: config/tc-mips.c:13072
#, c-format
msgid "Tried to set unrecognized symbol: %s\n"
msgstr ""
-#: config/tc-mips.c:13126
+#: config/tc-mips.c:13130
msgid ".cpload not in noreorder section"
msgstr ""
-#: config/tc-mips.c:13194 config/tc-mips.c:13213
+#: config/tc-mips.c:13198 config/tc-mips.c:13217
msgid "missing argument separator ',' for .cpsetup"
msgstr ""
-#: config/tc-mips.c:13371
+#: config/tc-mips.c:13375
#, c-format
msgid "Unsupported use of %s"
msgstr ""
-#: config/tc-mips.c:13453 config/tc-score.c:6036
+#: config/tc-mips.c:13457 config/tc-score.c:6036
msgid "Unsupported use of .gpword"
msgstr ""
-#: config/tc-mips.c:13493
+#: config/tc-mips.c:13497
msgid "Unsupported use of .gpdword"
msgstr ""
-#: config/tc-mips.c:13587
+#: config/tc-mips.c:13591
#, c-format
msgid "ignoring attempt to redefine symbol %s"
msgstr ""
-#: config/tc-mips.c:13602 ecoff.c:3368
+#: config/tc-mips.c:13606 ecoff.c:3368
msgid "bad .weakext directive"
msgstr ""
-#: config/tc-mips.c:13838
+#: config/tc-mips.c:13842
msgid "unsupported PC relative reference to different section"
msgstr ""
-#: config/tc-mips.c:13951 config/tc-xtensa.c:1583 config/tc-xtensa.c:1858
+#: config/tc-mips.c:13955 config/tc-xtensa.c:1583 config/tc-xtensa.c:1858
msgid "unsupported relocation"
msgstr ""
-#: config/tc-mips.c:14200 config/tc-pdp11.c:1431
+#: config/tc-mips.c:14208 config/tc-pdp11.c:1431
#, c-format
msgid "Can not represent %s relocation in this object file format"
msgstr ""
-#: config/tc-mips.c:14285
+#: config/tc-mips.c:14293
msgid "relaxed out-of-range branch into a jump"
msgstr ""
-#: config/tc-mips.c:14819
+#: config/tc-mips.c:14827
msgid "missing .end at end of assembly"
msgstr ""
-#: config/tc-mips.c:14834 config/tc-score.c:5645
+#: config/tc-mips.c:14842 config/tc-score.c:5645
msgid "expected simple number"
msgstr ""
-#: config/tc-mips.c:14862 config/tc-score.c:5672
+#: config/tc-mips.c:14870 config/tc-score.c:5672
msgid "invalid number"
msgstr ""
-#: config/tc-mips.c:15033 config/tc-score.c:5711
+#: config/tc-mips.c:15041 config/tc-score.c:5711
msgid "missing .end"
msgstr ""
-#: config/tc-mips.c:15085
+#: config/tc-mips.c:15093
msgid "Bad .frame directive"
msgstr ""
-#: config/tc-mips.c:15117
+#: config/tc-mips.c:15125
msgid ".mask/.fmask outside of .ent"
msgstr ""
-#: config/tc-mips.c:15124
+#: config/tc-mips.c:15132
msgid "Bad .mask/.fmask directive"
msgstr ""
-#: config/tc-mips.c:15399
+#: config/tc-mips.c:15407
#, c-format
msgid "Bad value (%s) for %s"
msgstr ""
-#: config/tc-mips.c:15463
+#: config/tc-mips.c:15471
#, c-format
msgid ""
"MIPS options:\n"
@@ -9764,7 +9768,7 @@
"\t\t\timplicitly with the gp register [default 8]\n"
msgstr ""
-#: config/tc-mips.c:15470
+#: config/tc-mips.c:15478
#, c-format
msgid ""
"-mips1\t\t\tgenerate MIPS ISA I instructions\n"
@@ -9779,7 +9783,7 @@
"-march=CPU/-mtune=CPU\tgenerate code/schedule for CPU, where CPU is one of:\n"
msgstr ""
-#: config/tc-mips.c:15489
+#: config/tc-mips.c:15497
#, c-format
msgid ""
"-mCPU\t\t\tequivalent to -march=CPU -mtune=CPU. Deprecated.\n"
@@ -9787,42 +9791,42 @@
"\t\t\tFor -mCPU and -no-mCPU, CPU must be one of:\n"
msgstr ""
-#: config/tc-mips.c:15502
+#: config/tc-mips.c:15510
#, c-format
msgid ""
"-mips16\t\t\tgenerate mips16 instructions\n"
"-no-mips16\t\tdo not generate mips16 instructions\n"
msgstr ""
-#: config/tc-mips.c:15505
+#: config/tc-mips.c:15513
#, c-format
msgid ""
"-msmartmips\t\tgenerate smartmips instructions\n"
"-mno-smartmips\t\tdo not generate smartmips instructions\n"
msgstr ""
-#: config/tc-mips.c:15508
+#: config/tc-mips.c:15516
#, c-format
msgid ""
"-mdsp\t\t\tgenerate DSP instructions\n"
"-mno-dsp\t\tdo not generate DSP instructions\n"
msgstr ""
-#: config/tc-mips.c:15511
+#: config/tc-mips.c:15519
#, c-format
msgid ""
"-mdspr2\t\t\tgenerate DSP R2 instructions\n"
"-mno-dspr2\t\tdo not generate DSP R2 instructions\n"
msgstr ""
-#: config/tc-mips.c:15514
+#: config/tc-mips.c:15522
#, c-format
msgid ""
"-mmt\t\t\tgenerate MT instructions\n"
"-mno-mt\t\t\tdo not generate MT instructions\n"
msgstr ""
-#: config/tc-mips.c:15517
+#: config/tc-mips.c:15525
#, c-format
msgid ""
"-mfix-vr4120\t\twork around certain VR4120 errata\n"
@@ -9837,7 +9841,7 @@
"--break, --no-trap\tbreak exception on div by 0 and mult overflow\n"
msgstr ""
-#: config/tc-mips.c:15528
+#: config/tc-mips.c:15536
#, c-format
msgid ""
"-mhard-float\t\tallow floating-point instructions\n"
@@ -9847,7 +9851,7 @@
"--[no-]construct-floats [dis]allow floating point values to be constructed\n"
msgstr ""
-#: config/tc-mips.c:15536
+#: config/tc-mips.c:15544
#, c-format
msgid ""
"-KPIC, -call_shared\tgenerate SVR4 position independent code\n"
@@ -9861,7 +9865,7 @@
"-mabi=ABI\t\tcreate ABI conformant object file for:\n"
msgstr ""
-#: config/tc-mips.c:15557
+#: config/tc-mips.c:15565
#, c-format
msgid ""
"-32\t\t\tcreate o32 ABI object file (default)\n"
@@ -9942,8 +9946,8 @@
msgid "specified location wasn't TETRA-aligned"
msgstr ""
-#: config/tc-mmix.c:964 config/tc-mmix.c:979 config/tc-mmix.c:4109
-#: config/tc-mmix.c:4125
+#: config/tc-mmix.c:964 config/tc-mmix.c:979 config/tc-mmix.c:4114
+#: config/tc-mmix.c:4130
msgid "unaligned data at an absolute location is not supported"
msgstr ""
@@ -9958,160 +9962,155 @@
#: config/tc-mmix.c:1419 config/tc-mmix.c:1444 config/tc-mmix.c:1476
#: config/tc-mmix.c:1508 config/tc-mmix.c:1538 config/tc-mmix.c:1591
#: config/tc-mmix.c:1608 config/tc-mmix.c:1635 config/tc-mmix.c:1663
-#: config/tc-mmix.c:1690 config/tc-mmix.c:1716 config/tc-mmix.c:1732
-#: config/tc-mmix.c:1758 config/tc-mmix.c:1774 config/tc-mmix.c:1790
-#: config/tc-mmix.c:1853 config/tc-mmix.c:1869
+#: config/tc-mmix.c:1693 config/tc-mmix.c:1719 config/tc-mmix.c:1735
+#: config/tc-mmix.c:1761 config/tc-mmix.c:1777 config/tc-mmix.c:1793
+#: config/tc-mmix.c:1874
#, c-format
msgid "invalid operands to opcode %s: `%s'"
msgstr ""
-#: config/tc-mmix.c:1846
-#, c-format
-msgid "unsupported operands to %s: `%s'"
-msgstr ""
-
-#: config/tc-mmix.c:1971
+#: config/tc-mmix.c:1976
msgid "internal: mmix_prefix_name but empty prefix"
msgstr ""
-#: config/tc-mmix.c:2015
+#: config/tc-mmix.c:2020
#, c-format
msgid "too many GREG registers allocated (max %d)"
msgstr ""
-#: config/tc-mmix.c:2073
+#: config/tc-mmix.c:2078
msgid "BSPEC already active. Nesting is not supported."
msgstr ""
-#: config/tc-mmix.c:2082
+#: config/tc-mmix.c:2087
msgid "invalid BSPEC expression"
msgstr ""
-#: config/tc-mmix.c:2098
-#, c-format
-msgid "can't create section %s"
-msgstr ""
-
#: config/tc-mmix.c:2103
#, c-format
+msgid "can't create section %s"
+msgstr ""
+
+#: config/tc-mmix.c:2108
+#, c-format
msgid "can't set section flags for section %s"
msgstr ""
-#: config/tc-mmix.c:2124
+#: config/tc-mmix.c:2129
msgid "ESPEC without preceding BSPEC"
msgstr ""
-#: config/tc-mmix.c:2153
+#: config/tc-mmix.c:2158
msgid "missing local expression"
msgstr ""
-#: config/tc-mmix.c:2363
+#: config/tc-mmix.c:2368
msgid "operand out of range, instruction expanded"
msgstr ""
#. The BFD_RELOC_MMIX_LOCAL-specific message is supposed to be
#. user-friendly, though a little bit non-substantial.
-#: config/tc-mmix.c:2614
+#: config/tc-mmix.c:2619
msgid "directive LOCAL must be placed in code or data"
msgstr ""
-#: config/tc-mmix.c:2615
+#: config/tc-mmix.c:2620
msgid "internal confusion: relocation in a section without contents"
msgstr ""
-#: config/tc-mmix.c:2729
+#: config/tc-mmix.c:2734
msgid "internal: BFD_RELOC_MMIX_BASE_PLUS_OFFSET not resolved to section"
msgstr ""
-#: config/tc-mmix.c:2777
+#: config/tc-mmix.c:2782
msgid "no suitable GREG definition for operands"
msgstr ""
-#: config/tc-mmix.c:2836
+#: config/tc-mmix.c:2841
msgid "operands were not reducible at assembly-time"
msgstr ""
-#: config/tc-mmix.c:2863
+#: config/tc-mmix.c:2868
#, c-format
msgid "cannot generate relocation type for symbol %s, code %s"
msgstr ""
-#: config/tc-mmix.c:2883
+#: config/tc-mmix.c:2888
#, c-format
msgid "internal: unhandled label %s"
msgstr ""
-#: config/tc-mmix.c:2913
+#: config/tc-mmix.c:2918
msgid "[0-9]H labels may not appear alone on a line"
msgstr ""
-#: config/tc-mmix.c:2922
+#: config/tc-mmix.c:2927
msgid "[0-9]H labels do not mix with dot-pseudos"
msgstr ""
-#: config/tc-mmix.c:3010
+#: config/tc-mmix.c:3015
msgid "invalid characters in input"
msgstr ""
-#: config/tc-mmix.c:3116
+#: config/tc-mmix.c:3121
msgid "empty label field for IS"
msgstr ""
-#: config/tc-mmix.c:3442
+#: config/tc-mmix.c:3447
#, c-format
msgid "internal: unexpected relax type %d:%d"
msgstr ""
-#: config/tc-mmix.c:3465
+#: config/tc-mmix.c:3470
msgid "BSPEC without ESPEC."
msgstr ""
-#: config/tc-mmix.c:3670
+#: config/tc-mmix.c:3675
msgid "GREG expression too complicated"
msgstr ""
-#: config/tc-mmix.c:3685
+#: config/tc-mmix.c:3690
msgid "internal: GREG expression not resolved to section"
msgstr ""
-#: config/tc-mmix.c:3734
+#: config/tc-mmix.c:3739
msgid "register section has contents\n"
msgstr ""
-#: config/tc-mmix.c:3861
+#: config/tc-mmix.c:3866
msgid "section change from within a BSPEC/ESPEC pair is not supported"
msgstr ""
-#: config/tc-mmix.c:3882
+#: config/tc-mmix.c:3887
msgid "directive LOC from within a BSPEC/ESPEC pair is not supported"
msgstr ""
-#: config/tc-mmix.c:3893
+#: config/tc-mmix.c:3898
msgid "invalid LOC expression"
msgstr ""
-#: config/tc-mmix.c:3920 config/tc-mmix.c:3947
+#: config/tc-mmix.c:3925 config/tc-mmix.c:3952
msgid "LOC expression stepping backwards is not supported"
msgstr ""
#. We will only get here in rare cases involving #NO_APP,
#. where the unterminated string is not recognized by the
#. preformatting pass.
-#: config/tc-mmix.c:4031 config/tc-mmix.c:4191 config/tc-z80.c:1691
+#: config/tc-mmix.c:4036 config/tc-mmix.c:4196 config/tc-z80.c:1691
msgid "unterminated string"
msgstr ""
-#: config/tc-mmix.c:4048
+#: config/tc-mmix.c:4053
msgid "BYTE expression not a pure number"
msgstr ""
#. Note that mmixal does not allow negative numbers in
#. BYTE sequences, so neither should we.
-#: config/tc-mmix.c:4057
+#: config/tc-mmix.c:4062
msgid "BYTE expression not in the range 0..255"
msgstr ""
-#: config/tc-mmix.c:4107 config/tc-mmix.c:4123
+#: config/tc-mmix.c:4112 config/tc-mmix.c:4128
msgid "data item with alignment larger than location"
msgstr ""
@@ -10169,7 +10168,7 @@
#: config/tc-moxie.c:228 config/tc-moxie.c:288 config/tc-moxie.c:300
#: config/tc-moxie.c:333 config/tc-moxie.c:365 config/tc-moxie.c:398
#: config/tc-moxie.c:452 config/tc-moxie.c:506 config/tc-moxie.c:516
-#: config/tc-moxie.c:544 config/tc-pj.c:307
+#: config/tc-moxie.c:544 config/tc-pj.c:308
msgid "extra stuff on line ignored"
msgstr ""
@@ -10191,7 +10190,7 @@
msgid "expecting indirect register `($rX)'"
msgstr ""
-#: config/tc-moxie.c:547 config/tc-pj.c:312
+#: config/tc-moxie.c:547 config/tc-pj.c:313
msgid "Something forgot to clean up\n"
msgstr ""
@@ -10774,11 +10773,11 @@
msgid "can't have relocation for ipush"
msgstr ""
-#: config/tc-pj.c:288
+#: config/tc-pj.c:289
msgid "expected expresssion"
msgstr ""
-#: config/tc-pj.c:354
+#: config/tc-pj.c:355
#, c-format
msgid ""
"PJ options:\n"
@@ -10786,7 +10785,7 @@
"-big\t\t\tgenerate big endian code\n"
msgstr ""
-#: config/tc-pj.c:381 config/tc-sh.c:4059 config/tc-sh.c:4066
+#: config/tc-pj.c:382 config/tc-sh.c:4059 config/tc-sh.c:4066
#: config/tc-sh.c:4073 config/tc-sh.c:4080
msgid "pcrel too far"
msgstr ""
@@ -10799,12 +10798,12 @@
msgid "estimate size\n"
msgstr ""
-#: config/tc-ppc.c:1075
+#: config/tc-ppc.c:1077
#, c-format
msgid "%s unsupported"
msgstr ""
-#: config/tc-ppc.c:1177
+#: config/tc-ppc.c:1179
#, c-format
msgid ""
"PowerPC options:\n"
@@ -10820,27 +10819,30 @@
"-m405\t\t\tgenerate code for PowerPC 405\n"
"-m440\t\t\tgenerate code for PowerPC 440\n"
"-m464\t\t\tgenerate code for PowerPC 464\n"
+"-m476\t\t\tgenerate code for PowerPC 476\n"
"-m7400, -m7410, -m7450, -m7455\n"
"\t\t\tgenerate code for PowerPC 7400/7410/7450/7455\n"
"-m750cl\t\t\tgenerate code for PowerPC 750cl\n"
msgstr ""
-#: config/tc-ppc.c:1194
+#: config/tc-ppc.c:1197
#, c-format
msgid ""
"-mppc64, -m620\t\tgenerate code for PowerPC 620/625/630\n"
"-mppc64bridge\t\tgenerate code for PowerPC 64, including bridge insns\n"
"-mbooke\t\t\tgenerate code for 32-bit PowerPC BookE\n"
-"-mpower4\t\tgenerate code for Power4 architecture\n"
-"-mpower5\t\tgenerate code for Power5 architecture\n"
-"-mpower6\t\tgenerate code for Power6 architecture\n"
-"-mpower7\t\tgenerate code for Power7 architecture\n"
+"-ma2\t\t\tgenerate code for A2 architecture\n"
+"-mpower4, -mpwr4\tgenerate code for Power4 architecture\n"
+"-mpower5, -mpwr5, -mpwr5x\n"
+"\t\t\tgenerate code for Power5 architecture\n"
+"-mpower6, -mpwr6\tgenerate code for Power6 architecture\n"
+"-mpower7, -mpwr7\tgenerate code for Power7 architecture\n"
"-mcell\t\t\tgenerate code for Cell Broadband Engine architecture\n"
"-mcom\t\t\tgenerate code Power/PowerPC common instructions\n"
"-many\t\t\tgenerate code for any architecture (PWR/PWRX/PPC)\n"
msgstr ""
-#: config/tc-ppc.c:1205
+#: config/tc-ppc.c:1210
#, c-format
msgid ""
"-maltivec\t\tgenerate code for AltiVec\n"
@@ -10853,7 +10855,7 @@
"-mno-regnames\t\tDo not allow symbolic names for registers\n"
msgstr ""
-#: config/tc-ppc.c:1215
+#: config/tc-ppc.c:1220
#, c-format
msgid ""
"-mrelocatable\t\tsupport for GCC's -mrelocatble option\n"
@@ -10869,262 +10871,266 @@
"-Qy, -Qn\t\tignored\n"
msgstr ""
-#: config/tc-ppc.c:1252
+#: config/tc-ppc.c:1257
#, c-format
msgid "Unknown default cpu = %s, os = %s"
msgstr ""
-#: config/tc-ppc.c:1278
+#: config/tc-ppc.c:1283
msgid "Neither Power nor PowerPC opcodes were selected."
msgstr ""
-#: config/tc-ppc.c:1357
+#: config/tc-ppc.c:1362
#, c-format
msgid "powerpc_operands[%d].bitm invalid"
msgstr ""
-#: config/tc-ppc.c:1364
+#: config/tc-ppc.c:1369
#, c-format
msgid "powerpc_operands[%d] duplicates powerpc_operands[%d]"
msgstr ""
-#: config/tc-ppc.c:1386
+#: config/tc-ppc.c:1391
#, c-format
msgid "major opcode is not sorted for %s"
msgstr ""
-#: config/tc-ppc.c:1422
+#: config/tc-ppc.c:1427
#, c-format
msgid "%s (%08lx %08lx) after %s (%08lx %08lx)"
msgstr ""
-#: config/tc-ppc.c:1431
+#: config/tc-ppc.c:1436
#, c-format
msgid "mask trims opcode bits for %s"
msgstr ""
-#: config/tc-ppc.c:1440
+#: config/tc-ppc.c:1445
#, c-format
msgid "operand index error for %s"
msgstr ""
-#: config/tc-ppc.c:1452
+#: config/tc-ppc.c:1457
#, c-format
msgid "operand %d overlap in %s"
msgstr ""
-#: config/tc-ppc.c:1478
+#: config/tc-ppc.c:1483
#, c-format
msgid "duplicate instruction %s"
msgstr ""
-#: config/tc-ppc.c:1502
+#: config/tc-ppc.c:1507
#, c-format
msgid "duplicate macro %s"
msgstr ""
-#: config/tc-ppc.c:1859
+#: config/tc-ppc.c:1864
msgid "symbol+offset not supported for got tls"
msgstr ""
-#: config/tc-ppc.c:2113
+#: config/tc-ppc.c:2118
msgid "Relocation cannot be done when using -mrelocatable"
msgstr ""
-#: config/tc-ppc.c:2162
+#: config/tc-ppc.c:2167
msgid "TOC section size exceeds 64k"
msgstr ""
-#: config/tc-ppc.c:2243
+#: config/tc-ppc.c:2248
#, c-format
msgid "syntax error: invalid toc specifier `%s'"
msgstr ""
-#: config/tc-ppc.c:2257
+#: config/tc-ppc.c:2262
#, c-format
msgid "syntax error: expected `]', found `%c'"
msgstr ""
-#: config/tc-ppc.c:2534
+#: config/tc-ppc.c:2539
msgid "[tocv] symbol is not a toc symbol"
msgstr ""
-#: config/tc-ppc.c:2545
+#: config/tc-ppc.c:2550
msgid "Unimplemented toc32 expression modifier"
msgstr ""
-#: config/tc-ppc.c:2550
+#: config/tc-ppc.c:2555
msgid "Unimplemented toc64 expression modifier"
msgstr ""
-#: config/tc-ppc.c:2554
+#: config/tc-ppc.c:2559
#, c-format
msgid "Unexpected return value [%d] from parse_toc_entry!\n"
msgstr ""
-#: config/tc-ppc.c:2826
+#: config/tc-ppc.c:2831
msgid "unsupported relocation for DS offset field"
msgstr ""
-#: config/tc-ppc.c:2879
+#: config/tc-ppc.c:2884
#, c-format
msgid "syntax error; found `%c' but expected `%c'"
msgstr ""
-#: config/tc-ppc.c:2919 config/tc-ppc.h:94
+#: config/tc-ppc.c:2924 config/tc-ppc.h:94
msgid "instruction address is not a multiple of 4"
msgstr ""
-#: config/tc-ppc.c:3084
+#: config/tc-ppc.c:3089
msgid "Bad .section directive: want a,e,w,x,M,S,G,T in string"
msgstr ""
-#: config/tc-ppc.c:3190
+#: config/tc-ppc.c:3195
msgid "missing size"
msgstr ""
-#: config/tc-ppc.c:3199
+#: config/tc-ppc.c:3204
msgid "negative size"
msgstr ""
-#: config/tc-ppc.c:3236
+#: config/tc-ppc.c:3241
msgid "missing real symbol name"
msgstr ""
-#: config/tc-ppc.c:3257
+#: config/tc-ppc.c:3262
msgid "attempt to redefine symbol"
msgstr ""
-#: config/tc-ppc.c:3499
+#: config/tc-ppc.c:3504
msgid "The XCOFF file format does not support arbitrary sections"
msgstr ""
-#: config/tc-ppc.c:3573
-msgid "missing rename string"
+#: config/tc-ppc.c:3577
+msgid ".ref outside .csect"
msgstr ""
-#: config/tc-ppc.c:3603 config/tc-ppc.c:4145 read.c:3314
-msgid "missing value"
-msgstr ""
-
-#: config/tc-ppc.c:3621
-msgid "illegal .stabx expression; zero assumed"
-msgstr ""
-
-#: config/tc-ppc.c:3653
-msgid "missing class"
-msgstr ""
-
-#: config/tc-ppc.c:3662
-msgid "missing type"
-msgstr ""
-
-#: config/tc-ppc.c:3742
+#: config/tc-ppc.c:3599 config/tc-ppc.c:3799
msgid "missing symbol name"
msgstr ""
-#: config/tc-ppc.c:3932
+#: config/tc-ppc.c:3630
+msgid "missing rename string"
+msgstr ""
+
+#: config/tc-ppc.c:3660 config/tc-ppc.c:4202 read.c:3314
+msgid "missing value"
+msgstr ""
+
+#: config/tc-ppc.c:3678
+msgid "illegal .stabx expression; zero assumed"
+msgstr ""
+
+#: config/tc-ppc.c:3710
+msgid "missing class"
+msgstr ""
+
+#: config/tc-ppc.c:3719
+msgid "missing type"
+msgstr ""
+
+#: config/tc-ppc.c:3989
msgid "nested .bs blocks"
msgstr ""
-#: config/tc-ppc.c:3964
+#: config/tc-ppc.c:4021
msgid ".es without preceding .bs"
msgstr ""
-#: config/tc-ppc.c:4137
+#: config/tc-ppc.c:4194
msgid "non-constant byte count"
msgstr ""
-#: config/tc-ppc.c:4184
+#: config/tc-ppc.c:4241
msgid ".tc not in .toc section"
msgstr ""
-#: config/tc-ppc.c:4203
+#: config/tc-ppc.c:4260
msgid ".tc with no label"
msgstr ""
-#: config/tc-ppc.c:4296
+#: config/tc-ppc.c:4353
msgid ".machine stack overflow"
msgstr ""
-#: config/tc-ppc.c:4303
+#: config/tc-ppc.c:4360
msgid ".machine stack underflow"
msgstr ""
-#: config/tc-ppc.c:4310
+#: config/tc-ppc.c:4367
#, c-format
msgid "invalid machine `%s'"
msgstr ""
-#: config/tc-ppc.c:4361
+#: config/tc-ppc.c:4418
msgid "No previous section to return to. Directive ignored."
msgstr ""
#. Section Contents
#. unknown
-#: config/tc-ppc.c:4771
+#: config/tc-ppc.c:4828
msgid "Unsupported section attribute -- 'a'"
msgstr ""
-#: config/tc-ppc.c:4955
+#: config/tc-ppc.c:5012
msgid "bad symbol suffix"
msgstr ""
-#: config/tc-ppc.c:5047
+#: config/tc-ppc.c:5104
msgid "Unrecognized symbol suffix"
msgstr ""
-#: config/tc-ppc.c:5135
+#: config/tc-ppc.c:5192
msgid "two .function pseudo-ops with no intervening .ef"
msgstr ""
-#: config/tc-ppc.c:5148
+#: config/tc-ppc.c:5205
msgid ".ef with no preceding .function"
msgstr ""
-#: config/tc-ppc.c:5277
+#: config/tc-ppc.c:5334
#, c-format
msgid "warning: symbol %s has no csect"
msgstr ""
-#: config/tc-ppc.c:5522
+#: config/tc-ppc.c:5579
msgid "symbol in .toc does not match any .tc"
msgstr ""
-#: config/tc-ppc.c:5897
+#: config/tc-ppc.c:5954
#, c-format
msgid "unsupported relocation against %s"
msgstr ""
-#: config/tc-ppc.c:5970
+#: config/tc-ppc.c:6027
#, c-format
msgid "cannot emit PC relative %s relocation against %s"
msgstr ""
-#: config/tc-ppc.c:5975
+#: config/tc-ppc.c:6032
#, c-format
msgid "cannot emit PC relative %s relocation"
msgstr ""
-#: config/tc-ppc.c:6159
+#: config/tc-ppc.c:6221
#, c-format
msgid "Unable to handle reference to symbol %s"
msgstr ""
-#: config/tc-ppc.c:6162
+#: config/tc-ppc.c:6224
msgid "Unable to resolve expression"
msgstr ""
-#: config/tc-ppc.c:6189
+#: config/tc-ppc.c:6251
msgid "must branch to an address a multiple of 4"
msgstr ""
-#: config/tc-ppc.c:6193
+#: config/tc-ppc.c:6255
#, c-format
msgid "@local or @plt branch destination is too far away, %ld bytes"
msgstr ""
-#: config/tc-ppc.c:6224
+#: config/tc-ppc.c:6286
#, c-format
msgid "Gas failure, reloc value %d\n"
msgstr ""
@@ -11511,7 +11517,7 @@
msgstr ""
#: config/tc-score.c:6271 config/tc-z80.c:289 ecoff.c:3355 read.c:1484
-#: read.c:1597 read.c:2484 read.c:3048 read.c:3441 symbols.c:326 symbols.c:432
+#: read.c:1597 read.c:2484 read.c:3048 read.c:3441 symbols.c:337 symbols.c:433
#, c-format
msgid "symbol `%s' is already defined"
msgstr ""
@@ -12507,18 +12513,18 @@
msgid "Illegal operands: %%r_tls_dtpoff in %d-byte data field"
msgstr ""
-#: config/tc-sparc.c:4366 config/tc-vax.c:3313
+#: config/tc-sparc.c:4366 config/tc-vax.c:3314
#, c-format
msgid "Illegal operands: Only %%r_%s%d allowed in %d-byte data fields"
msgstr ""
#: config/tc-sparc.c:4374 config/tc-sparc.c:4405 config/tc-sparc.c:4414
-#: config/tc-vax.c:3321 config/tc-vax.c:3352 config/tc-vax.c:3361
+#: config/tc-vax.c:3322 config/tc-vax.c:3353 config/tc-vax.c:3362
#, c-format
msgid "Illegal operands: %%r_%s%d requires arguments in ()"
msgstr ""
-#: config/tc-sparc.c:4423 config/tc-vax.c:3370
+#: config/tc-sparc.c:4423 config/tc-vax.c:3371
#, c-format
msgid "Illegal operands: garbage after %%r_%s%d()"
msgstr ""
@@ -13911,34 +13917,34 @@
msgid "A bignum/flonum may not be a displacement: 0x%lx used"
msgstr ""
-#: config/tc-vax.c:2995
+#: config/tc-vax.c:2996
#, c-format
msgid "Short literal overflow(%ld.), immediate mode assumed."
msgstr ""
-#: config/tc-vax.c:3004
+#: config/tc-vax.c:3005
#, c-format
msgid "Forced short literal to immediate mode. now_seg=%s to_seg=%s"
msgstr ""
-#: config/tc-vax.c:3069
+#: config/tc-vax.c:3070
msgid "Length specification ignored. Address mode 9F used"
msgstr ""
-#: config/tc-vax.c:3127
+#: config/tc-vax.c:3128
msgid "Invalid operand: immediate value used as base address."
msgstr ""
-#: config/tc-vax.c:3129
+#: config/tc-vax.c:3130
msgid "Invalid operand: immediate value used as address."
msgstr ""
-#: config/tc-vax.c:3154
+#: config/tc-vax.c:3155
#, c-format
msgid "Symbol %s used as immediate operand in PIC mode."
msgstr ""
-#: config/tc-vax.c:3259
+#: config/tc-vax.c:3260
#, c-format
msgid "VIP_BEGIN error:%s"
msgstr ""
@@ -14850,65 +14856,65 @@
msgid "can't close `%s'"
msgstr ""
-#: dw2gencfi.c:294
+#: dw2gencfi.c:303
#, c-format
msgid "register save offset not a multiple of %u"
msgstr ""
-#: dw2gencfi.c:377
+#: dw2gencfi.c:386
msgid "CFI state restore without previous remember"
msgstr ""
-#: dw2gencfi.c:432
+#: dw2gencfi.c:443
msgid "missing separator"
msgstr ""
-#: dw2gencfi.c:482
+#: dw2gencfi.c:493
msgid "bad register expression"
msgstr ""
-#: dw2gencfi.c:503 dw2gencfi.c:626 dw2gencfi.c:664 dw2gencfi.c:734
-#: dw2gencfi.c:806
+#: dw2gencfi.c:514 dw2gencfi.c:637 dw2gencfi.c:675 dw2gencfi.c:745
+#: dw2gencfi.c:817
msgid "CFI instruction used without previous .cfi_startproc"
msgstr ""
-#: dw2gencfi.c:688
+#: dw2gencfi.c:699
msgid "invalid or unsupported encoding in .cfi_personality"
msgstr ""
-#: dw2gencfi.c:695
+#: dw2gencfi.c:706
msgid ".cfi_personality requires encoding and symbol arguments"
msgstr ""
-#: dw2gencfi.c:718
+#: dw2gencfi.c:729
msgid "wrong second argument to .cfi_personality"
msgstr ""
-#: dw2gencfi.c:758 dw2gencfi.c:834
+#: dw2gencfi.c:769 dw2gencfi.c:845
msgid "invalid or unsupported encoding in .cfi_lsda"
msgstr ""
-#: dw2gencfi.c:765
+#: dw2gencfi.c:776
msgid ".cfi_lsda requires encoding and symbol arguments"
msgstr ""
-#: dw2gencfi.c:790
+#: dw2gencfi.c:801
msgid "wrong second argument to .cfi_lsda"
msgstr ""
-#: dw2gencfi.c:855
+#: dw2gencfi.c:866
msgid "wrong third argument to .cfi_val_encoded_addr"
msgstr ""
-#: dw2gencfi.c:870
+#: dw2gencfi.c:931
msgid "previous CFI entry not closed (missing .cfi_endproc)"
msgstr ""
-#: dw2gencfi.c:905
+#: dw2gencfi.c:966
msgid ".cfi_endproc without corresponding .cfi_startproc"
msgstr ""
-#: dw2gencfi.c:1515
+#: dw2gencfi.c:1677 dw2gencfi.c:1715
msgid "open CFI at the end of file; missing .cfi_endproc directive"
msgstr ""
@@ -15137,7 +15143,7 @@
msgid "bignum invalid"
msgstr ""
-#: expr.c:90 read.c:3623 read.c:4091 read.c:4957
+#: expr.c:90 read.c:3623 read.c:4091 read.c:4960
msgid "floating point number invalid"
msgstr ""
@@ -15181,7 +15187,7 @@
msgid "missing '%c'"
msgstr ""
-#: expr.c:981 read.c:4437
+#: expr.c:981 read.c:4440
msgid "EBCDIC constants are not supported"
msgstr ""
@@ -15219,7 +15225,7 @@
msgid "right operand is a float; integer 0 assumed"
msgstr ""
-#: expr.c:1866 symbols.c:1356
+#: expr.c:1866 symbols.c:1358
msgid "division by zero"
msgstr ""
@@ -15256,7 +15262,7 @@
#. line here (assuming of course that we actually have a line of
#. input to read), so that it can be displayed in the listing
#. that is produced at the end of the assembly.
-#: input-file.c:138 input-scrub.c:241 listing.c:334
+#: input-file.c:138 input-scrub.c:243 listing.c:337
msgid "{standard input}"
msgstr ""
@@ -15270,16 +15276,16 @@
msgid "can't read from %s: %s"
msgstr ""
-#: input-file.c:249 listing.c:1389 output-file.c:69
+#: input-file.c:249 listing.c:1392 output-file.c:69
#, c-format
msgid "can't close %s: %s"
msgstr ""
-#: input-scrub.c:266
+#: input-scrub.c:268
msgid "macros nested too deeply"
msgstr ""
-#: input-scrub.c:375 input-scrub.c:399
+#: input-scrub.c:377 input-scrub.c:401
msgid "partial line at end of file ignored"
msgstr ""
@@ -15288,15 +15294,15 @@
msgid "Unable to allocate memory for new instructions\n"
msgstr ""
-#: listing.c:240
+#: listing.c:243
msgid "Warning:"
msgstr ""
-#: listing.c:246
+#: listing.c:249
msgid "Error:"
msgstr ""
-#: listing.c:1275
+#: listing.c:1278
#, c-format
msgid ""
"\n"
@@ -15304,62 +15310,62 @@
"\n"
msgstr ""
-#: listing.c:1285
+#: listing.c:1288
#, c-format
msgid "%s "
msgstr ""
-#: listing.c:1290
+#: listing.c:1293
#, c-format
msgid ""
"\n"
"\t%s "
msgstr ""
-#: listing.c:1300
+#: listing.c:1303
msgid ""
"\n"
" options passed\t: "
msgstr ""
-#: listing.c:1339
+#: listing.c:1342
#, c-format
msgid ""
" GNU assembler version %s (%s)\n"
"\t using BFD version %s."
msgstr ""
-#: listing.c:1342
+#: listing.c:1345
#, c-format
msgid ""
"\n"
" input file \t: %s"
msgstr ""
-#: listing.c:1343
+#: listing.c:1346
#, c-format
msgid ""
"\n"
" output file \t: %s"
msgstr ""
-#: listing.c:1344
+#: listing.c:1347
#, c-format
msgid ""
"\n"
" target \t: %s"
msgstr ""
-#: listing.c:1368
+#: listing.c:1371
#, c-format
msgid "can't open %s: %s"
msgstr ""
-#: listing.c:1461
+#: listing.c:1464
msgid "strange paper height, set to no form"
msgstr ""
-#: listing.c:1525
+#: listing.c:1528
msgid "new line in title"
msgstr ""
@@ -15758,7 +15764,7 @@
msgid "space allocation too complex in common section"
msgstr ""
-#: read.c:3353 read.c:4683
+#: read.c:3353 read.c:4686
#, c-format
msgid "bad floating literal: %s"
msgstr ""
@@ -15802,11 +15808,11 @@
msgid "attempt to store value in absolute section"
msgstr ""
-#: read.c:4085 read.c:4951
+#: read.c:4085 read.c:4954
msgid "zero assumed for missing expression"
msgstr ""
-#: read.c:4097 read.c:4963 write.c:268 write.c:973
+#: read.c:4097 read.c:4966 write.c:265 write.c:982
msgid "register value used as expression"
msgstr ""
@@ -15829,101 +15835,101 @@
msgid "bignum truncated to %d bytes"
msgstr ""
-#: read.c:4510 read.c:4705
+#: read.c:4513 read.c:4708
msgid "unresolvable or nonpositive repeat count; using 1"
msgstr ""
-#: read.c:4559
+#: read.c:4562
#, c-format
msgid "unknown floating type type '%c'"
msgstr ""
-#: read.c:4581
+#: read.c:4584
msgid "floating point constant too large"
msgstr ""
-#: read.c:5117
+#: read.c:5120
msgid "strings must be placed into a section"
msgstr ""
-#: read.c:5165
+#: read.c:5168
msgid "expected <nn>"
msgstr ""
#. To be compatible with BSD 4.2 as: give the luser a linefeed!!
-#: read.c:5198 read.c:5284
+#: read.c:5201 read.c:5287
msgid "unterminated string; newline inserted"
msgstr ""
-#: read.c:5292
+#: read.c:5295
msgid "bad escaped character in string"
msgstr ""
-#: read.c:5317
+#: read.c:5320
msgid "expected address expression"
msgstr ""
-#: read.c:5336
+#: read.c:5339
#, c-format
msgid "symbol \"%s\" undefined; zero assumed"
msgstr ""
-#: read.c:5339
+#: read.c:5342
msgid "some symbol undefined; zero assumed"
msgstr ""
-#: read.c:5375
+#: read.c:5378
msgid "this string may not contain '\\0'"
msgstr ""
-#: read.c:5411
+#: read.c:5414
msgid "missing string"
msgstr ""
-#: read.c:5502
+#: read.c:5505
#, c-format
msgid ".incbin count zero, ignoring `%s'"
msgstr ""
-#: read.c:5528
+#: read.c:5531
#, c-format
msgid "file not found: %s"
msgstr ""
-#: read.c:5542
+#: read.c:5545
#, c-format
msgid "seek to end of .incbin file failed `%s'"
msgstr ""
-#: read.c:5553
+#: read.c:5556
#, c-format
msgid "skip (%ld) or count (%ld) invalid for file size (%ld)"
msgstr ""
-#: read.c:5560
+#: read.c:5563
#, c-format
msgid "could not skip to %ld in file `%s'"
msgstr ""
-#: read.c:5569
+#: read.c:5572
#, c-format
msgid "truncated file `%s', %ld of %ld bytes read"
msgstr ""
-#: read.c:5727
+#: read.c:5731
msgid "missing .func"
msgstr ""
-#: read.c:5744
+#: read.c:5748
msgid ".endfunc missing for previous .func"
msgstr ""
-#: read.c:5881
+#: read.c:5885
#, c-format
msgid "missing closing `%c'"
msgstr ""
-#: read.c:5883
+#: read.c:5887
msgid "stray `\\'"
msgstr ""
@@ -15949,210 +15955,210 @@
msgid "comma missing in .xstabs"
msgstr ""
-#: symbols.c:277
+#: symbols.c:288
#, c-format
msgid "cannot define symbol `%s' in absolute section"
msgstr ""
-#: symbols.c:417
+#: symbols.c:418
#, c-format
msgid "symbol `%s' is already defined as \"%s\"/%s%ld"
msgstr ""
-#: symbols.c:494 symbols.c:501
+#: symbols.c:496 symbols.c:503
#, c-format
msgid "inserting \"%s\" into symbol table failed: %s"
msgstr ""
-#: symbols.c:964 symbols.c:968
+#: symbols.c:966 symbols.c:970
#, c-format
msgid "undefined symbol `%s' in operation"
msgstr ""
-#: symbols.c:975
+#: symbols.c:977
#, c-format
msgid "invalid sections for operation on `%s' and `%s'"
msgstr ""
-#: symbols.c:979
+#: symbols.c:981
#, c-format
msgid "invalid section for operation on `%s'"
msgstr ""
-#: symbols.c:987 symbols.c:990
+#: symbols.c:989 symbols.c:992
#, c-format
msgid "undefined symbol `%s' in operation setting `%s'"
msgstr ""
-#: symbols.c:996
+#: symbols.c:998
#, c-format
msgid "invalid sections for operation on `%s' and `%s' setting `%s'"
msgstr ""
-#: symbols.c:999
+#: symbols.c:1001
#, c-format
msgid "invalid section for operation on `%s' setting `%s'"
msgstr ""
-#: symbols.c:1049
+#: symbols.c:1051
#, c-format
msgid "symbol definition loop encountered at `%s'"
msgstr ""
-#: symbols.c:1076
+#: symbols.c:1078
#, c-format
msgid "cannot convert expression symbol %s to complex relocation"
msgstr ""
-#: symbols.c:1358
+#: symbols.c:1360
#, c-format
msgid "division by zero when setting `%s'"
msgstr ""
-#: symbols.c:1439 write.c:1846
+#: symbols.c:1441 write.c:1855
#, c-format
msgid "can't resolve value for symbol `%s'"
msgstr ""
-#: symbols.c:1889
+#: symbols.c:1888
#, c-format
msgid "\"%d\" (instance number %d of a %s label)"
msgstr ""
-#: symbols.c:1918
+#: symbols.c:1917
#, c-format
msgid "attempt to get value of unresolved symbol `%s'"
msgstr ""
-#: symbols.c:2193
+#: symbols.c:2192
msgid "section symbols are already global"
msgstr ""
-#: symbols.c:2306
+#: symbols.c:2305
#, c-format
msgid "Accessing function `%s' as thread-local object"
msgstr ""
-#: symbols.c:2310
+#: symbols.c:2309
#, c-format
msgid "Accessing `%s' as thread-local object"
msgstr ""
-#: write.c:167
+#: write.c:168
#, c-format
msgid "field fx_size too small to hold %d"
msgstr ""
-#: write.c:444
+#: write.c:453
#, c-format
msgid "attempt to .org/.space backwards? (%ld)"
msgstr ""
-#: write.c:675
+#: write.c:684
msgid "invalid offset expression"
msgstr ""
-#: write.c:697
+#: write.c:706
msgid "invalid reloc expression"
msgstr ""
-#: write.c:1056
+#: write.c:1065
#, c-format
msgid "value of %s too large for field of %d bytes at %s"
msgstr ""
-#: write.c:1068
+#: write.c:1077
#, c-format
msgid "signed .word overflow; switch may be too large; %ld at 0x%lx"
msgstr ""
-#: write.c:1112
+#: write.c:1121
msgid "redefined symbol cannot be used on reloc"
msgstr ""
-#: write.c:1125
+#: write.c:1134
msgid "relocation out of range"
msgstr ""
-#: write.c:1128
+#: write.c:1137
#, c-format
msgid "%s:%u: bad return from bfd_install_relocation: %x"
msgstr ""
-#: write.c:1192
+#: write.c:1201
msgid "internal error: fixup not contained within frag"
msgstr ""
-#: write.c:1245
+#: write.c:1254
msgid "reloc not within (fixed part of) section"
msgstr ""
-#: write.c:1312 write.c:1333
+#: write.c:1321 write.c:1342
#, c-format
msgid "can't write %s: %s"
msgstr ""
-#: write.c:1363
+#: write.c:1372
msgid "cannot write to output file"
msgstr ""
-#: write.c:1517
+#: write.c:1526
#, c-format
msgid "%d error%s, %d warning%s, generating bad object file"
msgstr ""
-#: write.c:1524
+#: write.c:1533
#, c-format
msgid "%d error%s, %d warning%s, no object file generated"
msgstr ""
-#: write.c:1763
+#: write.c:1772
#, c-format
msgid "%s: global symbols not supported in common sections"
msgstr ""
-#: write.c:1777
+#: write.c:1786
#, c-format
msgid "local label `%s' is not defined"
msgstr ""
-#: write.c:1797
+#: write.c:1806
#, c-format
msgid "Local symbol `%s' can't be equated to common symbol `%s'"
msgstr ""
-#: write.c:1804
+#: write.c:1813
#, c-format
msgid "can't make global register symbol `%s'"
msgstr ""
-#: write.c:2075
+#: write.c:2084
#, c-format
msgid "alignment padding (%lu bytes) not a multiple of %ld"
msgstr ""
-#: write.c:2233
+#: write.c:2242
#, c-format
msgid ".word %s-%s+%s didn't fit"
msgstr ""
-#: write.c:2328
+#: write.c:2337
msgid "padding added"
msgstr ""
-#: write.c:2378
+#: write.c:2387
msgid "attempt to move .org backwards"
msgstr ""
-#: write.c:2402
+#: write.c:2411
msgid ".space specifies non-absolute value"
msgstr ""
-#: write.c:2417
+#: write.c:2426
msgid ".space or .fill with negative value, ignored"
msgstr ""
-#: write.c:2488
+#: write.c:2497
#, c-format
msgid ""
"Infinite loop encountered whilst attempting to compute the addresses of "
diff --git a/binutils/gas/symbols.c b/binutils/gas/symbols.c
index 4cfa85b..5eda2cb 100644
--- a/binutils/gas/symbols.c
+++ b/binutils/gas/symbols.c
@@ -2385,6 +2385,20 @@
S_CLEAR_WEAKREFR (s);
}
+/* Return whether 2 symbols are the same. */
+
+int
+symbol_same_p (symbolS *s1, symbolS *s2)
+{
+ if (s1->bsym == NULL
+ && local_symbol_converted_p ((struct local_symbol *) s1))
+ s1 = local_symbol_get_real_symbol ((struct local_symbol *) s1);
+ if (s2->bsym == NULL
+ && local_symbol_converted_p ((struct local_symbol *) s2))
+ s2 = local_symbol_get_real_symbol ((struct local_symbol *) s2);
+ return s1 == s2;
+}
+
/* Return a pointer to the X_add_number component of a symbol. */
offsetT *
diff --git a/binutils/gas/symbols.h b/binutils/gas/symbols.h
index 19f58c6..377a130 100644
--- a/binutils/gas/symbols.h
+++ b/binutils/gas/symbols.h
@@ -198,6 +198,7 @@
extern int symbol_shadow_p (symbolS *);
extern asymbol *symbol_get_bfdsym (symbolS *);
extern void symbol_set_bfdsym (symbolS *, asymbol *);
+extern int symbol_same_p (symbolS *, symbolS *);
#ifdef OBJ_SYMFIELD_TYPE
OBJ_SYMFIELD_TYPE *symbol_get_obj (symbolS *);
diff --git a/binutils/gas/testsuite/ChangeLog b/binutils/gas/testsuite/ChangeLog
index 694128f..39f9e59 100644
--- a/binutils/gas/testsuite/ChangeLog
+++ b/binutils/gas/testsuite/ChangeLog
@@ -1,3 +1,54 @@
+2010-02-08 Christophe Lyon <christophe.lyon@st.com>
+
+ * gas/arm/branch-reloc.s, gas/arm/branch-reloc.d,
+ gas/arm/branch-reloc.l: New tests and expected results with all
+ variants of call: ARM/Thumb, local/global, inter/intra-section,
+ using BL/BLX.
+
+2010-02-05 Christophe Lyon <christophe.lyon@st.com>
+
+ * gas/arm/arm-it-auto.d, gas/arm/bl-local-v4t.d,
+ gas/arm/blx-local.d, gas/arm/thumb-w-good.d: Update expected
+ results.
+
+2010-01-30 Richard Sandiford <r.sandiford@uk.ibm.com>
+
+ * gas/ppc/xcoff-ref-1.s, gas/ppc/xcoff-ref-1.l: New test.
+ * gas/ppc/aix.exp: Run it.
+
+2010-01-29 Dave Korn <dave.korn.cygwin@gmail.com>
+
+ * gas/pe/section-align-1.d: Generalise to pass on more targets.
+ * gas/pe/section-align-2.d: Likewise.
+
+2010-01-27 Dave Korn <dave.korn.cygwin@gmail.com>
+
+ Backport from trunk:
+ * gas/pe/section-align-1.s: New test source file.
+ * gas/pe/section-align-1.d: Likewise control script.
+ * gas/pe/section-align-2.s: Likewise ...
+ * gas/pe/section-align-2.d: ... and likewise.
+ * gas/pe/pe.exp: Invoke new testcases.
+
+2009-12-15 H.J. Lu <hongjiu.lu@intel.com>
+
+ Backport from trunk:
+ 2009-12-07 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR gas/11037
+ * gas/i386/intelpic.s: Add testcases.
+ * gas/i386/intelpic.d: Updated.
+
+ 2009-10-28 Alan Modra <amodra@bigpond.net.au>
+
+ * gas/i386/intelpic.d: Correct.
+
+ 2009-10-08 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR gas/10704
+ * gas/i386/intelpic.s: Add 2 new tests.
+ * gas/i386/intelpic.d: Updated.
+
2009-10-02 Peter Bergner <bergner@vnet.ibm.com>
* gas/ppc/476.s: New test.
diff --git a/binutils/gas/testsuite/gas/arm/arm-it-auto.d b/binutils/gas/testsuite/gas/arm/arm-it-auto.d
index 68d5d4a..bfdd9d6 100644
--- a/binutils/gas/testsuite/gas/arm/arm-it-auto.d
+++ b/binutils/gas/testsuite/gas/arm/arm-it-auto.d
@@ -71,11 +71,11 @@
0000008c <main\+0x8c> bf18 it ne
0000008e <main\+0x8e> 200d movne r0, #13
00000090 <main\+0x90> f... f... bl 0000000. <f.*>
-00000094 <f\+0x94> bd10 pop {r4, pc}
-00000096 <f\+0x96> f... f... bl 0000000. <f.*>
-0000009a <f\+0x9a> bfb8 it lt
-0000009c <f\+0x9c> 2000 movlt r0, #0
-0000009e <f\+0x9e> 4348 muls r0, r1
-000000a0 <f\+0xa0> bfb8 it lt
-000000a2 <f\+0xa2> 2000 movlt r0, #0
-000000a4 <f\+0xa4> 4348 muls r0, r1
+00000094 <main\+0x94> bd10 pop {r4, pc}
+00000096 <main\+0x96> f... f... bl 0000000. <f.*>
+0000009a <main\+0x9a> bfb8 it lt
+0000009c <main\+0x9c> 2000 movlt r0, #0
+0000009e <main\+0x9e> 4348 muls r0, r1
+000000a0 <main\+0xa0> bfb8 it lt
+000000a2 <main\+0xa2> 2000 movlt r0, #0
+000000a4 <main\+0xa4> 4348 muls r0, r1
diff --git a/binutils/gas/testsuite/gas/arm/bl-local-v4t.d b/binutils/gas/testsuite/gas/arm/bl-local-v4t.d
index 767d9ce..959f6b2 100644
--- a/binutils/gas/testsuite/gas/arm/bl-local-v4t.d
+++ b/binutils/gas/testsuite/gas/arm/bl-local-v4t.d
@@ -7,13 +7,13 @@
.*: +file format .*arm.*
Disassembly of section .text:
0+00 <[^>]*> f7ff fffe bl 00+18 <[^>]*> 0: R_ARM_THM_CALL foo2
-0+1c <[^>]*> d004 beq.n 00+28 <[^>]*>
-0+1e <[^>]*> e003 b.n 00+28 <[^>]*>
-0+20 <[^>]*> f000 f808 bl 00+34 <[^>]*>
-0+24 <[^>]*> f000 f802 bl 00+2c <[^>]*>
-0+28 <[^>]*> 46c0 nop ; \(mov r8, r8\)
-0+2a <[^>]*> 46c0 nop ; \(mov r8, r8\)
-0+2c <[^>]*> 46c0 nop ; \(mov r8, r8\)
+0+04 <[^>]*> d004 beq.n 00+10 <[^>]*>
+0+06 <[^>]*> e003 b.n 00+10 <[^>]*>
+0+08 <[^>]*> f000 f808 bl 00+1c <[^>]*>
+0+0c <[^>]*> f000 f802 bl 00+14 <[^>]*>
+0+10 <[^>]*> 46c0 nop ; \(mov r8, r8\)
+0+12 <[^>]*> 46c0 nop ; \(mov r8, r8\)
+0+14 <[^>]*> 46c0 nop ; \(mov r8, r8\)
...
-0+30 <[^>]*> e1a00000 nop ; \(mov r0, r0\)
-0+34 <[^>]*> e1a00000 nop ; \(mov r0, r0\)
+0+18 <[^>]*> e1a00000 nop ; \(mov r0, r0\)
+0+1c <[^>]*> e1a00000 nop ; \(mov r0, r0\)
diff --git a/binutils/gas/testsuite/gas/arm/blx-local.d b/binutils/gas/testsuite/gas/arm/blx-local.d
index 5aae7ba..2f9a90d 100644
--- a/binutils/gas/testsuite/gas/arm/blx-local.d
+++ b/binutils/gas/testsuite/gas/arm/blx-local.d
@@ -23,7 +23,7 @@
0+2c <[^>]*> 0afffffc beq 00000024 <fooundefthumb>
0+30 <[^>]*> eafffffb b 00000024 <fooundefthumb>
0+34 <[^>]*> 0bfffffe bleq 00000020 <foo> 34: R_ARM_JUMP24 foo
-0+58 <[^>]*> 0afffffe beq 00000020 <foo> 38: R_ARM_JUMP24 foo
-0+5c <[^>]*> eafffffe b 00000020 <foo> 3c: R_ARM_JUMP24 foo
-0+60 <[^>]*> e1a00000 nop ; \(mov r0, r0\)
-0+64 <[^>]*> e1a00000 nop ; \(mov r0, r0\)
+0+38 <[^>]*> 0afffffe beq 00000020 <foo> 38: R_ARM_JUMP24 foo
+0+3c <[^>]*> eafffffe b 00000020 <foo> 3c: R_ARM_JUMP24 foo
+0+40 <[^>]*> e1a00000 nop ; \(mov r0, r0\)
+0+44 <[^>]*> e1a00000 nop ; \(mov r0, r0\)
diff --git a/binutils/gas/testsuite/gas/arm/branch-reloc.d b/binutils/gas/testsuite/gas/arm/branch-reloc.d
new file mode 100644
index 0000000..6ba322e
--- /dev/null
+++ b/binutils/gas/testsuite/gas/arm/branch-reloc.d
@@ -0,0 +1,89 @@
+#name: Inter-section branch relocations
+#This test is only valid on ELF based ports.
+#not-target: *-*-*coff *-*-pe *-*-wince *-*-*aout* *-*-netbsd *-*-riscix*
+#as: -march=armv5t
+#objdump: -rd
+#stderr: branch-reloc.l
+
+# Test the generation of relocation for inter-section branches
+
+.*: +file format.*arm.*
+
+
+Disassembly of section .text:
+
+00000000 <arm_glob_sym1-0x4>:
+ 0: e1a00000 nop ; \(mov r0, r0\)
+
+00000004 <arm_glob_sym1>:
+ 4: ebfffffe bl 46 <thumb_glob_sym1>
+ 4: R_ARM_CALL thumb_glob_sym1
+ 8: ebfffffe bl 100 <thumb_glob_sym2>
+ 8: R_ARM_CALL thumb_glob_sym2
+ c: fa00000c blx 44 <thumb_sym1>
+ 10: ebfffffe bl 4 <arm_glob_sym1>
+ 10: R_ARM_CALL arm_glob_sym1
+ 14: ebfffffe bl 13c <arm_glob_sym2>
+ 14: R_ARM_CALL arm_glob_sym2
+ 18: eb000007 bl 3c <arm_sym1>
+ 1c: fafffffe blx 46 <thumb_glob_sym1>
+ 1c: R_ARM_CALL thumb_glob_sym1
+ 20: fafffffe blx 100 <thumb_glob_sym2>
+ 20: R_ARM_CALL thumb_glob_sym2
+ 24: fa000006 blx 44 <thumb_sym1>
+ 28: fafffffe blx 4 <arm_glob_sym1>
+ 28: R_ARM_CALL arm_glob_sym1
+ 2c: fafffffe blx 13c <arm_glob_sym2>
+ 2c: R_ARM_CALL arm_glob_sym2
+ 30: eb000001 bl 3c <arm_sym1>
+ 34: e1a00000 nop ; \(mov r0, r0\)
+ 38: e12fff1e bx lr
+
+0000003c <arm_sym1>:
+ 3c: e1a00000 nop ; \(mov r0, r0\)
+ 40: e12fff1e bx lr
+
+00000044 <thumb_sym1>:
+ 44: 4770 bx lr
+
+00000046 <thumb_glob_sym1>:
+ 46: 4770 bx lr
+
+Disassembly of section foo:
+
+00000000 <thumb_glob_sym2-0x100>:
+ ...
+
+00000100 <thumb_glob_sym2>:
+ 100: f7ff fffe bl 4 <thumb_glob_sym2-0xfc>
+ 100: R_ARM_THM_CALL arm_glob_sym1
+ 104: f7ff fffe bl 13c <arm_glob_sym2>
+ 104: R_ARM_THM_CALL arm_glob_sym2
+ 108: f000 e816 blx 138 <arm_sym2>
+ 10c: f7ff fffe bl 46 <thumb_glob_sym2-0xba>
+ 10c: R_ARM_THM_CALL thumb_glob_sym1
+ 110: f7ff fffe bl 100 <thumb_glob_sym2>
+ 110: R_ARM_THM_CALL thumb_glob_sym2
+ 114: f000 f80e bl 134 <thumb_sym2>
+ 118: f7ff effe blx 4 <thumb_glob_sym2-0xfc>
+ 118: R_ARM_THM_CALL arm_glob_sym1
+ 11c: f7ff effe blx 13c <arm_glob_sym2>
+ 11c: R_ARM_THM_CALL arm_glob_sym2
+ 120: f000 e80a blx 138 <arm_sym2>
+ 124: f7ff effe blx 46 <thumb_glob_sym2-0xba>
+ 124: R_ARM_THM_CALL thumb_glob_sym1
+ 128: f7ff effe blx 100 <thumb_glob_sym2>
+ 128: R_ARM_THM_CALL thumb_glob_sym2
+ 12c: f000 f802 bl 134 <thumb_sym2>
+ 130: 46c0 nop ; \(mov r8, r8\)
+ 132: 4770 bx lr
+
+00000134 <thumb_sym2>:
+ 134: 46c0 nop ; \(mov r8, r8\)
+ 136: 4770 bx lr
+
+00000138 <arm_sym2>:
+ 138: e12fff1e bx lr
+
+0000013c <arm_glob_sym2>:
+ 13c: e12fff1e bx lr
diff --git a/binutils/gas/testsuite/gas/arm/branch-reloc.l b/binutils/gas/testsuite/gas/arm/branch-reloc.l
new file mode 100644
index 0000000..293cfe0
--- /dev/null
+++ b/binutils/gas/testsuite/gas/arm/branch-reloc.l
@@ -0,0 +1,3 @@
+[^:]*: Assembler messages:
+[^:]*:[0-9]*: Warning: blx to 'arm_sym1' an ARM ISA state function changed to bl
+[^:]*:[0-9]*: Warning: blx to Thumb func 'thumb_sym2' from Thumb ISA state changed to bl
\ No newline at end of file
diff --git a/binutils/gas/testsuite/gas/arm/branch-reloc.s b/binutils/gas/testsuite/gas/arm/branch-reloc.s
new file mode 100644
index 0000000..b01146e
--- /dev/null
+++ b/binutils/gas/testsuite/gas/arm/branch-reloc.s
@@ -0,0 +1,87 @@
+@ Check that non-local branches with and without mode switching
+@ produce the right relocations with appropriate in-place addends.
+
+ .syntax unified
+
+ .text
+ .arm
+ .global arm_glob_sym1
+ .global arm_glob_sym2
+ .global thumb_glob_sym1
+ .global thumb_glob_sym2
+ nop
+ .type arm_glob_sym1, %function
+arm_glob_sym1:
+ bl thumb_glob_sym1
+ bl thumb_glob_sym2
+ bl thumb_sym1
+ bl arm_glob_sym1
+ bl arm_glob_sym2
+ bl arm_sym1
+ blx thumb_glob_sym1
+ blx thumb_glob_sym2
+ blx thumb_sym1
+ blx arm_glob_sym1
+ blx arm_glob_sym2
+ blx arm_sym1
+ nop
+ bx lr
+
+ .type arm_sym1, %function
+arm_sym1:
+ nop
+ bx lr
+
+ .thumb
+ .thumb_func
+ .type thumb_sym1, %function
+thumb_sym1:
+ bx lr
+
+ .type thumb_glob_sym1, %function
+ .thumb_func
+ .thumb
+thumb_glob_sym1:
+ bx lr
+
+ .section foo,"ax"
+
+@ Add some space to avoid confusing objdump output: as we are
+@ producing a relocatable file, objdump may match an address to
+@ the wrong symbol (as symbols in different sections may have the same
+@ address in the object file).
+ .space 0x100
+
+ .type thumb_glob_sym2, %function
+ .thumb_func
+ .thumb
+thumb_glob_sym2:
+ bl arm_glob_sym1
+ bl arm_glob_sym2
+ bl arm_sym2
+ bl thumb_glob_sym1
+ bl thumb_glob_sym2
+ bl thumb_sym2
+ blx arm_glob_sym1
+ blx arm_glob_sym2
+ blx arm_sym2
+ blx thumb_glob_sym1
+ blx thumb_glob_sym2
+ blx thumb_sym2
+ nop
+ bx lr
+
+ .type thumb_sym2, %function
+thumb_sym2:
+ nop
+ bx lr
+
+ .arm
+ .type arm_sym2, %function
+arm_sym2:
+ bx lr
+
+ .global arm_glob_sym2
+ .type arm_glob_sym2, %function
+arm_glob_sym2:
+ bx lr
diff --git a/binutils/gas/testsuite/gas/arm/thumb-w-good.d b/binutils/gas/testsuite/gas/arm/thumb-w-good.d
index 645a951..d41493f 100644
--- a/binutils/gas/testsuite/gas/arm/thumb-w-good.d
+++ b/binutils/gas/testsuite/gas/arm/thumb-w-good.d
@@ -6,4 +6,4 @@
Disassembly of section .text:
00000000 <.text> f7ff fffe bl 00000000 <foo>
-00000004 <foo\+0x4> f3ef 8000 mrs r0, CPSR
+00000004 <.text\+0x4> f3ef 8000 mrs r0, CPSR
diff --git a/binutils/gas/testsuite/gas/i386/intelpic.d b/binutils/gas/testsuite/gas/i386/intelpic.d
index 4a689ec..d78894a 100644
--- a/binutils/gas/testsuite/gas/i386/intelpic.d
+++ b/binutils/gas/testsuite/gas/i386/intelpic.d
@@ -6,11 +6,22 @@
Disassembly of section .text:
-0+000 <gs_foo>:
- 0: c3 [ ]*ret
+0+ <gs_foo>:
+[ ]*[a-f0-9]+: c3 ret
-0+001 <bar>:
- 1: 8d 83 00 00 00 00 [ ]*lea 0x0\(%ebx\),%eax
- 7: 8b 83 00 00 00 00 [ ]*mov 0x0\(%ebx\),%eax
- d: 90 [ ]*nop
-[ ]*...
+0+1 <bar>:
+[ ]*[a-f0-9]+: 8d 83 14 00 00 00 lea 0x14\(%ebx\),%eax
+[ ]*[a-f0-9]+: 8b 83 00 00 00 00 mov 0x0\(%ebx\),%eax
+[ ]*[a-f0-9]+: ff 24 85 0d 00 00 00 jmp \*0xd\(,%eax,4\)
+[ ]*[a-f0-9]+: 8d 83 14 00 00 00 lea 0x14\(%ebx\),%eax
+[ ]*[a-f0-9]+: ff 24 85 0d 10 00 00 jmp \*0x100d\(,%eax,4\)
+[ ]*[a-f0-9]+: ff 24 85 28 10 00 00 jmp \*0x1028\(,%eax,4\)
+[ ]*[a-f0-9]+: 90 nop
+
+0+29 <L11>:
+[ ]*[a-f0-9]+: ff 24 85 29 10 00 00 jmp \*0x1029\(,%eax,4\)
+[ ]*[a-f0-9]+: ff 24 85 37 10 00 00 jmp \*0x1037\(,%eax,4\)
+
+0+37 <L12>:
+[ ]*[a-f0-9]+: 90 nop
+#pass
diff --git a/binutils/gas/testsuite/gas/i386/intelpic.s b/binutils/gas/testsuite/gas/i386/intelpic.s
index 2e75864..b8db43d 100644
--- a/binutils/gas/testsuite/gas/i386/intelpic.s
+++ b/binutils/gas/testsuite/gas/i386/intelpic.s
@@ -7,5 +7,17 @@
bar:
lea eax, .LC0@GOTOFF[ebx]
mov eax, DWORD PTR gs_foo@GOT[ebx]
- nop
-.p2align 4,0
+
+.L11:
+ jmp DWORD PTR[ .L11 + eax * 4 ]
+.LC0:
+ lea eax, DWORD PTR[ .LC0@GOTOFF + ebx ]
+ jmp DWORD PTR[ .L11 + eax * 4 + 0x1000 ]
+ jmp DWORD PTR[ .L12 + eax * 4 + 0x1000 ]
+.L12:
+ nop
+L11:
+ jmp DWORD PTR[ L11 + eax * 4 + 0x1000 ]
+ jmp DWORD PTR[ L12 + eax * 4 + 0x1000 ]
+L12:
+ nop
diff --git a/binutils/gas/testsuite/gas/pe/pe.exp b/binutils/gas/testsuite/gas/pe/pe.exp
index 87e2a3e..aadf972 100755
--- a/binutils/gas/testsuite/gas/pe/pe.exp
+++ b/binutils/gas/testsuite/gas/pe/pe.exp
@@ -32,3 +32,6 @@
run_dump_test "aligncomm-b"
run_dump_test "aligncomm-c"
run_dump_test "aligncomm-d"
+
+run_dump_test "section-align-1"
+run_dump_test "section-align-3"
diff --git a/binutils/gas/testsuite/gas/pe/section-align-1.d b/binutils/gas/testsuite/gas/pe/section-align-1.d
new file mode 100644
index 0000000..908bc37
--- /dev/null
+++ b/binutils/gas/testsuite/gas/pe/section-align-1.d
@@ -0,0 +1,29 @@
+#objdump: -h
+#name: section alignment
+
+# Test that alignment works in .section directives.
+
+.*: .*
+
+Sections:
+Idx Name *Size *VMA *LMA *File off *Algn
+ 0 \.text 0*0000000 0*0000000 0*0000000 0*0000000 2\*\*[24]
+.*
+ 1 \.data 0*0000000 0*0000000 0*0000000 0*0000000 2\*\*[24]
+.*
+ 2 \.bss 0*0000000 0*0000000 0*0000000 0*0000000 2\*\*[24]
+.*
+ 3 \.none 0*0000000 0*0000000 0*0000000 0*0000000 2\*\*0
+.*
+ 4 \.zero 0*0000000 0*0000000 0*0000000 0*0000000 2\*\*0
+.*
+ 5 \.one 0*0000001 0*0000000 0*0000000 0*00001a4 2\*\*0
+.*
+ 6 \.two 0*0000002 0*0000000 0*0000000 0*00001a5 2\*\*0
+.*
+ 7 \.three 0*0000003 0*0000000 0*0000000 0*00001a7 2\*\*0
+.*
+ 8 \.four 0*0000004 0*0000000 0*0000000 0*00001aa 2\*\*0
+.*
+ 9 \.five 0*0000005 0*0000000 0*0000000 0*00001ae 2\*\*0
+.*
diff --git a/binutils/gas/testsuite/gas/pe/section-align-1.s b/binutils/gas/testsuite/gas/pe/section-align-1.s
new file mode 100644
index 0000000..de1f9b5
--- /dev/null
+++ b/binutils/gas/testsuite/gas/pe/section-align-1.s
@@ -0,0 +1,15 @@
+
+ .section .none,"dr0"
+ .section .zero,"dr0"
+ .ascii ""
+ .section .one,"dr0"
+ .ascii "1"
+ .section .two,"dr0"
+ .ascii "12"
+ .section .three,"dr0"
+ .ascii "123"
+ .section .four,"dr0"
+ .ascii "1234"
+ .section .five,"dr0"
+ .ascii "12345"
+ .end
diff --git a/binutils/gas/testsuite/gas/pe/section-align-3.d b/binutils/gas/testsuite/gas/pe/section-align-3.d
new file mode 100644
index 0000000..5a8c2ad
--- /dev/null
+++ b/binutils/gas/testsuite/gas/pe/section-align-3.d
@@ -0,0 +1,39 @@
+#objdump: -h
+#name: section alignment
+
+# Test that alignment works in .section directives.
+
+.*: .*
+
+Sections:
+Idx Name *Size *VMA *LMA *File off *Algn
+ 0 \.text 0*0000000 0*0000000 0*0000000 0*0000000 2\*\*[24]
+.*
+ 1 \.data 0*0000000 0*0000000 0*0000000 0*0000000 2\*\*[24]
+.*
+ 2 \.bss 0*0000000 0*0000000 0*0000000 0*0000000 2\*\*[24]
+.*
+ 3 \.none 0*0000000 0*0000000 0*0000000 0*0000000 2\*\*3
+.*
+ 4 \.zero 0*0000000 0*0000000 0*0000000 0*0000000 2\*\*3
+.*
+ 5 \.one 0*0000008 0*0000000 0*0000000 0*000026c 2\*\*3
+.*
+ 6 \.two 0*0000008 0*0000000 0*0000000 0*0000274 2\*\*3
+.*
+ 7 \.three 0*0000008 0*0000000 0*0000000 0*000027c 2\*\*3
+.*
+ 8 \.four 0*0000008 0*0000000 0*0000000 0*0000284 2\*\*3
+.*
+ 9 \.five 0*0000008 0*0000000 0*0000000 0*000028c 2\*\*3
+.*
+ 10 \.six 0*0000008 0*0000000 0*0000000 0*0000294 2\*\*3
+.*
+ 11 \.seven 0*0000008 0*0000000 0*0000000 0*000029c 2\*\*3
+.*
+ 12 \.eight 0*0000008 0*0000000 0*0000000 0*00002a4 2\*\*3
+.*
+ 13 \.nine 0*0000010 0*0000000 0*0000000 0*00002ac 2\*\*3
+.*
+ 14 \.ten 0*0000010 0*0000000 0*0000000 0*00002bc 2\*\*3
+.*
diff --git a/binutils/gas/testsuite/gas/pe/section-align-3.s b/binutils/gas/testsuite/gas/pe/section-align-3.s
new file mode 100644
index 0000000..fc7b9ea
--- /dev/null
+++ b/binutils/gas/testsuite/gas/pe/section-align-3.s
@@ -0,0 +1,25 @@
+
+ .section .none,"dr3"
+ .section .zero,"dr3"
+ .ascii ""
+ .section .one,"dr3"
+ .ascii "1"
+ .section .two,"dr3"
+ .ascii "12"
+ .section .three,"dr3"
+ .ascii "123"
+ .section .four,"dr3"
+ .ascii "1234"
+ .section .five,"dr3"
+ .ascii "12345"
+ .section .six,"dr3"
+ .ascii "123456"
+ .section .seven,"dr3"
+ .ascii "1234567"
+ .section .eight,"dr3"
+ .ascii "12345678"
+ .section .nine,"dr3"
+ .ascii "123456789"
+ .section .ten,"dr3"
+ .ascii "1234567890"
+ .end
diff --git a/binutils/gas/testsuite/gas/ppc/aix.exp b/binutils/gas/testsuite/gas/ppc/aix.exp
index bed4237..917f0d9 100644
--- a/binutils/gas/testsuite/gas/ppc/aix.exp
+++ b/binutils/gas/testsuite/gas/ppc/aix.exp
@@ -65,4 +65,6 @@
run_dump_test "textalign-xcoff-002"
run_dump_test "xcoff-branch-1-32"
run_dump_test "xcoff-branch-1-64"
+
+ run_list_test "xcoff-ref-1"
}
diff --git a/binutils/gas/testsuite/gas/ppc/xcoff-ref-1.l b/binutils/gas/testsuite/gas/ppc/xcoff-ref-1.l
new file mode 100644
index 0000000..2120a20
--- /dev/null
+++ b/binutils/gas/testsuite/gas/ppc/xcoff-ref-1.l
@@ -0,0 +1,5 @@
+.*: Assembler messages:
+.*:1: Error: .ref outside .csect
+.*:3: Error: junk at end of line, first unrecognized character is `1'
+.*:4: Error: missing symbol name
+.*:5: Error: missing symbol name
diff --git a/binutils/gas/testsuite/gas/ppc/xcoff-ref-1.s b/binutils/gas/testsuite/gas/ppc/xcoff-ref-1.s
new file mode 100644
index 0000000..74e264f
--- /dev/null
+++ b/binutils/gas/testsuite/gas/ppc/xcoff-ref-1.s
@@ -0,0 +1,6 @@
+ .ref foo
+ .csect bar[rw]
+ .ref 1234
+ .ref a,
+ .ref ,
+ .ref
diff --git a/binutils/gas/write.c b/binutils/gas/write.c
index 8adb87b..4c63a26 100644
--- a/binutils/gas/write.c
+++ b/binutils/gas/write.c
@@ -150,7 +150,8 @@
symbolS *sub_symbol, /* X_op_symbol. */
offsetT offset, /* X_add_number. */
int pcrel, /* TRUE if PC-relative relocation. */
- RELOC_ENUM r_type ATTRIBUTE_UNUSED /* Relocation type. */)
+ RELOC_ENUM r_type ATTRIBUTE_UNUSED /* Relocation type. */,
+ int at_beginning) /* Add to the start of the list? */
{
fixS *fixP;
@@ -194,10 +195,6 @@
as_where (&fixP->fx_file, &fixP->fx_line);
- /* Usually, we want relocs sorted numerically, but while
- comparing to older versions of gas that have relocs
- reverse sorted, it is convenient to have this compile
- time option. xoxorich. */
{
fixS **seg_fix_rootP = (frags_chained
@@ -207,22 +204,22 @@
? &seg_info (now_seg)->fix_tail
: &frchain_now->fix_tail);
-#ifdef REVERSE_SORT_RELOCS
-
- fixP->fx_next = *seg_fix_rootP;
- *seg_fix_rootP = fixP;
-
-#else /* REVERSE_SORT_RELOCS */
-
- fixP->fx_next = NULL;
-
- if (*seg_fix_tailP)
- (*seg_fix_tailP)->fx_next = fixP;
+ if (at_beginning)
+ {
+ fixP->fx_next = *seg_fix_rootP;
+ *seg_fix_rootP = fixP;
+ if (fixP->fx_next == NULL)
+ *seg_fix_tailP = fixP;
+ }
else
- *seg_fix_rootP = fixP;
- *seg_fix_tailP = fixP;
-
-#endif /* REVERSE_SORT_RELOCS */
+ {
+ fixP->fx_next = NULL;
+ if (*seg_fix_tailP)
+ (*seg_fix_tailP)->fx_next = fixP;
+ else
+ *seg_fix_rootP = fixP;
+ *seg_fix_tailP = fixP;
+ }
}
return fixP;
@@ -240,7 +237,7 @@
RELOC_ENUM r_type /* Relocation type. */)
{
return fix_new_internal (frag, where, size, add_symbol,
- (symbolS *) NULL, offset, pcrel, r_type);
+ (symbolS *) NULL, offset, pcrel, r_type, FALSE);
}
/* Create a fixup for an expression. Currently we only support fixups
@@ -308,7 +305,19 @@
break;
}
- return fix_new_internal (frag, where, size, add, sub, off, pcrel, r_type);
+ return fix_new_internal (frag, where, size, add, sub, off, pcrel,
+ r_type, FALSE);
+}
+
+/* Create a fixup at the beginning of FRAG. The arguments are the same
+ as for fix_new, except that WHERE is implicitly 0. */
+
+fixS *
+fix_at_start (fragS *frag, int size, symbolS *add_symbol,
+ offsetT offset, int pcrel, RELOC_ENUM r_type)
+{
+ return fix_new_internal (frag, 0, size, add_symbol,
+ (symbolS *) NULL, offset, pcrel, r_type, TRUE);
}
/* Generic function to determine whether a fixup requires a relocation. */
diff --git a/binutils/gas/write.h b/binutils/gas/write.h
index d5fe679..8303f1b 100644
--- a/binutils/gas/write.h
+++ b/binutils/gas/write.h
@@ -176,6 +176,9 @@
extern fixS *fix_new
(fragS * frag, int where, int size, symbolS * add_symbol,
offsetT offset, int pcrel, bfd_reloc_code_real_type r_type);
+extern fixS *fix_at_start
+ (fragS * frag, int size, symbolS * add_symbol,
+ offsetT offset, int pcrel, bfd_reloc_code_real_type r_type);
extern fixS *fix_new_exp
(fragS * frag, int where, int size, expressionS *exp, int pcrel,
bfd_reloc_code_real_type r_type);
diff --git a/binutils/gold/ChangeLog b/binutils/gold/ChangeLog
index cb32549..a6d5041 100644
--- a/binutils/gold/ChangeLog
+++ b/binutils/gold/ChangeLog
@@ -1,3 +1,128 @@
+2010-01-13 Ian Lance Taylor <iant@google.com>
+
+ Bring over from mainline:
+ 2010-01-04 Ian Lance Taylor <iant@google.com>
+
+ PR 10980
+ * options.h (class General_options): Add --add-needed and
+ --copy-dt-needed-entries. Tweak --as-needed help entry.
+ * object.cc (Input_objects::check_dynamic_dependencies): Give an
+ error if --copy-dt-needed-entries aka --add-needed is used and
+ would cause a change in behaviour.
+
+2010-01-13 Ian Lance Taylor <iant@google.com>
+
+ Bring over from mainline:
+ 2010-01-07 Ian Lance Taylor <iant@google.com>
+
+ PR 11042
+ * copy-relocs.cc (Copy_relocs::emit_copy_reloc): Mark the dynamic
+ object as needed.
+
+2010-01-13 Ian Lance Taylor <iant@google.com>
+
+ Bring over from mainline:
+ 2010-01-08 Ian Lance Taylor <iant@google.com>
+
+ PR 11072
+ * layout.cc (Layout::include_section): Remove .gnu_debuglink
+ sections.
+
+2009-11-06 Ian Lance Taylor <iant@google.com>
+
+ Bring over from mainline:
+ 2009-10-16 Doug Kwan <dougkwan@google.com>
+
+ * dynobj.cc (Versions::Versions): Initialize version_script_.
+ Only insert base version symbol definition for a shared object
+ if version script defines any version versions.
+ (Versions::define_base_version): New method definition.
+ (Versions::add_def): Check that base version is not needed.
+ (Versions::add_need): Define base version lazily.
+ * dynobj.h (Versions::define_base_version): New method declaration.
+ (Versions::needs_base_version_): New data member declaration.
+
+2009-11-06 Ian Lance Taylor <iant@google.com>
+
+ PR 10876
+ * defstd.cc (in_segment): Set only_if_ref true for "end".
+
+2009-11-05 Ian Lance Taylor <iant@google.com>
+
+ PR 10910
+ * output.cc (Output_segment::add_output_section): Add missing
+ return statement.
+
+2009-11-04 Ian Lance Taylor <iant@google.com>
+
+ PR 10880
+ * object.h (class Object): Add is_needed and set_is_needed
+ methods. Add is_needed_ field. Make bool fields into bitfields.
+ * symtab.cc (Symbol_table::set_dynsym_indexes): If a symbol is
+ defined in a dynamic object and referenced by a regular object,
+ set is_needed for the dynamic object.
+ * layout.cc (Layout::finish_dynamic_section): Don't add DT_NEEDED
+ if the file is marked with as_needed and it is not needed.
+
+2009-11-04 Ian Lance Taylor <iant@google.com>
+
+ PR 10887
+ * arm.cc (Target_arm::do_finalize_sections): Don't add dynamic
+ tags if data is discarded by linker script.
+ * i386.cc (Target_i386::do_finalize_sections): Likewise.
+ * powerpc.cc (Target_powerpc::do_finalize_sections): Likewise.
+ * sparc.cc (Target_sparc::do_finalize_sections): Likewise.
+ * x86_64.cc (Target_x86_64::do_finalize_sections): Likewise.
+
+2009-11-04 Ian Lance Taylor <iant@google.com>
+
+ * layout.cc (Layout::get_output_section): Add is_interp and
+ is_dynamic_linker_section parameters. Change all callers.
+ (Layout::choose_output_section): Likewise.
+ (Layout::make_output_section): Likewise.
+ (Layout::add_output_section_data): Add is_dynamic_linker_section
+ parameter. Change all callers.
+ * layout.h (class Layout): Update declarations.
+ * output.h (class Output_section): Add is_interp, set_is_interp,
+ is_dynamic_linker_section, set_is_dynamic_linker_section methods.
+ Add is_interp_, is_dynamic_linker_section_ fields. Change
+ generate_code_fills_at_write_ to a bitfield.
+ * output.cc (Output_section::Output_sections): Initialize new
+ fields.
+ (Output_segment::add_output_section): Add do_sort parameter.
+ Change all callers.
+
+2009-11-03 Ian Lance Taylor <iant@google.com>
+
+ PR 10860
+ * options.h (class General_options): Add --warn-common.
+ * resolve.cc (Symbol_table::resolve): Handle --warn-common when
+ merging two common symbols.
+ (Symbol_table::should_override): Handle --warn-common when merging
+ a common symbol with a defined symbol. Use report_resolve_problem
+ for multiple definitions.
+ (Symbol_table::report_resolve_problem): New function.
+ * symtab.h (class Symbol_table): Declare report_resolve_problem.
+
+2009-11-03 Ian Lance Taylor <iant@google.com>
+
+ PR 10893
+ * defstd.cc (in_section): Add entries for __rel_iplt_start,
+ __rel_iplt_end, __rela_iplt_start, __rela_iplt_end, and __stack.
+
+2009-11-03 Ian Lance Taylor <iant@google.com>
+
+ PR 10895
+ * po/Make-in ($(srcdir)/$(PACKAGE).pot): Pass -C and
+ --msgid-bugs-address.
+ (install-pdf): New target.
+ (install-data_yes): Look up one directory to find mkinstalldirs.
+
+2009-10-16 Doug Kwan <dougkwan@google.com>
+
+ * output.cc (Output_segment::set_section_list_address): Cast
+ expressions to unsigned long long type to avoid format warnings.
+
2009-10-15 Ian Lance Taylor <iant@google.com>
* script.cc (Script_options::add_symbol_assignment): Always add a
diff --git a/binutils/gold/Makefile.in b/binutils/gold/Makefile.in
index d4c689b..cd3729b 100644
--- a/binutils/gold/Makefile.in
+++ b/binutils/gold/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11 from Makefile.am.
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
@@ -665,7 +665,7 @@
# (which will cause the Makefiles to be regenerated when you run `make');
# (2) otherwise, pass the desired values on the `make' command line.
$(RECURSIVE_TARGETS):
- @failcom='exit 1'; \
+ @fail= failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \
case $$f in \
*=* | --[!k]*);; \
@@ -690,7 +690,7 @@
fi; test -z "$$fail"
$(RECURSIVE_CLEAN_TARGETS):
- @failcom='exit 1'; \
+ @fail= failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \
case $$f in \
*=* | --[!k]*);; \
@@ -946,7 +946,8 @@
fi; \
done
-test -n "$(am__skip_mode_fix)" \
- || find "$(distdir)" -type d ! -perm -777 -exec chmod a+rwx {} \; -o \
+ || find "$(distdir)" -type d ! -perm -755 \
+ -exec chmod u+rwx,go+rx {} \; -o \
! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
! -type d ! -perm -400 -exec chmod a+r {} \; -o \
! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
@@ -990,17 +991,17 @@
distcheck: dist
case '$(DIST_ARCHIVES)' in \
*.tar.gz*) \
- GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\
+ GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\
*.tar.bz2*) \
- bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\
+ bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
*.tar.lzma*) \
- unlzma -c $(distdir).tar.lzma | $(am__untar) ;;\
+ lzma -dc $(distdir).tar.lzma | $(am__untar) ;;\
*.tar.xz*) \
xz -dc $(distdir).tar.xz | $(am__untar) ;;\
*.tar.Z*) \
uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
*.shar.gz*) \
- GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\
+ GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\
*.zip*) \
unzip $(distdir).zip ;;\
esac
diff --git a/binutils/gold/aclocal.m4 b/binutils/gold/aclocal.m4
index db48652..ded4d60 100644
--- a/binutils/gold/aclocal.m4
+++ b/binutils/gold/aclocal.m4
@@ -1,4 +1,4 @@
-# generated automatically by aclocal 1.11 -*- Autoconf -*-
+# generated automatically by aclocal 1.11.1 -*- Autoconf -*-
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
# 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
@@ -34,7 +34,7 @@
[am__api_version='1.11'
dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
dnl require some minimum version. Point them to the right macro.
-m4_if([$1], [1.11], [],
+m4_if([$1], [1.11.1], [],
[AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
])
@@ -50,7 +50,7 @@
# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
-[AM_AUTOMAKE_VERSION([1.11])dnl
+[AM_AUTOMAKE_VERSION([1.11.1])dnl
m4_ifndef([AC_AUTOCONF_VERSION],
[m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
diff --git a/binutils/gold/arm.cc b/binutils/gold/arm.cc
index dd5f67d..c1615f0 100644
--- a/binutils/gold/arm.cc
+++ b/binutils/gold/arm.cc
@@ -1075,7 +1075,7 @@
os = layout->add_output_section_data(".got", elfcpp::SHT_PROGBITS,
(elfcpp::SHF_ALLOC
| elfcpp::SHF_WRITE),
- this->got_);
+ this->got_, false);
os->set_is_relro();
// The old GNU linker creates a .got.plt section. We just
@@ -1086,7 +1086,7 @@
os = layout->add_output_section_data(".got", elfcpp::SHT_PROGBITS,
(elfcpp::SHF_ALLOC
| elfcpp::SHF_WRITE),
- this->got_plt_);
+ this->got_plt_, false);
os->set_is_relro();
// The first three entries are reserved.
@@ -1114,7 +1114,7 @@
gold_assert(layout != NULL);
this->rel_dyn_ = new Reloc_section(parameters->options().combreloc());
layout->add_output_section_data(".rel.dyn", elfcpp::SHT_REL,
- elfcpp::SHF_ALLOC, this->rel_dyn_);
+ elfcpp::SHF_ALLOC, this->rel_dyn_, true);
}
return this->rel_dyn_;
}
@@ -1186,7 +1186,7 @@
{
this->rel_ = new Reloc_section(false);
layout->add_output_section_data(".rel.plt", elfcpp::SHT_REL,
- elfcpp::SHF_ALLOC, this->rel_);
+ elfcpp::SHF_ALLOC, this->rel_, true);
}
template<bool big_endian>
@@ -1348,7 +1348,7 @@
layout->add_output_section_data(".plt", elfcpp::SHT_PROGBITS,
(elfcpp::SHF_ALLOC
| elfcpp::SHF_EXECINSTR),
- this->plt_);
+ this->plt_, false);
}
this->plt_->add_entry(gsym);
}
@@ -1831,10 +1831,12 @@
Output_data_dynamic* const odyn = layout->dynamic_data();
if (odyn != NULL)
{
- if (this->got_plt_ != NULL)
+ if (this->got_plt_ != NULL
+ && this->got_plt_->output_section() != NULL)
odyn->add_section_address(elfcpp::DT_PLTGOT, this->got_plt_);
- if (this->plt_ != NULL)
+ if (this->plt_ != NULL
+ && this->plt_->output_section() != NULL)
{
const Output_data* od = this->plt_->rel_plt();
odyn->add_section_size(elfcpp::DT_PLTRELSZ, od);
@@ -1842,7 +1844,8 @@
odyn->add_constant(elfcpp::DT_PLTREL, elfcpp::DT_REL);
}
- if (this->rel_dyn_ != NULL)
+ if (this->rel_dyn_ != NULL
+ && this->rel_dyn_->output_section() != NULL)
{
const Output_data* od = this->rel_dyn_;
odyn->add_section_address(elfcpp::DT_REL, od);
@@ -1879,7 +1882,8 @@
== NULL);
Output_segment* exidx_segment =
layout->make_output_segment(elfcpp::PT_ARM_EXIDX, elfcpp::PF_R);
- exidx_segment->add_output_section(exidx_section, elfcpp::PF_R);
+ exidx_segment->add_output_section(exidx_section, elfcpp::PF_R,
+ false);
}
}
}
diff --git a/binutils/gold/common.cc b/binutils/gold/common.cc
index f90ae40..4bc6a51 100644
--- a/binutils/gold/common.cc
+++ b/binutils/gold/common.cc
@@ -239,7 +239,7 @@
Output_data_space *poc = new Output_data_space(addralign, ds_name);
Output_section *os = layout->add_output_section_data(name,
elfcpp::SHT_NOBITS,
- flags, poc);
+ flags, poc, false);
if (os != NULL)
{
if (commons_section_type == COMMONS_SMALL)
diff --git a/binutils/gold/copy-relocs.cc b/binutils/gold/copy-relocs.cc
index 6ef72d3..919b03f 100644
--- a/binutils/gold/copy-relocs.cc
+++ b/binutils/gold/copy-relocs.cc
@@ -1,6 +1,6 @@
// copy-relocs.cc -- handle COPY relocations for gold.
-// Copyright 2006, 2007, 2008 Free Software Foundation, Inc.
+// Copyright 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
// Written by Ian Lance Taylor <iant@google.com>.
// This file is part of gold.
@@ -132,13 +132,16 @@
while ((value & (addralign - 1)) != 0)
addralign >>= 1;
+ // Mark the dynamic object as needed for the --as-needed option.
+ sym->object()->set_is_needed();
+
if (this->dynbss_ == NULL)
{
this->dynbss_ = new Output_data_space(addralign, "** dynbss");
layout->add_output_section_data(".bss",
elfcpp::SHT_NOBITS,
elfcpp::SHF_ALLOC | elfcpp::SHF_WRITE,
- this->dynbss_);
+ this->dynbss_, false);
}
Output_data_space* dynbss = this->dynbss_;
diff --git a/binutils/gold/defstd.cc b/binutils/gold/defstd.cc
index 984f3e1..e09d814 100644
--- a/binutils/gold/defstd.cc
+++ b/binutils/gold/defstd.cc
@@ -107,7 +107,67 @@
0, // nonvis
true, // offset_is_from_end
true // only_if_ref
- }
+ },
+ {
+ "__rel_iplt_start", // name
+ ".rel.iplt", // output_section
+ 0, // value
+ 0, // size
+ elfcpp::STT_NOTYPE, // type
+ elfcpp::STB_GLOBAL, // binding
+ elfcpp::STV_HIDDEN, // visibility
+ 0, // nonvis
+ false, // offset_is_from_end
+ true // only_if_ref
+ },
+ {
+ "__rel_iplt_end", // name
+ ".rel.iplt", // output_section
+ 0, // value
+ 0, // size
+ elfcpp::STT_NOTYPE, // type
+ elfcpp::STB_GLOBAL, // binding
+ elfcpp::STV_HIDDEN, // visibility
+ 0, // nonvis
+ true, // offset_is_from_end
+ true // only_if_ref
+ },
+ {
+ "__rela_iplt_start", // name
+ ".rela.iplt", // output_section
+ 0, // value
+ 0, // size
+ elfcpp::STT_NOTYPE, // type
+ elfcpp::STB_GLOBAL, // binding
+ elfcpp::STV_HIDDEN, // visibility
+ 0, // nonvis
+ false, // offset_is_from_end
+ true // only_if_ref
+ },
+ {
+ "__rela_iplt_end", // name
+ ".rela.iplt", // output_section
+ 0, // value
+ 0, // size
+ elfcpp::STT_NOTYPE, // type
+ elfcpp::STB_GLOBAL, // binding
+ elfcpp::STV_HIDDEN, // visibility
+ 0, // nonvis
+ true, // offset_is_from_end
+ true // only_if_ref
+ },
+ {
+ "__stack", // name
+ ".stack", // output_section
+ 0, // value
+ 0, // size
+ elfcpp::STT_NOTYPE, // type
+ elfcpp::STB_GLOBAL, // binding
+ elfcpp::STV_DEFAULT, // visibility
+ 0, // nonvis
+ false, // offset_is_from_end
+ true // only_if_ref
+ },
};
const int in_section_count = sizeof in_section / sizeof in_section[0];
@@ -238,7 +298,7 @@
elfcpp::STV_DEFAULT, // visibility
0, // nonvis
Symbol::SEGMENT_END, // offset_from_base
- false // only_if_ref
+ true // only_if_ref
}
};
diff --git a/binutils/gold/dynobj.cc b/binutils/gold/dynobj.cc
index b14d06d..dec6f3d 100644
--- a/binutils/gold/dynobj.cc
+++ b/binutils/gold/dynobj.cc
@@ -1300,27 +1300,18 @@
Versions::Versions(const Version_script_info& version_script,
Stringpool* dynpool)
: defs_(), needs_(), version_table_(),
- is_finalized_(false), version_script_(version_script)
+ is_finalized_(false), version_script_(version_script),
+ needs_base_version_(parameters->options().shared())
{
- // We always need a base version, so define that first. Nothing
- // explicitly declares itself as part of base, so it doesn't need to
- // be in version_table_.
- if (parameters->options().shared())
- {
- const char* name = parameters->options().soname();
- if (name == NULL)
- name = parameters->options().output_file_name();
- name = dynpool->add(name, false, NULL);
- Verdef* vdbase = new Verdef(name, std::vector<std::string>(),
- true, false, true);
- this->defs_.push_back(vdbase);
- }
-
if (!this->version_script_.empty())
{
// Parse the version script, and insert each declared version into
// defs_ and version_table_.
std::vector<std::string> versions = this->version_script_.get_versions();
+
+ if (this->needs_base_version_ && !versions.empty())
+ this->define_base_version(dynpool);
+
for (size_t k = 0; k < versions.size(); ++k)
{
Stringpool::Key version_key;
@@ -1350,6 +1341,28 @@
delete *p;
}
+// Define the base version of a shared library. The base version definition
+// must be the first entry in defs_. We insert it lazily so that defs_ is
+// empty if no symbol versioning is used. Then layout can just drop the
+// version sections.
+
+void
+Versions::define_base_version(Stringpool* dynpool)
+{
+ // If we do any versioning at all, we always need a base version, so
+ // define that first. Nothing explicitly declares itself as part of base,
+ // so it doesn't need to be in version_table_.
+ gold_assert(this->defs_.empty());
+ const char* name = parameters->options().soname();
+ if (name == NULL)
+ name = parameters->options().output_file_name();
+ name = dynpool->add(name, false, NULL);
+ Verdef* vdbase = new Verdef(name, std::vector<std::string>(),
+ true, false, true);
+ this->defs_.push_back(vdbase);
+ this->needs_base_version_ = false;
+}
+
// Return the dynamic object which a symbol refers to.
Dynobj*
@@ -1421,7 +1434,10 @@
if (parameters->options().shared())
gold_error(_("symbol %s has undefined version %s"),
sym->demangled_name().c_str(), version);
-
+ else
+ // We only insert a base version for shared library.
+ gold_assert(!this->needs_base_version_);
+
// When creating a regular executable, automatically define
// a new version.
Verdef* vd = new Verdef(version, std::vector<std::string>(),
@@ -1468,6 +1484,10 @@
if (vn == NULL)
{
+ // Create base version definition lazily for shared library.
+ if (this->needs_base_version_)
+ this->define_base_version(dynpool);
+
// We have a new filename.
vn = new Verneed(filename);
this->needs_.push_back(vn);
diff --git a/binutils/gold/dynobj.h b/binutils/gold/dynobj.h
index 2768c83..66d2bff 100644
--- a/binutils/gold/dynobj.h
+++ b/binutils/gold/dynobj.h
@@ -584,6 +584,10 @@
version_index(const Symbol_table*, const Stringpool*,
const Symbol* sym) const;
+ // Define the base version of a shared library.
+ void
+ define_base_version(Stringpool* dynpool);
+
// We keep a hash table mapping canonicalized name/version pairs to
// a version base.
typedef std::pair<Stringpool::Key, Stringpool::Key> Key;
@@ -616,6 +620,9 @@
bool is_finalized_;
// Contents of --version-script, if passed, or NULL.
const Version_script_info& version_script_;
+ // Whether we need to insert a base version. This is only used for
+ // shared libaries and is cleared when the base version is defined.
+ bool needs_base_version_;
};
} // End namespace gold.
diff --git a/binutils/gold/i386.cc b/binutils/gold/i386.cc
index 445a7ac..f21cf74 100644
--- a/binutils/gold/i386.cc
+++ b/binutils/gold/i386.cc
@@ -464,7 +464,7 @@
os = layout->add_output_section_data(".got", elfcpp::SHT_PROGBITS,
(elfcpp::SHF_ALLOC
| elfcpp::SHF_WRITE),
- this->got_);
+ this->got_, false);
os->set_is_relro();
// The old GNU linker creates a .got.plt section. We just
@@ -475,7 +475,7 @@
os = layout->add_output_section_data(".got", elfcpp::SHT_PROGBITS,
(elfcpp::SHF_ALLOC
| elfcpp::SHF_WRITE),
- this->got_plt_);
+ this->got_plt_, false);
os->set_is_relro();
// The first three entries are reserved.
@@ -503,7 +503,7 @@
gold_assert(layout != NULL);
this->rel_dyn_ = new Reloc_section(parameters->options().combreloc());
layout->add_output_section_data(".rel.dyn", elfcpp::SHT_REL,
- elfcpp::SHF_ALLOC, this->rel_dyn_);
+ elfcpp::SHF_ALLOC, this->rel_dyn_, true);
}
return this->rel_dyn_;
}
@@ -578,7 +578,7 @@
{
this->rel_ = new Reloc_section(false);
layout->add_output_section_data(".rel.plt", elfcpp::SHT_REL,
- elfcpp::SHF_ALLOC, this->rel_);
+ elfcpp::SHF_ALLOC, this->rel_, true);
}
void
@@ -763,7 +763,7 @@
layout->add_output_section_data(".plt", elfcpp::SHT_PROGBITS,
(elfcpp::SHF_ALLOC
| elfcpp::SHF_EXECINSTR),
- this->plt_);
+ this->plt_, false);
}
this->plt_->add_entry(gsym);
@@ -1569,10 +1569,12 @@
Output_data_dynamic* const odyn = layout->dynamic_data();
if (odyn != NULL)
{
- if (this->got_plt_ != NULL)
+ if (this->got_plt_ != NULL
+ && this->got_plt_->output_section() != NULL)
odyn->add_section_address(elfcpp::DT_PLTGOT, this->got_plt_);
- if (this->plt_ != NULL)
+ if (this->plt_ != NULL
+ && this->plt_->output_section() != NULL)
{
const Output_data* od = this->plt_->rel_plt();
odyn->add_section_size(elfcpp::DT_PLTRELSZ, od);
@@ -1580,7 +1582,8 @@
odyn->add_constant(elfcpp::DT_PLTREL, elfcpp::DT_REL);
}
- if (this->rel_dyn_ != NULL)
+ if (this->rel_dyn_ != NULL
+ && this->rel_dyn_->output_section() != NULL)
{
const Output_data* od = this->rel_dyn_;
odyn->add_section_address(elfcpp::DT_REL, od);
diff --git a/binutils/gold/layout.cc b/binutils/gold/layout.cc
index 028703a..f9f378e 100644
--- a/binutils/gold/layout.cc
+++ b/binutils/gold/layout.cc
@@ -1,6 +1,6 @@
// layout.cc -- lay out output file sections for gold
-// Copyright 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
+// Copyright 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
// Written by Ian Lance Taylor <iant@google.com>.
// This file is part of gold.
@@ -349,6 +349,11 @@
if (is_prefix_of(".gnu.lto_", name))
return false;
}
+ // The GNU linker strips .gnu_debuglink sections, so we do too.
+ // This is a feature used to keep debugging information in
+ // separate files.
+ if (strcmp(name, ".gnu_debuglink") == 0)
+ return false;
return true;
default:
@@ -388,11 +393,14 @@
// Return the output section to use for section NAME with type TYPE
// and section flags FLAGS. NAME must be canonicalized in the string
-// pool, and NAME_KEY is the key.
+// pool, and NAME_KEY is the key. IS_INTERP is true if this is the
+// .interp section. IS_DYNAMIC_LINKER_SECTION is true if this section
+// is used by the dynamic linker.
Output_section*
Layout::get_output_section(const char* name, Stringpool::Key name_key,
- elfcpp::Elf_Word type, elfcpp::Elf_Xword flags)
+ elfcpp::Elf_Word type, elfcpp::Elf_Xword flags,
+ bool is_interp, bool is_dynamic_linker_section)
{
elfcpp::Elf_Xword lookup_flags = flags;
@@ -441,7 +449,8 @@
}
if (os == NULL)
- os = this->make_output_section(name, type, flags);
+ os = this->make_output_section(name, type, flags, is_interp,
+ is_dynamic_linker_section);
ins.first->second = os;
return os;
}
@@ -451,13 +460,16 @@
// RELOBJ, with type TYPE and flags FLAGS. RELOBJ may be NULL for a
// linker created section. IS_INPUT_SECTION is true if we are
// choosing an output section for an input section found in a input
-// file. This will return NULL if the input section should be
-// discarded.
+// file. IS_INTERP is true if this is the .interp section.
+// IS_DYNAMIC_LINKER_SECTION is true if this section is used by the
+// dynamic linker. This will return NULL if the input section should
+// be discarded.
Output_section*
Layout::choose_output_section(const Relobj* relobj, const char* name,
elfcpp::Elf_Word type, elfcpp::Elf_Xword flags,
- bool is_input_section)
+ bool is_input_section, bool is_interp,
+ bool is_dynamic_linker_section)
{
// We should not see any input sections after we have attached
// sections to segments.
@@ -505,7 +517,9 @@
name = this->namepool_.add(name, false, NULL);
- Output_section* os = this->make_output_section(name, type, flags);
+ Output_section* os =
+ this->make_output_section(name, type, flags, is_interp,
+ is_dynamic_linker_section);
os->set_found_in_sections_clause();
*output_section_slot = os;
return os;
@@ -528,7 +542,8 @@
// Find or make the output section. The output section is selected
// based on the section name, type, and flags.
- return this->get_output_section(name, name_key, type, flags);
+ return this->get_output_section(name, name_key, type, flags, is_interp,
+ is_dynamic_linker_section);
}
// Return the output section to use for input section SHNDX, with name
@@ -561,12 +576,13 @@
{
name = this->namepool_.add(name, true, NULL);
os = this->make_output_section(name, shdr.get_sh_type(),
- shdr.get_sh_flags());
+ shdr.get_sh_flags(), false, false);
}
else
{
os = this->choose_output_section(object, name, shdr.get_sh_type(),
- shdr.get_sh_flags(), true);
+ shdr.get_sh_flags(), true, false,
+ false);
if (os == NULL)
return NULL;
}
@@ -617,7 +633,7 @@
Output_section* os = this->choose_output_section(object, name.c_str(),
sh_type,
shdr.get_sh_flags(),
- false);
+ false, false, false);
os->set_should_link_to_symtab();
os->set_info_section(data_section);
@@ -664,7 +680,8 @@
group_section_name = this->namepool_.add(group_section_name, true, NULL);
Output_section* os = this->make_output_section(group_section_name,
elfcpp::SHT_GROUP,
- shdr.get_sh_flags());
+ shdr.get_sh_flags(),
+ false, false);
// We need to find a symbol with the signature in the symbol table.
// If we don't find one now, we need to look again later.
@@ -718,7 +735,7 @@
name,
elfcpp::SHT_PROGBITS,
elfcpp::SHF_ALLOC,
- false);
+ false, false, false);
if (os == NULL)
return NULL;
@@ -734,7 +751,7 @@
".eh_frame_hdr",
elfcpp::SHT_PROGBITS,
elfcpp::SHF_ALLOC,
- false);
+ false, false, false);
if (hdr_os != NULL)
{
@@ -749,7 +766,7 @@
Output_segment* hdr_oseg;
hdr_oseg = this->make_output_segment(elfcpp::PT_GNU_EH_FRAME,
elfcpp::PF_R);
- hdr_oseg->add_output_section(hdr_os, elfcpp::PF_R);
+ hdr_oseg->add_output_section(hdr_os, elfcpp::PF_R, false);
}
this->eh_frame_data_->set_eh_frame_hdr(hdr_posd);
@@ -800,10 +817,12 @@
Output_section*
Layout::add_output_section_data(const char* name, elfcpp::Elf_Word type,
elfcpp::Elf_Xword flags,
- Output_section_data* posd)
+ Output_section_data* posd,
+ bool is_dynamic_linker_section)
{
Output_section* os = this->choose_output_section(NULL, name, type, flags,
- false);
+ false, false,
+ is_dynamic_linker_section);
if (os != NULL)
os->add_output_section_data(posd);
return os;
@@ -838,11 +857,14 @@
}
// Make a new Output_section, and attach it to segments as
-// appropriate.
+// appropriate. IS_INTERP is true if this is the .interp section.
+// IS_DYNAMIC_LINKER_SECTION is true if this section is used by the
+// dynamic linker.
Output_section*
Layout::make_output_section(const char* name, elfcpp::Elf_Word type,
- elfcpp::Elf_Xword flags)
+ elfcpp::Elf_Xword flags, bool is_interp,
+ bool is_dynamic_linker_section)
{
Output_section* os;
if ((flags & elfcpp::SHF_ALLOC) == 0
@@ -850,7 +872,6 @@
&& is_compressible_debug_section(name))
os = new Output_compressed_section(¶meters->options(), name, type,
flags);
-
else if ((flags & elfcpp::SHF_ALLOC) == 0
&& parameters->options().strip_debug_non_line()
&& strcmp(".debug_abbrev", name) == 0)
@@ -876,6 +897,11 @@
os = target->make_output_section(name, type, flags);
}
+ if (is_interp)
+ os->set_is_interp();
+ if (is_dynamic_linker_section)
+ os->set_is_dynamic_linker_section();
+
parameters->target().new_output_section(os);
this->section_list_.push_back(os);
@@ -971,6 +997,8 @@
elfcpp::Elf_Word seg_flags = Layout::section_flags_to_segment(flags);
+ bool sort_sections = !this->script_options_->saw_sections_clause();
+
// In general the only thing we really care about for PT_LOAD
// segments is whether or not they are writable, so that is how we
// search for them. Large data sections also go into their own
@@ -998,7 +1026,7 @@
if (os->is_large_data_section() && !(*p)->is_large_data_segment())
continue;
- (*p)->add_output_section(os, seg_flags);
+ (*p)->add_output_section(os, seg_flags, sort_sections);
break;
}
@@ -1008,7 +1036,7 @@
seg_flags);
if (os->is_large_data_section())
oseg->set_is_large_data_segment();
- oseg->add_output_section(os, seg_flags);
+ oseg->add_output_section(os, seg_flags, sort_sections);
}
// If we see a loadable SHT_NOTE section, we create a PT_NOTE
@@ -1024,7 +1052,7 @@
&& (((*p)->flags() & elfcpp::PF_W)
== (seg_flags & elfcpp::PF_W)))
{
- (*p)->add_output_section(os, seg_flags);
+ (*p)->add_output_section(os, seg_flags, false);
break;
}
}
@@ -1033,7 +1061,7 @@
{
Output_segment* oseg = this->make_output_segment(elfcpp::PT_NOTE,
seg_flags);
- oseg->add_output_section(os, seg_flags);
+ oseg->add_output_section(os, seg_flags, false);
}
}
@@ -1043,7 +1071,7 @@
{
if (this->tls_segment_ == NULL)
this->make_output_segment(elfcpp::PT_TLS, seg_flags);
- this->tls_segment_->add_output_section(os, seg_flags);
+ this->tls_segment_->add_output_section(os, seg_flags, false);
}
// If -z relro is in effect, and we see a relro section, we create a
@@ -1053,7 +1081,7 @@
gold_assert(seg_flags == (elfcpp::PF_R | elfcpp::PF_W));
if (this->relro_segment_ == NULL)
this->make_output_segment(elfcpp::PT_GNU_RELRO, seg_flags);
- this->relro_segment_->add_output_section(os, seg_flags);
+ this->relro_segment_->add_output_section(os, seg_flags, false);
}
}
@@ -1064,7 +1092,8 @@
{
name = this->namepool_.add(name, false, NULL);
Output_section* os = this->make_output_section(name, elfcpp::SHT_PROGBITS,
- elfcpp::SHF_ALLOC);
+ elfcpp::SHF_ALLOC, false,
+ false);
os->set_found_in_sections_clause();
return os;
}
@@ -1134,7 +1163,7 @@
elfcpp::SHT_DYNAMIC,
(elfcpp::SHF_ALLOC
| elfcpp::SHF_WRITE),
- false);
+ false, false, true);
this->dynamic_section_->set_is_relro();
symtab->define_in_output_data("_DYNAMIC", NULL, this->dynamic_section_, 0, 0,
@@ -1732,7 +1761,8 @@
flags = elfcpp::SHF_ALLOC;
Output_section* os = this->choose_output_section(NULL, section_name,
elfcpp::SHT_NOTE,
- flags, false);
+ flags, false, false,
+ false);
if (os == NULL)
return NULL;
@@ -1811,7 +1841,8 @@
elfcpp::Elf_Xword flags = 0;
if (is_stack_executable)
flags |= elfcpp::SHF_EXECINSTR;
- this->make_output_section(name, elfcpp::SHT_PROGBITS, flags);
+ this->make_output_section(name, elfcpp::SHT_PROGBITS, flags, false,
+ false);
}
else
{
@@ -1971,7 +2002,8 @@
this->namepool_.add(".gnu_incremental_inputs", false, NULL);
Output_section* inputs_os =
this->make_output_section(incremental_inputs_name,
- elfcpp::SHT_GNU_INCREMENTAL_INPUTS, 0);
+ elfcpp::SHT_GNU_INCREMENTAL_INPUTS, 0,
+ false, false);
Output_section_data* posd =
this->incremental_inputs_->create_incremental_inputs_section_data();
inputs_os->add_output_section_data(posd);
@@ -1981,7 +2013,7 @@
this->namepool_.add(".gnu_incremental_strtab", false, NULL);
Output_section* strtab_os = this->make_output_section(incremental_strtab_name,
elfcpp::SHT_STRTAB,
- 0);
+ 0, false, false);
Output_data_strtab* strtab_data =
new Output_data_strtab(this->incremental_inputs_->get_stringpool());
strtab_os->add_output_section_data(strtab_data);
@@ -2593,7 +2625,7 @@
const char* symtab_name = this->namepool_.add(".symtab", false, NULL);
Output_section* osymtab = this->make_output_section(symtab_name,
elfcpp::SHT_SYMTAB,
- 0);
+ 0, false, false);
this->symtab_section_ = osymtab;
Output_section_data* pos = new Output_data_fixed_space(off - startoff,
@@ -2614,7 +2646,8 @@
false, NULL);
Output_section* osymtab_xindex =
this->make_output_section(symtab_xindex_name,
- elfcpp::SHT_SYMTAB_SHNDX, 0);
+ elfcpp::SHT_SYMTAB_SHNDX, 0, false,
+ false);
size_t symcount = (off - startoff) / symsize;
this->symtab_xindex_ = new Output_symtab_xindex(symcount);
@@ -2636,7 +2669,7 @@
const char* strtab_name = this->namepool_.add(".strtab", false, NULL);
Output_section* ostrtab = this->make_output_section(strtab_name,
elfcpp::SHT_STRTAB,
- 0);
+ 0, false, false);
Output_section_data* pstr = new Output_data_strtab(&this->sympool_);
ostrtab->add_output_section_data(pstr);
@@ -2663,7 +2696,8 @@
const char* name = this->namepool_.add(".shstrtab", false, NULL);
- Output_section* os = this->make_output_section(name, elfcpp::SHT_STRTAB, 0);
+ Output_section* os = this->make_output_section(name, elfcpp::SHT_STRTAB, 0,
+ false, false);
// We can't write out this section until we've set all the section
// names, and we don't set the names of compressed output sections
@@ -2776,7 +2810,7 @@
Output_section* dynsym = this->choose_output_section(NULL, ".dynsym",
elfcpp::SHT_DYNSYM,
elfcpp::SHF_ALLOC,
- false);
+ false, false, true);
Output_section_data* odata = new Output_data_fixed_space(index * symsize,
align,
@@ -2806,7 +2840,7 @@
this->choose_output_section(NULL, ".dynsym_shndx",
elfcpp::SHT_SYMTAB_SHNDX,
elfcpp::SHF_ALLOC,
- false);
+ false, false, true);
this->dynsym_xindex_ = new Output_symtab_xindex(index);
@@ -2829,7 +2863,7 @@
Output_section* dynstr = this->choose_output_section(NULL, ".dynstr",
elfcpp::SHT_STRTAB,
elfcpp::SHF_ALLOC,
- false);
+ false, false, true);
Output_section_data* strdata = new Output_data_strtab(&this->dynpool_);
dynstr->add_output_section_data(strdata);
@@ -2855,7 +2889,7 @@
Output_section* hashsec = this->choose_output_section(NULL, ".hash",
elfcpp::SHT_HASH,
elfcpp::SHF_ALLOC,
- false);
+ false, false, true);
Output_section_data* hashdata = new Output_data_const_buffer(phash,
hashlen,
@@ -2880,7 +2914,7 @@
Output_section* hashsec = this->choose_output_section(NULL, ".gnu.hash",
elfcpp::SHT_GNU_HASH,
elfcpp::SHF_ALLOC,
- false);
+ false, false, true);
Output_section_data* hashdata = new Output_data_const_buffer(phash,
hashlen,
@@ -2978,7 +3012,7 @@
Output_section* vsec = this->choose_output_section(NULL, ".gnu.version",
elfcpp::SHT_GNU_versym,
elfcpp::SHF_ALLOC,
- false);
+ false, false, true);
unsigned char* vbuf;
unsigned int vsize;
@@ -3003,7 +3037,7 @@
vdsec= this->choose_output_section(NULL, ".gnu.version_d",
elfcpp::SHT_GNU_verdef,
elfcpp::SHF_ALLOC,
- false);
+ false, false, true);
unsigned char* vdbuf;
unsigned int vdsize;
@@ -3028,7 +3062,7 @@
vnsec = this->choose_output_section(NULL, ".gnu.version_r",
elfcpp::SHT_GNU_verneed,
elfcpp::SHF_ALLOC,
- false);
+ false, false, true);
unsigned char* vnbuf;
unsigned int vnsize;
@@ -3068,14 +3102,14 @@
Output_section* osec = this->choose_output_section(NULL, ".interp",
elfcpp::SHT_PROGBITS,
elfcpp::SHF_ALLOC,
- false);
+ false, true, true);
osec->add_output_section_data(odata);
if (!this->script_options_->saw_phdrs_clause())
{
Output_segment* oseg = this->make_output_segment(elfcpp::PT_INTERP,
elfcpp::PF_R);
- oseg->add_output_section(osec, elfcpp::PF_R);
+ oseg->add_output_section(osec, elfcpp::PF_R, false);
}
}
@@ -3091,7 +3125,8 @@
(elfcpp::PF_R
| elfcpp::PF_W));
oseg->add_output_section(this->dynamic_section_,
- elfcpp::PF_R | elfcpp::PF_W);
+ elfcpp::PF_R | elfcpp::PF_W,
+ false);
}
Output_data_dynamic* const odyn = this->dynamic_data_;
@@ -3100,7 +3135,14 @@
p != input_objects->dynobj_end();
++p)
{
- // FIXME: Handle --as-needed.
+ if (!(*p)->is_needed()
+ && (*p)->input_file()->options().as_needed())
+ {
+ // This dynamic object was linked with --as-needed, but it
+ // is not needed.
+ continue;
+ }
+
odyn->add_string(elfcpp::DT_NEEDED, (*p)->soname());
}
diff --git a/binutils/gold/layout.h b/binutils/gold/layout.h
index 675c658..71afa96 100644
--- a/binutils/gold/layout.h
+++ b/binutils/gold/layout.h
@@ -360,11 +360,13 @@
layout_gnu_stack(bool seen_gnu_stack, uint64_t gnu_stack_flags);
// Add an Output_section_data to the layout. This is used for
- // special sections like the GOT section.
+ // special sections like the GOT section. IS_DYNAMIC_LINKER_SECTION
+ // is true for sections which are used by the dynamic linker, such
+ // as dynamic reloc sections.
Output_section*
add_output_section_data(const char* name, elfcpp::Elf_Word type,
elfcpp::Elf_Xword flags,
- Output_section_data*);
+ Output_section_data*, bool is_dynamic_linker_section);
// Create dynamic sections if necessary.
void
@@ -745,18 +747,21 @@
// Return the output section for NAME, TYPE and FLAGS.
Output_section*
get_output_section(const char* name, Stringpool::Key name_key,
- elfcpp::Elf_Word type, elfcpp::Elf_Xword flags);
+ elfcpp::Elf_Word type, elfcpp::Elf_Xword flags,
+ bool is_interp, bool is_dynamic_linker_section);
// Choose the output section for NAME in RELOBJ.
Output_section*
choose_output_section(const Relobj* relobj, const char* name,
elfcpp::Elf_Word type, elfcpp::Elf_Xword flags,
- bool is_input_section);
+ bool is_input_section, bool is_interp,
+ bool is_dynamic_linker_section);
// Create a new Output_section.
Output_section*
make_output_section(const char* name, elfcpp::Elf_Word type,
- elfcpp::Elf_Xword flags);
+ elfcpp::Elf_Xword flags, bool is_interp,
+ bool is_dynamic_linker_section);
// Attach a section to a segment.
void
diff --git a/binutils/gold/object.cc b/binutils/gold/object.cc
index e9826b0..a824c76 100644
--- a/binutils/gold/object.cc
+++ b/binutils/gold/object.cc
@@ -1,6 +1,6 @@
// object.cc -- support for an object file for linking in gold
-// Copyright 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
+// Copyright 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
// Written by Ian Lance Taylor <iant@google.com>.
// This file is part of gold.
@@ -2134,15 +2134,15 @@
void
Input_objects::check_dynamic_dependencies() const
{
+ bool issued_copy_dt_needed_error = false;
for (Dynobj_list::const_iterator p = this->dynobj_list_.begin();
p != this->dynobj_list_.end();
++p)
{
const Dynobj::Needed& needed((*p)->needed());
bool found_all = true;
- for (Dynobj::Needed::const_iterator pneeded = needed.begin();
- pneeded != needed.end();
- ++pneeded)
+ Dynobj::Needed::const_iterator pneeded;
+ for (pneeded = needed.begin(); pneeded != needed.end(); ++pneeded)
{
if (this->sonames_.find(*pneeded) == this->sonames_.end())
{
@@ -2151,6 +2151,25 @@
}
}
(*p)->set_has_unknown_needed_entries(!found_all);
+
+ // --copy-dt-needed-entries aka --add-needed is a GNU ld option
+ // --that gold does not support. However, they cause no trouble
+ // --unless there is a DT_NEEDED entry that we don't know about;
+ // --warn only in that case.
+ if (!found_all
+ && !issued_copy_dt_needed_error
+ && (parameters->options().copy_dt_needed_entries()
+ || parameters->options().add_needed()))
+ {
+ const char* optname;
+ if (parameters->options().copy_dt_needed_entries())
+ optname = "--copy-dt-needed-entries";
+ else
+ optname = "--add-needed";
+ gold_error(_("%s is not supported but is required for %s in %s"),
+ optname, (*pneeded).c_str(), (*p)->name().c_str());
+ issued_copy_dt_needed_error = true;
+ }
}
}
diff --git a/binutils/gold/object.h b/binutils/gold/object.h
index ff96682..4e18190 100644
--- a/binutils/gold/object.h
+++ b/binutils/gold/object.h
@@ -195,8 +195,8 @@
Object(const std::string& name, Input_file* input_file, bool is_dynamic,
off_t offset = 0)
: name_(name), input_file_(input_file), offset_(offset), shnum_(-1U),
- is_dynamic_(is_dynamic), uses_split_stack_(false),
- has_no_split_stack_(false), xindex_(NULL), no_export_(false)
+ is_dynamic_(is_dynamic), is_needed_(false), uses_split_stack_(false),
+ has_no_split_stack_(false), no_export_(false), xindex_(NULL)
{ input_file->file().add_object(); }
virtual ~Object()
@@ -217,6 +217,19 @@
is_dynamic() const
{ return this->is_dynamic_; }
+ // Return whether this object is needed--true if it is a dynamic
+ // object which defines some symbol referenced by a regular object.
+ // We keep the flag here rather than in Dynobj for convenience when
+ // setting it.
+ bool
+ is_needed() const
+ { return this->is_needed_; }
+
+ // Record that this object is needed.
+ void
+ set_is_needed()
+ { this->is_needed_ = true; }
+
// Return whether this object was compiled with -fsplit-stack.
bool
uses_split_stack() const
@@ -589,17 +602,21 @@
// Number of input sections.
unsigned int shnum_;
// Whether this is a dynamic object.
- bool is_dynamic_;
+ bool is_dynamic_ : 1;
+ // Whether this object is needed. This is only set for dynamic
+ // objects, and means that the object defined a symbol which was
+ // used by a reference from a regular object.
+ bool is_needed_ : 1;
// Whether this object was compiled with -fsplit-stack.
- bool uses_split_stack_;
+ bool uses_split_stack_ : 1;
// Whether this object contains any functions compiled with the
// no_split_stack attribute.
- bool has_no_split_stack_;
- // Many sections for objects with more than SHN_LORESERVE sections.
- Xindex* xindex_;
+ bool has_no_split_stack_ : 1;
// True if exclude this object from automatic symbol export.
// This is used only for archive objects.
- bool no_export_;
+ bool no_export_ : 1;
+ // Many sections for objects with more than SHN_LORESERVE sections.
+ Xindex* xindex_;
};
// A regular object (ET_REL). This is an abstract base class itself.
diff --git a/binutils/gold/options.h b/binutils/gold/options.h
index cbb45b5..1bf0069 100644
--- a/binutils/gold/options.h
+++ b/binutils/gold/options.h
@@ -1,6 +1,6 @@
// options.h -- handle command line options for gold -*- C++ -*-
-// Copyright 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
+// Copyright 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
// Written by Ian Lance Taylor <iant@google.com>.
// This file is part of gold.
@@ -580,13 +580,17 @@
// alphabetical order). For both, lowercase sorts before uppercase.
// The -z options come last.
+ DEFINE_bool(add_needed, options::TWO_DASHES, '\0', false,
+ N_("Not supported"),
+ N_("Do not copy DT_NEEDED tags from shared libraries"));
+
DEFINE_bool(allow_shlib_undefined, options::TWO_DASHES, '\0', false,
N_("Allow unresolved references in shared libraries"),
N_("Do not allow unresolved references in shared libraries"));
DEFINE_bool(as_needed, options::TWO_DASHES, '\0', false,
- N_("Only set DT_NEEDED for dynamic libs if used"),
- N_("Always DT_NEEDED for dynamic libs"));
+ N_("Only set DT_NEEDED for shared libraries if used"),
+ N_("Always DT_NEEDED for shared libraries"));
// This should really be an "enum", but it's too easy for folks to
// forget to update the list as they add new targets. So we just
@@ -627,6 +631,10 @@
{"none"});
#endif
+ DEFINE_bool(copy_dt_needed_entries, options::TWO_DASHES, '\0', false,
+ N_("Not supported"),
+ N_("Do not copy DT_NEEDED tags from shared libraries"));
+
DEFINE_bool(define_common, options::TWO_DASHES, 'd', false,
N_("Define common symbols"),
N_("Do not define common symbols"));
@@ -912,6 +920,10 @@
DEFINE_special(version_script, options::TWO_DASHES, '\0',
N_("Read version script"), N_("FILE"));
+ DEFINE_bool(warn_common, options::TWO_DASHES, '\0', false,
+ N_("Warn about duplicate common symbols"),
+ N_("Do not warn about duplicate common symbols (default)"));
+
DEFINE_bool(warn_search_mismatch, options::TWO_DASHES, '\0', true,
N_("Warn when skipping an incompatible library"),
N_("Don't warn when skipping an incompatible library"));
diff --git a/binutils/gold/output.cc b/binutils/gold/output.cc
index e2d7585..84f59ae 100644
--- a/binutils/gold/output.cc
+++ b/binutils/gold/output.cc
@@ -1800,13 +1800,15 @@
is_relro_local_(false),
is_small_section_(false),
is_large_section_(false),
+ is_interp_(false),
+ is_dynamic_linker_section_(false),
+ generate_code_fills_at_write_(false),
tls_offset_(0),
checkpoint_(NULL),
merge_section_map_(),
merge_section_by_properties_map_(),
relaxed_input_section_map_(),
- is_relaxed_input_section_map_valid_(true),
- generate_code_fills_at_write_(false)
+ is_relaxed_input_section_map_valid_(true)
{
// An unallocated section has no address. Forcing this means that
// we don't need special treatment for symbols defined in debug
@@ -3045,11 +3047,13 @@
void
Output_segment::add_output_section(Output_section* os,
- elfcpp::Elf_Word seg_flags)
+ elfcpp::Elf_Word seg_flags,
+ bool do_sort)
{
gold_assert((os->flags() & elfcpp::SHF_ALLOC) != 0);
gold_assert(!this->is_max_align_known_);
gold_assert(os->is_large_data_section() == this->is_large_data_segment());
+ gold_assert(this->type() == elfcpp::PT_LOAD || !do_sort);
// Update the segment flags.
this->flags_ |= seg_flags;
@@ -3060,19 +3064,12 @@
else
pdl = &this->output_data_;
- // So that PT_NOTE segments will work correctly, we need to ensure
- // that all SHT_NOTE sections are adjacent. This will normally
- // happen automatically, because all the SHT_NOTE input sections
- // will wind up in the same output section. However, it is possible
- // for multiple SHT_NOTE input sections to have different section
- // flags, and thus be in different output sections, but for the
- // different section flags to map into the same segment flags and
- // thus the same output segment.
-
// Note that while there may be many input sections in an output
// section, there are normally only a few output sections in an
- // output segment. This loop is expected to be fast.
+ // output segment. The loops below are expected to be fast.
+ // So that PT_NOTE segments will work correctly, we need to ensure
+ // that all SHT_NOTE sections are adjacent.
if (os->type() == elfcpp::SHT_NOTE && !pdl->empty())
{
Output_segment::Output_data_list::iterator p = pdl->end();
@@ -3094,8 +3091,8 @@
// case: we group the SHF_TLS/SHT_NOBITS sections right after the
// SHF_TLS/SHT_PROGBITS sections. This lets us set up PT_TLS
// correctly. SHF_TLS sections get added to both a PT_LOAD segment
- // and the PT_TLS segment -- we do this grouping only for the
- // PT_LOAD segment.
+ // and the PT_TLS segment; we do this grouping only for the PT_LOAD
+ // segment.
if (this->type_ != elfcpp::PT_TLS
&& (os->flags() & elfcpp::SHF_TLS) != 0)
{
@@ -3225,6 +3222,68 @@
gold_unreachable();
}
+ // We do some further output section sorting in order to make the
+ // generated program run more efficiently. We should only do this
+ // when not using a linker script, so it is controled by the DO_SORT
+ // parameter.
+ if (do_sort)
+ {
+ // FreeBSD requires the .interp section to be in the first page
+ // of the executable. That is a more efficient location anyhow
+ // for any OS, since it means that the kernel will have the data
+ // handy after it reads the program headers.
+ if (os->is_interp() && !pdl->empty())
+ {
+ pdl->insert(pdl->begin(), os);
+ return;
+ }
+
+ // Put loadable non-writable notes immediately after the .interp
+ // sections, so that the PT_NOTE segment is on the first page of
+ // the executable.
+ if (os->type() == elfcpp::SHT_NOTE
+ && (os->flags() & elfcpp::SHF_WRITE) == 0
+ && !pdl->empty())
+ {
+ Output_segment::Output_data_list::iterator p = pdl->begin();
+ if ((*p)->is_section() && (*p)->output_section()->is_interp())
+ ++p;
+ pdl->insert(p, os);
+ return;
+ }
+
+ // If this section is used by the dynamic linker, and it is not
+ // writable, then put it first, after the .interp section and
+ // any loadable notes. This makes it more likely that the
+ // dynamic linker will have to read less data from the disk.
+ if (os->is_dynamic_linker_section()
+ && !pdl->empty()
+ && (os->flags() & elfcpp::SHF_WRITE) == 0)
+ {
+ bool is_reloc = (os->type() == elfcpp::SHT_REL
+ || os->type() == elfcpp::SHT_RELA);
+ Output_segment::Output_data_list::iterator p = pdl->begin();
+ while (p != pdl->end()
+ && (*p)->is_section()
+ && ((*p)->output_section()->is_dynamic_linker_section()
+ || (*p)->output_section()->type() == elfcpp::SHT_NOTE))
+ {
+ // Put reloc sections after the other ones. Putting the
+ // dynamic reloc sections first confuses BFD, notably
+ // objcopy and strip.
+ if (!is_reloc
+ && ((*p)->output_section()->type() == elfcpp::SHT_REL
+ || (*p)->output_section()->type() == elfcpp::SHT_RELA))
+ break;
+ ++p;
+ }
+ pdl->insert(p, os);
+ return;
+ }
+ }
+
+ // If there were no constraints on the output section, just add it
+ // to the end of the list.
pdl->push_back(os);
}
@@ -3503,15 +3562,20 @@
else
{
Output_section* os = (*p)->output_section();
+
+ // Cast to unsigned long long to avoid format warnings.
+ unsigned long long previous_dot =
+ static_cast<unsigned long long>(addr + (off - startoff));
+ unsigned long long dot =
+ static_cast<unsigned long long>((*p)->address());
+
if (os == NULL)
gold_error(_("dot moves backward in linker script "
- "from 0x%llx to 0x%llx"),
- addr + (off - startoff), (*p)->address());
+ "from 0x%llx to 0x%llx"), previous_dot, dot);
else
gold_error(_("address of section '%s' moves backward "
"from 0x%llx to 0x%llx"),
- os->name(), addr + (off - startoff),
- (*p)->address());
+ os->name(), previous_dot, dot);
}
}
(*p)->set_file_offset(off);
diff --git a/binutils/gold/output.h b/binutils/gold/output.h
index bc10950..fa37433 100644
--- a/binutils/gold/output.h
+++ b/binutils/gold/output.h
@@ -2387,6 +2387,27 @@
is_large_data_section()
{ return this->is_large_section_ && this->type_ != elfcpp::SHT_NOBITS; }
+ // True if this is the .interp section which goes into the PT_INTERP
+ // segment.
+ bool
+ is_interp() const
+ { return this->is_interp_; }
+
+ // Record that this is the interp section.
+ void
+ set_is_interp()
+ { this->is_interp_ = true; }
+
+ // True if this is a section used by the dynamic linker.
+ bool
+ is_dynamic_linker_section() const
+ { return this->is_dynamic_linker_section_; }
+
+ // Record that this is a section used by the dynamic linker.
+ void
+ set_is_dynamic_linker_section()
+ { this->is_dynamic_linker_section_ = true; }
+
// Return whether this section should be written after all the input
// sections are complete.
bool
@@ -3327,6 +3348,13 @@
bool is_small_section_ : 1;
// True if this is a large section.
bool is_large_section_ : 1;
+ // True if this is the .interp section going into the PT_INTERP
+ // segment.
+ bool is_interp_ : 1;
+ // True if this is section is read by the dynamic linker.
+ bool is_dynamic_linker_section_ : 1;
+ // Whether code-fills are generated at write.
+ bool generate_code_fills_at_write_ : 1;
// For SHT_TLS sections, the offset of this section relative to the base
// of the TLS segment.
uint64_t tls_offset_;
@@ -3337,13 +3365,11 @@
// Map from merge section properties to merge_sections;
Merge_section_by_properties_map merge_section_by_properties_map_;
// Map from input sections to relaxed input sections. This is mutable
- // beacause it is udpated lazily. We may need to update it in a
+ // because it is updated lazily. We may need to update it in a
// const qualified method.
mutable Output_section_data_by_input_section_map relaxed_input_section_map_;
// Whether relaxed_input_section_map_ is valid.
mutable bool is_relaxed_input_section_map_valid_;
- // Whether code-fills are generated at write.
- bool generate_code_fills_at_write_;
};
// An output segment. PT_LOAD segments are built from collections of
@@ -3412,9 +3438,12 @@
uint64_t
maximum_alignment();
- // Add an Output_section to this segment.
+ // Add the Output_section OS to this segment. SEG_FLAGS is the
+ // segment flags to use. DO_SORT is true if we should sort the
+ // placement of the input section for more efficient generated code.
void
- add_output_section(Output_section* os, elfcpp::Elf_Word seg_flags);
+ add_output_section(Output_section* os, elfcpp::Elf_Word seg_flags,
+ bool do_sort);
// Remove an Output_section from this segment. It is an error if it
// is not present.
diff --git a/binutils/gold/po/Make-in b/binutils/gold/po/Make-in
index 88ce78f..d81fb4f 100644
--- a/binutils/gold/po/Make-in
+++ b/binutils/gold/po/Make-in
@@ -1,6 +1,6 @@
# Makefile for program source directory in GNU NLS utilities package.
# Copyright (C) 1995, 1996, 1997 by Ulrich Drepper <drepper@gnu.ai.mit.edu>
-# Copyright 2003, 2006 Free Software Foundation, Inc.
+# Copyright 2003, 2006, 2007, 2009 Free Software Foundation, Inc.
#
# This file may be copied and used freely without restrictions. It can
# be used in projects which are not available under the GNU Public License
@@ -88,7 +88,8 @@
$(srcdir)/$(PACKAGE).pot: $(POTFILES)
$(XGETTEXT) --default-domain=$(PACKAGE) --directory=$(top_srcdir) \
- --add-comments --keyword=_ --keyword=N_ \
+ --add-comments -C --keyword=_ --keyword=N_ \
+ --msgid-bugs-address=bug-binutils@gnu.org \
--files-from=$(srcdir)/POTFILES.in
rm -f $(srcdir)/$(PACKAGE).pot
mv $(PACKAGE).po $(srcdir)/$(PACKAGE).pot
@@ -112,13 +113,14 @@
install-exec:
install-info:
install-html:
+install-pdf:
install-data: install-data-@USE_NLS@
install-data-no: all
install-data-yes: all
if test -r $(MKINSTALLDIRS); then \
$(MKINSTALLDIRS) $(DESTDIR)$(datadir); \
else \
- $(top_srcdir)/mkinstalldirs $(DESTDIR)$(datadir); \
+ $(top_srcdir)/../mkinstalldirs $(DESTDIR)$(datadir); \
fi
@catalogs='$(CATALOGS)'; \
for cat in $$catalogs; do \
diff --git a/binutils/gold/po/POTFILES.in b/binutils/gold/po/POTFILES.in
index 4d6122c..651a01f 100644
--- a/binutils/gold/po/POTFILES.in
+++ b/binutils/gold/po/POTFILES.in
@@ -1,5 +1,6 @@
archive.cc
archive.h
+arm.cc
binary.cc
binary.h
common.cc
@@ -27,11 +28,17 @@
expression.cc
fileread.cc
fileread.h
+freebsd.h
+gc.cc
+gc.h
gold-threads.cc
gold-threads.h
gold.cc
gold.h
i386.cc
+icf.cc
+icf.h
+incremental.cc
layout.cc
layout.h
mapfile.cc
@@ -46,6 +53,8 @@
output.h
parameters.cc
parameters.h
+plugin.cc
+plugin.h
powerpc.cc
readsyms.cc
readsyms.h
@@ -68,6 +77,7 @@
target-reloc.h
target-select.cc
target-select.h
+target.cc
target.h
tls.h
token.h
diff --git a/binutils/gold/po/gold.pot b/binutils/gold/po/gold.pot
index 4ae7747..d58054a 100644
--- a/binutils/gold/po/gold.pot
+++ b/binutils/gold/po/gold.pot
@@ -7,8 +7,8 @@
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2008-09-09 17:16+0930\n"
+"Report-Msgid-Bugs-To: bug-binutils@gnu.org\n"
+"POT-Creation-Date: 2010-03-03 15:08+0100\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"
@@ -16,66 +16,160 @@
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
-#: archive.cc:107
+#: archive.cc:119
#, c-format
msgid "%s: no archive symbol table (run ranlib)"
msgstr ""
-#: archive.cc:189
+#: archive.cc:204
#, c-format
msgid "%s: bad archive symbol table names"
msgstr ""
-#: archive.cc:221
+#: archive.cc:236
#, c-format
msgid "%s: malformed archive header at %zu"
msgstr ""
-#: archive.cc:241
+#: archive.cc:256
#, c-format
msgid "%s: malformed archive header size at %zu"
msgstr ""
-#: archive.cc:252
+#: archive.cc:267
#, c-format
msgid "%s: malformed archive header name at %zu"
msgstr ""
-#: archive.cc:282
+#: archive.cc:297
#, c-format
msgid "%s: bad extended name index at %zu"
msgstr ""
-#: archive.cc:292
+#: archive.cc:307
#, c-format
msgid "%s: bad extended name entry at header %zu"
msgstr ""
-#: archive.cc:389
+#: archive.cc:404
#, c-format
msgid "%s: short archive header at %zu"
msgstr ""
-#: archive.cc:530 archive.cc:545
+#: archive.cc:560
#, c-format
msgid "%s: member at %zu is not an ELF object"
msgstr ""
-#: archive.cc:775
+#: archive.cc:879
#, c-format
msgid "%s: archive libraries: %u\n"
msgstr ""
-#: archive.cc:777
+#: archive.cc:881
#, c-format
msgid "%s: total archive members: %u\n"
msgstr ""
-#: archive.cc:779
+#: archive.cc:883
#, c-format
msgid "%s: loaded archive members: %u\n"
msgstr ""
+#: arm.cc:1149 i386.cc:536 sparc.cc:1087 x86_64.cc:565
+msgid "** PLT"
+msgstr ""
+
+#: arm.cc:1364 i386.cc:880 powerpc.cc:1014 sparc.cc:1502 x86_64.cc:955
+#: x86_64.cc:1265
+#, c-format
+msgid "%s: unsupported reloc %u against local symbol"
+msgstr ""
+
+#: arm.cc:1404 powerpc.cc:1105 sparc.cc:1592 x86_64.cc:992
+msgid "requires unsupported dynamic reloc; recompile with -fPIC"
+msgstr ""
+
+#. These are relocations which should only be seen by the
+#. dynamic linker, and should never be seen here.
+#: arm.cc:1519 arm.cc:1739 arm.cc:2354 i386.cc:1002 i386.cc:1334
+#: powerpc.cc:1223 powerpc.cc:1432 sparc.cc:1877 sparc.cc:2238 x86_64.cc:1145
+#: x86_64.cc:1453
+#, c-format
+msgid "%s: unexpected reloc %u in object file"
+msgstr ""
+
+#: arm.cc:1538 i386.cc:1171 powerpc.cc:1242 sparc.cc:1896 x86_64.cc:1279
+#: x86_64.cc:1571
+#, c-format
+msgid "%s: unsupported reloc %u against global symbol %s"
+msgstr ""
+
+#: arm.cc:1804 i386.cc:1542
+#, c-format
+msgid "%s: unsupported RELA reloc section"
+msgstr ""
+
+#: arm.cc:2047
+msgid ""
+"relocation R_ARM_MOVW_ABS_NC cannot be used when makinga shared object; "
+"recompile with -fPIC"
+msgstr ""
+
+#: arm.cc:2056
+msgid ""
+"relocation R_ARM_MOVT_ABS cannot be used when makinga shared object; "
+"recompile with -fPIC"
+msgstr ""
+
+#: arm.cc:2067
+msgid ""
+"relocation R_ARM_THM_MOVW_ABS_NC cannot be used whenmaking a shared object; "
+"recompile with -fPIC"
+msgstr ""
+
+#: arm.cc:2077
+msgid ""
+"relocation R_ARM_THM_MOVT_ABS cannot be used whenmaking a shared object; "
+"recompile with -fPIC"
+msgstr ""
+
+#: arm.cc:2141
+msgid "cannot find origin of R_ARM_BASE_PREL"
+msgstr ""
+
+#: arm.cc:2169
+msgid "cannot find origin of R_ARM_BASE_ABS"
+msgstr ""
+
+#: arm.cc:2230 i386.cc:1820 i386.cc:2521 powerpc.cc:1798 sparc.cc:2711
+#: x86_64.cc:1935 x86_64.cc:2518
+#, c-format
+msgid "unexpected reloc %u in object file"
+msgstr ""
+
+#: arm.cc:2236 i386.cc:1852 i386.cc:1931 i386.cc:1983 i386.cc:2014
+#: i386.cc:2076 powerpc.cc:1804 sparc.cc:2717 sparc.cc:2900 sparc.cc:2961
+#: sparc.cc:3068 x86_64.cc:1956 x86_64.cc:2039 x86_64.cc:2094 x86_64.cc:2119
+#, c-format
+msgid "unsupported reloc %u"
+msgstr ""
+
+#: arm.cc:2248
+#, c-format
+msgid "relocation overflow in relocation %u"
+msgstr ""
+
+#: arm.cc:2256
+#, c-format
+msgid "unexpected opcode while processing relocation %u"
+msgstr ""
+
+#: arm.cc:2359 i386.cc:2535
+#, c-format
+msgid "unsupported reloc %u in object file"
+msgstr ""
+
#: binary.cc:129
#, c-format
msgid "cannot open %s: %s:"
@@ -90,16 +184,16 @@
msgid "cannot open symbol count file %s: %s"
msgstr ""
-#: descriptors.cc:94
+#: descriptors.cc:116
#, c-format
msgid "file %s was removed during the link"
msgstr ""
-#: descriptors.cc:133
+#: descriptors.cc:169
msgid "out of file descriptors and couldn't close any"
msgstr ""
-#: descriptors.cc:154 descriptors.cc:189
+#: descriptors.cc:190 descriptors.cc:226
#, c-format
msgid "while closing %s: %s"
msgstr ""
@@ -113,115 +207,115 @@
msgid "Unusually large LEB128 decoded, debug information may be corrupted"
msgstr ""
-#: dynobj.cc:169
+#: dynobj.cc:164
#, c-format
msgid "unexpected duplicate type %u section: %u, %u"
msgstr ""
-#: dynobj.cc:205
+#: dynobj.cc:200
#, c-format
msgid "unexpected link in section %u header: %u != %u"
msgstr ""
-#: dynobj.cc:241
+#: dynobj.cc:236
#, c-format
msgid "DYNAMIC section %u link out of range: %u"
msgstr ""
-#: dynobj.cc:249
+#: dynobj.cc:244
#, c-format
msgid "DYNAMIC section %u link %u is not a strtab"
msgstr ""
-#: dynobj.cc:278
+#: dynobj.cc:273
#, c-format
msgid "DT_SONAME value out of range: %lld >= %lld"
msgstr ""
-#: dynobj.cc:290
+#: dynobj.cc:285
#, c-format
msgid "DT_NEEDED value out of range: %lld >= %lld"
msgstr ""
-#: dynobj.cc:303
+#: dynobj.cc:298
msgid "missing DT_NULL in dynamic segment"
msgstr ""
-#: dynobj.cc:349
+#: dynobj.cc:344
#, c-format
msgid "invalid dynamic symbol table name index: %u"
msgstr ""
-#: dynobj.cc:356
+#: dynobj.cc:351
#, c-format
msgid "dynamic symbol table name section has wrong type: %u"
msgstr ""
-#: dynobj.cc:443 object.cc:376 object.cc:884
+#: dynobj.cc:438 object.cc:463 object.cc:1106
#, c-format
msgid "bad section name offset for section %u: %lu"
msgstr ""
-#: dynobj.cc:472
+#: dynobj.cc:468
#, c-format
msgid "duplicate definition for version %u"
msgstr ""
-#: dynobj.cc:501
+#: dynobj.cc:497
#, c-format
msgid "unexpected verdef version %u"
msgstr ""
-#: dynobj.cc:517
+#: dynobj.cc:513
#, c-format
msgid "verdef vd_cnt field too small: %u"
msgstr ""
-#: dynobj.cc:525
+#: dynobj.cc:521
#, c-format
msgid "verdef vd_aux field out of range: %u"
msgstr ""
-#: dynobj.cc:536
+#: dynobj.cc:532
#, c-format
msgid "verdaux vda_name field out of range: %u"
msgstr ""
-#: dynobj.cc:546
+#: dynobj.cc:542
#, c-format
msgid "verdef vd_next field out of range: %u"
msgstr ""
-#: dynobj.cc:580
+#: dynobj.cc:576
#, c-format
msgid "unexpected verneed version %u"
msgstr ""
-#: dynobj.cc:589
+#: dynobj.cc:585
#, c-format
msgid "verneed vn_aux field out of range: %u"
msgstr ""
-#: dynobj.cc:603
+#: dynobj.cc:599
#, c-format
msgid "vernaux vna_name field out of range: %u"
msgstr ""
-#: dynobj.cc:614
+#: dynobj.cc:610
#, c-format
msgid "verneed vna_next field out of range: %u"
msgstr ""
-#: dynobj.cc:625
+#: dynobj.cc:621
#, c-format
msgid "verneed vn_next field out of range: %u"
msgstr ""
-#: dynobj.cc:673
+#: dynobj.cc:670
msgid "size of dynamic symbols is not multiple of symbol size"
msgstr ""
-#: dynobj.cc:1425
+#: dynobj.cc:1435
#, c-format
msgid "symbol %s has undefined version %s"
msgstr ""
@@ -234,27 +328,42 @@
msgid "** eh_frame"
msgstr ""
-#: errors.cc:106
+#: errors.cc:81
+#, c-format
+msgid "%s: fatal error: "
+msgstr ""
+
+#: errors.cc:92
+#, c-format
+msgid "%s: error: "
+msgstr ""
+
+#: errors.cc:104
#, c-format
msgid "%s: warning: "
msgstr ""
-#: errors.cc:146
+#: errors.cc:128
+#, c-format
+msgid "%s: %s: error: "
+msgstr ""
+
+#: errors.cc:144
#, c-format
msgid "%s: %s: warning: "
msgstr ""
+#: errors.cc:167
+#, c-format
+msgid "%s: %s: error: undefined reference to '%s'\n"
+msgstr ""
+
#: errors.cc:172
#, c-format
-msgid "%s: %s: undefined reference to '%s'\n"
+msgid "%s: %s: error: undefined reference to '%s', version '%s'\n"
msgstr ""
-#: errors.cc:176
-#, c-format
-msgid "%s: %s: undefined reference to '%s', version '%s'\n"
-msgstr ""
-
-#: errors.cc:186
+#: errors.cc:182
#, c-format
msgid "%s: "
msgstr ""
@@ -274,10 +383,6 @@
msgid "unary "
msgstr ""
-#: expression.cc:278 expression.cc:400
-msgid " applied to section relative value"
-msgstr ""
-
#. Handle binary operators. We use a preprocessor macro as a hack to
#. capture the C operator. KEEP_LEFT means that if the left operand
#. is section relative and the right operand is not, the result uses
@@ -323,72 +428,84 @@
msgid "LENGTH not implemented"
msgstr ""
-#: fileread.cc:55
+#: fileread.cc:65
#, c-format
msgid "munmap failed: %s"
msgstr ""
-#: fileread.cc:119
+#: fileread.cc:129
#, c-format
msgid "%s: fstat failed: %s"
msgstr ""
-#: fileread.cc:159
+#: fileread.cc:169
#, c-format
msgid "could not reopen file %s"
msgstr ""
-#: fileread.cc:292
+#: fileread.cc:302
#, c-format
msgid "%s: pread failed: %s"
msgstr ""
-#: fileread.cc:298
+#: fileread.cc:308
#, c-format
msgid "%s: file too short: read only %lld of %lld bytes at %lld"
msgstr ""
-#: fileread.cc:382
+#: fileread.cc:372
+#, c-format
+msgid ""
+"%s: attempt to map %lld bytes at offset %lld exceeds size of file; the file "
+"may be corrupt"
+msgstr ""
+
+#: fileread.cc:402
#, c-format
msgid "%s: mmap offset %lld size %lld failed: %s"
msgstr ""
-#: fileread.cc:528
+#: fileread.cc:548
#, c-format
msgid "%s: lseek failed: %s"
msgstr ""
-#: fileread.cc:534
+#: fileread.cc:554
#, c-format
msgid "%s: readv failed: %s"
msgstr ""
-#: fileread.cc:537
+#: fileread.cc:557
#, c-format
msgid "%s: file too short: read only %zd of %zd bytes at %lld"
msgstr ""
-#: fileread.cc:686
+#: fileread.cc:706
#, c-format
msgid "%s: total bytes mapped for read: %llu\n"
msgstr ""
-#: fileread.cc:688
+#: fileread.cc:708
#, c-format
msgid "%s: maximum bytes mapped for read at one time: %llu\n"
msgstr ""
-#: fileread.cc:783
+#: fileread.cc:791
#, c-format
-msgid "cannot find -l%s"
+msgid "%s: stat failed: %s"
msgstr ""
-#: fileread.cc:810
+#: fileread.cc:849
+#, c-format
+msgid "cannot find %s%s"
+msgstr ""
+
+#: fileread.cc:880
#, c-format
msgid "cannot find %s"
msgstr ""
-#: fileread.cc:833
+#: fileread.cc:904
#, c-format
msgid "cannot open %s: %s"
msgstr ""
@@ -418,12 +535,12 @@
msgid "pthread_mutex_destroy failed: %s"
msgstr ""
-#: gold-threads.cc:131
+#: gold-threads.cc:131 gold-threads.cc:382
#, c-format
msgid "pthread_mutex_lock failed: %s"
msgstr ""
-#: gold-threads.cc:139
+#: gold-threads.cc:139 gold-threads.cc:394
#, c-format
msgid "pthread_mutex_unlock failed: %s"
msgstr ""
@@ -453,120 +570,156 @@
msgid "pthread_cond_broadcast failed: %s"
msgstr ""
-#: gold.cc:83
+#: gold-threads.cc:388
+#, c-format
+msgid "pthread_once failed: %s"
+msgstr ""
+
+#: gold.cc:91
#, c-format
msgid "%s: internal error in %s, at %s:%d\n"
msgstr ""
-#: gold.cc:130
+#: gold.cc:173
msgid "no input files"
msgstr ""
-#. We print out just the first .so we see; there may be others.
-#: gold.cc:195
+#: gold.cc:226
+msgid "cannot mix -r with --gc-sections or --icf"
+msgstr ""
+
+#: gold.cc:407
#, c-format
msgid "cannot mix -static with dynamic object %s"
msgstr ""
-#: gold.cc:199
+#: gold.cc:411
#, c-format
msgid "cannot mix -r with dynamic object %s"
msgstr ""
-#: gold.cc:203
+#: gold.cc:415
#, c-format
msgid "cannot use non-ELF output format with dynamic object %s"
msgstr ""
+#: gold.cc:427
+#, c-format
+msgid "cannot mix split-stack '%s' and non-split-stack '%s' when using -r"
+msgstr ""
+
#. FIXME: This needs to specify the location somehow.
-#: i386.cc:193 i386.cc:1588 sparc.cc:211 sparc.cc:2322 x86_64.cc:208
-#: x86_64.cc:1656
+#: i386.cc:232 i386.cc:1669 sparc.cc:234 sparc.cc:2395 x86_64.cc:237
+#: x86_64.cc:1732
msgid "missing expected TLS relocation"
msgstr ""
-#: i386.cc:503 sparc.cc:1066 x86_64.cc:533
-msgid "** PLT"
-msgstr ""
-
-#: i386.cc:843 powerpc.cc:996 sparc.cc:1480 x86_64.cc:921 x86_64.cc:1230
-#, c-format
-msgid "%s: unsupported reloc %u against local symbol"
-msgstr ""
-
-#: i386.cc:907 x86_64.cc:1033
+#: i386.cc:944 x86_64.cc:1068
#, c-format
msgid "section symbol %u has bad shndx %u"
msgstr ""
-#: i386.cc:965 i386.cc:1297 powerpc.cc:1204 powerpc.cc:1413 sparc.cc:1852
-#: sparc.cc:2204 x86_64.cc:1110 x86_64.cc:1418
-#, c-format
-msgid "%s: unexpected reloc %u in object file"
-msgstr ""
-
-#: i386.cc:999 i386.cc:1023 sparc.cc:1753 x86_64.cc:1141 x86_64.cc:1169
+#: i386.cc:1036 i386.cc:1060 sparc.cc:1777 x86_64.cc:1176 x86_64.cc:1204
#, c-format
msgid "local symbol %u has bad shndx %u"
msgstr ""
-#: i386.cc:1134 powerpc.cc:1223 sparc.cc:1871 x86_64.cc:1244 x86_64.cc:1536
-#, c-format
-msgid "%s: unsupported reloc %u against global symbol %s"
-msgstr ""
-
-#: i386.cc:1473
-#, c-format
-msgid "%s: unsupported RELA reloc section"
-msgstr ""
-
-#: i386.cc:1735 i386.cc:2429 powerpc.cc:1740 sparc.cc:2637 x86_64.cc:1859
-#: x86_64.cc:2435
-#, c-format
-msgid "unexpected reloc %u in object file"
-msgstr ""
-
-#: i386.cc:1767 i386.cc:1846 i386.cc:1898 i386.cc:1929 i386.cc:1986
-#: powerpc.cc:1746 sparc.cc:2643 sparc.cc:2826 sparc.cc:2887 sparc.cc:2994
-#: x86_64.cc:1880 x86_64.cc:1963 x86_64.cc:2018 x86_64.cc:2043
-#, c-format
-msgid "unsupported reloc %u"
-msgstr ""
-
-#: i386.cc:1906
+#: i386.cc:1991
msgid "both SUN and GNU model TLS relocations"
msgstr ""
-#: i386.cc:2443
+#: i386.cc:2730 x86_64.cc:2719
#, c-format
-msgid "unsupported reloc %u in object file"
+msgid "failed to match split-stack sequence at section %u offset %0zx"
msgstr ""
-#: layout.cc:1511
+#: icf.cc:616
+#, c-format
+msgid "%s: ICF Converged after %u iteration(s)"
+msgstr ""
+
+#: icf.cc:619
+#, c-format
+msgid "%s: ICF stopped after %u iteration(s)"
+msgstr ""
+
+#: icf.cc:633
+#, c-format
+msgid "Could not find symbol %s to unfold\n"
+msgstr ""
+
+#: incremental.cc:242
+#, c-format
+msgid "the link might take longer: cannot perform incremental link: %s"
+msgstr ""
+
+#: incremental.cc:302
+msgid "no incremental data from previous build"
+msgstr ""
+
+#: incremental.cc:309 incremental.cc:332
+msgid "invalid incremental build data"
+msgstr ""
+
+#: incremental.cc:321
+msgid "different version of incremental build data"
+msgstr ""
+
+#: incremental.cc:338
+msgid "command line changed"
+msgstr ""
+
+#: incremental.cc:362
+#, c-format
+msgid "unsupported ELF machine number %d"
+msgstr ""
+
+#: incremental.cc:387
+msgid "output is not an ELF file."
+msgstr ""
+
+#: incremental.cc:410
+msgid "unsupported file: 32-bit, big-endian"
+msgstr ""
+
+#: incremental.cc:419
+msgid "unsupported file: 32-bit, little-endian"
+msgstr ""
+
+#: incremental.cc:431
+msgid "unsupported file: 64-bit, big-endian"
+msgstr ""
+
+#: incremental.cc:440
+msgid "unsupported file: 64-bit, little-endian"
+msgstr ""
+
+#: layout.cc:1887
#, c-format
msgid "--build-id=uuid failed: could not open /dev/urandom: %s"
msgstr ""
-#: layout.cc:1518
+#: layout.cc:1894
#, c-format
msgid "/dev/urandom: read failed: %s"
msgstr ""
-#: layout.cc:1520
+#: layout.cc:1896
#, c-format
msgid "/dev/urandom: expected %zu bytes, got %zd bytes"
msgstr ""
-#: layout.cc:1542
+#: layout.cc:1918
#, c-format
msgid "--build-id argument '%s' not a valid hex number"
msgstr ""
-#: layout.cc:1548
+#: layout.cc:1924
#, c-format
msgid "unrecognized --build-id argument '%s'"
msgstr ""
-#: layout.cc:1866
+#: layout.cc:2337
#, c-format
msgid "load segment overlap [0x%llx -> 0x%llx] and [0x%llx -> 0x%llx]"
msgstr ""
@@ -618,185 +771,162 @@
"\n"
msgstr ""
-#: merge.cc:449
+#: merge.cc:455
#, c-format
msgid "%s: %s merged constants size: %lu; input: %zu; output: %zu\n"
msgstr ""
-#: merge.cc:472
+#: merge.cc:478
msgid "mergeable string section length not multiple of character size"
msgstr ""
-#: merge.cc:488
-msgid "entry in mergeable string section not null terminated"
+#: merge.cc:494
+#, c-format
+msgid "%s: last entry in mergeable string section '%s' not null terminated"
msgstr ""
-#: merge.cc:605
+#: merge.cc:613
#, c-format
msgid "%s: %s input: %zu\n"
msgstr ""
-#: merge.h:289
+#: merge.h:300
msgid "** merge constants"
msgstr ""
-#: merge.h:411
+#: merge.h:422
msgid "** merge strings"
msgstr ""
-#: object.cc:73
+#: object.cc:75
msgid "missing SHT_SYMTAB_SHNDX section"
msgstr ""
-#: object.cc:117
+#: object.cc:119
#, c-format
msgid "symbol %u out of range for SHT_SYMTAB_SHNDX section"
msgstr ""
-#: object.cc:124
+#: object.cc:126
#, c-format
msgid "extended index for symbol %u out of range: %u"
msgstr ""
-#: object.cc:141
-#, c-format
-msgid "%s: unsupported ELF machine number %d"
-msgstr ""
-
-#: object.cc:159
+#: object.cc:148 object.cc:2331 output.cc:4052
#, c-format
msgid "%s: %s"
msgstr ""
-#: object.cc:196
+#: object.cc:190
#, c-format
msgid "section name section has wrong type: %u"
msgstr ""
-#: object.cc:459
+#: object.cc:546
#, c-format
msgid "invalid symbol table name index: %u"
msgstr ""
-#: object.cc:465
+#: object.cc:552
#, c-format
msgid "symbol table name section has wrong type: %u"
msgstr ""
-#: object.cc:554
+#: object.cc:641
#, c-format
msgid "section group %u info %u out of range"
msgstr ""
-#: object.cc:573
+#: object.cc:660
#, c-format
msgid "symbol %u name offset %u out of range"
msgstr ""
-#: object.cc:591
+#: object.cc:678
#, c-format
msgid "symbol %u invalid section index %u"
msgstr ""
-#: object.cc:644
+#: object.cc:723
#, c-format
msgid "section %u in section group %u out of range"
msgstr ""
-#: object.cc:652
+#: object.cc:731
#, c-format
msgid "invalid section group %u refers to earlier section %u"
msgstr ""
-#: object.cc:827 reloc.cc:215 reloc.cc:723
+#: object.cc:1037 reloc.cc:271 reloc.cc:838
#, c-format
msgid "relocation section %u has bad info %u"
msgstr ""
-#: object.cc:1080
+#: object.cc:1231
+#, c-format
+msgid "%s: removing unused section from '%s' in file '%s'"
+msgstr ""
+
+#: object.cc:1257
+#, c-format
+msgid "%s: ICF folding section '%s' in file '%s'into '%s' in file '%s'"
+msgstr ""
+
+#: object.cc:1454
msgid "size of symbols is not multiple of symbol size"
msgstr ""
-#: object.cc:1187
+#: object.cc:1563
#, c-format
msgid "local symbol %u section name out of range: %u >= %u"
msgstr ""
-#: object.cc:1245
+#: object.cc:1652
#, c-format
msgid "unknown section index %u for local symbol %u"
msgstr ""
-#: object.cc:1254
+#: object.cc:1661
#, c-format
msgid "local symbol %u section index %u out of range"
msgstr ""
-#: object.cc:1619
-msgid "incompatible target"
-msgstr ""
-
-#: object.cc:1816
+#: object.cc:2169
#, c-format
-msgid "%s: unsupported ELF file type %d"
+msgid "%s is not supported but is required for %s in %s"
msgstr ""
-#: object.cc:1835 object.cc:1881 object.cc:1915
+#: object.cc:2273
#, c-format
-msgid "%s: ELF file too short"
+msgid "%s: unsupported ELF machine number %d"
msgstr ""
-#: object.cc:1843
+#: object.cc:2283
#, c-format
-msgid "%s: invalid ELF version 0"
+msgid "%s: incompatible target"
msgstr ""
-#: object.cc:1845
-#, c-format
-msgid "%s: unsupported ELF version %d"
-msgstr ""
-
-#: object.cc:1852
-#, c-format
-msgid "%s: invalid ELF class 0"
-msgstr ""
-
-#: object.cc:1858
-#, c-format
-msgid "%s: unsupported ELF class %d"
-msgstr ""
-
-#: object.cc:1865
-#, c-format
-msgid "%s: invalid ELF data encoding"
-msgstr ""
-
-#: object.cc:1871
-#, c-format
-msgid "%s: unsupported ELF data encoding %d"
-msgstr ""
-
-#: object.cc:1891
+#: object.cc:2347 plugin.cc:1019
#, c-format
msgid "%s: not configured to support 32-bit big-endian object"
msgstr ""
-#: object.cc:1904
+#: object.cc:2363 plugin.cc:1028
#, c-format
msgid "%s: not configured to support 32-bit little-endian object"
msgstr ""
-#: object.cc:1925
+#: object.cc:2382 plugin.cc:1040
#, c-format
msgid "%s: not configured to support 64-bit big-endian object"
msgstr ""
-#: object.cc:1938
+#: object.cc:2398 plugin.cc:1049
#, c-format
msgid "%s: not configured to support 64-bit little-endian object"
msgstr ""
-#: options.cc:142
+#: options.cc:156
#, c-format
msgid ""
"Usage: %s [options] file...\n"
@@ -805,1028 +935,1295 @@
#. config.guess and libtool.m4 look in ld --help output for the
#. string "supported targets".
-#: options.cc:150
+#: options.cc:164
#, c-format
msgid "%s: supported targets:"
msgstr ""
-#: options.cc:162
+#: options.cc:176
#, c-format
msgid "Report bugs to %s\n"
msgstr ""
-#: options.cc:179 options.cc:189
+#: options.cc:193 options.cc:203 options.cc:213
#, c-format
msgid "%s: invalid option value (expected an integer): %s"
msgstr ""
-#: options.cc:199
+#: options.cc:223
#, c-format
msgid "%s: invalid option value (expected a floating point number): %s"
msgstr ""
-#: options.cc:208
+#: options.cc:232
#, c-format
msgid "%s: must take a non-empty argument"
msgstr ""
-#: options.cc:249
+#: options.cc:273
#, c-format
msgid "%s: must take one of the following arguments: %s"
msgstr ""
-#: options.cc:275
+#: options.cc:300
#, c-format
msgid " Supported targets:\n"
msgstr ""
-#: options.cc:329
+#: options.cc:409
#, c-format
msgid "unable to parse script file %s"
msgstr ""
-#: options.cc:337
+#: options.cc:417
#, c-format
msgid "unable to parse version script file %s"
msgstr ""
-#: options.cc:363
+#: options.cc:425
#, c-format
-msgid "%s: use the --help option for usage information\n"
+msgid "unable to parse dynamic-list script file %s"
msgstr ""
-#: options.cc:372
-#, c-format
-msgid "%s: %s: %s\n"
-msgstr ""
-
-#: options.cc:393
+#: options.cc:522
#, c-format
msgid ""
"format '%s' not supported; treating as elf (supported formats: elf, binary)"
msgstr ""
-#: options.cc:499
+#: options.cc:538
+#, c-format
+msgid "%s: use the --help option for usage information\n"
+msgstr ""
+
+#: options.cc:547
+#, c-format
+msgid "%s: %s: %s\n"
+msgstr ""
+
+#: options.cc:651
msgid "unexpected argument"
msgstr ""
-#: options.cc:512 options.cc:573
+#: options.cc:664 options.cc:725
msgid "missing argument"
msgstr ""
-#: options.cc:584
+#: options.cc:736
msgid "unknown -z option"
msgstr ""
-#: options.cc:727
+#: options.cc:935
#, c-format
msgid "ignoring --threads: %s was compiled without thread support"
msgstr ""
-#: options.cc:734
+#: options.cc:942
#, c-format
msgid "ignoring --thread-count: %s was compiled without thread support"
msgstr ""
-#: options.cc:776
+#: options.cc:981
+#, c-format
+msgid "unable to open -retain-symbols-file file %s: %s"
+msgstr ""
+
+#: options.cc:1003
+msgid "-shared and -static are incompatible"
+msgstr ""
+
+#: options.cc:1005
+msgid "-shared and -pie are incompatible"
+msgstr ""
+
+#: options.cc:1008
msgid "-shared and -r are incompatible"
msgstr ""
-#: options.cc:780
-msgid "binary output format not compatible with -shared or -r"
+#: options.cc:1010
+msgid "-pie and -r are incompatible"
msgstr ""
-#: options.cc:785
+#: options.cc:1014
+msgid "-retain-symbols-file does not yet work with -r"
+msgstr ""
+
+#: options.cc:1020
+msgid "binary output format not compatible with -shared or -pie or -r"
+msgstr ""
+
+#: options.cc:1026
#, c-format
msgid "--hash-bucket-empty-fraction value %g out of range [0.0, 1.0)"
msgstr ""
-#: options.cc:852
+#: options.cc:1031
+msgid ""
+"Options --incremental-changed, --incremental-unchanged, --incremental-"
+"unknown require the use of --incremental"
+msgstr ""
+
+#: options.cc:1097
msgid "May not nest groups"
msgstr ""
-#: options.cc:864
+#: options.cc:1109
msgid "Group end without group start"
msgstr ""
#. I guess it's neither a long option nor a short option.
-#: options.cc:922
+#: options.cc:1174
msgid "unknown option"
msgstr ""
-#: options.cc:948
+#: options.cc:1201
#, c-format
msgid "%s: missing group end\n"
msgstr ""
-#: options.h:536
+#: options.h:571
msgid "Report usage information"
msgstr ""
-#: options.h:538
+#: options.h:573
msgid "Report version information"
msgstr ""
-#: options.h:540
+#: options.h:575
msgid "Report version and target information"
msgstr ""
-#: options.h:549
+#: options.h:584 options.h:635
+msgid "Not supported"
+msgstr ""
+
+#: options.h:585 options.h:636
+msgid "Do not copy DT_NEEDED tags from shared libraries"
+msgstr ""
+
+#: options.h:588
msgid "Allow unresolved references in shared libraries"
msgstr ""
-#: options.h:550
+#: options.h:589
msgid "Do not allow unresolved references in shared libraries"
msgstr ""
-#: options.h:553
-msgid "Only set DT_NEEDED for dynamic libs if used"
+#: options.h:592
+msgid "Only set DT_NEEDED for shared libraries if used"
msgstr ""
-#: options.h:554
-msgid "Always DT_NEEDED for dynamic libs"
+#: options.h:593
+msgid "Always DT_NEEDED for shared libraries"
msgstr ""
-#: options.h:561
+#: options.h:600
msgid "Set input format"
msgstr ""
-#: options.h:564
+#: options.h:603
msgid "-l searches for shared libraries"
msgstr ""
-#: options.h:566
+#: options.h:605
msgid "-l does not search for shared libraries"
msgstr ""
-#: options.h:570
+#: options.h:609
msgid "Bind defined symbols locally"
msgstr ""
-#: options.h:573
+#: options.h:612
msgid "Bind defined function symbols locally"
msgstr ""
-#: options.h:576
+#: options.h:615
msgid "Generate build ID note"
msgstr ""
-#: options.h:577 options.h:612
+#: options.h:616 options.h:655
msgid "[=STYLE]"
msgstr ""
-#: options.h:580
+#: options.h:619
msgid "Check segment addresses for overlaps (default)"
msgstr ""
-#: options.h:581
+#: options.h:620
msgid "Do not check segment addresses for overlaps"
msgstr ""
-#: options.h:585 options.h:590
+#: options.h:624 options.h:629
msgid "Compress .debug_* sections in the output file"
msgstr ""
-#: options.h:591
+#: options.h:630
msgid "[none]"
msgstr ""
-#: options.h:596
+#: options.h:639
msgid "Define common symbols"
msgstr ""
-#: options.h:597
+#: options.h:640
msgid "Do not define common symbols"
msgstr ""
-#: options.h:599 options.h:601
+#: options.h:642 options.h:644
msgid "Alias for -d"
msgstr ""
-#: options.h:604
+#: options.h:647
msgid "Turn on debugging"
msgstr ""
-#: options.h:605
+#: options.h:648
msgid "[all,files,script,task][,...]"
msgstr ""
-#: options.h:608
+#: options.h:651
msgid "Define a symbol"
msgstr ""
-#: options.h:608
+#: options.h:651
msgid "SYMBOL=EXPRESSION"
msgstr ""
-#: options.h:611
+#: options.h:654
msgid "Demangle C++ symbols in log messages"
msgstr ""
-#: options.h:615
+#: options.h:658
msgid "Do not demangle C++ symbols in log messages"
msgstr ""
-#: options.h:619
+#: options.h:662
msgid "Try to detect violations of the One Definition Rule"
msgstr ""
-#: options.h:623
-msgid "Set program start address"
-msgstr ""
-
-#: options.h:623 options.h:766 options.h:768 options.h:770
-msgid "ADDRESS"
-msgstr ""
-
-#: options.h:626
-msgid "Export all dynamic symbols"
-msgstr ""
-
-#: options.h:629
-msgid "Create exception frame header"
-msgstr ""
-
-#: options.h:632
-msgid "Treat warnings as errors"
-msgstr ""
-
-#: options.h:633
-msgid "Do not treat warnings as errors"
-msgstr ""
-
-#: options.h:636
-msgid "Set shared library name"
-msgstr ""
-
-#: options.h:636 options.h:696
-msgid "FILENAME"
-msgstr ""
-
-#: options.h:639
-msgid "Min fraction of empty buckets in dynamic hash"
-msgstr ""
-
-#: options.h:640
-msgid "FRACTION"
-msgstr ""
-
-#: options.h:643
-msgid "Dynamic hash style"
-msgstr ""
-
-#: options.h:643
-msgid "[sysv,gnu,both]"
-msgstr ""
-
-#: options.h:647
-msgid "Set dynamic linker path"
-msgstr ""
-
-#: options.h:647
-msgid "PROGRAM"
-msgstr ""
-
-#: options.h:650
-msgid "Read only symbol values from FILE"
-msgstr ""
-
-#: options.h:650 options.h:684 options.h:751 options.h:779
-msgid "FILE"
-msgstr ""
-
-#: options.h:653
-msgid "Search for library LIBNAME"
-msgstr ""
-
-#: options.h:653
-msgid "LIBNAME"
-msgstr ""
-
-#: options.h:656
-msgid "Add directory to search path"
-msgstr ""
-
-#: options.h:656 options.h:714 options.h:717 options.h:721 options.h:745
-msgid "DIR"
-msgstr ""
-
-#: options.h:659
-msgid "Ignored for compatibility"
-msgstr ""
-
-#: options.h:659
-msgid "EMULATION"
-msgstr ""
-
-#: options.h:662
-msgid "Write map file on standard output"
-msgstr ""
-
-#: options.h:663
-msgid "Write map file"
-msgstr ""
-
-#: options.h:664
-msgid "MAPFILENAME"
-msgstr ""
-
-#: options.h:667
-msgid "Do not page align data"
+#: options.h:666
+msgid "Delete all temporary local symbols"
msgstr ""
#: options.h:669
-msgid "Do not page align data, do not make text readonly"
+msgid "Add data symbols to dynamic symbols"
msgstr ""
-#: options.h:670
-msgid "Page align data, make text readonly"
+#: options.h:672
+msgid "Add C++ operator new/delete to dynamic symbols"
msgstr ""
-#: options.h:673
-msgid "Enable use of DT_RUNPATH and DT_FLAGS"
+#: options.h:675
+msgid "Add C++ typeinfo to dynamic symbols"
msgstr ""
-#: options.h:674
-msgid "Disable use of DT_RUNPATH and DT_FLAGS"
+#: options.h:678
+msgid "Read a list of dynamic symbols"
msgstr ""
-#: options.h:677
-msgid "Create an output file even if errors occur"
+#: options.h:678 options.h:732 options.h:766 options.h:893 options.h:921
+msgid "FILE"
msgstr ""
-#: options.h:680 options.h:808
-msgid "Report undefined symbols (even with --shared)"
+#: options.h:681
+msgid "Set program start address"
+msgstr ""
+
+#: options.h:681 options.h:908 options.h:910 options.h:912
+msgid "ADDRESS"
msgstr ""
#: options.h:684
-msgid "Set output file name"
+msgid "Exclude libraries from automatic export"
msgstr ""
-#: options.h:687
-msgid "Optimize output file size"
+#: options.h:688
+msgid "Export all dynamic symbols"
msgstr ""
-#: options.h:687
-msgid "LEVEL"
+#: options.h:689
+msgid "Do not export all dynamic symbols (default)"
msgstr ""
-#: options.h:690
-msgid "Set output format"
-msgstr ""
-
-#: options.h:690
-msgid "[binary]"
-msgstr ""
-
-#: options.h:693
-msgid "Preread archive symbols when multi-threaded"
+#: options.h:692
+msgid "Create exception frame header"
msgstr ""
#: options.h:695
-msgid "Print symbols defined and used for each input"
+msgid "Treat warnings as errors"
+msgstr ""
+
+#: options.h:696
+msgid "Do not treat warnings as errors"
msgstr ""
#: options.h:699
-msgid "Ignored for SVR4 compatibility"
+msgid "Call SYMBOL at unload-time"
msgstr ""
-#: options.h:702
-msgid "Generate relocations in output"
-msgstr ""
-
-#: options.h:705
-msgid "Generate relocatable output"
-msgstr ""
-
-#: options.h:708
-msgid "Relax branches on certain targets"
-msgstr ""
-
-#: options.h:714 options.h:717
-msgid "Add DIR to runtime search path"
-msgstr ""
-
-#: options.h:720
-msgid "Add DIR to link time shared library search path"
-msgstr ""
-
-#: options.h:724
-msgid "Strip all symbols"
-msgstr ""
-
-#: options.h:726
-msgid "Strip debugging information"
-msgstr ""
-
-#: options.h:728
-msgid "Emit only debug line number information"
-msgstr ""
-
-#: options.h:730
-msgid "Strip debug symbols that are unused by gdb (at least versions <= 6.7)"
-msgstr ""
-
-#: options.h:734
-msgid "Generate shared library"
-msgstr ""
-
-#: options.h:739
-msgid "Do not link against shared libraries"
-msgstr ""
-
-#: options.h:742
-msgid "Print resource usage statistics"
-msgstr ""
-
-#: options.h:745
-msgid "Set target system root directory"
-msgstr ""
-
-#: options.h:748
-msgid "Print the name of each input file"
-msgstr ""
-
-#: options.h:751
-msgid "Read linker script"
-msgstr ""
-
-#: options.h:754
-msgid "Run the linker multi-threaded"
-msgstr ""
-
-#: options.h:755
-msgid "Do not run the linker multi-threaded"
-msgstr ""
-
-#: options.h:757
-msgid "Number of threads to use"
-msgstr ""
-
-#: options.h:757 options.h:759 options.h:761 options.h:763
-msgid "COUNT"
-msgstr ""
-
-#: options.h:759
-msgid "Number of threads to use in initial pass"
-msgstr ""
-
-#: options.h:761
-msgid "Number of threads to use in middle pass"
-msgstr ""
-
-#: options.h:763
-msgid "Number of threads to use in final pass"
-msgstr ""
-
-#: options.h:766
-msgid "Set the address of the bss segment"
-msgstr ""
-
-#: options.h:768
-msgid "Set the address of the data segment"
-msgstr ""
-
-#: options.h:770
-msgid "Set the address of the text segment"
-msgstr ""
-
-#: options.h:773
-msgid "Create undefined reference to SYMBOL"
-msgstr ""
-
-#: options.h:773 options.h:786 options.h:789
+#: options.h:699 options.h:729 options.h:873 options.h:915 options.h:936
+#: options.h:939
msgid "SYMBOL"
msgstr ""
-#: options.h:776
-msgid "Synonym for --debug=files"
+#: options.h:702
+msgid "Set shared library name"
msgstr ""
-#: options.h:779
-msgid "Read version script"
+#: options.h:702 options.h:792
+msgid "FILENAME"
+msgstr ""
+
+#: options.h:705
+msgid "Min fraction of empty buckets in dynamic hash"
+msgstr ""
+
+#: options.h:706
+msgid "FRACTION"
+msgstr ""
+
+#: options.h:709
+msgid "Dynamic hash style"
+msgstr ""
+
+#: options.h:709
+msgid "[sysv,gnu,both]"
+msgstr ""
+
+#: options.h:713
+msgid "Set dynamic linker path"
+msgstr ""
+
+#: options.h:713
+msgid "PROGRAM"
+msgstr ""
+
+#: options.h:716
+msgid "Work in progress; do not use"
+msgstr ""
+
+#: options.h:717
+msgid "Do a full build"
+msgstr ""
+
+#: options.h:720
+msgid "Assume files changed"
+msgstr ""
+
+#: options.h:723
+msgid "Assume files didn't change"
+msgstr ""
+
+#: options.h:726
+msgid "Use timestamps to check files (default)"
+msgstr ""
+
+#: options.h:729
+msgid "Call SYMBOL at load-time"
+msgstr ""
+
+#: options.h:732
+msgid "Read only symbol values from FILE"
+msgstr ""
+
+#: options.h:735
+msgid "Search for library LIBNAME"
+msgstr ""
+
+#: options.h:735
+msgid "LIBNAME"
+msgstr ""
+
+#: options.h:738
+msgid "Add directory to search path"
+msgstr ""
+
+#: options.h:738 options.h:813 options.h:816 options.h:820 options.h:887
+msgid "DIR"
+msgstr ""
+
+#: options.h:741
+msgid "Ignored for compatibility"
+msgstr ""
+
+#: options.h:741
+msgid "EMULATION"
+msgstr ""
+
+#: options.h:744
+msgid "Write map file on standard output"
+msgstr ""
+
+#: options.h:745
+msgid "Write map file"
+msgstr ""
+
+#: options.h:746
+msgid "MAPFILENAME"
+msgstr ""
+
+#: options.h:749
+msgid "Do not page align data"
+msgstr ""
+
+#: options.h:751
+msgid "Do not page align data, do not make text readonly"
+msgstr ""
+
+#: options.h:752
+msgid "Page align data, make text readonly"
+msgstr ""
+
+#: options.h:755
+msgid "Enable use of DT_RUNPATH and DT_FLAGS"
+msgstr ""
+
+#: options.h:756
+msgid "Disable use of DT_RUNPATH and DT_FLAGS"
+msgstr ""
+
+#: options.h:759
+msgid "Create an output file even if errors occur"
+msgstr ""
+
+#: options.h:762 options.h:958
+msgid "Report undefined symbols (even with --shared)"
+msgstr ""
+
+#: options.h:766
+msgid "Set output file name"
+msgstr ""
+
+#: options.h:769
+msgid "Optimize output file size"
+msgstr ""
+
+#: options.h:769
+msgid "LEVEL"
+msgstr ""
+
+#: options.h:772
+msgid "Set output format"
+msgstr ""
+
+#: options.h:772
+msgid "[binary]"
+msgstr ""
+
+#: options.h:775 options.h:777
+msgid "Create a position independent executable"
msgstr ""
#: options.h:782
-msgid "Include all archive contents"
+msgid "Load a plugin library"
msgstr ""
-#: options.h:783
-msgid "Include only needed archive contents"
+#: options.h:782
+msgid "PLUGIN"
msgstr ""
-#: options.h:786
-msgid "Use wrapper functions for SYMBOL"
+#: options.h:784
+msgid "Pass an option to the plugin"
msgstr ""
-#: options.h:789
-msgid "Trace references to symbol"
+#: options.h:784
+msgid "OPTION"
msgstr ""
-#: options.h:792
-msgid "Default search path for Solaris compatibility"
+#: options.h:788
+msgid "Preread archive symbols when multi-threaded"
msgstr ""
-#: options.h:793
-msgid "PATH"
+#: options.h:791
+msgid "Print symbols defined and used for each input"
msgstr ""
-#: options.h:796
-msgid "Start a library search group"
+#: options.h:795
+msgid "Ignored for SVR4 compatibility"
msgstr ""
#: options.h:798
-msgid "End a library search group"
+msgid "Generate relocations in output"
msgstr ""
-#: options.h:803
-msgid "Sort dynamic relocs"
+#: options.h:801
+msgid "Generate relocatable output"
msgstr ""
#: options.h:804
-msgid "Do not sort dynamic relocs"
+msgid "Relax branches on certain targets"
msgstr ""
-#: options.h:806
-msgid "Set common page size to SIZE"
+#: options.h:807
+msgid "keep only symbols listed in this file"
msgstr ""
-#: options.h:806 options.h:813
-msgid "SIZE"
+#: options.h:807
+msgid "[file]"
msgstr ""
-#: options.h:811
-msgid "Mark output as requiring executable stack"
+#: options.h:813 options.h:816
+msgid "Add DIR to runtime search path"
msgstr ""
-#: options.h:813
-msgid "Set maximum page size to SIZE"
-msgstr ""
-
-#: options.h:815
-msgid "Mark output as not requiring executable stack"
-msgstr ""
-
-#: options.h:817
-msgid "Mark DSO to be initialized first at runtime"
-msgstr ""
-
-#: options.h:820
-msgid "Mark object to interpose all DSOs but executable"
+#: options.h:819
+msgid "Add DIR to link time shared library search path"
msgstr ""
#: options.h:823
-msgid "Mark object requiring immediate process"
+msgid "Strip all symbols"
msgstr ""
-#: options.h:826
-msgid "Mark object not to use default search paths"
+#: options.h:825
+msgid "Strip debugging information"
+msgstr ""
+
+#: options.h:827
+msgid "Emit only debug line number information"
msgstr ""
#: options.h:829
-msgid "Mark DSO non-deletable at runtime"
+msgid "Strip debug symbols that are unused by gdb (at least versions <= 6.7)"
msgstr ""
#: options.h:832
-msgid "Mark DSO not available to dlopen"
+msgid "Strip LTO intermediate code sections"
msgstr ""
#: options.h:835
+msgid ""
+"(ARM only) The maximum distance from instructions in a group of sections to "
+"their stubs. Negative values mean stubs are always after the group. 1 means "
+"using default size.\n"
+msgstr ""
+
+#: options.h:838 options.h:852 options.h:956 options.h:975
+msgid "SIZE"
+msgstr ""
+
+#: options.h:841
+msgid ""
+"Use less memory and more disk I/O (included only for compatibility with GNU "
+"ld)"
+msgstr ""
+
+#: options.h:845 options.h:848
+msgid "Generate shared library"
+msgstr ""
+
+#: options.h:851
+msgid "Stack size when -fsplit-stack function calls non-split"
+msgstr ""
+
+#: options.h:857
+msgid "Do not link against shared libraries"
+msgstr ""
+
+#: options.h:860
+msgid "Identical Code Folding. '--icf=safe' folds only ctors and dtors."
+msgstr ""
+
+#: options.h:866
+msgid "Number of iterations of ICF (default 2)"
+msgstr ""
+
+#: options.h:866 options.h:899 options.h:901 options.h:903 options.h:905
+msgid "COUNT"
+msgstr ""
+
+#: options.h:869
+msgid "List folded identical sections on stderr"
+msgstr ""
+
+#: options.h:870
+msgid "Do not list folded identical sections"
+msgstr ""
+
+#: options.h:873
+msgid "Do not fold this symbol during ICF"
+msgstr ""
+
+#: options.h:876
+msgid "Remove unused sections"
+msgstr ""
+
+#: options.h:877
+msgid "Don't remove unused sections (default)"
+msgstr ""
+
+#: options.h:880
+msgid "List removed unused sections on stderr"
+msgstr ""
+
+#: options.h:881
+msgid "Do not list removed unused sections"
+msgstr ""
+
+#: options.h:884
+msgid "Print resource usage statistics"
+msgstr ""
+
+#: options.h:887
+msgid "Set target system root directory"
+msgstr ""
+
+#: options.h:890
+msgid "Print the name of each input file"
+msgstr ""
+
+#: options.h:893
+msgid "Read linker script"
+msgstr ""
+
+#: options.h:896
+msgid "Run the linker multi-threaded"
+msgstr ""
+
+#: options.h:897
+msgid "Do not run the linker multi-threaded"
+msgstr ""
+
+#: options.h:899
+msgid "Number of threads to use"
+msgstr ""
+
+#: options.h:901
+msgid "Number of threads to use in initial pass"
+msgstr ""
+
+#: options.h:903
+msgid "Number of threads to use in middle pass"
+msgstr ""
+
+#: options.h:905
+msgid "Number of threads to use in final pass"
+msgstr ""
+
+#: options.h:908
+msgid "Set the address of the bss segment"
+msgstr ""
+
+#: options.h:910
+msgid "Set the address of the data segment"
+msgstr ""
+
+#: options.h:912
+msgid "Set the address of the text segment"
+msgstr ""
+
+#: options.h:915
+msgid "Create undefined reference to SYMBOL"
+msgstr ""
+
+#: options.h:918
+msgid "Synonym for --debug=files"
+msgstr ""
+
+#: options.h:921
+msgid "Read version script"
+msgstr ""
+
+#: options.h:924
+msgid "Warn about duplicate common symbols"
+msgstr ""
+
+#: options.h:925
+msgid "Do not warn about duplicate common symbols (default)"
+msgstr ""
+
+#: options.h:928
+msgid "Warn when skipping an incompatible library"
+msgstr ""
+
+#: options.h:929
+msgid "Don't warn when skipping an incompatible library"
+msgstr ""
+
+#: options.h:932
+msgid "Include all archive contents"
+msgstr ""
+
+#: options.h:933
+msgid "Include only needed archive contents"
+msgstr ""
+
+#: options.h:936
+msgid "Use wrapper functions for SYMBOL"
+msgstr ""
+
+#: options.h:939
+msgid "Trace references to symbol"
+msgstr ""
+
+#: options.h:942
+msgid "Default search path for Solaris compatibility"
+msgstr ""
+
+#: options.h:943
+msgid "PATH"
+msgstr ""
+
+#: options.h:946
+msgid "Start a library search group"
+msgstr ""
+
+#: options.h:948
+msgid "End a library search group"
+msgstr ""
+
+#: options.h:953
+msgid "Sort dynamic relocs"
+msgstr ""
+
+#: options.h:954
+msgid "Do not sort dynamic relocs"
+msgstr ""
+
+#: options.h:956
+msgid "Set common page size to SIZE"
+msgstr ""
+
+#: options.h:961
+msgid "Mark output as requiring executable stack"
+msgstr ""
+
+#: options.h:963
+msgid "Mark DSO to be initialized first at runtime"
+msgstr ""
+
+#: options.h:966
+msgid "Mark object to interpose all DSOs but executable"
+msgstr ""
+
+#: options.h:969
+msgid "Mark object for lazy runtime binding (default)"
+msgstr ""
+
+#: options.h:972
+msgid "Mark object requiring immediate process"
+msgstr ""
+
+#: options.h:975
+msgid "Set maximum page size to SIZE"
+msgstr ""
+
+#: options.h:978
+msgid "Do not create copy relocs"
+msgstr ""
+
+#: options.h:980
+msgid "Mark object not to use default search paths"
+msgstr ""
+
+#: options.h:983
+msgid "Mark DSO non-deletable at runtime"
+msgstr ""
+
+#: options.h:986
+msgid "Mark DSO not available to dlopen"
+msgstr ""
+
+#: options.h:989
msgid "Mark DSO not available to dldump"
msgstr ""
-#: options.h:838
+#: options.h:992
+msgid "Mark output as not requiring executable stack"
+msgstr ""
+
+#: options.h:994
+msgid "Mark object for immediate function binding"
+msgstr ""
+
+#: options.h:997
+msgid "Mark DSO to indicate that needs immediate $ORIGIN processing at runtime"
+msgstr ""
+
+#: options.h:1000
msgid "Where possible mark variables read-only after relocation"
msgstr ""
-#: options.h:839
+#: options.h:1001
msgid "Don't mark variables read-only after relocation"
msgstr ""
-#: output.cc:1098
+#: output.cc:1132
msgid "section group retained but group element discarded"
msgstr ""
-#: output.cc:1800
+#: output.cc:1860
#, c-format
msgid "invalid alignment %lu for section \"%s\""
msgstr ""
-#: output.cc:3159
+#: output.cc:3573
+#, c-format
+msgid "dot moves backward in linker script from 0x%llx to 0x%llx"
+msgstr ""
+
+#: output.cc:3576
+#, c-format
+msgid "address of section '%s' moves backward from 0x%llx to 0x%llx"
+msgstr ""
+
+#: output.cc:3755
#, c-format
msgid "nobits section %s may not precede progbits section %s in same segment"
msgstr ""
-#: output.cc:3329
+#: output.cc:3907 output.cc:3975
#, c-format
msgid "%s: open: %s"
msgstr ""
-#: output.cc:3350
+#: output.cc:3996
#, c-format
msgid "%s: mremap: %s"
msgstr ""
-#: output.cc:3387
-#, c-format
-msgid "%s: lseek: %s"
-msgstr ""
-
-#: output.cc:3390 output.cc:3427
-#, c-format
-msgid "%s: write: %s"
-msgstr ""
-
-#: output.cc:3398
+#: output.cc:4005
#, c-format
msgid "%s: mmap: %s"
msgstr ""
-#: output.cc:3408
+#: output.cc:4085
+#, c-format
+msgid "%s: mmap: failed to allocate %lu bytes for output file: %s"
+msgstr ""
+
+#: output.cc:4096
#, c-format
msgid "%s: munmap: %s"
msgstr ""
-#: output.cc:3425
+#: output.cc:4115
#, c-format
msgid "%s: write: unexpected 0 return-value"
msgstr ""
-#: output.cc:3439
+#: output.cc:4117
+#, c-format
+msgid "%s: write: %s"
+msgstr ""
+
+#: output.cc:4132
#, c-format
msgid "%s: close: %s"
msgstr ""
-#: output.h:415
+#: output.h:520
msgid "** section headers"
msgstr ""
-#: output.h:451
+#: output.h:565
msgid "** segment headers"
msgstr ""
-#: output.h:490
+#: output.h:613
msgid "** file header"
msgstr ""
-#: output.h:696
+#: output.h:833
msgid "** fill"
msgstr ""
-#: output.h:850
+#: output.h:987
msgid "** string table"
msgstr ""
-#: output.h:1161
+#: output.h:1300
msgid "** dynamic relocs"
msgstr ""
-#: output.h:1162 output.h:1498
+#: output.h:1301 output.h:1637
msgid "** relocs"
msgstr ""
-#: output.h:1523
+#: output.h:1662
msgid "** group"
msgstr ""
-#: output.h:1630
+#: output.h:1774
msgid "** GOT"
msgstr ""
-#: output.h:1772
+#: output.h:1916
msgid "** dynamic"
msgstr ""
-#: output.h:1890
+#: output.h:2039
msgid "** symtab xindex"
msgstr ""
-#: parameters.cc:87
+#: parameters.cc:172
#, c-format
msgid "unrecognized output format %s"
msgstr ""
-#: powerpc.cc:1086 sparc.cc:1569 x86_64.cc:957
-msgid "requires unsupported dynamic reloc; recompile with -fPIC"
+#: plugin.cc:106
+#, c-format
+msgid "%s: could not load plugin library"
msgstr ""
-#: powerpc.cc:1447 sparc.cc:2237 x86_64.cc:1561
+#: plugin.cc:116
+#, c-format
+msgid "%s: could not find onload entry point"
+msgstr ""
+
+#: plugin.cc:426
+msgid ""
+"Input files added by plug-ins in --incremental mode not supported yet.\n"
+msgstr ""
+
+#: powerpc.cc:1502 sparc.cc:2307 x86_64.cc:1632
#, c-format
msgid "%s: unsupported REL reloc section"
msgstr ""
-#: readsyms.cc:150
+#: readsyms.cc:191
#, c-format
msgid "%s: file is empty"
msgstr ""
#. Here we have to handle any other input file types we need.
-#: readsyms.cc:471
+#: readsyms.cc:575
#, c-format
msgid "%s: not an object or archive"
msgstr ""
-#: reduced_debug_output.cc:240
+#: reduced_debug_output.cc:236
msgid ""
"Debug abbreviations extend beyond .debug_abbrev section; failed to reduce "
"debug abbreviations"
msgstr ""
-#: reduced_debug_output.cc:326
+#: reduced_debug_output.cc:322
msgid "Extremely large compile unit in debug info; failed to reduce debug info"
msgstr ""
-#: reduced_debug_output.cc:334
+#: reduced_debug_output.cc:330
msgid ""
"Debug info extends beyond .debug_info section;failed to reduce debug info"
msgstr ""
-#: reduced_debug_output.cc:354 reduced_debug_output.cc:396
+#: reduced_debug_output.cc:350 reduced_debug_output.cc:392
msgid "Invalid DIE in debug info; failed to reduce debug info"
msgstr ""
-#: reduced_debug_output.cc:377
+#: reduced_debug_output.cc:373
msgid ""
"Debug info extends beyond .debug_info section; failed to reduce debug info"
msgstr ""
-#: reloc.cc:239 reloc.cc:743
+#: reloc.cc:297 reloc.cc:858
#, c-format
msgid "relocation section %u uses unexpected symbol table %u"
msgstr ""
-#: reloc.cc:254 reloc.cc:761
+#: reloc.cc:312 reloc.cc:875
#, c-format
msgid "unexpected entsize for reloc section %u: %lu != %u"
msgstr ""
-#: reloc.cc:263 reloc.cc:770
+#: reloc.cc:321 reloc.cc:884
#, c-format
msgid "reloc section %u size %lu uneven"
msgstr ""
-#: reloc.cc:992
+#: reloc.cc:1203
+#, c-format
+msgid "could not convert call to '%s' to '%s'"
+msgstr ""
+
+#: reloc.cc:1343
#, c-format
msgid "reloc section size %zu is not a multiple of reloc size %d\n"
msgstr ""
#. We should only see externally visible symbols in the symbol
#. table.
-#: resolve.cc:170
+#: resolve.cc:191
msgid "invalid STB_LOCAL symbol in external symbols"
msgstr ""
#. Any target which wants to handle STB_LOOS, etc., needs to
#. define a resolve method.
-#: resolve.cc:176
+#: resolve.cc:197
msgid "unsupported symbol binding"
msgstr ""
-#. FIXME: Do a better job of reporting locations.
-#: resolve.cc:367
+#. A dynamic object cannot reference a hidden or internal symbol
+#. defined in another object.
+#: resolve.cc:266
#, c-format
-msgid "%s: multiple definition of %s"
+msgid "%s symbol '%s' in %s is referenced by DSO %s"
msgstr ""
-#: resolve.cc:368 resolve.cc:373
+#: resolve.cc:326
+#, c-format
+msgid "common of '%s' overriding smaller common"
+msgstr ""
+
+#: resolve.cc:331
+#, c-format
+msgid "common of '%s' overidden by larger common"
+msgstr ""
+
+#: resolve.cc:336
+#, c-format
+msgid "multiple common of '%s'"
+msgstr ""
+
+#: resolve.cc:442
+#, c-format
+msgid "multiple definition of '%s'"
+msgstr ""
+
+#: resolve.cc:481
+#, c-format
+msgid "definition of '%s' overriding common"
+msgstr ""
+
+#: resolve.cc:516
+#, c-format
+msgid "definition of '%s' overriding dynamic common definition"
+msgstr ""
+
+#: resolve.cc:636
+#, c-format
+msgid "common '%s' overridden by previous definition"
+msgstr ""
+
+#: resolve.cc:766 resolve.cc:778
msgid "command line"
msgstr ""
-#: resolve.cc:370
-#, c-format
-msgid "%s: previous definition here"
-msgstr ""
-
-#: script-sections.cc:432
+#: script-sections.cc:690
msgid "dot may not move backward"
msgstr ""
-#: script-sections.cc:498
+#: script-sections.cc:757
msgid "** expression"
msgstr ""
-#: script-sections.cc:684
+#: script-sections.cc:941
msgid "fill value is not absolute"
msgstr ""
-#: script-sections.cc:1693
+#: script-sections.cc:1913
#, c-format
msgid "alignment of section %s is not absolute"
msgstr ""
-#: script-sections.cc:1737
+#: script-sections.cc:1957
#, c-format
msgid "subalign of section %s is not absolute"
msgstr ""
-#: script-sections.cc:1752
+#: script-sections.cc:1972
#, c-format
msgid "fill of section %s is not absolute"
msgstr ""
-#: script-sections.cc:1828
+#: script-sections.cc:2048
msgid "SPECIAL constraints are not implemented"
msgstr ""
-#: script-sections.cc:1870
+#: script-sections.cc:2090
msgid "mismatched definition for constrained sections"
msgstr ""
-#: script-sections.cc:2395
+#: script-sections.cc:2634
msgid "DATA_SEGMENT_ALIGN may only appear once in a linker script"
msgstr ""
-#: script-sections.cc:2406
+#: script-sections.cc:2649
msgid "DATA_SEGMENT_RELRO_END may only appear once in a linker script"
msgstr ""
-#: script-sections.cc:2411
+#: script-sections.cc:2654
msgid "DATA_SEGMENT_RELRO_END must follow DATA_SEGMENT_ALIGN"
msgstr ""
-#: script-sections.cc:2570
+#: script-sections.cc:2826
msgid "no matching section constraint"
msgstr ""
-#: script-sections.cc:2890
+#: script-sections.cc:3151
msgid "TLS sections are not adjacent"
msgstr ""
-#: script-sections.cc:3016
+#: script-sections.cc:3280
msgid "allocated section not in any segment"
msgstr ""
-#: script-sections.cc:3048
+#: script-sections.cc:3309
#, c-format
msgid "no segment %s"
msgstr ""
-#: script-sections.cc:3058
+#: script-sections.cc:3323
msgid "section in two PT_LOAD segments"
msgstr ""
-#: script-sections.cc:3065
+#: script-sections.cc:3330
msgid "allocated section not in any PT_LOAD segment"
msgstr ""
-#: script-sections.cc:3093
+#: script-sections.cc:3358
msgid "may only specify load address for PT_LOAD segment"
msgstr ""
-#: script-sections.cc:3117
+#: script-sections.cc:3382
#, c-format
msgid "PHDRS load address overrides section %s load address"
msgstr ""
#. We could support this if we wanted to.
-#: script-sections.cc:3128
+#: script-sections.cc:3393
msgid "using only one of FILEHDR and PHDRS is not currently supported"
msgstr ""
-#: script-sections.cc:3143
+#: script-sections.cc:3408
msgid ""
"sections loaded on first page without room for file and program headers are "
"not supported"
msgstr ""
-#: script-sections.cc:3149
+#: script-sections.cc:3414
msgid ""
"using FILEHDR and PHDRS on more than one PT_LOAD segment is not currently "
"supported"
msgstr ""
-#: script.cc:1063
+#: script.cc:1072
msgid "invalid use of PROVIDE for dot symbol"
msgstr ""
-#: script.cc:1065
-msgid "invalid assignment to dot outside of SECTIONS"
-msgstr ""
-
-#: script.cc:1995
+#: script.cc:2132
#, c-format
msgid "%s:%d:%d: %s"
msgstr ""
#. There are some options that we could handle here--e.g.,
#. -lLIBRARY. Should we bother?
-#: script.cc:2143
+#: script.cc:2297
#, c-format
msgid ""
"%s:%d:%d: ignoring command OPTION; OPTION is only valid for scripts "
"specified via -T/--script"
msgstr ""
-#: script.cc:2168
+#: script.cc:2362
#, c-format
msgid ""
"%s:%d:%d: ignoring SEARCH_DIR; SEARCH_DIR is only valid for scripts "
"specified via -T/--script"
msgstr ""
-#: script.cc:2411 script.cc:2425
+#: script.cc:2606 script.cc:2620
#, c-format
msgid "%s:%d:%d: DATA_SEGMENT_ALIGN not in SECTIONS clause"
msgstr ""
-#: script.cc:2543
+#: script.cc:2739
msgid "unknown PHDR type (try integer)"
msgstr ""
-#: stringpool.cc:526
+#: stringpool.cc:528
#, c-format
msgid "%s: %s entries: %zu; buckets: %zu\n"
msgstr ""
-#: stringpool.cc:530
+#: stringpool.cc:532
#, c-format
msgid "%s: %s entries: %zu\n"
msgstr ""
-#: stringpool.cc:533
+#: stringpool.cc:535
#, c-format
msgid "%s: %s Stringdata structures: %zu\n"
msgstr ""
-#: symtab.cc:623
+#: symtab.cc:857
#, c-format
msgid "%s: reference to %s"
msgstr ""
-#: symtab.cc:625
+#: symtab.cc:859
#, c-format
msgid "%s: definition of %s"
msgstr ""
-#: symtab.cc:860
+#: symtab.cc:1052
#, c-format
msgid "bad global symbol name offset %u at %zu"
msgstr ""
-#: symtab.cc:999
+#: symtab.cc:1278
msgid "--just-symbols does not make sense with a shared object"
msgstr ""
-#: symtab.cc:1005
+#: symtab.cc:1284
msgid "too few symbol versions"
msgstr ""
-#: symtab.cc:1054
+#: symtab.cc:1333
#, c-format
msgid "bad symbol name offset %u at %zu"
msgstr ""
-#: symtab.cc:1117
+#: symtab.cc:1396
#, c-format
msgid "versym for symbol %zu out of range: %u"
msgstr ""
-#: symtab.cc:1125
+#: symtab.cc:1404
#, c-format
msgid "versym for symbol %zu has no name: %u"
msgstr ""
-#: symtab.cc:2035 symtab.cc:2251
+#: symtab.cc:2549 symtab.cc:2681
#, c-format
msgid "%s: unsupported symbol section 0x%x"
msgstr ""
-#: symtab.cc:2409
-#, c-format
-msgid "%s: undefined reference to '%s', version '%s'"
-msgstr ""
-
-#: symtab.cc:2414
-#, c-format
-msgid "%s: undefined reference to '%s'"
-msgstr ""
-
-#: symtab.cc:2498
+#: symtab.cc:2933
#, c-format
msgid "%s: symbol table entries: %zu; buckets: %zu\n"
msgstr ""
-#: symtab.cc:2501
+#: symtab.cc:2936
#, c-format
msgid "%s: symbol table entries: %zu\n"
msgstr ""
-#: symtab.cc:2572
+#: symtab.cc:3007
#, c-format
msgid ""
"while linking %s: symbol '%s' defined in multiple places (possible ODR "
"violation):"
msgstr ""
-#: target-reloc.h:247
-msgid "Relocation refers to discarded comdat section"
+#: target-reloc.h:259
+msgid "relocation refers to discarded comdat section"
msgstr ""
-#: target-reloc.h:278
+#: target-reloc.h:298
#, c-format
msgid "reloc has bad offset %zu"
msgstr ""
+#: target.cc:90
+#, c-format
+msgid "%s: unsupported ELF file type %d"
+msgstr ""
+
+#: target.cc:157
+#, c-format
+msgid "linker does not include stack split support required by %s"
+msgstr ""
+
#: tls.h:59
msgid "TLS relocation out of range"
msgstr ""
@@ -1836,12 +2233,12 @@
msgstr ""
#. This output is intended to follow the GNU standards.
-#: version.cc:64
+#: version.cc:65
#, c-format
msgid "Copyright 2008 Free Software Foundation, Inc.\n"
msgstr ""
-#: version.cc:65
+#: version.cc:66
#, c-format
msgid ""
"This program is free software; you may redistribute it under the terms of\n"
@@ -1855,12 +2252,12 @@
msgid "%s failed: %s"
msgstr ""
-#: x86_64.cc:2104
+#: x86_64.cc:2184
#, c-format
msgid "unsupported reloc type %u"
msgstr ""
-#: x86_64.cc:2441
+#: x86_64.cc:2524
#, c-format
msgid "unsupported reloc %u against local symbol"
msgstr ""
diff --git a/binutils/gold/powerpc.cc b/binutils/gold/powerpc.cc
index 71f2ae4..9aacbf3 100644
--- a/binutils/gold/powerpc.cc
+++ b/binutils/gold/powerpc.cc
@@ -713,7 +713,7 @@
layout->add_output_section_data(".got", elfcpp::SHT_PROGBITS,
elfcpp::SHF_ALLOC | elfcpp::SHF_WRITE,
- this->got_);
+ this->got_, false);
// Create the GOT2 or TOC in the .got section.
if (size == 32)
@@ -722,7 +722,7 @@
layout->add_output_section_data(".got2", elfcpp::SHT_PROGBITS,
elfcpp::SHF_ALLOC
| elfcpp::SHF_WRITE,
- this->got2_);
+ this->got2_, false);
}
else
{
@@ -730,7 +730,7 @@
layout->add_output_section_data(".toc", elfcpp::SHT_PROGBITS,
elfcpp::SHF_ALLOC
| elfcpp::SHF_WRITE,
- this->toc_);
+ this->toc_, false);
}
// Define _GLOBAL_OFFSET_TABLE_ at the start of the .got section.
@@ -756,7 +756,7 @@
gold_assert(layout != NULL);
this->rela_dyn_ = new Reloc_section(parameters->options().combreloc());
layout->add_output_section_data(".rela.dyn", elfcpp::SHT_RELA,
- elfcpp::SHF_ALLOC, this->rela_dyn_);
+ elfcpp::SHF_ALLOC, this->rela_dyn_, true);
}
return this->rela_dyn_;
}
@@ -816,7 +816,7 @@
{
this->rel_ = new Reloc_section(false);
layout->add_output_section_data(".rela.plt", elfcpp::SHT_RELA,
- elfcpp::SHF_ALLOC, this->rel_);
+ elfcpp::SHF_ALLOC, this->rel_, true);
}
template<int size, bool big_endian>
@@ -945,7 +945,7 @@
(elfcpp::SHF_ALLOC
| elfcpp::SHF_EXECINSTR
| elfcpp::SHF_WRITE),
- this->plt_);
+ this->plt_, false);
// Define _PROCEDURE_LINKAGE_TABLE_ at the start of the .plt section.
symtab->define_in_output_data("_PROCEDURE_LINKAGE_TABLE_", NULL,
@@ -1512,7 +1512,7 @@
Output_section* os = layout->add_output_section_data(".sdata", 0,
elfcpp::SHF_ALLOC
| elfcpp::SHF_WRITE,
- sdata);
+ sdata, false);
symtab->define_in_output_data("_SDA_BASE_", NULL,
os,
32768, 0,
@@ -1547,7 +1547,8 @@
Output_data_dynamic* const odyn = layout->dynamic_data();
if (odyn != NULL)
{
- if (this->plt_ != NULL)
+ if (this->plt_ != NULL
+ && this->plt_->output_section() != NULL)
{
const Output_data* od = this->plt_->rel_plt();
odyn->add_section_size(elfcpp::DT_PLTRELSZ, od);
@@ -1557,7 +1558,8 @@
odyn->add_section_address(elfcpp::DT_PLTGOT, this->plt_);
}
- if (this->rela_dyn_ != NULL)
+ if (this->rela_dyn_ != NULL
+ && this->rela_dyn_->output_section() != NULL)
{
const Output_data* od = this->rela_dyn_;
odyn->add_section_address(elfcpp::DT_RELA, od);
diff --git a/binutils/gold/resolve.cc b/binutils/gold/resolve.cc
index 82af9b4..2f0479a 100644
--- a/binutils/gold/resolve.cc
+++ b/binutils/gold/resolve.cc
@@ -302,25 +302,41 @@
sym.get_st_type());
bool adjust_common_sizes;
+ typename Sized_symbol<size>::Size_type tosize = to->symsize();
if (Symbol_table::should_override(to, frombits, object,
&adjust_common_sizes))
{
- typename Sized_symbol<size>::Size_type tosize = to->symsize();
-
this->override(to, sym, st_shndx, is_ordinary, object, version);
-
if (adjust_common_sizes && tosize > to->symsize())
to->set_symsize(tosize);
}
else
{
- if (adjust_common_sizes && sym.get_st_size() > to->symsize())
+ if (adjust_common_sizes && sym.get_st_size() > tosize)
to->set_symsize(sym.get_st_size());
// The ELF ABI says that even for a reference to a symbol we
// merge the visibility.
to->override_visibility(sym.get_st_visibility());
}
+ if (adjust_common_sizes && parameters->options().warn_common())
+ {
+ if (tosize > sym.get_st_size())
+ Symbol_table::report_resolve_problem(false,
+ _("common of '%s' overriding "
+ "smaller common"),
+ to, object);
+ else if (tosize < sym.get_st_size())
+ Symbol_table::report_resolve_problem(false,
+ _("common of '%s' overidden by "
+ "larger common"),
+ to, object);
+ else
+ Symbol_table::report_resolve_problem(false,
+ _("multiple common of '%s'"),
+ to, object);
+ }
+
// A new weak undefined reference, merging with an old weak
// reference, could be a One Definition Rule (ODR) violation --
// especially if the types or sizes of the references differ. We'll
@@ -422,14 +438,9 @@
|| object->just_symbols())
return false;
- // FIXME: Do a better job of reporting locations.
- gold_error(_("%s: multiple definition of %s"),
- object != NULL ? object->name().c_str() : _("command line"),
- to->demangled_name().c_str());
- gold_error(_("%s: previous definition here"),
- (to->source() == Symbol::FROM_OBJECT
- ? to->object()->name().c_str()
- : _("command line")));
+ Symbol_table::report_resolve_problem(true,
+ _("multiple definition of '%s'"),
+ to, object);
return false;
case WEAK_DEF * 16 + DEF:
@@ -464,8 +475,12 @@
case DYN_COMMON * 16 + DEF:
case DYN_WEAK_COMMON * 16 + DEF:
// We've seen a common symbol and now we see a definition. The
- // definition overrides. FIXME: We should optionally issue, version a
- // warning.
+ // definition overrides.
+ if (parameters->options().warn_common())
+ Symbol_table::report_resolve_problem(false,
+ _("definition of '%s' overriding "
+ "common"),
+ to, object);
return true;
case DEF * 16 + WEAK_DEF:
@@ -495,7 +510,12 @@
case DYN_COMMON * 16 + WEAK_DEF:
case DYN_WEAK_COMMON * 16 + WEAK_DEF:
// A weak definition does override a definition in a dynamic
- // object. FIXME: We should optionally issue a warning.
+ // object.
+ if (parameters->options().warn_common())
+ Symbol_table::report_resolve_problem(false,
+ _("definition of '%s' overriding "
+ "dynamic common definition"),
+ to, object);
return true;
case DEF * 16 + DYN_DEF:
@@ -611,6 +631,11 @@
case DEF * 16 + COMMON:
// A common symbol does not override a definition.
+ if (parameters->options().warn_common())
+ Symbol_table::report_resolve_problem(false,
+ _("common '%s' overridden by "
+ "previous definition"),
+ to, object);
return false;
case WEAK_DEF * 16 + COMMON:
@@ -716,6 +741,44 @@
}
}
+// Issue an error or warning due to symbol resolution. IS_ERROR
+// indicates an error rather than a warning. MSG is the error
+// message; it is expected to have a %s for the symbol name. TO is
+// the existing symbol. OBJECT is where the new symbol was found.
+
+// FIXME: We should have better location information here. When the
+// symbol is defined, we should be able to pull the location from the
+// debug info if there is any.
+
+void
+Symbol_table::report_resolve_problem(bool is_error, const char* msg,
+ const Symbol* to, Object* object)
+{
+ std::string demangled(to->demangled_name());
+ size_t len = strlen(msg) + demangled.length() + 10;
+ char* buf = new char[len];
+ snprintf(buf, len, msg, demangled.c_str());
+
+ const char* objname;
+ if (object != NULL)
+ objname = object->name().c_str();
+ else
+ objname = _("command line");
+
+ if (is_error)
+ gold_error("%s: %s", objname, buf);
+ else
+ gold_warning("%s: %s", objname, buf);
+
+ delete[] buf;
+
+ if (to->source() == Symbol::FROM_OBJECT)
+ objname = to->object()->name().c_str();
+ else
+ objname = _("command line");
+ gold_info("%s: %s: previous definition here", program_name, objname);
+}
+
// A special case of should_override which is only called for a strong
// defined symbol from a regular object file. This is used when
// defining special symbols.
diff --git a/binutils/gold/script-sections.cc b/binutils/gold/script-sections.cc
index a541e9a..5825107 100644
--- a/binutils/gold/script-sections.cc
+++ b/binutils/gold/script-sections.cc
@@ -3051,7 +3051,7 @@
is_current_seg_readonly = true;
}
- current_seg->add_output_section(*p, seg_flags);
+ current_seg->add_output_section(*p, seg_flags, false);
if (((*p)->flags() & elfcpp::SHF_WRITE) != 0)
is_current_seg_readonly = false;
@@ -3130,7 +3130,7 @@
Layout::section_flags_to_segment((*p)->flags());
Output_segment* oseg = layout->make_output_segment(elfcpp::PT_NOTE,
seg_flags);
- oseg->add_output_section(*p, seg_flags);
+ oseg->add_output_section(*p, seg_flags, false);
// Incorporate any subsequent SHT_NOTE sections, in the
// hopes that the script is sensible.
@@ -3139,7 +3139,7 @@
&& (*pnext)->type() == elfcpp::SHT_NOTE)
{
seg_flags = Layout::section_flags_to_segment((*pnext)->flags());
- oseg->add_output_section(*pnext, seg_flags);
+ oseg->add_output_section(*pnext, seg_flags, false);
p = pnext;
++pnext;
}
@@ -3154,14 +3154,14 @@
Layout::section_flags_to_segment((*p)->flags());
Output_segment* oseg = layout->make_output_segment(elfcpp::PT_TLS,
seg_flags);
- oseg->add_output_section(*p, seg_flags);
+ oseg->add_output_section(*p, seg_flags, false);
Layout::Section_list::const_iterator pnext = p + 1;
while (pnext != sections->end()
&& ((*pnext)->flags() & elfcpp::SHF_TLS) != 0)
{
seg_flags = Layout::section_flags_to_segment((*pnext)->flags());
- oseg->add_output_section(*pnext, seg_flags);
+ oseg->add_output_section(*pnext, seg_flags, false);
p = pnext;
++pnext;
}
@@ -3315,7 +3315,7 @@
elfcpp::Elf_Word seg_flags =
Layout::section_flags_to_segment(os->flags());
- r->second->add_output_section(os, seg_flags);
+ r->second->add_output_section(os, seg_flags, false);
if (r->second->type() == elfcpp::PT_LOAD)
{
diff --git a/binutils/gold/sparc.cc b/binutils/gold/sparc.cc
index eac983f..55a04d9 100644
--- a/binutils/gold/sparc.cc
+++ b/binutils/gold/sparc.cc
@@ -1027,7 +1027,7 @@
os = layout->add_output_section_data(".got", elfcpp::SHT_PROGBITS,
(elfcpp::SHF_ALLOC
| elfcpp::SHF_WRITE),
- this->got_);
+ this->got_, false);
os->set_is_relro();
// Define _GLOBAL_OFFSET_TABLE_ at the start of the .got section.
@@ -1053,7 +1053,7 @@
gold_assert(layout != NULL);
this->rela_dyn_ = new Reloc_section(parameters->options().combreloc());
layout->add_output_section_data(".rela.dyn", elfcpp::SHT_RELA,
- elfcpp::SHF_ALLOC, this->rela_dyn_);
+ elfcpp::SHF_ALLOC, this->rela_dyn_, true);
}
return this->rela_dyn_;
}
@@ -1155,7 +1155,7 @@
{
this->rel_ = new Reloc_section(false);
layout->add_output_section_data(".rela.plt", elfcpp::SHT_RELA,
- elfcpp::SHF_ALLOC, this->rel_);
+ elfcpp::SHF_ALLOC, this->rel_, true);
}
template<int size, bool big_endian>
@@ -1372,7 +1372,7 @@
(elfcpp::SHF_ALLOC
| elfcpp::SHF_EXECINSTR
| elfcpp::SHF_WRITE),
- this->plt_);
+ this->plt_, false);
// Define _PROCEDURE_LINKAGE_TABLE_ at the start of the .plt section.
symtab->define_in_output_data("_PROCEDURE_LINKAGE_TABLE_", NULL,
@@ -2334,7 +2334,8 @@
Output_data_dynamic* const odyn = layout->dynamic_data();
if (odyn != NULL)
{
- if (this->plt_ != NULL)
+ if (this->plt_ != NULL
+ && this->plt_->output_section() != NULL)
{
const Output_data* od = this->plt_->rel_plt();
odyn->add_section_size(elfcpp::DT_PLTRELSZ, od);
@@ -2344,7 +2345,8 @@
odyn->add_section_address(elfcpp::DT_PLTGOT, this->plt_);
}
- if (this->rela_dyn_ != NULL)
+ if (this->rela_dyn_ != NULL
+ && this->rela_dyn_->output_section() != NULL)
{
const Output_data* od = this->rela_dyn_;
odyn->add_section_address(elfcpp::DT_RELA, od);
diff --git a/binutils/gold/symtab.cc b/binutils/gold/symtab.cc
index 5dbab35..45c07c9 100644
--- a/binutils/gold/symtab.cc
+++ b/binutils/gold/symtab.cc
@@ -2242,6 +2242,12 @@
// Record any version information.
if (sym->version() != NULL)
versions->record_version(this, dynpool, sym);
+
+ // If the symbol is defined in a dynamic object and is
+ // referenced in a regular object, then mark the dynamic
+ // object as needed. This is used to implement --as-needed.
+ if (sym->is_from_dynobj() && sym->in_reg())
+ sym->object()->set_is_needed();
}
}
diff --git a/binutils/gold/symtab.h b/binutils/gold/symtab.h
index d1cd647..544712d 100644
--- a/binutils/gold/symtab.h
+++ b/binutils/gold/symtab.h
@@ -1488,6 +1488,11 @@
static bool
should_override(const Symbol*, unsigned int, Object*, bool*);
+ // Report a problem in symbol resolution.
+ static void
+ report_resolve_problem(bool is_error, const char* msg, const Symbol* to,
+ Object* object);
+
// Override a symbol.
template<int size, bool big_endian>
void
diff --git a/binutils/gold/testsuite/Makefile.in b/binutils/gold/testsuite/Makefile.in
index 3f5459f..07cb97b 100644
--- a/binutils/gold/testsuite/Makefile.in
+++ b/binutils/gold/testsuite/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11 from Makefile.am.
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
diff --git a/binutils/gold/x86_64.cc b/binutils/gold/x86_64.cc
index 3562065..c6b5f94 100644
--- a/binutils/gold/x86_64.cc
+++ b/binutils/gold/x86_64.cc
@@ -472,7 +472,7 @@
os = layout->add_output_section_data(".got", elfcpp::SHT_PROGBITS,
(elfcpp::SHF_ALLOC
| elfcpp::SHF_WRITE),
- this->got_);
+ this->got_, false);
os->set_is_relro();
// The old GNU linker creates a .got.plt section. We just
@@ -483,7 +483,7 @@
os = layout->add_output_section_data(".got", elfcpp::SHT_PROGBITS,
(elfcpp::SHF_ALLOC
| elfcpp::SHF_WRITE),
- this->got_plt_);
+ this->got_plt_, false);
os->set_is_relro();
// The first three entries are reserved.
@@ -511,7 +511,7 @@
gold_assert(layout != NULL);
this->rela_dyn_ = new Reloc_section(parameters->options().combreloc());
layout->add_output_section_data(".rela.dyn", elfcpp::SHT_RELA,
- elfcpp::SHF_ALLOC, this->rela_dyn_);
+ elfcpp::SHF_ALLOC, this->rela_dyn_, true);
}
return this->rela_dyn_;
}
@@ -611,7 +611,7 @@
{
this->rel_ = new Reloc_section(false);
layout->add_output_section_data(".rela.plt", elfcpp::SHT_RELA,
- elfcpp::SHF_ALLOC, this->rel_);
+ elfcpp::SHF_ALLOC, this->rel_, true);
}
void
@@ -807,7 +807,7 @@
layout->add_output_section_data(".plt", elfcpp::SHT_PROGBITS,
(elfcpp::SHF_ALLOC
| elfcpp::SHF_EXECINSTR),
- this->plt_);
+ this->plt_, false);
}
}
@@ -1659,10 +1659,12 @@
Output_data_dynamic* const odyn = layout->dynamic_data();
if (odyn != NULL)
{
- if (this->got_plt_ != NULL)
+ if (this->got_plt_ != NULL
+ && this->got_plt_->output_section() != NULL)
odyn->add_section_address(elfcpp::DT_PLTGOT, this->got_plt_);
- if (this->plt_ != NULL)
+ if (this->plt_ != NULL
+ && this->plt_->output_section() != NULL)
{
const Output_data* od = this->plt_->rel_plt();
odyn->add_section_size(elfcpp::DT_PLTRELSZ, od);
@@ -1680,7 +1682,8 @@
}
}
- if (this->rela_dyn_ != NULL)
+ if (this->rela_dyn_ != NULL
+ && this->rela_dyn_->output_section() != NULL)
{
const Output_data* od = this->rela_dyn_;
odyn->add_section_address(elfcpp::DT_RELA, od);
diff --git a/binutils/gprof/Makefile.in b/binutils/gprof/Makefile.in
index c67e913..b6ce3ea 100644
--- a/binutils/gprof/Makefile.in
+++ b/binutils/gprof/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11 from Makefile.am.
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
@@ -667,7 +667,7 @@
# (which will cause the Makefiles to be regenerated when you run `make');
# (2) otherwise, pass the desired values on the `make' command line.
$(RECURSIVE_TARGETS):
- @failcom='exit 1'; \
+ @fail= failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \
case $$f in \
*=* | --[!k]*);; \
@@ -692,7 +692,7 @@
fi; test -z "$$fail"
$(RECURSIVE_CLEAN_TARGETS):
- @failcom='exit 1'; \
+ @fail= failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \
case $$f in \
*=* | --[!k]*);; \
diff --git a/binutils/gprof/aclocal.m4 b/binutils/gprof/aclocal.m4
index 791dad0..7ba06ce 100644
--- a/binutils/gprof/aclocal.m4
+++ b/binutils/gprof/aclocal.m4
@@ -1,4 +1,4 @@
-# generated automatically by aclocal 1.11 -*- Autoconf -*-
+# generated automatically by aclocal 1.11.1 -*- Autoconf -*-
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
# 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
@@ -34,7 +34,7 @@
[am__api_version='1.11'
dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
dnl require some minimum version. Point them to the right macro.
-m4_if([$1], [1.11], [],
+m4_if([$1], [1.11.1], [],
[AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
])
@@ -50,7 +50,7 @@
# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
-[AM_AUTOMAKE_VERSION([1.11])dnl
+[AM_AUTOMAKE_VERSION([1.11.1])dnl
m4_ifndef([AC_AUTOCONF_VERSION],
[m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
diff --git a/binutils/gprof/po/gprof.pot b/binutils/gprof/po/gprof.pot
index 68a77a1..ba9a475 100644
--- a/binutils/gprof/po/gprof.pot
+++ b/binutils/gprof/po/gprof.pot
@@ -8,7 +8,7 @@
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: bug-binutils@gnu.org\n"
-"POT-Creation-Date: 2009-09-07 14:10+0200\n"
+"POT-Creation-Date: 2010-03-03 15:06+0100\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"
@@ -245,12 +245,12 @@
msgid "%s: -c not supported on architecture %s\n"
msgstr ""
-#: corefile.c:505 corefile.c:588
+#: corefile.c:505 corefile.c:590
#, c-format
msgid "%s: file `%s' has no symbols\n"
msgstr ""
-#: corefile.c:848
+#: corefile.c:851
#, c-format
msgid "%s: somebody miscounted: ltab.len=%d instead of %ld\n"
msgstr ""
diff --git a/binutils/include/ChangeLog b/binutils/include/ChangeLog
index 9e6fb59..244610a 100644
--- a/binutils/include/ChangeLog
+++ b/binutils/include/ChangeLog
@@ -1,3 +1,13 @@
+2009-10-09 Rafael Espindola <espindola@google.com>
+
+ * plugin-api.h (ld_plugin_add_input_library): Change argument name to
+ libname.
+
+2008-10-03 Rafael Espindola <espindola@google.com>
+
+ * plugin-api.h: New.
+ * lto-symtab.h: New.
+
2009-09-09 Martin Thuresson <martin@mtme.org>
* bfdlink.h (struct bfd_link_hash_common_entry): Move to top
diff --git a/binutils/include/elf/ChangeLog b/binutils/include/elf/ChangeLog
index a33fb84..12c90e9 100644
--- a/binutils/include/elf/ChangeLog
+++ b/binutils/include/elf/ChangeLog
@@ -1,3 +1,9 @@
+2009-12-17 Alan Modra <amodra@bigpond.net.au>
+
+ * ppc.h (R_PPC_RELAX32, R_PPC_RELAX32PC, R_PPC_RELAX32_PLT,
+ R_PPC_RELAX32PC_PLT): Delete.
+ (R_PPC_RELAX, R_PPC_RELAX_PLT, R_PPC_RELAX_PLTREL24): Define.
+
2009-09-21 Alan Modra <amodra@bigpond.net.au>
* ppc.h (DT_PPC_TLSOPT): Define.
diff --git a/binutils/include/elf/ppc.h b/binutils/include/elf/ppc.h
index e2de0ad..a77c833 100644
--- a/binutils/include/elf/ppc.h
+++ b/binutils/include/elf/ppc.h
@@ -73,10 +73,9 @@
#ifndef RELOC_MACROS_GEN_FUNC
/* Fake relocations for branch stubs, only used internally by ld. */
- RELOC_NUMBER (R_PPC_RELAX32, 48)
- RELOC_NUMBER (R_PPC_RELAX32PC, 49)
- RELOC_NUMBER (R_PPC_RELAX32_PLT, 50)
- RELOC_NUMBER (R_PPC_RELAX32PC_PLT, 51)
+ RELOC_NUMBER (R_PPC_RELAX, 48)
+ RELOC_NUMBER (R_PPC_RELAX_PLT, 49)
+ RELOC_NUMBER (R_PPC_RELAX_PLTREL24, 50)
#endif
/* Relocs added to support TLS. */
diff --git a/binutils/include/plugin-api.h b/binutils/include/plugin-api.h
index f536d57..a026e7a 100644
--- a/binutils/include/plugin-api.h
+++ b/binutils/include/plugin-api.h
@@ -1,6 +1,6 @@
/* plugin-api.h -- External linker plugin API. */
-/* Copyright 2008 Free Software Foundation, Inc.
+/* Copyright 2009 Free Software Foundation, Inc.
Written by Cary Coutant <ccoutant@google.com>.
This file is part of binutils.
@@ -111,13 +111,34 @@
enum ld_plugin_symbol_resolution
{
LDPR_UNKNOWN = 0,
+
+ /* Symbol is still undefined at this point. */
LDPR_UNDEF,
+
+ /* This is the prevailing definition of the symbol, with references from
+ regular object code. */
LDPR_PREVAILING_DEF,
+
+ /* This is the prevailing definition of the symbol, with no
+ references from regular objects. It is only referenced from IR
+ code. */
LDPR_PREVAILING_DEF_IRONLY,
+
+ /* This definition was pre-empted by a definition in a regular
+ object file. */
LDPR_PREEMPTED_REG,
+
+ /* This definition was pre-empted by a definition in another IR file. */
LDPR_PREEMPTED_IR,
+
+ /* This symbol was resolved by a definition in another IR file. */
LDPR_RESOLVED_IR,
+
+ /* This symbol was resolved by a definition in a regular object
+ linked into the main executable. */
LDPR_RESOLVED_EXEC,
+
+ /* This symbol was resolved by a definition in a shared object. */
LDPR_RESOLVED_DYN
};
@@ -193,6 +214,12 @@
enum ld_plugin_status
(*ld_plugin_add_input_file) (char *pathname);
+/* The linker's interface for adding a library that should be searched. */
+
+typedef
+enum ld_plugin_status
+(*ld_plugin_add_input_library) (char *libname);
+
/* The linker's interface for issuing a warning or error message. */
typedef
@@ -224,7 +251,8 @@
LDPT_ADD_INPUT_FILE,
LDPT_MESSAGE,
LDPT_GET_INPUT_FILE,
- LDPT_RELEASE_INPUT_FILE
+ LDPT_RELEASE_INPUT_FILE,
+ LDPT_ADD_INPUT_LIBRARY
};
/* The plugin transfer vector. */
@@ -245,6 +273,7 @@
ld_plugin_message tv_message;
ld_plugin_get_input_file tv_get_input_file;
ld_plugin_release_input_file tv_release_input_file;
+ ld_plugin_add_input_library tv_add_input_library;
} tv_u;
};
diff --git a/binutils/ld/ChangeLog b/binutils/ld/ChangeLog
index 31c0348..949be72 100644
--- a/binutils/ld/ChangeLog
+++ b/binutils/ld/ChangeLog
@@ -1,3 +1,33 @@
+2010-02-10 Richard Sandiford <r.sandiford@uk.ibm.com>
+
+ * Makefile.am (CFILES): Add ldlex-wrapper.c.
+ (OFILES): Replace ldlex.c with ldlex-wrapper.c.
+ (ldlex.o): Replace with...
+ (ldlex-wrapper.o): ...this new rule.
+ (EXTRA_ld_new_SOURCES): Add ldlex.l.
+ (ld_new_SOURCES): Replace ldlex.l with ldlex-wrapper.c.
+ * Makefile.in: Regenerate.
+ * ldlex.l (sysdep.h): Don't include here.
+ * ldlex-wrapper.c: New file.
+
+2010-01-08 Alan Modra <amodra@gmail.com>
+
+ PR 11107
+ * emultempl/vxworks.em: Expand tr arguments to suit non-GNU tr.
+
+2009-12-17 Dave Korn <dave.korn.cygwin@gmail.com>
+
+ * pe-dll.c (generate_reloc): Take account of wrapper options when
+ testing if a weak symbol is defined or not, and when it is not,
+ consider whether the default value requires a base reloc anyway.
+
+2009-12-09 Alan Modra <amodra@bigpond.net.au>
+
+ PR ld/11012
+ * emulparams/elf64ppc.sh (OTHER_GOT_RELOC_SECTIONS): Move .rela.opd ..
+ (INITIAL_RELOC_SECTIONS): .. to here. New define.
+ * scripttempl/elf.sc: Expand INITIAL_RELOC_SECTIONS.
+
2009-10-14 Andreas Schwab <schwab@linux-m68k.org>
* ldlex.l (yy_input): Remove second argument and return the value
diff --git a/binutils/ld/Makefile.am b/binutils/ld/Makefile.am
index 7c4444b..d8bd1f9 100644
--- a/binutils/ld/Makefile.am
+++ b/binutils/ld/Makefile.am
@@ -446,7 +446,7 @@
CFILES = ldctor.c ldemul.c ldexp.c ldfile.c ldlang.c \
ldmain.c ldmisc.c ldver.c ldwrite.c lexsup.c \
- mri.c ldcref.c pe-dll.c pep-dll.c
+ mri.c ldcref.c pe-dll.c pep-dll.c ldlex-wrapper.c
HFILES = ld.h ldctor.h ldemul.h ldexp.h ldfile.h \
ldlang.h ldlex.h ldmain.h ldmisc.h ldver.h \
@@ -459,7 +459,7 @@
# tracking will not cause them to be built beforehand.
BUILT_SOURCES = $(GENERATED_HFILES)
-OFILES = ldgram.o ldlex.o lexsup.o ldlang.o mri.o ldctor.o ldmain.o \
+OFILES = ldgram.o ldlex-wrapper.o lexsup.o ldlang.o mri.o ldctor.o ldmain.o \
ldwrite.o ldexp.o ldemul.o ldver.o ldmisc.o \
ldfile.o ldcref.o ${EMULATION_OFILES} ${EMUL_EXTRA_OFILES}
@@ -479,16 +479,16 @@
$(COMPILE) -c `test -f ldgram.c || echo $(srcdir)/`ldgram.c $(NO_WERROR)
endif
-ldlex.o: ldlex.c
+ldlex-wrapper.o: ldlex-wrapper.c ldlex.c
if am__fastdepCC
- $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `test -f ldlex.c || echo $(srcdir)/`ldlex.c $(NO_WERROR)
+ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $(srcdir)/ldlex-wrapper.c $(NO_WERROR)
mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
else
if AMDEP
- source='ldlex.c' object='$@' libtool=no @AMDEPBACKSLASH@
+ source='ldlex-wrapper.c' object='$@' libtool=no @AMDEPBACKSLASH@
DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
endif
- $(COMPILE) -c `test -f ldlex.c || echo $(srcdir)/`ldlex.c $(NO_WERROR)
+ $(COMPILE) -c $(srcdir)/ldlex-wrapper.c $(NO_WERROR)
endif
deffilep.o: deffilep.c
@@ -1833,11 +1833,11 @@
${GENSCRIPTS} z8002 "$(tdir_z8002)"
# We need this for automake to use YLWRAP.
-EXTRA_ld_new_SOURCES = deffilep.y
+EXTRA_ld_new_SOURCES = deffilep.y ldlex.l
# Allow dependency tracking to work for these files, too.
EXTRA_ld_new_SOURCES += pep-dll.c pe-dll.c
-ld_new_SOURCES = ldgram.y ldlex.l lexsup.c ldlang.c mri.c ldctor.c ldmain.c \
+ld_new_SOURCES = ldgram.y ldlex-wrapper.c lexsup.c ldlang.c mri.c ldctor.c ldmain.c \
ldwrite.c ldexp.c ldemul.c ldver.c ldmisc.c ldfile.c ldcref.c
ld_new_DEPENDENCIES = $(EMULATION_OFILES) $(EMUL_EXTRA_OFILES) $(BFDLIB) $(LIBIBERTY) $(LIBINTL_DEP)
ld_new_LDADD = $(EMULATION_OFILES) $(EMUL_EXTRA_OFILES) $(BFDLIB) $(LIBIBERTY) $(LIBINTL)
diff --git a/binutils/ld/Makefile.in b/binutils/ld/Makefile.in
index 8aabafb..3a8b4f5 100644
--- a/binutils/ld/Makefile.in
+++ b/binutils/ld/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11 from Makefile.am.
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
@@ -45,7 +45,7 @@
$(srcdir)/Makefile.am $(top_srcdir)/configure \
$(am__configure_deps) $(srcdir)/config.in \
$(srcdir)/../mkinstalldirs $(top_srcdir)/po/Make-in ldgram.h \
- ldgram.c ldlex.c deffilep.h deffilep.c $(srcdir)/../depcomp \
+ ldgram.c deffilep.h deffilep.c ldlex.c $(srcdir)/../depcomp \
$(srcdir)/../ylwrap $(ld_TEXINFOS)
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/../bfd/acinclude.m4 \
@@ -71,11 +71,11 @@
am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(infodir)" \
"$(DESTDIR)$(man1dir)"
PROGRAMS = $(bin_PROGRAMS)
-am_ld_new_OBJECTS = ldgram.$(OBJEXT) ldlex.$(OBJEXT) lexsup.$(OBJEXT) \
- ldlang.$(OBJEXT) mri.$(OBJEXT) ldctor.$(OBJEXT) \
- ldmain.$(OBJEXT) ldwrite.$(OBJEXT) ldexp.$(OBJEXT) \
- ldemul.$(OBJEXT) ldver.$(OBJEXT) ldmisc.$(OBJEXT) \
- ldfile.$(OBJEXT) ldcref.$(OBJEXT)
+am_ld_new_OBJECTS = ldgram.$(OBJEXT) ldlex-wrapper.$(OBJEXT) \
+ lexsup.$(OBJEXT) ldlang.$(OBJEXT) mri.$(OBJEXT) \
+ ldctor.$(OBJEXT) ldmain.$(OBJEXT) ldwrite.$(OBJEXT) \
+ ldexp.$(OBJEXT) ldemul.$(OBJEXT) ldver.$(OBJEXT) \
+ ldmisc.$(OBJEXT) ldfile.$(OBJEXT) ldcref.$(OBJEXT)
ld_new_OBJECTS = $(am_ld_new_OBJECTS)
am__DEPENDENCIES_1 =
DEFAULT_INCLUDES = -I.@am__isrc@
@@ -732,7 +732,7 @@
CFILES = ldctor.c ldemul.c ldexp.c ldfile.c ldlang.c \
ldmain.c ldmisc.c ldver.c ldwrite.c lexsup.c \
- mri.c ldcref.c pe-dll.c pep-dll.c
+ mri.c ldcref.c pe-dll.c pep-dll.c ldlex-wrapper.c
HFILES = ld.h ldctor.h ldemul.h ldexp.h ldfile.h \
ldlang.h ldlex.h ldmain.h ldmisc.h ldver.h \
@@ -744,7 +744,7 @@
# Require an early dependency on the generated headers, as the dependency
# tracking will not cause them to be built beforehand.
BUILT_SOURCES = $(GENERATED_HFILES)
-OFILES = ldgram.o ldlex.o lexsup.o ldlang.o mri.o ldctor.o ldmain.o \
+OFILES = ldgram.o ldlex-wrapper.o lexsup.o ldlang.o mri.o ldctor.o ldmain.o \
ldwrite.o ldexp.o ldemul.o ldver.o ldmisc.o \
ldfile.o ldcref.o ${EMULATION_OFILES} ${EMUL_EXTRA_OFILES}
@@ -765,9 +765,9 @@
# Allow dependency tracking to work for these files, too.
# Dependency tracking for the generated emulation files.
-EXTRA_ld_new_SOURCES = deffilep.y pep-dll.c pe-dll.c \
+EXTRA_ld_new_SOURCES = deffilep.y ldlex.l pep-dll.c pe-dll.c \
$(ALL_EMULATIONS:.o=.c) $(ALL_64_EMULATIONS:.o=.c)
-ld_new_SOURCES = ldgram.y ldlex.l lexsup.c ldlang.c mri.c ldctor.c ldmain.c \
+ld_new_SOURCES = ldgram.y ldlex-wrapper.c lexsup.c ldlang.c mri.c ldctor.c ldmain.c \
ldwrite.c ldexp.c ldemul.c ldver.c ldmisc.c ldfile.c ldcref.c
ld_new_DEPENDENCIES = $(EMULATION_OFILES) $(EMUL_EXTRA_OFILES) $(BFDLIB) $(LIBIBERTY) $(LIBINTL_DEP)
@@ -1240,6 +1240,7 @@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ldfile.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ldgram.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ldlang.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ldlex-wrapper.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ldlex.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ldmain.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ldmisc.Po@am__quote@
@@ -1469,7 +1470,7 @@
# (which will cause the Makefiles to be regenerated when you run `make');
# (2) otherwise, pass the desired values on the `make' command line.
$(RECURSIVE_TARGETS):
- @failcom='exit 1'; \
+ @fail= failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \
case $$f in \
*=* | --[!k]*);; \
@@ -1494,7 +1495,7 @@
fi; test -z "$$fail"
$(RECURSIVE_CLEAN_TARGETS):
- @failcom='exit 1'; \
+ @fail= failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \
case $$f in \
*=* | --[!k]*);; \
@@ -1858,12 +1859,12 @@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(COMPILE) -c `test -f ldgram.c || echo $(srcdir)/`ldgram.c $(NO_WERROR)
-ldlex.o: ldlex.c
-@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `test -f ldlex.c || echo $(srcdir)/`ldlex.c $(NO_WERROR)
+ldlex-wrapper.o: ldlex-wrapper.c ldlex.c
+@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $(srcdir)/ldlex-wrapper.c $(NO_WERROR)
@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='ldlex.c' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='ldlex-wrapper.c' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(COMPILE) -c `test -f ldlex.c || echo $(srcdir)/`ldlex.c $(NO_WERROR)
+@am__fastdepCC_FALSE@ $(COMPILE) -c $(srcdir)/ldlex-wrapper.c $(NO_WERROR)
deffilep.o: deffilep.c
@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `test -f deffilep.c || echo $(srcdir)/`deffilep.c $(NO_WERROR)
diff --git a/binutils/ld/aclocal.m4 b/binutils/ld/aclocal.m4
index dac3fdc..3845ecd 100644
--- a/binutils/ld/aclocal.m4
+++ b/binutils/ld/aclocal.m4
@@ -1,4 +1,4 @@
-# generated automatically by aclocal 1.11 -*- Autoconf -*-
+# generated automatically by aclocal 1.11.1 -*- Autoconf -*-
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
# 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
@@ -34,7 +34,7 @@
[am__api_version='1.11'
dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
dnl require some minimum version. Point them to the right macro.
-m4_if([$1], [1.11], [],
+m4_if([$1], [1.11.1], [],
[AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
])
@@ -50,7 +50,7 @@
# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
-[AM_AUTOMAKE_VERSION([1.11])dnl
+[AM_AUTOMAKE_VERSION([1.11.1])dnl
m4_ifndef([AC_AUTOCONF_VERSION],
[m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
diff --git a/binutils/ld/emulparams/elf64ppc.sh b/binutils/ld/emulparams/elf64ppc.sh
index b9631b6..c9337ea 100644
--- a/binutils/ld/emulparams/elf64ppc.sh
+++ b/binutils/ld/emulparams/elf64ppc.sh
@@ -28,9 +28,11 @@
.got 0 : { *(.got) }
.toc 0 : { *(.toc) }"
fi
+# Put .opd relocs first so ld.so will process them before any ifunc relocs.
+INITIAL_RELOC_SECTIONS="
+ .rela.opd ${RELOCATING-0} : { *(.rela.opd) }"
OTHER_GOT_RELOC_SECTIONS="
.rela.toc ${RELOCATING-0} : { *(.rela.toc) }
- .rela.opd ${RELOCATING-0} : { *(.rela.opd) }
.rela.branch_lt ${RELOCATING-0} : { *(.rela.branch_lt) }"
OTHER_READWRITE_SECTIONS="
.toc1 ${RELOCATING-0} :${RELOCATING+ ALIGN(8)} { *(.toc1) }
diff --git a/binutils/ld/emultempl/vxworks.em b/binutils/ld/emultempl/vxworks.em
index 3748ddb..7a21ac3 100644
--- a/binutils/ld/emultempl/vxworks.em
+++ b/binutils/ld/emultempl/vxworks.em
@@ -1,5 +1,5 @@
# This shell script emits a C file. -*- C -*-
-# Copyright 2006, 2007, 2008 Free Software Foundation, Inc.
+# Copyright 2006, 2007, 2008, 2010 Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
#
@@ -90,7 +90,7 @@
# something other than gld${EMULATION_NAME}_foo. We handle
# this case in the same way as (1).
for override in before_parse after_open; do
- var="LDEMUL_`echo ${override} | tr a-z A-Z`"
+ var="LDEMUL_`echo ${override} | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`"
eval value=\$${var}
if test "${value}" = "gld${EMULATION_NAME}_${override}"; then
fragment <<EOF
diff --git a/binutils/ld/ldlex-wrapper.c b/binutils/ld/ldlex-wrapper.c
new file mode 100644
index 0000000..ef2beba
--- /dev/null
+++ b/binutils/ld/ldlex-wrapper.c
@@ -0,0 +1,6 @@
+/* The flex output (ldlex.c) includes stdio.h before any of the C code
+ in ldlex.l. Make sure we include sysdep.h first, so that config.h
+ can select the correct value of things like _FILE_OFFSET_BITS and
+ _LARGE_FILES. */
+#include "sysdep.h"
+#include "ldlex.c"
diff --git a/binutils/ld/ldlex.c b/binutils/ld/ldlex.c
index 49de3f3..cc51945 100644
--- a/binutils/ld/ldlex.c
+++ b/binutils/ld/ldlex.c
@@ -1,5 +1,5 @@
-#line 3 "ldlex.c"
+#line 3 "/Users/gingold/Repositories/fsf/binutils-2_20/ld/ldlex.c"
#define YY_INT_ALIGNED short int
@@ -1582,7 +1582,6 @@
Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
MA 02110-1301, USA. */
-#include "sysdep.h"
#include "bfd.h"
#include "safe-ctype.h"
#include "bfdlink.h"
@@ -1656,7 +1655,7 @@
-#line 1660 "ldlex.c"
+#line 1659 "/Users/gingold/Repositories/fsf/binutils-2_20/ld/ldlex.c"
#define INITIAL 0
#define SCRIPT 1
@@ -1846,7 +1845,7 @@
register char *yy_cp, *yy_bp;
register int yy_act;
-#line 117 "ldlex.l"
+#line 116 "ldlex.l"
if (parser_input != input_selected)
@@ -1865,7 +1864,7 @@
}
}
-#line 1869 "ldlex.c"
+#line 1868 "/Users/gingold/Repositories/fsf/binutils-2_20/ld/ldlex.c"
if ( !(yy_init) )
{
@@ -1950,32 +1949,32 @@
case 1:
YY_RULE_SETUP
-#line 135 "ldlex.l"
+#line 134 "ldlex.l"
{ comment (); }
YY_BREAK
case 2:
YY_RULE_SETUP
-#line 138 "ldlex.l"
+#line 137 "ldlex.l"
{ RTOKEN('-');}
YY_BREAK
case 3:
YY_RULE_SETUP
-#line 139 "ldlex.l"
+#line 138 "ldlex.l"
{ RTOKEN('+');}
YY_BREAK
case 4:
YY_RULE_SETUP
-#line 140 "ldlex.l"
+#line 139 "ldlex.l"
{ yylval.name = xstrdup (yytext); return NAME; }
YY_BREAK
case 5:
YY_RULE_SETUP
-#line 141 "ldlex.l"
+#line 140 "ldlex.l"
{ RTOKEN('='); }
YY_BREAK
case 6:
YY_RULE_SETUP
-#line 143 "ldlex.l"
+#line 142 "ldlex.l"
{
yylval.integer = bfd_scan_vma (yytext + 1, 0, 16);
yylval.bigint.str = NULL;
@@ -1984,7 +1983,7 @@
YY_BREAK
case 7:
YY_RULE_SETUP
-#line 149 "ldlex.l"
+#line 148 "ldlex.l"
{
int ibase ;
switch (yytext[yyleng - 1]) {
@@ -2013,7 +2012,7 @@
YY_BREAK
case 8:
YY_RULE_SETUP
-#line 174 "ldlex.l"
+#line 173 "ldlex.l"
{
char *s = yytext;
int ibase = 0;
@@ -2046,789 +2045,789 @@
YY_BREAK
case 9:
YY_RULE_SETUP
-#line 203 "ldlex.l"
+#line 202 "ldlex.l"
{ RTOKEN(']');}
YY_BREAK
case 10:
YY_RULE_SETUP
-#line 204 "ldlex.l"
+#line 203 "ldlex.l"
{ RTOKEN('[');}
YY_BREAK
case 11:
YY_RULE_SETUP
-#line 205 "ldlex.l"
+#line 204 "ldlex.l"
{ RTOKEN(LSHIFTEQ);}
YY_BREAK
case 12:
YY_RULE_SETUP
-#line 206 "ldlex.l"
+#line 205 "ldlex.l"
{ RTOKEN(RSHIFTEQ);}
YY_BREAK
case 13:
YY_RULE_SETUP
-#line 207 "ldlex.l"
+#line 206 "ldlex.l"
{ RTOKEN(OROR);}
YY_BREAK
case 14:
YY_RULE_SETUP
-#line 208 "ldlex.l"
+#line 207 "ldlex.l"
{ RTOKEN(EQ);}
YY_BREAK
case 15:
YY_RULE_SETUP
-#line 209 "ldlex.l"
+#line 208 "ldlex.l"
{ RTOKEN(NE);}
YY_BREAK
case 16:
YY_RULE_SETUP
-#line 210 "ldlex.l"
+#line 209 "ldlex.l"
{ RTOKEN(GE);}
YY_BREAK
case 17:
YY_RULE_SETUP
-#line 211 "ldlex.l"
+#line 210 "ldlex.l"
{ RTOKEN(LE);}
YY_BREAK
case 18:
YY_RULE_SETUP
-#line 212 "ldlex.l"
+#line 211 "ldlex.l"
{ RTOKEN(LSHIFT);}
YY_BREAK
case 19:
YY_RULE_SETUP
-#line 213 "ldlex.l"
+#line 212 "ldlex.l"
{ RTOKEN(RSHIFT);}
YY_BREAK
case 20:
YY_RULE_SETUP
-#line 214 "ldlex.l"
+#line 213 "ldlex.l"
{ RTOKEN(PLUSEQ);}
YY_BREAK
case 21:
YY_RULE_SETUP
-#line 215 "ldlex.l"
+#line 214 "ldlex.l"
{ RTOKEN(MINUSEQ);}
YY_BREAK
case 22:
YY_RULE_SETUP
-#line 216 "ldlex.l"
+#line 215 "ldlex.l"
{ RTOKEN(MULTEQ);}
YY_BREAK
case 23:
YY_RULE_SETUP
-#line 217 "ldlex.l"
+#line 216 "ldlex.l"
{ RTOKEN(DIVEQ);}
YY_BREAK
case 24:
YY_RULE_SETUP
-#line 218 "ldlex.l"
+#line 217 "ldlex.l"
{ RTOKEN(ANDEQ);}
YY_BREAK
case 25:
YY_RULE_SETUP
-#line 219 "ldlex.l"
+#line 218 "ldlex.l"
{ RTOKEN(OREQ);}
YY_BREAK
case 26:
YY_RULE_SETUP
-#line 220 "ldlex.l"
+#line 219 "ldlex.l"
{ RTOKEN(ANDAND);}
YY_BREAK
case 27:
YY_RULE_SETUP
-#line 221 "ldlex.l"
+#line 220 "ldlex.l"
{ RTOKEN('>');}
YY_BREAK
case 28:
YY_RULE_SETUP
-#line 222 "ldlex.l"
+#line 221 "ldlex.l"
{ RTOKEN(',');}
YY_BREAK
case 29:
YY_RULE_SETUP
-#line 223 "ldlex.l"
+#line 222 "ldlex.l"
{ RTOKEN('&');}
YY_BREAK
case 30:
YY_RULE_SETUP
-#line 224 "ldlex.l"
+#line 223 "ldlex.l"
{ RTOKEN('|');}
YY_BREAK
case 31:
YY_RULE_SETUP
-#line 225 "ldlex.l"
+#line 224 "ldlex.l"
{ RTOKEN('~');}
YY_BREAK
case 32:
YY_RULE_SETUP
-#line 226 "ldlex.l"
+#line 225 "ldlex.l"
{ RTOKEN('!');}
YY_BREAK
case 33:
YY_RULE_SETUP
-#line 227 "ldlex.l"
+#line 226 "ldlex.l"
{ RTOKEN('?');}
YY_BREAK
case 34:
YY_RULE_SETUP
-#line 228 "ldlex.l"
+#line 227 "ldlex.l"
{ RTOKEN('*');}
YY_BREAK
case 35:
YY_RULE_SETUP
-#line 229 "ldlex.l"
+#line 228 "ldlex.l"
{ RTOKEN('+');}
YY_BREAK
case 36:
YY_RULE_SETUP
-#line 230 "ldlex.l"
+#line 229 "ldlex.l"
{ RTOKEN('-');}
YY_BREAK
case 37:
YY_RULE_SETUP
-#line 231 "ldlex.l"
+#line 230 "ldlex.l"
{ RTOKEN('/');}
YY_BREAK
case 38:
YY_RULE_SETUP
-#line 232 "ldlex.l"
+#line 231 "ldlex.l"
{ RTOKEN('%');}
YY_BREAK
case 39:
YY_RULE_SETUP
-#line 233 "ldlex.l"
+#line 232 "ldlex.l"
{ RTOKEN('<');}
YY_BREAK
case 40:
YY_RULE_SETUP
-#line 234 "ldlex.l"
+#line 233 "ldlex.l"
{ RTOKEN('=');}
YY_BREAK
case 41:
YY_RULE_SETUP
-#line 235 "ldlex.l"
+#line 234 "ldlex.l"
{ RTOKEN('}') ; }
YY_BREAK
case 42:
YY_RULE_SETUP
-#line 236 "ldlex.l"
+#line 235 "ldlex.l"
{ RTOKEN('{'); }
YY_BREAK
case 43:
YY_RULE_SETUP
-#line 237 "ldlex.l"
+#line 236 "ldlex.l"
{ RTOKEN(')');}
YY_BREAK
case 44:
YY_RULE_SETUP
-#line 238 "ldlex.l"
+#line 237 "ldlex.l"
{ RTOKEN('(');}
YY_BREAK
case 45:
YY_RULE_SETUP
-#line 239 "ldlex.l"
+#line 238 "ldlex.l"
{ RTOKEN(':'); }
YY_BREAK
case 46:
YY_RULE_SETUP
-#line 240 "ldlex.l"
+#line 239 "ldlex.l"
{ RTOKEN(';');}
YY_BREAK
case 47:
YY_RULE_SETUP
-#line 241 "ldlex.l"
+#line 240 "ldlex.l"
{ RTOKEN(MEMORY);}
YY_BREAK
case 48:
YY_RULE_SETUP
-#line 242 "ldlex.l"
+#line 241 "ldlex.l"
{ RTOKEN(REGION_ALIAS);}
YY_BREAK
case 49:
YY_RULE_SETUP
-#line 243 "ldlex.l"
+#line 242 "ldlex.l"
{ RTOKEN(ORIGIN);}
YY_BREAK
case 50:
YY_RULE_SETUP
-#line 244 "ldlex.l"
+#line 243 "ldlex.l"
{ RTOKEN(VERSIONK);}
YY_BREAK
case 51:
YY_RULE_SETUP
-#line 245 "ldlex.l"
+#line 244 "ldlex.l"
{ RTOKEN(BLOCK);}
YY_BREAK
case 52:
YY_RULE_SETUP
-#line 246 "ldlex.l"
+#line 245 "ldlex.l"
{ RTOKEN(BIND);}
YY_BREAK
case 53:
YY_RULE_SETUP
-#line 247 "ldlex.l"
+#line 246 "ldlex.l"
{ RTOKEN(LENGTH);}
YY_BREAK
case 54:
YY_RULE_SETUP
-#line 248 "ldlex.l"
+#line 247 "ldlex.l"
{ RTOKEN(ALIGN_K);}
YY_BREAK
case 55:
YY_RULE_SETUP
-#line 249 "ldlex.l"
+#line 248 "ldlex.l"
{ RTOKEN(DATA_SEGMENT_ALIGN);}
YY_BREAK
case 56:
YY_RULE_SETUP
-#line 250 "ldlex.l"
+#line 249 "ldlex.l"
{ RTOKEN(DATA_SEGMENT_RELRO_END);}
YY_BREAK
case 57:
YY_RULE_SETUP
-#line 251 "ldlex.l"
+#line 250 "ldlex.l"
{ RTOKEN(DATA_SEGMENT_END);}
YY_BREAK
case 58:
YY_RULE_SETUP
-#line 252 "ldlex.l"
+#line 251 "ldlex.l"
{ RTOKEN(ADDR);}
YY_BREAK
case 59:
YY_RULE_SETUP
-#line 253 "ldlex.l"
+#line 252 "ldlex.l"
{ RTOKEN(LOADADDR);}
YY_BREAK
case 60:
YY_RULE_SETUP
-#line 254 "ldlex.l"
+#line 253 "ldlex.l"
{ RTOKEN(ALIGNOF); }
YY_BREAK
case 61:
YY_RULE_SETUP
-#line 255 "ldlex.l"
+#line 254 "ldlex.l"
{ RTOKEN(MAX_K); }
YY_BREAK
case 62:
YY_RULE_SETUP
-#line 256 "ldlex.l"
+#line 255 "ldlex.l"
{ RTOKEN(MIN_K); }
YY_BREAK
case 63:
YY_RULE_SETUP
-#line 257 "ldlex.l"
+#line 256 "ldlex.l"
{ RTOKEN(ASSERT_K); }
YY_BREAK
case 64:
YY_RULE_SETUP
-#line 258 "ldlex.l"
+#line 257 "ldlex.l"
{ RTOKEN(ENTRY);}
YY_BREAK
case 65:
YY_RULE_SETUP
-#line 259 "ldlex.l"
+#line 258 "ldlex.l"
{ RTOKEN(EXTERN);}
YY_BREAK
case 66:
YY_RULE_SETUP
-#line 260 "ldlex.l"
+#line 259 "ldlex.l"
{ RTOKEN(NEXT);}
YY_BREAK
case 67:
YY_RULE_SETUP
-#line 261 "ldlex.l"
+#line 260 "ldlex.l"
{ RTOKEN(SIZEOF_HEADERS);}
YY_BREAK
case 68:
YY_RULE_SETUP
-#line 262 "ldlex.l"
+#line 261 "ldlex.l"
{ RTOKEN(SIZEOF_HEADERS);}
YY_BREAK
case 69:
YY_RULE_SETUP
-#line 263 "ldlex.l"
+#line 262 "ldlex.l"
{ RTOKEN(SEGMENT_START);}
YY_BREAK
case 70:
YY_RULE_SETUP
-#line 264 "ldlex.l"
+#line 263 "ldlex.l"
{ RTOKEN(MAP);}
YY_BREAK
case 71:
YY_RULE_SETUP
-#line 265 "ldlex.l"
+#line 264 "ldlex.l"
{ RTOKEN(SIZEOF);}
YY_BREAK
case 72:
YY_RULE_SETUP
-#line 266 "ldlex.l"
+#line 265 "ldlex.l"
{ RTOKEN(TARGET_K);}
YY_BREAK
case 73:
YY_RULE_SETUP
-#line 267 "ldlex.l"
+#line 266 "ldlex.l"
{ RTOKEN(SEARCH_DIR);}
YY_BREAK
case 74:
YY_RULE_SETUP
-#line 268 "ldlex.l"
+#line 267 "ldlex.l"
{ RTOKEN(OUTPUT);}
YY_BREAK
case 75:
YY_RULE_SETUP
-#line 269 "ldlex.l"
+#line 268 "ldlex.l"
{ RTOKEN(INPUT);}
YY_BREAK
case 76:
YY_RULE_SETUP
-#line 270 "ldlex.l"
+#line 269 "ldlex.l"
{ RTOKEN(GROUP);}
YY_BREAK
case 77:
YY_RULE_SETUP
-#line 271 "ldlex.l"
+#line 270 "ldlex.l"
{ RTOKEN(AS_NEEDED);}
YY_BREAK
case 78:
YY_RULE_SETUP
-#line 272 "ldlex.l"
+#line 271 "ldlex.l"
{ RTOKEN(DEFINED);}
YY_BREAK
case 79:
YY_RULE_SETUP
-#line 273 "ldlex.l"
+#line 272 "ldlex.l"
{ RTOKEN(CREATE_OBJECT_SYMBOLS);}
YY_BREAK
case 80:
YY_RULE_SETUP
-#line 274 "ldlex.l"
+#line 273 "ldlex.l"
{ RTOKEN( CONSTRUCTORS);}
YY_BREAK
case 81:
YY_RULE_SETUP
-#line 275 "ldlex.l"
+#line 274 "ldlex.l"
{ RTOKEN(FORCE_COMMON_ALLOCATION);}
YY_BREAK
case 82:
YY_RULE_SETUP
-#line 276 "ldlex.l"
+#line 275 "ldlex.l"
{ RTOKEN(INHIBIT_COMMON_ALLOCATION);}
YY_BREAK
case 83:
YY_RULE_SETUP
-#line 277 "ldlex.l"
+#line 276 "ldlex.l"
{ RTOKEN(SECTIONS);}
YY_BREAK
case 84:
YY_RULE_SETUP
-#line 278 "ldlex.l"
+#line 277 "ldlex.l"
{ RTOKEN(INSERT_K);}
YY_BREAK
case 85:
YY_RULE_SETUP
-#line 279 "ldlex.l"
+#line 278 "ldlex.l"
{ RTOKEN(AFTER);}
YY_BREAK
case 86:
YY_RULE_SETUP
-#line 280 "ldlex.l"
+#line 279 "ldlex.l"
{ RTOKEN(BEFORE);}
YY_BREAK
case 87:
YY_RULE_SETUP
-#line 281 "ldlex.l"
+#line 280 "ldlex.l"
{ RTOKEN(FILL);}
YY_BREAK
case 88:
YY_RULE_SETUP
-#line 282 "ldlex.l"
+#line 281 "ldlex.l"
{ RTOKEN(STARTUP);}
YY_BREAK
case 89:
YY_RULE_SETUP
-#line 283 "ldlex.l"
+#line 282 "ldlex.l"
{ RTOKEN(OUTPUT_FORMAT);}
YY_BREAK
case 90:
YY_RULE_SETUP
-#line 284 "ldlex.l"
+#line 283 "ldlex.l"
{ RTOKEN( OUTPUT_ARCH);}
YY_BREAK
case 91:
YY_RULE_SETUP
-#line 285 "ldlex.l"
+#line 284 "ldlex.l"
{ RTOKEN(HLL);}
YY_BREAK
case 92:
YY_RULE_SETUP
-#line 286 "ldlex.l"
+#line 285 "ldlex.l"
{ RTOKEN(SYSLIB);}
YY_BREAK
case 93:
YY_RULE_SETUP
-#line 287 "ldlex.l"
+#line 286 "ldlex.l"
{ RTOKEN(FLOAT);}
YY_BREAK
case 94:
YY_RULE_SETUP
-#line 288 "ldlex.l"
+#line 287 "ldlex.l"
{ RTOKEN( QUAD);}
YY_BREAK
case 95:
YY_RULE_SETUP
-#line 289 "ldlex.l"
+#line 288 "ldlex.l"
{ RTOKEN( SQUAD);}
YY_BREAK
case 96:
YY_RULE_SETUP
-#line 290 "ldlex.l"
+#line 289 "ldlex.l"
{ RTOKEN( LONG);}
YY_BREAK
case 97:
YY_RULE_SETUP
-#line 291 "ldlex.l"
+#line 290 "ldlex.l"
{ RTOKEN( SHORT);}
YY_BREAK
case 98:
YY_RULE_SETUP
-#line 292 "ldlex.l"
+#line 291 "ldlex.l"
{ RTOKEN( BYTE);}
YY_BREAK
case 99:
YY_RULE_SETUP
-#line 293 "ldlex.l"
+#line 292 "ldlex.l"
{ RTOKEN(NOFLOAT);}
YY_BREAK
case 100:
YY_RULE_SETUP
-#line 294 "ldlex.l"
+#line 293 "ldlex.l"
{ RTOKEN(NOCROSSREFS);}
YY_BREAK
case 101:
YY_RULE_SETUP
-#line 295 "ldlex.l"
+#line 294 "ldlex.l"
{ RTOKEN(OVERLAY); }
YY_BREAK
case 102:
YY_RULE_SETUP
-#line 296 "ldlex.l"
+#line 295 "ldlex.l"
{ RTOKEN(SORT_BY_NAME); }
YY_BREAK
case 103:
YY_RULE_SETUP
-#line 297 "ldlex.l"
+#line 296 "ldlex.l"
{ RTOKEN(SORT_BY_ALIGNMENT); }
YY_BREAK
case 104:
YY_RULE_SETUP
-#line 298 "ldlex.l"
+#line 297 "ldlex.l"
{ RTOKEN(SORT_BY_NAME); }
YY_BREAK
case 105:
YY_RULE_SETUP
-#line 299 "ldlex.l"
+#line 298 "ldlex.l"
{ RTOKEN(NOLOAD);}
YY_BREAK
case 106:
YY_RULE_SETUP
-#line 300 "ldlex.l"
+#line 299 "ldlex.l"
{ RTOKEN(DSECT);}
YY_BREAK
case 107:
YY_RULE_SETUP
-#line 301 "ldlex.l"
+#line 300 "ldlex.l"
{ RTOKEN(COPY);}
YY_BREAK
case 108:
YY_RULE_SETUP
-#line 302 "ldlex.l"
+#line 301 "ldlex.l"
{ RTOKEN(INFO);}
YY_BREAK
case 109:
YY_RULE_SETUP
-#line 303 "ldlex.l"
+#line 302 "ldlex.l"
{ RTOKEN(OVERLAY);}
YY_BREAK
case 110:
YY_RULE_SETUP
-#line 304 "ldlex.l"
+#line 303 "ldlex.l"
{ RTOKEN(ONLY_IF_RO); }
YY_BREAK
case 111:
YY_RULE_SETUP
-#line 305 "ldlex.l"
+#line 304 "ldlex.l"
{ RTOKEN(ONLY_IF_RW); }
YY_BREAK
case 112:
YY_RULE_SETUP
-#line 306 "ldlex.l"
+#line 305 "ldlex.l"
{ RTOKEN(SPECIAL); }
YY_BREAK
case 113:
YY_RULE_SETUP
-#line 307 "ldlex.l"
+#line 306 "ldlex.l"
{ RTOKEN(ORIGIN);}
YY_BREAK
case 114:
YY_RULE_SETUP
-#line 308 "ldlex.l"
+#line 307 "ldlex.l"
{ RTOKEN(ORIGIN);}
YY_BREAK
case 115:
YY_RULE_SETUP
-#line 309 "ldlex.l"
+#line 308 "ldlex.l"
{ RTOKEN( LENGTH);}
YY_BREAK
case 116:
YY_RULE_SETUP
-#line 310 "ldlex.l"
+#line 309 "ldlex.l"
{ RTOKEN( LENGTH);}
YY_BREAK
case 117:
YY_RULE_SETUP
-#line 311 "ldlex.l"
+#line 310 "ldlex.l"
{ RTOKEN(INCLUDE);}
YY_BREAK
case 118:
YY_RULE_SETUP
-#line 312 "ldlex.l"
+#line 311 "ldlex.l"
{ RTOKEN (PHDRS); }
YY_BREAK
case 119:
YY_RULE_SETUP
-#line 313 "ldlex.l"
+#line 312 "ldlex.l"
{ RTOKEN(AT);}
YY_BREAK
case 120:
YY_RULE_SETUP
-#line 314 "ldlex.l"
+#line 313 "ldlex.l"
{ RTOKEN(SUBALIGN);}
YY_BREAK
case 121:
YY_RULE_SETUP
-#line 315 "ldlex.l"
+#line 314 "ldlex.l"
{ RTOKEN(PROVIDE); }
YY_BREAK
case 122:
YY_RULE_SETUP
-#line 316 "ldlex.l"
+#line 315 "ldlex.l"
{ RTOKEN(PROVIDE_HIDDEN); }
YY_BREAK
case 123:
YY_RULE_SETUP
-#line 317 "ldlex.l"
+#line 316 "ldlex.l"
{ RTOKEN(KEEP); }
YY_BREAK
case 124:
YY_RULE_SETUP
-#line 318 "ldlex.l"
+#line 317 "ldlex.l"
{ RTOKEN(EXCLUDE_FILE); }
YY_BREAK
case 125:
YY_RULE_SETUP
-#line 319 "ldlex.l"
+#line 318 "ldlex.l"
{ RTOKEN(CONSTANT);}
YY_BREAK
case 126:
/* rule 126 can match eol */
YY_RULE_SETUP
-#line 320 "ldlex.l"
+#line 319 "ldlex.l"
{ ++ lineno; }
YY_BREAK
case 127:
/* rule 127 can match eol */
YY_RULE_SETUP
-#line 321 "ldlex.l"
+#line 320 "ldlex.l"
{ ++ lineno; RTOKEN(NEWLINE); }
YY_BREAK
case 128:
YY_RULE_SETUP
-#line 322 "ldlex.l"
+#line 321 "ldlex.l"
{ /* Mri comment line */ }
YY_BREAK
case 129:
YY_RULE_SETUP
-#line 323 "ldlex.l"
+#line 322 "ldlex.l"
{ /* Mri comment line */ }
YY_BREAK
case 130:
YY_RULE_SETUP
-#line 324 "ldlex.l"
+#line 323 "ldlex.l"
{ RTOKEN(ENDWORD); }
YY_BREAK
case 131:
YY_RULE_SETUP
-#line 325 "ldlex.l"
+#line 324 "ldlex.l"
{ RTOKEN(ALIGNMOD);}
YY_BREAK
case 132:
YY_RULE_SETUP
-#line 326 "ldlex.l"
+#line 325 "ldlex.l"
{ RTOKEN(ALIGN_K);}
YY_BREAK
case 133:
YY_RULE_SETUP
-#line 327 "ldlex.l"
+#line 326 "ldlex.l"
{ RTOKEN(CHIP); }
YY_BREAK
case 134:
YY_RULE_SETUP
-#line 328 "ldlex.l"
+#line 327 "ldlex.l"
{ RTOKEN(BASE); }
YY_BREAK
case 135:
YY_RULE_SETUP
-#line 329 "ldlex.l"
+#line 328 "ldlex.l"
{ RTOKEN(ALIAS); }
YY_BREAK
case 136:
YY_RULE_SETUP
-#line 330 "ldlex.l"
+#line 329 "ldlex.l"
{ RTOKEN(TRUNCATE); }
YY_BREAK
case 137:
YY_RULE_SETUP
-#line 331 "ldlex.l"
+#line 330 "ldlex.l"
{ RTOKEN(LOAD); }
YY_BREAK
case 138:
YY_RULE_SETUP
-#line 332 "ldlex.l"
+#line 331 "ldlex.l"
{ RTOKEN(PUBLIC); }
YY_BREAK
case 139:
YY_RULE_SETUP
-#line 333 "ldlex.l"
+#line 332 "ldlex.l"
{ RTOKEN(ORDER); }
YY_BREAK
case 140:
YY_RULE_SETUP
-#line 334 "ldlex.l"
+#line 333 "ldlex.l"
{ RTOKEN(NAMEWORD); }
YY_BREAK
case 141:
YY_RULE_SETUP
-#line 335 "ldlex.l"
+#line 334 "ldlex.l"
{ RTOKEN(FORMAT); }
YY_BREAK
case 142:
YY_RULE_SETUP
-#line 336 "ldlex.l"
+#line 335 "ldlex.l"
{ RTOKEN(CASE); }
YY_BREAK
case 143:
YY_RULE_SETUP
-#line 337 "ldlex.l"
+#line 336 "ldlex.l"
{ RTOKEN(START); }
YY_BREAK
case 144:
YY_RULE_SETUP
-#line 338 "ldlex.l"
+#line 337 "ldlex.l"
{ RTOKEN(LIST); /* LIST and ignore to end of line */ }
YY_BREAK
case 145:
YY_RULE_SETUP
-#line 339 "ldlex.l"
+#line 338 "ldlex.l"
{ RTOKEN(SECT); }
YY_BREAK
case 146:
YY_RULE_SETUP
-#line 340 "ldlex.l"
+#line 339 "ldlex.l"
{ RTOKEN(ABSOLUTE); }
YY_BREAK
case 147:
YY_RULE_SETUP
-#line 341 "ldlex.l"
+#line 340 "ldlex.l"
{ RTOKEN(ENDWORD); }
YY_BREAK
case 148:
YY_RULE_SETUP
-#line 342 "ldlex.l"
+#line 341 "ldlex.l"
{ RTOKEN(ALIGNMOD);}
YY_BREAK
case 149:
YY_RULE_SETUP
-#line 343 "ldlex.l"
+#line 342 "ldlex.l"
{ RTOKEN(ALIGN_K);}
YY_BREAK
case 150:
YY_RULE_SETUP
-#line 344 "ldlex.l"
+#line 343 "ldlex.l"
{ RTOKEN(CHIP); }
YY_BREAK
case 151:
YY_RULE_SETUP
-#line 345 "ldlex.l"
+#line 344 "ldlex.l"
{ RTOKEN(BASE); }
YY_BREAK
case 152:
YY_RULE_SETUP
-#line 346 "ldlex.l"
+#line 345 "ldlex.l"
{ RTOKEN(ALIAS); }
YY_BREAK
case 153:
YY_RULE_SETUP
-#line 347 "ldlex.l"
+#line 346 "ldlex.l"
{ RTOKEN(TRUNCATE); }
YY_BREAK
case 154:
YY_RULE_SETUP
-#line 348 "ldlex.l"
+#line 347 "ldlex.l"
{ RTOKEN(LOAD); }
YY_BREAK
case 155:
YY_RULE_SETUP
-#line 349 "ldlex.l"
+#line 348 "ldlex.l"
{ RTOKEN(PUBLIC); }
YY_BREAK
case 156:
YY_RULE_SETUP
-#line 350 "ldlex.l"
+#line 349 "ldlex.l"
{ RTOKEN(ORDER); }
YY_BREAK
case 157:
YY_RULE_SETUP
-#line 351 "ldlex.l"
+#line 350 "ldlex.l"
{ RTOKEN(NAMEWORD); }
YY_BREAK
case 158:
YY_RULE_SETUP
-#line 352 "ldlex.l"
+#line 351 "ldlex.l"
{ RTOKEN(FORMAT); }
YY_BREAK
case 159:
YY_RULE_SETUP
-#line 353 "ldlex.l"
+#line 352 "ldlex.l"
{ RTOKEN(CASE); }
YY_BREAK
case 160:
YY_RULE_SETUP
-#line 354 "ldlex.l"
+#line 353 "ldlex.l"
{ RTOKEN(EXTERN); }
YY_BREAK
case 161:
YY_RULE_SETUP
-#line 355 "ldlex.l"
+#line 354 "ldlex.l"
{ RTOKEN(START); }
YY_BREAK
case 162:
YY_RULE_SETUP
-#line 356 "ldlex.l"
+#line 355 "ldlex.l"
{ RTOKEN(LIST); /* LIST and ignore to end of line */ }
YY_BREAK
case 163:
YY_RULE_SETUP
-#line 357 "ldlex.l"
+#line 356 "ldlex.l"
{ RTOKEN(SECT); }
YY_BREAK
case 164:
YY_RULE_SETUP
-#line 358 "ldlex.l"
+#line 357 "ldlex.l"
{ RTOKEN(ABSOLUTE); }
YY_BREAK
case 165:
YY_RULE_SETUP
-#line 360 "ldlex.l"
+#line 359 "ldlex.l"
{
/* Filename without commas, needed to parse mri stuff */
yylval.name = xstrdup (yytext);
@@ -2837,7 +2836,7 @@
YY_BREAK
case 166:
YY_RULE_SETUP
-#line 367 "ldlex.l"
+#line 366 "ldlex.l"
{
yylval.name = xstrdup (yytext);
return NAME;
@@ -2845,7 +2844,7 @@
YY_BREAK
case 167:
YY_RULE_SETUP
-#line 371 "ldlex.l"
+#line 370 "ldlex.l"
{
yylval.name = xstrdup (yytext + 2);
return LNAME;
@@ -2853,7 +2852,7 @@
YY_BREAK
case 168:
YY_RULE_SETUP
-#line 375 "ldlex.l"
+#line 374 "ldlex.l"
{
yylval.name = xstrdup (yytext);
return NAME;
@@ -2861,7 +2860,7 @@
YY_BREAK
case 169:
YY_RULE_SETUP
-#line 379 "ldlex.l"
+#line 378 "ldlex.l"
{
yylval.name = xstrdup (yytext + 2);
return LNAME;
@@ -2869,7 +2868,7 @@
YY_BREAK
case 170:
YY_RULE_SETUP
-#line 383 "ldlex.l"
+#line 382 "ldlex.l"
{
/* Annoyingly, this pattern can match comments, and we have
longest match issues to consider. So if the first two
@@ -2890,7 +2889,7 @@
case 171:
/* rule 171 can match eol */
YY_RULE_SETUP
-#line 400 "ldlex.l"
+#line 399 "ldlex.l"
{
/* No matter the state, quotes
give what's inside */
@@ -2902,54 +2901,54 @@
case 172:
/* rule 172 can match eol */
YY_RULE_SETUP
-#line 407 "ldlex.l"
+#line 406 "ldlex.l"
{ lineno++;}
YY_BREAK
case 173:
YY_RULE_SETUP
-#line 408 "ldlex.l"
+#line 407 "ldlex.l"
{ }
YY_BREAK
case 174:
YY_RULE_SETUP
-#line 410 "ldlex.l"
+#line 409 "ldlex.l"
{ return *yytext; }
YY_BREAK
case 175:
YY_RULE_SETUP
-#line 412 "ldlex.l"
+#line 411 "ldlex.l"
{ RTOKEN(GLOBAL); }
YY_BREAK
case 176:
YY_RULE_SETUP
-#line 414 "ldlex.l"
+#line 413 "ldlex.l"
{ RTOKEN(LOCAL); }
YY_BREAK
case 177:
YY_RULE_SETUP
-#line 416 "ldlex.l"
+#line 415 "ldlex.l"
{ RTOKEN(EXTERN); }
YY_BREAK
case 178:
YY_RULE_SETUP
-#line 418 "ldlex.l"
+#line 417 "ldlex.l"
{ yylval.name = xstrdup (yytext);
return VERS_IDENTIFIER; }
YY_BREAK
case 179:
YY_RULE_SETUP
-#line 421 "ldlex.l"
+#line 420 "ldlex.l"
{ yylval.name = xstrdup (yytext);
return VERS_TAG; }
YY_BREAK
case 180:
YY_RULE_SETUP
-#line 424 "ldlex.l"
+#line 423 "ldlex.l"
{ BEGIN(VERS_SCRIPT); return *yytext; }
YY_BREAK
case 181:
YY_RULE_SETUP
-#line 426 "ldlex.l"
+#line 425 "ldlex.l"
{ BEGIN(VERS_NODE);
vers_node_nesting = 0;
return *yytext;
@@ -2957,17 +2956,17 @@
YY_BREAK
case 182:
YY_RULE_SETUP
-#line 430 "ldlex.l"
+#line 429 "ldlex.l"
{ return *yytext; }
YY_BREAK
case 183:
YY_RULE_SETUP
-#line 431 "ldlex.l"
+#line 430 "ldlex.l"
{ vers_node_nesting++; return *yytext; }
YY_BREAK
case 184:
YY_RULE_SETUP
-#line 432 "ldlex.l"
+#line 431 "ldlex.l"
{ if (--vers_node_nesting < 0)
BEGIN(VERS_SCRIPT);
return *yytext;
@@ -2976,17 +2975,17 @@
case 185:
/* rule 185 can match eol */
YY_RULE_SETUP
-#line 437 "ldlex.l"
+#line 436 "ldlex.l"
{ lineno++; }
YY_BREAK
case 186:
YY_RULE_SETUP
-#line 439 "ldlex.l"
+#line 438 "ldlex.l"
{ /* Eat up comments */ }
YY_BREAK
case 187:
YY_RULE_SETUP
-#line 441 "ldlex.l"
+#line 440 "ldlex.l"
{ /* Eat up whitespace */ }
YY_BREAK
case YY_STATE_EOF(INITIAL):
@@ -2998,7 +2997,7 @@
case YY_STATE_EOF(VERS_START):
case YY_STATE_EOF(VERS_SCRIPT):
case YY_STATE_EOF(VERS_NODE):
-#line 443 "ldlex.l"
+#line 442 "ldlex.l"
{
include_stack_ptr--;
@@ -3019,20 +3018,20 @@
YY_BREAK
case 188:
YY_RULE_SETUP
-#line 461 "ldlex.l"
+#line 460 "ldlex.l"
lex_warn_invalid (" in script", yytext);
YY_BREAK
case 189:
YY_RULE_SETUP
-#line 462 "ldlex.l"
+#line 461 "ldlex.l"
lex_warn_invalid (" in expression", yytext);
YY_BREAK
case 190:
YY_RULE_SETUP
-#line 464 "ldlex.l"
+#line 463 "ldlex.l"
ECHO;
YY_BREAK
-#line 3036 "ldlex.c"
+#line 3035 "/Users/gingold/Repositories/fsf/binutils-2_20/ld/ldlex.c"
case YY_END_OF_BUFFER:
{
@@ -4027,7 +4026,7 @@
#define YYTABLES_NAME "yytables"
-#line 464 "ldlex.l"
+#line 463 "ldlex.l"
diff --git a/binutils/ld/ldlex.l b/binutils/ld/ldlex.l
index ef09eb0..4add152 100644
--- a/binutils/ld/ldlex.l
+++ b/binutils/ld/ldlex.l
@@ -22,7 +22,6 @@
Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
MA 02110-1301, USA. */
-#include "sysdep.h"
#include "bfd.h"
#include "safe-ctype.h"
#include "bfdlink.h"
diff --git a/binutils/ld/pe-dll.c b/binutils/ld/pe-dll.c
index f615b2d..54021b6 100644
--- a/binutils/ld/pe-dll.c
+++ b/binutils/ld/pe-dll.c
@@ -1348,10 +1348,29 @@
if (sym->flags == BSF_WEAK)
{
struct bfd_link_hash_entry *blhe
- = bfd_link_hash_lookup (info->hash, sym->name,
+ = bfd_wrapped_link_hash_lookup (abfd, info, sym->name,
FALSE, FALSE, FALSE);
- if (!blhe || blhe->type != bfd_link_hash_defined)
- continue;
+ if (blhe && blhe->type == bfd_link_hash_undefweak)
+ {
+ /* Check aux sym and see if it is defined or not. */
+ struct coff_link_hash_entry *h, *h2;
+ h = (struct coff_link_hash_entry *)blhe;
+ if (h->symbol_class != C_NT_WEAK || h->numaux != 1)
+ continue;
+ h2 = h->auxbfd->tdata.coff_obj_data->sym_hashes
+ [h->aux->x_sym.x_tagndx.l];
+ /* We don't want a base reloc if the aux sym is not
+ found, undefined, or if it is the constant ABS
+ zero default value. (We broaden that slightly by
+ not testing the value, just the section; there's
+ no reason we'd want a reference to any absolute
+ address to get relocated during rebasing). */
+ if (!h2 || h2->root.type == bfd_link_hash_undefined
+ || h2->root.u.def.section == &bfd_abs_section)
+ continue;
+ }
+ else if (!blhe || blhe->type != bfd_link_hash_defined)
+ continue;
}
sym_vma = (relocs[i]->addend
diff --git a/binutils/ld/po/POTFILES.in b/binutils/ld/po/POTFILES.in
index 48172c4..f48a991 100644
--- a/binutils/ld/po/POTFILES.in
+++ b/binutils/ld/po/POTFILES.in
@@ -14,6 +14,7 @@
ldfile.h
ldlang.c
ldlang.h
+ldlex-wrapper.c
ldlex.h
ldmain.c
ldmain.h
diff --git a/binutils/ld/po/ld.pot b/binutils/ld/po/ld.pot
index 3802df2..db3f75f 100644
--- a/binutils/ld/po/ld.pot
+++ b/binutils/ld/po/ld.pot
@@ -8,7 +8,7 @@
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: bug-binutils@gnu.org\n"
-"POT-Creation-Date: 2009-09-07 14:10+0200\n"
+"POT-Creation-Date: 2010-03-03 15:06+0100\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"
@@ -32,11 +32,11 @@
msgid "Errors encountered processing file %s"
msgstr ""
-#: emultempl/armcoff.em:190 emultempl/pe.em:1710
+#: emultempl/armcoff.em:190 emultempl/pe.em:1696
msgid "%P: warning: '--thumb-entry %s' is overriding '-e %s'\n"
msgstr ""
-#: emultempl/armcoff.em:195 emultempl/pe.em:1715
+#: emultempl/armcoff.em:195 emultempl/pe.em:1701
msgid "%P: warning: cannot find thumb start symbol %s\n"
msgstr ""
@@ -377,36 +377,36 @@
msgid "%P: warning, file alignment > section alignment.\n"
msgstr ""
-#: emultempl/pe.em:899
+#: emultempl/pe.em:883
msgid ""
"%P: warning: --export-dynamic is not supported for PE targets, did you mean "
"--export-all-symbols?\n"
msgstr ""
-#: emultempl/pe.em:963 emultempl/pe.em:990
+#: emultempl/pe.em:949 emultempl/pe.em:976
#, c-format
msgid "Warning: resolving %s by linking to %s\n"
msgstr ""
-#: emultempl/pe.em:968 emultempl/pe.em:995
+#: emultempl/pe.em:954 emultempl/pe.em:981
msgid "Use --enable-stdcall-fixup to disable these warnings\n"
msgstr ""
-#: emultempl/pe.em:969 emultempl/pe.em:996
+#: emultempl/pe.em:955 emultempl/pe.em:982
msgid "Use --disable-stdcall-fixup to disable these fixups\n"
msgstr ""
-#: emultempl/pe.em:1015
+#: emultempl/pe.em:1001
#, c-format
msgid "%C: Cannot get section contents - auto-import exception\n"
msgstr ""
-#: emultempl/pe.em:1055
+#: emultempl/pe.em:1041
#, c-format
msgid "Info: resolving %s by linking to %s (auto-import)\n"
msgstr ""
-#: emultempl/pe.em:1062
+#: emultempl/pe.em:1048
msgid ""
"%P: warning: auto-importing has been activated without --enable-auto-import "
"specified on the command line.\n"
@@ -414,28 +414,28 @@
"symbols from auto-imported DLLs.\n"
msgstr ""
-#: emultempl/pe.em:1069 emultempl/pe.em:1268 emultempl/pe.em:1474 ldcref.c:488
-#: ldcref.c:586 ldmain.c:1107 ldmisc.c:285 pe-dll.c:683 pe-dll.c:1227
+#: emultempl/pe.em:1055 emultempl/pe.em:1254 emultempl/pe.em:1460 ldcref.c:490
+#: ldcref.c:588 ldmain.c:1111 ldmisc.c:285 pe-dll.c:683 pe-dll.c:1227
#: pe-dll.c:1324
msgid "%B%F: could not read symbols: %E\n"
msgstr ""
-#: emultempl/pe.em:1149
+#: emultempl/pe.em:1135
msgid "%F%P: cannot perform PE operations on non PE output file '%B'.\n"
msgstr ""
-#: emultempl/pe.em:1515
+#: emultempl/pe.em:1501
#, c-format
msgid "Errors encountered processing file %s\n"
msgstr ""
-#: emultempl/pe.em:1538
+#: emultempl/pe.em:1524
#, c-format
msgid "Errors encountered processing file %s for interworking\n"
msgstr ""
-#: emultempl/pe.em:1599 ldexp.c:539 ldlang.c:3276 ldlang.c:6636 ldlang.c:6667
-#: ldmain.c:1052
+#: emultempl/pe.em:1585 ldexp.c:539 ldlang.c:3284 ldlang.c:6649 ldlang.c:6680
+#: ldmain.c:1056
msgid "%P%F: bfd_link_hash_lookup failed: %E\n"
msgstr ""
@@ -451,7 +451,7 @@
msgid "%X%P: cref alloc failed: %E\n"
msgstr ""
-#: ldcref.c:364
+#: ldcref.c:366
#, c-format
msgid ""
"\n"
@@ -459,25 +459,25 @@
"\n"
msgstr ""
-#: ldcref.c:365
+#: ldcref.c:367
msgid "Symbol"
msgstr ""
-#: ldcref.c:373
+#: ldcref.c:375
#, c-format
msgid "File\n"
msgstr ""
-#: ldcref.c:377
+#: ldcref.c:379
#, c-format
msgid "No symbols\n"
msgstr ""
-#: ldcref.c:530
+#: ldcref.c:532
msgid "%P: symbol `%T' missing from main hash table\n"
msgstr ""
-#: ldcref.c:648 ldcref.c:655 ldmain.c:1141 ldmain.c:1148
+#: ldcref.c:650 ldcref.c:657 ldmain.c:1145 ldmain.c:1152
msgid "%B%F: could not read relocs: %E\n"
msgstr ""
@@ -485,7 +485,7 @@
#. in OUTSECNAME. This reloc is from a section which is
#. mapped into a section from which references to OUTSECNAME
#. are prohibited. We must report an error.
-#: ldcref.c:682
+#: ldcref.c:684
msgid "%X%C: prohibited cross reference from %s to `%T' in %s\n"
msgstr ""
@@ -497,40 +497,40 @@
msgid "%P%X: Different object file formats composing set %s\n"
msgstr ""
-#: ldctor.c:279 ldctor.c:293
+#: ldctor.c:281 ldctor.c:295
msgid "%P%X: %s does not support reloc %s for set %s\n"
msgstr ""
-#: ldctor.c:314
+#: ldctor.c:316
msgid "%P%X: Unsupported size %d for set %s\n"
msgstr ""
-#: ldctor.c:335
+#: ldctor.c:337
msgid ""
"\n"
"Set Symbol\n"
"\n"
msgstr ""
-#: ldemul.c:239
+#: ldemul.c:265
#, c-format
msgid "%S SYSLIB ignored\n"
msgstr ""
-#: ldemul.c:245
+#: ldemul.c:271
#, c-format
msgid "%S HLL ignored\n"
msgstr ""
-#: ldemul.c:265
+#: ldemul.c:291
msgid "%P: unrecognised emulation mode: %s\n"
msgstr ""
-#: ldemul.c:266
+#: ldemul.c:292
msgid "Supported emulations: "
msgstr ""
-#: ldemul.c:308
+#: ldemul.c:334
#, c-format
msgid " no emulation specific options.\n"
msgstr ""
@@ -654,35 +654,35 @@
msgid "%P%F: cannot represent machine `%s'\n"
msgstr ""
-#: ldlang.c:1142 ldlang.c:1184 ldlang.c:3006
+#: ldlang.c:1145 ldlang.c:1187 ldlang.c:3014
msgid "%P%F: can not create hash table: %E\n"
msgstr ""
-#: ldlang.c:1235
+#: ldlang.c:1238
msgid "%P:%S: warning: redeclaration of memory region `%s'\n"
msgstr ""
-#: ldlang.c:1241
+#: ldlang.c:1244
msgid "%P:%S: warning: memory region `%s' not declared\n"
msgstr ""
-#: ldlang.c:1275
+#: ldlang.c:1278
msgid "%F%P:%S: error: alias for default memory region\n"
msgstr ""
-#: ldlang.c:1286
+#: ldlang.c:1289
msgid "%F%P:%S: error: redefinition of memory region alias `%s'\n"
msgstr ""
-#: ldlang.c:1293
+#: ldlang.c:1296
msgid "%F%P:%S: error: memory region `%s' for alias `%s' does not exist\n"
msgstr ""
-#: ldlang.c:1345 ldlang.c:1384
+#: ldlang.c:1348 ldlang.c:1387
msgid "%P%F: failed creating section `%s': %E\n"
msgstr ""
-#: ldlang.c:1927
+#: ldlang.c:1930
#, c-format
msgid ""
"\n"
@@ -690,30 +690,30 @@
"\n"
msgstr ""
-#: ldlang.c:1935
+#: ldlang.c:1938
msgid ""
"\n"
"Memory Configuration\n"
"\n"
msgstr ""
-#: ldlang.c:1937
+#: ldlang.c:1940
msgid "Name"
msgstr ""
-#: ldlang.c:1937
+#: ldlang.c:1940
msgid "Origin"
msgstr ""
-#: ldlang.c:1937
+#: ldlang.c:1940
msgid "Length"
msgstr ""
-#: ldlang.c:1937
+#: ldlang.c:1940
msgid "Attributes"
msgstr ""
-#: ldlang.c:1977
+#: ldlang.c:1980
#, c-format
msgid ""
"\n"
@@ -721,245 +721,245 @@
"\n"
msgstr ""
-#: ldlang.c:2045
+#: ldlang.c:2050
msgid "%P%F: Illegal use of `%s' section\n"
msgstr ""
-#: ldlang.c:2054
+#: ldlang.c:2059
msgid "%P%F: output format %s cannot represent section called %s\n"
msgstr ""
-#: ldlang.c:2602
+#: ldlang.c:2607
msgid "%B: file not recognized: %E\n"
msgstr ""
-#: ldlang.c:2603
+#: ldlang.c:2608
msgid "%B: matching formats:"
msgstr ""
-#: ldlang.c:2610
+#: ldlang.c:2615
msgid "%F%B: file not recognized: %E\n"
msgstr ""
-#: ldlang.c:2677
+#: ldlang.c:2685
msgid "%F%B: member %B in archive is not an object\n"
msgstr ""
-#: ldlang.c:2688 ldlang.c:2702
+#: ldlang.c:2696 ldlang.c:2710
msgid "%F%B: could not read symbols: %E\n"
msgstr ""
-#: ldlang.c:2976
+#: ldlang.c:2984
msgid ""
"%P: warning: could not find any targets that match endianness requirement\n"
msgstr ""
-#: ldlang.c:2990
+#: ldlang.c:2998
msgid "%P%F: target %s not found\n"
msgstr ""
-#: ldlang.c:2992
+#: ldlang.c:3000
msgid "%P%F: cannot open output file %s: %E\n"
msgstr ""
-#: ldlang.c:2998
+#: ldlang.c:3006
msgid "%P%F:%s: can not make object file: %E\n"
msgstr ""
-#: ldlang.c:3002
+#: ldlang.c:3010
msgid "%P%F:%s: can not set architecture: %E\n"
msgstr ""
-#: ldlang.c:3143
+#: ldlang.c:3151
msgid "%P: warning: %s contains output sections; did you forget -T?\n"
msgstr ""
-#: ldlang.c:3169
+#: ldlang.c:3177
msgid "%P%F: bfd_hash_lookup failed creating symbol %s\n"
msgstr ""
-#: ldlang.c:3187
+#: ldlang.c:3195
msgid "%P%F: bfd_hash_allocate failed creating symbol %s\n"
msgstr ""
-#: ldlang.c:3566
+#: ldlang.c:3574
msgid "%F%P: %s not found for insert\n"
msgstr ""
-#: ldlang.c:3781
+#: ldlang.c:3789
msgid " load address 0x%V"
msgstr ""
-#: ldlang.c:4052
+#: ldlang.c:4061
msgid "%W (size before relaxing)\n"
msgstr ""
-#: ldlang.c:4143
+#: ldlang.c:4152
#, c-format
msgid "Address of section %s set to "
msgstr ""
-#: ldlang.c:4296
+#: ldlang.c:4305
#, c-format
msgid "Fail with %d\n"
msgstr ""
-#: ldlang.c:4579
+#: ldlang.c:4589
msgid ""
"%X%P: section %s loaded at [%V,%V] overlaps section %s loaded at [%V,%V]\n"
msgstr ""
-#: ldlang.c:4595
+#: ldlang.c:4605
msgid "%X%P: region `%s' overflowed by %ld bytes\n"
msgstr ""
-#: ldlang.c:4618
+#: ldlang.c:4628
msgid "%X%P: address 0x%v of %B section `%s' is not within region `%s'\n"
msgstr ""
-#: ldlang.c:4629
+#: ldlang.c:4639
msgid "%X%P: %B section `%s' will not fit in region `%s'\n"
msgstr ""
-#: ldlang.c:4669
+#: ldlang.c:4687
#, c-format
msgid ""
"%F%S: non constant or forward reference address expression for section %s\n"
msgstr ""
-#: ldlang.c:4694
+#: ldlang.c:4712
msgid "%P%X: Internal error on COFF shared library section %s\n"
msgstr ""
-#: ldlang.c:4753
+#: ldlang.c:4771
msgid "%P%F: error: no memory region specified for loadable section `%s'\n"
msgstr ""
-#: ldlang.c:4758
+#: ldlang.c:4776
msgid "%P: warning: no memory region specified for loadable section `%s'\n"
msgstr ""
-#: ldlang.c:4780
+#: ldlang.c:4798
msgid "%P: warning: changing start of section %s by %lu bytes\n"
msgstr ""
-#: ldlang.c:4862
+#: ldlang.c:4875
msgid "%P: warning: dot moved backwards before `%s'\n"
msgstr ""
-#: ldlang.c:5035
+#: ldlang.c:5048
msgid "%P%F: can't relax section: %E\n"
msgstr ""
-#: ldlang.c:5357
+#: ldlang.c:5370
msgid "%F%P: invalid data statement\n"
msgstr ""
-#: ldlang.c:5390
+#: ldlang.c:5403
msgid "%F%P: invalid reloc statement\n"
msgstr ""
-#: ldlang.c:5509
+#: ldlang.c:5522
msgid "%P%F: gc-sections requires either an entry or an undefined symbol\n"
msgstr ""
-#: ldlang.c:5534
+#: ldlang.c:5547
msgid "%P%F:%s: can't set start address\n"
msgstr ""
-#: ldlang.c:5547 ldlang.c:5566
+#: ldlang.c:5560 ldlang.c:5579
msgid "%P%F: can't set start address\n"
msgstr ""
-#: ldlang.c:5559
+#: ldlang.c:5572
msgid "%P: warning: cannot find entry symbol %s; defaulting to %V\n"
msgstr ""
-#: ldlang.c:5571
+#: ldlang.c:5584
msgid "%P: warning: cannot find entry symbol %s; not setting start address\n"
msgstr ""
-#: ldlang.c:5621
+#: ldlang.c:5634
msgid ""
"%P%F: Relocatable linking with relocations from format %s (%B) to format %s "
"(%B) is not supported\n"
msgstr ""
-#: ldlang.c:5631
+#: ldlang.c:5644
msgid ""
"%P%X: %s architecture of input file `%B' is incompatible with %s output\n"
msgstr ""
-#: ldlang.c:5653
+#: ldlang.c:5666
msgid "%P%X: failed to merge target specific data of file %B\n"
msgstr ""
-#: ldlang.c:5724
+#: ldlang.c:5737
msgid "%P%F: Could not define common symbol `%T': %E\n"
msgstr ""
-#: ldlang.c:5736
+#: ldlang.c:5749
msgid ""
"\n"
"Allocating common symbols\n"
msgstr ""
-#: ldlang.c:5737
+#: ldlang.c:5750
msgid ""
"Common symbol size file\n"
"\n"
msgstr ""
-#: ldlang.c:5878
+#: ldlang.c:5891
msgid "%P%F: invalid syntax in flags\n"
msgstr ""
-#: ldlang.c:6270
+#: ldlang.c:6283
msgid "%P%F: Failed to create hash table\n"
msgstr ""
-#: ldlang.c:6549
+#: ldlang.c:6562
msgid "%P%F: multiple STARTUP files\n"
msgstr ""
-#: ldlang.c:6597
+#: ldlang.c:6610
msgid "%X%P:%S: section has both a load address and a load region\n"
msgstr ""
-#: ldlang.c:6844
+#: ldlang.c:6857
msgid "%F%P: no sections assigned to phdrs\n"
msgstr ""
-#: ldlang.c:6881
+#: ldlang.c:6895
msgid "%F%P: bfd_record_phdr failed: %E\n"
msgstr ""
-#: ldlang.c:6901
+#: ldlang.c:6915
msgid "%X%P: section `%s' assigned to non-existent phdr `%s'\n"
msgstr ""
-#: ldlang.c:7299
+#: ldlang.c:7316
msgid "%X%P: unknown language `%s' in version information\n"
msgstr ""
-#: ldlang.c:7441
+#: ldlang.c:7461
msgid ""
"%X%P: anonymous version tag cannot be combined with other version tags\n"
msgstr ""
-#: ldlang.c:7450
+#: ldlang.c:7470
msgid "%X%P: duplicate version tag `%s'\n"
msgstr ""
-#: ldlang.c:7470 ldlang.c:7479 ldlang.c:7496 ldlang.c:7506
+#: ldlang.c:7491 ldlang.c:7500 ldlang.c:7518 ldlang.c:7528
msgid "%X%P: duplicate expression `%s' in version information\n"
msgstr ""
-#: ldlang.c:7546
+#: ldlang.c:7568
msgid "%X%P: unable to find version dependency `%s'\n"
msgstr ""
-#: ldlang.c:7568
+#: ldlang.c:7590
msgid "%X%P: unable to read .exports section contents\n"
msgstr ""
@@ -1019,7 +1019,7 @@
msgid "%P: Error writing file `%s'\n"
msgstr ""
-#: ldmain.c:531 pe-dll.c:1687
+#: ldmain.c:531 pe-dll.c:1706
#, c-format
msgid "%P: Error closing file `%s'\n"
msgstr ""
@@ -1038,162 +1038,162 @@
msgid "%P%F: missing argument to -m\n"
msgstr ""
-#: ldmain.c:680 ldmain.c:699 ldmain.c:730
+#: ldmain.c:681 ldmain.c:701 ldmain.c:733
msgid "%P%F: bfd_hash_table_init failed: %E\n"
msgstr ""
-#: ldmain.c:684 ldmain.c:703
+#: ldmain.c:685 ldmain.c:705
msgid "%P%F: bfd_hash_lookup failed: %E\n"
msgstr ""
-#: ldmain.c:717
+#: ldmain.c:719
msgid "%X%P: error: duplicate retain-symbols-file\n"
msgstr ""
-#: ldmain.c:760
+#: ldmain.c:763
msgid "%P%F: bfd_hash_lookup for insertion failed: %E\n"
msgstr ""
-#: ldmain.c:765
+#: ldmain.c:768
msgid "%P: `-retain-symbols-file' overrides `-s' and `-S'\n"
msgstr ""
-#: ldmain.c:829
+#: ldmain.c:833
#, c-format
msgid ""
"Archive member included because of file (symbol)\n"
"\n"
msgstr ""
-#: ldmain.c:899
+#: ldmain.c:903
msgid "%X%C: multiple definition of `%T'\n"
msgstr ""
-#: ldmain.c:902
+#: ldmain.c:906
msgid "%D: first defined here\n"
msgstr ""
-#: ldmain.c:906
+#: ldmain.c:910
msgid "%P: Disabling relaxation: it will not work with multiple definitions\n"
msgstr ""
-#: ldmain.c:936
+#: ldmain.c:940
msgid "%B: warning: definition of `%T' overriding common\n"
msgstr ""
-#: ldmain.c:939
+#: ldmain.c:943
msgid "%B: warning: common is here\n"
msgstr ""
-#: ldmain.c:946
+#: ldmain.c:950
msgid "%B: warning: common of `%T' overridden by definition\n"
msgstr ""
-#: ldmain.c:949
+#: ldmain.c:953
msgid "%B: warning: defined here\n"
msgstr ""
-#: ldmain.c:956
+#: ldmain.c:960
msgid "%B: warning: common of `%T' overridden by larger common\n"
msgstr ""
-#: ldmain.c:959
+#: ldmain.c:963
msgid "%B: warning: larger common is here\n"
msgstr ""
-#: ldmain.c:963
+#: ldmain.c:967
msgid "%B: warning: common of `%T' overriding smaller common\n"
msgstr ""
-#: ldmain.c:966
+#: ldmain.c:970
msgid "%B: warning: smaller common is here\n"
msgstr ""
-#: ldmain.c:970
+#: ldmain.c:974
msgid "%B: warning: multiple common of `%T'\n"
msgstr ""
-#: ldmain.c:972
+#: ldmain.c:976
msgid "%B: warning: previous common is here\n"
msgstr ""
-#: ldmain.c:992 ldmain.c:1030
+#: ldmain.c:996 ldmain.c:1034
msgid "%P: warning: global constructor %s used\n"
msgstr ""
-#: ldmain.c:1040
+#: ldmain.c:1044
msgid "%P%F: BFD backend error: BFD_RELOC_CTOR unsupported\n"
msgstr ""
#. We found a reloc for the symbol we are looking for.
-#: ldmain.c:1094 ldmain.c:1096 ldmain.c:1098 ldmain.c:1116 ldmain.c:1161
+#: ldmain.c:1098 ldmain.c:1100 ldmain.c:1102 ldmain.c:1120 ldmain.c:1165
msgid "warning: "
msgstr ""
-#: ldmain.c:1196
+#: ldmain.c:1201
msgid "%F%P: bfd_hash_table_init failed: %E\n"
msgstr ""
-#: ldmain.c:1203
+#: ldmain.c:1208
msgid "%F%P: bfd_hash_lookup failed: %E\n"
msgstr ""
-#: ldmain.c:1224
+#: ldmain.c:1229
msgid "%X%C: undefined reference to `%T'\n"
msgstr ""
-#: ldmain.c:1227
+#: ldmain.c:1232
msgid "%C: warning: undefined reference to `%T'\n"
msgstr ""
-#: ldmain.c:1233
+#: ldmain.c:1238
msgid "%X%D: more undefined references to `%T' follow\n"
msgstr ""
-#: ldmain.c:1236
+#: ldmain.c:1241
msgid "%D: warning: more undefined references to `%T' follow\n"
msgstr ""
-#: ldmain.c:1247
+#: ldmain.c:1252
msgid "%X%B: undefined reference to `%T'\n"
msgstr ""
-#: ldmain.c:1250
+#: ldmain.c:1255
msgid "%B: warning: undefined reference to `%T'\n"
msgstr ""
-#: ldmain.c:1256
+#: ldmain.c:1261
msgid "%X%B: more undefined references to `%T' follow\n"
msgstr ""
-#: ldmain.c:1259
+#: ldmain.c:1264
msgid "%B: warning: more undefined references to `%T' follow\n"
msgstr ""
-#: ldmain.c:1298
+#: ldmain.c:1303
msgid " additional relocation overflows omitted from the output\n"
msgstr ""
-#: ldmain.c:1311
+#: ldmain.c:1316
msgid " relocation truncated to fit: %s against undefined symbol `%T'"
msgstr ""
-#: ldmain.c:1316
+#: ldmain.c:1321
msgid ""
" relocation truncated to fit: %s against symbol `%T' defined in %A section "
"in %B"
msgstr ""
-#: ldmain.c:1328
+#: ldmain.c:1333
msgid " relocation truncated to fit: %s against `%T'"
msgstr ""
-#: ldmain.c:1345
+#: ldmain.c:1350
#, c-format
msgid "%X%C: dangerous relocation: %s\n"
msgstr ""
-#: ldmain.c:1360
+#: ldmain.c:1365
msgid "%X%C: reloc refers to symbol `%T' which is not being output\n"
msgstr ""
@@ -1256,584 +1256,584 @@
msgid "%P%F: bfd_new_link_order failed\n"
msgstr ""
-#: ldwrite.c:354
+#: ldwrite.c:355
msgid "%F%P: cannot create split section name for %s\n"
msgstr ""
-#: ldwrite.c:366
+#: ldwrite.c:367
msgid "%F%P: clone section failed: %E\n"
msgstr ""
-#: ldwrite.c:404
+#: ldwrite.c:405
#, c-format
msgid "%8x something else\n"
msgstr ""
-#: ldwrite.c:574
+#: ldwrite.c:575
msgid "%F%P: final link failed: %E\n"
msgstr ""
-#: lexsup.c:209 lexsup.c:349
+#: lexsup.c:211 lexsup.c:351
msgid "KEYWORD"
msgstr ""
-#: lexsup.c:209
+#: lexsup.c:211
msgid "Shared library control for HP/UX compatibility"
msgstr ""
-#: lexsup.c:212
+#: lexsup.c:214
msgid "ARCH"
msgstr ""
-#: lexsup.c:212
+#: lexsup.c:214
msgid "Set architecture"
msgstr ""
-#: lexsup.c:214 lexsup.c:459
+#: lexsup.c:216 lexsup.c:461
msgid "TARGET"
msgstr ""
-#: lexsup.c:214
+#: lexsup.c:216
msgid "Specify target for following input files"
msgstr ""
-#: lexsup.c:217 lexsup.c:268 lexsup.c:280 lexsup.c:293 lexsup.c:295
-#: lexsup.c:413 lexsup.c:471 lexsup.c:533 lexsup.c:546
+#: lexsup.c:219 lexsup.c:270 lexsup.c:282 lexsup.c:295 lexsup.c:297
+#: lexsup.c:415 lexsup.c:473 lexsup.c:535 lexsup.c:548
msgid "FILE"
msgstr ""
-#: lexsup.c:217
+#: lexsup.c:219
msgid "Read MRI format linker script"
msgstr ""
-#: lexsup.c:219
+#: lexsup.c:221
msgid "Force common symbols to be defined"
msgstr ""
-#: lexsup.c:223 lexsup.c:515 lexsup.c:517 lexsup.c:519 lexsup.c:521
+#: lexsup.c:225 lexsup.c:517 lexsup.c:519 lexsup.c:521 lexsup.c:523
msgid "ADDRESS"
msgstr ""
-#: lexsup.c:223
+#: lexsup.c:225
msgid "Set start address"
msgstr ""
-#: lexsup.c:225
+#: lexsup.c:227
msgid "Export all dynamic symbols"
msgstr ""
-#: lexsup.c:227
+#: lexsup.c:229
msgid "Undo the effect of --export-dynamic"
msgstr ""
-#: lexsup.c:229
+#: lexsup.c:231
msgid "Link big-endian objects"
msgstr ""
-#: lexsup.c:231
+#: lexsup.c:233
msgid "Link little-endian objects"
msgstr ""
-#: lexsup.c:233 lexsup.c:236
+#: lexsup.c:235 lexsup.c:238
msgid "SHLIB"
msgstr ""
-#: lexsup.c:233
+#: lexsup.c:235
msgid "Auxiliary filter for shared object symbol table"
msgstr ""
-#: lexsup.c:236
+#: lexsup.c:238
msgid "Filter for shared object symbol table"
msgstr ""
-#: lexsup.c:239
+#: lexsup.c:241
msgid "Ignored"
msgstr ""
-#: lexsup.c:241
+#: lexsup.c:243
msgid "SIZE"
msgstr ""
-#: lexsup.c:241
+#: lexsup.c:243
msgid "Small data size (if no size, same as --shared)"
msgstr ""
-#: lexsup.c:244
+#: lexsup.c:246
msgid "FILENAME"
msgstr ""
-#: lexsup.c:244
+#: lexsup.c:246
msgid "Set internal name of shared library"
msgstr ""
-#: lexsup.c:246
+#: lexsup.c:248
msgid "PROGRAM"
msgstr ""
-#: lexsup.c:246
+#: lexsup.c:248
msgid "Set PROGRAM as the dynamic linker to use"
msgstr ""
-#: lexsup.c:249
+#: lexsup.c:251
msgid "LIBNAME"
msgstr ""
-#: lexsup.c:249
+#: lexsup.c:251
msgid "Search for library LIBNAME"
msgstr ""
-#: lexsup.c:251
+#: lexsup.c:253
msgid "DIRECTORY"
msgstr ""
-#: lexsup.c:251
+#: lexsup.c:253
msgid "Add DIRECTORY to library search path"
msgstr ""
-#: lexsup.c:254
+#: lexsup.c:256
msgid "Override the default sysroot location"
msgstr ""
-#: lexsup.c:256
+#: lexsup.c:258
msgid "EMULATION"
msgstr ""
-#: lexsup.c:256
+#: lexsup.c:258
msgid "Set emulation"
msgstr ""
-#: lexsup.c:258
+#: lexsup.c:260
msgid "Print map file on standard output"
msgstr ""
-#: lexsup.c:260
+#: lexsup.c:262
msgid "Do not page align data"
msgstr ""
-#: lexsup.c:262
+#: lexsup.c:264
msgid "Do not page align data, do not make text readonly"
msgstr ""
-#: lexsup.c:265
+#: lexsup.c:267
msgid "Page align data, make text readonly"
msgstr ""
-#: lexsup.c:268
+#: lexsup.c:270
msgid "Set output file name"
msgstr ""
-#: lexsup.c:270
+#: lexsup.c:272
msgid "Optimize output file"
msgstr ""
-#: lexsup.c:272
+#: lexsup.c:274
msgid "Ignored for SVR4 compatibility"
msgstr ""
-#: lexsup.c:276
+#: lexsup.c:278
msgid "Generate relocatable output"
msgstr ""
-#: lexsup.c:280
+#: lexsup.c:282
msgid "Just link symbols (if directory, same as --rpath)"
msgstr ""
-#: lexsup.c:283
+#: lexsup.c:285
msgid "Strip all symbols"
msgstr ""
-#: lexsup.c:285
+#: lexsup.c:287
msgid "Strip debugging symbols"
msgstr ""
-#: lexsup.c:287
+#: lexsup.c:289
msgid "Strip symbols in discarded sections"
msgstr ""
-#: lexsup.c:289
+#: lexsup.c:291
msgid "Do not strip symbols in discarded sections"
msgstr ""
-#: lexsup.c:291
+#: lexsup.c:293
msgid "Trace file opens"
msgstr ""
-#: lexsup.c:293
+#: lexsup.c:295
msgid "Read linker script"
msgstr ""
-#: lexsup.c:295
+#: lexsup.c:297
msgid "Read default linker script"
msgstr ""
-#: lexsup.c:299 lexsup.c:317 lexsup.c:390 lexsup.c:411 lexsup.c:508
-#: lexsup.c:536 lexsup.c:575
+#: lexsup.c:301 lexsup.c:319 lexsup.c:392 lexsup.c:413 lexsup.c:510
+#: lexsup.c:538 lexsup.c:577
msgid "SYMBOL"
msgstr ""
-#: lexsup.c:299
+#: lexsup.c:301
msgid "Start with undefined reference to SYMBOL"
msgstr ""
-#: lexsup.c:302
+#: lexsup.c:304
msgid "[=SECTION]"
msgstr ""
-#: lexsup.c:303
+#: lexsup.c:305
msgid "Don't merge input [SECTION | orphan] sections"
msgstr ""
-#: lexsup.c:305
+#: lexsup.c:307
msgid "Build global constructor/destructor tables"
msgstr ""
-#: lexsup.c:307
+#: lexsup.c:309
msgid "Print version information"
msgstr ""
-#: lexsup.c:309
+#: lexsup.c:311
msgid "Print version and emulation information"
msgstr ""
-#: lexsup.c:311
+#: lexsup.c:313
msgid "Discard all local symbols"
msgstr ""
-#: lexsup.c:313
+#: lexsup.c:315
msgid "Discard temporary local symbols (default)"
msgstr ""
-#: lexsup.c:315
+#: lexsup.c:317
msgid "Don't discard any local symbols"
msgstr ""
-#: lexsup.c:317
+#: lexsup.c:319
msgid "Trace mentions of SYMBOL"
msgstr ""
-#: lexsup.c:319 lexsup.c:473 lexsup.c:475
+#: lexsup.c:321 lexsup.c:475 lexsup.c:477
msgid "PATH"
msgstr ""
-#: lexsup.c:319
+#: lexsup.c:321
msgid "Default search path for Solaris compatibility"
msgstr ""
-#: lexsup.c:322
+#: lexsup.c:324
msgid "Start a group"
msgstr ""
-#: lexsup.c:324
+#: lexsup.c:326
msgid "End a group"
msgstr ""
-#: lexsup.c:328
+#: lexsup.c:330
msgid "Accept input files whose architecture cannot be determined"
msgstr ""
-#: lexsup.c:332
+#: lexsup.c:334
msgid "Reject input files whose architecture is unknown"
msgstr ""
-#: lexsup.c:335
+#: lexsup.c:337
msgid ""
"Set DT_NEEDED tags for DT_NEEDED entries in\n"
" following dynamic libs"
msgstr ""
-#: lexsup.c:339
+#: lexsup.c:341
msgid ""
"Do not set DT_NEEDED tags for DT_NEEDED entries\n"
" in following dynamic libs"
msgstr ""
-#: lexsup.c:343
+#: lexsup.c:345
msgid "Only set DT_NEEDED for following dynamic libs if used"
msgstr ""
-#: lexsup.c:346
+#: lexsup.c:348
msgid "Always set DT_NEEDED for following dynamic libs"
msgstr ""
-#: lexsup.c:349
+#: lexsup.c:351
msgid "Ignored for SunOS compatibility"
msgstr ""
-#: lexsup.c:351
+#: lexsup.c:353
msgid "Link against shared libraries"
msgstr ""
-#: lexsup.c:357
+#: lexsup.c:359
msgid "Do not link against shared libraries"
msgstr ""
-#: lexsup.c:365
+#: lexsup.c:367
msgid "Bind global references locally"
msgstr ""
-#: lexsup.c:367
+#: lexsup.c:369
msgid "Bind global function references locally"
msgstr ""
-#: lexsup.c:369
+#: lexsup.c:371
msgid "Check section addresses for overlaps (default)"
msgstr ""
-#: lexsup.c:372
+#: lexsup.c:374
msgid "Do not check section addresses for overlaps"
msgstr ""
-#: lexsup.c:375
+#: lexsup.c:377
msgid "Output cross reference table"
msgstr ""
-#: lexsup.c:377
+#: lexsup.c:379
msgid "SYMBOL=EXPRESSION"
msgstr ""
-#: lexsup.c:377
+#: lexsup.c:379
msgid "Define a symbol"
msgstr ""
-#: lexsup.c:379
+#: lexsup.c:381
msgid "[=STYLE]"
msgstr ""
-#: lexsup.c:379
+#: lexsup.c:381
msgid "Demangle symbol names [using STYLE]"
msgstr ""
-#: lexsup.c:382
+#: lexsup.c:384
msgid "Generate embedded relocs"
msgstr ""
-#: lexsup.c:384
+#: lexsup.c:386
msgid "Treat warnings as errors"
msgstr ""
-#: lexsup.c:387
+#: lexsup.c:389
msgid "Do not treat warnings as errors (default)"
msgstr ""
-#: lexsup.c:390
+#: lexsup.c:392
msgid "Call SYMBOL at unload-time"
msgstr ""
-#: lexsup.c:392
+#: lexsup.c:394
msgid "Force generation of file with .exe suffix"
msgstr ""
-#: lexsup.c:394
+#: lexsup.c:396
msgid "Remove unused sections (on some targets)"
msgstr ""
-#: lexsup.c:397
+#: lexsup.c:399
msgid "Don't remove unused sections (default)"
msgstr ""
-#: lexsup.c:400
+#: lexsup.c:402
msgid "List removed unused sections on stderr"
msgstr ""
-#: lexsup.c:403
+#: lexsup.c:405
msgid "Do not list removed unused sections"
msgstr ""
-#: lexsup.c:406
+#: lexsup.c:408
msgid "Set default hash table size close to <NUMBER>"
msgstr ""
-#: lexsup.c:409
+#: lexsup.c:411
msgid "Print option help"
msgstr ""
-#: lexsup.c:411
+#: lexsup.c:413
msgid "Call SYMBOL at load-time"
msgstr ""
-#: lexsup.c:413
+#: lexsup.c:415
msgid "Write a map file"
msgstr ""
-#: lexsup.c:415
+#: lexsup.c:417
msgid "Do not define Common storage"
msgstr ""
-#: lexsup.c:417
+#: lexsup.c:419
msgid "Do not demangle symbol names"
msgstr ""
-#: lexsup.c:419
+#: lexsup.c:421
msgid "Use less memory and more disk I/O"
msgstr ""
-#: lexsup.c:421
+#: lexsup.c:423
msgid "Do not allow unresolved references in object files"
msgstr ""
-#: lexsup.c:424
+#: lexsup.c:426
msgid "Allow unresolved references in shared libaries"
msgstr ""
-#: lexsup.c:428
+#: lexsup.c:430
msgid "Do not allow unresolved references in shared libs"
msgstr ""
-#: lexsup.c:432
+#: lexsup.c:434
msgid "Allow multiple definitions"
msgstr ""
-#: lexsup.c:434
+#: lexsup.c:436
msgid "Disallow undefined version"
msgstr ""
-#: lexsup.c:436
+#: lexsup.c:438
msgid "Create default symbol version"
msgstr ""
-#: lexsup.c:439
+#: lexsup.c:441
msgid "Create default symbol version for imported symbols"
msgstr ""
-#: lexsup.c:442
+#: lexsup.c:444
msgid "Don't warn about mismatched input files"
msgstr ""
-#: lexsup.c:445
+#: lexsup.c:447
msgid "Don't warn on finding an incompatible library"
msgstr ""
-#: lexsup.c:448
+#: lexsup.c:450
msgid "Turn off --whole-archive"
msgstr ""
-#: lexsup.c:450
+#: lexsup.c:452
msgid "Create an output file even if errors occur"
msgstr ""
-#: lexsup.c:455
+#: lexsup.c:457
msgid ""
"Only use library directories specified on\n"
" the command line"
msgstr ""
-#: lexsup.c:459
+#: lexsup.c:461
msgid "Specify target of output file"
msgstr ""
-#: lexsup.c:462
+#: lexsup.c:464
msgid "Ignored for Linux compatibility"
msgstr ""
-#: lexsup.c:465
+#: lexsup.c:467
msgid "Reduce memory overheads, possibly taking much longer"
msgstr ""
-#: lexsup.c:468
+#: lexsup.c:470
msgid "Relax branches on certain targets"
msgstr ""
-#: lexsup.c:471
+#: lexsup.c:473
msgid "Keep only symbols listed in FILE"
msgstr ""
-#: lexsup.c:473
+#: lexsup.c:475
msgid "Set runtime shared library search path"
msgstr ""
-#: lexsup.c:475
+#: lexsup.c:477
msgid "Set link time shared library search path"
msgstr ""
-#: lexsup.c:478
+#: lexsup.c:480
msgid "Create a shared library"
msgstr ""
-#: lexsup.c:482
+#: lexsup.c:484
msgid "Create a position independent executable"
msgstr ""
-#: lexsup.c:486
+#: lexsup.c:488
msgid "[=ascending|descending]"
msgstr ""
-#: lexsup.c:487
+#: lexsup.c:489
msgid "Sort common symbols by alignment [in specified order]"
msgstr ""
-#: lexsup.c:492
+#: lexsup.c:494
msgid "name|alignment"
msgstr ""
-#: lexsup.c:493
+#: lexsup.c:495
msgid "Sort sections by name or maximum alignment"
msgstr ""
-#: lexsup.c:495
+#: lexsup.c:497
msgid "COUNT"
msgstr ""
-#: lexsup.c:495
+#: lexsup.c:497
msgid "How many tags to reserve in .dynamic section"
msgstr ""
-#: lexsup.c:498
+#: lexsup.c:500
msgid "[=SIZE]"
msgstr ""
-#: lexsup.c:498
+#: lexsup.c:500
msgid "Split output sections every SIZE octets"
msgstr ""
-#: lexsup.c:501
+#: lexsup.c:503
msgid "[=COUNT]"
msgstr ""
-#: lexsup.c:501
+#: lexsup.c:503
msgid "Split output sections every COUNT relocs"
msgstr ""
-#: lexsup.c:504
+#: lexsup.c:506
msgid "Print memory usage statistics"
msgstr ""
-#: lexsup.c:506
+#: lexsup.c:508
msgid "Display target specific options"
msgstr ""
-#: lexsup.c:508
+#: lexsup.c:510
msgid "Do task level linking"
msgstr ""
-#: lexsup.c:510
+#: lexsup.c:512
msgid "Use same format as native linker"
msgstr ""
-#: lexsup.c:512
+#: lexsup.c:514
msgid "SECTION=ADDRESS"
msgstr ""
-#: lexsup.c:512
+#: lexsup.c:514
msgid "Set address of named section"
msgstr ""
-#: lexsup.c:515
+#: lexsup.c:517
msgid "Set address of .bss section"
msgstr ""
-#: lexsup.c:517
+#: lexsup.c:519
msgid "Set address of .data section"
msgstr ""
-#: lexsup.c:519
+#: lexsup.c:521
msgid "Set address of .text section"
msgstr ""
-#: lexsup.c:521
+#: lexsup.c:523
msgid "Set address of text segment"
msgstr ""
-#: lexsup.c:524
+#: lexsup.c:526
msgid ""
"How to handle unresolved symbols. <method> is:\n"
" ignore-all, report-all, ignore-in-object-"
@@ -1841,105 +1841,105 @@
" ignore-in-shared-libs"
msgstr ""
-#: lexsup.c:529
+#: lexsup.c:531
msgid "Output lots of information during link"
msgstr ""
-#: lexsup.c:533
+#: lexsup.c:535
msgid "Read version information script"
msgstr ""
-#: lexsup.c:536
+#: lexsup.c:538
msgid ""
"Take export symbols list from .exports, using\n"
" SYMBOL as the version."
msgstr ""
-#: lexsup.c:540
+#: lexsup.c:542
msgid "Add data symbols to dynamic list"
msgstr ""
-#: lexsup.c:542
+#: lexsup.c:544
msgid "Use C++ operator new/delete dynamic list"
msgstr ""
-#: lexsup.c:544
+#: lexsup.c:546
msgid "Use C++ typeinfo dynamic list"
msgstr ""
-#: lexsup.c:546
+#: lexsup.c:548
msgid "Read dynamic list"
msgstr ""
-#: lexsup.c:548
+#: lexsup.c:550
msgid "Warn about duplicate common symbols"
msgstr ""
-#: lexsup.c:550
+#: lexsup.c:552
msgid "Warn if global constructors/destructors are seen"
msgstr ""
-#: lexsup.c:553
+#: lexsup.c:555
msgid "Warn if the multiple GP values are used"
msgstr ""
-#: lexsup.c:555
+#: lexsup.c:557
msgid "Warn only once per undefined symbol"
msgstr ""
-#: lexsup.c:557
+#: lexsup.c:559
msgid "Warn if start of section changes due to alignment"
msgstr ""
-#: lexsup.c:560
+#: lexsup.c:562
msgid "Warn if shared object has DT_TEXTREL"
msgstr ""
-#: lexsup.c:563
+#: lexsup.c:565
msgid "Warn if an object has alternate ELF machine code"
msgstr ""
-#: lexsup.c:567
+#: lexsup.c:569
msgid "Report unresolved symbols as warnings"
msgstr ""
-#: lexsup.c:570
+#: lexsup.c:572
msgid "Report unresolved symbols as errors"
msgstr ""
-#: lexsup.c:572
+#: lexsup.c:574
msgid "Include all objects from following archives"
msgstr ""
-#: lexsup.c:575
+#: lexsup.c:577
msgid "Use wrapper functions for SYMBOL"
msgstr ""
-#: lexsup.c:722
+#: lexsup.c:726
msgid "%P: unrecognized option '%s'\n"
msgstr ""
-#: lexsup.c:726
+#: lexsup.c:730
msgid "%P%F: use the --help option for usage information\n"
msgstr ""
-#: lexsup.c:744
+#: lexsup.c:748
msgid "%P%F: unrecognized -a option `%s'\n"
msgstr ""
-#: lexsup.c:757
+#: lexsup.c:761
msgid "%P%F: unrecognized -assert option `%s'\n"
msgstr ""
-#: lexsup.c:800
+#: lexsup.c:804
msgid "%F%P: unknown demangling style `%s'"
msgstr ""
-#: lexsup.c:866
+#: lexsup.c:870
msgid "%P%F: invalid number `%s'\n"
msgstr ""
-#: lexsup.c:964
+#: lexsup.c:968
msgid "%P%F: bad --unresolved-symbols option: %s\n"
msgstr ""
@@ -1951,109 +1951,109 @@
#. an error message here. We cannot just make this a warning,
#. increment optind, and continue because getopt is too confused
#. and will seg-fault the next time around.
-#: lexsup.c:1038
+#: lexsup.c:1042
msgid "%P%F: bad -rpath option\n"
msgstr ""
-#: lexsup.c:1149
+#: lexsup.c:1153
msgid "%P%F: -shared not supported\n"
msgstr ""
-#: lexsup.c:1158
+#: lexsup.c:1162
msgid "%P%F: -pie not supported\n"
msgstr ""
-#: lexsup.c:1166
+#: lexsup.c:1170
msgid "descending"
msgstr ""
-#: lexsup.c:1168
+#: lexsup.c:1172
msgid "ascending"
msgstr ""
-#: lexsup.c:1171
+#: lexsup.c:1175
msgid "%P%F: invalid common section sorting option: %s\n"
msgstr ""
-#: lexsup.c:1175
+#: lexsup.c:1179
msgid "name"
msgstr ""
-#: lexsup.c:1177
+#: lexsup.c:1181
msgid "alignment"
msgstr ""
-#: lexsup.c:1180
+#: lexsup.c:1184
msgid "%P%F: invalid section sorting option: %s\n"
msgstr ""
-#: lexsup.c:1214
+#: lexsup.c:1218
msgid "%P%F: invalid argument to option \"--section-start\"\n"
msgstr ""
-#: lexsup.c:1221
+#: lexsup.c:1225
msgid "%P%F: missing argument(s) to option \"--section-start\"\n"
msgstr ""
-#: lexsup.c:1441
+#: lexsup.c:1445
msgid "%P%F: may not nest groups (--help for usage)\n"
msgstr ""
-#: lexsup.c:1448
+#: lexsup.c:1452
msgid "%P%F: group ended before it began (--help for usage)\n"
msgstr ""
-#: lexsup.c:1476
+#: lexsup.c:1480
msgid "%P%X: --hash-size needs a numeric argument\n"
msgstr ""
-#: lexsup.c:1527 lexsup.c:1540
+#: lexsup.c:1531 lexsup.c:1544
msgid "%P%F: invalid hex number `%s'\n"
msgstr ""
-#: lexsup.c:1576
+#: lexsup.c:1580
#, c-format
msgid "Usage: %s [options] file...\n"
msgstr ""
-#: lexsup.c:1578
+#: lexsup.c:1582
#, c-format
msgid "Options:\n"
msgstr ""
-#: lexsup.c:1656
+#: lexsup.c:1660
#, c-format
msgid " @FILE"
msgstr ""
-#: lexsup.c:1659
+#: lexsup.c:1663
#, c-format
msgid "Read options from FILE\n"
msgstr ""
#. Note: Various tools (such as libtool) depend upon the
#. format of the listings below - do not change them.
-#: lexsup.c:1664
+#: lexsup.c:1668
#, c-format
msgid "%s: supported targets:"
msgstr ""
-#: lexsup.c:1672
+#: lexsup.c:1676
#, c-format
msgid "%s: supported emulations: "
msgstr ""
-#: lexsup.c:1677
+#: lexsup.c:1681
#, c-format
msgid "%s: emulation specific options:\n"
msgstr ""
-#: lexsup.c:1682
+#: lexsup.c:1686
#, c-format
msgid "Report bugs to %s\n"
msgstr ""
-#: mri.c:291
+#: mri.c:292
msgid "%P%F: unknown format type %s\n"
msgstr ""
@@ -2097,53 +2097,53 @@
msgid "%XError, ordinal used twice: %d (%s vs %s)\n"
msgstr ""
-#: pe-dll.c:1410
+#: pe-dll.c:1429
#, c-format
msgid "%XError: %d-bit reloc in dll\n"
msgstr ""
-#: pe-dll.c:1538
+#: pe-dll.c:1557
#, c-format
msgid "%s: Can't open output def file %s\n"
msgstr ""
-#: pe-dll.c:1683
+#: pe-dll.c:1702
#, c-format
msgid "; no contents available\n"
msgstr ""
-#: pe-dll.c:2600
+#: pe-dll.c:2619
msgid ""
"%C: variable '%T' can't be auto-imported. Please read the documentation for "
"ld's --enable-auto-import for details.\n"
msgstr ""
-#: pe-dll.c:2630
+#: pe-dll.c:2649
#, c-format
msgid "%XCan't open .lib file: %s\n"
msgstr ""
-#: pe-dll.c:2635
+#: pe-dll.c:2654
#, c-format
msgid "Creating library file: %s\n"
msgstr ""
-#: pe-dll.c:2664
+#: pe-dll.c:2683
#, c-format
msgid "%Xbfd_openr %s: %E\n"
msgstr ""
-#: pe-dll.c:2676
+#: pe-dll.c:2695
#, c-format
msgid "%X%s(%s): can't find member in non-archive file"
msgstr ""
-#: pe-dll.c:2688
+#: pe-dll.c:2707
#, c-format
msgid "%X%s(%s): can't find member in archive"
msgstr ""
-#: pe-dll.c:3078
+#: pe-dll.c:3097
#, c-format
msgid "%XError: can't use long section names on this arch\n"
msgstr ""
diff --git a/binutils/ld/scripttempl/elf.sc b/binutils/ld/scripttempl/elf.sc
index 886f578..5378afa 100644
--- a/binutils/ld/scripttempl/elf.sc
+++ b/binutils/ld/scripttempl/elf.sc
@@ -311,6 +311,7 @@
COMBRELOCCAT="cat > $COMBRELOC"
fi
eval $COMBRELOCCAT <<EOF
+ ${INITIAL_RELOC_SECTIONS}
.rel.init ${RELOCATING-0} : { *(.rel.init) }
.rela.init ${RELOCATING-0} : { *(.rela.init) }
.rel.text ${RELOCATING-0} : { *(.rel.text${RELOCATING+ .rel.text.* .rel.gnu.linkonce.t.*}) }
diff --git a/binutils/ld/testsuite/ChangeLog b/binutils/ld/testsuite/ChangeLog
index 5fb02a4..521c22c 100644
--- a/binutils/ld/testsuite/ChangeLog
+++ b/binutils/ld/testsuite/ChangeLog
@@ -1,3 +1,33 @@
+2010-02-19 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
+
+ 2010-02-15 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
+ * ld-arm/jump-reloc-veneers-long.d: Correct testcase for
+ arm-none-eabi target.
+ * ld-arm/jump-reloc-veneers-short1.d: Likewise
+ * ld-arm/jump-reloc-veneers-short2.d: Likewise
+
+ 2010-02-01 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
+ * ld-arm/jump-reloc-veneers-long.d: New test.
+ * ld-arm/jump-reloc-veneers-short1.d: Likewise.
+ * ld-arm/jump-reloc-veneers-short2.d: Likewise.
+ * ld-arm/jump-reloc-veneers.s: Likewise.
+ * ld-arm/arm-elf.exp (armelftests): Run them.
+
+2010-01-30 Richard Sandiford <r.sandiford@uk.ibm.com>
+
+ * ld-powerpc/aix-ref-1-32.od, ld-powerpc/aix-ref-1-64.od,
+ ld-powerpc/aix-ref-1.s: New tests.
+ * ld-powerpc/aix52.exp: Run them.
+
+2009-10-19 Hans-Peter Nilsson <hp@axis.com>
+
+ * ld-cris/tls-e-20.d, ld-cris/tls-e-20a.d, ld-cris/tls-e-22.d,
+ ld-cris/tls-e-80.d, ld-cris/tls-e-dtpoffd1.d,
+ ld-cris/tls-e-dtpoffd3.d, ld-cris/tls-ldgde-14.d,
+ ld-cris/tls-ldgde-15.d, ld-cris/tls-ldgdex-14.d,
+ ld-cris/tls-ldgdex-15.d: Adjust for change in non-shared
+ R_CRIS_32_DTPREL and R_CRIS_16_DTPREL relocations.
+
2009-10-03 Alan Modra <amodra@bigpond.net.au>
* ld-powerpc/tlsexe.d: Update.
diff --git a/binutils/ld/testsuite/ld-arm/arm-elf.exp b/binutils/ld/testsuite/ld-arm/arm-elf.exp
index d88fb37..4b65c37 100644
--- a/binutils/ld/testsuite/ld-arm/arm-elf.exp
+++ b/binutils/ld/testsuite/ld-arm/arm-elf.exp
@@ -419,6 +419,24 @@
{{objdump -fdw farcall-mixed-lib.d}}
"farcall-mixed-lib.so"}
+ {"R_ARM_THM_JUMP24 Relocation veneers: Short 1"
+ "-defsym _start=0x8000 --section-start destsect=0x00009000"
+ "-march=armv7-a -mthumb"
+ {jump-reloc-veneers.s}
+ {{objdump -d jump-reloc-veneers-short1.d}}
+ "jump-reloc-veneers-short1"}
+ {"R_ARM_THM_JUMP24 Relocation veneers: Short 2"
+ "-defsym _start=0x8000 --section-start destsect=0x00900000"
+ "-march=armv7-a -mthumb"
+ {jump-reloc-veneers.s}
+ {{objdump -d jump-reloc-veneers-short2.d}}
+ "jump-reloc-veneers-short2"}
+ {"R_ARM_THM_JUMP24 Relocation veneers: Long"
+ "-defsym _start=0x8000 --section-start destsect=0x09000000"
+ "-march=armv7-a -mthumb"
+ {jump-reloc-veneers.s}
+ {{objdump -d jump-reloc-veneers-long.d}}
+ "jump-reloc-veneers-long"}
}
run_ld_link_tests $armeabitests
diff --git a/binutils/ld/testsuite/ld-arm/jump-reloc-veneers-long.d b/binutils/ld/testsuite/ld-arm/jump-reloc-veneers-long.d
new file mode 100644
index 0000000..0dba9ec
--- /dev/null
+++ b/binutils/ld/testsuite/ld-arm/jump-reloc-veneers-long.d
@@ -0,0 +1,21 @@
+
+.*: file format.*
+
+
+Disassembly of section destsect:
+
+09000000 <[^>]*>:
+ 9000000: e7fe b.n 9000000 <dest>
+
+Disassembly of section .text:
+
+000080.. <[^>]*>:
+ 80..: b802f000 .word 0xb802f000
+ 80..: 00000000 andeq r0, r0, r0
+
+000080.. <[^>]*>:
+ 80..: 4778 bx pc
+ 80..: 46c0 nop ; \(mov r8, r8\)
+ 80..: e59fc000 ldr ip, \[pc, #0\] ; 80.. <__dest_veneer\+0xc>
+ 80..: e12fff1c bx ip
+ 80..: 09000001 .word 0x09000001
diff --git a/binutils/ld/testsuite/ld-arm/jump-reloc-veneers-short1.d b/binutils/ld/testsuite/ld-arm/jump-reloc-veneers-short1.d
new file mode 100644
index 0000000..3796652
--- /dev/null
+++ b/binutils/ld/testsuite/ld-arm/jump-reloc-veneers-short1.d
@@ -0,0 +1,13 @@
+
+.*: file format.*
+
+
+Disassembly of section destsect:
+
+00009000 <[^>]*>:
+ 9000: e7fe b.n 9000 <dest>
+
+Disassembly of section .text:
+
+000080.. <[^>]*>:
+ 80..: f000 bf.. b.w 9000 <dest>
diff --git a/binutils/ld/testsuite/ld-arm/jump-reloc-veneers-short2.d b/binutils/ld/testsuite/ld-arm/jump-reloc-veneers-short2.d
new file mode 100644
index 0000000..22fa6df
--- /dev/null
+++ b/binutils/ld/testsuite/ld-arm/jump-reloc-veneers-short2.d
@@ -0,0 +1,13 @@
+
+.*: file format.*
+
+
+Disassembly of section destsect:
+
+00900000 <[^>]*>:
+ 900000: e7fe b.n 900000 <dest>
+
+Disassembly of section .text:
+
+000080.. <[^>]*>:
+ 80..: f0f7 9f.. b.w 900000 <dest>
diff --git a/binutils/ld/testsuite/ld-arm/jump-reloc-veneers.s b/binutils/ld/testsuite/ld-arm/jump-reloc-veneers.s
new file mode 100644
index 0000000..d307c08
--- /dev/null
+++ b/binutils/ld/testsuite/ld-arm/jump-reloc-veneers.s
@@ -0,0 +1,12 @@
+ .text
+ .syntax unified
+ .thumb_func
+ .global _start
+ .type _start,%function
+_start:
+ b.w dest
+
+ .section destsect, "x"
+ .thumb_func
+dest:
+ b dest
diff --git a/binutils/ld/testsuite/ld-cris/tls-e-20.d b/binutils/ld/testsuite/ld-cris/tls-e-20.d
index d4fd8fc..e45bb47 100644
--- a/binutils/ld/testsuite/ld-cris/tls-e-20.d
+++ b/binutils/ld/testsuite/ld-cris/tls-e-20.d
@@ -64,7 +64,7 @@
80098: 6fae 1800 0000 move\.d 18 <x2\+0x10>,\$r10
#...
000800a0 <tlsdsofn>:
- 800a0: 6fae f4ff ffff move\.d 0xfffffff4,\$r10
+ 800a0: 6fae 0000 0000 move\.d 0 <x>,\$r10
#...
000800a8 <tlsdsofn10>:
800a8: 6fae 1400 0000 move\.d 14 <x2\+0xc>,\$r10
diff --git a/binutils/ld/testsuite/ld-cris/tls-e-20a.d b/binutils/ld/testsuite/ld-cris/tls-e-20a.d
index 2ea7d0d..b1550b4 100644
--- a/binutils/ld/testsuite/ld-cris/tls-e-20a.d
+++ b/binutils/ld/testsuite/ld-cris/tls-e-20a.d
@@ -102,7 +102,7 @@
#...
000800cc <tlsdsofn>:
- 800cc: 6fae f4ff ffff move\.d 0xfffffff4,\$r10
+ 800cc: 6fae 8000 0000 move\.d 80 <x>,\$r10
#...
000800d4 <tlsdsofn10>:
diff --git a/binutils/ld/testsuite/ld-cris/tls-e-22.d b/binutils/ld/testsuite/ld-cris/tls-e-22.d
index 1976d99..93ab45d 100644
--- a/binutils/ld/testsuite/ld-cris/tls-e-22.d
+++ b/binutils/ld/testsuite/ld-cris/tls-e-22.d
@@ -35,5 +35,5 @@
80094: 41b2 moveq 1,\$r11
#...
00080098 <tlsdsofn>:
- 80098: 6fae fcff ffff move\.d 0xfffffffc,\$r10
+ 80098: 6fae 8000 0000 move\.d 80 <x>,\$r10
#...
diff --git a/binutils/ld/testsuite/ld-cris/tls-e-80.d b/binutils/ld/testsuite/ld-cris/tls-e-80.d
index 273ac1f..6210593 100644
--- a/binutils/ld/testsuite/ld-cris/tls-e-80.d
+++ b/binutils/ld/testsuite/ld-cris/tls-e-80.d
@@ -81,7 +81,7 @@
800a8: 6fae b4ff ffff move.d 0xffffffb4,\$r10
#...
000800b0 <tlsdsofn>:
- 800b0: 6fae b0ff ffff move\.d 0xffffffb0,\$r10
+ 800b0: 6fae 0000 0000 move\.d 0 <x>,\$r10
#...
000800b8 <tlsdsofn10>:
800b8: 6fae 1400 0000 move\.d 14 <gx\+0x4>,\$r10
diff --git a/binutils/ld/testsuite/ld-cris/tls-e-dtpoffd1.d b/binutils/ld/testsuite/ld-cris/tls-e-dtpoffd1.d
index e81485b..5da24b5 100644
--- a/binutils/ld/testsuite/ld-cris/tls-e-dtpoffd1.d
+++ b/binutils/ld/testsuite/ld-cris/tls-e-dtpoffd1.d
@@ -27,6 +27,6 @@
82120 00000000 00000000 00000000 01000000 .*
82130 80000000 .*
Contents of section .debug_info:
- 0000 fcffffff .*
+ 0000 80000000 .*
Contents of section .debug_line:
#pass
diff --git a/binutils/ld/testsuite/ld-cris/tls-e-dtpoffd3.d b/binutils/ld/testsuite/ld-cris/tls-e-dtpoffd3.d
index 8612e38..6013a3a 100644
--- a/binutils/ld/testsuite/ld-cris/tls-e-dtpoffd3.d
+++ b/binutils/ld/testsuite/ld-cris/tls-e-dtpoffd3.d
@@ -27,6 +27,6 @@
8211c 00000000 00000000 00000000 01000000 .*
8212c 80000000 .*
Contents of section .debug_info:
- 0000 fcffffff .*
+ 0000 80000000 .*
Contents of section .debug_line:
#pass
diff --git a/binutils/ld/testsuite/ld-cris/tls-ldgde-14.d b/binutils/ld/testsuite/ld-cris/tls-ldgde-14.d
index aa8e60e..9eada3e 100644
--- a/binutils/ld/testsuite/ld-cris/tls-ldgde-14.d
+++ b/binutils/ld/testsuite/ld-cris/tls-ldgde-14.d
@@ -51,8 +51,8 @@
80094: 41b2 moveq 1,\$r11
#...
00080098 <tlsdsofn>:
- 80098: 5fae f8ff move\.w 0xfff8,\$r10
- 8009c: 5fbe fcff move\.w 0xfffc,\$r11
+ 80098: 5fae 8800 move\.w 0x88,\$r10
+ 8009c: 5fbe 8c00 move\.w 0x8c,\$r11
000800a0 <tlsdsofn0>:
800a0: 5fae 1400 move\.w 0x14,\$r10
diff --git a/binutils/ld/testsuite/ld-cris/tls-ldgde-15.d b/binutils/ld/testsuite/ld-cris/tls-ldgde-15.d
index 6e71bcf..d5e993d 100644
--- a/binutils/ld/testsuite/ld-cris/tls-ldgde-15.d
+++ b/binutils/ld/testsuite/ld-cris/tls-ldgde-15.d
@@ -51,8 +51,8 @@
80094: 41b2 moveq 1,\$r11
#...
00080098 <tlsdsofn>:
- 80098: 6fae f8ff ffff move.d 0xfffffff8,\$r10
- 8009e: 6fbe fcff ffff move.d 0xfffffffc,\$r11
+ 80098: 6fae 8800 0000 move.d 88 <x1>,\$r10
+ 8009e: 6fbe 8c00 0000 move.d 8c <x2>,\$r11
000800a4 <tlsdsofn2>:
800a4: 6fae 1400 0000 move.d 14 <tls128\+0x14>,\$r10
#...
diff --git a/binutils/ld/testsuite/ld-cris/tls-ldgdex-14.d b/binutils/ld/testsuite/ld-cris/tls-ldgdex-14.d
index 8fdd500..83d94a7 100644
--- a/binutils/ld/testsuite/ld-cris/tls-ldgdex-14.d
+++ b/binutils/ld/testsuite/ld-cris/tls-ldgdex-14.d
@@ -44,7 +44,7 @@
Contents of section .interp:
#...
Contents of section \.text:
- 801dc 41b20000 5faef8ff 5fbefcff 5fae1400 .*
+ 801dc 41b20000 5fae8000 5fbe8400 5fae1400 .*
801ec 5fae1c00 .*
Contents of section \.tdata:
#...
diff --git a/binutils/ld/testsuite/ld-cris/tls-ldgdex-15.d b/binutils/ld/testsuite/ld-cris/tls-ldgdex-15.d
index 43bac9f..fca739b 100644
--- a/binutils/ld/testsuite/ld-cris/tls-ldgdex-15.d
+++ b/binutils/ld/testsuite/ld-cris/tls-ldgdex-15.d
@@ -44,7 +44,7 @@
Contents of section \.interp:
#...
Contents of section \.text:
- 801dc 41b20000 6faef8ff ffff6fbe fcffffff .*
+ 801dc 41b20000 6fae8000 00006fbe 84000000 .*
801ec 6fae1400 00000000 6fae1c00 00000000 .*
Contents of section \.tdata:
#...
diff --git a/binutils/ld/testsuite/ld-powerpc/aix-ref-1-32.od b/binutils/ld/testsuite/ld-powerpc/aix-ref-1-32.od
new file mode 100644
index 0000000..1ba90ec
--- /dev/null
+++ b/binutils/ld/testsuite/ld-powerpc/aix-ref-1-32.od
@@ -0,0 +1,30 @@
+
+.*
+
+
+Disassembly of section \.text:
+
+.* <foo1>:
+.*: 60 00 00 00 oril r0,r0,0
+ .*: R_REF foo2\+.*
+.*: 80 22 00 00 l r1,0\(r2\)
+ .*: R_TOC stuff\+.*
+.*: 4e 80 00 20 br
+
+.* <foo2>:
+.*: 60 00 00 00 oril r0,r0,0
+ .*: R_REF foo6\+.*
+ .*: R_REF foo4\+.*
+.*: 80 22 00 00 l r1,0\(r2\)
+ .*: R_TOC stuff\+.*
+
+.* <foo4>:
+.*: 60 00 00 00 oril r0,r0,0
+.*: 80 22 00 00 l r1,0\(r2\)
+ .*: R_TOC stuff\+.*
+
+.* <foo6>:
+.*: 60 00 00 00 oril r0,r0,0
+.*: 80 22 00 00 l r1,0\(r2\)
+ .*: R_TOC stuff\+.*
+ \.\.\.
diff --git a/binutils/ld/testsuite/ld-powerpc/aix-ref-1-64.od b/binutils/ld/testsuite/ld-powerpc/aix-ref-1-64.od
new file mode 100644
index 0000000..9cc6e9d
--- /dev/null
+++ b/binutils/ld/testsuite/ld-powerpc/aix-ref-1-64.od
@@ -0,0 +1,30 @@
+
+.*
+
+
+Disassembly of section \.text:
+
+.* <foo1>:
+ .*: 60 00 00 00 nop
+ .*: R_REF foo2\+.*
+ .*: e8 22 00 00 ld r1,0\(r2\)
+ .*: R_TOC stuff\+.*
+ .*: 4e 80 00 20 blr
+
+.* <foo2>:
+ .*: 60 00 00 00 nop
+ .*: R_REF foo6\+.*
+ .*: R_REF foo4\+.*
+ .*: e8 22 00 00 ld r1,0\(r2\)
+ .*: R_TOC stuff\+.*
+
+.* <foo4>:
+ .*: 60 00 00 00 nop
+ .*: e8 22 00 00 ld r1,0\(r2\)
+ .*: R_TOC stuff\+.*
+
+.* <foo6>:
+ .*: 60 00 00 00 nop
+ .*: e8 22 00 00 ld r1,0\(r2\)
+ .*: R_TOC stuff\+.*
+ \.\.\.
diff --git a/binutils/ld/testsuite/ld-powerpc/aix-ref-1.s b/binutils/ld/testsuite/ld-powerpc/aix-ref-1.s
new file mode 100644
index 0000000..33445a6
--- /dev/null
+++ b/binutils/ld/testsuite/ld-powerpc/aix-ref-1.s
@@ -0,0 +1,57 @@
+ .macro loadtoc,sym
+ .if size == 32
+ lwz 1,\sym(2)
+ .else
+ ld 1,\sym(2)
+ .endif
+ .endm
+
+ .toc
+LC01: .tc stuff[TC],stuff[RW]
+
+ .globl foo1
+ .csect foo1[pr]
+foo1:
+ .align 8
+ nop
+ loadtoc LC01
+
+ .globl foo2
+ .csect foo2[pr]
+foo2:
+ nop
+ loadtoc LC01
+ .ref foo4 , foo6
+
+ .globl foo3
+ .csect foo3[pr]
+foo3:
+ nop
+ loadtoc LC01
+
+ .globl foo4
+ .csect foo4[pr]
+foo4:
+ nop
+ loadtoc LC01
+
+ .globl foo5
+ .csect foo5[pr]
+foo5:
+ nop
+ loadtoc LC01
+ .ref foo3
+
+ .globl foo6
+ .csect foo6[pr]
+foo6:
+ nop
+ loadtoc LC01
+
+ .csect foo1[pr]
+ blr
+ .ref foo2
+
+ .csect stuff[rw]
+stuff:
+ .long 1
diff --git a/binutils/ld/testsuite/ld-powerpc/aix52.exp b/binutils/ld/testsuite/ld-powerpc/aix52.exp
index d608490..2f00cff 100644
--- a/binutils/ld/testsuite/ld-powerpc/aix52.exp
+++ b/binutils/ld/testsuite/ld-powerpc/aix52.exp
@@ -196,6 +196,11 @@
"" {aix-rel-1.s}
{{objdump -hr aix-rel-1.od}} "aix-rel-1.ro"}
+ {".ref test 1" "-efoo1"
+ "" {aix-ref-1.s}
+ {{objdump -dr aix-ref-1-SIZE.od}}
+ "aix-ref-1"}
+
{"Weak test 1 (rel)" "-r"
"" {aix-weak-1a.s aix-weak-1b.s}
{{nm {} aix-weak-1-rel.nd} {objdump -h aix-weak-1-rel.hd}}
diff --git a/binutils/md5.sum b/binutils/md5.sum
index 848fafa..6c1629e 100644
--- a/binutils/md5.sum
+++ b/binutils/md5.sum
@@ -10,7 +10,7 @@
07c33a285703b40cd6f93a478e97e03b README
72b7803505f14cf31e291a59f538c6c8 README-maintainer-mode
6e04f1e8cca42e88402002abca0337e4 bfd/acinclude.m4
-c73469ad3b65e73f4594fa1025b55a58 bfd/aclocal.m4
+93132c57c9e4b85d6ab07406466e4e39 bfd/aclocal.m4
736616e4415e3fb08d12930fe6b9f1b8 bfd/aix386-core.c
b3575c73467ebc45473c2ea0875c1b4e bfd/aix5ppc-core.c
7f81d4e4d87ee972479722a701445e68 bfd/aout-adobe.c
@@ -29,8 +29,8 @@
6b6f763f6dff0e916eee73ec1cb8c2e8 bfd/archive64.c
12132d26831ab2293b6c4266829a4ad8 bfd/archures.c
5ed657bb294400d6c36a8c00ee83ad48 bfd/armnetbsd.c
-0bd13549dccc2d28c2da5da026f54b54 bfd/bfd-in.h
-7ae38711bfc7c844360e99bd3b518bd4 bfd/bfd-in2.h
+568e5b953765fe036483bbc6b0bb9e20 bfd/bfd-in.h
+79ace8e56b6d024905f3cb268556f6d3 bfd/bfd-in2.h
0820806c50969f382ebd08ba0ea75dd3 bfd/bfd.c
7c10f60dcc5ef2ab6486251a4ea83b9a bfd/bfd.m4
fb1a215e0529a943e10d06774dbc946e bfd/bfdio.c
@@ -40,7 +40,7 @@
56ddc3ad0997bf501efd35a69c80b2a0 bfd/cache.c
c97717d51efe6661f46119e4e1ea4db4 bfd/cf-i386lynx.c
18f09a3a9b17fa7bff19b95588827a37 bfd/cf-sparclynx.c
-5b3d65bb3f7cd33c7abb4a9507effac8 bfd/ChangeLog
+ad1a6c09ae06a24a45642f070682c87b bfd/ChangeLog
daabeea83b81f2707d48d2c04dcc37c4 bfd/ChangeLog-0001
0a3e33c0b179772334e34175da11b64f bfd/ChangeLog-0203
d20549a2f701cd99318d0af070416bf3 bfd/ChangeLog-2004
@@ -72,7 +72,7 @@
b7adb34f445f942e3ab4332950e83945 bfd/coff-or32.c
51449ffb254d04e0fb326a249e8f972f bfd/coff-pmac.c
beb1745d9d1934b104011b8d8e371f71 bfd/coff-ppc.c
-4f7e155c199f37212548927742ec1f80 bfd/coff-rs6000.c
+16aec4e21228e7c67601e20422c91080 bfd/coff-rs6000.c
95668664b1c47c719a64c579c4cbafb0 bfd/coff-sh.c
cb5ae8ecdedba094ce170c3d3cb895c9 bfd/coff-sparc.c
050538e2d4350eba57e0b158fb542a88 bfd/coff-stgo32.c
@@ -87,7 +87,7 @@
8edccf7382fab70ebb08fdfd4c63622c bfd/coff-x86_64.c
c41d9c0df131f800b6d0913834696aa0 bfd/coff-z80.c
7d0efdbb284f00939c3d7f6de24235da bfd/coff-z8k.c
-c72019f53da8407593fb0da671902cdc bfd/coff64-rs6000.c
+39762a5a07ab9c3ee0a4adc7946ea645 bfd/coff64-rs6000.c
42f5f7505d067b236305bea7fcf703e1 bfd/coffcode.h
d042ac47f3315ef17980c30ea185177b bfd/coffgen.c
abf5780c1440d9fb2f989c0e15b90029 bfd/cofflink.c
@@ -95,10 +95,10 @@
665b7fa48e79efdaa9754656a00e46d8 bfd/compress.c
fc5cc293c6839f22e402ea57fa1e983d bfd/config.bfd
cdee5933be05d3db9f0a75c5ea4bc7a5 bfd/config.in
-2367fc43b8bed1e5e2dba8fcdd1cfc7a bfd/configure
+2c85bfdca1af4cda321152427ed22a65 bfd/configure
8da9933e8c528ce88a460cfadb5b61ce bfd/configure.com
-b6168706fdbf981a62df6348ad485b18 bfd/configure.host
-6aaf616a4f2e2d423bb5936f1eada266 bfd/configure.in
+3c12773fc822c4c05d8f8373a490bf95 bfd/configure.host
+748f253a58d00f0be8391f33dbbde3ce bfd/configure.in
d32239bcb673463ab874e80d47fae504 bfd/COPYING
222c91c7fd6af092606bd158a11dca39 bfd/corefile.c
89ae5a994f899638bc8effdc8bfeac34 bfd/cpu-alpha.c
@@ -182,7 +182,7 @@
f18aecbdd5aa2d32d474c0d54c84b130 bfd/doc/bfdio.texi
5ee7f8ae8b0ec33c7baf2e004084aaa1 bfd/doc/bfdsumm.texi
b062ec651474123a3eea29b9ba6e5468 bfd/doc/bfdt.texi
-8e5828e42a9b5629e7a07cf33a98b6b5 bfd/doc/bfdver.texi
+c531368d517e950babfdb037bce08adb bfd/doc/bfdver.texi
236e856bb13ee47adc5d7d253037640d bfd/doc/bfdwin.texi
2afdf80182d7d816eb993fe194d378a3 bfd/doc/cache.texi
c4aee1a8490ff21baf7a9e58f1c4b8f3 bfd/doc/ChangeLog
@@ -201,7 +201,7 @@
7d2276b33f6c38de1679adc0ec62edf8 bfd/doc/libbfd.texi
59089a0cf39c460b7c7809e77027946c bfd/doc/linker.texi
d2c072a60c85bbcf23800ed64bd45f83 bfd/doc/Makefile.am
-aa5df6f27e30515e929b84a4ee5f0d1c bfd/doc/Makefile.in
+6e7ecfafe4d99528a66e7d4ad9780fba bfd/doc/Makefile.in
5fa24958e8a60b2f879af658e615ccc0 bfd/doc/makefile.vms
58f9e78e71f2d034a79e172899e792f6 bfd/doc/mmo.texi
08cdd2645039224cac888475654eb8dd bfd/doc/opncls.texi
@@ -210,8 +210,8 @@
2e898b03bef3b8a7689a215ead650f07 bfd/doc/section.texi
f335289247e38d4dce82697113a6bce5 bfd/doc/syms.texi
26beaf26934fd162b4c2dc0b64535bb9 bfd/doc/targets.texi
-b6bb15ec19e7a9f07cba0354427f1540 bfd/dwarf1.c
-0ed8d4f550a61baee451985fa55769c4 bfd/dwarf2.c
+35a51081f68984bab0850ecc54b062cc bfd/dwarf1.c
+5c011c53605307b0b52e1c8506904dce bfd/dwarf2.c
2758f6f941092dd789345a79e6a9e82d bfd/ecoff.c
5202b65bffd54bd5e14854b3bdc8f464 bfd/ecofflink.c
67df9e1bdfc0782dd9e6ad00f505f687 bfd/ecoffswap.h
@@ -228,13 +228,13 @@
995232b1f180b7301849123de7d57658 bfd/elf.c
42c1efc1918415fca01b5679c884cc7c bfd/elf32-am33lin.c
9d03e5cc8b0719b6fdb483746ba834a0 bfd/elf32-arc.c
-665b7cedb53cb4a6a3366764528ee4c6 bfd/elf32-arm.c
+bdb9d7f72b5375a1e071664422eb353c bfd/elf32-arm.c
f9b84815151375c07441b932b12885e9 bfd/elf32-avr.c
f6846e8628e2f26f82fea28151906429 bfd/elf32-avr.h
cf448e260f83a780161976628bb273be bfd/elf32-bfin.c
c6b3376212ae56b9d63c72257c90256e bfd/elf32-cr16.c
360179e5184bb7fe963f2dfb028e1484 bfd/elf32-cr16c.c
-c3893f5e373eb2fb0c4a02c28fb3b0b4 bfd/elf32-cris.c
+9bcda061d2f33327969beb1af6705208 bfd/elf32-cris.c
93df2a6438919921754f45e4f703b769 bfd/elf32-crx.c
77b587dc1b8d03e2fb93bc16f24398f4 bfd/elf32-d10v.c
e9aa232096cc8fe8d530c39db7358897 bfd/elf32-d30v.c
@@ -270,7 +270,7 @@
12c4270a4084fed5b8b6fa038bd0cb3c bfd/elf32-openrisc.c
468e5e58c80e985dfbfa201ce07fe4ba bfd/elf32-or32.c
140b65ea1bdd039c81067900b5124da8 bfd/elf32-pj.c
-07b38ad55faf56192f4a79279e74ac50 bfd/elf32-ppc.c
+a77eac060a167d8483f8b9bb7ef8b271 bfd/elf32-ppc.c
365a056a6b67a82bc90fd684ae12a82c bfd/elf32-ppc.h
ca652020cb9d995a11c98baaf2717d81 bfd/elf32-s390.c
90050b13a75ba51cbab99f21134cb872 bfd/elf32-score.c
@@ -283,7 +283,7 @@
26b1a1107fd2d560c3e29822f8321780 bfd/elf32-sh64.c
1fa268e389df0b3304de7d965589da01 bfd/elf32-sh64.h
08c64e47eceb3c03c97099d36e6b3677 bfd/elf32-sparc.c
-ab39d1d74026a536670993848f811f9d bfd/elf32-spu.c
+d0344c67c5406e8caefe07976092bb85 bfd/elf32-spu.c
e48841dba20a31a21c00d16af64ee8f8 bfd/elf32-spu.h
a28c501416a9e193188e81e2771c2b23 bfd/elf32-v850.c
3551bfead652d327b54a96bc528d4b97 bfd/elf32-vax.c
@@ -297,7 +297,7 @@
9cff3ac6c428477bd9e305540d95e47a bfd/elf64-hppa.h
4c281dbce22ab9ed7e7b407fbbc4c205 bfd/elf64-mips.c
1863e432d4b5480802ac74270ad0a154 bfd/elf64-mmix.c
-ab3444116d1c1ef873e3d00cb89a1395 bfd/elf64-ppc.c
+af6c78e89d59df95586a78b4f9f02866 bfd/elf64-ppc.c
e9613996e66f31a4d0f4beb781a9b58a bfd/elf64-ppc.h
ec779fdb1eca4dc5bf220a8fe78526de bfd/elf64-s390.c
5e93740ad5e4da72e616a1558429f94b bfd/elf64-sh64.c
@@ -392,8 +392,8 @@
501a5a7c284d70ea7b7975172b05c159 bfd/mach-o.c
207effaf2f34b8a982fcb6e447a4622e bfd/mach-o.h
d618facc3e8ce8bf3d02ba452e1be6ab bfd/MAINTAINERS
-3a037720b0ffaf8b6f37b27264836df5 bfd/Makefile.am
-6ec8d40bd98b2d6072855a8b2113b4f0 bfd/Makefile.in
+f5bb9e7083d4aa0f80d08af521b81242 bfd/Makefile.am
+99e802e6144421227b4a23c8f056d0d7 bfd/Makefile.in
f9f0bd218e634b6d1ddf6556e4aa0f20 bfd/makefile.vms
76a44dbc419f39a2d9cdf76d308b370f bfd/mep-relocs.pl
02a6c47e22afc74aaec995a041e9c92c bfd/merge.c
@@ -415,7 +415,7 @@
7d24843968787ccead71cb5da5c21adf bfd/ns32k.h
fdbfd6f37c3c732d7b622b8fd5fdee3a bfd/ns32knetbsd.c
821b3a7520f935350be4cf792dc0a69b bfd/oasys.c
-34e29256b4970c5125fb189f590398d0 bfd/opncls.c
+7c31906a2d7d21c67c7bbecfe2c0a15e bfd/opncls.c
cf7e90ff372c0f49751682aa82a2fda5 bfd/osf-core.c
6f427e2408b21a034daf553e5aacb0c9 bfd/pc532-mach.c
ac8d83a218e81645d69d7ab82d00b999 bfd/pdp11.c
@@ -443,7 +443,7 @@
1af0014f635bac9df1bdf9484349438a bfd/peXXigen.c
105ec07116c825794757b457d434301a bfd/plugin.c
2261c135ccf79ec02dc19864386d2cca bfd/plugin.h
-89a6b93f314df6531d57b4664ab7f718 bfd/po/bfd.pot
+aca9c8b785cc1d45f75498db988488e3 bfd/po/bfd.pot
d900f09c506ad5057a3fddd39e3fab7c bfd/po/BLD-POTFILES.in
35a4480c592584b75a828838b20938a0 bfd/po/da.gmo
3aae148fb9018854c2d708a4ef931674 bfd/po/da.po
@@ -507,7 +507,7 @@
35614e9f4a26c44ff67a78f1c2ff108c bfd/vaxnetbsd.c
ded914cc2de38e887f34cddf674120e1 bfd/verilog.c
bf65ca61018ff6d9a6c8a493f2e382f4 bfd/versados.c
-4da57fe16d83d664265d53151a304684 bfd/version.h
+8a8156a2423f003bc32367677c39cf20 bfd/version.h
ed75724c37b40d40c40ec328602113d8 bfd/vms-gsd.c
ebab96cd0f18879922c8aba8aaa3c0bc bfd/vms-hdr.c
73ea21be4d2230a458bc995780494bca bfd/vms-misc.c
@@ -521,7 +521,7 @@
11213bf58c2136189edd119d00671f00 bfd/xsym.h
55550309c348f92e3fca871dee1bf980 bfd/xtensa-isa.c
13929a56808fb5cf008e237eee5a4b55 bfd/xtensa-modules.c
-1a455f2e2d6856e7913d62030ad0ac75 binutils/aclocal.m4
+95cad22bbe2e419a301deb0ca9e16c23 binutils/aclocal.m4
38097b022d418ba79fe3ce2910b58cd0 binutils/addr2line.c
e1f55d1c4ba6be8edf09b66c37c5ef1a binutils/ar.c
03f2dd8273c84972aa64805022a4950b binutils/arlex.c
@@ -538,7 +538,7 @@
9457e8a8ca63f92c626d1816dc072f77 binutils/bucomm.c
74290145b581c48373615df3f0dddd0d binutils/bucomm.h
48357d45bd874fc265a6a2c1f3e634bc binutils/budbg.h
-f69beae0959df97811ed1e7b37ad50dd binutils/ChangeLog
+9f8f32f1718a937ebad39dec7f1f8d7e binutils/ChangeLog
75f03b546abf41db936b3eae9ee79760 binutils/ChangeLog-0001
ac9c338a84bd8da1d3be610a39a75c38 binutils/ChangeLog-0203
e3940b38e6baee310a1565e098d2d9ba binutils/ChangeLog-2004
@@ -565,7 +565,7 @@
81d02c4e69c122e1150c3a56bffb09e3 binutils/defparse.h
731edb6c7d2905cd9f06342ed8c1e487 binutils/defparse.y
cec602aa7e8925e06a658a3060d42c1b binutils/dep-in.sed
-69844730c3266a6ef28455fc99fa5bb0 binutils/dlltool.c
+31b3eb1f18f8154369e4ccd2d49db58f binutils/dlltool.c
1d0f98177b28fb226a2fa9de810239c5 binutils/dlltool.h
1de7fee09a3817d8e4fd6a411d5c1e55 binutils/dllwrap.c
88d90a15523b7ca55a66b615df472cf0 binutils/doc/addr2line.1
@@ -576,7 +576,7 @@
257331228ca2323fb5f5519d4b67d3c5 binutils/doc/dlltool.1
072910d553f79906db69fa7c0e956bba binutils/doc/fdl.texi
a9d661ff662be9d3924ebc7f821b4d14 binutils/doc/Makefile.am
-03887091ce4951e83c862ed07bb6484c binutils/doc/Makefile.in
+a964dc695e51792e727dba8978a5d777 binutils/doc/Makefile.in
e45642e177c1cc26e1adbc08658d0aab binutils/doc/nlmconv.1
644d6d0d2654351b529b8c3366be5574 binutils/doc/nm.1
4575e508852e55c3691a8fa8c5180a88 binutils/doc/objcopy.1
@@ -597,9 +597,9 @@
a825ec82fd021be9b75197c39059d7be binutils/ieee.c
e30cdf08d8264e27b35b920b411fc763 binutils/is-ranlib.c
d2ea7edc9e4d3ca9d85e80972546170c binutils/is-strip.c
-2dde8b0b9887aa147c30ad4f18ef48cd binutils/MAINTAINERS
-e90ed886da617fb3de234fa51cb04ef4 binutils/Makefile.am
-eb1d13868d1605f16287a1abc76609cc binutils/Makefile.in
+55d8730d45766b7cf44b77c97b0a99e3 binutils/MAINTAINERS
+39feffb4b9d301ea0c4a2d0f0eb706bd binutils/Makefile.am
+684fe9f4a6e71fad947b25ae39876bd3 binutils/Makefile.in
b60c0012c55ac69b99ea48501f0578f3 binutils/makefile.vms
84ad11164e15c74fa941f49a2ad0278e binutils/maybe-ranlib.c
3e286ed9d2f98e9463da6760db792abb binutils/maybe-strip.c
@@ -616,9 +616,9 @@
e790538f81d643ca6a033288f2660ade binutils/nm.c
41d8556bd279371fb24dd10f370d684b binutils/not-ranlib.c
f80bdc8c61ea529f54c93e682505ad79 binutils/not-strip.c
-1fccdeb5311fd2c571c73b4ec967111e binutils/objcopy.c
-71456217946a742ef8132a1dcfa4da93 binutils/objdump.c
-44330d55f3b1d15f5f99ea8761990beb binutils/po/binutils.pot
+6d96e0189b6c9cb119fd02b79c4fd8ae binutils/objcopy.c
+992e08caa4a10b43a6f392a2e17d3710 binutils/objdump.c
+a1d8486f66b70e38eead1f57f6564635 binutils/po/binutils.pot
0de6d10b7eff191841591e04a9542e4f binutils/po/da.gmo
3cb30a598d8ad2ef1b90853a04acffa2 binutils/po/da.po
cbdd8143363474923f649fed872db524 binutils/po/es.gmo
@@ -653,7 +653,7 @@
9a88c63202a227e80843a311c9520fad binutils/po/zh_CN.po
d66dc645567221704d9a96af2951ec0f binutils/po/zh_TW.gmo
fc31799334330cf7596de77081fcc3dd binutils/po/zh_TW.po
-23e416cc0faafb4739603aa70f6134bf binutils/prdbg.c
+f9101e77cc100d6ae15213c4ea3a8920 binutils/prdbg.c
253d92247a3802211f202f4fc8d764c9 binutils/ranlib.sh
5760344d3da073a201b876a2f016ce99 binutils/rclex.c
65d300feff90dab55877958558676497 binutils/rcparse.c
@@ -661,7 +661,7 @@
81e87fc12351c3dbca3b8e6bd23c2bf7 binutils/rcparse.y
6c832b4a8e51d600e29fee3a6e42d510 binutils/rdcoff.c
13564621fdd3ac52dab709d2b739fe94 binutils/rddbg.c
-a6bbfb82d350ee3519349203b38cfd88 binutils/readelf.c
+de8fa73905208edc3d0c939f7a96b096 binutils/readelf.c
513698e6b21989373e4e3af16bf9af83 binutils/README
16e8266bccbca8900d8916b69971bb6d binutils/rename.c
87344f3a88df0df85d0900158a0cfa6e binutils/resbin.c
@@ -964,10 +964,10 @@
b4ca7d57f486fb2db77fb8588a1b6d6a etc/standards.texi
d5faa80d97899ae08accaff400923890 etc/texi2pod.pl
0ccf7e1ad0698f58fd8eceb1362ccfbc gas/acinclude.m4
-8a19cb44d65017cc7f16a17676c6e59d gas/aclocal.m4
+6c516b733f4d72372297ff4487aa6709 gas/aclocal.m4
3b040c34a41854548de109750f6c7067 gas/app.c
6a6e193817f53ed43d93e679501d79ef gas/as.c
-c9a24678520578534fa74df41675d4b2 gas/as.h
+d05f5de749ca1e3313ccad6d1bc8b33e gas/as.h
e25637964415c4475a64a2a5c7cb963b gas/asintl.h
6c8d6099ae64334a6bb30e8adc4083d8 gas/atof-generic.c
0b1560c9671dc68e7b53d651bb54a5cc gas/bfin-lex.c
@@ -977,7 +977,7 @@
c87664d9e05462d25308624a5caf49a6 gas/bit_fix.h
17d0d0f607f1a6f3aaaf4907fa8a903f gas/cgen.c
eb7e4b90cc3827cec6911988d53ac099 gas/cgen.h
-c38b02e0a279790a120a56be56faf36c gas/ChangeLog
+bd8b4e70e53144833fef21ce51551b0c gas/ChangeLog
d92c3865d6ed795c892f2cba004856e1 gas/ChangeLog-0001
f985628fdd8bed73c8948cc8496a1af1 gas/ChangeLog-0203
7ee4a40be5732a4dc9b8f09dd534dffa gas/ChangeLog-2004
@@ -1010,7 +1010,7 @@
14e0c56a18c48425b787682b1f8e6b35 gas/config/obj-aout.h
090ea5ccdad532a6b0b9876393ea7643 gas/config/obj-coff-seh.c
6f4f689d73fab667c89de8fcf3567f7b gas/config/obj-coff-seh.h
-da604bff06d00008ed96ffaebe369925 gas/config/obj-coff.c
+5b0f79af00b8110806d46b4eca8f13e1 gas/config/obj-coff.c
04edcdc929d894c5a3b29dac41e578e9 gas/config/obj-coff.h
14ca32601a3ccf09b5d875a754c10b53 gas/config/obj-ecoff.c
3dff9d5e5729000819d86717877addc3 gas/config/obj-ecoff.h
@@ -1030,7 +1030,7 @@
096c407c69a2ceb0d13006fe1b2f3fc9 gas/config/tc-alpha.h
16a26406335b1121e4174dc26d6b15bd gas/config/tc-arc.c
11b936fdbc63c624d6713a01be12a049 gas/config/tc-arc.h
-3260ddcdc6d8bf158efe07be72206d9e gas/config/tc-arm.c
+3768c7a5bbf66e56c7c3e7437c9ad8dc gas/config/tc-arm.c
a7473461d6c63ace0a172f1aa0979354 gas/config/tc-arm.h
4fe2c1fc61b91bbf6e9c9c443b9e6346 gas/config/tc-avr.c
821e6c7611a87a70e1f0e85c0a24e5a0 gas/config/tc-avr.h
@@ -1116,13 +1116,13 @@
f9cad0069f8a7b2f076a80c6309f2ebb gas/config/tc-pdp11.h
1fac263a288e4046cbddb12e55116729 gas/config/tc-pj.c
5b7366e23ad26831a0037bd3b93d3e4e gas/config/tc-pj.h
-e1ef2d702cbf2a7b3a4ce915f0221cc3 gas/config/tc-ppc.c
+272bc5dfed4acb609486ae84eb818b63 gas/config/tc-ppc.c
d74665662a6657af83ed4dc8bb344bcf gas/config/tc-ppc.h
4613531f6da72336858dc4e84ff1fdc4 gas/config/tc-s390.c
364d65ca51207a0c0ece2102c3d4b918 gas/config/tc-s390.h
965168e4c62658383ffbf3448d618229 gas/config/tc-score.c
8e6d62acf30dfed34157b0ca80896a5e gas/config/tc-score.h
-b3547a6bf153e9b41c14626da9b1979a gas/config/tc-score7.c
+70e5e8071e8819c505828cd032fbef90 gas/config/tc-score7.c
404bad55cfa6636ad7940925c61a3922 gas/config/tc-sh.c
ce6e048cdd182bf86c1000a15ed5d263 gas/config/tc-sh.h
bebedc752d900fb3bbed784603d7ff17 gas/config/tc-sh64.c
@@ -1165,7 +1165,7 @@
9a256557e990376c03c799f23447d3ad gas/config/te-hppa64.h
1dc4b217e7321782918812087dfec497 gas/config/te-hppalinux64.h
f054729d11e4bdc0d511de0c22771a84 gas/config/te-hpux.h
-f09e947faab8ab2fd5d199fc1021be02 gas/config/te-i386aix.h
+482879c6ae606c3b430e6826ebf8dd68 gas/config/te-i386aix.h
b0bdd8286d474201386f781932f73fa3 gas/config/te-ia64aix.h
aa8fabcf3d3093365a232271033ff216 gas/config/te-interix.h
480085f6479825238a1496c74d985737 gas/config/te-irix.h
@@ -1182,7 +1182,7 @@
0d376aa34db1e2863f3509f47027dcaf gas/config/te-pep.h
5ba13db883834de33b7a3c24116ede95 gas/config/te-psos.h
3e7327df1df473529e30df0a10a31e65 gas/config/te-riscix.h
-ee8de9cf71dcc35a1d9bbd5ade4f0d76 gas/config/te-solaris.h
+47b89894b5e5cb88a4d4822530c1cbb7 gas/config/te-solaris.h
b3878236b9488c1a4facd0a31544aa3f gas/config/te-sparcaout.h
ddd6bf4b762e74b3b3ac1b928098f09c gas/config/te-sun3.h
e884942337b3717dcbad12574a4ba59d gas/config/te-svr4.h
@@ -1207,9 +1207,9 @@
36285069bae7f4dca379829241710bd4 gas/dep-in.sed
d4c181c85eb2f45c7834d080fcc4819f gas/depend.c
e7ee960b489ec80834b29977178e1ccf gas/doc/all.texi
-ac1b311d3be090954b5670c521f93adc gas/doc/as.1
-b38718ac04c3ae71ed7988cdee46fd1d gas/doc/as.info
-1963b5652be4bfa3169802e08436a83c gas/doc/as.texinfo
+08da492e86ebae061109490d72a37925 gas/doc/as.1
+2d8cbc7cdd3d8327299e63a6090089d3 gas/doc/as.info
+9a57e8e6151761f18510d1ef5a4854ed gas/doc/as.texinfo
e7ee960b489ec80834b29977178e1ccf gas/doc/asconfig.texi
a7732678d50ad8b1491e744187040f8e gas/doc/c-alpha.texi
f744ba94b8be356d789bc1923144062d gas/doc/c-arc.texi
@@ -1258,7 +1258,7 @@
289febda425d8afbd046e348a08dbfff gas/doc/h8.texi
39a0082c71106d18c766f47f168b7816 gas/doc/internals.texi
8cca5bc3dc1ad37b289e6cdc3df70c32 gas/doc/Makefile.am
-7d3c37c5b55d47257cc715b5e419b8f9 gas/doc/Makefile.in
+efa7aaad240d3ea30a9ed670f7b8b063 gas/doc/Makefile.in
6cf8420bbe8999eff15313f3534fdb8e gas/dw2gencfi.c
1f190729e07b7eb8f5ce00d801107129 gas/dw2gencfi.h
73bf1657393b540b80824777fd3ccbb6 gas/dwarf2dbg.c
@@ -1268,7 +1268,7 @@
1cb4b897534910709ab1e79396a3a2b9 gas/ehopt.c
92732c078a7acf574af9df1fbc62236b gas/emul-target.h
99a7a09433a40a316a830646e1febaba gas/emul.h
-16f06bbc8bbc53179f1ca8210bc470f8 gas/expr.c
+0032677247086a651622331a8d31ef0a gas/expr.c
b8484af32ffad8813ba5245245e72d90 gas/expr.h
a8086612007d4b1398bbcd3222491afc gas/flonum-copy.c
17e961bd7664effaa115dbe1752cc76a gas/flonum-konst.c
@@ -1290,7 +1290,7 @@
4ea7ac4d931713b4c4266bf1e01c540c gas/itbl-parse.c
86a928b05e84edab3af35f7aa489f27c gas/itbl-parse.h
0153b49dbbcf47a9cfea80fa35b93482 gas/itbl-parse.y
-4582f83f1ce80887eecd230d463e57ab gas/listing.c
+23c6eab120a5a31f5e6ae5fd595100b8 gas/listing.c
054c93674efed639127153b3067b5340 gas/listing.h
d3d3be59b37f1add71b4f71bfc46422f gas/literal.c
64cd294a7e4390954710090b0b743b49 gas/m68k-parse.c
@@ -1298,10 +1298,10 @@
bc1cba24dd11574ee28e63c61603cf43 gas/macro.h
d618facc3e8ce8bf3d02ba452e1be6ab gas/MAINTAINERS
0f9dfccd00b4ee23302aaf3e63a8dc67 gas/Makefile.am
-5906d9466f93488e6ca383ff0cc5b373 gas/Makefile.in
+a79e09b5f4a75f09b432f8bc7164d90b gas/Makefile.in
4cce4ad62d03534aac88e42370263a26 gas/makefile.vms
10b6029065c29f1d0457d2f559525208 gas/messages.c
-0e797bb94df7e1a8dd9db9316175594d gas/NEWS
+74e052aa910f49ab1703220e25e8e47f gas/NEWS
d34e803ae48756464d68d19b412d842c gas/obj.h
3e00ed74939d0ee85607e68a10456265 gas/output-file.c
2fa8189fa6fc775e05be73053a0b853d gas/output-file.h
@@ -1309,7 +1309,7 @@
894e11d79b0b13680b3d7b26da6bde48 gas/po/es.po
76487369bd971a3c864b3547825fc705 gas/po/fr.gmo
c28c7a6a8ab5b61fb0b18c5bb480dd20 gas/po/fr.po
-fcebfc3eecd4bde371eee75b5981559e gas/po/gas.pot
+72e56a1cd61770c4b597a5078c9977c9 gas/po/gas.pot
4fec0f968c023ff22bbab2e19f16bbce gas/po/id.gmo
f38341bad78f26434f38d28b60c5005e gas/po/id.po
8935ae2870f3d67420c16c4b92796ceb gas/po/Make-in
@@ -1329,10 +1329,10 @@
f466095ac8a7a01b59cce1a965b3e166 gas/struc-symbol.h
919587b23bcc5514a7c31d7c363e51eb gas/subsegs.c
fb0f91c11edf3d6da54955ca2cd59a7e gas/subsegs.h
-5e0cf667ee519bff6f6259f770ca60e1 gas/symbols.c
-cb6d81ce746ab5cc0ef122e834a9baa3 gas/symbols.h
+19ce0cf9260cc6ef6eb1ec3f8eb3297a gas/symbols.c
+4101d9e508b59047295009591d7b00b1 gas/symbols.h
5e55a27d8d002eda60e10a4baaa71984 gas/tc.h
-eedba2de1486374ecc45558ffe228cb7 gas/testsuite/ChangeLog
+8f8e5110a0a6af2d4ee7f1cdf6855c0b gas/testsuite/ChangeLog
8f4c98fe241e3d57b357137c666fd4ba gas/testsuite/ChangeLog-2004
6e717d4f414fd8ffacb0b5f480256270 gas/testsuite/ChangeLog-2005
a89405fc1bad7bc620fc00b28bd62f6c gas/testsuite/ChangeLog-2006
@@ -1558,7 +1558,7 @@
9f5b000dd66bc7c0db553cb6ce6975e9 gas/testsuite/gas/arm/arm-it-auto-2.s
138f287347c8ed8f01f0e7a77905dcd2 gas/testsuite/gas/arm/arm-it-auto-3.d
291da626dfa21707c7fbd22d8fec0ad4 gas/testsuite/gas/arm/arm-it-auto-3.s
-0a0bca894e31544d4ab1607bc615079f gas/testsuite/gas/arm/arm-it-auto.d
+a7c67b1b46b78cd4a635836487e30cbe gas/testsuite/gas/arm/arm-it-auto.d
ca845e1f677a847052f021f47accf21f gas/testsuite/gas/arm/arm-it-auto.s
d2a0cb15941b397e826744db6e57b539 gas/testsuite/gas/arm/arm-it-bad-2.d
e7fba9b31f84364a16bcfe7cbab71d84 gas/testsuite/gas/arm/arm-it-bad-2.l
@@ -1668,13 +1668,16 @@
19dbb71962cdc1a1cc2956e10ea0e088 gas/testsuite/gas/arm/backslash-at.s
233af5c2872f271ed24f36379bfb2cde gas/testsuite/gas/arm/bignum1.d
08269632d864fb311787d7c196186ac6 gas/testsuite/gas/arm/bignum1.s
-5c95d319ad1b614013ea2ec0db73f0e1 gas/testsuite/gas/arm/bl-local-v4t.d
+376a039bac61bd92ae468ba5fed33bb5 gas/testsuite/gas/arm/bl-local-v4t.d
e59eb4b037d361fe5f48e44b495bd373 gas/testsuite/gas/arm/bl-local-v4t.s
1632d9677c2b9800feac355724a3d9dc gas/testsuite/gas/arm/blank.s
dede5ad56b863e00e38ff1d45d9130d4 gas/testsuite/gas/arm/blx-local-thumb.l
-f1a88c5ba1d4915a435fcbbc59de63ee gas/testsuite/gas/arm/blx-local.d
+50af86ab9b358feed8d802d758d1d830 gas/testsuite/gas/arm/blx-local.d
849e424049e3d10e64e125f2e370f822 gas/testsuite/gas/arm/blx-local.l
ff4cfc84703ae62368d353c3dd637989 gas/testsuite/gas/arm/blx-local.s
+1905b4a656a3bc94ed7c9a3c70ece91f gas/testsuite/gas/arm/branch-reloc.d
+30a90f3df22295b76fd0d6c07a6bf602 gas/testsuite/gas/arm/branch-reloc.l
+ca024a3bc15ec962ca2183508ed14cbe gas/testsuite/gas/arm/branch-reloc.s
5dd99ca40500a7cceb0f46d064780497 gas/testsuite/gas/arm/copro.d
150de0425bf9f74a67639920f792e411 gas/testsuite/gas/arm/copro.s
d2e647f8aeae70453a63bf29e817e404 gas/testsuite/gas/arm/eabi_attr_1.d
@@ -1872,7 +1875,7 @@
74f88e1fa42785685687ee1221aaca18 gas/testsuite/gas/arm/thumb-w-bad.d
cf8d5e98ccdcd542ecad9a5641c85f29 gas/testsuite/gas/arm/thumb-w-bad.l
d9d877613eeb9f575af073c4200b56e7 gas/testsuite/gas/arm/thumb-w-bad.s
-238cf8ec22dd6d6d0b70e32aaaed67b3 gas/testsuite/gas/arm/thumb-w-good.d
+bfb87e3b0495eccdb975fc9266b515a2 gas/testsuite/gas/arm/thumb-w-good.d
f442cec1a0ed93f8b1b514ebaca215e7 gas/testsuite/gas/arm/thumb-w-good.s
4769422b8f76055618d2e29c256d626e gas/testsuite/gas/arm/thumb.d
6435d6209d1ded87cef68a7315781dca gas/testsuite/gas/arm/thumb.s
@@ -3056,8 +3059,8 @@
9dc7912d7d9818fcf980b00f86bee5e2 gas/testsuite/gas/i386/intelbad.s
d5e17b8724f25f10587e302e69dfe6a6 gas/testsuite/gas/i386/intelok.d
19de40406e9944a08239d578fd8e8c8b gas/testsuite/gas/i386/intelok.s
-37ac371e6c7863fb3dfcbf22f0d6745a gas/testsuite/gas/i386/intelpic.d
-10af8323b3fdfb2580629d4bbb96414f gas/testsuite/gas/i386/intelpic.s
+b83a2a0dbc42d7719c1f3773e5ece505 gas/testsuite/gas/i386/intelpic.d
+8555f3b34fdffff6df460123cab004a2 gas/testsuite/gas/i386/intelpic.s
7d29d7830f6d684717aed5c27411734a gas/testsuite/gas/i386/inval-avx.l
a7b6a8c2865124822043ef0e02c71562 gas/testsuite/gas/i386/inval-avx.s
277eec2e7d58fa65cb3e60587ae96e40 gas/testsuite/gas/i386/inval-crc32.l
@@ -4851,7 +4854,11 @@
022aa068d648739647e467cd768f603f gas/testsuite/gas/pe/aligncomm-c.s
55d11bd5aaa60e015d09c41f01646dc0 gas/testsuite/gas/pe/aligncomm-d.d
87202c1ee6ceb1e831ae1b57d2506121 gas/testsuite/gas/pe/aligncomm-d.s
-f1399a7c96d3486852f823fb0692e709 gas/testsuite/gas/pe/pe.exp
+7224f6cb8b8017736f4d0cb9c8ace638 gas/testsuite/gas/pe/pe.exp
+cf1138a294ab7d6e8d2ff734630730dc gas/testsuite/gas/pe/section-align-1.d
+5ab659a1d28d273669e669582aa5474f gas/testsuite/gas/pe/section-align-1.s
+914530c1307708d7330b54a2f5e1b113 gas/testsuite/gas/pe/section-align-3.d
+579e63be19d5a83aa3edeebbcaf0d852 gas/testsuite/gas/pe/section-align-3.s
f3a7124485548781ba12a81c18199e29 gas/testsuite/gas/pj/ops.d
308d2177ed3b3b087d977e46c924fc0c gas/testsuite/gas/pj/ops.s
a6667ed6fc7b116477f95ef897bc5444 gas/testsuite/gas/pj/pj.exp
@@ -4859,7 +4866,7 @@
5e044218a1ec3e04be04733aec253a76 gas/testsuite/gas/ppc/476.s
39f06d82f09df62e674d16cd0c458e66 gas/testsuite/gas/ppc/a2.d
a43d37f6b7f113687c2eddb9672087c8 gas/testsuite/gas/ppc/a2.s
-fc56e529b0ae1f1f9a2ff184317dbcbe gas/testsuite/gas/ppc/aix.exp
+c4e76a28a10c0d1059a10a442155921e gas/testsuite/gas/ppc/aix.exp
1144f1624f81b2bf57bc44af8e76f9bb gas/testsuite/gas/ppc/align.s
78ff04d1b9877427fac95abb3a2c09c2 gas/testsuite/gas/ppc/altivec.d
da75a2b442b5537342a3fb0ae74a0510 gas/testsuite/gas/ppc/altivec.s
@@ -4929,6 +4936,8 @@
08ea62f057fad4130ab4496b10773187 gas/testsuite/gas/ppc/xcoff-branch-1-32.d
8e884141661fddd367c49211824ec4dc gas/testsuite/gas/ppc/xcoff-branch-1-64.d
80d642f21d1d3f314901cc58bd518132 gas/testsuite/gas/ppc/xcoff-branch-1.s
+1f3ca01c9d7afa8a580c73ee371fee03 gas/testsuite/gas/ppc/xcoff-ref-1.l
+1e195c4e7e61cabafec65c9c47e4a7ad gas/testsuite/gas/ppc/xcoff-ref-1.s
a9270ad7a5b7c6c1e60615314b3b8625 gas/testsuite/gas/s390/esa-g5.d
a2208e287f361e1631a43999e2407e4f gas/testsuite/gas/s390/esa-g5.s
049e09aef849c8721bc128ebba592aa9 gas/testsuite/gas/s390/esa-operands.d
@@ -5542,16 +5551,16 @@
30764ced5c424e3c2c384059cbe2a227 gas/testsuite/lib/dounssym
b088d95998198e32a01347b43d0ea8ba gas/testsuite/lib/gas-defs.exp
b4a303f3223f3695d37e231d7e691500 gas/testsuite/lib/gas-dg.exp
-b7e54296f8c31ad5d458dc779926c741 gas/write.c
-2385d216742b533175f70756095d4abd gas/write.h
-1ef57dba5facb7e1ac97032f9d1c6504 gold/aclocal.m4
+f555a10f7d4b8ea106424d314cb38f4c gas/write.c
+3b955fb7ab2ef082f90865d180ed0ef5 gas/write.h
+920138da7dbc4f3ef4ba32e27f2886a9 gold/aclocal.m4
43f9ff89e4b6d264ee927a32eb089ee3 gold/archive.cc
6f26bd0cc71662aa36e2769212b4852e gold/archive.h
-9cd46ca721741de9e031ce8ae0572236 gold/arm.cc
+6f4d072b9bc52734c8503832b8baeccc gold/arm.cc
b469982bec0a258309a5e40522f4a41b gold/binary.cc
db3d9c5c5950fe999accc7ea1c5b659a gold/binary.h
-514b2cbb849e99ca23744a71f048ad08 gold/ChangeLog
-bfca73424684c15a48b89a374a723621 gold/common.cc
+590acda55ef078ac396956a47f652c46 gold/ChangeLog
+8d29a0e56aa2a6e37f8fa2c4c8ff5ea4 gold/common.cc
0268f5ae0b8e7475edadd383591b5962 gold/common.h
de06263f182d9079bf5b1a82fa0fef96 gold/compressed_output.cc
6d8e4d0e8e8ca67c48d229b1e7b81352 gold/compressed_output.h
@@ -5559,12 +5568,12 @@
c1e21d8280af570c8852a3f41c90a5a6 gold/configure
997efe0ab77bab77d652f7deaa0dcd5f gold/configure.ac
4284d853c1edf2de7ab6eefef294d4ee gold/configure.tgt
-434f2b1e216fb989a3d5dddf298c0114 gold/copy-relocs.cc
+e93506902e15e70bd09f4efd753c8f34 gold/copy-relocs.cc
8f0f2e138a1a2334dd6b7f5963c9120e gold/copy-relocs.h
273c2115fb8fbfa27c303cd0b3e51fcb gold/cref.cc
2695409d25f1d5c2b27e3b6cbbc783b8 gold/cref.h
6ff10963bd1c3496684a6a94686ffdf3 gold/debug.h
-7d17789178afbc0c18c825cf39ec6aa1 gold/defstd.cc
+4975e64d2e82d6ebf867d01ece854c1d gold/defstd.cc
a76f48603de929b8ed7a7a656ba630b0 gold/defstd.h
d91da0884c123b728a0e17d23a1653e9 gold/descriptors.cc
8f1817f08b09eb28b618e3b5a8983ae6 gold/descriptors.h
@@ -5572,8 +5581,8 @@
e3496f31d83290c48995d784522c25eb gold/dirsearch.h
0712e25605d2d5eaa302dc78bc040298 gold/dwarf_reader.cc
a4673f0c4ea42426ae973d26e4f77078 gold/dwarf_reader.h
-1a4c7bfe89d61f835a25dbae8e538536 gold/dynobj.cc
-df8d1ed0fea05e6296eec1e23d08a4d7 gold/dynobj.h
+847325e9c11c685a56cad0096e340595 gold/dynobj.cc
+bbf734865fbf998f4cff472ae46d79b9 gold/dynobj.h
f17a70ab1f547d53f21c3cd1d490e5ac gold/ehframe.cc
3f6612c1fb8cf4b0b76fd0a27da40c01 gold/ehframe.h
f4d8ec0df04191ce8b252d2f7c5bef08 gold/errors.cc
@@ -5590,40 +5599,40 @@
bfe13464bd2f479d20fdee7994785904 gold/gold-threads.h
10d2663005800000d3039427b639602f gold/gold.cc
5c825100979355353197da9c18dbd5eb gold/gold.h
-8a343198e291d8fbafb73215116996d9 gold/i386.cc
+6fdbcb6c9790a9d95c3d2ae76ba36262 gold/i386.cc
04d2cd94495768c88a4fc6b8c57fc5d6 gold/icf.cc
83970d249884cb3d72eae7eeb563d383 gold/icf.h
71d0124246ec59cfc5d307feba9ebf4f gold/incremental.cc
9164bed936427cef0148a6322c19c681 gold/incremental.h
-17bb754a2a8ec852bc0acd913be51b6a gold/layout.cc
-ab77e98e1a50d2d36fa31367b0028ce3 gold/layout.h
+1c5821708f34bccfa4b47a3db3e2f258 gold/layout.cc
+743fac67163982610ae87651565ed9aa gold/layout.h
752e63580968313cca239557cb824a5b gold/main.cc
8764aa233664710c551a86404f08b2a0 gold/Makefile.am
-4f7b5e2a34d18f8a68da1506bd9b5931 gold/Makefile.in
+275a9dbde460cdd96a03d92104a3a68a gold/Makefile.in
bf1e543159ab69900deca49a4e8ed9a9 gold/mapfile.cc
53d3c199d52484bbfdcb03132b864a97 gold/mapfile.h
4a3b629f2a419b7667b1ffd4ce6a4cbe gold/merge.cc
f0169b477d031fa312320260d117a2d8 gold/merge.h
83bf8e7cb827286f1995b6529e2dd6ad gold/mremap.c
d6d999c5dc1e4cc4032ee874d917f984 gold/NEWS
-6dda5c1183033439efe19c80125db7c8 gold/object.cc
-58bebd2944f52e260990e0a126d28c06 gold/object.h
+caa254fca6ae465733f6b1c3576d295a gold/object.cc
+9e71512bc3b5d158d9f554284dd9dfcf gold/object.h
c3193f4d42296c14d9e7a72ba41671ad gold/options.cc
-a01d45db6ce6fc52a2dafdb89b55e1ea gold/options.h
-6ebed0585d3e73a3010304a2b38225a4 gold/output.cc
-71c31f76ee5f49ba163ac3b44b345cb0 gold/output.h
+ec2e1ab779600b3c7361e6ee84b8bfe8 gold/options.h
+c4f3e227e928c0a9f75dac59b729c718 gold/output.cc
+c7e9706ff3705228c773d44abc96d4a3 gold/output.h
9204d464af915ba86c53b243156a9251 gold/parameters.cc
dda1dfd2bef1b06a1242eead7acb6b97 gold/parameters.h
79c5e2b4ce5ff80bf2acf1e4538983fd gold/plugin.cc
f168cb2d469c7759d05f55418ca41dbb gold/plugin.h
7be634ae9ae5ae9c64da2e1e3f927698 gold/po/es.gmo
b3301fe2a06da4293c2df62a09777638 gold/po/es.po
-27836224addb962f916f23b7d578d3cf gold/po/gold.pot
+2b7ec11aad5f113736fd4e91b78f3bf8 gold/po/gold.pot
7103bf2876d97b9e71f3e6b20e3a16e7 gold/po/id.gmo
b4492d1a0779dc0b6da2911fd1bcccf7 gold/po/id.po
-353b3a96dada9911ca3f8fd6d0b80c53 gold/po/Make-in
-10fb1aead62fb728cf7003b0a68c79d0 gold/po/POTFILES.in
-3030ae9c778278d779c1e2c8fd5124a8 gold/powerpc.cc
+60442cbcaec9b27dcd6dc9b1be1484bb gold/po/Make-in
+ff90d8a564c34f336c87919bf29bdea8 gold/po/POTFILES.in
+f8e940c30f96c49cbb765a5d3c82bdcb gold/powerpc.cc
c423652afda43455ca78c502b716405e gold/pread.c
0225bed4de14c4834355ec09bc5254d1 gold/README
d14447ddda8951fb1bc97ab471adfc91 gold/readsyms.cc
@@ -5633,17 +5642,17 @@
c0e5fe55ab808bdd8cb47edd4786aceb gold/reloc-types.h
a8addf10de486af8cb1d27fae236eab5 gold/reloc.cc
5e05f39c5d3cf177a7d13697ed99fb44 gold/reloc.h
-8a86dc7708064afe2d8fe8551508a7f5 gold/resolve.cc
+99bf729729d8de3975a67c4820ca8910 gold/resolve.cc
1f9c566bc48f8d268819921d10ed7382 gold/script-c.h
-d6db7ff04cf3c0fc433dd8125f39afd7 gold/script-sections.cc
+caeda5071fcea3feefd9217d01da57e8 gold/script-sections.cc
f0ebca7f4e9df78f0d4447e6b8a9dfe4 gold/script-sections.h
25ae0b5e6ce7c1bf8373a7d9662a0c4a gold/script.cc
f5dceceb9a750d67712f6cce9c9b0eae gold/script.h
-75b8f5e34c56b11eadc6ed712ba0f169 gold/sparc.cc
+dae61890cefedf13f1611a7b542e91d4 gold/sparc.cc
5a7cf4ec789355b84f0352f43c4aa410 gold/stringpool.cc
5f1192003eeb8e4e87cf4e7b4aa1d5e8 gold/stringpool.h
-140fa67b9d228110b26d7f7750f4cf11 gold/symtab.cc
-6a026f34bbb4ea22bdbe62323a2ca6e1 gold/symtab.h
+25d9f0e7b214456a5febe5030f7f94dc gold/symtab.cc
+0a81c1e090ba542e256493d39cdb909b gold/symtab.h
fe18fb4c8d1403d496afaac3936b36b6 gold/target-reloc.h
6049ce0a89cd3f34bc0a39ffadf4d016 gold/target-select.cc
db368e379e00b920a8c9322b325dbe73 gold/target-select.h
@@ -5693,7 +5702,7 @@
c60367832efe45fa6723dd66e9ac5b05 gold/testsuite/justsyms_2.cc
f56a346fc9a2bcb6a4f0cc8f11c9a982 gold/testsuite/large.c
4f3643337cfa64bf31242ec8c89d7d41 gold/testsuite/Makefile.am
-9f6a04858e34ecfd641bd8f2ad620ea9 gold/testsuite/Makefile.in
+f6b122c286ae4249365c5e82e3c75b13 gold/testsuite/Makefile.in
4fdd47206bc0385125e6d021aa14307a gold/testsuite/many_sections_test.cc
72ed035ac7684fdc5a6379aa16640090 gold/testsuite/object_unittest.cc
d1f9351ad5fec4b510ad02eae3e5b21c gold/testsuite/odr_violation1.cc
@@ -5810,10 +5819,10 @@
6a247d3f0c96b2347af6be2f81853b18 gold/workqueue-threads.cc
cd0771d886e9298f77e3e0a834d60468 gold/workqueue.cc
ccb66083c332971075fea91f87f26512 gold/workqueue.h
-3ae64830bdaa946727e1e7e359c83291 gold/x86_64.cc
+54a478dd022fecef6bf0b574757b4a21 gold/x86_64.cc
95fed3ad30fbb1f0975f7ec3b40045b6 gold/yyscript.y
b167dc5dcf583c07feecea0f8003e647 gprof/.gdbinit
-df5dc1f132e6368f4f85efde99e09682 gprof/aclocal.m4
+5feda4132f1893921eed0232056a3b56 gprof/aclocal.m4
b7f3f1dbdb1af21fadd9bad6efebe8c0 gprof/alpha.c
d4cb8d19fdb12e38db2615ecf089d920 gprof/basic_blocks.c
68337233c4fbbae70f0c91b14ac23771 gprof/basic_blocks.h
@@ -5865,7 +5874,7 @@
a6429d3de563eb0422db7c58555a7b0b gprof/i386.c
d618facc3e8ce8bf3d02ba452e1be6ab gprof/MAINTAINERS
8b750356e7c6dacb9caf9861bc315f8c gprof/Makefile.am
-ba3c6c8167ca66ec3c3d36d14e3b8048 gprof/Makefile.in
+6f369742244a7d2b04911af88cee225c gprof/Makefile.in
92a358204dc90732f5c3ffc4d16ef9dc gprof/mips.c
b909370fda89f8d24c2acf058239951f gprof/po/da.gmo
20f0110fa4f21ba909001fab604f5df6 gprof/po/da.po
@@ -5879,7 +5888,7 @@
231c91836d7128574c828d0c958c3d81 gprof/po/fr.po
82d1a6e0345a6dc65b323f04ea1f1375 gprof/po/ga.gmo
c46ba65e8300569e05946980c1c7c9a2 gprof/po/ga.po
-8d5b228997910635167679c085119989 gprof/po/gprof.pot
+fb7eed45c979374c7627037ea6bad4b1 gprof/po/gprof.pot
7873cc6cf605e08a4eb7c3ea0d9649a7 gprof/po/id.gmo
62419681ebff5b0bea804402686d057f gprof/po/id.po
b6b3fdee1867107468c837cd28e9f2cc gprof/po/Make-in
@@ -5937,7 +5946,7 @@
859eedc16025e7f237e7a1c75203ac4e include/bfdlink.h
8899f3b1094aed581ee5ce21fb77eeb5 include/binary-io.h
b6e1fac26f93147f8011414af5669be7 include/bout.h
-768f3789a5f801fdb1a2f497cce99d0f include/ChangeLog
+604e7079b3ada3462096b3a45ad17625 include/ChangeLog
4263432a72ff47ed8bf420208ee7eea5 include/ChangeLog-9103
0eae126d2322eae7cb85fda3b3c51d4e include/coff/alpha.h
ba1e7d1f5ed257158d5ce1495995b9ab include/coff/apollo.h
@@ -5992,7 +6001,7 @@
758bdbaee2dcc5ca76e3ddc48f104e0f include/elf/arm.h
c98da0ae0aecf3922f72a99bf18820f8 include/elf/avr.h
4b6fac30af0ac6bf2cfd14e1568f0f08 include/elf/bfin.h
-e832f854e1b0dd5ead3d9138b2eb529d include/elf/ChangeLog
+01d15a16fd51d99da7366250d8a9730f include/elf/ChangeLog
98f9c5b892b53edff47e277ff7d497f8 include/elf/ChangeLog-9103
ba8409f8c2e920b6c99ab35b149b7b06 include/elf/common.h
5aec0c6b342d206adf8af8723aa94d7b include/elf/cr16.h
@@ -6034,7 +6043,7 @@
67c44a12efec004686c5da82c283fea9 include/elf/openrisc.h
77f09d73d2331ef33a81df01367e759a include/elf/or32.h
4e3af9766a70428a794053db9ac26982 include/elf/pj.h
-bfdc7304ea010578c478860b11e10b2c include/elf/ppc.h
+7a2a544e8fbce74fa0dc60de26623006 include/elf/ppc.h
42f7c10529a21dfda4153ff04d491881 include/elf/ppc64.h
d90b38ee405b35a8922339c6b480bb52 include/elf/reloc-macros.h
b163e0ddc4c8cceb00f746535ecf0785 include/elf/s390.h
@@ -6145,7 +6154,7 @@
187cfeb91ed5171f7e834812d8110288 include/opcode/vax.h
10cbf87ea52bafe84a696ec172e072d5 include/os9k.h
b212dcdaf1121bd8a14b03ebb2ce5ce1 include/partition.h
-a4f8df8ee5b9f9cc416889686536caaf include/plugin-api.h
+5fce27911377b2396cbeb88255cc5c86 include/plugin-api.h
ce441968fb1b5f3f68ae7afa86ad0476 include/progress.h
f407187879a6cc40877c4b38ee717349 include/safe-ctype.h
e6f4dc9aa834eb5b72d8af31d357bfb6 include/sha1.h
@@ -6200,8 +6209,8 @@
bedade7bcfc3bc5eb09a2c6844f637f3 intl/relocatable.h
43f287d082528203fc85c1d2d81bf30d intl/textdomain.c
76ca170a525d5b84d90f0478fe788931 intl/VERSION
-48b2335f1fe5e6e50490c4a12fe73038 ld/aclocal.m4
-20b6ccb6fd9fa45b97efcb13564a048d ld/ChangeLog
+5039fa627a1f961176bf72abecfe190b ld/aclocal.m4
+c7c77c05fd272c68c737080c6e08d203 ld/ChangeLog
7ca725ba584a0477922ca681df841a08 ld/ChangeLog-0001
1844c5088cd03b9246ecf58008c41d76 ld/ChangeLog-0203
249882f8f7dd773b47dcbbe3f2aa56cc ld/ChangeLog-2004
@@ -6347,7 +6356,7 @@
d969989e47badd85ab444fefa84656eb ld/emulparams/elf64lppc.sh
5b2cfd0917902083166727b03fbd07c2 ld/emulparams/elf64ltsmip.sh
5b79366aa223913e714e04f4303594fc ld/emulparams/elf64mmix.sh
-33c1dcfbdb97f4253ec272a71cf7535b ld/emulparams/elf64ppc.sh
+f09188d4b1de430c02be08002d5efe1a ld/emulparams/elf64ppc.sh
261c3ee23f1baba72638358c8121b622 ld/emulparams/elf_fbsd.sh
18049c1216aa8760205fefe5e8cabf6e ld/emulparams/elf_i386.sh
9d2ba4f316494a2bc26e467db70950f4 ld/emulparams/elf_i386_be.sh
@@ -6545,7 +6554,7 @@
38a2174da70ba189c78b1e38385ef64d ld/emultempl/sunos.em
a1e44428a80727b027cf3e187d094e33 ld/emultempl/ticoff.em
2b93c5dc10438986805d040f0edf4b11 ld/emultempl/vanilla.em
-a079ef502595bc2b4e276a1b2f6018b3 ld/emultempl/vxworks.em
+f539dfe654d52ba0f332048373d2355e ld/emultempl/vxworks.em
3c1e42750e6c241a8850acb8faa2a2ea ld/emultempl/xtensaelf.em
557ec27caeba77ab50050b990469f193 ld/emultempl/z80.em
6480f450c71077aa69eb65ec7d27172e ld/fdl.texi
@@ -6572,9 +6581,10 @@
4bf1a763931c816dc81923762dd20563 ld/ldint.texinfo
332df25dcb773c42d653e076a0995c29 ld/ldlang.c
45f0ba6fe80c8229404ec435f85dbd12 ld/ldlang.h
-3515e4b8ecd182890345bff0ef34d14f ld/ldlex.c
+c9360e41eeba0f5febd651e1298c4c0b ld/ldlex-wrapper.c
+9876622b06f9a9a1b7614952da45ae72 ld/ldlex.c
baeb3e241736fb852f797a5cbf9c163b ld/ldlex.h
-bbca1448a347a620c11241e0428ba4ae ld/ldlex.l
+b181db64d50e5b27c8177b7189b985a3 ld/ldlex.l
7d2272d18a4eff26654b3420393c4be6 ld/ldmain.c
9cf55078341d4dc4d2d47d60e4632392 ld/ldmain.h
60f63acbc50deec97c027ab4724d79e8 ld/ldmisc.c
@@ -6585,12 +6595,12 @@
1d0ab77dd5d124786b3142aea0d9e88b ld/ldwrite.h
98b62ff722998678e8a23fa1570109f9 ld/lexsup.c
d618facc3e8ce8bf3d02ba452e1be6ab ld/MAINTAINERS
-9544e21791bdf13f4910f87b79474ff6 ld/Makefile.am
-afca7aa6fa05d5838b436505072dc8bc ld/Makefile.in
+36c72d57fb252aa71903f7e4c4936048 ld/Makefile.am
+5aa00ada8d6b792cb1bcf12606bfaf64 ld/Makefile.in
c501d77ba3c6023eca67a4733016e137 ld/mri.c
32569346651ca50342ad97f07baca5cf ld/mri.h
3948a5c9d2e4aad58f42c7e3ccad898e ld/NEWS
-6507e17498ba22fc23ca1498012b4cf1 ld/pe-dll.c
+6b8dbb51a0e7e7b8a9fb12a5e14316bd ld/pe-dll.c
35f474b18a2d0329dee27ae7b98f184b ld/pe-dll.h
d65064fe2526a48f07ef24b57e24788e ld/pep-dll.c
31cf6520f78ce23d17b8c8aad3435ef9 ld/pep-dll.h
@@ -6606,9 +6616,9 @@
6b597ac040f231ea3ed037773cf89082 ld/po/ga.po
09624f51dfa58df5e60c7500da4357f8 ld/po/id.gmo
c7a2b4398ca5a63866a3a2b6af03cfcf ld/po/id.po
-b736f411a71140162c529c83bea6b1b9 ld/po/ld.pot
+295cc6af80182839d936aeda0ed5924c ld/po/ld.pot
7cb7553c50642d63ccb14f30f66ca155 ld/po/Make-in
-4f2f0dec2e17c7b816f81f27ab7c8b0b ld/po/POTFILES.in
+27611c7eb6e1ea9b38d4c21440307090 ld/po/POTFILES.in
1458a539ab520ec9ecde71e95b38d325 ld/po/sv.gmo
6c881a8bbe72addbfc0267a9efda3850 ld/po/sv.po
3d1ef990f300fb1817b57310a731db3e ld/po/tr.gmo
@@ -6632,7 +6642,7 @@
206c75cbd7e5185b3ee0c11b5528baa1 ld/scripttempl/delta68.sc
756f010bc1fcebe9cb08b1c8afa66389 ld/scripttempl/dlx.sc
32f050a89ef46aed9271f6cd6d7f0bb7 ld/scripttempl/ebmon29k.sc
-cf9683a9726de74ced43ea7b05a88cc5 ld/scripttempl/elf.sc
+06b956187fce5f6eb26fcf945947d36f ld/scripttempl/elf.sc
2fbe76192c4153c98b995e8cbd0bb119 ld/scripttempl/elf32cr16.sc
8222028cb2706153489bff8d5a823387 ld/scripttempl/elf32cr16c.sc
03fa4a27215925af3a39d23023313935 ld/scripttempl/elf32crx.sc
@@ -6711,7 +6721,7 @@
60b2f678a8887cae18760d0013bffa20 ld/scripttempl/z8000.sc
1ded054093de910d9786c62bc4fe8cc6 ld/stamp-h.in
9e68761f5c37d1787d64ecab67bafe01 ld/sysdep.h
-59a292bd94a2ee43877f580fec85469e ld/testsuite/ChangeLog
+c1523688a94bfb67736bf4c9c27d71a8 ld/testsuite/ChangeLog
43821ec3e01aa56c69d031c9cb7aaac6 ld/testsuite/ChangeLog-2004
0593940197fddd34e72d34ad4681e18d ld/testsuite/ChangeLog-2005
13ed49b06cc49649e67f1df2f524946a ld/testsuite/ChangeLog-2006
@@ -6755,7 +6765,7 @@
1eb65e01cb3f72a9a9f674a0a23bfe43 ld/testsuite/ld-arm/arm-call1.s
9135ee4b605fc6176c978325ff45c6e9 ld/testsuite/ld-arm/arm-call2.s
08422e7338327f170663ee64993d2d15 ld/testsuite/ld-arm/arm-dyn.ld
-f01282a3b03f935b754ec0f02c85e03a ld/testsuite/ld-arm/arm-elf.exp
+4910ca9732789e7560581564e12334bd ld/testsuite/ld-arm/arm-elf.exp
b04b3e1b69a55141a0ebfd7ae824ef8c ld/testsuite/ld-arm/arm-lib-plt32.d
a167e469316cdd1ed8af41301205f0a0 ld/testsuite/ld-arm/arm-lib-plt32.r
72d35e1785ba54a876601fb0dbeeab24 ld/testsuite/ld-arm/arm-lib-plt32.s
@@ -6918,6 +6928,10 @@
9693aef33aa3f5ee3818dc2204efce12 ld/testsuite/ld-arm/group-relocs-ldrs-bad.s
ee4ef770572061ed1059a6c047237cfe ld/testsuite/ld-arm/group-relocs.d
78ce7e023e1695b29872bd1e5814792d ld/testsuite/ld-arm/group-relocs.s
+ac964ff819783b53c7feedc2fa7eb4a0 ld/testsuite/ld-arm/jump-reloc-veneers-long.d
+5119a2190ddc593f4a8bf5950b7f6f0d ld/testsuite/ld-arm/jump-reloc-veneers-short1.d
+7620283ae66569c459a5b78921e6a0b5 ld/testsuite/ld-arm/jump-reloc-veneers-short2.d
+3afdde0f706379c0c26f67c161e9b4e4 ld/testsuite/ld-arm/jump-reloc-veneers.s
aaeacb4c7723efa0592090d8e28aa38b ld/testsuite/ld-arm/jump19.d
5fdb667b4eeed2b5a5e365f6157f7f53 ld/testsuite/ld-arm/jump19.s
ef985e11cd18e380d77a37c7a5399e05 ld/testsuite/ld-arm/mixed-app-v5.d
@@ -7106,15 +7120,15 @@
dc6a7771a81b22e57b5cc2723dd73819 ld/testsuite/ld-cris/tls-dso-xz-1.d
d812a514a905d85452cb5d34e99c0b69 ld/testsuite/ld-cris/tls-dtpoffdx.s
3da8008017f62a902040791e3996d1e3 ld/testsuite/ld-cris/tls-dtprelm.s
-1241ab94943a409d3df47a2584490498 ld/testsuite/ld-cris/tls-e-20.d
-ae4244890b1a865f83d2e669c1fcadbe ld/testsuite/ld-cris/tls-e-20a.d
+481af11e54c8e5760981b0c3b293a5c3 ld/testsuite/ld-cris/tls-e-20.d
+40aeb7a328c888eeb312cd43755c1900 ld/testsuite/ld-cris/tls-e-20a.d
550a13c4e70ae123db6f471fbcb96ca1 ld/testsuite/ld-cris/tls-e-21.d
-c69a95ce4d7a563fdbd66c19c37a1b38 ld/testsuite/ld-cris/tls-e-22.d
+23f2ffdceafd751d6db07fda526ef9a4 ld/testsuite/ld-cris/tls-e-22.d
5699e4ea4ad88563da8ae26484bd289e ld/testsuite/ld-cris/tls-e-23.d
45680291556e5a4ba2313535a7d73029 ld/testsuite/ld-cris/tls-e-66.d
-3f11922bd86fc20d1601d0a3cac2178b ld/testsuite/ld-cris/tls-e-80.d
-f3f1b4425e124980ef14bfadba2a48d8 ld/testsuite/ld-cris/tls-e-dtpoffd1.d
-f43a5eecf01e86f9d99ad222b49f874f ld/testsuite/ld-cris/tls-e-dtpoffd3.d
+464b3db34efe76985dc3b8a9914e3d5a ld/testsuite/ld-cris/tls-e-80.d
+20471f1fcc2d0ae22084287775c19148 ld/testsuite/ld-cris/tls-e-dtpoffd1.d
+bfe76a492985c63a7ab23578af135953 ld/testsuite/ld-cris/tls-e-dtpoffd3.d
d877a7fe80709cb7aa6f350af68b6780 ld/testsuite/ld-cris/tls-e-tpoffcomm1.d
50342aefaed14ebfd9238897c30e7168 ld/testsuite/ld-cris/tls-e-tpoffcomm1.s
d25fd14c85c538cf35c5ff8f326d580f ld/testsuite/ld-cris/tls-err-20x.d
@@ -7196,10 +7210,10 @@
679fc1b710b09d032741fd6731445578 ld/testsuite/ld-cris/tls-ldgd-14.s
ee31f390296482ebca7b72a43397c31c ld/testsuite/ld-cris/tls-ldgd-15.d
9797d6ca1f85e6324277c45b4a58601d ld/testsuite/ld-cris/tls-ldgd-15.s
-f78509a9b38203da7bf7eff8ca4f6f35 ld/testsuite/ld-cris/tls-ldgde-14.d
-5b6406d466e512d385691fbbea1429c6 ld/testsuite/ld-cris/tls-ldgde-15.d
-9f35be2cb7d4cbb1ca5b2d217bd15e4d ld/testsuite/ld-cris/tls-ldgdex-14.d
-4c79aca80ea181ef15cd202db6ec7351 ld/testsuite/ld-cris/tls-ldgdex-15.d
+d973bab15935e4e25edced51c1f5a01f ld/testsuite/ld-cris/tls-ldgde-14.d
+0cd1e25768b29a2a5747b0bb6cad0651 ld/testsuite/ld-cris/tls-ldgde-15.d
+3fa67c64792bec501fb1db6e84bd34e1 ld/testsuite/ld-cris/tls-ldgdex-14.d
+0e7a22ba54362bde08475773967bb6a6 ld/testsuite/ld-cris/tls-ldgdex-15.d
72f8b3d05ca40293b779dedb62650d95 ld/testsuite/ld-cris/tls-ldgdx-14.d
0c27b3f4594dc269931e211405d20e35 ld/testsuite/ld-cris/tls-ldgdx-15.d
d88ce0a5efe8a0b8cfe57e055411488c ld/testsuite/ld-cris/tls-le-12.d
@@ -9065,6 +9079,9 @@
d3b07384d113edec49eaa6238ad5ff00 ld/testsuite/ld-powerpc/aix-no-dup-syms-1.im
88e303b5f362d2bed5a0b9ac890b55a6 ld/testsuite/ld-powerpc/aix-no-dup-syms-1a.s
c8af874076ad726683033347509fa7ac ld/testsuite/ld-powerpc/aix-no-dup-syms-1b.s
+995efaf46f9360c2de42cc707df57cbe ld/testsuite/ld-powerpc/aix-ref-1-32.od
+4125c347dab35b4ee206d2634f9a0011 ld/testsuite/ld-powerpc/aix-ref-1-64.od
+5604bf2bd9a113169fbaf5ef75e7a56d ld/testsuite/ld-powerpc/aix-ref-1.s
d976c55ada460fa272497cc689c6e36f ld/testsuite/ld-powerpc/aix-rel-1.od
55a6057fd2b9eb2daa176789f35e3b68 ld/testsuite/ld-powerpc/aix-rel-1.s
4237df48b26069a7f09cc9c38b10844e ld/testsuite/ld-powerpc/aix-toc-1-32.dd
@@ -9100,7 +9117,7 @@
374aa6a557b88260efd096cf5efb9daf ld/testsuite/ld-powerpc/aix-weak-3a.s
009520053b00386d1173f3988c55d192 ld/testsuite/ld-powerpc/aix-weak-3b.ex
e9279b52fb9ad49703e8c667bc97c2f6 ld/testsuite/ld-powerpc/aix-weak-3b.s
-ea4acf25de3ba983669ad8e0a4de59c0 ld/testsuite/ld-powerpc/aix52.exp
+19847f90e5f5e4ed64aac571cd9e9a57 ld/testsuite/ld-powerpc/aix52.exp
90ce2f64162c9dc090e96f0729b97f0a ld/testsuite/ld-powerpc/apuinfo.rd
787da85c4090a2cd214e445bf01ed784 ld/testsuite/ld-powerpc/apuinfo1.s
122c70dca18f0a00814d752c8ac134bf ld/testsuite/ld-powerpc/apuinfo2.s
@@ -10005,7 +10022,7 @@
fbe2467afef81c41c166173adeb0ee20 mkdep
766574f467c38d27fc7604ca8eb6734c mkinstalldirs
a20215c156b06261d944ae7f30a3b75c move-if-change
-65724d627f88ea9603261adf5adfa0b6 opcodes/aclocal.m4
+1eabaeb9aa44234d9977c09f3ed932e5 opcodes/aclocal.m4
0d183fbfd7a3b3bbb706594c41604ace opcodes/alpha-dis.c
b2c7455ac27ff79f81ccb4aee922e6a1 opcodes/alpha-opc.c
4086bffd4ad243d379965f6e8b1dc70d opcodes/arc-dis.c
@@ -10013,7 +10030,7 @@
600df541c72eff91184a227ec5b04088 opcodes/arc-ext.c
b3d65ebfe89e547896663c61def89981 opcodes/arc-ext.h
e016668afed76e3602ac2c0b9c8c5f9d opcodes/arc-opc.c
-c8ef6b6b763be3a2716859ae88975426 opcodes/arm-dis.c
+1953d5c3fdd517513f874e7247a0d8fe opcodes/arm-dis.c
a7ff38c699b5c09e7a62854ecd54e46c opcodes/avr-dis.c
92306ca5de87366b318f185889996716 opcodes/bfin-dis.c
45cea674fa428a0345e51f278752257c opcodes/cgen-asm.c
@@ -10026,7 +10043,7 @@
2b9b845f7b161ef7455edd51eac1685c opcodes/cgen-ops.h
7c5687f0e245054341ed9ff9169a0343 opcodes/cgen-types.h
bc080d7ab00992593cfa8b975cd771a9 opcodes/cgen.sh
-1a262b1256bdbe7874723875c945ce11 opcodes/ChangeLog
+346bfabe1a7f4e1e968d91ba55aeeed6 opcodes/ChangeLog
1b4b8646bdc7ad5a2f9071d8ac8b024e opcodes/ChangeLog-0001
83ac14eead5eda1862cc926b82d35cea opcodes/ChangeLog-0203
d4cca6dd9882292b6f2e17604bed6cbd opcodes/ChangeLog-2004
@@ -10150,7 +10167,7 @@
a8a5e99b9b9176f9a932a252fd9ab2a1 opcodes/m88k-dis.c
d618facc3e8ce8bf3d02ba452e1be6ab opcodes/MAINTAINERS
084456c9e1285c12092e3c82f37a6a13 opcodes/Makefile.am
-638fdf96e8f69cd6a4e02b25ca80b293 opcodes/Makefile.in
+37693b81c138083c9c388008c6735c48 opcodes/Makefile.in
3efef7dad61a0eb561346d3047fb7ed8 opcodes/makefile.vms
82353381607aa08d0214f80b2374196e opcodes/maxq-dis.c
e5163d6dcedbe3686a0673bd8a8d3929 opcodes/mcore-dis.c
@@ -10212,7 +10229,7 @@
ae6d82cae94b6dbf83af04ece662faf8 opcodes/po/Make-in
ad81a21e8cbc7697c961d49e36f1310f opcodes/po/nl.gmo
06250bf1d6eb94893c9bac793eaf7078 opcodes/po/nl.po
-a9853d8895bf67de24c72e1444d966a3 opcodes/po/opcodes.pot
+1e6776b7989f0784e4948a1d151c710b opcodes/po/opcodes.pot
42d0757557879a49a37cc19f7abbd4ab opcodes/po/POTFILES.in
1b79e075af1926ef6736fa317f054702 opcodes/po/pt_BR.gmo
30f5fa421474edf39ae99a8985bd42e9 opcodes/po/pt_BR.po
@@ -10226,7 +10243,7 @@
d240397d7549955db90a909ceca92313 opcodes/po/vi.po
35aff368921bb92ebaee91c25b2f6af7 opcodes/po/zh_CN.gmo
5f9e62904aed88b112efa945548f622f opcodes/po/zh_CN.po
-4f2dda5ed587c6eb5fb08e6a6db2ed88 opcodes/ppc-dis.c
+46f67a35bca0fd56b823e39953ab9f57 opcodes/ppc-dis.c
92f372db1882f25fd32e077dea783369 opcodes/ppc-opc.c
22346d07635b0e16085ae3f50f7a5b53 opcodes/s390-dis.c
b68de552055d61814ea789797085dc4c opcodes/s390-mkopc.c
diff --git a/binutils/opcodes/ChangeLog b/binutils/opcodes/ChangeLog
index 535d450..68ef62c 100644
--- a/binutils/opcodes/ChangeLog
+++ b/binutils/opcodes/ChangeLog
@@ -1,3 +1,20 @@
+2010-02-18 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
+
+ * arm-dis.c: Fix mis-applied patch.
+
+2010-02-10 Richard Sandiford <r.sandiford@uk.ibm.com>
+
+ * ppc-dis.c (ppc_opts): Add "pwr4", "pwr5", "pwr5x", "pwr6"
+ and "pwr7". Move "a2" into alphabetical order.
+
+2010-01-21 Nick Clifton <nickc@redhat.com>
+
+ * arm-dis.c: Fix mis-applied patch.
+
+2009-11-17 Edward Nevill <edward.nevill@arm.com>
+
+ * arm-dis.c (print_insn_thumb32): Handle undefined instruction.
+
2009-10-06 Nick Clifton <nickc@redhat.com>
* po/fi.po: Updated Finnish translation.
diff --git a/binutils/opcodes/Makefile.in b/binutils/opcodes/Makefile.in
index 5b4721a..424756b 100644
--- a/binutils/opcodes/Makefile.in
+++ b/binutils/opcodes/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11 from Makefile.am.
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
@@ -916,7 +916,7 @@
# (which will cause the Makefiles to be regenerated when you run `make');
# (2) otherwise, pass the desired values on the `make' command line.
$(RECURSIVE_TARGETS):
- @failcom='exit 1'; \
+ @fail= failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \
case $$f in \
*=* | --[!k]*);; \
@@ -941,7 +941,7 @@
fi; test -z "$$fail"
$(RECURSIVE_CLEAN_TARGETS):
- @failcom='exit 1'; \
+ @fail= failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \
case $$f in \
*=* | --[!k]*);; \
diff --git a/binutils/opcodes/aclocal.m4 b/binutils/opcodes/aclocal.m4
index 24b4464..df10cc0 100644
--- a/binutils/opcodes/aclocal.m4
+++ b/binutils/opcodes/aclocal.m4
@@ -1,4 +1,4 @@
-# generated automatically by aclocal 1.11 -*- Autoconf -*-
+# generated automatically by aclocal 1.11.1 -*- Autoconf -*-
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
# 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
@@ -34,7 +34,7 @@
[am__api_version='1.11'
dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
dnl require some minimum version. Point them to the right macro.
-m4_if([$1], [1.11], [],
+m4_if([$1], [1.11.1], [],
[AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
])
@@ -50,7 +50,7 @@
# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
-[AM_AUTOMAKE_VERSION([1.11])dnl
+[AM_AUTOMAKE_VERSION([1.11.1])dnl
m4_ifndef([AC_AUTOCONF_VERSION],
[m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
diff --git a/binutils/opcodes/arm-dis.c b/binutils/opcodes/arm-dis.c
index 7657147..dae4f17 100644
--- a/binutils/opcodes/arm-dis.c
+++ b/binutils/opcodes/arm-dis.c
@@ -3928,12 +3928,16 @@
c += 1 << width;
break;
+ case 'x':
+ func (stream, "0x%lx", val & 0xffffffffUL);
+ break;
+
default:
abort ();
}
+ break;
}
- break;
-
+
default:
abort ();
}
diff --git a/binutils/opcodes/po/opcodes.pot b/binutils/opcodes/po/opcodes.pot
index 278ea13..a62e615 100644
--- a/binutils/opcodes/po/opcodes.pot
+++ b/binutils/opcodes/po/opcodes.pot
@@ -8,7 +8,7 @@
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: bug-binutils@gnu.org\n"
-"POT-Creation-Date: 2009-09-07 14:08+0200\n"
+"POT-Creation-Date: 2010-03-03 15:04+0100\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"
@@ -115,18 +115,18 @@
msgstr ""
#. XXX - should break 'option' at following delimiter.
-#: arm-dis.c:4014
+#: arm-dis.c:4018
#, c-format
msgid "Unrecognised register name set: %s\n"
msgstr ""
#. XXX - should break 'option' at following delimiter.
-#: arm-dis.c:4022
+#: arm-dis.c:4026
#, c-format
msgid "Unrecognised disassembler option: %s\n"
msgstr ""
-#: arm-dis.c:4519
+#: arm-dis.c:4522
#, c-format
msgid ""
"\n"
@@ -981,12 +981,12 @@
msgid "$<undefined>"
msgstr ""
-#: ppc-dis.c:222
+#: ppc-dis.c:248
#, c-format
msgid "warning: ignoring unknown -M%s option\n"
msgstr ""
-#: ppc-dis.c:511
+#: ppc-dis.c:537
#, c-format
msgid ""
"\n"
@@ -994,43 +994,43 @@
"the -M switch:\n"
msgstr ""
-#: ppc-opc.c:870 ppc-opc.c:898
+#: ppc-opc.c:873 ppc-opc.c:901
msgid "invalid conditional option"
msgstr ""
-#: ppc-opc.c:900
+#: ppc-opc.c:903
msgid "attempt to set y bit when using + or - modifier"
msgstr ""
-#: ppc-opc.c:932
+#: ppc-opc.c:935
msgid "invalid mask field"
msgstr ""
-#: ppc-opc.c:958
+#: ppc-opc.c:961
msgid "ignoring invalid mfcr mask"
msgstr ""
-#: ppc-opc.c:1008 ppc-opc.c:1043
+#: ppc-opc.c:1011 ppc-opc.c:1046
msgid "illegal bitmask"
msgstr ""
-#: ppc-opc.c:1163
+#: ppc-opc.c:1166
msgid "index register in load range"
msgstr ""
-#: ppc-opc.c:1179
+#: ppc-opc.c:1182
msgid "source and target register operands must be different"
msgstr ""
-#: ppc-opc.c:1194
+#: ppc-opc.c:1197
msgid "invalid register operand when updating"
msgstr ""
-#: ppc-opc.c:1273
+#: ppc-opc.c:1276
msgid "invalid sprg number"
msgstr ""
-#: ppc-opc.c:1443
+#: ppc-opc.c:1446
msgid "invalid constant"
msgstr ""
diff --git a/binutils/opcodes/ppc-dis.c b/binutils/opcodes/ppc-dis.c
index ac88f76..883bb3b 100644
--- a/binutils/opcodes/ppc-dis.c
+++ b/binutils/opcodes/ppc-dis.c
@@ -89,6 +89,10 @@
0 },
{ "750cl", (PPC_OPCODE_PPC | PPC_OPCODE_PPCPS)
, 0 },
+ { "a2", (PPC_OPCODE_PPC | PPC_OPCODE_CLASSIC | PPC_OPCODE_ISEL
+ | PPC_OPCODE_POWER4 | PPC_OPCODE_POWER5 | PPC_OPCODE_CACHELCK
+ | PPC_OPCODE_64 | PPC_OPCODE_A2),
+ 0 },
{ "altivec", (PPC_OPCODE_PPC | PPC_OPCODE_CLASSIC),
PPC_OPCODE_ALTIVEC },
{ "any", 0,
@@ -145,16 +149,30 @@
{ "ppc64bridge", (PPC_OPCODE_PPC | PPC_OPCODE_CLASSIC | PPC_OPCODE_64_BRIDGE
| PPC_OPCODE_64),
0 },
- { "a2", (PPC_OPCODE_PPC | PPC_OPCODE_CLASSIC | PPC_OPCODE_ISEL
- | PPC_OPCODE_POWER4 | PPC_OPCODE_POWER5 | PPC_OPCODE_CACHELCK
- | PPC_OPCODE_64 | PPC_OPCODE_A2),
- 0 },
{ "ppcps", (PPC_OPCODE_PPC | PPC_OPCODE_PPCPS),
0 },
{ "pwr", (PPC_OPCODE_POWER | PPC_OPCODE_32),
0 },
{ "pwr2", (PPC_OPCODE_POWER | PPC_OPCODE_POWER2 | PPC_OPCODE_32),
0 },
+ { "pwr4", (PPC_OPCODE_PPC | PPC_OPCODE_CLASSIC | PPC_OPCODE_64
+ | PPC_OPCODE_POWER4),
+ 0 },
+ { "pwr5", (PPC_OPCODE_PPC | PPC_OPCODE_CLASSIC | PPC_OPCODE_64
+ | PPC_OPCODE_POWER4 | PPC_OPCODE_POWER5),
+ 0 },
+ { "pwr5x", (PPC_OPCODE_PPC | PPC_OPCODE_CLASSIC | PPC_OPCODE_64
+ | PPC_OPCODE_POWER4 | PPC_OPCODE_POWER5),
+ 0 },
+ { "pwr6", (PPC_OPCODE_PPC | PPC_OPCODE_CLASSIC | PPC_OPCODE_64
+ | PPC_OPCODE_POWER4 | PPC_OPCODE_POWER5 | PPC_OPCODE_POWER6
+ | PPC_OPCODE_ALTIVEC),
+ 0 },
+ { "pwr7", (PPC_OPCODE_PPC | PPC_OPCODE_CLASSIC | PPC_OPCODE_ISEL
+ | PPC_OPCODE_64 | PPC_OPCODE_POWER4 | PPC_OPCODE_POWER5
+ | PPC_OPCODE_POWER6 | PPC_OPCODE_POWER7 | PPC_OPCODE_ALTIVEC
+ | PPC_OPCODE_VSX),
+ 0 },
{ "pwrx", (PPC_OPCODE_POWER | PPC_OPCODE_POWER2 | PPC_OPCODE_32),
0 },
{ "spe", (PPC_OPCODE_PPC | PPC_OPCODE_EFS),