2005-09-02  Ulrich Drepper  <drepper@redhat.com>

	* strings.c (main): Reset elfmap variable afte rmunmap call.
	[_MUDFLAP] (map_file): Simplify mudflap debugging by not using mmap.

2005-08-28  Ulrich Drepper  <drepper@redhat.com>

	* ranlib.c: Don't define pread_retry and write_retry here.

	* Makefile.an [BUILD_STATIC] (libdw): Add -ldl.
	(CLEANFILES): Add *.gcno *.gcda *.gconv.

	* strings.c (process_chunk): Reorder expressions in conditional
	(process_chunk_mb): Likewise.

	* strings.c: New file.
	* Makefile.am (bin_PROGRAMS): Add strings.
	(strings_no_Wstring): Define.
	(strings_LDADD): Define.

2005-08-27  Roland McGrath  <roland@redhat.com>

	* addr2line.c (dwarf_diename_integrate): Function removed.
	(print_dwarf_function): Use plain dwarf_diename.

2005-08-24  Ulrich Drepper  <drepper@redhat.com>

	* elflint.c (check_versym): Versioned symbols should not have
	local binding.

2005-08-15  Ulrich Drepper  <drepper@redhat.com>

	* elflint.c (check_versym): Allow VER_NDX_LOCAL symbols to be
	undefined.

	* Makefile.am: Add rules to build ranlib.
	* ranlib.c: New file.

2005-08-14  Roland McGrath  <roland@redhat.com>

	* elflint.c (check_sections): Use ebl_section_type_name and allow any
	sh_type it recognizes.

	* elflint.c (check_sections): Print unknown flags in hex, don't
	truncate high bits.  Print section number and name for unknown type.

2005-08-13  Roland McGrath  <roland@redhat.com>

	* elflint.c (check_program_header): Use ebl_segment_type_name and
	allow any p_type it recognizes.  Include p_type value in error
	message for unknown type.

2005-08-13  Ulrich Drepper  <drepper@redhat.com>

	* elflint.c (check_symtab): Simplify last change a bit.  Pass ehdr
	to ebl_check_special_symbol.
	(check_sections): Pass ehdr to ebl_bss_plt_p.

2005-08-12  Roland McGrath  <roland@redhat.com>

	* elflint.c (check_symtab): Check that _GLOBAL_OFFSET_TABLE_ st_shndx
	refers to the right section if it's not SHN_ABS.
	Let ebl_check_special_symbol override _G_O_T_ value and size checks.

	* elflint.c (check_sections): Don't complain about a non-NOBITS
	section taking no segment space, if it's sh_size is 0.

	* elflint.c (check_sections): Use ebl_bss_plt_p to see if .plt should
	be PROGBITS or NOBITS.

	* elflint.c (check_symtab): Use ebl_check_special_symbol to override
	standard st_value and st_size checks.

2005-07-28  Roland McGrath  <roland@redhat.com>

	* addr2line.c (options, parse_opt): Don't handle -e here.
	(executable): Variable removed.
	(argp_children): New static variable.
	(argp): Use it.  Make const.
	(main): Fill in argp_children from dwfl_standard_argp ().
	Let libdwfl handle file selection, pass Dwfl handle to handle_address.
	(print_dwarf_function): New function.  Try to figure out inline chain.
	(elf_getname): Function removed, libdwfl does it for us.
	(handle_address): Take Dwfl handle instead of Elf, Dwarf handles.
	Use dwfl_module_addrname instead of elf_getname.
	Use dwfl_module_getsrc and dwfl_lineinfo instead of libdw calls.
	* Makefile.am (INCLUDES): Add libdwfl directory to path.

2005-08-10  Ulrich Drepper  <drepper@redhat.com>

	* strip.c (parse_opt): STATE parameter is now used.
	Various little cleanups.

	* readelf.c (print_debug_line_section): Correct fallout of renaming
	of DW_LNS_set_epilog_begin.

2005-08-08  Roland McGrath  <roland@redhat.com>

	* strip.c (options, parse_opt): Grok -R .comment for compatibility
	with binutils strip.  Likewise -d, -S, as aliases for -g.
	Likewise ignore -s/--strip-all.

2005-08-07  Roland McGrath  <roland@redhat.com>

	* strip.c (process_file): Open read-only when using a different output
	file.

