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

	* elf32_getphdr.c: Check for e_phoff/size outside the file bounds.
	* elf_begin.c (file_read_elf): Don't set .phdr here.

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

	* elf.h: Update from glibc.

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

	* elf_error.c (ELF_E_FD_MISMATCH_IDX): Avoid nonobvious abbreviation
	in error message.

2010-04-01  Petr Machata  <pmachata@redhat.com>

	* elf_getdata.c (__elf_getdata_rdlock): Initialize data.s for data
	that do not need a conversion.

2010-03-11  Roland McGrath  <roland@redhat.com>

	* elf.h: Update from glibc.

2010-03-04  Ulrich Drepper  <drepper@redhat.com>

	* elf.h: Update from glibc.

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

	* elf_begin.c (file_read_elf): Leave section rawdata_base and
	data_base pointers null when [sh_offset,sh_size) points outside
	the mapped file.

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

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

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

	* elf32_getphdr.c: Use __elf_getphdrnum_rdlock.
	* gelf_getphdr.c: Likewise.
	* gelf_update_phdr.c: Likewise.
	* elf32_updatefile.c (__elf32_updatemmap, __elf32_updatefile): Likewise.
	* elf32_updatenull.c (__elf32_updatenull_wrlock): Likewise.
	* elf32_newphdr.c: Clear section 0's sh_info when resetting e_phnum.
	If COUNT is too large, use store PN_XNUM instead and set sh_info.
	* elf_begin.c (file_read_elf): Always allocate space we can use later
	for section 0 if doing RDWR.

	* elf_getphdrnum.c: New file.
	* Makefile.am (libelf_a_SOURCES): Add it.
	* libelf.h: Declare elf_getphdrnum.
	* libelfP.h: Declare __elf_getphdrnum_rdlock.
	* libelf.map (ELFUTILS_1.6): New set, add elf_getphdrnum.

	* elf.h: Update from glibc.

2009-10-23  Lubomir Rintel  <lkundrak@v3.sk>

	* elf32_updatefile.c (fill_mmap): When starting past shdr_end, start
	filling from section start, not shdr_end.

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

	* elf_readall.c (__libelf_readall): Fetch file size if not yet known.

2009-11-06  Mark Wielaard  <mjw@redhat.com>

	* elf_next.c (elf_next): Mark the archive header as unusable when
	there is no next ar element.

2009-08-12  Mark Wielaard  <mjw@redhat.com>

	* Makefile.am (libelf.so): Use -Wl,-z,defs not -defs.

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

	* elf.h: Update from glibc.

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

	* elf32_updatefile.c (__elfXX_updatemmap): Fix handling of gaps between
	sections.  Patch by Lubomir Rintel <lkundrak@v3.sk>.

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

	* libelfP.h (struct Elf): Remove unused ar.has_index field.
	Reorder various members for optimal packing.

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

	* elf.h: Update from glibc.

2009-06-13  Ulrich Drepper  <drepper@redhat.com>

	* Makefile.am (libelf_a_SOURCES): Replace elf_getshnum.c and
	elf_getshstrndx.c with elf_getshdrnum.c and elf_getshdrstrndx.c.
	* elf_getshnum.c: Renamed to...
	* elf_getshdrnum.c: ...this.  Rename function and add old name as
	alias.  Likewise for internal functions with derived names.
	* elf_getshstrndx.c: Renamed to...
	* elf_getshdrstrndx.c: ...this.  Rename function and add old name as
	alias.  Likewise for internal functions with derived names.
	* libelf.h: Add prototypes for new names.  Make old names as
	deprecated.
	* libelfP.h: Rename internal function prototypes.
	* libelf.map: Export for names.
	* elf32_checksum.c: Don't use deprecated functions.
	* elf32_getshdr.c: Likewise.

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

	* elf.h: Update from glibc.

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

	* elf.h: Update from glibc.

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

	* elf.h: Update from glibc.

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

	* elf32_updatefile.c (updatefile): For the zeroth section we still
	have to copy the section header.

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

	* elf_strptr.c: Add comment re possible problem.

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

	* elf32_updatenull.c (updatenull_wrlock): Fix comment of
	ELF_F_LAYOUT behaviour re section header table.

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

	* elf32_updatefile.c (__elfXX_updatemmap): Fill the gap between
	sections even if only the section at the start of the gap has been
	changed.
	(__elfXX_updatefile): Likewise.

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

	* elf32_updatefile.c (__elfXX_updatemmap): Skip most of the loop to
	handle sections for NOBITS sections.
	(elfXX_updatefile): Likewise.

	* elf32_updatefile.c (__elfXX_updatemmap): When skipping non-NOBITS
	sections we haven't loaded, update last_position based on scn_start,
	not based on old value.  Don't run the loop for the dummy section 0.
	(elfXX_updatefile): Don't run the loop for the dummy section 0.

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

	* libelfP.h (_): We only have one translation domain, elfutils.

	* Makefile.am: Use USE_LOCKS instead of USE_TLS.
	* elf_error.c: Always use __thread.  Remove all !USE_TLS code.

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

	* note_xlate.h (elf_cvt_note): Don't examine a size too small to
	container a note header.

