2008-10-31  Alan Modra  <amodra@bigpond.net.au>

	* po/id.po: New file.
	* configure.in (ALL_LINGUAS): Add id.
	* configure: Regenerate.

2008-10-21  Alan Modra  <amodra@bigpond.net.au>

	* windmc.c (res_alloc): Remove unnecessary cast.
	* windres.c (res_alloc, reswr_alloc): Likewise.

2008-10-20  Nick Clifton  <nickc@redhat.com>

	* readelf.c: Tidy up code formatting.

2008-10-10  Nathan Froyd  <froydnj@codesourcery.com>

	* readelf.c (display_power_gnu_attribute): Decode
	Tag_GNU_Power_ABI_Struct_Return.

2008-10-10  Alan Modra  <amodra@bigpond.net.au>

	* embedspu.sh: Pass -Wa,-noexecstack to $CC.

2008-10-09  Kai Tietz  <kai.tietz@onevision.com>

	* dlltool.c (PAGE_SIZE): Make sure it has bfd_vma type.
	(PAGE_MASK): Likewise.
	(sfunc): Change to address size of bfd_vma for base-file.
	(flush_page): Likewise.
	(gen_exp_file): Likewise.

2008-10-07  Jan Kratochvil  <jan.kratochvil@redhat.com>

	* readelf.c (process_section_headers): Do not cut the section names and
	types if running with --wide.

2008-10-06  Tom Tromey  <tromey@redhat.com>

	* dwarf.c (display_debug_frames): Change text for uniformity.
	(process_debug_info): Likewise.
	(display_debug_aranges): Likewise.  Indent address output.
	(display_debug_pubnames): Print offset in hex.

2008-10-02  Andrew Paprocki  <andrew@ishiboo.com>

	PR 6934
	* stabs.c (parse_stab_string): Parse and ignore =Y<name> strings
	generated by the SUNPro C++ compiler.

2008-09-30  Andrew Paprocki  <andrew@ishiboo.com>

	PR 6922
	* stabs.c (parse_stab_sun_builtin_type): Parse, but ignore SUN's
	'b' and 'v' extensions.

2008-09-29  Peter O'Gorman  <pogma@thewrittenword.com>
	    Steve Ellcey  <sje@cup.hp.com>

	* configure: Regenerate for new libtool.
	* aclocal.m4: Ditto.
	* Makefile.in: Ditto.
	* doc/Makefile.in: Ditto.

2008-09-28  Alan Modra  <amodra@bigpond.net.au>

	* objcopy.c (setup_section): Set elf_group_id.

2008-09-24  Richard Henderson  <rth@redhat.com>

	* dwarf.c (size_of_encoded_value, get_encoded_value): Move up.
	(decode_location_expression): Add section parameter.  Handle
	DW_OP_GNU_encoded_addr.
	(read_and_display_attr_value): Update decode_location_expression call.
	(display_debug_loc, display_debug_frames): Likewise.

2008-09-25  Alan Modra  <amodra@bigpond.net.au>

	PR 6913
	* dwarf.c (print_dwarf_vma): Don't call printf without format string.

2008-09-17  Jan Kratochvil  <jan.kratochvil@redhat.com>

	Suppress warnings on NONE relocations to discarded sections.
	* readelf.c (is_none_reloc): New function.
	(debug_apply_relocations): Ignore is_none_reloc() relocations.

2008-09-11  Jan Kratochvil  <jan.kratochvil@redhat.com>

	Fix loading large elf64 binaries on 32bit hosts.
	* configure.in: Call AC_SYS_LARGEFILE.
	* config.in: Regenerate.
	* configure: Regenerate.

2008-09-11  Alan Modra  <amodra@bigpond.net.au>

	* po/sv.po: Update.

2008-09-08  Tristan Gingold  <gingold@adacore.com>

	* BRANCHES: Add 2.18 and 2.19 release branches.

2008-09-08  Tristan Gingold  <gingold@adacore.com>

	* NEWS: Add a marker for the 2.19 features.

2008-09-05  Daniel Jacobowitz  <dan@codesourcery.com>

	* readelf.c (load_specific_debug_section): New function, from
	load_debug_section.
	(load_debug_section): Use load_specific_debug_section.
	(display_debug_section): Use load_specific_debug_section.  Check for
	multiple sections with the same name.

2008-08-28  Tristan Gingold  <gingold@adacore.com>

	* objdump.c (dump_stabs): Add sections for Darwin.

2008-08-25  Alan Modra  <amodra@bigpond.net.au>

	* sysdep.h: Include "binary-io.h".
	(O_BINARY): Don't define here.
	* bin2c.c (O_BINARY, O_TEXT, SET_BINARY): Don't define here.
	* strings.c: Likewise.
	(main): Remove #ifdef SET_BINARY.
	* Makefile.am: Run "make dep-am"
	* Makefile.in: Regenerate.

2008-08-24  Alan Modra  <amodra@bigpond.net.au>

	* configure.in: Update a number of obsolete autoconf macros.
	* configure: Regenerate.
	* aclocal.m4: Regenerate.

2008-08-21  Richard Henderson  <rth@redhat.com>

	* readelf.c (is_32bit_pcrel_reloc): Fix hppa entry.
	(is_64bit_pcrel_reloc): New.
	(debug_apply_relocations): Use it.  Handle hppa pcrel bias.

2008-08-15  Alan Modra  <amodra@bigpond.net.au>

	PR 6526
	* configure.in: Invoke AC_USE_SYSTEM_EXTENSIONS.
	* Makefile.in: Regenerate.
	* aclocal.m4: Regenerate.
	* config.in: Regenerate.
	* configure: Regenerate.
	* doc/Makefile.in: Regenerate.

2008-08-09  Alan Modra  <amodra@bigpond.net.au>

	PR 6615
	* rename.c (smart_rename): Punctuate error messages.

2008-08-08  Richard Sandiford  <rdsandiford@googlemail.com>
	    Daniel Jacobowitz  <dan@codesourcery.com>
	    Catherine Moore  <clm@codesourcery.com>
	    Mark Shinwell  <shinwell@codesourcery.com>

	* readelf.c (get_mips_symbol_other): Handle STO_MIPS_PLT and
	STO_MIPS_PIC.
	(slurp_rela_relocs, slurp_rel_relocs): Handle MIPS ELF64 here.
	(dump_relocations, debug_apply_relocations): Don't handle it here.
	(get_mips_dynamic_type): Handle DT_MIPS_PLTGOT and DT_MIPS_RWPLT.
	(print_mips_pltgot_entry): New function.
	(process_mips_specific): Dump the PLT GOT.

2008-08-08  Alan Modra  <amodra@bigpond.net.au>

	* readelf.c (is_64bit_abs_reloc): Return true for R_MIPS_64.

2008-08-06  Alan Modra  <amodra@bigpond.net.au>

	PR 6774
	* objcopy.c (copy_object): Don't setup_bfd_headers when extract_symbol.
	(setup_section): Don't zero vma and lma when extract_symbol.
	(copy_section): Discard relocations when extract_symbol.
	* doc/binutils.texi: Update --extract-symbol description.

2008-08-04  Alan Modra  <amodra@bigpond.net.au>

	* Makefile.am (POTFILES.in): Set LC_ALL=C.
	* Makefile.in: Regenerate.

2008-08-04  Markus Weiss  <weissms@aros.org>

	* readelf.c (get_osabi_name <ELFOSABI_AROS>): Change name.

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

	* dwarf.c (dwarf_regnames_i386): Remove AVX registers.
	(dwarf_regnames_x86_64): Likewise.

2008-07-30  Alan Modra  <amodra@bigpond.net.au>

	* dlltool.c, dwarf.c, objdump.c, readelf.c, resrc.c, resres.c,
	windmc.c: Silence gcc warnings.

2008-07-28  Alan Modra  <amodra@bigpond.net.au>

	* readelf.c (print_vma): Typo fix.

2008-07-28  Alan Modra  <amodra@bigpond.net.au>

	PR 6769
	* readelf.c (print_dec_vma, print_hex_vma): Delete.
	(print_vma): Use BFD_VMA_FMT.
	* size.c (size_number, rprint_number): Likewise.

2008-07-26  Michael Eager <eager@eagercon.com>

	* readelf.c (display_power_gnu_attribute): Display
	single-precision hard float.

2008-07-21  Luis Machado  <luisgpm@br.ibm.com>

	* readelf.c (get_note_type): Handle VSX notes.

2008-07-15  H.J. Lu  <hongjiu.lu@intel.com>

	* objdump.c (load_debug_section): Initialize section_is_compressed 
	for gcc 3.4/ia64.
	* readelf.c (load_debug_section): Likewise.

2008-07-12  Jie Zhang  <jie.zhang@analog.com>

	Revert
	2008-07-12  Jie Zhang  <jie.zhang@analog.com>
	* readelf.c (get_machine_flags): Deal with Blackfin specific
	flags.

2008-07-12  Jie Zhang  <jie.zhang@analog.com>

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

2008-07-09  Craig Silverstein  <csilvers@google.com>

	* config.in: Add HAVE_ZLIB_H
	* configure.in: Add test for libz and zlib.h
	* configure: Regenerate.
	* dwarf.c (debug_displays): Add .zdebug_* strings.
	* dwarf.h (struct dwarf_section): Add fields uncompressed_namd
	and compressed_name.
	* objdump.c (load_debug_section): Call
	bfd_uncompress_section_contents when loading a compressed
	section.
	(dump_dwarf_section): Recognize compressed section name.
	(mach_o_dwarf_sections): Rename as
	mach_o_uncompressed_dwarf_sections.
	(mach_o_compressed_dwarf_sections): New variable.
	(generic_dwarf_section): Rename as
	generic_uncompressed_dwarf_sections.
	(generic_compressed_dwarf_sections): New variable.
	(check_mach_o_dwarf): Save and restore
	mach_o_compressed_dwarf_sections.
	* readelf.c: Add #include for config.h and zlib.h
	(process_section_headers): Recognize compressed section name.
	(uncompress_section_contents): New function.
	(load_debug_section): Call uncompress_section_contents when
	loading a compressed section.
	(display_debug_section): Recognize compressed section name.

2008-07-07  Alan Modra  <amodra@bigpond.net.au>

	* objdump.c (find_symbol_for_address): Prefer symbols in current
	section.

2008-07-07  Alan Modra  <amodra@bigpond.net.au>

	* ieee.c (write_ieee_debugging_info): Use bfd_make_section_with_flags.
	* nlmconv.c (main, powerpc_build_stubs): Likewise.
	* rescoff.c (write_coff_file): Likewise.
	* resres.c (write_res_file): Likewise.
	* windmc.c (windmc_write_bin): Likewise.

2008-06-18  M R Swami Reddy <MR.Swami.Reddy@nsc.com>

	* readelf.c (guess_is_rela): Add EM_CR16_OLD.
	(dump_relocations): Likewise.
	(get_machine_name): Likewise.
	(is_32bit_abs_reloc): Likewise.

2008-06-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* configure: Regenerate.

2008-06-12  DJ Delorie  <dj@redhat.com>

	* readelf.c (guess_is_rela): Add EM_M32C_OLD.
	(dump_relocations): Likewise.
	(process_section_headers): Likewise.
	(is_32bit_abs_reloc): Likewise.
	(is_16bit_abs_reloc): Likewise.

2008-06-12  Nick Clifton  <nickc@redhat.com>

	PR binutils/6483
	* objdump.c (dump_bfd): If the -g option found no STABS or IEEE
	debug information to display, try dumping DWARF information
	instead.
	* rddbg.c (read_debugging_info): Add a parameter to suppress the
	display of a warning message when no debug information is found.
	* budbg.h (read_debugging_info): Update prototype.
	* objcopy.c (copy_object): Continue to allow read_debugging_info
	to produce warning messages.
	* doc/binutils.texi (--debugging): Document new behaviour of the
	-g/--debugging option.

2008-06-10  Ben Elliston  <bje@gnu.org>

	* MAINTAINERS: Remove myself as m68k maintainer.

2008-05-14  Alan Modra  <amodra@bigpond.net.au>

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

2008-05-12  Alan Modra  <amodra@bigpond.net.au>

	* embedspu.sh: Test for presence of ._ea by looking at section
	table rather than looking at relocs.  Correct toe_addr substitution.

2008-05-08  Alan Modra  <amodra@bigpond.net.au>

	* embedspu.sh: Take note of R_SPU_PPU32/64 relocs without a symbol,
	and if present, put image in ".data.speelf".  Put program handle
	in ".data.spehandle".

2008-05-01  Nick Clifton  <nickc@redhat.com>

	* readelf.c (print_symbol): Add code to display non-printing
	characters.

2008-04-30  John Heidemann  <johnh@isi.edu>

	* doc/binutils.texi (strings): Add "unicode" to the documentation
	of strings in order to make explicit that it supports this
	feature.

2008-04-30  Alan Modra  <amodra@bigpond.net.au>

	* readelf.c (process_program_headers): Correct section in segment
	display.

2008-04-28  M Thomas  <mthomas@rhrk.uni-kl.de>
	    Nick Clifton  <nickc@redhat.com>

	PR binutils/6449
	* objdump.c (slurp_file): Open the file in binary mode.
	* ar.c: Remove conditional definition of O_BINARY.
	* bin2.c: Likewise.
	* rename.c: Likewise.
	* strings.c: Likewise.
	* sysdep.h: Add conditional definition of O_BINARY.

2008-04-23  Paolo Bonzini  <bonzini@gnu.org>

	* aclocal.m4: Regenerate.
	* configure: Regenerate.

2008-04-16  Jean-Yves Lefort  <jylefort@brutele.be>

	PR binutils/6034
	* objcopy.c (stuct symlist): Rename to
	is_specified_symbol_predicate_data.
	(strip_specific_list): Rename to strip_specific_htab.
	(strip_unneeded_list): Rename to strip_unneeded_htab.
	(keep_specific_list):  Rename to keep_specific_htab.
	(localize_specific_list): Rename to localize_specific_htab.
	(globalize_specific_list): Rename to globalize_specific_htab.
	(keepglobal_specific_list): Rename to keepglobal_specific_htab.
	(weaken_specific_list): Rename to weaken_specific_htab.
	(eq_string): New function.
	(create_symbol_htab): New function.
	(create_symbol_htabs): New function.
	(add_specific_symbol): Change to use hash tables.
	(is_specified_symbol_predicate): New function.
	(is_specified_symbol): Use hash table lookup.
	(is_strip_section): Update to use new functions and hash tables.
	(filter_symbols): Likewise.
	(copy_object): Likewise.
	(copy_section): Likewise.
	(strip_main): Likewise.
	(copy_main): Likewise.
	(main): Likewise.

2008-04-14  David S. Miller  <davem@davemloft.net>

	* readelf.c (get_gnu_elf_note_type): Recognize NT_GNU_GOLD_VERSION.

2008-04-11  Torleif Sandnes  <torleif.sandnes@gmail.com>

	* dwarf.c (display_debug_lines): Rename to
	display_debug_lines_raw.
	(display_debug_lines_decoded): New function.  Displays the
	interpreted contents of a .debug_line section.
	(display_debug_lines): New function: Selects either a raw dump or
	a decoded dump (or both) as requested by the user.
	* dwarf.h (do_debug_lines_decoded): New extern.
	* readelf.c: Add support for -wL or --debug-dump=decodedline
	option to display the decoded contents of a .debug_line section.
	* doc/binutils.texi: Document the new option.
	* NEWS: Mention the new feature.

2008-04-08  Alan Modra  <amodra@bigpond.net.au>

	* dwarf.c: Remove trailing whitespace throughout file.

2008-04-04  Nick Clifton  <nickc@redhat.com>

	* po/sk.po: Updated Slovak translation.

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

	* dwarf.c (dwarf_regnames_i386): Add AVX registers.
	(dwarf_regnames_x86_64): Likewise.

2008-03-27  Cary Coutant <ccoutant@google.com>

	Add support for thin archives.
	* ar.c (make_thin_archive): New global flag.
	(map_over_members): Deal with full pathnames in thin archives.
	(usage, main): Add 'T' option for building thin archives.
	(replace_members): Pass thin archive flag to ar_emul_append.
	* arsup.c (ar_open): Initialize new flag.
	* binemul.c (ar_emul_append): Add new parameter for
	flattening nested archives.
	(do_ar_emul_default_append): New function.
	(ar_emul_default_append): Factored out recursive code.
	* binutils/binemul.h (ar_emul_default_append): Add new parameter.
	(struct bin_emulation_xfer_struct): New parameter for ar_append.
	* dlltool.c (gen_lib_file): Initialize thin archive flag.
	* emul_aix.c (ar_emul_aix_internal): Add new flatten
	parameter, currently unimplemented.
	All callers changed.
	* objcopy.c (copy_archive): Preserve thin archive flag.
	* doc/binutils.texi: Update ar documentation.
	* NEWS: Mention the new feature.

2008-03-20  H.J. Lu  <hongjiu.lu@intel.com>

	* readelf.c (process_mips_specific): Declare addr_size as int.

2008-03-20  Richard Sandiford  <rsandifo@nildram.co.uk>

	* readelf.c (print_mips_got_entry): New function.
	(process_mips_specific): Print GOT information.

2008-03-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* aclocal.m4: Regenerate.
	* configure: Likewise.
	* Makefile.in: Likewise.
	* doc/Makefile.in: Likewise.

2008-03-16  Brian Dessent  <brian@dessent.net>

	* rcparse.y (resid): Allow control text to span multiple lines.

2008-03-13  Alan Modra  <amodra@bigpond.net.au>

	* readelf.c: Use %u throughout when printing sh_link or sh_info,
	%lu when printing sh_addralign.
	(process_version_sections): Use identical formats when printing
	all offset and sh_link fields.

2008-03-13  Alan Modra  <amodra@bigpond.net.au>

	* Makefile.am: Run "make dep-am".
	* Makefile.in: Regenerate.
	* doc/Makefile.in: Regenerate.
	* configure: Regenerate.

2008-03-12  Alan Modra  <amodra@bigpond.net.au>

	PR 5900
	* readelf.c (SECTION_HEADER_INDEX, SECTION_HEADER_NUM): Delete.
	Remove use throughout file.
	(SECTION_HEADER): Likewise.
	(dump_relocations): Don't adjust st_shndx for reserved range.
	(process_file_header): Mask SHN_XINDEX to values seen in external
	elf structs.  Simplify valid section index tests.
	(get_32bit_elf_symbols, get_64bit_elf_symbols): Mask SHN_XINDEX.
	Map reserved st_shndx to internal form.
	(process_section_groups): Test that group symbol st_shndx is in
	range, not just non-zero.  Delete reserved range check.
	(get_symbol_index_type): Mask "type" to 16 bits when printing PRC,
	OS or RSV.

2008-03-09  Paul Brook  <paul@codesourcery.com>

	* readelf.c (arm_attr_tag_VFP_arch): Add "VFPv3-D16".

2008-03-03  James E. Wilson  <wilson@tuliptree.org>

	* MAINTAINERS: Update my email address.

2008-03-03  Nick Clifton  <nickc@redhat.com>

	* dwarf.c (decode_location_expression): Handle
	DW_OP_PGI_omp_thread_num.

2008-03-01  Alan Modra  <amodra@bigpond.net.au>

	* objdump.c (objdump_print_addr): Initialise "sym".

2008-02-27  Justin Pryzby  <justinpryzby@users.sourceforge.net>
	    Nick Clifton  <nickc@redhat.com>

	* ar.c (usage): Mention -t command line switch.
	* doc/binutils.texi (ranlib): Document -t command line switch.

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

	* objdump.c (objdump_print_addr): If displaying file offsets, show
	the offset even if there are no symbols available.
	(dump_section): Display nothing if none of the section is going to
	be dumped.  Display the file offset, if requested, of the location
	from where the dump starts.
	* doc/binutils.texi (objdump): Mention that dumping via the -s
	switch is also affected by the -F option.

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

	Re-apply this patch which was accidentally deleted:
	2006-05-16  Carlos O'Donell  <carlos@codesourcery.com>

	* doc/binutils.texi: Use "Binutils Index" for index name.

2008-02-22  Nick Clifton  <nickc@redhat.com>

	* objdump.c (display_file_offsets): New variable.
	(long_options): Add -F/--file-offsets.
	(objdump_print_addr_with_sym): If displaying file offsets, print
	the offset of the given address.
	(disassemble_bytes): If displaying file offsets, tell the user how
	many zeroes are skipped and the file offset of the point where
	dumping resumes.
	(disassemble_section): Only display the name of the section if
	data is going to be dumped from it.
	(main): Handle new option.  Produce error messages if the start or
	stop addresses do not make sense.
	* doc/binutils.texi: Document the new feature.
	* NEWS: Mention the new feature.

2008-02-15  Chu Li  <chul@cn.fujitsu.com>
	    Nick Clifton  <nickc@redhat.com>

	PR binutils/5713
	* strings.c (integer_arg): Delete function.
	(string_min): Initialise to 4.
	(main): Use strtoul to parse integer arguments.
	Move check for an invalid string length to after all the arguments
	have been parsed.
	(usage): Use indentation to indicate that -<n> is a another form
	of the --bytes= command line option.

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

	* dlltool.c (mcore_elf_cache_filename): Add a const qualifier to
	the argument.
	(scan_obj_filename): Do not drop the const qualifier when calling
	mcore_elf_cache_filename.
	(struct fname_cache): Add const qualifier to filename field.

2008-02-08  H.J. Lu  <hongjiu.lu@intel.com>

	PR binutils/5713
	* strings.c (main): Set string_min to 4 if it is <= 0.

2008-02-07  Alan Modra  <amodra@bigpond.net.au>

	* objdump.c (main): Don't pass unadorned NULL to concat.

2008-02-04  H.J. Lu  <hongjiu.lu@intel.com>

	PR 5715
	* configure: Regenerated.

2008-02-03  Adam Nemet  <anemet@caviumnetworks.com>

	* readelf.c (get_machine_flags): Handle Octeon.

2008-01-30  Tristan Gingold  <gingold@adacore.com>

	* readelf.c (dump_relocations): Decode OpenVMS-specific sections.
	(get_ia64_dynamic_type): Decode OpenVMS-specific tags.
	(get_dynamic_type): Handle IA64-specific tags.
	(get_ia64_section_type_name): Handle OpenVMS-specific sections.
	(get_section_type_name): Handle OS-specific sections (and
	particularly IA64 OpenVMS one).
	(get_elf_section_flags): Makes flags static.  Add entries for IA64 and
	decode them.

2008-01-29  Nick Clifton  <nickc@redhat.com>

	* dwarf.c (print_dwarf_vma): New function.  Display the value of a
	dwarf_vma type at a specified precision.  Use mingw field type
	specifier if necessary.
	(display_debug_loc): Use dwarf_vma type for begin and end values.
	Use print_dwarf_vma to display their values.  Use byte_get_signed
	in order to correctly detect the -1 escape value.
	(display_debug_aranges): Likewise.
	(display_debug_ranges): Likewise.

2008-01-29  Alan Modra  <amodra@bigpond.net.au>

	* dwarf.c (display_debug_loc): Correct test for base address
	entry when 64-bit host dumping 32-bit object.

2008-01-29  Alan Modra  <amodra@bigpond.net.au>

	* MAINTAINERS: Remove myself as ix86 maintainer.  Add for SPU.

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

	PR binutils/5529
	* rclex.c (yylex): Also allow the hypen character.

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

	* dwarf.c: Include "elf/common.h".
	(eh_addr_size): Changed to int.
	(dwarf_regnames_i386): New.
	(dwarf_regnames_x86_64): Likewise.
	(dwarf_regnames): Likewise.
	(dwarf_regnames_count): Likewise.
	(init_dwarf_regnames): Likewise.
	(regname): Likewise.
	(frame_display_row): Properly support different address size.
	Call regname to get register name.
	(display_debug_frames): Call regname to get register name.
	Display DW_CFA_def_cfa_register as DW_CFA_def_cfa_register
	instead of DW_CFA_def_cfa_reg.

	* dwarf.h (init_dwarf_regnames): New.

	* objdump.c: Include "elf-bfd.h".
	(dump_dwarf): Call init_dwarf_regnames on ELF input.

	* readelf.c (guess_is_rela): Change argument to int.
	(parse_args): Remove the undocumented upper case options for
	-wX.
	(process_file_header): Call init_dwarf_regnames.

2008-01-25  DJ Delorie  <dj@redhat.com>

	* readelf.c (process_section_headers): Add m16c handler.
	(is_16bit_abs_reloc): Recognize R_M32C_16.

2008-01-25  Kai Tietz  <kai.tietz@onevision.com>

	* prdbg.c: Correct formatter style use.
	* readelf.c: Likewise.
	* strings.c: Likewise.

2008-01-25  Nick Clifton  <nickc@redhat.com>

	* po/ru.po: Updated Russian translation.

2008-01-17  H.J. Lu  <hjl.tools@gmail.com>

	* MAINTAINERS: Update my email address.

2008-01-14  Nick Clifton  <nickc@redhat.com>

	* dwarf.c (process_debug_info): Include the CU offset and corrupt
	version value when reporting unrecognised DWARF version numbers.
	(load_debug_info): Remember a failed attempt to load and parse the
	.debug_info section and do not repeat such attempts.
	(display_debug_lines): Check the return value from load_debug_info
	and return whilst displaying a warning message if the load failed.
	(display_debug_loc): Likewise.
	(display_debug_ranges): Likewise.
	(DEBUG_INFO_UNAVAILABLE): Value stored in num_debug_info_entries
	when the .debug_info section could not be loaded/parsed.
	(process_debug_info): Display the length of the compilation unit
	in hex, so that it corresponds with the offsets that will follow.
	Tell the user if the length was 32-bit or 64-bit.
	If a DIE abbreviation could not be found, tell the user the offset
	of the DIE.
	(free_debug_memory): Do not attempt to free any entries in the
	debug_information array if num_debug_info_entries is set to
	DEBUG_INFO_UNAVAILABLE.

2008-01-10  Andreas Schwab  <schwab@suse.de>

	* readelf.c (is_64bit_abs_reloc): Handle R_S390_64.

2008-01-09  Jakub Zawadzki  <darkjames@darkjames.ath.cx>

	PR binutils/55326
	* bucomm.c (list_supported_architectures): Free architecture list
	after use.
	* windres.c (set_endianess): Likewise.
	* windmc.c (set_endianess): Likewise.

2008-01-08  Kai Tietz  <kai.tietz@onevision.com>

	PR binutils/5529
	* binutils/rclex.c: (yylex): Add ':', '_', '\\', and '/' to post
	characters for name tokens.

2008-01-04  Greg McGary  <greg@mcgary.org>

	* prdbg.c (print_vma): Print as long long, if host supports it.

2008-01-03  Nick Clifton  <nickc@redhat.com>

	* dwarf.c (read_and_display_attr_value): Prefix values that are
	displayed in hexadecimal with 0x.
	For the DW_AT_import attribute display the abbreviation number and
	tag of the imported DIE.
	(process_debug_info): Warn about lengths that reserved by the
	DWARF3 specification.
	Provide more information when corrupted DIEs are detected.
	Warn if DIE corruption makes the sibling level negative.

For older changes see ChangeLog-2007

Local Variables:
mode: change-log
left-margin: 8
fill-column: 74
version-control: never
End:
