2019-05-30  Mark Wielaard  <mark@klomp.org>

	* eblopenbackend.c (try_dlopen): New function extracted from
	openbackend.
	(openbackend): Replace ORIGINDIR define with BINORIGINDIR and
	LIBORIGINDIR defines. Use tryopen to open backend in bin origin
	path, lib origin path and without an explicit path.

2019-04-28  Mark Wielaard  <mark@klomp.org>

	* eblsymbolbindingname.c (ebl_symbol_binding_name): Check ebl is
	not NULL for STB_GNU_UNIQUE.
	* eblsymboltypename.c (ebl_symbol_type_name): Check ebl is not
	NULL for STT_GNU_IFUNC.

2019-01-29  Mark Wielaard  <mark@klomp.org>

	* eblobjnote.c (ebl_object_note): Check pr_datasz padding doesn't
	overflow descsz.

2019-01-16  Mark Wielaard  <mark@klomp.org>

	* libebl.h (ebl_core_note): Add desc as argument.
	* eblcorenote.c (ebl_core_note): Take desc as an argument, check
	it contains a zero terminated string if it is an NT_PLATFORM note.

2019-01-16  Mark Wielaard  <mark@klomp.org>

	* eblobjnte.c (ebl_object_note): Check pr_datasz isn't too large.

2018-12-02  Mark Wielaard  <mark@klomp.org>

	* eblobjnte.c (ebl_object_note): For GNU_PROPERTY_STACK_SIZE use
	an Elf32_Addr or Elf64_Addr to read and print the size.

2018-11-15  Mark Wielaard  <mark@klomp.org>

	* eblobjnotetypename.c (ebl_object_note_type_name): Don't update
	w, t and len unnecessarily.

2018-11-12  Mark Wielaard  <mark@klomp.org>

	* libebl.h (ebl_object_note): Add new argument namesz.
	* eblobjnote.c (ebl_object_note): Likewise and handle GNU Build
	Attribute notes.
	* eblobjnotetypename.c (ebl_object_note_type_name): Handle GNU
	Build Attribute notes.

2018-11-11  Mark Wielaard  <mark@klomp.org>

	* eblobjnote.c (ebl_object_note): Recognize NT_VERSION with zero
	descriptor. Add explicit "GNU" name check.
	* eblobjnotetypename.c (ebl_object_note_type_name): Add extra
	argument descsz. Recognize NT_VERSION using descsz. With "GNU"
	name it is  NT_GNU_ABI_TAG.
	* libebl.h (ebl_object_note_type_name): Add extra argument descsz.

2018-10-18  Mark Wielaard  <mark@klomp.org>

	* eblobjnote.c (ebl_object_note): Handle NT_GNU_PROPERTY_TYPE_0.
	* eblobjnotetypename.c (ebl_object_note_type_name): Add
	GNU_PROPERTY_TYPE_0.

2018-10-02  Andreas Schwab  <schwab@suse.de>

	* ebl-hooks.h (EBLHOOK(reloc_simple_type)): Add third parameter.
	* libebl.h (ebl_reloc_simple_type): Likewise.
	* eblopenbackend.c (default_reloc_simple_type): Likewise.
	* eblrelocsimpletype.c (ebl_reloc_simple_type): Pass it down.

2018-09-12  Mark Wielaard  <mark@klomp.org>

	* eblsectionstripp.c (ebl_section_strip_p): Drop ehdr argument.
	Use elf_getshdrstrndx.
	* libebl.h (ebl_section_strip_p): Drop ehdr argument.

2018-09-12  Mark Wielaard  <mark@klomp.org>

	* ebl-hooks.h (check_special_symbol): Drop ehdr argument.
	* ebl_check_special_symbol.c (ebl_check_special_symbol): Likewise.
	* eblopenbackend.c (default_check_special_symbol): Likewise.
	* libebl.h (ebl_check_special_symbol): Likewise.

2018-07-04  Ross Burton <ross.burton@intel.com>

	* eblopenbackend.c: Remove error.h include.

2018-04-25  Mark Wielaard  <mark@klomp.org>

	* eblopenbackend.c (default_debugscn_p): Add new DWARF5 sections
	.debug_addr, .debug_line_str, .debug_loclists, .debug_names,
	.debug_rnglists and .debug_str_offsets.

2018-04-19  Andreas Schwab  <schwab@suse.de>

	* eblopenbackend.c (machines): Add entries for RISC-V.

2018-03-16  Mark Wielaard  <mark@klomp.org>

	* ebldynamictagname.c (ebl_dynamic_tag_name): Add SYMTAB_SHNDX to
	stdtags. Add a eu_static_assert to make sure stdtags contains all
	DT_NUM entries.

2018-02-21  Mark Wielaard  <mark@klomp.org>

	* eblcheckreloctargettype.c (ebl_check_reloc_target_type): Accept
	SHT_NOTE.

2018-02-09  Joshua Watt  <JPEWhacker@gmail.com>

	* eblobjnote.c (ebl_object_note): Use FALLTHROUGH macro instead of
	comment.

2017-04-27  Ulf Hermann  <ulf.hermann@qt.io>

	* Makefile.am: Use fpic_CFLAGS.

2017-07-19  Gustavo Romero <gromero@linux.vnet.ibm.com>

	* eblcorenotetypename.c: Add ppc64 HTM SPRs note as known type.

2017-07-20  Mark Wielaard  <mark@klomp.org>

	* Makefile.am (gen_SOURCES): Add ebl_data_marker_symbol.c.
	* ebl-hooks.h (data_marker_symbol): New hook.
	* ebl_data_marker_symbol.c: New file.
	* eblopenbackend.c (default_data_marker_symbol): New function.
	(fill_defaults): Add default_data_marker_symbol.
	* libebl.h (ebl_data_marker_symbol): New function.

2017-04-20  Ulf Hermann  <ulf.hermann@qt.io>

	* libebl.h: Use __pure_attribute__.

2017-02-15  Ulf Hermann  <ulf.hermann@qt.io>

	* eblmachineflagname.c: Include system.h.
	* eblopenbackend.c: Likewise.

2016-07-08  Mark Wielaard  <mjw@redhat.com>

	* Makefile.am (gen_SOURCES): Remove eblstrtab.c.
	* eblstrtab.c: Removed.
	* libebl.h (Ebl_Strtab): Removed.
	(Ebl_Strent): Removed.
	(ebl_strtabinit): Removed.
	(ebl_strtabfree): Removed.
	(ebl_strtabadd): Removed.
	(ebl_strtabfinalize): Removed.
	(ebl_strtaboffset): Removed.
	(ebl_string): Removed.

2016-07-06  Mark Wielaard  <mjw@redhat.com>

	* Makefile.am (gen_SOURCES): Remove eblobjecttypename.c,
	eblshflagscombine.c, eblwstrtab.c and eblgstrtab.c.
	* ebl-hooks.h (object_type_name): Removed.
	(sh_flags_combine): Likewise.
	* eblgstrtab.c: Removed.
	* eblobjecttypename.c: Removed.
	* eblopenbackend.c (default_object_type_name): Removed.
	(default_sh_flags_combine): Likewise.
	(fill_defaults): Removed object_type_name and sh_flags_combine.
	* eblshflagscombine.c: Removed.
	* eblwstrtab.c: Removed.
	* libebl.h (ebl_object_type_name): Removed.
	(ebl_sh_flags_combine): Likewise.
	(ebl_wstrtab*): Removed.
	(ebl_gstrtab*): Likewise.

2016-06-28  Richard Henderson <rth@redhat.com>

	* ebl-hooks.h (EBLHOOK(disasm)): Add ebl parameter.
	* eblopenbackend.c (machines): Add EM_BPF entry.

2016-05-20  Andreas Schwab  <schwab@linux-m68k.org>

	* eblopenbackend.c (machines) [EM_68K]: Set class and data.

2016-02-12  Mark Wielaard  <mjw@redhat.com>

	* eblobjnotetypename.c (ebl_object_note_type_name): Check name is
	"Go" and use new goknowntypes then. Otherwise check name is not
	"GNU" and return "unknown".

2016-01-09  Mark Wielaard  <mjw@redhat.com>

	* eblobjnote.c (ebl_object_note): Add brackets around if statement
	body.

2015-12-18  Mark Wielaard  <mjw@redhat.com>

	* eblopenbackend.c (default_debugscn_p): Also match .zdebug sections.

2015-12-08  Jose E. Marchesi  <jose.marchesi@oracle.com>

	* libebl.h: Prototype for ebl_ra_offset.
	* eblabicfi.c (ebl_ra_offset): New function.
	* libeblP.h (struct ebl): new field ra_offset;

2015-09-24  Jose E. Marchesi  <jose.marchesi@oracle.com>

	* Makefile.am (AM_CFLAGS): Use -fPIC instead of -fpic to avoid
	relocation overflows in some platforms.

2015-09-22  Mark Wielaard  <mjw@redhat.com>

	* *.c: Remove old-style function definitions.

2015-09-09  Chih-Hung Hsieh  <chh@google.com>

	* ebldwarftoregno.c (ebl_dwarf_to_regno): Remove redundant NULL tests
	on parameters declared with __nonnull_attribute__.
	* eblinitreg.c (ebl_frame_nregs): Likewise.
	* eblnormalizepc.c (ebl_normalize_pc): Likewise.
	* eblunwind.c (ebl_unwind): Likewise.

2015-09-04  Chih-Hung Hsieh  <chh@google.com>

	* eblopenbackend.c (ebl_openbackend_machine): Replace K&R function
	definition with ansi-C definitions.
	* eblstother.c (ebl_check_st_other_bits): Likewise.

2015-06-12  Mark Wielaard  <mjw@redhat.com>

	* eblcheckreloctargettype.c (ebl_check_reloc_target_type): Allow
	SHT_INIT_ARRAY, SHT_FINI_ARRAY and SHT_PREINIT_ARRAY.

2015-05-17  Mark Wielaard  <mjw@redhat.com>

	* eblobjnote.c (ebl_object_note): If allocation buf is large, then
	allocate it with malloc.

2015-05-17  Mark Wielaard  <mjw@redhat.com>

	* eblopenbackend.c (MAX_PREFIX_LEN): New define (16).
	(openbackend): Stack allocate symname array using MAX_PREFIX_LEN.

2015-01-27  Mark Wielaard  <mjw@redhat.com>

	* libebl.h: Add comment from README that this is completely
	UNSUPPORTED.

2014-11-22  Mark Wielaard  <mjw@redhat.com>

	* ebl-hooks.h (bss_plt_p): Remove ehdr argument.
	* eblbsspltp.c (ebl_bss_plt_p): Likewise.
	* eblopenbackend.c (default_bss_plt_p): Likewise.
	* libebl.h (ebl_bss_plt_p): Likewise.

2014-11-17  Mark Wielaard  <mjw@redhat.com>

	* ebldebugscnp.c (ebl_debugscn_p): Check name is not NULL.

2014-06-17  Mark Wielaard  <mjw@redhat.com>

	* eblinitreg.c (ebl_func_addr_mask): New function.
	* libebl.h (ebl_func_addr_mask): Define.
	* libeblP.h (struct ebl): Add func_addr_mask.

2014-05-19  Mark Wielaard  <mjw@redhat.com>

	* Makefile.am (gen_SOURCES): Add eblcheckreloctargettype.c.
	* eblcheckreloctargettype.c: New file.
	* ebl-hooks.h (check_reloc_target_type): New hook.
	* eblopenbackend.c (default_check_reloc_target_type): New function.
	(fill_defaults): Assign default_check_reloc_target_type to
	check_reloc_target_type.
	* libebl.h (ebl_check_reloc_target_type): New function definition.

2013-12-18  Mark Wielaard  <mjw@redhat.com>

	* Makefile.am (gen_SOURCES): Add eblresolvesym.c.
	* ebl-hooks.h (resolve_sym_value): New entry.
	* eblresolvesym.c: New file.
	* libebl.h (ebl_resolve_sym_value): New definition.
	* libeblP.h (fd_addr): New field.
	(fd_data): Likewise.

2013-12-18  Jan Kratochvil  <jan.kratochvil@redhat.com>

	unwinder: s390 and s390x
	* Makefile.am (gen_SOURCES): Add eblnormalizepc.c and eblunwind.c.
	* ebl-hooks.h (normalize_pc, unwind): New.
	* eblnormalizepc.c: New file.
	* eblunwind.c: New file.
	* libebl.h (Ebl_Register_Location): Add field pc_register.
	(ebl_normalize_pc): New declaration.
	(ebl_tid_registers_get_t, ebl_pid_memory_read_t): New definitions.
	(ebl_unwind): New declaration.

2013-12-15  Jan Kratochvil  <jan.kratochvil@redhat.com>

	unwinder: ppc and ppc64
	* Makefile.am (gen_SOURCES): Add ebldwarftoregno.c.
	* ebl-hooks.h (dwarf_to_regno): New.
	* ebldwarftoregno.c: New file.
	* libebl.h (Ebl_Core_Item): New field pc_register.
	(ebl_tid_registers_t): Add FIRSTREG -1 to the comment.
	(ebl_dwarf_to_regno): New.

2013-11-25  Petr Machata  <pmachata@redhat.com>

	* eblopenbackend.c (machines): Add entry for AArch64.

2013-11-14  Jan Kratochvil  <jan.kratochvil@redhat.com>

	Code cleanup: Remove const in prototype
	* libebl.h (ebl_tid_registers_t): Remove const from firstreg.

2013-11-07  Jan Kratochvil  <jan.kratochvil@redhat.com>
	    Mark Wielaard  <mjw@redhat.com>

	* Makefile.am (gen_SOURCES): Add eblinitreg.c.
	* ebl-hooks.h (set_initial_registers_tid): New entry.
	* eblinitreg.c: New file.
	* libebl.h (ebl_tid_registers_t): New definition.
	(ebl_set_initial_registers_tid, ebl_frame_nregs): New declarations.
	* libeblP.h (struct ebl): New entry frame_nregs.

2013-10-06  Mark Wielaard  <mjw@redhat.com>

	* libebl.h (ebl_abi_cfi): Document restrictions using register
	rules.

2013-09-26  Petr Machata  <pmachata@redhat.com>

	* eblcorenotetypename.c: Handle NT_ARM_TLS, NT_ARM_HW_BREAK,
	NT_ARM_HW_WATCH, NT_SIGINFO, NT_FILE.

2013-09-25  Mark Wielaard  <mjw@redhat.com>

	* eblsectionstripp.c (ebl_section_strip_p): Check shdr_l is not NULL.

2013-04-24  Mark Wielaard  <mjw@redhat.com>

	* Makefile.am: Use AM_CPPFLAGS instead of INCLUDES.

2012-10-12  Jan Kratochvil  <jan.kratochvil@redhat.com>

	* ebl-hooks.h (abi_cfi): Extend its comment for return value.
	* eblopenbackend.c (default_abi_cfi): Return -1.
	* libebl.h (ebl_abi_cfi): Extend its comment for return value.

2012-08-30  Petr Machata  <pmachata@redhat.com>

	* eblcorenotetypename.c: Handle PPC_VSX, X86_XSTATE,
	S390_HIGH_GPRS, S390_TIMER, S390_TODCMP, S390_TODPREG, S390_CTRS,
	S390_PREFIX, S390_LAST_BREAK, S390_SYSTEM_CALL, and ARM_VFP.

2012-08-22  Jeff Kenton  <jkenton@tilera.com>

	* eblopenbackend.c (machines): Add tilegx.

2011-06-26  Mark Wielaard  <mjw@redhat.com>

	* eblopenbackend.c (default_debugscn_p): Add .debug_macro.

2011-04-26  Mark Wielaard  <mjw@redhat.com>

	* libebl.h (ebl_object_note_type_name): Add const char *name arg.
	* eblhooks.h (object_note_type_name): Likewise.
	* eblopenbackend.c (default_object_note_type_name): Likewise.
	* eblobjnotetypename.c (ebl_object_note_type_name): Likewise.
	And print version if name is "stapsdt".
	* eblobjnote.c (ebl_object_note): Add output for "stapsdt" notes.

2011-03-21  Marek Polacek  <mpolacek@redhat.com>

	* ebldynamictagname.c: Fix typo in TLSDESC_GOT.

2011-03-10  Mark Wielaard  <mjw@redhat.com>

	* Makefile.am (gen_SOURCES): Add eblstother.c.
	* eblstother.c: New file.
	* ebl-hooks.h: Add check_st_other_bits hook.
	* eblopenbackend.c (default_check_st_other_bits): New function.
	(fill_defaults): Hook default_check_st_other_bits.
	* libebl.h (ebl_check_st_other_bits): New prototype.

2010-07-07  Roland McGrath  <roland@redhat.com>

	* eblopenbackend.c (default_debugscn_p): Match .gdb_index section.

2010-02-15  Roland McGrath  <roland@redhat.com>

	* Makefile.am: Use config/eu.am for common stuff.

2010-01-04  Roland McGrath  <roland@redhat.com>

	* eblcorenote.c (ebl_core_note): Take GElf_Nhdr * and name data
	pointer instead of only n_type and n_descsz.
	* libebl.h: Update declaration.
	* ebl-hooks.h: Update core_note hook signature.
	* eblopenbackend.c (default_core_note): Likewise.

2009-10-14  Roland McGrath  <roland@redhat.com>

	* eblobjnote.c (ebl_object_note): Clean up NT_GNU_GOLD_VERSION printing.

2009-10-05  Roland McGrath  <roland@redhat.com>

	* eblopenbackend.c (default_debugscn_p): Match .debug_pubtypes and
	.debug_types too.

2009-09-02  Petr Machata  <pmachata@redhat.com>

	* libebl/eblstrtab.c (morememory): Allocate memory in multiples of
	pagesize.

2009-08-06  Petr Machata  <pmachata@redhat.com>

	* libebl/eblstrtab.c (ebl_strtabfinalize): Only call copystrings
	if we have any strings to copy.

2009-07-26  Mark Wielaard  <mjw@redhat.com>

	* eblobjnote.c (ebl_object_note): Handle NT_GNU_GOLD_VERSION.

	* eblobjnotetypename.c (ebl_object_note_type_name): Recognize
	NT_GNU_GOLD_VERSION.

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

	* ebl-hooks.h: Add abi_cfi hook.
	* eblopenbackend.c (default_abi_cfi): New function.
	(fill_defaults): Add initializer.
	* eblabicfi.c: New file.
	* Makefile.am (gen_SOURCES): Add it.
	* libebl.h: Declare ebl_abi_cfi.

2009-07-08  Ulrich Drepper  <drepper@redhat.com>

	* eblsymbolbindingname.c (ebl_symbol_binding_name): Handle
	STB_GNU_UNIQUE.

	* eblsymboltypename.c (ebl_symbol_type_name): Only handle STT_GNU_IFUNC
	if the binary is marked as being for Linux.

2009-04-01  Roland McGrath  <roland@redhat.com>

	* eblsymboltypename.c (ebl_symbol_type_name): Add STT_GNU_IFUNC.

	* eblauxvinfo.c (AUXV_TYPES): Add RANDOM and BASE_PLATFORM.

2009-02-01  Ulrich Drepper  <drepper@redhat.com>

	* eblreloctypename.c (ebl_reloc_type_name): Return "<INVALID RELOC>"
	instead of "???" for invalid relocations.

2008-08-01  Roland McGrath  <roland@redhat.com>

	* eblcorenotetypename.c: Handle NT_386_IOPERM.

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

	* eblauxvinfo.c (AUXV_TYPES): Add EXECFN.

	* eblauxvinfo.c (ebl_auxv_info): Handle missing elements of standard
	table.

2008-07-04  Roland McGrath  <roland@redhat.com>

	* libebl.h: Declare ebl_syscall_abi.
	* ebl_syscall_abi.c: New file.
	* Makefile.am (gen_SOURCES): Add it.
	* ebl-hooks.h: New hook syscall_abi.
	* eblopenbackend.c (default_syscall_abi): New function.
	(fill_defaults): Use it.

2008-03-31  Roland McGrath  <roland@redhat.com>

	* ebldynamictagname.c (ebl_dynamic_tag_name): Use hex for unknown tag.

	* ebl-hooks.h: Add check_special_section hook.
	* eblopenbackend.c (fill_defaults): Set new hook to ...
	(default_check_special_section): ... this, new function.
	* ebl_check_special_section.c: New file.
	* Makefile.am (gen_SOURCES): Add it.
	* libebl.h: Declare it.

2008-02-20  Roland McGrath  <roland@redhat.com>

	* libebl.h: Declare ebl_check_object_attribute.
	* eblcheckobjattr.c: New file.
	* Makefile.am (gen_SOURCES): Add it.
	* ebl-hooks.h: Add check_object_attribute hook.
	* eblopenbackend.c (default_check_object_attribute): New function.
	(fill_defaults): Initialize pointer to it.

2008-02-19  Roland McGrath  <roland@redhat.com>

	* eblsectiontypename.c (ebl_section_type_name):
	Handle SHT_GNU_ATTRIBUTES.

2008-02-08  Roland McGrath  <roland@redhat.com>

	* eblcorenotetypename.c (ebl_core_note_type_name): Handle NT_PPC_SPE.

2008-01-30  Roland McGrath  <roland@redhat.com>

	* eblcorenotetypename.c (ebl_core_note_type_name): Handle NT_386_TLS.

2007-10-18  Roland McGrath  <roland@redhat.com>

	* eblcorenotetypename.c (ebl_core_note_type_name): Handle NT_PPC_VMX.

2007-10-11  Roland McGrath  <roland@redhat.com>

	* eblobjnote.c (ebl_object_note): Translate target format (byte-swap)
	for NT_GNU_ABI_TAG contents.

2007-08-22  Roland McGrath  <roland@redhat.com>

	* libebl.h (Ebl_Core_Item): New member `group'.

2007-08-19  Roland McGrath  <roland@redhat.com>

	* ebl-hooks.h: Add new hook auxv_info.
	* eblopenbackend.c (default_auxv_info): New function.
	(fill_defaults): Initialize auxv_info hook.
	* eblauxvinfo.c : New file.
	* Makefile.am (gen_SOURCES): Add it.
	* libebl.h: Declare ebl_auxv_info.

	* eblcorenote.c: Rewritten with new signature.
	* Makefile.am (gen_SOURCES): Add it.
	* libebl.h (Ebl_Register_Location, Ebl_Core_Item): New types.
	(ebl_core_note_info): Completely revamp signature.
	* ebl-hooks.h: Update decl.
	* eblopenbackend.c (default_core_note): Update signature.

2007-07-09  Roland McGrath  <roland@redhat.com>

	* eblobjnotetypename.c (ebl_object_note_type_name): Handle
	NT_GNU_HWCAP, NT_GNU_BUILD_ID.

	* eblobjnote.c (ebl_object_note): Handle NT_GNU_BUILD_ID.

2007-04-22  Roland McGrath  <roland@redhat.com>

	* eblcorenotetypename.c (ebl_core_note_type_name): Handle NT_PRXFPREG.

2007-03-10  Roland McGrath  <roland@redhat.com>

	* eblcorenote.c (ebl_core_note): For normally-zero types,
	print in hex if not zero.

2007-01-11  Roland McGrath  <roland@redhat.com>

	* ebl-hooks.h (machine_section_flag_check): New hook.
	* libebl.h: Declare ebl_machine_section_flag_check.
	* eblmachinesectionflagcheck.c: New file.
	* Makefile.am (gen_SOURCES): Add it.
	* eblopenbackend.c (default_machine_section_flag_check): New function.
	(fill_defaults): Use it.

2006-09-04  Roland McGrath  <roland@redhat.com>

	* ebl-hooks.h: Replace register_name hook with register_info.
	Also yield natural bit width and base type encoding.
	* eblopenbackend.c (default_register_name): Renamed
	default_register_info, new args added.
	(fill_defaults): Update initialization.
	* eblregname.c: File renamed ...
	* eblreginfo.c: ... to this.
	(ebl_register_name): Renamed to ebl_register_info, new args added.
	* libebl.h: Update decl.

	* Makefile.am (gen_SOURCES): Update list.

2006-07-06  Ulrich Drepper  <drepper@redhat.com>

	* ebldynamictagname.c: Add support for DT_GNU_HASH.
	* ebldynamictagcheck.c: Likewise.
	* eblsectiontypename.c: Add support for SHT_GNU_HASH.

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

	* Makefile.am (gen_SOURCES): Add eblsysvhashentrysize.c.
	* libeblP.h (struct ebl): Add sysvhash_entrysize element.
	* eblopenbackend.c (fill_defaults): Initialize sysvhash_entrysize.

	* eblopenbackend.c (openbackend): If possible, fill machine, class,
	and data values in from the ELF file.

2006-07-04  Ulrich Drepper  <drepper@redhat.com>

	* Makefile.am (gen_SOURCES): Add eblrelativerelocp.c.
	* eblrelativerelocp.c: New file.
	* ebl-hooks.c: Add relative_reloc_p.
	* eblopenbackend.c (default_relative_reloc_p): New function.
	(fill_defaults): Hook it up.
	* libebl.h: Declare ebl_relative_reloc_p.

2006-06-12  Ulrich Drepper  <drepper@redhat.com>

	* Makefile.am (gen_SOURCES): Add eblnonerelocp.c.
	* eblnonerelocp.c: New file.
	* ebl-hooks.c: Add none_reloc_p.
	* eblopenbackend.c (default_none_reloc_p): New function.
	(fill_defaults): Hook it up.
	* libebl.h: Declare ebl_none_reloc_p.

2006-05-27  Ulrich Drepper  <drepper@redhat.com>

	* libebl.h: Add extern "C".

2005-11-25  Roland McGrath  <roland@redhat.com>

	* eblregname.c: New file.
	* Makefile.am (gen_SOURCES): Add it.
	* ebl-hooks.h: Declare register_name hook.
	* libebl.h: Declare ebl_register_name.
	* eblopenbackend.c (default_register_name): New function.
	(fill_defaults): Use it.

2005-11-16  Roland McGrath  <roland@redhat.com>

	* libebl.h: Use "" for elf-knowledge.h, not <>.

2005-11-15  Roland McGrath  <roland@redhat.com>

	* Makefile.am: Removed everything for building libebl_*.so modules,
	now in ../backends/Makefile.am instead.
	* alpha_init.c: Moved to ../backends.
	* alpha_reloc.def: Likewise.
	* alpha_retval.c: Likewise.
	* alpha_symbol.c: Likewise.
	* arm_init.c: Likewise.
	* arm_reloc.def: Likewise.
	* arm_symbol.c: Likewise.
	* common-reloc.c: Likewise.
	* i386_corenote.c: Likewise.
	* i386_init.c: Likewise.
	* i386_reloc.def: Likewise.
	* i386_retval.c: Likewise.
	* i386_symbol.c: Likewise.
	* ia64_init.c: Likewise.
	* ia64_reloc.def: Likewise.
	* ia64_symbol.c: Likewise.
	* libebl_CPU.h: Likewise.
	* ppc64_init.c: Likewise.
	* ppc64_reloc.def: Likewise.
	* ppc64_retval.c: Likewise.
	* ppc64_symbol.c: Likewise.
	* ppc_init.c: Likewise.
	* ppc_reloc.def: Likewise.
	* ppc_retval.c: Likewise.
	* ppc_symbol.c: Likewise.
	* s390_init.c: Likewise.
	* s390_reloc.def: Likewise.
	* s390_symbol.c: Likewise.
	* sh_init.c: Likewise.
	* sh_reloc.def: Likewise.
	* sh_symbol.c: Likewise.
	* sparc_init.c: Likewise.
	* sparc_reloc.def: Likewise.
	* sparc_symbol.c: Likewise.
	* x86_64_corenote.c: Likewise.
	* x86_64_init.c: Likewise.
	* x86_64_reloc.def: Likewise.
	* x86_64_retval.c: Likewise.
	* x86_64_symbol.c: Likewise.

	* libebl.h: Comment fixes.

	* alpha_retval.c: New file.
	* Makefile.am (alpha_SRCS): Add it.
	* alpha_init.c (alpha_init): Initialize return_value_location hook.

	* ppc64_retval.c: New file.
	* Makefile.am (ppc64_SRCS): Add it.
	* ppc64_init.c (ppc64_init): Initialize return_value_location hook.

	* ppc_retval.c: New file.
	* Makefile.am (ppc_SRCS): Add it.
	* ppc_init.c (ppc_init): Initialize return_value_location hook.

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

	* ia64_init.c (ia64_init): Initialize EH->reloc_simple_type.
	* sh_init.c (sh_init): Likewise.
	* x86_64_init.c (x86_64_init): Likewise.

	* sparc_symbol.c (sparc_reloc_simple_type): New function.
	* sparc_init.c (sparc_init): Use it.

	* arm_symbol.c (arm_reloc_simple_type): New function.
	* arm_init.c (arm_init): Use it.

	* alpha_symbol.c (alpha_reloc_simple_type): New function.
	* alpha_init.c (alpha_init): Use it.

	* ia64_reloc.def: Update bits per H. J. Lu <hjl@lucon.org>.

	* arm_reloc.def: Update bits per Daniel Jacobowitz <drow@false.org>.

	* alpha_reloc.def: Update bits per Richard Henderson <rth@redhat.com>.

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

	* x86_64_retval.c: New file.
	* Makefile.am (x86_64_SRCS): Add it.
	* x86_64_init.c (x86_64_init): Use x86_64_return_value_location.

	* i386_retval.c: New file.
	* Makefile.am (i386_SRCS): Add it.
	(libdw): New variable.
	(libebl_%.so): Use $(libdw) in link; use --as-needed.
	* i386_init.c (i386_init): Use i386_return_value_location.

	* eblretval.c: New file.
	* Makefile.am (gen_SOURCES): Add it.
	(INCLUDES): Search in libdw.
	* libebl.h: Include <libdw.h>.   Declare ebl_return_value_location.
	* ebl-hooks.h: Declare return_value_location hook.
	* eblopenbackend.c (default_return_value_location): New function.
	(fill_defaults): Use it.

2005-11-10  Roland McGrath  <roland@redhat.com>

	* s390_init.c: New file.
	* s390_reloc.def: New file.
	* s390_symbol.c: New file.
	* Makefile.am (modules, libebl_pic): Add s390.
	(s390_SRCS, libebl_s390_pic_a_SOURCES): New variables.
	(am_libebl_s390_pic_a_OBJECTS): New variable.

	* ppc64_init.c: Use common-reloc.c.
	* ppc64_symbol.c (ppc64_backend_name): Removed.
	(ppc64_reloc_type_check, ppc64_reloc_type_name): Likewise.
	(ppc64_copy_reloc_p, ppc64_reloc_valid_use): Likewise.

	* ppc_init.c: Use common-reloc.c.
	* ppc_symbol.c (ppc_backend_name): Removed.
	(ppc_reloc_type_name, ppc_reloc_type_check): Likewise.
	(ppc_reloc_valid_use, ppc_copy_reloc_p): Likewise.

	* sparc_init.c: Use common-reloc.c.
	* sparc_symbol.c (sparc_backend_name): Removed.
	(sparc_reloc_type_name, sparc_reloc_type_check): Likewise.
	(sparc_copy_reloc_p): Likewise.

	* arm_init.c: Use common-reloc.c.
	* arm_symbol.c (arm_backend_name): Removed.
	(arm_reloc_type_name, arm_reloc_type_check, arm_copy_reloc_p): Removed.

	* alpha_init.c: Use common-reloc.c.
	* alpha_symbol.c (alpha_backend_name): Removed.
	(alpha_reloc_type_name, alpha_reloc_type_check): Likewise.
	(alpha_copy_reloc_p): Likewise.

	* ia64_symbol.c (ia64_backend_name): Removed.
	(ia64_reloc_type_name, ia64_reloc_type_check): Likewise.
	(ia64_copy_reloc_p): Likewise.

	* x86_64_init.c: Use common-reloc.c.
	* x86_64_symbol.c (x86_64_backend_name): Removed.
	(x86_64_copy_reloc_p, x86_64_reloc_valid_use): Likewise.
	(x86_64_reloc_type_check, x86_64_reloc_type_name): Likewise.

	* sh_init.c: Use common-reloc.c.
	* sh_symbol.c: All functions removed.
	(sh_reloc_simple_type): New function.
	(sh_gotpc_reloc_check): New function.

	* common-reloc.c: New file.
	* Makefile.am (noinst_HEADERS): Add it.
	* i386_init.c: Include it.

	* sh_reloc.def: New file.
	* i386_reloc.def: New file.
	* alpha_reloc.def: New file.
	* arm_reloc.def: New file.
	* i386_reloc.def: New file.
	* ia64_reloc.def: New file.
	* ppc64_reloc.def: New file.
	* ppc_reloc.def: New file.
	* sh_reloc.def: New file.
	* sparc_reloc.def: New file.
	* x86_64_reloc.def: New file.
	* Makefile.am (EXTRA_DIST): Add $(modules:=_reloc.def).

	* libebl_alpha.map: Removed.
	* libebl_ia64.map: Removed.
	* libebl_ppc.map: Removed.
	* libebl_sparc.map: Removed.
	* libebl_arm.map: Removed.
	* libebl_i386.map: Removed.
	* libebl_ppc64.map: Removed.
	* libebl_sh.map: Removed.
	* libebl_x86_64.map: Removed.
	* Makefile.am (EXTRA_DIST): Remove them.
	(libebl_%.map, libebl_%.so): New pattern rules.

	* libebl_alpha.h: Removed.
	* libebl_ia64.h: Removed.
	* libebl_ppc.h: Removed.
	* libebl_sparc.h: Removed.
	* libebl_arm.h: Removed.
	* libebl_i386.h: Removed.
	* libebl_ppc64.h: Removed.
	* libebl_sh.h: Removed.
	* libebl_x86_64.h: Removed.
	* Makefile.am (noinst_HEADERS): Remove them.

	* x86_64_corenote.c: Use libebl_CPU.h instead.
	* x86_64_symbol.c: Likewise.
	* i386_corenote.c: Likewise.

2005-11-09  Roland McGrath  <roland@redhat.com>

	* ia64_symbol.c (ia64_reloc_simple_type): New function.

	* ebl-hooks.h (reloc_simple_type): Take the Ebl handle, not Elf handle.
	* eblrelocsimpletype.c (ebl_reloc_simple_type): Update caller.
	* eblopenbackend.c (default_reloc_simple_type): Update signature.
	* i386_symbol.c (i386_reloc_simple_type): Likewise.
	* ppc64_symbol.c (ppc64_reloc_simple_type): Likewise.
	* ppc_symbol.c (ppc_reloc_simple_type): Likewise.
	* x86_64_symbol.c (x86_64_reloc_simple_type): Likewise.

	* i386_symbol.c (i386_backend_name): Removed.
	(i386_reloc_type_name, i386_reloc_type_check): Likewise.
	(i386_reloc_valid_use): Removed.
	(i386_copy_reloc_p): Removed.

	* alpha_destr.c: Removed.
	* arm_destr.c: Removed.
	* i386_destr.c: Removed.
	* ia64_destr.c: Removed.
	* ppc64_destr.c: Removed.
	* ppc_destr.c: Removed.
	* sh_destr.c: Removed.
	* sparc_destr.c: Removed.
	* x86_64_destr.c: Removed.

	* ebl-hooks.h: New file, broken out of ...
	* libeblP.h (struct ebl): ... here.  #include that for hook
	declarations, after defining EBLHOOK macro.
	* libebl_CPU.h: New file.
	* Makefile.am (noinst_HEADERS): Add them.

	* libeblP.h (struct ebl): Use uint_fast16_t for machine,
	and uint_fast8_t for class and data.

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

	* ia64_symbol.c (ia64_section_type_name): New function.
	(ia64_dynamic_tag_check): New function.
	(ia64_reloc_valid_use): New function.
	* libebl_ia64.h: Declare them.
	* ia64_init.c (ia64_init): Use them.
	* Makefile.am (libebl_ia64.so): Link with libelf.

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

	* Makefile.am: Use $(LINK) not $(CC) when creating DSOs.

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

	* ia64_symbol.c (ia64_machine_flag_check): New function.
	* libebl_ia64.h: Declare it.
	* ia64_init.c (ia64_init): Use it.

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

	* libebl.h: Add ehdr parameter to ebl_bss_plt_p and
	ebl_check_special_symbol.
	* libeblP.h (struct ebl): Adjust callback functions.
	* eblopenbackend.c: Adjust dummy functions.
	* ebl_check_special_symbol.c: Add parameter and pass it on.
	* eblbsspltp.c: Likewise.
	* ppc_symbol.c (find_dyn_got): With ehdr passed, simplify search for
	the dynamic section entry.
	(ppc_check_special_symbol): Add ehdr parameter.
	(ppc_bss_plt_p): Likewise.
	* libebl_ppc.h: Adjust prototypes.
	* ppc64_symbol.c (ppc_check_special_symbol): Add ehdr parameter.
	(ppc_bss_plt_p): Likewise.
	* libebl_ppc64.h: Adjust prototypes.

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

	* ppc_symbol.c (find_dyn_got): New function, broken out of ...
	(ppc_bss_plt_p): ... here.  Call that.
	(ppc_check_special_symbol): Use find_dyn_got to fetch value to check
	against _GLOBAL_OFFSET_TABLE_.

	* libeblP.h (struct ebl): Add bss_plt_p hook.
	* eblopenbackend.c (default_bss_plt_p): New function.
	(fill_defaults): Use it.
	* eblbsspltp.c: New file.
	* Makefile.am (gen_SOURCES): Add it.
	* libebl.h: Declare ebl_bss_plt_p.
	* ppc_symbol.c (ppc_bss_plt_p): New function.
	* libebl_ppc.h: Declare it.
	* ppc_init.c (ppc_init): Use it.
	* ppc64_symbol.c (ppc64_bss_plt_p): New function.
	* libebl_ppc64.h: Declare it.
	* ppc64_init.c (ppc64_init): Use it.

	* ebl_check_special_symbol.c: New file.
	* Makefile.am (gen_SOURCES): Add it.
	* libebl.h: Declare ebl_check_special_symbol.
	* libeblP.h (struct ebl): Add check_special_symbol hook.
	* eblopenbackend.c (default_check_special_symbol): New function.
	(fill_defaults): Use it.
	* ppc_symbol.c (ppc_check_special_symbol): New function.
	* libebl_ppc.h: Add prototype.
	* ppc_init.c (ppc_init): Use it.
	* ppc64_symbol.c (ppc64_check_special_symbol): New function.
	* libebl_ppc64.h: Add prototype.
	* ppc64_init.c (ppc64_init): Use it.

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

	* ppc_init.c: Add support for new DT_PPC_* and R_PPC_* values.
	* ppc_symbol.c: Likewise.
	* libebl_ppc.h: Likewise.
	* ppc64_init.c: There is now also a dynamic_tag_check functions
	* ppc64_symbol.c: Add dynamic_tag_check.
	* libebl_ppc64.h: Add prototype.
	* alpha_init.c: Add support for new DT_ALPHA_* value.
	* alpha_symbol.c: Likewise.
	* libebl_alpha.h: Likewise.

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

	* libebl_alpha.map: Remove unnecessary exports.
	* libebl_arm.map: Likewise.
	* libebl_i386.map: Likewise.
	* libebl_ia64.map: Likewise.
	* libebl_ppc.map: Likewise.
	* libebl_ppc64.map: Likewise.
	* libebl_sh.map: Likewise.
	* libebl_sparc.map: Likewise.
	* libebl_x86_64.map: Likewise.

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

	* Makefile.am (libebl_a_SOURCES): Add eblelfclass.c, eblelfdata.c,
	and eblelfmachine.c.
	* elbopenbackend.c (machines): Add class and data fields.  Initialize
	them.
	(ebl_openbackend): Initialize machine, class, data fields in result.
	* libebl.h: Declare Add eblelfclass, eblelfdata, and eblelfmachine.
	* libeblP.h (Ebl): Add machine, class, data fields.

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

	* eblsectionstripp.c: New file.
	* Makefile.am (gen_SOURCES): Add eblsectionstripp.c.
	* i386_init.c (i386_init): Install specific debugscn_p callback.
	* i386_symbol.c (i386_debugscn_p): New function.
	* libebl.h: Declare ebl_section_strip_p.
	* libebl_i386.h: Declare i386_debugscn_p.

	* libebl.h: Move Ebl definition to...
	* libeblP.h: ...here.

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

	* Makefile.am (install-ebl-modules): New target, commands from ...
	(install): ... here.  Make this depend on it.
	(LIBEBL_SUBDIR): New variable, substituted by configure.
	(install-ebl-modules): Install in $(libdir)/$(LIBEBL_SUBDIR).
	* eblopenbackend.c (openbackend): Use LIBEBL_SUBDIR in module name.

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

	* eblcopyrelocp.c: New file.
	* Makefile.am (gen_SOURCES): Add eblcopyrelocp.c.
	* libebl.h: Declare ebl_copy_reloc_p.
	* eblopenbackend.c (fill_defaults): Fill in copy_reloc_p.
	(default_copy_reloc_p): New function.
	* alpha_init.c: Define and use arch-specific copy_reloc_p function.
	* alpha_symbol.c: Likewise.
	* arm_init.c: Likewise.
	* arm_symbol.c: Likewise.
	* i386_init.c: Likewise.
	* i386_symbol.c: Likewise.
	* ia64_init.c: Likewise.
	* ia64_symbol.c: Likewise.
	* ppc64_init.c: Likewise.
	* ppc64_symbol.c: Likewise.
	* ppc_init.c: Likewise.
	* ppc_symbol.c: Likewise.
	* sh_init.c: Likewise.
	* sh_symbol.c: Likewise.
	* sparc_init.c: Likewise.
	* sparc_symbol.c: Likewise.
	* x86_64_init.c: Likewise.
	* x86_64_symbol.c: Likewise.
	* libebl_alpha.h: Declare the copy_reloc_p function.
	* libebl_arm.h: Likewise.
	* libebl_i386.h: Likewise.
	* libebl_ia64.h: Likewise.
	* libebl_ppc.h: Likewise.
	* libebl_ppc64.h: Likewise.
	* libebl_sh.h: Likewise.
	* libebl_sparc.h: Likewise.
	* libebl_x86_64.h: Likewise.

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

	* Makefile.am (libebl_*_so_SOURCES): Set to $(*_SRCS) so dependency
	tracking works right.

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

	* libebl_x86_64.map: Add x86_64_core_note.

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

	* libebl_i386.map: Add i386_reloc_valid_use, i386_reloc_simple_type.
	* libebl_ppc.map: Add ppc_reloc_simple_type.
	* libebl_ppc64.map: Add ppc64_reloc_simple_type.
	* libebl_x86_64.map: Add x86_64_reloc_simple_type.

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

	* eblcorenote.c: Handle new AT_* values and files with different
	endianess.
	* Makefile.am (x86_64_SRCS): Add x86_64_corenote.c.
	* x86-64_corenote.c: New file.
	* x86_64_init.c: Hook in x86_64_corenote.
	* i386_corenote.c: Make file usable on 64-bit platforms.

	* eblopenbackend.c: If modules version comparison fails, reinitialize
	hooks.

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

	* eblopenbackend.c: Require the init function to return a string.
	Compare it with MODVERSION from config.h.
	* alpha_init.c: Change return type.  Return MODVERSION or NULL.
	* arm_init.c: Likewise.
	* eblopenbackend.c: Likewise.
	* i386_init.c: Likewise.
	* ia64_init.c: Likewise.
	* ppc64_init.c: Likewise.
	* ppc_init.c: Likewise.
	* sh_init.c: Likewise.
	* sparc_init.c: Likewise.
	* x86_64_init.c: Likewise.
	* libeblP.h: Adjust ebl_bhinit_t.
	* libebl_alpha.h: Adjust init function prototype.
	* libebl_arm.h: Likewise.
	* libebl_i386.h: Likewise.
	* libebl_ia64.h: Likewise.
	* libebl_ppc.h: Likewise.
	* libebl_ppc64.h: Likewise.
	* libebl_sh.h: Likewise.
	* libebl_sparc.h: Likewise.
	* libebl_x86_64.h: Likewise.

	* mips_destr.c: Removed.
	* mips_init.c: Removed.
	* mips_symbol.c: Removed.
	* libebl_mips.h: Removed.
	* libebl_mips.map: Removed.

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

	* libebl.h (Ebl): Add `reloc_simple_type' member.
	* eblopenbackend.c (default_reloc_simple_type): New function.
	(openbackend): Use that as default reloc_simple_type callback.
	* eblrelocsimpletype.c: New file.
	* Makefile.am (gen_SOURCES): Add it.
	* i386_symbol.c (i386_reloc_simple_type): New function.
	* libebl_i386.h: Declare it.
	* i386_init.c (i386_init): Use it.
	* x86_64_symbol.c (x86_64_reloc_simple_type): New function.
	* libebl_x86_64.h: Declare it.
	* x86_64_init.c (x86_64_init): Use it.
	* ppc_symbol.c (ppc_reloc_simple_type): New function.
	* libebl_ppc.h: Declare it.
	* ppc_init.c (ppc_init): Use it.
	* ppc64_symbol.c (ppc64_reloc_simple_type): New function.
	* libebl_ppc64.h: Declare it.
	* ppc64_init.c (ppc64_init): Use it.

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

	* eblcorenote.c (ebl_core_note): Add support for AT_SECURE.

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

	* Makefile.am (AM_CFLAGS): Add -Wformat=2.

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

	* alpha_destr.c: Add __attribute__((unused)) where needed.
	* alpha_init.c: Likewise.
	* alpha_symbol.c: Likewise.
	* arm_destr.c: Likewise.
	* arm_init.c: Likewise.
	* arm_symbol.c: Likewise.
	* i386_corenote.c: Likewise.
	* i386_destr.c: Likewise.
	* i386_init.c: Likewise.
	* i386_symbol.c: Likewise.
	* ia64_destr.c: Likewise.
	* ia64_init.c: Likewise.
	* ia64_symbol.c: Likewise.
	* mips_destr.c: Likewise.
	* mips_init.c: Likewise.
	* mips_symbol.c: Likewise.
	* ppc64_destr.c: Likewise.
	* ppc64_init.c: Likewise.
	* ppc64_symbol.c: Likewise.
	* ppc_destr.c: Likewise.
	* ppc_init.c: Likewise.
	* ppc_symbol.c: Likewise.
	* sh_destr.c: Likewise.
	* sh_init.c: Likewise.
	* sh_symbol.c: Likewise.
	* sparc_destr.c: Likewise.
	* sparc_init.c: Likewise.
	* sparc_symbol.c: Likewise.
	* x86_64_destr.c: Likewise.
	* x86_64_init.c: Likewise.
	* x86_64_symbol.c: Likewise.

	* x86_64_symbol.c (reloc_map_table): Fix entries for R_X86_64_64
	and R_X86_64_32..

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

	* eblstrtab.c: A few cleanups.

	* eblopenbackend.c: Mark unused parameters.

	* eblgstrtab.c: Cleanups a few printf format strings.

	* Makefile.am: Cleanup AM_CFLAGS handling.  Add -Wunused -Wextra.

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

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

	* eblstrtab.c: Minor cleanups.

	* Makefile.am (AM_CFLAGS): Add -std=gnu99 and -fmudflap for MUDFLAP.

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

	* Makefile.am (AM_CFLAGS): Add LIBSTR definition with base name of
	the lib directory.
	* eblopenbackend.c (openbackend): Use LIBSTR instead of hardcoded
	lib in path to ebl modules.

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

	* Makefile.am: Add rules for ppc and ppc64 ebl module.
	* ppc_init..c: New file.
	* ppc_destr.c: New file.
	* ppc_symbol.c: New file.
	* libebl_ppc.h: New file.
	* libebl_ppc.map: New file.
	* ppc64_init..c: New file.
	* ppc64_destr.c: New file.
	* ppc64_symbol.c: New file.
	* libebl_ppc64.h: New file.
	* libebl_ppc64.map: New file.

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

	* Makefile.am: Support building with mudflap.

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

	* libeblP.h (_): Use elfutils domain.

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

	* eblsectionname.c: Add support for SHN_BEFORE and SHN_AFTER.

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

	* eblsegmenttypename.c ((ebl_segment_type_name): Add support for
	PT_GNU_RELRO.

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

	* libebl.h: Remove last traces of libtool.

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

	* elf-knowledge.h: Move to libelf subdir.

	* Makefile.am (EXTRA_DIST): Remove libebl.map.
	* libebl.map: Removed.

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

	* eblsectiontypename.c (ebl_section_type_name): Add support for
	SHT_SUNW_move, SHT_CHECKSUM, and SHT_GNU_LIBLIST.

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

	* ia64_symbol.c (ia64_dynamic_tag_name): New function.
	* libebl_ia64.h (ia64_dynamic_tag_name): Declare.
	* ia64_init.c (ia64_init): Register i164_dynamic_tag_name.

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

	* ia64_init.c (ia64_init): Initialize segment_type_name callback.
	* ia64_symbol.c (ia64_segment_type_name): Define.
	* libebl_ia64.h (ia64_segment_type_name): Declare.

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

	* Makefile.am (AM_CFLAGS): Add -fpic.

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

	* Makefile.am (install): Remove dependency on libebl.so.

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

	* eblopenbackend.c: Adjust relative path to arch-specific DSOs
	assuming the code ends up in the application.  Add second dlopen()
	try without any path, just the filename.
	* Makefile.in: Remove rules to build and install libebl.so.

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

        * Moved to CVS archive.