2005-08-06  Ulrich Drepper  <drepper@redhat.com>

	* elflint.c (in_nobits_scn): New function.
	(check_versym): Allow references for defined symbols against versions
	of other DSOs also for symbols in nobits sections.
	Move a few variables around.

	* Makefile.am (AM_CFLAGS): Avoid duplication.
	Link with statis libs if BUILD_STATIC.

2005-08-05  Ulrich Drepper  <drepper@redhat.com>

	* elflint.c: Many, many more tests.  Mostly related to symbol
	versioning.  Those sections should now be completely checked.

	* readelf.c (print_dynamic): Use gelf_offscn.

2005-08-04  Ulrich Drepper  <drepper@redhat.com>

	* elflint.c: Add lots more tests: more extension symbol table sanity,
	versioning section tests, hash table tests.  General cleanup.

2005-08-02  Ulrich Drepper  <drepper@redhat.com>

	* objdump.c: New file.
	* Makefile.am (bin_PROGRAMS): Add objdump.
	(objdump_LDADD): Define.

	* elflint.c (check_reloc_shdr): New function split out from check_rela
	and check_rel.
	(check_one_reloc): New function.  Likewise.
	(check_rela): Use check_reloc_shdr and check_one_reloc.
	(check_rel): Likewise.
	(check_program_header): Check that PT_DYNAMIC entry matches .dynamic
	section.
	Add checks that relocations against read-only segments are flagged,
	that the text relocation flag is not set unnecessarily, and that
	relocations in one section are either against loaded or not-loaded
	segments.

2005-08-01  Ulrich Drepper  <drepper@redhat.com>

	* elfcmp.c (main): Ignore section count and section name string table
	section index.

2005-07-27  Roland McGrath  <roland@redhat.com>

	* elfcmp.c: Include <locale.h>.

2005-07-27  Ulrich Drepper  <drepper@redhat.com>

	* elfcmp.c: Print name and index of differing section.

2005-07-24  Ulrich Drepper  <drepper@redhat.com>

	* elfcmp.c: Implement comparing gaps between sections.

2005-07-23  Ulrich Drepper  <drepper@redhat.com>

	* elflint.c: Include libeblP.h instead of libebl.h.
	* nm.c: Likewise.
	* readelf.c: Likewise.
	* elfcmp.c: Likewise.

	* elfcmp.c (main): Compare individual ELF header fields, excluding
	e_shoff instead of the whole struct at once.
	Use ebl_section_strip_p instead of SECTION_STRIP_P.
	* strip.c: Use ebl_section_strip_p instead of SECTION_STRIP_P.

2005-07-22  Ulrich Drepper  <drepper@redhat.com>

	* elfcmp.c (main): Take empty section into account when comparing
	section content.

	* elflint.c (check_dynamic): Check that d_tag value is >= 0 before
	using it.

2005-07-21  Ulrich Drepper  <drepper@redhat.com>

	* elfcmp.c: New file.
	* Makefile.am (bin_PROGRAMS): Add elfcmp.
	(elfcmp_LDADD): Define.

	* elflint.c (check_rela): Check that copy relocations only reference
	object symbols or symbols with unknown type.
	(check_rel): Likewise.

2005-06-08  Roland McGrath  <roland@redhat.com>

	* readelf.c (print_ops): Add consts.

2005-05-31  Roland McGrath  <roland@redhat.com>

	* readelf.c (print_debug_abbrev_section): Don't bail after first CU's
	abbreviations.  Print a header line before each CU section.

	* readelf.c (print_debug_loc_section): Fix indentation for larger
	address size.

2005-05-30  Roland McGrath  <roland@redhat.com>

	* readelf.c (print_debug_line_section): Print section offset of each
	CU's table, so they are easy to find from seeing the stmt_list value.

	* readelf.c (dwarf_attr_string): Add all attributes in <dwarf.h>.
	(attr_callback): Grok DW_AT_ranges and print offset in hex.

	* readelf.c (attr_callback): Add 2 to addrsize * 2 for %#0* format.
	(print_debug_ranges_section, print_debug_loc_section): Likewise.

	* readelf.c (print_ops): Take different args for indentation control.
	(attr_callback): Caller updated.
	Grok several more block-form attributes as being location expressions.
	For those same attributes with udata forms, format output differently
	for location list offset.
	(print_debug_loc_section): Implement it for real.

	* readelf.c (options): Mention ranges for --debug-dump.
	(enum section_e): Add section_ranges.
	(parse_opt): Grok "ranges" for -w/--debug-dump.
	(print_debug_ranges_section): New function.
	(print_debug): Handle .debug_ranges section.

2005-05-30  Ulrich Drepper  <drepper@redhat.com>

	* readelf.c (handle_notes): At least x86-64 need not have the note
	section values aligned to 8 bytes.

2005-05-18  Ulrich Drepper  <drepper@redhat.com>

	* readelf.c (dwarf_tag_string): Add new tags.

2005-05-08  Roland McGrath  <roland@redhat.com>

	* strip.c (handle_elf): Don't translate hash and versym data formats,
	elf_getdata already did it for us.

2005-05-07  Ulrich Drepper  <drepper@redhat.com>

	* Makefile.am (findtextrel_LDADD): Add $(libmudflap).
	(addr2line_LDADD): Likewise.

2005-05-03  Roland McGrath  <roland@redhat.com>

	* strip.c (handle_elf): Apply symbol table fixups to discarded
	relocation sections when they are being saved in the debug file.

	* strip.c (handle_elf): Pass EHDR->e_ident[EI_DATA] to gelf_xlatetom
	and gelf_xlatetof, not the native byte order.

	* strip.c (parse_opt): Give error if -f or -o is repeated.
	(main): Exit if argp_parse returns nonzero.

	* strip.c (debug_fname_embed): New variable.
	(options, parse_opt): New option -F to set it.

2005-05-07  Ulrich Drepper  <drepper@redhat.com>

	* readelf.c (parse_opt): Make any_control_option variable
	local.  Simplify some tests.

2005-05-03  Roland McGrath  <roland@redhat.com>

	* strip.c (crc32_file): Function removed (now in ../lib).

2005-05-03  Roland McGrath  <roland@redhat.com>

	* elflint.c (is_debuginfo): New variable.
	(options, parse_opt): New option --debuginfo/-d to set it.
	(check_sections): If is_debuginfo, don't complain about SHT_NOBITS.
	(check_note): If is_debuginfo, don't try to get note contents.

2005-04-24  Ulrich Drepper  <drepper@redhat.com>

	* readelf.c (print_debug_abbrev_section): Don't print error when end of
	section reached.

2005-04-14  Ulrich Drepper  <drepper@redhat.com>

	* readelf.c (dwarf_encoding_string): New function.
	(dwarf_inline_string): New function.
	(dwarf_access_string): New function.
	(dwarf_visibility_string): New function.
	(dwarf_virtuality_string): New function.
	(dwarf_identifier_case_string): New function.
	(dwarf_calling_convention_string): New function.
	(dwarf_ordering_string): New function.
	(dwarf_discr_list_string): New function.
	(attr_callback): Decode man more attribute values.

2005-04-01  Ulrich Drepper  <drepper@redhat.com>

	* addr2line.c: Finish implementation of -f option.

2005-03-29  Ulrich Drepper  <drepper@redhat.com>

	* addr2line.c: New file.
	* Makefile.am (bin_PROGRAMS): Add addr2line.
	Define addr2line_LDADD.

	* findtextrel.c: Use new dwarf_addrdie function.

	* findtextrel.c: Fix usage message and re-add accidentally removed
	line.

2005-03-28  Ulrich Drepper  <drepper@redhat.com>

	* findtextrel.c: New file.
	* Makefile: Add rules to build findtextrel.

2005-02-15  Ulrich Drepper  <drepper@redhat.com>

	* ldlex.l: Provide ECHO definition to avoid warning.

	* elflint.c (check_program_header): Fix typo in RELRO test.

	* Makefile.am (AM_CFLAGS): Add more warning options.
	* elflint.c: Fix warnings introduced by the new warning options.
	* i386_ld.c: Likewise.
	* ld.c: Likewise.
	* ld.h: Likewise.
	* ldgeneric.c: Likewise.
	* nm.c: Likewise.
	* readelf.c: Likewise.
	* sectionhash.c: Likewise.
	* size.c: Likewise.
	* string.c: Likewise.

2005-02-05  Ulrich Drepper  <drepper@redhat.com>

	* Makefile.am: Check for text relocations in constructed DSOs.

	* Makefile.am [MUDFLAP] (AM_CFLAGS): Add -fmudflap.  Link all apps
	with -lmudflap.

	* ldscript.y: Add as_needed handling.
	* ldlex.l: Recognize AS_NEEDED token.
	* ld.h (struct filename_list): Add as_needed flag.

2005-02-04  Ulrich Drepper  <drepper@redhat.com>

	* elflint.c (check_symtab): Correctly determine size of GOT section.

2005-01-19  Ulrich Drepper  <drepper@redhat.com>

	* ld.c: Remove unnecessary more_help function.  Print bug report
	address using argp.
	* strip.c: Likewise.
	* size.c: Likewise.
	* nm.c: Likewise.
	* readelf.c: Likewise.
	* elflint.c: Likewise.

	* elflint.c (main): Don't check for parameter problems here.
	(parse_opt): Do it here, where we get informed about some of them
	anyway.

	* readelf.c (main): Don't check for parameter problems here.
	(parse_opt): Do it here, where we get informed about some of them
	anyway.

2005-01-11  Ulrich Drepper  <drepper@redhat.com>

	* strip.c: Update copyright year.
	* readelf.c: Likewise.
	* size.c: Likewise.
	* nm.c: Likewise.
	* ld.c: Likewise.
	* elflint.c: Likewise.

	* elflint.c (check_symtab): Don't warn about wrong size for
	_DYNAMIC and __GLOBAL_OFFSET_TABLE__ for --gnu-ld.

2004-10-05  Ulrich Drepper  <drepper@redhat.com>

	* readelf.c (print_phdr): In section mapping, also indicate
	sections in read-only segments.

2004-09-25  Ulrich Drepper  <drepper@redhat.com>

	* readelf.c: Make compile with gcc 4.0.
	* strip.c: Likewise.

2004-08-16  Ulrich Drepper  <drepper@redhat.com>

	* strip.c (handle_elf): Rewrite dynamic memory handling to use of
	allocate to work around gcc 3.4 bug.

2004-01-25  Ulrich Drepper  <drepper@redhat.com>

	* ldlex.l (invalid_char): Better error message.

2004-01-23  Ulrich Drepper  <drepper@redhat.com>

	* readelf.c: Print SHT_GNU_LIBLIST sections.

	* none_ld.c: New file.

2004-01-21  Ulrich Drepper  <drepper@redhat.com>

	* Makefile.am: Enable building of machine specific linker.

2004-01-20  Ulrich Drepper  <drepper@redhat.com>

	* Makefile.am: Support building with mudflap.

	* i386_ld.c: Fix warnings gcc 3.4 spits out.
	* ldgeneric.c: Likewise.
	* ldscript.y: Likewise.
	* readelf.c: Likewise.
	* strip.c: Likewise.

	* readelf.c (print_debug_line_section): Determine address size
	correctly.

2004-01-19  Ulrich Drepper  <drepper@redhat.com>

	* readelf.c (print_phdr): Show which sections are covered by the
	PT_GNU_RELRO entry.

	* elflint.c (check_program_header): Check PT_GNU_RELRO entry.

	* readelf.c (print_debug_macinfo_section): Implement.

2004-01-18  Ulrich Drepper  <drepper@redhat.com>

	* readelf.c (print_debug_line_section): Implement.

2004-01-17  Ulrich Drepper  <drepper@redhat.com>

	* src/elflint.c: Use PACKAGE_NAME instead of PACKAGE.
	* src/ld.c: Likewise.
	* src/nm.c: Likewise.
	* src/readelf.c: Likewise.
	* src/size.c: Likewise.
	* src/strip.c: Likewise.

	* strip.c: Add a few more unlikely.  Reduce scope of some variables.

	* Makefile.am: Support building with mudflap.

2004-01-16  Ulrich Drepper  <drepper@redhat.com>

	* readelf.c (print_debug_info_section): Free dies memory.

	* readelf.c: Print .debug_info section content.

2004-01-13  Ulrich Drepper  <drepper@redhat.com>

	* readelf.c (print_shdr): Add support for SHF_ORDERED and SHF_EXCLUDE.

2004-01-12  Ulrich Drepper  <drepper@redhat.com>

	* readelf.c (print_debug_aranges): Implement using libdw.

2004-01-11  Ulrich Drepper  <drepper@redhat.com>

	* nm.c: Adjust for Dwarf_Files type and dwarf_lineno interface change.

	* readelf.c: Use libdw instead of libdwarf.  Not all of the old
	behavior is available yet.
	* Makefile.am: Link readelf with libdw.  Remove libdwarf include path.

2004-01-09  Ulrich Drepper  <drepper@redhat.com>

	* nm.c (get_local_names): Adjust call to dwarf_nextcu.

	* nm.c: Implement getting information about local variables.

2004-01-07  Ulrich Drepper  <drepper@redhat.com>

	* nm.c: Read also debug information for local symbols.

2004-01-05  Ulrich Drepper  <drepper@redhat.com>

	* nm.c: Shuffle dwarf handling code around so the maximum column
	width can be computed ahead of printing.  Avoid collection symbols
	which are not printed anyway.

	* nm.c: Rewrite dwarf handling to use libdw.
	* Makefile.am (AM_CFLAGS): Add -std parameter.
	(INCLUDES): Find header in libdw subdir.
	(nm_LDADD): Replace libdwarf with libdw.

	* elflint.c: Update copyright year.
	* readelf.c: Likewise.
	* size.c: Likewise.
	* strip.c: Likewise.
	* nm.c: Likewise.

2003-12-31  Ulrich Drepper  <drepper@redhat.com>

	* strip.c (process_file): Close file before returning.

2003-11-19  Ulrich Drepper  <drepper@redhat.com>

	* readelf.c (handle_dynamic): Make column for tag name wider.

2003-09-29  Ulrich Drepper  <drepper@redhat.com>

	* readelf.c (handle_dynamic): Always terminate tag name with a space.

2003-09-25  Ulrich Drepper  <drepper@redhat.com>

	* strip.c (process_file): Don't mmap the input file, we modify the
	data structures and don't want the change end up on disk.

2003-09-23  Jakub Jelinek  <jakub@redhat.com>

	* unaligned.h (union u_2ubyte_unaligned,
	union u_4ubyte_unaligned, union u_8ubyte_unaligned): Add
	packed attribute.
	(add_2ubyte_unaligned, add_4ubyte_unaligned,
	add_8ubyte_unaligned): Avoid nesting bswap_NN macros.
	Read/store value through _ptr->u instead of *_ptr.

2003-09-22  Ulrich Drepper  <drepper@redhat.com>

	* size.c (show_sysv): Change type of maxlen to int.

	* strip.c (handle_elf): Handle the 64-bit archs which is 64-bit
	buckets.

	* i386_ld.c: Many many fixes and extensions.
	* ld.c: Likewise.
	* ldgeneric.c: Likewise.

2003-08-16  Ulrich Drepper  <drepper@redhat.com>

	* ldgeneric.c (check_definition): Don't add symbol on dso_list if
	the reference is from another DSO.

2003-08-15  Ulrich Drepper  <drepper@redhat.com>

	* ldgeneric.c (find_entry_point): It is no fatal error if no entry
	point is found when creating a DSO.

2003-08-14  Ulrich Drepper  <drepper@redhat.com>

	* ld.c (main): Always call FLAG_UNRESOLVED.
	* ldgeneric.c (ld_generic_flag_unresolved): Only complain about
	undefined symbols if not creating DSO or ld_state.nodefs is not set.

2003-08-13  Ulrich Drepper  <drepper@redhat.com>

	* Makefile.in: Depend on libebl.a, not libebl.so.

	* ld.c (main): Mark stream for linker script as locked by caller.
	(read_version_script): Likewise.
	* ldlex.c: Define fread and fwrite to _unlocked variant.

	* i386_ld.c (elf_i386_finalize_plt): Replace #ifdefs with uses of
	target_bswap_32.
	* unaligned.h: Define target_bswap_16, target_bswap_32, and
	target_bswap_64.
	(store_2ubyte_unaligned, store_4ubyte_unaligned,
	store_8ubyte_unaligned): Define using new macros.

2003-08-12  Ulrich Drepper  <drepper@redhat.com>

	* i386_ld.c (elf_i386_finalize_plt): Use packed structs to access
	possibly unaligned memory.  Support use of big endian machines.

2003-08-11  Ulrich Drepper  <drepper@redhat.com>

	* Moved to CVS archive.
