2013-03-29  H.J. Lu  <hongjiu.lu@intel.com>

	* dwarf.c (process_debug_info): Increment hdrptr by 8 after
	SAFE_BYTE_GET64.

2013-03-27  Phil Krylov <phil.krylov@gmail.com>

	PR binutils/13409
	* winduni.c (codepages[]): Use UTF-16LE.
	(wind_MultiByteToWideChar): Likewise.
	(wind_WideCharToMultiByte): Likewise.

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

	PR binutils/15206
	* dwarf.c (read_and_display_attr_value): Cast format '*' arg to int.

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

	PR binutils/15206
	* dwarf.c (SAFE_BYTE_GET): New macro - checks remaining buffer
	space before calling byte_get.
	(SAFE_BYTE_GET_AND_INC): New macro.
	(SAFE_SIGNED_BYTE_GET): New macro.
	(SAFE_SIGNED_BYTE_GET_AND_INC): New macro.
	(SAFE_BYTE_GET64): New macro.
	(process_extened_line_op): Use new macros.  Use strnlen when
	appropriate.
	(fetch_indirect_string): Likewise.
	(get_FORM_name): Likewise.
	(decode_location_expression): Likewise.
	(read_and_display_attr_value): Likewise.
	(process_debug_info): Likewise.
	(display_debug_lines_raw): Likewise.
	(display_debug_lines_decoded): Likewise.
	(display_debug_pubnames): Likewise.
	(display_debug_macinfo): Likewise.
	(get_line_filename_and_dirname): Likewise.
	(display_debug_macro): Likewise.
	(display_loc_list): Likewise.
	(display_loc_list_dwo): Likewise.
	(display_debug_aranges): Likewise.
	(display_debug_ranges): Likewise.
	(frame_display_row): Likewise.
	(display_debug_frames): Likewise.

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

	PR binutils/15202
	* dwarf.c (read_leb128): Add END parameter.  Do not read at or
	beyond end.
	(read_sleb128): Add END parameter.
	(read_uleb128): New function.
	(process_extended_line_op): Pass END to leb128 functions.
	(process_abbrev_section): Likewise.
	(decode_location_expression): Likewise.
	(read_and_display_attr_value): Likewise.
	(read_and_display_attr): Likewise.
	(process_debug_info): Likewise.
	(display_debug_lines_raw): Likewise.
	(display_debug_lines_decoded): Likewise.
	(display_debug_macinfo): Likewise.
	(get_line_filename_and_dirname): Likewise.
	(display_debug_macro): Likewise.
	(display_loc_list_dwo): Likewise.
	(display_debug_ranges): Likewise.
	* dwarf.h (read_leb128): Update prototype.
	* readelf.c (read_uleb128): Add END parameter.
	(decode_arm_unwind_bytecode): Pass END to read_uleb128.
	(decode_tic6x_unwind_bytecode): Likewise.
	(display_tag_value): New function.
	(display_arm_attribute): Add END parameter. Pass END to
	read_uleb128.  Use display_tag_value.
	(display_gnu_attribute): Likewise.
	(display_power_gnu_attribute): Likewise.
	(display_sparc_gnu_attribute): Likewise.
	(display_mips_gnu_attribute): Likewise.
	(display_tic6x_attribute): Likewise.
	(process_attributes): Likewise.
	(display_raw_attribute): New function.

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

	PR binutils/15201
	* dwarf.c (display_debug_ranges): Add checks for reading beyond
	the end of the section.

	PR binutils/15157
	* readelf.c (apply_relocations): Catch relocations with negative
	offsets.

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

	* addr2line.c (slurp_symtab): If canonicalization reveals that
	there were no ordinary symbols, try loading the dynamic symbols
	instead.

2013-03-14  Markos Chandras  <markos.chandras@imgtec.com>

	* MAINTAINERS: Add myself as Meta maintainer.

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:
