Patches applied to binutils-2.24:

Please include a change to this file with each patch, *and* each
subsequent modification of the patch.  Do NOT combine patch
checkins, keep them separate.

Append new entries to the end of this file. Each entry shall include:
 * The list of files modified by the patch,
 * The status of the patch (whether it's been checked in upstream,
   or is a local patch),
 * The local 'owner' responsible for the patch, and
 * A description of the patch (preferably including bug numbers).

Please include entries for both local patches and for patches which
have been checked in to (or back-ported from) the upstream sources.
When checking in changes made upstream, add an entry to this file but
DO NOT add entries to the GNU ChangeLog files.

gas/as.c
gas/as.h
gas/doc/as.texinfo
gas/read.c
gas/testsuite/gas/all/incbin.d
  Status: google local
  Owner: aaw
  Disable .incbin, unless explicitly enabled with new flag --allow-incbin.

binutils/doc/Makefile.am
binutils/doc/Makefile.in
gas/doc/Makefile.am
gas/doc/Makefile.in
gprof/Makefile.am
gprof/Makefile.in
ld/Makefile.am
ld/Makefile.in
bfd/doc/bfd.info   # delete this and all following:
binutils/doc/addr2line.1
binutils/doc/ar.1
binutils/doc/binutils.info
binutils/doc/dlltool.1
binutils/doc/elfedit.1
binutils/doc/nlmconv.1
binutils/doc/nm.1
binutils/doc/objcopy.1
binutils/doc/objdump.1
binutils/doc/ranlib.1
binutils/doc/readelf.1
binutils/doc/size.1
binutils/doc/strings.1
binutils/doc/strip.1
binutils/doc/windmc.1
binutils/doc/windres.1
etc/configure.info
etc/standards.info
gas/doc/as.1
gas/doc/as.info
gprof/gprof.1
gprof/gprof.info
ld/ld.1
ld/ld.info
  Status: local
  Owner: bmoses
  Remove all pre-formatted manual and info pages so that they will
  consistently be formatted during the build process.  When formatting them,
  pass --date=" " to pod2man to avoid including build dates.

gas/testsuite/gas/aarch64/mapmisc.d
  Status: local
  Owner: bmoses
  Add "--allow-incbin" directive to avoid errors with .incbin patch.

bfd/bfd-in.h
bfd/bfd-in2.h
bfd/bfd.c
bfd/section.c
  Status: backport
  Owner: ppluzhnikov
  Backport commit 27b829ee701e29804216b3803fbaeb629be27491:
    Replace the various bfd_xxx_set macros with static inline functions,
    so that we can avoid compile time warnings about comma expressions
    with unused values.

gold/dwarf_reader.cc
gold/dwarf_reader.h
gold/gdb-index.cc
gold/gdb-index.h
gold/testsuite/gdb_index_test_3.sh
gold/testsuite/gdb_index_test_comm.sh
  Status: backport
  Owner: ccoutant
  Backport upstream patch to add support for .gdb_index version 7.
  https://sourceware.org/ml/binutils-cvs/2014-01/msg00156.html

gold/configure.ac
gold/configure
gold/Makefile.am
gold/Makefile.in
gold/testsuite/Makefile.am
gold/testsuite/Makefile.in
  Status: local
  Owner: bmoses
  Add a Gold configure option to run tests using the native
  build tools, even if we are building for a non-native
  target.

gold/options.cc
gold/options.h
gold/symtab.cc
gold/symtab.h
gold/testsuite/Makefile.am
gold/testsuite/Makefile.in
gold/testsuite/dynamic_list_2.cc
gold/testsuite/dynamic_list_2.t
gold/testsuite/dynamic_list_lib1.cc
gold/testsuite/dynamic_list_lib2.cc
gold/testsuite/gc_dynamic_list_test.c
gold/testsuite/gc_dynamic_list_test.sh
gold/testsuite/gc_dynamic_list_test.t
  Status: Backport
  Owner: ccoutant
  Fix problems with --dynamic-list option.
  https://sourceware.org/ml/binutils-cvs/2014-02/msg00023.html

gold/errors.cc
gold/target-reloc.h
  Status: Backport
  Owner: ccoutant
  Fix issues with gold undefined symbol diagnostics.
  https://sourceware.org/ml/binutils-cvs/2014-02/msg00025.html

gold/errors.cc
  Status: local
  Owner: ccoutant
  Add local go/missingkeymethod link to missing vtable error message.

binutils/readelf.c
  Status: backport
  Owner: ccoutant
  Add readelf support for gold version note sections.
  https://sourceware.org/ml/binutils-cvs/2014-02/msg00026.html

gold/archive.cc
gold/testsuite/Makefile.am
gold/testsuite/Makefile.in
gold/testsuite/weak_undef_file3.cc
gold/testsuite/weak_undef_file4.cc
gold/testsuite/weak_undef_test_2.cc
  Status: backport
  Owner: ccoutant
  Fix problem where -u is ignored when a weak undef is seen.
  Backported from:
  https://sourceware.org/ml/binutils-cvs/2014-02/msg00031.html

gold/testsuite/Makefile.am
gold/testsuite/Makefile.in
  Status: backport
  Owner: ccoutant
  Backport upstream patch to fix dependencies in gold testsuite.
  https://sourceware.org/ml/binutils-cvs/2013-10/msg00022.html

binutils/dwarf.c
  Status: backport
  Owner: ccoutant
  Backport upstream patch to fix bogus complaint about corrupt attribute
  when DW_FORM_flag_present falls at end of section.
  https://sourceware.org/ml/binutils-cvs/2014-02/msg00054.html

libiberty/cp-demangle.c
libiberty/cp-demangle.h
libiberty/testsuite/demangle-expected
  Status: backport
  Owner: ccoutant
  Fix demangler to handle conversion operators correctly.
  Backported from GCC trunk at r205292.

gold/configure
gold/configure.ac
gold/testsuite/Makefile.am
gold/testsuite/Makefile.in
  Status: backport
  Owner: ccoutant
  Modify gold testsuite to disable plugins added by GCC driver.
  https://sourceware.org/ml/binutils-cvs/2014-04/msg00010.html

gold/icf.cc
  Status: backport
  Owner: tmsriram
  Use references to reloc info vectors in icf.cc.  This also fixes
  bug b/13588967
  https://sourceware.org/ml/binutils/2014-04/msg00026.html

gold/x86_64.cc
  Status: backport
  Owner: ccoutant
  Add missing break statement (PR gold/16870).
  https://sourceware.org/ml/binutils-cvs/2014-04/msg00141.html

gold/options.h
  Status: local
  Owner: ccoutant
  Make --disable-new-dtags the default.  See b/12844098.

gold/gdb-index.cc
  Status: backport
  Owner: ccoutant
  Don't complain about the source language when we have pubnames/pubtypes info.
  https://sourceware.org/ml/binutils-cvs/2014-05/msg00025.html

gold/layout.cc
  Status: Local
  Owner: ccoutant
  Fix linker to strip .debug_gnu_pubnames/pubtypes when generating
  .gdb_index.

gold/arm.cc
gold/i386.cc
gold/powerpc.cc
gold/sparc.cc
gold/x86_64.cc
gold/symtab.h
testsuite/Makefile.am
testsuite/Makefile.in
testsuite/pie_copyrelocs_test.cc
testsuite/pie_copyrelocs_shared_test.cc
  Status: backport
  Owner: tmsriram
  Backport fix to allow copy relocations with pie links when possible.
  https://sourceware.org/ml/binutils/2014-05/msg00092.html

libiberty/configure.ac
libiberty/configure
  Status: backport
  Owner: bmoses
  Fix bug that prevented --enable-install-libiberty from working.
  https://gcc.gnu.org/ml/gcc-patches/2014-01/msg00213.html
