2010-12-15  Kai Tietz  <kai.tietz@onevision.com>

	* dwarf.c (display_gdb_index): Fix printf types for
	used formatters.

2010-12-12  Peter Breitenlohner  <peb@mppmu.mpg.de>

	PR binutils/12306
	* doc/binutils.texi: Fix typos in elfedit documentation.

2010-12-10  Alan Modra  <amodra@gmail.com>

	* binemul.h (do_ar_emul_append): Declare.
	* binemul.c (any_ok): New function.
	(do_ar_emul_append): Rename from do_ar_emul_default_append.  Make
	global, add check arg.  Adjust callers.
	(ar_emul_default_replace): Tidy.
	* configure.tgt (powerpc-*-aix[5-9]*,rs6000-*-aix[5-9]*): Use
	bin_aix_emulation.
	* emul_aix.c (bin_aix5_emulation, ar_emul_aix_internal): Delete.
	(ar_emul_aix5_append, ar_emul_aix5_replace): Delete.
	(check_aix): New function.
	(ar_emul_aix_append, ar_emul_aix_replace): Rewrite.

2010-12-09  Mike Frysinger  <vapier@gentoo.org>

	* .gitignore: New file.

2010-12-08  Alan Modra  <amodra@gmail.com>

	* ar.c: Formatting.
	(usage): Correct help strings.
	(decode_options): Correct getopt_long short options.  Remove
	duplicate non-handled option message.
	(main): Don't handle -M specially.

2010-12-08  Arnaud Lacombe  <lacombar@gmail.com>

	* ar.c (long_options): Add target.
	(decode_options): Handle the --target option.
	(open_inarch): Check for plugin's target, default to --target
	(replace_members): Use generic `target'.

	* ar.c (operation): New global variable.
	(show_version): Likewise.
	(show_help): Likewise.
	(long_options): Likewise.
	(usage): Fix help string argument order.
	(decode_options): New.
	(ranlib_main): Use getopt_long.
	(main): Use decode_options.

	* ar.c (main): Split ranlib path.
	(ranlib_usage): New
	(ranlib_main): New

2010-12-03  Doug Evans  <dje@google.com>

	* dwarf.c: #include "bfd_stdint.h".
	(do_gdb_index): New global.
	(display_gdb_index): New function.
	(dwarf_select_sections_by_names) Add "gdb_index".
	(dwarf_select_sections_all): Set do_gdb_index.
	(debug_displays): Add .gdb_index.
	* dwarf.h (do_gdb_index): Declare.
	* objdump.c (usage): Add gdb_index.
	* readelf.c (usage): Add gdb_index.
	(process_section_headers): Process ".gdb_index".
	* doc/binutils.texi (readelf): Document gdb_index dump.
	(objdump): Ditto.

2010-12-01  Kai Tietz  <kai.tietz@onevision.com>

	PR binutils/11065
	* dlltool.c (dll_name_set_by_exp_name): New variable.
	(def_name): Allow setting of dll_name by .def file.
	(def_library): Likewise.
	(main): Set dll_name_set_by_exp_name, if dll_name is
	set indirect by exp_name.

2010-11-26  Alan Modra  <amodra@gmail.com>

	* dwarf.c (decode_location_expression, display_debug_frames): Move
	code handling DW_EH_PE_pcrel into..
	(get_encoded_value): ..here.

2010-11-26  Alan Modra  <amodra@gmail.com>

	* po/ja.po: Update.

2010-11-25  Alan Modra  <amodra@gmail.com>

	* po/bg.po: Update.
	* po/es.po: Update.
	* po/fi.po: Update.
	* po/ja.po: Update.
	* po/ru.po: Update.
	* po/zh_CN.po: Update.

2010-11-21  H.J. Lu  <hongjiu.lu@intel.com>

	PR binutils/12235
	* elfcomm.c: New.
	* elfcomm.h: Likewise.

	* Makefile.am (HFILES): Add elfcomm.h.
	(CFILES): Add elfcomm.c.
	(ELFLIBS): New.
	(readelf_SOURCES): Add $(ELFLIBS).
	(elfedit_SOURCES): Likewise.
	(objdump_SOURCES): Likewise.
	* Makefile.in: Regenerated.

	* dwarf.c: Include "elfcomm.h".
	(byte_get): Removed.
	(byte_get_little_endian): Likewise.
	(byte_get_big_endian): Likewise.
	(byte_get_signed): Likewise.
	(error): Likewise.
	(warn): Likewise.

	* dwarf.h (dwarf_vma): Defined with HOST_WIDEST_INT.
	(dwarf_size_type): Likewise.
	(byte_get): Removed.
	(byte_get_signed): Likewise.
	(byte_get_little_endian): Likewise.
	(byte_get_big_endian): Likewise.
	(error): Likewise.
	(warn): Likewise.

	* elfedit.c: Include "elfcomm.h".  Don't include "aout/ar.h".
	Call error () instead of non_fatal ().
	(streq): Removed.
	(strneq): Likewise.
	(const_strneq): Likewise.
	(non_fatal): Likewise.
	(BYTE_GET): Likewise.
	(BYTE_PUT): Likewise.
	(byte_get): Likewise.
	(byte_put): Likewise.
	(byte_get_little_endian): Likewise.
	(byte_get_big_endian): Likewise.
	(byte_put_little_endian): Likewise.
	(byte_put_big_endian): Likewise.
	(adjust_relative_path): Likewise.
	(archive_info): Likewise.
	(setup_archive): Likewise.
	(release_archive): Likewise.
	(setup_nested_archive): Likewise.
	(get_archive_member_name): Likewise.
	(get_archive_member_name_at): Likewise.
	(make_qualified_name): Likewise.

	* objdump.c: Include "elfcomm.h".

	* readelf.c: Include "elfcomm.h".  Don't include "aout/ar.h".
	(BYTE_GET): Removed.
	(BYTE_GET_SIGNED): Removed.
	(streq): Likewise.
	(strneq): Likewise.
	(const_strneq): Likewise.
	(byte_put): Likewise.
	(byte_put_little_endian): Likewise.
	(byte_put_big_endian): Likewise.
	(adjust_relative_path): Likewise.
	(archive_info): Likewise.
	(setup_archive): Likewise.
	(release_archive): Likewise.
	(setup_nested_archive): Likewise.
	(get_archive_member_name): Likewise.
	(get_archive_member_name_at): Likewise.
	(make_qualified_name): Likewise.

2010-11-18  Alan Modra  <amodra@gmail.com>

	PR binutils/11742
	* readelf.c (get_archive_member_name): Formatting.  Properly
	handle full size ar_name.

2010-11-17  Alan Modra  <amodra@gmail.com>

	* ar.c (print_contents): Don't internationalize strings without words.
	* dwarf.c (process_extended_line_op): Likewise.
	(process_debug_info): Likwise.
	(display_debug_lines_raw): Likewise.
	(display_debug_lines_decoded): Likewise.
	(display_debug_abbrev): Likewise.
	* readelf.c (process_file_header): Likewise.
	(GET_OP): Likewise.
	(decode_arm_unwind): Likewise.
	(process_mips_specific): Likewise.
	* resrc.c (run_cmd): Likewise.
	(rcparse_warning): Likewise.
	* objdump.c (dump_headers): Don't print "Pg".

2010-11-16  Jorma Karvonen  <karvonen.jorma@gmail.com>

	* windmc.c: ,%s' -> `%s' in a number of strings.

2010-11-16  Jie Zhang  <jie.zhang@analog.com>

	* readelf.c (get_machine_flags): Deal with Blackfin specific flags.

2010-11-11  Mingming Sun  <mingm.sun@gmail.com>

	* readelf.c (get_machine_flags): Add loongson-3a.

2010-11-10  Nick Clifton  <nickc@redhat.com>

	* po/ja.po: Updated Japanese translation.
	* po/fr.po: Updated French translation.

2010-11-08  Nick Clifton  <nickc@redhat.com>

	* po/ja.po: Updated Japanese translation.

2010-11-08  Alan Modra  <amodra@gmail.com>

	* objcopy.c (copy_main): No need to rename sections when compressing
	or decompressing.

2010-11-05  Alan Modra  <amodra@gmail.com>

	* bin2c.c: Remove internationalization and version report.
	* Makefile.am: Update bin2c rule.
	* Makefile.in: Regenerate.

2010-11-05  Tristan Gingold  <gingold@adacore.com>

	* po/binutils.pot: Regenerate

2010-11-05  Tristan Gingold  <gingold@adacore.com>

	* NEWS: Add marker for 2.21.

2010-11-02  H.J. Lu  <hongjiu.lu@intel.com>

	* objdump.c (dump_bfd_header): Don't display
	BFD_FLAGS_FOR_BFD_USE_MASK bits in abfd->flags.

2010-11-02  Joseph Myers  <joseph@codesourcery.com>

	* readelf.c (display_tic6x_attribute): Handle more attributes.

2010-10-30  Kai Tietz  <kai.tietz@onevision.com>

	* dlltool.c (scan_drectve_symbols): Allow quoted strings for -export
	directives.

2010-10-29  Joseph Myers  <joseph@codesourcery.com>

	* readelf.c (display_tic6x_attribute): Use Tag_ABI_compatibility
	not hardcoded 32.  Display name of this attribute.

2010-10-29  H.J. Lu  <hongjiu.lu@intel.com>

	* addr2line.c (process_file): Set BFD_DECOMPRESS.

	* objcopy.c (do_debug_sections): New.
	(OPTION_COMPRESS_DEBUG_SECTIONS): New.
	(OPTION_DECOMPRESS_DEBUG_SECTIONS): Likewise.
	(copy_options): Add OPTION_COMPRESS_DEBUG_SECTIONS and
	OPTION_DECOMPRESS_DEBUG_SECTIONS.
	(copy_usage): Add --compress-debug-sections and
	--decompress-debug-sections.
	(copy_file): Set BFD_COMPRESS or BFD_DECOMPRESS.
	(copy_section): Replace bfd_get_section_contents with
	bfd_get_full_section_contents.
	(copy_main): Handle OPTION_COMPRESS_DEBUG_SECTIONS and
	OPTION_DECOMPRESS_DEBUG_SECTIONS.  Check do_debug_sections to
	rename DWARF debug sections.

	* objdump.c (load_specific_debug_section): Replace
	bfd_get_section_contents with bfd_get_full_section_contents.
	Remove bfd_uncompress_section_contents.
	(dump_section): Replace bfd_get_section_contents with
	bfd_get_full_section_contents.
	(display_file): Set BFD_DECOMPRESS if needed.

	* readelf.c (uncompress_section_contents): Set buffer to NULL
	to indiate decompression failure.
	(load_specific_debug_section): Always call
	uncompress_section_contents.

	* doc/binutils.texi: Document --compress-debug-sections and
	--decompress-debug-sections.

2010-10-29  Nick Clifton  <nickc@redhat.com>

	PR binutils/12058
	* ar.c (usage): Revert previous change.  Describe how 's' can be
	used as a command letter.
	* doc/binutils.texi (ar cmdline): Describe how 's' can be used as
	a command letter.

2010-10-29  Bernd Schmidt  <bernds@codesourcery.com>
            Joseph Myers  <joseph@codesourcery.com>

	* readelf.c (display_tic6x_attribute): Handle Tag_ABI_DSBT.

2010-10-28  Nick Clifton  <nickc@redhat.com>

	PR binutils/12058
	* ar.c (usage): Remove spurious 's' from list of accepted command
	letters.

2010-10-28  Alan Modra  <amodra@gmail.com>

	* readelf.c (is_32bit_abs_reloc): Support i960 and microblaze.
	(is_32bit_pcrel_reloc): Support microblaze.

2010-10-26  Nick Clifton  <nickc@redhat.com>

	* po/ja.po: Updated Japanese transaltion.

2010-10-21  Joseph Myers  <joseph@codesourcery.com>

	* readelf.c (display_tic6x_attribute): Update for attribute
	renaming.

2010-10-08  H.J. Lu  <hongjiu.lu@intel.com>

	* dwarf.c (byte_get_signed): Make it extern.

	* dwarf.h (byte_get_signed): New.

	* readelf.c (BYTE_GET_SIGNED): New.
	(slurp_rela_relocs): Use BYTE_GET_SIGNED on r_addend.
	(dump_relocations): Properly dump r_addend.

2010-10-08  Joseph Myers  <joseph@codesourcery.com>

	* nm.c (value_format_64bit): Define appropriately for __MSVCRT__.
	(set_print_radix): Update for __MSVCRT__ definition of
	value_format_64bit.

2010-10-08  Pierre Muller  <muller@ics.u-strasbg.fr>

	Fix build with -DDEBUG=7
	* nlmheader.y (DEBUG token): Rename to DEBUG_K.

2010-10-06  Alan Modra  <amodra@gmail.com>

	* bucomm.c (bfd_nonfatal, bfd_nonfatal_message): Don't clobber errno.

2010-10-05  Alan Modra  <amodra@gmail.com>

	* bucomm.c (bfd_nonfatal): Flush stdout before output to stderr.
	(bfd_nonfatal_message, report, list_matching_formats): Likewise.
	(list_supported_targets): Tidy.
	* objdump.c (free_only_list): Formatting.
	(slurp_dynamic_symtab): Non-zero exit status for "not a dynamic
	object".
	(update_source_path): Delete redundant check for NULL filename.
	(disassemble_bytes): Error if disassemble_fn returns a value
	that won't increment address.
	(disassemble_data): Don't capitalize error message.
	(read_section_stabs): Likewise.
	(main): Return non-zero exit status on bad options.

2010-10-03  H.J. Lu  <hongjiu.lu@intel.com>

	PR binutils/12088
	* nm.c (plugin_target): New.
	(main): Set plugin_target to "plugin" for --plugin.
	(display_file): Pass plugin_target to bfd_openr if target
	isn't set.

2010-09-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* configure: Regenerate.

2010-09-22  Mike Frysinger  <vapier@gentoo.org>

	* MAINTAINERS: Add self as ADI Blackfin maintainer.

2010-09-17  H.J. Lu  <hongjiu.lu@intel.com>

	* emul_aix.c (ar_emul_aix_append): Add a target argument
	and ignore it if it is set.
	(ar_emul_aix5_append): Likewise.
	(ar_emul_aix_replace): Likewise.
	(ar_emul_aix5_replace): Likewise.

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

	* ar.c (plugin_target): New.
	(main): Set plugin_target to "plugin" for --plugin.
	(open_inarch): Initialize target to plugin_target.
	(replace_members): Pass plugin_target to ar_emul_replace
	and ar_emul_append.

	* binemul.h (ar_emul_append): Add a target argument.
	(ar_emul_default_append): Likewise.
	(ar_emul_replace): Likewise.
	(ar_emul_default_replace): Likewise.
	(bin_emulation_xfer_struct): Add a target argument to
	ar_append and ar_replace.

	* binemul.c (ar_emul_append): Updated.  Pass target to bfd_openr.
	(do_ar_emul_default_append): Likewise.
	(ar_emul_default_append): Likewise.
	(ar_emul_replace): Likewise.
	(ar_emul_default_replace): Likewise.

2010-09-10  Ben Gardiner  <bengardiner@nanometrics.ca>

	* objcopy.c: Add --interleave-width option to allow interleaving
	of more than one byte at a time.
	(copy_width): New variable.
	(copy_options): Add --interleave-width.
	(copy_section): When interleaving copy in units of copy_width
	bytes.
	(copy_main): Parse the new option.
	* doc/binutils: Document the new option.
	* NEWS: Mention the new feature.

2010-09-09  Jakub Jelinek  <jakub@redhat.com>

	* dwarf.c (decode_location_expression): Fix data adjustment
	for DW_OP_GNU_implicit_pointer in v3+.

2010-09-09  Tristan Gingold  <gingold@adacore.com>

	* NEWS: Add entry to NEWS for hppa/som.

2010-09-09  Jakub Jelinek  <jakub@redhat.com>

	* dwarf.h (debug_info): Add offset_info and dwarf_version fields.
	* dwarf.c (decode_location_expression): Add offset_size and
	dwarf_version arguments.  Prefix DIE offset with 0x for
	DW_OP_call{2,4,_ref}.  Fix up DW_OP_call_ref operand size,
	complain if in frame info section.  Handle
	DW_OP_GNU_implicit_pointer.
	(read_and_display_attr_value, display_debug_loc,
	display_debug_frames): Adjust decode_location_expression callers.
	(process_debug_info): Save offset_size and dwarf_version values
	into debug_information array.

2010-09-07  Nick Clifton  <nickc@redhat.com>

	* readelf.c (process_section_headers): Mention meaning of 'l'
	section flag for x86-64 targets.

2010-09-03  Jan Kratochvil  <jan.kratochvil@redhat.com>
	    Jakub Jelinek  <jakub@redhat.com>

	* dwarf.c (regname): New declaration.
	(decode_location_expression): Print for registers also regname output.

2010-09-02  Richard Henderson  <rth@redhat.com>

	* dwarf.c (init_dwarf_regnames_i386, init_dwarf_regnames_x86_64): New.
	(init_dwarf_regnames): Use them.
	* dwarf.h: Declare them.
	* objdump.c (dump_dwarf): Use bfd_get_arch + bfd_get_mach to set up
	the regnames, rather than using elf_machine_code.

2010-09-02  Richard Henderson  <rth@redhat.com>

	* objdump.c (dump_dwarf): Use bfd_arch_bits_per_address.

2010-08-23  H.J. Lu  <hongjiu.lu@intel.com>

	* elfedit.c (input_elf_osabi): New.
	(output_elf_osbi): Likewise.
	(osabis): Likewise.
	(elf_osabi): Likewise.
	(update_elf_header): Support updating ELF OSABI.
	(make_qualified_name): Break long line.
	(command_line_switch): Add OPTION_INPUT_OSABI and
	OPTION_OUTPUT_OSABI.
	(options): Likewise.
	(usage): Add --input-osabi and --output-osabi.
	(main): Handle OPTION_INPUT_OSABI and OPTION_OUTPUT_OSABI.

	* doc/binutils.texi: Document --input-osabi and --output-osabi
	for elfedit.

2010-08-23  Maciej W. Rozycki  <macro@codesourcery.com>

	* readelf.c (display_mips_gnu_attribute): Replace GCC options
	with a textual description of a MIPS32r2 64-bit FPU.

2010-08-13  Dan Rosenberg  <dan.j.rosenberg@gmail.com>

	PR binutils/11889
	* readelf.c (get_32bit_elf_symbols): Check for a corrupt
	sh_entsize.
	(get_64bit_elf_symbols): Likewise.
	(process_symbol_table): Likewise.
	(process_section_groups): Check for corrupt headers.
	(process_version_sections): Check for corrupt indicies.
	(process_corefile_note_segment): Likewise.

2010-08-13  Nathan Sidwell  <nathan@codesourcery.com>

	* readelf.c (get_machine_flags): Detect CF ISA C and EMAC_B
	variants.

2010-08-13  Tom Tromey  <tromey@redhat.com>

	* dwarf.c (process_debug_info): Don't subtract section address
	when calculating location of cu abbrev within section.

2010-08-12  Michael Haubenwallner  <haubi@gentoo.org>

	PR binutils/11742
	* readelf.c (get_archive_member_name): Do not read beyond the end
	of the ar_name field.

2010-08-03  Tristan Gingold  <gingold@adacore.com>

	* dwarf.c (display_debug_lines): Mark file argument unused.
	Do not try to load .debug_info section.

2010-08-02  Alan Modra  <amodra@gmail.com>

	* readelf.c (apply_relocations): D30V is really REL.

2010-07-23  Naveen.H.S  <naveen.S@kpitcummins.com>
	    Ina Pandit  <ina.pandit@kpitcummins.com>

	* binutils/readelf.c: Add support for V850E2 and V850E2V3.

2010-07-22  Alan Modra  <amodra@gmail.com>

	* readelf.c: Add Moxie support.

2010-07-20  Alan Modra  <amodra@gmail.com>

	* readelf.c (process_program_headers): Don't ignore all zero size
	sections.

2010-07-19  Andreas Schwab  <schwab@redhat.com>

	* readelf.c (process_section_headers): Update key to flags.

2010-07-17  Dave Korn  <dave.korn.cygwin@gmail.com>

	* objcopy.c (copy_usage): Tweak previous typofix.

2010-07-17  H.J. Lu  <hongjiu.lu@intel.com>

	* objcopy.c (copy_usage): Fix a typo.

2010-07-15  Kai Tietz <kai.tietz@onevision.com>

	* dllwrap.c (main): Make sure is_leading_underscore
	gets initialized with correct default.

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

	* readelf.c (uncompress_section_contents): Avoid gcc-4.6 warning.

2010-07-03  Cary Coutant  <ccoutant@google.com>

	* objdump.c (load_specific_debug_section): Decompress section contents
	before applying relocations.
	* readelf.c (load_specific_debug_section): Update section size after
	decompression.

2010-06-29  Alan Modra  <amodra@gmail.com>

	PR binutils/3166
	* objcopy.c (is_strip_section): Revert 2006-09-05.
	(setup_section): Make SHT_GROUP section nobits.

2010-06-29  Alan Modra  <amodra@gmail.com>

	* configure: Regenerate.
	* po/POTFILES.in: Regenerate.

2010-06-27  Alan Modra  <amodra@gmail.com>

	* resbin.c (res_to_bin_accelerator): Delete set but unused variables.

2010-06-17  Nick Clifton  <nickc@redhat.com>

	PR binutils/11711
	* windres.c (enum option_values): New enum.
	(long_options): Use separate option number for --include-dir
	option.
	(main): Separate backwards compatibility check from code to
	implement --include-dir.  Check to see if directory exists and do
	not complain if it does.

2010-06-15  Joseph Myers  <joseph@codesourcery.com>

	* readelf.c (display_tic6x_attribute, process_tic6x_specific):
	New.
	(process_arch_specific): Call process_tic6x_specific for
	EM_TI_C6000.

2010-06-11  H.J. Lu  <hongjiu.lu@intel.com>

	* readelf.c (dump_ia64_vms_dynamic_fixups): Cast to unsigned long
	for 0x%lx.

2010-06-11  Tristan Gingold  <gingold@adacore.com>
	    Doug Rupp <rupp@gnat.com>

	* readelf.c (is_ia64_vms): New function.
	(dump_relocations): Use it.
	(get_machine_flags): Display IA-64 OpenVMS flags.
	(process_program_headers): No error on OpenVMS if no .dynamic section.
	(struct ia64_vms_dynfixup, struct ia64_vms_dynimgrela): New
	declarations.
	(dump_ia64_vms_dynamic_fixups): New function.
	(dump_ia64_vms_dynamic_relocs): Ditto.
	(process_ia64_vms_dynamic_relocs): Ditto.
	(process_relocs): Handle IA-64 OpenVMS relocs.
	(VMS_EPOCH_OFFSET, VMS_GRANULARITY_FACTOR): New macros.
	(print_vms_time): New function.
	(dynamic_section_ia64_val): Handle DT_IA_64_VMS_LINKTIME and
	DT_IA_64_VMS_LNKFLAGS.
	(get_ia64_symbol_other): New function.
	(get_symbol_other): Handle EM_IA_64.

2010-06-11  Tristan Gingold  <gingold@adacore.com>

	* unwind-ia64.c (unw_print_abreg): Add const to special_reg.
	(UNW_DEC_ABI): Ditto for abiname.
	(unw_decode_table): Make it const.

2010-06-10  Tristan Gingold  <gingold@adacore.com>

	* readelf.c (slurp_ia64_unwind_table): IA64 rela relocations are
	not inplace.

2010-05-25  Daniel Jacobowitz  <dan@codesourcery.com>
	    Joseph Myers  <joseph@codesourcery.com>
	    Andrew Stubbs  <ams@codesourcery.com>

	* readelf.c (get_machine_flags): Handle EF_SH_PIC and EF_SH_FDPIC.

2010-05-25  Jay Krell  <jay.krell@cornell.edu>

	PR ld/11621
	* Makefile.am: Replace all occurences of .o with .@OBJEXT@
	* Makefile.in: Regenerate.

2010-05-24  Tristan Gingold  <gingold@adacore.com>

	* readelf.c (usage): Add new trace sections for --debug-dump.
	(process_section_headers): Handle dump of trace sections.
	* objdump.c (usage): Add new trace sections for --dwarf.
	* dwarf.h (do_trace_info, do_trace_abbrevs): New variables.
	(do_trace_aranges): Ditto.
	(enum dwarf_section_display_enum): Add trace_info, trace_abbrev
	and trace_aranges literals.
	* dwarf.c (do_trace_info, do_trace_abbrevs): New variables.
	(do_trace_aranges): Ditto.
	(process_debug_info): Add abbrev_sec argument and replace
	abbrev with abbrev_sec.
	(load_debug_info): Adjust call of process_debug_info.
	(display_debug_info): Ditto.
	(display_trace_info): New function.
	(dwarf_select_sections_by_names): Add trace_info, trace_abbrevs
	and trace_aranges sections name.
	(dwarf_select_sections_all): Also select trace sections.
	(debug_displays): Reindent.  Add entries for the trace sections.
	* doc/binutils.texi (readelf): Document new --dwarf parameters.
	(objdump): Ditto.

2010-05-18  H.J. Lu  <hongjiu.lu@intel.com>

	PR gas/11600
	* readelf.c (get_elf_section_flags): Treat SHF_EXCLUDE as a
	generic flag.

2010-05-07  Tristan Gingold  <gingold@adacore.com>

	* Makefile.in: Regenerate with automake 1.11.1.
	* aclocal.m4: Ditto.
	* doc/Makefile.in: Ditto.

2010-05-06  H.J. Lu  <hongjiu.lu@intel.com>

	* dwarf.c (init_dwarf_regnames): Handle EM_L1OM.
	* readelf.c (get_elf_section_flags): Likewise.
	(process_section_headers): Likewise.

2010-05-05  Nick Clifton  <nickc@redhat.com>

	* po/es.po: Updated Spanish translation.

2010-04-27  Kai Tietz  <kai.tietz@onevision.com>

	* dlltool.c (main): Query for bfd's underscoring default for
	default target case.

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

	* po/ru.po: Updated Russian translation.

2010-04-23  Alan Modra  <amodra@gmail.com>

	* readelf.c (process_program_headers): Replace use of
	ELF_IS_SECTION_IN_SEGMENT_MEMORY with ELF_SECTION_IN_SEGMENT.

2010-04-22  Nick Clifton  <nickc@redhat.com>

	* po/binutils.pot: Updated by the Translation project.
	* po/fi.po: Updated Finnish translation.
	* po/vi.po: Updated Vietnamese translation.
	* po/bg.po: New Bulgarian translation.
	* configure.in (ALL_LINGUAS): Add bg.
	* configure: Regenerate.

2010-04-20  Nick Clifton  <nickc@redhat.com>

	* po/fr.po: Updated french translation.

2010-04-20  Nick Clifton  <nickc@redhat.com>

	* readelf.c: Add _() macros to constant strings that are
	translatable.

	* readelf.c (display_mips_gnu_attribute): Replace GCC options
	with a textual description of single and double precision float.

2010-04-15  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>

	* readelf.c (arm_attr_tag_FP_arch): Rename from arm_attr_tag_VFP_arch.
	(arm_attr_tag_ABI_align8_needed): Remove.
	(arm_attr_tag_ABI_align8_preserved): Remove.
	(arm_attr_tag_ABI_HardFP_use): Update text strings.
	(arm_attr_public_tags): Add strings for ABI v2.08 attribute tags.
	(display_arm_attribute): Add decoding of ABI v2.08 attributes.

2010-04-13  Nick Clifton  <nickc@redhat.com>

	PR binutils/11419
	* dwarf.c (process_debug_info): Initialise the signature array.

2010-04-09  Nick Clifton  <nickc@redhat.com>

	* dwarf.c (process_debug_info): Remove unused variable
	cu_abbrev_offset_ptr.
	(display_debug_lines_decoded): Remove unused variable prev_line.
	* elfedit.c (process_archive): Remove unused variable
	file_name_size.
	* ieee.c (ieee_start_compilation_unit): Remove unused variable
	nindx.
	(ieee_set_type): Remove unused variables info, targetindx and
	baseindx.
	* objdump.c (disassmble_byte): Remove unused variable done_dot.
	* rddbg.c (read_section_stabs_debugging_info): Remove unused
	variable other.
	* readelf.c (dump_section_as_strings): Remove unused variable
	addr.
	(process_archive): Remove unused variable file_name_size.
	* stabs.c (parse_stab_string): Mark desc parameter as unused.
	Remove unused variable lineno.
	(parse_stab_struct_type): Remove unused variable orig.
	(stab_demangle_type): Remove unused variables constp, volatilep
	and hold.

2010-04-07  Alan Modra  <amodra@gmail.com>

	* configure: Regenerate.

2010-04-06  Nick Clifton  <nickc@redhat.com>

	* po/vi.po: Updated Vietnamese translation.

2010-04-05  Jakub Jelinek  <jakub@redhat.com>

	* dwarf.c (struct Frame_Chunk): Add ptr_size and segment_size
	fields.
	(display_debug_frames): Handle CIE version 4.

	* dwarf.c (struct State_Machine_Registers): Add op_index field,
	change end_sequence type to unsigned char.
	(reset_state_machine): Clear op_index.
	(process_extended_line_op): For DW_LNE_set_address clear op_index.
	(display_debug_lines_raw): Initialize li_max_ops_per_insn.
	Track op_index state machine register and print it if
	li_max_ops_per_insn is != 1.
	(display_debug_lines_decoded): Likewise.

2010-04-01  Jakub Jelinek  <jakub@redhat.com>

	* dwarf.c (read_and_display_attr_value): Don't reject
	dwarf_version == 4.  Handle DW_FORM_sec_offset, DW_FORM_flag_present
	and DW_FORM_exprloc.
	(process_debug_info): Handle cu_version == 4.
	(display_debug_lines_raw, display_debug_lines_decoded): Handle
	li_version == 4.

2010-03-30  Andreas Schwab  <schwab@linux-m68k.org>

	* Makefile.am (CONFIG_STATUS_DEPENDENCIES): Define.
	* Makefile.in: Regenerate.

2010-03-25  Joseph Myers  <joseph@codesourcery.com>

	* MAINTAINERS: Add self as TI C6X maintainer.
	* NEWS: Add news entry for TI C6X support.
	* readelf.c: Include elf/tic6x.h.
	(guess_is_rela): Handle EM_TI_C6000.
	(dump_relocations): Likewise.
	(get_tic6x_dynamic_type): New.
	(get_dynamic_type): Call it.
	(get_machine_flags): Handle EF_C6000_REL.
	(get_osabi_name): Handle machine-specific values only for relevant
	machines.  Handle C6X values.
	(get_tic6x_segment_type): New.
	(get_segment_type): Call it.
	(get_tic6x_section_type_name): New.
	(get_section_type_name): Call it.
	(is_32bit_abs_reloc, is_16bit_abs_reloc, is_none_reloc): Handle
	EM_TI_C6000.

2010-03-25  Thomas Schwinge  <thomas@codesourcery.com>

	* doc/binutils.texi (readelf) <unwind information>: Mention support for
	ARM unwind tables.

2010-03-18  H.J. Lu  <hongjiu.lu@intel.com>

	* readelf.c (decode_arm_unwind): Increase buf size to 9 byte.

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

	* readelf.c (dump_arm_unwind): Warning fix.

2010-03-16  Daniel Jacobowitz  <dan@codesourcery.com>

	* MAINTAINERS: Update my email address.  List Tristan Gingold
	as the release branch maintainer.

2010-03-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* readelf.c (get_ver_flags): Handle VER_FLG_INFO.

2010-03-02  Daniel Jacobowitz  <dan@codesourcery.com>

	* NEWS: Document .ARM.exidx / .ARM.extab support.

	* dwarf.c (read_leb128): Make non-static.
	* dwarf.h (read_leb128): Declare.
	* readelf.c (REMOVE_ARCH_BITS): Define.
	(find_section_by_address): New.
	(read_uleb128): Move higher.  Use read_leb128 from dwarf.c.
	(find_symbol_for_address): Handle the Thumb bit for ARM, by
	using REMOVE_ARCH_BITS.
	(struct arm_section, struct arm_unw_aux_info, arm_print_vma_and_name)
	(arm_free_section, arm_section_get_word, decode_arm_unwind)
	(dump_arm_unwind, arm_process_unwind): New.
	(process_unwind): Handle ARM.

2010-02-26  Jie Zhang  <jie@codesourcery.com>

	* MAINTAINERS: Update my email address.

2010-02-23  Peter Breitenlohner  <peb@mppmu.mpg.de>

	PR binutils/11298
	* doc/binutils.texi (windmc): Fix synopsis and description of
	ASCII options.

2010-02-19  Alan Modra  <amodra@gmail.com>

	* readelf.c (get_group_flags): Return empty string when flags zero.
	Add space in other returned values.
	(process_section_groups): Adjust format string.

2010-02-18  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>

	* readelf.c (arm_attr_tag_Advanced_SIMD_arch): Add description of
	newly permitted attribute values.
	(arm_attr_tag_Virtualization_use): Likewise.
	(arm_attr_tag_DIV_use): Add description of new attribute.
	(arm_attr_tag_MPextension_use_legacy): Likewise.

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

	* po/vi.po: Updated Vietnamese translation.

2010-02-09  Michael Holzheu  <holzheu@de.ibm.com>

	* readelf.c (get_note_type): Handle NT_S390_TIMER, NT_S390_TODCMP,
	NT_S390_TODPREG, NT_S390_CTRS and NT_S390_PREFIX.

2010-02-08  Jim Blandy  <jimb@red-bean.com>

	* dwarf.c (display_debug_frames): Skip the 'S' character in CFI
	'z' augmentation strings.

2010-02-08  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-02-02  H.J. Lu  <hongjiu.lu@intel.com>

	* readelf.c (get_note_type): Handle NT_X86_XSTATE.

2010-02-01  Nathan Sidwell  <nathan@codesourcery.com>

	* objcopy.c (copy_object): Set SEC_LINKER_CREATED when adding
	sections.

2010-01-28  Nick Clifton  <nickc@redhat.com>

	PR 11225
	* objdump.c (only): Replace with linked list.
	(only_size, only_used): Replace with only_list.
	(process_section_p): Set seen field on matches sections.
	(add_only): New function.
	(free_only_list): New function.
	(disassemble_section): Check only_list.
	(main): Use add_only and free_only_list.

2010-01-26  Tristan Gingold  <gingold@adacore.com>

	* Makefile.am (bin2c): Add libintl dependance and library.
	* Makefile.in: Regenerate.

2010-01-21  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	* readelf.c (get_machine_flags): Handle EF_S390_HIGH_GPRS.

2010-01-19  Ian Lance Taylor  <iant@google.com>

	* objcopy.c (copy_main): Rewrite OPTION_ADD_SECTION code to work
	with non-ordinary files like /dev/null.

2010-01-19  Daisuke Hatayama  <d.hatayama@jp.fujitsu.com>
	    Alan Modra <amodra@gmail.com>

	* readelf.c (process_file_header): Handle e_phnum extension.

2010-01-14  Tristan Gingold  <gingold@adacore.com>

	* dwarf.c (get_AT_name): Handle DW_AT_use_GNAT_descriptive_type
	and DW_AT_GNAT_descriptive_type.

2010-01-13  Tristan Gingold  <gingold@adacore.com>

	* ar.c (main): Use lbasename.
	(normalize): Ditto.
	* objdump.c (update_source_path): Ditto.

2010-01-12  Tristan Gingold  <gingold@adacore.com>

	* makefile.vms (CFLAGS): Turns warnings into informational messages.

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

	PR ld/11146
	* NEWS: Mention --dyn-syms for readelf.

	* readelf.c (do_dyn_syms): New.
	(OPTION_DYN_SYMS): Likewise.
	(options): Add "dyn-syms".
	(usage): Add --dyn-syms.
	(parse_args): Handle OPTION_DYN_SYMS.
	(process_symbol_table): Handle do_dyn_syms.
	(process_object): Likewise.
	(process_archive): Likewise.

	* doc/binutils.texi: Document --dyn-syms for readelf.  Mention
	symbol hash tables for -D.

2010-01-11  Nick Clifton  <nickc@redhat.com>

	* NEWS: Mention addition of elfedit.

	* po/fi.po: Updated Finnish translation.

2010-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* Makefile.in: Regenerate.
	* configure: Regenerate.
	* doc/Makefile.in: Regenerate.

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

	* version.c (print_version): Change to "Copyright 2010".

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

	* elfedit.c (input_elf_type): New.
	(output_elf_type): Likewise.
	(elf_type): Likewise.
	(update_elf_header): Support updating ELF file type.
	(command_line_switch): Add OPTION_INPUT_TYPE and
	OPTION_OUTPUT_TYPE.
	(options): Likewise.
	(usage): Add --input-type and --output-type.
	(main): Handle OPTION_INPUT_TYPE and OPTION_OUTPUT_TYPE.  Check
	one of --output-mach and --output-type must be specified.

	* doc/binutils.texi: Document --input-type and --output-type
	for elfedit.

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

	* doc/binutils.texi: Fix a typo.

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

	* elfedit.c (update_elf_header): Don't change input_elf_class
	nor input_elf_machine if they are -1.

2010-01-08  Tristan Gingold  <gingold@adacore.com>

	* ar.c: Remove bfd_special_undocumented_glue prototype.

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

	* elfedit.c (update_elf_header): Reformat.

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

	* readelf.c (usage): Fix indent for --symbols.

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

	* doc/binutils.texi: Replace -histogram with --histogram.

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

	PR binutils/11131
	* Makefile.am (ELFEDIT_PROG): New.
	(bin_PROGRAMS): Add $(ELFEDIT_PROG).
	(CFILES): Add elfedit.c.
	(elfedit_DEPENDENCIES): New.
	(elfedit_SOURCES): Likewise.
	(elfedit_LDADD): Likewise.
	* Makefile.in: Regenerated.

	* elfedit.c: New.

	* doc/binutils.texi: Document elfedit.

	* doc/Makefile.am (man_MANS): Add elfedit.1.
	(elfedit.1): New.
	* doc/Makefile.in: Regenerated.

2010-01-06  Tristan Gingold  <gingold@adacore.com>

	* nm.c (usage): Remove extra blanks.

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

	* objcopy.c: Update copyright.
	* readelf.c: Likewise.

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

	PR binutils/11130
	* objcopy.c (copy_object): Remove "Warning: " from error
	message.

2010-01-04  Nick Clifton  <nickc@redhat.com>

	PR 11128
	* readelf.c (dump_section_as_strings): Use two separate
	invocations of printf() in order to work around bugs in
	the Solaris 8 implementation.

2010-01-04  Nick Clifton  <nickc@redhat.com>

	* po/ru.po: Updated Russian translation.

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