2008-12-11  Roland McGrath  <roland@redhat.com>

	* elf32_updatefile.c (__elfw2(LIBELFBITS,updatemmap)): Handle
	placement offset going backwards, for out-of-order or overlapping
	(bogus) sh_offset layouts.  It's a dumb use, but should not crash.
	(__elfw2(LIBELFBITS,updatefile)): Likewise.
	Fixes RHBZ#476136.

	* libelf.h (Elf_Data): Whitespace fix.

2008-12-10  Roland McGrath  <roland@redhat.com>

	* elf_getarhdr.c (elf_getarhdr): Fix missing rename in last change.

2008-10-22  Petr Machata  <pmachata@redhat.com>

	* elf_rawfile.c (elf_rawfile): Lock around elf-> references.

2008-10-21  Petr Machata  <pmachata@redhat.com>

	* libelfP.h: Rename getehdr_rdlock to getehdr_wrlock.
	* elf32_getehdr.c (getehdr_rdlock): Move the code to new function
	getehdr_impl and make it a wrapper.  Rename to getehdr_wrlock.
	(getehdr_impl): Guard elf->class init with wrlock.
	(getehdr): Also make it a wrapper of getehdr_impl.
	* elf32_updatenull.c (updatenull_wrlock): Call getehdr_wrlock.

2008-10-20  Petr Machata  <pmachata@redhat.com>

	* elf_getdata_rawchunk.c (elf_getdata_rawchunk): Lock around the
	code that reads mutable elf state.  Relock to write lock to chain
	the new chunk on the elf rawchunks list.

2008-10-20  Petr Machata  <pmachata@redhat.com>

	* elf32_checksum.c (checksum): Place a lock around the code that
	processes data.  Make it wrlock if the code needs to xlate the
	data before processing.

2008-10-16  Petr Machata  <pmachata@redhat.com>

	* elf_begin.c
	(__libelf_next_arhdr): Rename to __libelf_next_arhdr_wrlock.
	(dup_elf): Adjust the call.
	(elf_begin): New local function lock_dup_elf.  Relocks the elf if
	necessary before calling dup.  Call this instead of dup_elf.
	* elf_getarhdr.c
	(elf_getarhdr): Lock before calling __libelf_next_arhdr_wrlock.
	* elf_next.c (elf_next): Likewise.
	* elf_rand.c (elf_rand): Likewise.

2008-10-14  Petr Machata  <pmachata@redhat.com>

	* elf_getdata.c (__elf_getdata_rdlock): Lock before converting.

2008-11-26  Roland McGrath  <roland@redhat.com>

	* elf.h: Update from glibc.

2008-10-06  Roland McGrath  <roland@redhat.com>

	* elf_getarhdr.c (elf_getarhdr): Return NULL when passed NULL.

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

	* elf_begin.c (get_shnum): Avoid misaligned reads for matching endian.

	* libelfP.h [!ALLOW_UNALIGNED] (__libelf_type_align): Fix CLASS index.

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

	* Makefile.am (libelf_so_LDLIBS): New variable.
	(libelf.so): Use it in the link.

2008-08-21  Petr Machata  <pmachata@redhat.com>

	* elf_getdata.c, libelfP.h
	(__elf_getdata_internal): Rename to __elf_getdata_rdlock.
	(__libelf_set_rawdata_wrlock): New function.
	(__libelf_set_rawdata): Make it a wrapper that calls *_wrlock.
	* elf32_updatenull.c, libelfP.h
	(__elfNN_updatenull): Rename to __elfNN_updatenull_wrlock.

2008-08-21  Petr Machata  <pmachata@redhat.com>

	* elf32_getphdr.c, libelfP.h
	(__elfNN_getphdr_internal): Drop.  Move __elfNN_getphdr_internal
	code to __elfNN_getphdr_wrlock.
	(__elfNN_getphdr_rdlock, __elfNN_getphdr_wrlock): New functions.
	(__elfNN_getphdr_rdlock, __elfNN_getphdr_wrlock): Make these
	wrappers of getphdr_impl.

2008-08-21  Petr Machata  <pmachata@redhat.com>

	* elf32_getehdr.c, libelfP.h
	(__elfNN_getehdr_internal): Rename to __elfNN_getehdr_rdlock.
	* gelf_getehdr, libelfP.h:
	(__gelf_getehdr_internal): Rename to __gelf_getehdr_rdlock.

2008-08-21  Petr Machata  <pmachata@redhat.com>

	* elf32_getshdr.c
	(__elfNN_getshdr_internal): Drop.
	(load_shdr_wrlock, scn_valid): New functions, contain bits of
	behaviour from __elfNN_getshdr_internal.
	(__elfNN_getshdr_rdlock, __elfNN_getshdr_wrlock): Replacements for
	dropped _internal functions above.
	* elf_getshnum.c
	(__elf_getshnum_internal): Rename to __elf_getshnum_rdlock.

2008-08-04  Petr Machata  <pmachata@redhat.com>

	* libelfP.h (RWLOCK_RDLOCK, RWLOCK_WRLOCK, RWLOCK_UNLOCK): New macros.

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

	* elf.h: Update from glibc.

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

	* elf32_offscn.c: Make sure shdrs have been read in.

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

	* elf.h: Update from glibc.

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

	* elf.h: Update from glibc.

2008-01-31  Ulrich Drepper  <drepper@redhat.com>

	* elf_strptr.c (elf_strptr): Don't fail if the ELF file is currently
	under construction and no raw data can be read from disk.

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

	* elf.h: Update from glibc.

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

	* elf_begin.c (__libelf_next_arhdr): Rewrite conversions using a macro.
	Fixes various pastos in wrong type in sizeof, wrong string parsed.

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

	* elf_getaroff.c: Calculate from start_offset, instead of using
	parent's state.ar.offset field.

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

	* Makefile.am (euinclude): Variable removed.
	(pkginclude_HEADERS): Set this instead of euinclude_HEADERS.

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

	* common.h: Add __attribute__ ((unused)) to static functions.

2007-12-20  Ulrich Drepper  <drepper@redhat.com>

	* Makefile.am (libelf_a_SOURCES): Add elf_scnshndx.
	* libelfP.h (struct Elf_Scn): Add shndx_index field.
	Declare __elf_scnshndx_internal.
	* elf32_getshdr.c: Record location of extended section header.
	* elf_begin.c (file_read_elf): Likewise.
	* elf_scnshndx.c: New file.
	* libelf.h: Declare elf_scnshndx.
	* libelf.map: Add elf_scnshndx to version ELFUTILS_1.4.

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

	* libelf.h: Replace off64_t with loff_t throughout.
	Only that type name is unconditionally defined by <sys/types.h>

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

	* libelf.h (Elf_Data): Comment fix.

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

	* elf.h: Update from glibc.

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

	* elf_begin.c (__libelf_next_arhdr): Fix fencepost error and wrong
	member access in terminating name with no trailing /.  Trim trailing
	spaces when there is no /.

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

	* elf_end.c (elf_end): Don't free ELF->state.ar.ar_sym when it's -1l.

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

	* libelf.h (Elf_Data): Use off64_t for d_off.
	(Elf_Arhdr): Use off64_t for ar_size.
	(elf_update, elf_getbase, elf_getaroff): Return off64_t.

	* gelf_rawchunk.c: File removed.
	* gelf_freechunk.c: File removed.
	* Makefile.am (libelf_a_SOURCES): Remove them.
	* libelf.map (ELFUTILS_1.0): Remove exports.
	* gelf.h: Remove decls.

	* elf_getdata_rawchunk.c: New file.
	* Makefile.am (libelf_a_SOURCES): Add it.
	* libelf.map (ELFUTILS_1.3): Add elf_getdata_rawchunk.
	* libelf.h: Declare it.
	* libelfP.h (Elf_Data_Chunk): New type.
	(struct Elf.elf): New member `rawchunks'.
	* elf_end.c (elf_end): Free recorded rawchunk buffers.

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

	* gelf_getnote.c: New file.
	* Makefile.am (libelf_a_SOURCES): Add it.
	* gelf.h: Declare gelf_getnote.
	* libelf.map (ELFUTILS_1.3): Add gelf_getnote.

	* libelfP.h (NOTE_ALIGN): New macro.
	* note_xlate.h: New file.
	* Makefile.am (noinst_HEADERS): Add it.
	* gelf_xlate.c: Include it.
	(__elf_xfctstom): Use elf_cvt_note.
	* elf_getdata.c (shtype_map, __libelf_type_align): Handle SHT_NOTE.
	(__libelf_set_rawdata): Likewise.

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

	* gelf_update_auxv.c: New file.
	* gelf_getauxv.c: New file.
	* Makefile.am (libelf_a_SOURCES): Add them.
	* gelf.h: Declare gelf_getauxv, gelf_update_auxv.
	* libelf.map (ELFUTILS_1.3): New set, inherits fom ELFUTILS_1.2.
	Export gelf_getauxv, gelf_update_auxv.

	* libelf.h (Elf_Type): Add ELF_T_AUXV.
	* abstract.h: Add auxv_t entries.
	* exttypes.h: Likewise.
	* gelf_xlate.h: Likewise.
	* gelf_xlate.c (__elf_xfctstom): Add ELF_T_AUXV entries.
	* gelf_fsize.c (__libelf_type_sizes): Likewise.

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

	* elf32_updatefile.c (compare_sections): Sort secondarily on sh_size,
	and only tertiarily on index.

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

	* elf.h: Update from glibc.

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

	* elf.h: Update from glibc.

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

	* elf_begin.c (get_shnum): Fix test for e_shoff being out of bounds.
	Return zero when the section headers do not fit within MAXSIZE.

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

	* libelfP.h (LIBELF_EV_IDX): New macro.
	(__libelf_type_align): New macro.
	[! ALLOW_UNALIGNED]: Declare __libc_type_aligns array.
	* elf_getdata.c (shtype_map): Convert to just Elf_Type[][].
	(convert_data, __libelf_set_rawdata): Use that, __libelf_type_align,
	and __libelf_type_sizes, in place of old table.
	(__libc_type_aligns): New const variable.

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

	* Makefile (libelf.so): Build with -z relro.

	* elf_begin.c (read_file): When using ELF_C_READ_MMAP use MAP_PRIVATE.

2007-01-30  Ulrich Drepper  <drepper@redhat.com>

	* nlist.c: Close file descriptor before returning.

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

	* gnuhash_xlate.h (elf_cvt_gnuhash): Fix fence-post error so we
	convert the final word.

	* elf32_getshdr.c: Don't byteswap shdr fields when EI_DATA matches
	MY_ELFDATA on !ALLOW_UNALIGNED machines.

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

	* gelf_rawchunk.c (gelf_rawchunk): Clear RESULT pointer after freeing
	it on read error.

2006-10-13  Roland McGrath  <roland@redhat.com>

	* elf32_updatenull.c: Look for and accept phdr also for ET_CORE.
	* elf_error.c (msgstr): Change ELF_E_INVALID_PHDR string.

2006-08-29  Roland McGrath  <roland@redhat.com>

	* elf32_getphdr.c: Don't byteswap phdr fields when EI_DATA matches
	MY_ELFDATA on !ALLOW_UNALIGNED machines.
	Reported by Christian Aichinger <Greek0@gmx.net>.

	* Makefile.am (CLEANFILES): Add libelf.so.$(VERSION).

2006-08-08  Ulrich Drepper  <drepper@redhat.com>

	* elf.h (DT_VALNUM): Update.
	(DT_ADDRNUM): Likewise.

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

	* elf32_updatefile.c: Adjust for internal_function_def removal.
	* elf32_updatenull.c: Likewise.
	* elf_begin.c: Likewise.
	* elf_getdata.c: Likewise.

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

	* libelf.h: Define ELF_T_GNUHASH.
	* elf_getdata.c (TYPEIDX): Handle SHT_GNU_HASH.
	(shtype_map): Add SHT_GNU_HASH entries.
	* gelf_xlate.c (__elf_xfctstom): Add ELF_T_GNUHASH entries.
	* gnuhash_xlate.h: New file.
	* Makefile.am (noinst_HEADERS): Add gnuhash_xlate.h.

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

	* elf_gnu_hash.c: New file.
	* libelf.h: Declare elf_gnu_hash.
	* Makefile.am (libelf_a_SOURCES): Add elf_gnu_hash.
	* libelf.map: Add elf_gnu_map for version ELFUTILS_1.2.

2006-06-15  Roland McGrath  <roland@redhat.com>

	* libelf.h (elf_getarsym): Fix comment typo.
	Rename second parameter to be more explanatory.
	(elf_getident, elf_rawhide): Likewise.

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

	* elf32_updatefile.c (updatemmap): Preserve section content if
	copying would overwrite them.
	Fix msync paramters.

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

	* elf32_updatefile.c (updatemmap): Handle other-endian case.

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

	* elf32_updatefile.c (updatemmap): Cleanups.  Remove shdr_dest
	variable.  Before writing sections, make a copy of the section
	header data if necessary.  Don't write section header while
	writing the section constent, it might overwrite some sections.
	Restore the pointer afterwards.
	* elf32_updatenull.c (updatenull): If the offset of a section in a
	file changed make sure we read the section so that it'll be written
	out.

	* elf_update.c: Remove debug message.

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

	* gelf_xlate.c [! ALLOW_UNALIGNED] (union unaligned): New type.
	(FETCH, STORE): New macros.
	(INLINE3): Use those to do alignment-friendly conversion.

	* elf32_getshdr.c: Include map_address and start_offset in alignment
	calculations.
	* elf32_getphdr.c: Likewise.

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

	* elf.h: Update from glibc.

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

	* elf.h: Update from glibc.

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

	* elf.h: Update from glibc.

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

	* elf_update.c (write_file): Stat the file and fchmod it after update
	if its mode had S_ISUID or S_ISGID bits set.

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

	* elf32_getphdr.c: Include <system.h>.  Use pread_retry instead of
	pread.  And branch prediction where useful.
	* elf_begin.c: Likewise.
	* elf_getdata.c: Likewise.
	* elf_getshstrndx.c: Likewise.
	* elf_readall.c: Likewise.
	* gelf_rawchunk.c: Likewise.
	* elf32_updatefile.c: Include <system.h>.  Use pread_retry instead of
	pread.  And branch prediction where useful.
	* elf_getarsym.c: Don't define pread_retry here.

	* Makefile.am: Use $(LINK) not $(CC) when creating DSO.
	(%.os): Use COMPILE.os.
	(COMPILE.os): Filter out gconv options.

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

	* elf_begin.c (file_read_elf): Avoid reading ELF header from file
	again.  Instead accept additional parameter which points to it if we
	don't use mmap.
	(get_shnum): Use passed in e_ident value as source of ELF header.

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

	* elf_begin.c (__libelf_next_arhdr): Use TEMP_FAILURE_RETRY.

	* Makefile (libelf_a_SOURCES): Add elf_getaroff.c.
	* libelf.map: Export elf_getaroff.
	* libelf.h: Declare elf_getaroff.
	* elf_getaroff.c: New file.

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

	* elf_begin.c (get_shnum): Optimize memory handling.  Always read from
	mapped file if available.  Fix access to 64-bit sh_size.  Recognize
	overflow.
	(file_read_elf): Likewise.

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

	* elf32_offscn.c: Do not match empty sections at OFFSET unless
	there are no nonempty sections at that offset.

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

	* elf.h: Update from glibc.

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

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

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

	* libelf.map: Move elf32_offscn, elf64_offscn, and gelf_offscn in
	new version ELFUTILS_1.1.1.

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

	* elf_error.c: Add handling of ELF_E_INVALID_OFFSET.
	* elf32_offscn.c: New file.
	* elf64_offscn.c: New file.
	* gelf_offscn.c: New file.
	* Makefile.am (libelf_a_SOURCES): Add elf32_offscn.c, elf64_offscn.c,
	and gelf_offscn.c.
	* libelf.sym: Export new symbols.

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

	* elf-knowledge.h (SECTION_STRIP_P): Don't handle removal of debug
	sections here anymore.
	* elf32_checksum.c: Adjust for change in SECTION_STRIP_P interface.

	* elf_update.c (elf_update): Get write lock, not read lock.

	* elf32_updatenull.c (updatenull): Get section headers if necessary
	and possible.

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

	* elf32_updatenull.c (updatenull): If program header hasn't been loaded
	yet, try to do it now.
	Don't unnecessarily update overflow of section count in zeroth section
	sh_size field.
	If section content hasn't been read yet, do it before looking for the
	block size.  If no section data present, infer size of section header.

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

	* elf.h: Update again.

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

	* elf.h: Update from glibc.

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

	* elf_begin.c (read_file) [_MUDFLAP]: Don't use mmap for now.
	* elf_update.c (write_file) [_MUDFLAP]: Likewise.

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

	* elf32_checksum.c: Use INTUSE and INTDEF to avoid PLTs.
	* elf_end.c: Likewise.
	* elf_getdata.c: Likewise.
	* gelf_getehdr.c: Likewise.
	* nlist.c: Likewise.
	* libelfP.h: Add declarations of internal functions.

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

	* common.h (CONVERT): Make sure all values are unsigned.
	(CONVERT_TO): Likewise.

	* Makefile.am (AM_CFLAGS): Add -Wformat=2.
	Fix rule to build libelf.so.

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

	* Makefile.am: Cleanup AM_CFLAGS handling.  Add -Wunused -Wextra.
	Remove lint handling.
	* elf32_getphdr.c: Minor cleanups.
	* elf32_getshdr.c: Likewise.
	* elf32_updatefile.c: Likewise.
	* elf32_updatenull.c: Likewise.
	* elf_begin.c: Likewise.
	* elf_error.c: Likewise.
	* elf_getarsym.c: Likewise.
	* elf_getdata.c: Likewise.
	* elf_update.c: Likewise.
	* gelf_xlate.c: Likewise.

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

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

	* Makefile.am [MUDFLAP] (AM_CFLAGS): Add -Werror -fpic -fmudflap.

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

	* gelf_getehdr.c (gelf_getehdr): Slight optimization.

	* elf32_checksum.c (checksum): Do not look at NOBITS sections.

	* gelf.h: Add gelf_checksum prototype.

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

	* elf32_checksum.c: Make compile with gcc 4.0.
	* elf32_updatefile.c: Likewise.
	* elf32_updatenull.c: Likewise.
	* elf_begin.c: Likewise.
	* elf_error.c: Likewise.
	* elf_getdata.c: Likewise.
	* elf_getident.c: Likewise.

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

	* elf.h: Update from glibc.

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

	* elf_update.c: Fix locking.
	* elf_clone.c: Likewise.

	* libelf.h: Define ELF_T_LIB.
	* gelf_getlib.c: New file.
	* gelf_update_lib.c: New file.
	* gelf.h: Declare the new functions.  Define GElf_Lib.
	* abstract.h: Define Lib, Lib32, Lib64.
	* gelf_xlate.c (__elf_xfctstom): Add ELF_T_LIB entry.
	* gelf_xlate.h: Add entry for ElfXX_Lib.
	* elf_getdata.c: Recognize SHT_GNU_LIBLIST as a known section type.
	* libelf.map: Add new symbols to ELFUTILS_1.1.
	* Makefile.am (libelf_a_SOURCES): Add gelf_getlib.c and
	gelf_update_lib.c.

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

	* Makefile.am: Support building with mudflap.

	* gelf_xlate.c (INLINE3): Avoid using cast as lvalue.
	* dl-hash.h (_dl_elf_hash): Likewise.

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

	* elf-knowledge.h: New file.  From libelf subdir.
	* Makefile.am (euincludedir): Define.
	(euinclude_HEADERS): Add elf-knowledge.h.

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

	* elf.h: Define some PT_IA_64_HP_* constants.

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

	* libelfP.h (struct Elf): Move state.elf64.sizestr_offset after
	state.elf64.scnincr to match state.elf{,32}.

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

	* elf32_updatefile.c (__updatemmap): When writing back file where
	some sections have not been read in, count their sizes based on
	the section header.

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

        * Moved to CVS archive.
