2013-03-08  Andreas Arnez  <arnez@linux.vnet.ibm.com>

	* readelf.c (get_note_type): Add NT_S390_TDB.

2013-03-07  Alan Modra  <amodra@gmail.com>

	* strings.c (get_char): Dispense with buf[].  Instead shift
	chars into big-endian value and byte-swap later if
	little-endian.  Don't EOF check value read from object.

2013-03-05  Corinna Vinschen  <vinschen@redhat.com>

	* configure.in: Build DLL tools on x86_64-*-cygwin* as well.
	* configure: Regenerate.

2013-03-04  Nick Clifton  <nickc@redhat.com>

	* elfcomm.c (error): Flush stdout before emitting the error
	message.
	(warn): Likewise.

2013-03-01  Cary Coutant  <ccoutant@google.com>

	* dwarf.c (cu_tu_indexes_read, shndx_pool, shndx_pool_size)
	(shndx_pool_used): Move to top of file.
	(struct cu_tu_set): New type.
	(cu_count, tu_count, cu_sets, tu_sets): New file scope variables.
	(fetch_indexed_string): Add "this_set" parameter.  Update all callers.
	(find_cu_tu_set_v2): New function.
	(read_and_display_attr_value): Add "this_set" parameter.
	(read_and_display_attr): Likewise.
	(process_debug_info): Track base offsets for DWARF package files.
	(load_debug_info): Call load_cu_tu_indexes.
	(get_DW_SECT_short_name): New function.
	(process_cu_tu_index): Add support for version 2 DWARF package files.

2013-02-27  Alan Modra  <amodra@gmail.com>

	PR binutils/15191
	* readelf.c (offsetof): Define.
	(CHECK_ENTSIZE_VALUES): Remove extraneous indefinite article.
	(process_corefile_note_segment): Allow notes without name or
	desc.  Combine out-of-range checks.  Disallow "negative"
	notesz or descsz.

2013-02-26  Nick Clifton  <nickc@redhat.com>

	PR binutils/15191
	* readelf.c (process_corefile_note_segment): Prevent attempts to
	read beyond the end of the note buffer.

2013-02-15  Kai Tietz  <ktietz@redhat.com>

	* objcopy.c (copy_main): Initialize context variable.

2013-02-15  Nick Clifton  <nickc@redhat.com>

	PR binutils/15140
	* ar.c (open_inarch): Fail on attempts to convert a normal archive
	to a thin archive or vice versa.
	* elfcomm.c (make_qualified_name): Handle corrupted thin
	archives.
	* readelf.c (process_archive): Likewise.
	* doc/binutils.texi: Clarify documentation describing thin
	archives.

2013-02-15  Nick Clifton  <nickc@redhat.com>

	PR binutils/15033
	* objcopy.c (enum change_action): Delete.
	(struct section_list): Delete remove, copy, change_vma, change_lma
	and set_flags fields.  Add context field.
	(find_section_list): Add a context parameter.  Add support for
	wildcard characters in section names.
	(is_strip_section): Check for sections being both  copied and
	removed.
	(copy_object): Pass context to find_section_list.
	(setup_section): Likewise.
	(copy_section): Likewise.
	(copy_main): Likewise.
	* doc/binutils: Document the new behaviour.
	* NEWS: Mention the new feature

2013-02-14  Nick Clifton  <nickc@redhat.com>

	PR binutils/15125
	* objcopy.c (copy_object): Provide a helpful warning message when
	adding a gnu_debuglink section to an object which already contains
	one.

2013-02-07  Nick Clifton  <nickc@redhat.com>

	* elfcomm.c (get_archive_member_name): Prevent seg-fault if a
	corrupt archive uses long names but has no long name table.

2013-02-06  Sandra Loosemore  <sandra@codesourcery.com>
            Andrew Jenner <andrew@codesourcery.com>

	Based on patches from Altera Corporation.

	* readelf.c: Include elf/nios2.h.
	(dump_relocations): Add case for EM_ALTERA_NIOS2.
	(get_nios2_dynamic_type): New.
	(get_dynamic_type): Add case for EM_ALTERA_NIOS2.
	(is_32bit_abs_reloc): Fix EM_ALTERA_NIOS2 case.
	(is_16bit_abs_reloc): Likewise.
	(is_none_reloc): Add EM_ALTERA_NIOS2 and EM_NIOS32 cases.
	* NEWS: Note Altera Nios II support.
	* MAINTAINERS: Add Nios II maintainers.

2013-01-29  Xi Wang  <xi.wang@gmail.com>

	* readelf.c (process_version_sections): Fix overflow checks to
	avoid undefined behaviour.

2013-01-28  Doug Evans  <dje@google.com>

	* dwarf.c (display_gdb_index): Handle .gdb_index version 8.

2013-01-28  Robert Schiele  <rschiele@gmail.com>

	* objcopy.c (parse_flags): Add merge and strings section flags.

2013-01-25  Cary Coutant  <ccoutant@google.com>

	* dwarf.c (display_loc_list): Update offset for each line
	printed.
	(print_addr_index): New function.
	(display_loc_list_dwo): Update offset for each line printed.
	Fix problems displaying loclists in .dwo files.  Add support
	for type 4 entries.
	(display_debug_loc): Remove custom header for .dwo files.
	(display_debug_addr): Adjust formatting.

2013-01-25  Marco Atzeri  <marco.atzeri@gmail.com>

	* objcopy.c : Enable long section names for OPTION_ADD_GNU_DEBUGLINK.

2013-01-24  Doug Evans  <dje@google.com>

	* dwarf.c (display_debug_addr): Add missing parentheses to expression.

2013-01-24  Nick Clifton  <nickc@redhat.com>

	* readelf.c (get_machine_flags): Decode E_V850E3V5_ARCH.

2013-01-23  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	* readelf.c: Add strings for NT_S390_LAST_BREAK and
	NT_S390_SYSTEM_CALL.

2013-01-18  Nick Clifton  <nickc@redhat.com>

	PR binutils/15026
	* addr2line.c (translate_addresses): When pretty printing, print
	unknown function names on the same line as unknown symbol names.

2013-01-17  Nickolai Zeldovich  <nickolai@csail.mit.edu>

	* objdump.c (dump_target_specific): Fix NULL pointer test.

2013-01-16  Alan Modra  <amodra@gmail.com>

	PR binutils/15018
	* stabs.c (parse_stab_members): Always set physname here to avoid
	gcc warning..
	(parse_stab_argtypes): ..and don't duplicate the init here.

2013-01-10  Will Newton <will.newton@imgtec.com>

	* binutils/readelf.c: (guess_is_rela): Add EM_METAG.
	(dump_relocations): Add EM_METAG.
	(get_machine_name): Correct case for Meta.
	(is_32bit_abs_reloc): Add support for Meta ADDR32 reloc.
	(is_none_reloc): Add support for Meta NONE reloc.

2013-01-08  Yufeng Zhang  <yufeng.zhang@arm.com>

	* readelf.c (get_note_type): Handle NT_ARM_TLS, NT_ARM_HW_BREAK
	and NT_ARM_HW_WATCH.

2013-01-07  Roland McGrath  <mcgrathr@google.com>

	* objcopy.c (deterministic): Make int rather than bfd_boolean,
	initialize to -1.
	(strip_options, copy_options): Add -U/--disable-deterministic-archives.
	(default_deterministic): New function.
	(strip_main, copy_main): Handle -U.  Call default_deterministic.
	(copy_usage, strip_usage): Describe -U.  Cite whether -D or -U is
	the default based on DEFAULT_AR_DETERMINISTIC.
	* doc/binutils.texi (objcopy, strip): Describe -U and effect of
	configure options on -D.

	* ar.c (default_deterministic): Comment fix.

2013-01-07  Patrice Dumas  <pertusus@free.fr>

	* doc/binutils.texi: Fix ordering of top level nodes.
	Replace erroneous uses of @itemx with @item.

2013-01-04  Andreas Schwab  <schwab@linux-m68k.org>

	* doc/binutils.texi (elfedit): Fix use of @itemx in @table.

2013-01-03  Marcus Shawcroft  <marcus.shawcroft@arm.com>

	* MAINTAINERS: Add myself as AArch64 co-maintainer.

2013-01-02  H.J. Lu  <hongjiu.lu@intel.com>

	* version.c (print_version): Update copyright year to 2013.

For older changes see ChangeLog-2012

Copyright (C) 2013 Free Software Foundation, Inc.

Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved.

Local Variables:
mode: change-log
left-margin: 8
fill-column: 74
version-control: never
End:
