2011-12-28  Ian Lance Taylor  <iant@google.com>

	* dwarf.c (read_and_display_attr_value): Handle DW_LANG_Go.

2011-12-20  Roland McGrath  <mcgrathr@google.com>

	* configure.in (--enable-deterministic-archives): Grok new
	argument.  Set DEFAULT_AR_DETERMINISTIC to 1 or 0 accordingly.
	* configure: Regenerated.
	* config.in: Regenerated.
	* ar.c (deterministic): Initialize to -1.
	(decode_options, ranlib_main): Grok U option.
	(usage, ranlib_usage): Mention U; say for D and U which is the default.
	(default_deterministic): New function.
	(ranlib_main): Call it.
	(main): Likewise.  Make newer_only && deterministic error
	non-fatal if it was just DEFAULT_AR_DETERMINISTIC and not the D option.
	* doc/binutils.texi (ar cmdline, ranlib): Document U modifier and
	--enable-deterministic-archives behavior.

2011-12-16  Tristan Gingold  <gingold@adacore.com>

	* od-macho.c: Include mach-o/codesign.h
	(OPT_CODESIGN): Define.
	(options): Add an entry for codesign.
	(mach_o_help): Likewise.
	(dump_header): Fix indentation.
	(dump_thread): Do not test result of xmalloc.
	(bfd_mach_o_cs_magic, bfd_mach_o_cs_hash_type): New.
	(dump_code_signature_superblob): New function.
	(swap_code_codedirectory_v1_in): Likewise.
	(hexdump): Likewise.
	(dump_code_signature_codedirectory): Likewise.
	(dump_code_signature_blob, dump_code_signature): Likewise.
	(dump_load_command): Dump code signature.
	(mach_o_dump): Likewise.

2011-12-15  Andreas Tobler  <andreast@fgznet.ch>

	* readelf.c (get_symbol_type): Add ELFOSABI_FREEBSD to the
	supported abi's.

2011-12-13  Tristan Gingold  <gingold@adacore.com>

	* od-macho.c: New file.
	* objdump.h (objdump_private_desc_mach_o): Add.
	* configure.in: Add Mach-O od_vectors.
	* Makefile.am (CFILES): Add od-macho.c
	* configure: Regenerate.
	* Makefile.in: Regenerate.

2011-12-06 David Daney <david.daney@cavium.com>

	* readelf.c (dynamic_section_mips_val): Factor out trailing '\n'
	from printed strings and move it to the end of the function.
	Use BFD_VMA_FMT for printf format specifier for dynamic tag value.
	Use print_vma() to print dynamic tag values.

2011-12-02  Nick Clifton  <nickc@redhat.com>

	* readelf.c (ia64_process_unwind): Turn into a void funtion.
	(hppa_process_unwind): Likewise.
	(arm_process_unwind): Likewise.
	(process_unwind): Likewise.
	(arm_get_section_word): Rename to get_unwind_section_word.
	Add sym_name parameter to return the offset into the string table
	of the symbol associated with the reloc applied to the word.
	(decode_tic6x_unwind_regmask): Add NULL argument to invocation of
	get_unwind_section_word.
	(dump_arm_unwind): Likewise.
	(decode_arm_unwind_bytecode): Prepend a comma when *not* the first
	register in a list.
	(decode_arm_unwind): If the returned function address is 0 and a
	valid symname offset is provided use that to compute the name
	associated with the entry.
	Add extra checks of the compact model index entry.

2011-11-29  Roland McGrath  <mcgrathr@google.com>

	* ar.c (ranlib_usage): Describe -D.
	(ranlib_main): Parse -D.
	(ranlib_touch): Set BFD_DETERMINISTIC_OUTPUT under -D.
	* doc/binutils.texi (ranlib): Describe -D, and also --help/-h/-H.

2011-11-28  Nick Clifton  <nickc@redhat.com>

	PR binutils/13421
	* readelf.c (arm_section_get_word): Add descriptive comments.
	Initliase the rel_type field of the arm_sec structure.
	(expand_prel31): Rename to arm_expand_prel31.
	(dump_arm_unwind): Use new name.
	Print the function name based on the function address entry.

2011-11-11  Andreas Schwab  <schwab@linux-m68k.org>

	* readelf.c (process_program_headers): Fix typo printing p_memsz
	field.

2011-11-01  DJ Delorie  <dj@redhat.com>

	* readelf.c: Include elf/rl78.h
	(guess_is_rela): Handle EM_RL78.
	(dump_relocations): Likewise.
	(get_machine_name): Likewise.
	(is_32bit_abs_reloc): Likewise.
	* NEWS: Mention addition of RL78 support.
	* MAINTAINERS: Add myself as RL78 port maintainer.

2011-10-28  Ian Lance Taylor  <iant@google.com>

	* dwarf.c (display_debug_frames): If do_debug_frames_interp,
	DW_CFA_restore goes to DW_CFA_undefined, not DW_CFA_unreferenced.

2011-10-28  Walter Lee  <walt@tilera.com>

	* NEWS: Mention addition of TILEPro and TILE-Gx support.
	* MAINTAINERS: Add myself as TILEPro and TILE-Gx port maintainer.

2011-10-27  Joern Rennecke  <joern.rennecke@embecosm.com>

	* MAINTAINERS: Add myself as EPIPHANY port maintainer.

2011-10-25  Mike Frysinger  <vapier@gentoo.org>

	* Makefile.am (syslex.@OBJEXT@): Add -I$(srcdir).
	* Makefile.in: Regen.

2011-10-25  Joern Rennecke  <joern.rennecke@embecosm.com>

	* readelf.c: Include "elf/epiphany.h".
	(guess_is_rela, dump_relocation): Handle EM_ADAPTEVA_EPIPHANY.
	(get_machine_name, is_32bit_abs_reloc, is_32bit_pcrel_reloc): Likewise.
	(is_16bit_abs_reloc, is_none_reloc): Likewise.
	* po/binutils.pot: Regenerate.

2011-10-25  Kai Tietz  <ktietz@redhat.com>

	* winduni.h (unicode_from_ascii_len): New prototype.
	* winduni.c (unicode_from_ascii_len): New function.
	* windres.h (define_stringtable): Add additional length argument.
	* windres.c (define_stringtable): Add length argument for string.
	* rcparse.y (res_unicode_sizedstring): New rule.
	(res_unicode_sizedstring_concat): Likewise.
	(string_data): Adjust rule.

2011-10-24  Jan Kratochvil  <jan.kratochvil@redhat.com>

	* dwarf.c (read_and_display_attr_value) <DW_AT_import>: Add CU_OFFSET
	also for DW_FORM_ref_udata.

2011-10-24  Nick Clifton  <nickc@redhat.com>

	* po/ja.po: Updated Japanese translation.

2011-10-16  H.J. Lu  <hongjiu.lu@intel.com>

	PR binutils/13278
	* ar.c (open_inarch): Set the target from the first object
	on the list only if it isn't set.

2011-10-13  Nick Clifton  <nickc@redhat.com>

	Fixes to aid translation:
	* addr2line.c (translate_address): Add comments describing context
	of a couple of printf statements.
	* ar.c (write_archive): Allow translation of error message.
	* bucomm.c (endian_string): Allow translation of strings.
	(display_target_list): Allow translation.
	* coffdump.c (dump_coff_type): Allow translation of output.
	(dump_coff_where): Likewise.
	(dump_coff_symbol): Likewise.
	(dump_coff_scope): Likewise.
	(dump_coff_sfile): Likewise.
	(dump_coff_section): Likewise.
	(coff_dump): Likewise.
	* dlltool (def_version): Allow translation of output.
	(run): Likewise.
	* dllwrap.c (run): Allow translation of output.
	* dwarf.c (print_dwarf_vma): Allow translation of output.
	(process_extended_line_op): Remove spurious translation.
	Add translation for strings that can be translated.
	(decode_location_exression): Allow translation of output.
	(read_and_display_attr_value): Allow translation of output.
	* readelf.c (slurp_rela_relocs): Add translation for error
	messages when failing to get data.
	(slurp_rel_relocs): Likewise.
	(get_32bit_elf_symbols): Likewise.
	(get_64bit_elf_symbols): Likewise.
	(dump_ia64_vms_dynamic_relocs): Replace abbreviation with full
	word.
	(process_relocs): Remove spurious translation.
	(decode_tic6x_unwind_bytecode): Likewise.
	(process_version_section): Improve error messages.
	(process_mips_specific): Likewise.
	(print_gnu_note): Remove spurious translation.
	(print_stapsdt_note): Likewise.
	(get_ia64_vms_note_type): Likewise.
	* sysdump.c (getCHARS): Allow translation.
	(fillup): Allow translation of output.
	(getone): Likewise.
	(must): Likewise.
	(derived_type): Likewise.
	* doc/binutils.doc (addr2line): Extend description of command line
	options.
	* po/binutils.pot: Regenerate.

2011-10-13  Nick Clifton  <nickc@redhat.com>

	PR binutils/13219
	* readelf.c (GET_ELF_SYMBOLS): Add sym_count parameter.
	(get_32bit_elf_symbols): Add num_syms_return argument.
	Return the number of symbols loaded into the symbol table.
	(get_64bit_elf_symbols): Likewise.
	(process_section_headers): Use GET_ELF_SYMBOLS to initialise
	symbol count.
	(proces_relocs): Likewise.
	(ia64_process_unwind): Likewise.
	(hppa_process_unwind): Likewise.
	(arm_process_unwind): Likewise.
	(process_dynamic_section): Likewise.
	(process_version_sections): Likewise.
	(process_symbol_table): Likewise.
	(process_section_groups): Likewise.
	Add check before indexing into the symbol table.
	(apply_relocations): Likewise.

2011-10-11  Chris  <player1@onet.eu>

	PR binutils/13051
	Fix a syntax error bug when compiling rc files with the VERSIONINFO resource
	containing more than one language block inside a single StringFileInfo block.

	* windint.h (rc_ver_stringtable): New structure definition.
	(rc_ver_info): Use it.
	* rcparse.y (verstringtable): New variable.
	(verstringtables): New type.
	(verstringtables:): New rule declaration.
	(verblocks:): Use it.
	* resrc.c (append_ver_stringtable): New function.
	(append_ver_stringfileinfo): Update to use stringtables.
	* windres.h (append_ver_stringfileinfo): Update declaration.
	(append_ver_stringtable): New declaration.
	* resrc.c (write_rc_versioninfo): Update to support multiple blocks.
	* resbin.c (bin_to_res_version): Likewise.
	(res_to_bin_versioninfo): Likewise.

2011-10-10  Nick Clifton  <nickc@redhat.com>

	* po/bg.po: Updated Bulgarian translation.
	* po/es.po: Updated Spansih translation.
	* po/fi.po: Updated Finnish translation.
	* po/fr.po: Updated French translation.

2011-10-05  DJ Delorie  <dj@redhat.com>
	    Nick Clifton  <nickc@redhat.com>

	* readelf.c (get_machine_dlags): Add support for RX's PID mode.

2011-10-04  Paul Woegerer  <paul_woegerer@mentor.com>
	    Carlos O'Donell  <carlos@codesourcery.com>

	* dwarf.c (display_debug_lines_decoded): Index directory_table with
	directory_index from file_table entry.

2011-09-30  Cary Coutant  <ccoutant@google.com>

	* binutils/dwarf.h (dwarf_section_display_enum): Add missing enum
	constant.

2011-09-28  Tristan Gingold  <gingold@adacore.com>

	* od-xcoff.c (dump_xcoff32_aout_header): Fix typo.

2011-09-27  Tristan Gingold  <gingold@adacore.com>

	* od-xcoff.c (dump_xcoff32_aout_header): Remove some gettext macros.
	(dump_xcoff32_sections_header): Likewise.
	(dump_xcoff32_symbols, dump_xcoff32_relocs): Likewise.
	(dump_xcoff32_lineno, dump_xcoff32_loader): Likewise.
	(dump_xcoff32_except): Likewise.
	(dump_xcoff32_typchk, dump_xcoff32_tbtags): Likewise.

2011-09-27  Tristan Gingold  <gingold@adacore.com>

	* readelf.c (print_ia64_vms_note): Fix xgettext warnings.

2011-09-22  Tristan Gingold  <gingold@adacore.com>

	* NEWS: Add marker for 2.22.

2011-09-21  David S. Miller  <davem@davemloft.net>

	* MAINTAINER: Take over from Jakub Jalinek as SPARC maintainer.

	* readelf.c (display_sparc_hwcaps): New.
	(display_sparc_gnu_attribute): New.
	(process_sparc_specific): New.
	(process_arch_specific): When EM_SPARC, EM_SPARC32PLUS,
	or EM_SPARCV9 invoke process_sparc_specific.

2011-09-18  H.J. Lu  <hongjiu.lu@intel.com>

	PR binutils/13196
	* dwarf.c (display_debug_aranges): Check zero address size.

2011-09-15  H.J. Lu  <hongjiu.lu@intel.com>

	PR binutils/13180
	* objcopy.c (is_strip_section_1): New.
	(is_strip_section): Use it.  Remove the group section if all
	members are removed.

2011-09-08  Nick Clifton  <nickc@redhat.com>

	* po/ja.po: Updated Japanese translation.

2011-08-26  Nick Clifton  <nickc@redhat.com>

	* po/es.po: Updated Spanish translation.

2011-08-08  Marcus Comstedt  <marcus@mc.pp.se>

	PR binutils/12964
	* Makefile.am (embedspu): Use awk rather than sed.
	* Makefile.in: Regenerate.

2011-07-27  Jan Kratochvil  <jan.kratochvil@redhat.com>

	* dwarf.c (read_and_display_attr_value): Recognize DW_FORM_data4 and
	DW_FORM_data8 as location list pointers only for DWARF < 4.

2011-07-26  Jakub Jelinek  <jakub@redhat.com>

	* NEWS: Mention .debug_macro support.
	* dwarf.c (read_and_display_attr_value): Don't print a tab
	if attribute is 0.
	(get_AT_name): Handle DW_AT_GNU_macros.
	(get_line_filename_and_dirname, display_debug_macro): New
	functions.
	(debug_displays): Add an entry for .debug_macro and .zdebug_macro.
	* readelf.c (process_section_headers): With do_debug_macinfo
	handle also .debug_macro sections.
	* dwarf.h (dwarf_section_display_enum): Add macro.

2011-07-24  Chao-ying Fu  <fu@mips.com>
            Maciej W. Rozycki  <macro@codesourcery.com>

	* readelf.c (get_machine_flags): Handle microMIPS ASE.
	(get_mips_symbol_other): Likewise.

2011-07-22  H.J. Lu  <hongjiu.lu@intel.com>

	* dwarf.c (init_dwarf_regnames): Handle EM_K1OM.

	* elfedit.c (elf_machine): Support EM_K1OM.
	(elf_class): Likewise.

	* readelf.c (guess_is_rela): Handle EM_K1OM.
	(dump_relocations): Likewise.
	(get_machine_name): Likewise.
	(get_section_type_name): Likewise.
	(get_elf_section_flags): Likewise.
	(process_section_headers): Likewise.
	(get_symbol_index_type): Likewise.
	(is_32bit_abs_reloc): Likewise.
	(is_32bit_pcrel_reloc): Likewise.
	(is_64bit_abs_reloc): Likewise.
	(is_64bit_pcrel_reloc): Likewise.
	(is_none_reloc): Likewise.

	* doc/binutils.texi: Mention K1OM for elfedit.

2011-07-11  Cary Coutant  <ccoutant@google.com>

	PR 12983
	* binutils/nm.c (display_file): Decompress debug sections when
	printing line numbers.

2011-07-03  Samuel Thibault  <samuel.thibault@gnu.org>
	    Thomas Schwinge  <thomas@schwinge.name>

	PR binutils/12913
	* elfedit.c (osabis): Use ELFOSABI_GNU name instead of ELFOSABI_LINUX
	alias and ELFOSABI_HURD.  Add GNU alias.
	* readelf.c (get_osabi_name, get_symbol_binding, get_symbol_type):
	Likewise.
	* doc/binutils.texi <elfedit>: Update accordingly.

2011-07-01  Nick Clifton  <nickc@redhat.com>

	PR binutils/12325
	* doc/binutils.texi (ar cmdline): Document --target, --version and
	--help command line options.

2011-06-30  Nick Clifton  <nickc@redhat.com>

	PR binutils/12558
	* ar.c (main): When asked to move members in an archive that is
	being created, ignore the move request.

2011-06-29  Nick Clifton  <nickc@redhat.com>

	* readelf.c (get_section_type_name): When displaying an unknown
	section type display the hex value first on the assumption that
	the full message will probably be truncated into a 15 character
	field.

2011-06-22  Jakub Jelinek  <jakub@redhat.com>

	* dwarf.c (decode_location_expression): For DW_OP_GNU_convert and
	DW_OP_GNU_reinterpret, if uvalue is 0, don't add cu_offset.
	Handle DW_OP_GNU_parameter_ref.

2011-06-16  Tom Tromey  <tromey@redhat.com>

	* dwarf-mode.el (dwarf-do-insert-substructure): Call
	expand-file-name.
	(dwarf-do-refresh): Likewise.

2011-06-15  Ulrich Weigand  <ulrich.weigand@linaro.org>

	* readelf.c (get_note_type): Handle NT_ARM_VFP.

2011-06-13  Walter Lee  <walt@tilera.com>

	* readelf.c: Include tilepro.h and tilegx.h.
	(guess_is_rela): Handle EM_TILEGX and EM_TILEPRO.
	(dump_relocations): Likewise.
	(get_machine_name): Likewise.
	(is_32bit_abs_reloc): Likewise.
	(is_32bit_pcerel_reloc): Likewise.
	(is_64bit_abs_reloc): Likewise.
	(is_64bit_pcrel_reloc): Likewise.

2011-06-09  Tristan Gingold  <gingold@adacore.com>

	* od-xcoff.c (xcoff32_read_symbols): Allow missing string table
	length.

2011-06-08  Nick Clifton  <nickc@redhat.com>

	PR binutils/12855
	* readelf.c (process_version_sections): Handle binaries containing
	corrupt version information.
	(process_symbol_table): Stop processing a symbol's version
	information if it could not be read in.

	(get_data): Add comment describing the function.
	(process_section_headers): Set dynamic_strings_length to 0 if the
	dynamic strings could not be read in.
	(process_dynamic_section): Likewise.
	(process_section_groups): Stop processing the group information if
	the data could not be read in.
	(hppa_processs_unwind): Assert that there is only one string table
	in the file.
	(arm_process_unwind): Likewise.
	(ia64_process_unwind): Likewise.
	Set the size of the unwind auxiliary information to 0 if the data
	could not be read.
	(load_specific_debug_section): Handle a failure to read in the
	section.
	(process_mips_specific): Stop display of the PLT GOT section if it
	could not be read in.

2011-06-08  Tristan Gingold  <gingold@adacore.com>

	* makefile.vms (DEFS): Define OBJDUMP_PRIVATE_VECTORS.

2011-06-07  Cary Coutant  <ccoutant@google.com>

	* dwarf.c: Fix conversion to TU number.

2011-06-02  Nick Clifton  <nickc@redhat.com>

	* resres.c: Fix spelling typo.
	* windint.h: Likewise.
	* windmc.c: Likewise.
	* windres.c: Likewise.
	* po/POTFILES.in: Regenerate.
	* po/binutils.pot: Regenerate.

2011-06-01  Daniel Jacobowitz  <drow@false.org>

	* MAINTAINERS: Update my email address.

2011-05-31  Matthias Klose  <doko@ubuntu.com>

	* configure.in (BUILD_INSTALL_MISC): Only add embedspu once.
	* configure: Regenerate.

2011-05-30  Alan Modra  <amodra@gmail.com>

	PR binutils/12820
	* Makefile.am (bin_PROGRAMS): Move BUILD_INSTALL_MISC to..
	(bin_SCRIPTS): ..here.
	(EXTRA_SCRIPTS): Define.
	(EXTRA_DIST): Add embedspu.sh.
	(DISTCLEANFILES): Add embedspu.
	(embedspu): Depend on Makefile.  Replace sed "s" command with "c".
	* Makefile.in: Regenerate.

2011-05-25  Jakub Jelinek  <jakub@redhat.com>

	* dwarf.c (loc_offsets): New variable.
	(loc_offsets_compar): New routine.
	(display_debug_loc): Handle loc_offsets not being in ascending order
	and also a single .debug_loc entry being used multiple times.

2011-05-18  Nick Clifton  <nickc@redhat.com>

	PR binutils/12753
	* nm.c (filter_symbols): Treat unique symbols as global symbols.
	* doc/binutils.texi (nm): Mention that some lowercase letters
	actually indicate global symbols.

2011-05-15  Tristan Gingold  <gingold@adacore.com>

	* od-xcoff.c: New file.
	* objdump.h: New file.
	* objdump.c: Include objdump.h
	(dump_private_options, objdump_private_vectors): New variables.
	(usage): Mention -P/--private.  Display handled options.
	(long_options): Add -P/--private.
	(dump_target_specific): New function.
	(dump_bfd): Handle dump_private_options.
	(main): Handle -P.
	* doc/binutils.texi (objdump): Document -P/--private.
	* configure.in (OBJDUMP_PRIVATE_VECTORS, OBJDUMP_PRIVATE_OFILES):
	New variables, compute them.
	(od_vectors): Add vectors for private dumpers. Make them uniq.
	(OBJDUMP_DEFS): Add OBJDUMP_PRIVATE_VECTORS.
	* Makefile.am (HFILES): Add objdump.h
	(CFILES): Add od-xcoff.c
	(OBJDUMP_PRIVATE_OFILES): New variable.
	(objdump_DEPENDENCIES): Append OBJDUMP_PRIVATE_OFILES.
	(objdump_LDADD): Ditto.
	(EXTRA_objdump_SOURCES): Define.
	* Makefile.in: Regenerate.
	* configure: Regenerate.

2011-05-10  Tristan Gingold  <gingold@adacore.com>

	* dwarf.c (process_extended_line_op): Dump unknown records.

2011-05-07  Alan Modra  <amodra@gmail.com>

	PR binutils/12632
	* objcopy.c (copy_archive): Check bfd_openw result in unknown object
	case.  Rewrite without goto.

2011-05-03  Jakub Jelinek  <jakub@redhat.com>

	* dwarf.c (decode_location_expression): Handle DW_OP_GNU_const_type,
	DW_OP_GNU_regval_type, DW_OP_GNU_deref_type, DW_OP_GNU_convert
	and DW_OP_GNU_reinterpret.

	* MAINTAINERS: Add myself as DWARF2 maintainer.

2011-05-02  Alan Modra  <amodra@gmail.com>

	PR binutils/12720
	Revert the following change
	Michael Snyder  <msnyder@vmware.com>
	* ar.c (move_members): Plug memory leak.
	(delete_members): Plug memory leak.

2011-04-28  Tom Tromey  <tromey@redhat.com>

	* NEWS: Add note about --dwarf-depth, --dwarf-start, and
	dwarf-mode.el.
	* objdump.c (suppress_bfd_header): New global.
	(usage): Update.
	(OPTION_DWARF_DEPTH, OPTION_DWARF_START): New constants.
	(options): Add dwarf-depth and dwarf-start entries.
	(dump_bfd): Use suppress_bfd_header.
	(main): Handle OPTION_DWARF_START, OPTION_DWARF_DEPTH.
	* doc/binutils.texi (objcopy): Document --dwarf-depth and
	--dwarf-start.
	(readelf): Likewise.
	* dwarf-mode.el: New file.
	* dwarf.c (dwarf_cutoff_level, dwarf_start_die): New globals.
	(read_and_display_attr_value): Also check debug_info_p.
	(process_debug_info): Handle dwarf_start_die and
	dwarf_cutoff_level.
	* dwarf.h (dwarf_cutoff_level, dwarf_start_die): Declare.
	* readelf.c (usage): Update.
	(OPTION_DWARF_DEPTH): New macro.
	(OPTION_DWARF_START): Likewise.
	(options): Add dwarf-depth and dwarf-start entries.
	(parse_args): Handle OPTION_DWARF_START and OPTION_DWARF_DEPTH.

2011-04-28  Jan Kratochvil  <jan.kratochvil@redhat.com>

	* dwarf.c (display_gdb_index): Support version 5, warn on version 4.

2011-04-27  Tristan Gingold  <gingold@adacore.com>

	* dwarf.c (process_extended_line_op): Handle
	DW_LNE_HP_source_file_correlation.

2011-04-27  Nick Clifton  <nickc@redhat.com>

	* po/da.po: Updated Danish translation.

2011-04-21  Tom Tromey  <tromey@redhat.com>

	* readelf.c (print_stapsdt_note): New function.
	(process_note): Use it.

2011-04-21  Tom Tromey  <tromey@redhat.com>

	* readelf.c (get_stapsdt_note_type): New function.
	(process_note): Recognize "stapsdt" notes.

2011-04-21  Tom Tromey  <tromey@redhat.com>

	* readelf.c (process_corefile_note_segment): Change header field
	widths.
	(process_note): Change field widths.

2011-04-21  Tom Tromey  <tromey@redhat.com>

	* readelf.c (print_gnu_note): New function.
	(process_note): Use it.

2011-04-21  Jie Zhang  <jzhang918@gmail.com>

	* MAINTAINERS: Update my email address.

2011-04-11  Kai Tietz  <ktietz@redhat.com>

	* windres.c (usage): Add new --preprocessor-arg option.
	(option_values): Add new OPTION_PREPROCESSOR_ARG enumerator.
	(option long_options): Add preprocessor-arg option.
	(main): Handle it.
	* doc/binutils.texi: Add documentation for --preprocessor-arg
	option.
	* NEWS: Add line about new --preprocessor-arg option for windres.

2011-04-08  John Marino  <binutils@marino.st>

	* arlex.l: Prevent redefinition of YY_NO_UNPUT.
	* syslex.l: Likewise.

2011-04-07  Paul Brook  <paul@codesourcery.com>

	* readelf.c (arm_section_get_word): Handle C6000 relocations.
	(decode_tic6x_unwind_regmask, decode_arm_unwind_bytecode,
	decode_tic6x_unwind_bytecode, expand_prel31): New functions.
	(decode_arm_unwind): Split out common code from ARM specific bits.
	(dump_arm_unwind): Use expand_prel31.
	(arm_process_unwind): Handle SHT_C6000_UNWIND sections.
	(process_unwind): Add SHT_C6000_UNWIND.

2011-04-06  Joseph Myers  <joseph@codesourcery.com>

	* configure.in (thumb-*-pe*): Remove.
	* configure: Regenerate.

2011-04-05  Sterling Augustine  <augustine.sterling@gmail.com>

	* MAINTAINERS: Update my email address.

2011-04-03  H.J. Lu  <hongjiu.lu@intel.com>

	PR binutils/12632
	* objcopy.c (copy_unknown_object): Make the archive element
	readable.

2011-04-03  David S. Miller  <davem@davemloft.net>

	* objdump.c (dump_reloc_set): Output R_SPARC_OLO10 relocations
	accurately, rather than how they are represented internally.

2011-03-31  Tristan Gingold  <gingold@adacore.com>

	* makefile.vms (readelf.exe): New target.

2011-03-31  Tristan Gingold  <gingold@adacore.com>

	* makefile.vms (DEBUG_OBJS): Add elfcomm.obj.

2011-03-31  Bernd Schmidt  <bernds@codesourcery.com>

	* readelf.c (get_symbol_index_type): Handle SCOM for TIC6X.
	(dump_relocations): Likewise.

2011-03-31  Tristan Gingold  <gingold@adacore.com>

	* readelf.c (get_ia64_vms_note_type): New function.
	(print_ia64_vms_note): Ditto.
	(process_note): Recognize VMS/ia64 specific notes.
	Display them.
	(process_corefile_note_segment): Decode VMS notes.

2011-03-30  Catherine Moore  <clm@codesourcery.com>

	* addr2line.c (translate_addresses): Sign extend the pc
	if sign_extend_vma is enabled.

2011-03-30  Michael Snyder  <msnyder@msnyder-server.eng.vmware.com>

	* readelf.c (process_gnu_liblist): Stop memory leak.

2011-03-29  Alan Modra  <amodra@gmail.com>

	* coffdump.c: Include bfd_stdint.h

2011-03-28  Pierre Muller  <muller@ics.u-strasbg.fr>

	* coffdump.c (coff_dump): Correct spelling error.
	(show_usage): Replace SYSROFF by COFF.

2011-03-25  Pierre Muller  <muller@ics.u-strasbg.fr>

	* coffdump.c (dump_coff_scope): Use double typecast for pointer P
	to allow compilation for all targets.

2011-03-25  Pierre Muller  <muller@ics.u-strasbg.fr>

	* dwarf.c (process_debug_info): Use offset_size to determine
	the bit-size of the computation unit's offset.
	(decode_location_expression): Use dwarf_vmatoa function to display
	DW_OP_addr OP.
	(process_debug_info): Use dwarf_vma type for local variables
	length and type_offset.

2011-03-25  Michael Snyder  <msnyder@vmware.com>

	* strings.c (print_strings): Plug memory leak.
	* ar.c (move_members): Plug memory leak.
	(delete_members): Plug memory leak.
	(write_archive): Plug memory leak.
	* ieee.c (ieee_add_bb11): Plug memory leak.
	(ieee_function_type): Likewise.
	(ieee_class_baseclass): Likewise.
	* prdbg.c (pr_function_type): Close memory leaks.
	(pr_method_type): Likewise.
	(tg_class_static_member): Likewise.
	(tg_class_method_variant): Likewise.
	(tg_class_static_method_variant): Likewise.
	* stabs.c (parse_stab_enum_type): Fix memory leaks.
	(parse_stab_struct_type): Likewise.
	(parse_stab_struct_fields): Likewise.
	(parse_stab_one_struct_field): Likewise.
	(parse_stab_members): Likewise.
	(stab_demangle_qualified): Likewise.
	* objdump.c (dump_reloc_set): Free malloced memory.
	* bucomm.c (make_tempname): Stop memory leak.

2011-03-25  Pierre Muller  <muller@ics.u-strasbg.fr>

	Replace bfd_vma type and analog types by dwarf_vma and analogs.
	Use dwarf specific print functions to display these type values.
	* dwarf.h (dwarf_signed_vma): New type;
	(DWARF2_External_LineInfo): Replace bfd_vma by dwarf_vma.
	(DWARF2_External_PubNames): Likewise.
	(DWARF2_External_CompUnit): Likewise.
	(DWARF2_External_ARange): Likewise.
	(read_leb128): Change return type to dwarf_vma.
	* dwarf.c (print_dwarf_vma): Use __MINGW32__ conditional and
	check byte_size values.
	(dwarf_vmatoa): Change parameter type to dwarf_vma.
	(dwarf_svmatoa): New static function.
	(read_leb128): Change return type to dwarf_vma.
	(read_sleb128): New static function.
	(struct State_Machine_Registers): Change address field type to
	dwarf_vma.
	(process_extended_line_op): Adapt to type changes.
	(fetch_indirect_string): Likewise.
	(idisplay_block): 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.
	(SLEB macro): Use new read_sleb128 function.

2011-03-17  Alan Modra  <amodra@gmail.com>

	PR 12590
	* ar.c (ranlib_main): Init arg_index properly.
	(usage): Describe --target.

2011-03-16  Jakub Jelinek  <jakub@redhat.com>

	* dwarf.c (dw_TAG_name): Handle DW_TAG_GNU_call_site_parameter.
	(read_and_display_attr_value): Handle DW_AT_GNU_call_site_data_value,
	DW_AT_GNU_call_site_target and DW_AT_GNU_call_site_target_clobbered.
	(get_AT_name): Handle DW_AT_GNU_call_site_value,
	DW_AT_GNU_call_site_data_value, DW_AT_GNU_call_site_target,
	DW_AT_GNU_call_site_target_clobbered, DW_AT_GNU_tail_call,
	DW_AT_GNU_all_tail_call_sites, DW_AT_GNU_all_call_sites and
	DW_AT_GNU_all_source_call_sites.
	(decode_location_expression) <case DW_OP_GNU_entry_value>: Adjust
	handling.

2011-03-16  Jan Kratochvil  <jan.kratochvil@redhat.com>

	* dwarf.c (get_TAG_name): Handle DW_TAG_GNU_call_site.
	(decode_location_expression): Handle DW_OP_GNU_entry_value.
	(read_and_display_attr_value): Handle DW_AT_GNU_call_site_value.
	(get_AT_name): Likewise.

2011-03-14  Michael Snyder  <msnyder@vmware.com>

	* objcopy.c (set_pe_subsystem): Free subsystem.

	* wrstabs.c (stab_start_struct_type): Close memory leak.

	* readelf.c (process_version_sections): Free symbols.

	* nm.c (display_rel_file): Free symsizes.

2011-03-10  Nick Clifton  <nickc@redhat.com>

	* readelf.c (get_machine_name): Update EM_V850 entry.

2011-03-03  Mike Frysinger  <vapier@gentoo.org>

	* objdump.c (usage): Fix single typo.
	* po/bg.po, po/binutils.pot, po/da.po, po/es.po, po/fi.po,
	po/fr.po, po/id.po, po/ja.po, po/ru.po, po/vi.po: Likewise.

2011-03-01  Akos Pasztory  <akos.pasztory@gmail.com>

	PR binutils/12523
	* readelf.c (process_object): Clear dynamic_info_DT_GNU_HASH.

2011-02-28  Kai Tietz  <kai.tietz@onevision.com>

	* debug.c (debug_start_source): Use filename_(n)cmp.
	* ieee.c (ieee_finish_compilation_unit): Likewise.
	(ieee_lineno): Likewise.
	* nlmconv.c (main): Likewise.
	* objcopy.c (strip_main): Likewise.
	(copy_main): Likewise.
	* objdump.c (show_line): Likewise.
	(dump_reloc_set): Likewise.
	* srconv.c (main): Likewise.
	* wrstabs.c (stab_lineno): Likewise.

2011-02-24  Zachary T Welch  <zwelch@codesourcery.com>

	* readelf.c (decode_arm_unwind): Implement decoding of remaining
	ARM unwind instructions (i.e. VFP/NEON and Intel Wireless MMX).

2011-02-23  Kai Tietz  <kai.tietz@onevision.com>

	* dwarf.c (read_leb128): Use bfd_vma instead of
	long type.
	(dwarf_vmatoa): New helper routine.
	(process_extended_line_op): Use for adr bfd_vma
	type and print those typed values via BFD_VMA_FMT
	or via dwarf_vmatoa for localized prints.
	(fetch_indirect_string): Adjust offset's type.
	(decode_location_expression): Adjust argument types
	and uvalue type.
	(read_and_display_attr_value): Likewise.
	(read_and_display_attr): Likewise.
	(decode_location_expression): Adjust printf format.
	(process_debug_info): Likewise.
	(display_debug_lines_raw): Likewise.
	(display_debug_lines_decoded): Likewise.
	(display_debug_pubnames): Likewise.
	(display_debug_loc): Likewise.
	(display_debug_aranges): Likewise.
	* dwarf.h (DWARF2_External_LineInfo,
	DWARF2_Internal_LineInfo, DWARF2_External_PubNames,
	DWARF2_Internal_PubNames, DWARF2_External_CompUnit,
	DWARF2_Internal_CompUnit, DWARF2_External_ARange,
	DWARF2_Internal_ARange): Added..
	(read_leb128): Adjust return type.

2011-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* configure: Regenerate.

2011-02-08  Nick Clifton  <nickc@redhat.com>

	PR binutils/12467
	* readelf.c (process_program_headers): Issue a warning if there
	are no program headers but the file header has a non-zero program
	header offset.
	(process_section_headers): Issue a warning if there are no section
	headers but the file header has a non-zero section header offset.
	(process_section_groups): Reword the no section message so that it
	can be distinguished from the one issued by process_section_headers.

2011-01-26  Jan Kratochvil  <jan.kratochvil@redhat.com>
	    Doug Evans  <dje@google.com>

	* dwarf.c (display_gdb_index): Support version 4, warn on version 3.

2011-01-19  Maciej W. Rozycki  <macro@codesourcery.com>

	* readelf.c (process_object): Free dynamic_section after use.

2011-01-18  H.J. Lu  <hongjiu.lu@intel.com>

	PR binutils/12408
	* readelf.c (process_archive): Free and reset dump_sects
	after processing each archive member.

2011-01-11  Andreas Schwab  <schwab@redhat.com>

	* readelf.c (print_symbol): Handle symbol characters as unsigned.
	Whitespace fixes.

2011-01-10  Nick Clifton  <nickc@redhat.com>

	* po/da.po: Updated Danish translation.

2011-01-06  Vladimir Siminov  <sv@sw.ru>

	* bucomm.c (get_file_size): Check for negative sizes and issue a
	warning message if encountered.

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

	* version.c (print_version): Update copyright to 2011.

For older changes see ChangeLog-2010

Copyright (C) 2011 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:
