Blame libelf/ChangeLog

Packit Service 35cfd5
2020-06-04  Mark Wielaard  <mark@klomp.org>
Packit Service 35cfd5
Packit Service 35cfd5
	* elf.h: Update from glibc.
Packit Service 35cfd5
Packit Service 35cfd5
2020-05-08  Mark Wielaard  <mark@klomp.org>
Packit Service 35cfd5
Packit Service 35cfd5
	* elf_strptr.c (elf_strptr): Check shdr is not NULL.
Packit Service 35cfd5
Packit Service 35cfd5
2020-05-08  Mark Wielaard  <mark@klomp.org>
Packit Service 35cfd5
Packit Service 35cfd5
	* elf_getdata.c (__libelf_set_rawdata_wrlock): Check
Packit Service 35cfd5
	__gelf_getehdr_rdlock return value.
Packit Service 35cfd5
Packit Service 35cfd5
2020-04-25  Mark Wielaard  <mark@klomp.org>
Packit Service 35cfd5
Packit Service 35cfd5
	* elf_compress.c (__libelf_compress): Remove free (out_buf).
Packit Service 35cfd5
Packit Service 35cfd5
2020-03-18  Omar Sandoval  <osandov@fb.com>
Packit Service 35cfd5
Packit Service 35cfd5
	* elf_getphdrnum.c (__elf_getphdrnum_rdlock): Call
Packit Service 35cfd5
	__elf{32,64}_getshdr_rdlock if the shdr is not cached.
Packit Service 35cfd5
Packit Service 35cfd5
2019-03-20  Matthias Maennich  <maennich@google.com>
Packit Service 35cfd5
Packit Service 35cfd5
	* elf_compress.c (__libelf_compress): Always call deflate_cleanup
Packit Service 35cfd5
	in failure path. Call deflateEnd only once.
Packit Service 35cfd5
	(__libelf_decompress): Call inflateEnd only once.
Packit Service 35cfd5
Packit 032894
2019-06-18  Mark Wielaard  <mark@klomp.org>
Packit 032894
Packit 032894
	* common.h (allocate_elf): Use int64_t instead of off_t for offset.
Packit 032894
	* elf32_newphdr.c (newphdr): Document why Elf32/64_Word is correct.
Packit 032894
	* elf32_updatefile.c (fill): Use int64_t instead of off_t for pos.
Packit 032894
	(updatefile): Define last_offset, shdr_offset and scn_start as
Packit 032894
	int64_t instead of off_t.
Packit 032894
	* elf32_updatenull.c: Define Elf32_SizeWord and Elf64_SizeWord.
Packit 032894
	(updatenull_wrlock): Return int64_t instead of off_t. Define size,
Packit 032894
	sh_entsize, sh_align and sh_size as SizeWords. Define offset as
Packit 032894
	int64_t.  Cast data->d_off to SizeWord instead of GElf_Word. Drop
Packit 032894
	size GElf_Word cast. Cast offset to SizeWord instead of GElf_Word
Packit 032894
	when comparing with sh_size.
Packit 032894
	* elf_begin.c (get_shnum): Define offset as int64_t instead of
Packit 032894
	off_t. Document why use GElf_Word is correct.
Packit 032894
	(file_read_elf): Define offset as int64_t instead of off_t.
Packit 032894
	(__libelf_read_mmaped_file): Likewise.
Packit 032894
	(read_unmmaped_file): Likewise.
Packit 032894
	(read_file): Likewise.
Packit 032894
	* elf_getaroff.c (elf_getaroff): Return int64_t.
Packit 032894
	* elf_getbase.c (elf_getbase): Likewise.
Packit 032894
	* elf_getdata_rawchunk.c (elf_getdata_rawchunk): Define offset as
Packit 032894
	int64_t instead of off_t.
Packit 032894
	* elf_update.c (write_file): Return int64_t instead of off_t,
Packit 032894
	define size as int64_t instead of off_t.
Packit 032894
	(elf_update): Likewise.
Packit 032894
	* libelfP.h (struct Elf): Define start_offset, sizestr_offset and
Packit 032894
	offset as int64_t.
Packit 032894
	(__libelf_read_mmaped_file): Define offset as int64_t.
Packit 032894
	(__elf32_updatenull_wrlock): Return int64_t.
Packit 032894
	(__elf64_updatenull_wrlock): Return int64_t.
Packit 032894
Packit 032894
2019-05-12  Mark Wielaard  <mark@klomp.org>
Packit 032894
Packit 032894
	* elf32_updatenull.c (updatenull_wrlock): Mark shdr_flags dirty if
Packit 032894
	either offset or size changed.
Packit 032894
Packit 032894
2019-05-01  Mark Wielaard  <mark@klomp.org>
Packit 032894
Packit 032894
	* gelf_getnote.c (gelf_getnote): Check n_namesz doesn't overflow
Packit 032894
	offset.
Packit 032894
Packit 032894
2019-04-30  Mark Wielaard  <mark@klomp.org>
Packit 032894
Packit 032894
	* note_xlate.h (elf_cvt_note): Indicate we only translated the note
Packit 032894
	header if we ran out of data by updating len, src and dest.
Packit 032894
Packit 032894
2019-04-01  Mao Han  <han_mao@c-sky.com>
Packit 032894
Packit 032894
	* elf.h: Update from glibc.
Packit 032894
Packit 032894
2019-03-07  Mark Wielaard  <mark@klomp.org>
Packit 032894
Packit 032894
	* elf32_updatefile.c (updatemmap): Use posix_memalign instead of
Packit 032894
	aligned_alloc.
Packit 032894
Packit 032894
2019-03-06  Mark Wielaard  <mark@klomp.org>
Packit 032894
Packit 032894
	* elf32_updatefile.c (updatemmap): Free scns before returning
Packit 032894
	allocation failure.
Packit 032894
Packit 032894
2019-02-24  Mark Wielaard  <mark@klomp.org>
Packit 032894
Packit 032894
	* gelf_xlate.c (__elf_xfctstof): Remove alias.
Packit 032894
	* libelfP.h (__elf_xfctstof): Remove definition.
Packit 032894
Packit 032894
2019-02-24  Mark Wielaard  <mark@klomp.org>
Packit 032894
Packit 032894
	* elf32_fsize.c (local_strong_alias): Remove definition.
Packit 032894
	(msize): Remove alias.
Packit 032894
	* libelfP.h (__elf32_msize): Remove definition.
Packit 032894
	(__elf64_msize): Likewise.
Packit 032894
Packit 032894
2019-02-21  Mark Wielaard  <mark@klomp.org>
Packit 032894
Packit 032894
	* common.h (determine_kind): Only accept EV_CURRENT.
Packit 032894
	* elf32_fsize.c (fsize): Just check version is EV_CURRENT.
Packit 032894
	Use __libelf_type_size without version dimension.
Packit 032894
	* elf32_updatefile.c (updatemmap): Define fctp from __elf_xfctstom
Packit 032894
	without version dimension.
Packit 032894
	(updatefile): Likewise.
Packit 032894
	* elf32_updatenull.c (default_ehdr): Check e_version is EV_CURRENT.
Packit 032894
	(updatenull_wrlock): Check d_version is EV_CURRENT.
Packit 032894
	(elf32_xlatetof): Likewise. And get recsize without version
Packit 032894
	dimension from __elf_xfctstom.
Packit 032894
	(elf32_xlatetom): Likewise.
Packit 032894
	* elf_begin.c (elf_begin): Check __libelf_version is EV_CURRENT.
Packit 032894
	* elf_compress.c (__libelf_reset_rawdata): Set d_version to
Packit 032894
	EV_CURRENT.
Packit 032894
	* elf_getdata.c (shtype_map): Remove version dimension.
Packit 032894
	(__libelf_type_aligns): Likewise.
Packit 032894
	(__libelf_data_type): Use shtype_map without version dimension.
Packit 032894
	(convert_data): Remove unused version argument. Get fp from
Packit 032894
	__elf_xfctstom without version dimensions.
Packit 032894
	(__libelf_set_data_list_rdlock): Call convert_data without version.
Packit 032894
	* elf_getdata_rawchunk.c (elf_getdata_rawchunk): Call __elfcfctstom
Packit 032894
	conversion function without version dimensions. Set d_version to
Packit 032894
	EV_CURRENT.
Packit 032894
	* elf_newdata.c (elf_newdata): Set d_version to EV_CURRENT.
Packit 032894
	* elf_version.c (__libelf_version_initialized): Removed.
Packit 032894
	(__libelf_version): Initialized to EV_NONE.
Packit 032894
	(elf_version): Always return EV_CURRENT for EV_NONE version.
Packit 032894
	Only accept (and return) EV_CURRENT as version.
Packit 032894
	* gelf_fsize.c (__libelf_type_sizes): Remove version dimension.
Packit 032894
	(gelf_fsize): Only accept EV_CURRENT as version.
Packit 032894
	Use __libelf_type_sizes without version dimension.
Packit 032894
	* gelf_xlate.c (__elf_xftstom): Remove version dimensions.
Packit 032894
	* libelfP.h (__elf_xfctstom): Defined without version dimensions.
Packit 032894
	(__elf_xfctstof): Likewise.
Packit 032894
	(__libelf_type_sizes): Define without version dimension.
Packit 032894
	(elf_typesize): Define using __libelf_type_sizes without version
Packit 032894
	dimension.
Packit 032894
	(__libelf_version_initialized): Remove definition.
Packit 032894
	(__libelf_version): Add definition.
Packit 032894
	(LIBELF_EV_IDX): Removed define.
Packit 032894
	(__libelf_type_aligns): Remove version dimension.
Packit 032894
	* nlist.c (nlist): Call elf_version unconditionally.
Packit 032894
Packit 032894
2019-02-19  Mark Wielaard  <mark@klomp.org>
Packit 032894
Packit 032894
	* elf_compress.c (do_deflate_cleanup): Remove ei_data argument,
Packit 032894
	check cdatap is not NULL before calling free.
Packit 032894
	(deflate_cleanup): Add cdata as argument.
Packit 032894
	(__libelf_compress): Also check whether the d_size is not zero
Packit 032894
	before converting data. Call deflate_cleanup with an extra
Packit 032894
	argument depending on whether there is converted data to free.
Packit 032894
	Always allocate allocate at least one byte for buf_out.
Packit 032894
Packit 032894
2019-02-14  Mark Wielaard  <mark@klomp.org>
Packit 032894
Packit 032894
	* elf_begin.c (read_long_names): Make sure ar_size is properly
Packit 032894
	terminated. Sanity check len early if we can.
Packit 032894
Packit 032894
2019-01-18  Mark Wielaard  <mark@klomp.org>
Packit 032894
Packit 032894
	* Makefile.am (INSTALL_ELFH): Add elf.h to include_HEADERS when
Packit 032894
	defined, otherwise (the default) add elf.h to noinst_HEADERS.
Packit 032894
Packit 032894
2019-01-16  Mark Wielaard  <mark@klomp.org>
Packit 032894
Packit 032894
	* note_xlate.h (elf_cvt_note): Check n_namesz and n_descsz don't
Packit 032894
	overflow note_len into note header.
Packit 032894
Packit 032894
2018-11-17  Mark Wielaard  <mark@klomp.org>
Packit 032894
Packit 032894
	* elf32_updatefile.c (updatemmap): Make sure to call convert
Packit 032894
	function on a properly aligned destination.
Packit 032894
Packit 032894
2018-11-16  Mark Wielaard  <mark@klomp.org>
Packit 032894
Packit 032894
	* libebl.h (__elf32_msize): Mark with const attribute.
Packit 032894
	(__elf64_msize): Likewise.
Packit 032894
Packit 032894
2018-11-13  Mark Wielaard  <mark@klomp.org>
Packit 032894
Packit 032894
	* elf_getdata.c (__libelf_set_rawdata_wrlock): Explicitly set the
Packit 032894
	alignment of SHF_COMPRESSED data to the alignment of ELF_T_CHDR.
Packit 032894
	* elf_compress.c (elf_compress): After compression set sh_addralign
Packit 032894
	to the alignment of ELF_T_CHDR.
Packit 032894
Packit 032894
2018-11-09  Mark Wielaard  <mark@klomp.org>
Packit 032894
Packit 032894
	* elf_compress_gnu.c (elf_compress_gnu): Use elf_getdata.
Packit 032894
Packit 032894
2018-11-12  Mark Wielaard  <mark@klomp.org>
Packit 032894
Packit 032894
	* elf-knowledge.c (ELF_NOTE_GNU_BUILD_ATTRIBUTE_PREFIX): New define.
Packit 032894
	(NT_GNU_BUILD_ATTRIBUTE_{OPEN,FUNC}): Likewise.
Packit 032894
	(GNU_BUILD_ATTRIBUTE_TYPE_{NUMERIC,STRING,BOOL_TRUE,BOOL_FALSE}):
Packit 032894
	Likewise.
Packit 032894
	(GNU_BUILD_ATTRIBUTE_{VERSION,STACK_PROT,RELRO,STACK_SIZE,TOOL,ABI,
Packit 032894
	PIC,SHORT_ENUM}): Likewise.
Packit 032894
Packit 032894
2018-11-09  Mark Wielaard  <mark@klomp.org>
Packit 032894
Packit 032894
	* elf_compress.c (__libelf_reset_rawdata): Make rawdata change
Packit 032894
	explicit by calling __libelf_set_data_list.
Packit 032894
	* elf_getdata.c (convert_data): Don't convert if type is ELF_T_BYTE
Packit 032894
	even if endianness is different.
Packit 032894
Packit 032894
2018-10-18  Mark Wielaard  <mark@klomp.org>
Packit 032894
Packit 032894
	* libelf.h (Elf_Type): Add ELF_T_NHDR8.
Packit 032894
	* libelfP.h (__libelf_data_type): Add align argument.
Packit 032894
	(NOTE_ALIGN): Split into...
Packit 032894
	(NOTE_ALIGN4): ... and ...
Packit 032894
	(NOTE_ALIGN8): this.
Packit 032894
	* elf32_xlatetom.c (xlatetom): Recognize both ELF_T_NHDR and
Packit 032894
	ELF_T_NHDR8.
Packit 032894
	* elf_compress.c (elf_compress): Pass zdata_align to
Packit 032894
	__libelf_data_type.
Packit 032894
	* elf_compress_gnu.c (elf_compress_gnu): Pass sh_addralign to
Packit 032894
	__libelf_data_type.
Packit 032894
	* elf_getdata.c (shtype_map): Add ELF_T_NHDR8.
Packit 032894
	(__libelf_data_type): Take align as extra argument, use it to
Packit 032894
	determine Elf_Type.
Packit 032894
	(__libelf_set_rawdata_wrlock): Recognize ELF_T_NHDR8. Pass align to
Packit 032894
	__libelf_data_type.
Packit 032894
	* gelf_fsize.c (__libelf_type_sizes): Add ELF_T_NHDR8.
Packit 032894
	* gelf_getnote.c (gelf_getnote): Use Elf_Type of Elf_Data to calculate
Packit 032894
	padding.
Packit 032894
	* gelf_xlate.c (__elf_xfctstom): Set ELF_T_NHDR to elf_cvt_note4,
Packit 032894
	add ELF_T_NHDR8.
Packit 032894
	* note_xlate.h (elf_cvt_note): Take nhdr8 argument and use it to
Packit 032894
	determine padding.
Packit 032894
	(elf_cvt_note4): New function.
Packit 032894
	(elf_cvt_note8): Likewise.
Packit 032894
Packit 032894
2018-09-13  Mark Wielaard  <mark@klomp.org>
Packit 032894
Packit 032894
	* elf32_updatefile.c (updatemmap): Use shnum, not ehdr->e_shnum.
Packit 032894
	* elf_getscn.c (elf_getscn): Create section zero if it is requested,
Packit 032894
	but doesn't exist yet.
Packit 032894
Packit 032894
2018-09-12  Mark Wielaard  <mark@klomp.org>
Packit 032894
Packit 032894
	* elf32_updatefile.c (updatemmap): Use memmove, not memcpy.
Packit 032894
	* elf_update.c (write_file): Try to mremap if file needs to be
Packit 032894
	extended.
Packit 032894
Packit 032894
2018-08-18  Mark Wielaard  <mark@klomp.org>
Packit 032894
Packit 032894
	* libelf.h (elf_compress_gnu): Add documentation about
Packit 032894
	interaction between SHF_COMPRESED and elf_compress_gnu.
Packit 032894
	* elf_compress_gnu.c (elf_compress_gnu): Return error if section
Packit 032894
	sh_flags has SHF_COMPRESSED set.
Packit 032894
Packit 032894
2018-07-27  Mark Wielaard  <mark@klomp.org>
Packit 032894
Packit 032894
	* libelf.h (elf_getshdrstrndx): Fix documentation.
Packit 032894
	(elf_getshstrndx): Likewise.
Packit 032894
Packit 032894
2018-06-19  Mark Wielaard  <mark@klomp.org>
Packit 032894
Packit 032894
	* libelfP.h (__libelf_type_align): Remove !ALLOW_UNALIGNED guard.
Packit 032894
	* elf_getdata.c (__libelf_type_aligns): Likewise.
Packit 032894
	(convert_data): Remove ALLOW_UNALIGNED check.
Packit 032894
	* elf_getdata_rawchunk.c (elf_getdata_rawchunk): Likewise.
Packit 032894
Packit 032894
2018-06-21  Mark Wielaard  <mark@klomp.org>
Packit 032894
Packit 032894
	* elf.h: Update from glibc.
Packit 032894
Packit 032894
2018-04-19  Andreas Schwab  <schwab@suse.de>
Packit 032894
Packit 032894
	* elf.h: Update from glibc.
Packit 032894
Packit 032894
2018-02-16  Mark Wielaard  <mark@klomp.org>
Packit 032894
Packit 032894
	* elf.h: Update from glibc.
Packit 032894
Packit 032894
2018-02-09  Joshua Watt  <JPEWhacker@gmail.com>
Packit 032894
Packit 032894
	* elf32_updatenull.c (updatenull_wrlock): Use FALLTHROUGH macro
Packit 032894
	instead of comment.
Packit 032894
	* elf_begin.c (read_unmmaped_file): Likewise.
Packit 032894
	(elf_begin): Likewise.
Packit 032894
	* elf_cntl.c (elf_cntl): Likewise.
Packit 032894
Packit 032894
2017-10-04  Mark Wielaard  <mark@klomp.org>
Packit 032894
Packit 032894
	* elf_begin.c (file_read_elf): Skip sanity checking e_shoff if scncnt
Packit 032894
	is zero, we won't use it then.
Packit 032894
Packit 032894
2017-10-04  Mark Wielaard  <mark@klomp.org>
Packit 032894
Packit 032894
	* libelfP.h: Add ELF_E_INVALID_ELF to error values enum.
Packit 032894
	* elf_error.c (ELF_E_INVALID_ELF_IDX): New define. Use it as value
Packit 032894
	for ELF_E_INVALID_ELF in msgidx.
Packit 032894
	* elf_getshdrstrndx.c (elf_getshdrstrndx): Distinquish between pread
Packit 032894
	failing and not having enough data.
Packit 032894
	* elf_begin.c (get_shnum): Likewise. Explicitly set libelf errno on
Packit 032894
	too large value.
Packit 032894
	(file_read_elf): Make sure to always set libelf errno when returning
Packit 032894
	NULL. Distinquish between i/o file and elf data errors.
Packit 032894
Packit 032894
2017-08-18  Ulf Hermann  <ulf.hermann@qt.io>
Packit 032894
Packit 032894
	* gelf_xlate.c: Use attribute_packed.
Packit 032894
Packit 032894
2017-04-27  Ulf Hermann  <ulf.hermann@qt.io>
Packit 032894
Packit 032894
	* libelfP.h: Use attribute_hidden.
Packit 032894
Packit 032894
2017-04-27  Ulf Hermann  <ulf.hermann@qt.io>
Packit 032894
Packit 032894
	* Makefile.am: Use fpic_CFLAGS and dso_LDFLAGS.
Packit 032894
Packit 032894
2017-08-15  Mark Wielaard  <mark@klomp.org>
Packit 032894
Packit 032894
	* elf.h: Update from glibc. Add new powerpc note descriptors.
Packit 032894
Packit 032894
2017-07-19  Gustavo Romero <gromero@linux.vnet.ibm.com>
Packit 032894
Packit 032894
	* elf.h: Add known type in notes segment descriptor for HTM SPRs.
Packit 032894
Packit 032894
2017-02-17  Ulf hermann  <ulf.hermann@qt.io>
Packit 032894
Packit 032894
	* Makefile.am: Add libelf_so_DEPS, which include libeu.a,
Packit 032894
	libelf_so_LIBS.
Packit 032894
	(libelf_so_LDLIBS): Add $(libelf_so_DEPS).
Packit 032894
	(libelf.so$(EXEEXT): Use $(libelf_so_LIBS), require libelf.map
Packit 032894
	from the right directory.
Packit 032894
Packit 032894
2017-04-20  Ulf Hermann  <ulf.hermann@qt.io>
Packit 032894
Packit 032894
	* libelfP.h: Don't include config.h.
Packit 032894
Packit 032894
2017-04-20  Ulf Hermann  <ulf.hermann@qt.io>
Packit 032894
Packit 032894
	* elf_begin.c: Use F_GETFD rather than F_GETFL.
Packit 032894
Packit 032894
2017-04-20  Ulf Hermann  <ulf.hermann@qt.io>
Packit 032894
Packit 032894
	* libelf.h: Define macros for various function attributes and use
Packit 032894
	them.
Packit 032894
Packit 032894
2017-04-20  Ulf Hermann  <ulf.hermann@qt.io>
Packit 032894
Packit 032894
	* elf_update.c: Set ELF_F_MMAPPED flag if we mmap from elf_update.
Packit 032894
Packit 032894
2017-04-19  Mark Wielaard  <mark@klomp.org>
Packit 032894
Packit 032894
	* elf_getarsym.c (elf_getarsym): Initialize n to zero.
Packit 032894
Packit 032894
2017-03-27  Mark Wielaard  <mark@klomp.org>
Packit 032894
Packit 032894
	* elf32_updatefile.c (updatemmap): Always update last_positition.
Packit 032894
	(updatefile): Likewise.
Packit 032894
Packit 032894
2017-03-24  Mark Wielaard  <mark@klomp.org>
Packit 032894
Packit 032894
	* elf_compress.c (__libelf_decompress): Check insane compression
Packit 032894
	ratios before trying to allocate output buffer.
Packit 032894
Packit 032894
2016-10-11  Akihiko Odaki  <akihiko.odaki.4i@stu.hosei.ac.jp>
Packit 032894
	    Mark Wielaard  <mjw@redhat.com>
Packit 032894
Packit 032894
	* gelf.h (gelf_newehdr): Change return type to void *.
Packit 032894
	(gelf_newphdr): Likewise.
Packit 032894
	* gelf_newehdr.c (gelf_newehdr): Likewise.
Packit 032894
	* gelf_newphdr.c (gelf_newphdr): Likewise.
Packit 032894
Packit 032894
2016-10-21  Mark Wielaard  <mjw@redhat.com>
Packit 032894
Packit 032894
	* elf_getdata.c (__libelf_set_rawdata_wrlock): Sanity check
Packit 032894
	offset and size before trying to malloc and read data.
Packit 032894
Packit 032894
2016-10-26  Mark Wielaard  <mjw@redhat.com>
Packit 032894
Packit 032894
	* elf_begin.c (read_file): Always set maxsize when parent == NULL.
Packit 032894
Packit 032894
2016-10-11  Akihiko Odaki  <akihiko.odaki.4i@stu.hosei.ac.jp>
Packit 032894
Packit 032894
	* elf_getarsym.c (elf_getarsym): Open code rawmemchr when not
Packit 032894
	available.
Packit 032894
	* elf_strptr.c: Include stdbool.h.
Packit 032894
	(validate_str): New function.
Packit 032894
	(elf_strptr): Use validate_str instead of memrchr.
Packit 032894
Packit 032894
2016-10-11  Akihiko Odaki  <akihiko.odaki.4i@stu.hosei.ac.jp>
Packit 032894
Packit 032894
	* elf32_updatefile.c: Remove sys/param.h include.
Packit 032894
	* elf32_updatenull.c: Likewise. Add system.h include.
Packit 032894
	* elf_begin.c: Remove sys/param.h.
Packit 032894
	* elf_compress: Likewise. Add system.h include.
Packit 032894
	(MAX): Remove definition.
Packit 032894
Packit 032894
2016-08-07  Mark Wielaard  <mjw@redhat.com>
Packit 032894
Packit 032894
	* elf_compress.c (__libelf_reset_rawdata): Check scn->flags and
Packit 032894
	free rawdata_base when malloced. Set ELF_F_MALLOCED for scn->flags.
Packit 032894
	* elf_end.c (elf_end): Check scn->flags and free rawdata_base if
Packit 032894
	malloced.
Packit 032894
	* libelfP.h (struct Elf_Scn): Document flags ELF_F_MALLOCED usage.
Packit 032894
Packit 032894
2016-07-06  Mark Wielaard  <mjw@redhat.com>
Packit 032894
Packit 032894
	* elf-knowledge.h (SH_FLAGS_COMBINE): Removed.
Packit 032894
	(SH_FLAGS_IMPORTANT): Likewise.
Packit 032894
Packit 032894
2016-07-06  Mark Wielaard  <mjw@redhat.com>
Packit 032894
Packit 032894
	* elf32_updatenull.c (updatenull_wrlock): Ignore e_type when
Packit 032894
	updating phdrs.
Packit 032894
	* elf_getphdrnum.c (__elf_getphdrnum_chk_rdlock): Only do sanity
Packit 032894
	checking if phdrs haven't been read in yet.
Packit 032894
Packit 032894
2016-06-24  John Ogness  <john.ogness@linutronix.de>
Packit 032894
Packit 032894
	* elf32_updatenull.c (updatenull_wrlock): Find first section.
Packit 032894
	* elf_nextscn.c (elf_nextscn): When scn is NULL start from 0th
Packit 032894
	section.
Packit 032894
Packit 032894
2016-06-28  Richard Henderson  <rth@redhat.com>
Packit 032894
Packit 032894
	* elf.h: Update from glibc.  Add lots of new EM_* definitions.
Packit 032894
Packit 032894
2016-04-14  Mark Wielaard  <mjw@redhat.com>
Packit 032894
Packit 032894
	* elf_compress.c (__libelf_compress): Free out_buf if deflateInit
Packit 032894
	fails.
Packit 032894
Packit 032894
2016-02-13  Mark Wielaard  <mjw@redhat.com>
Packit 032894
Packit 032894
	* elf32_updatefile.c (updatemmap): Free scns when out of memory.
Packit 032894
Packit 032894
2016-01-28  Mark Wielaard  <mjw@redhat.com>
Packit 032894
Packit 032894
	* elf.h: Update from glibc. Add new i386 and x86_64 relocations.
Packit 032894
Packit 032894
2016-02-12  Mark Wielaard  <mjw@redhat.com>
Packit 032894
Packit 032894
	* elf.h: Update from glibc. Add NT_ARM_SYSTEM_CALL.
Packit 032894
Packit 032894
2016-02-04  Mark Wielaard  <mjw@redhat.com>
Packit 032894
Packit 032894
	* elf_getdata.c (__libelf_set_rawdata_wrlock): Don't adjust align
Packit 032894
	for SHT_NOBITS sections.
Packit 032894
Packit 032894
2016-01-22  Chih-Hung Hsieh <chh@google.com>
Packit 032894
Packit 032894
	* elf_compress.c (__libelf_compress): Move nested function
Packit 032894
	'do_deflate_cleanup' to file scope to compile with clang.
Packit 032894
	* elf_strptr.c (elf_strptr): Move nested function 'get_zdata'
Packit 032894
	to file scope to compile with clang.
Packit 032894
Packit 032894
2016-01-13  Mark Wielaard  <mjw@redhat.com>
Packit 032894
Packit 032894
	* libelf.h: Check SHF_COMPRESSED is defined. If not define it and the
Packit 032894
	associated ELF compression types/defines.
Packit 032894
Packit 032894
2015-11-26  Mark Wielaard  <mjw@redhat.com>
Packit 032894
Packit 032894
	* elf_compress.c (__libelf_decompress_elf): New function, extracted
Packit 032894
	from...
Packit 032894
	(elf_compress): here. Check zdata_base use __libelf_decompress_elf.
Packit 032894
	* elf_strptr.c (elf_strptr): If SHF_COMPRESSED check, uncompress and
Packit 032894
	use zdata.
Packit 032894
	* libelfP.h (struct Elf_Scn): Add zdata_size and zdata_align.
Packit 032894
	(__libelf_decompress_elf): New internal function definition.
Packit 032894
Packit 032894
2015-10-21  Mark Wielaard  <mjw@redhat.com>
Packit 032894
Packit 032894
	* Makefile.am (libelf_a_SOURCES): Add elf_compress.c and
Packit 032894
	elf_compress_gnu.c.
Packit 032894
	* elf_compress.c: New file.
Packit 032894
	* elf_compress_gnu.c: Likewise.
Packit 032894
	* elf_begin.c (file_read_elf): Make a writable copy of the shdrs
Packit 032894
	for ELF_C_READ_MMAP.
Packit 032894
	* elf_end.c (elf_end): Free zdata_base.
Packit 032894
	* elf_error.c: Add ELF_E_ALREADY_COMPRESSED,
Packit 032894
	ELF_E_UNKNOWN_COMPRESSION_TYPE, ELF_E_COMPRESS_ERROR and
Packit 032894
	ELF_E_DECOMPRESS_ERROR.
Packit 032894
	* elf_data.c (__libelf_data_type): New internal function extracted
Packit 032894
	from convert_data.
Packit 032894
	(convert_data): Handle SHF_COMPRESSED.
Packit 032894
	* elf32_updatenull.c (updatenull_wrlock): Check sh_entsize against
Packit 032894
	uncompressed section data size if SHF_COMPRESSED.
Packit 032894
	* elf32_getshdr.c (load_shdr_wrlock): Adjust assert to account for
Packit 032894
	ELF_C_READ_MMAP.
Packit 032894
	* libelf.h: Define elf_compress and elf_compress_gnu.
Packit 032894
	* libelf.map (ELFUTILS_1.7): Add elf_compress and elf_compress_gnu.
Packit 032894
	* libelfP.h: Add ELF_E_ALREADY_COMPRESSED,
Packit 032894
	ELF_E_UNKNOWN_COMPRESSION_TYPE, ELF_E_COMPRESS_ERROR and
Packit 032894
	ELF_E_DECOMPRESS_ERROR. Define __libelf_data_type.
Packit 032894
	(__libelf_compress): New internal function definition.
Packit 032894
	(__libelf_decompress): Likewise.
Packit 032894
	(__libelf_reset_rawdata): Likewise.
Packit 032894
	(__libelf_data_type): Likewise.
Packit 032894
	(struct Elf_Scn): Add zdata_base.
Packit 032894
Packit 032894
2015-11-19  Mark Wielaard  <mjw@redhat.com>
Packit 032894
Packit 032894
	* Makefile.am (libelf_a_SOURCES): Add elf32_getchdr.c,
Packit 032894
	elf64_getchdr.c and gelf_getchdr.c.
Packit 032894
	(noinst_HEADERS): Add chdr_xlate.h.
Packit 032894
	* abstract.h: Define Chdr32 and Chdr64.
Packit 032894
	* chdr_xlate.h: New file.
Packit 032894
	* elf32_getchdr.c: New file.
Packit 032894
	* elf64_getchdr.c: New file.
Packit 032894
	* elf_error.c: Add ELF_E_NOT_COMPRESSED, ELF_E_INVALID_SECTION_TYPE
Packit 032894
	and ELF_E_INVALID_SECTION_FLAGS.
Packit 032894
	* elf_getdata.c (__libelf_set_rawdata_wrlock): Set d_type to
Packit 032894
	ELF_T_CHDR for SHF_COMPRESSED sections.
Packit 032894
	* exttypes.h: Add Chdr32 and Chdr64.
Packit 032894
	* gelf.h (GElf_Chdr): New typedef.
Packit 032894
	(gelf_getchdr): New function definition.
Packit 032894
	* gelf_fsize.c (__libelf_type_sizes): Add ELF_T_CHDR.
Packit 032894
	* gelf_getchdr.c: New file.
Packit 032894
	* gelf_xlate.c (__elf_xfctstom): Add ELF_T_CHDR cvt_chdr.
Packit 032894
	* gelf_xlate.h: Add Chdr.
Packit 032894
	* libelf.h (Elf_Type): Add ELF_T_CHDR.
Packit 032894
	(elf32_getchdr): New function definition.
Packit 032894
	(elf64_getchdr): Likewise.
Packit 032894
	* libelf.map (ELFUTILS_1.7): New sections add elf32_getchdr,
Packit 032894
	elf64_getchdr and gelf_getchdr.
Packit 032894
	* libelfP.h: Add ELF_E_NOT_COMPRESSED, ELF_E_INVALID_SECTION_TYPE
Packit 032894
	and ELF_E_INVALID_SECTION_FLAGS.
Packit 032894
Packit 032894
2015-10-16  Mark Wielaard  <mjw@redhat.com>
Packit 032894
Packit 032894
	* Makefile.am (libelf_so_LDLIBS): Add -lz.
Packit 032894
Packit 032894
2015-10-14  Mark Wielaard  <mjw@redhat.com>
Packit 032894
Packit 032894
	* elf.h: Update from glibc. Add section compression constants and
Packit 032894
	structures.
Packit 032894
Packit 032894
2015-10-20  Jose E. Marchesi  <jose.marchesi@oracle.com>
Packit 032894
Packit 032894
	* elf_begin.c (get_shnum): Elf64_Shdr.sh_size is an Elf64_Xword.
Packit 032894
	Fix the size argument to pread_retry.
Packit 032894
Packit 032894
2015-10-13  Chih-Hung Hsieh  <chh@google.com>
Packit 032894
Packit 032894
	* elf32_updatefile.c (__elfw2(LIBELFBITS,updatemmap)): Move nested
Packit 032894
	function 'fill_mmap' to file scope.
Packit 032894
	* elf_begin.c (elf_begin): Move nested function 'lock_dup_elf'
Packit 032894
	to file scope.
Packit 032894
Packit 032894
2015-10-09  Josh Stone  <jistone@redhat.com>
Packit 032894
Packit 032894
	* libelf.h: Replace loff_t with int64_t throughout.
Packit 032894
Packit 032894
2015-10-05  Mark Wielaard  <mjw@redhat.com>
Packit 032894
Packit 032894
	* elf_update.c (write_file): Only use posix_fallocate when using
Packit 032894
	mmap. Only report failure when errno is ENOSPC.
Packit 032894
Packit 032894
2015-10-09  Josh Stone  <jistone@redhat.com>
Packit 032894
Packit 032894
	* libelfP.h (struct Elf): Replace off64_t with off_t.
Packit 032894
	* elf_getdata_rawchunk.c (elf_getdata_rawchunk): Likewise.
Packit 032894
Packit 032894
2015-10-05  Chih-Hung Hsieh <chh@google.com>
Packit 032894
Packit 032894
	* elf_getarsym.c (elf_getarsym): Do not use
Packit 032894
	union of variable length arrays.
Packit 032894
Packit 032894
2015-10-05  Josh Stone  <jistone@redhat.com>
Packit 032894
Packit 032894
	* Makefile.am (libelf.so): Add AM_V_CCLD and AM_V_at silencers.
Packit 032894
Packit 032894
2015-09-24  Jose E. Marchesi  <jose.marchesi@oracle.com>
Packit 032894
Packit 032894
	* Makefile.am (AM_CFLAGS): Use -fPIC instead of -fpic to avoid
Packit 032894
	relocation overflows in some platforms.
Packit 032894
Packit 032894
2015-09-29  Mark Wielaard  <mjw@redhat.com>
Packit 032894
Packit 032894
	* elf32_updatenull.c (default_ehdr): Set e_version when EV_NONE.
Packit 032894
	(updatenull_wrlock): Always set e_shentsize.
Packit 032894
Packit 032894
2015-09-23  Mark Wielaard  <mjw@redhat.com>
Packit 032894
Packit 032894
	* elf32_getehdr.c (getehdr_wrlock): Mark as internal_function.
Packit 032894
	* elf32_getshdr.c (getshdr_rdlock): Likewise.
Packit 032894
	(getshdr_wrlock): Likewise.
Packit 032894
	* elf_error.c (__libelf_seterrno): Likewise.
Packit 032894
	* elf_getphdrnum.c (__elf_getphdrnum_rdlock): Likewise.
Packit 032894
	(__elf_getphdrnum_chk_rdlock): Likewise.
Packit 032894
	* elf_getshdrnum.c (__elf_getphdrnum_rdlock): Likewise.
Packit 032894
	(__elf_getphdrnum_chk_rdlock): Likewise.
Packit 032894
	* elf_getshdrnum.c (__elf_getshdrnum_rdlock): Likewise.
Packit 032894
	* elf_readall.c (__libelf_readall): Likewise.
Packit 032894
	* gelf_getehdr.c (__gelf_getehdr_rdlock): Likewise.
Packit 032894
Packit 032894
2015-09-22  Mark Wielaard  <mjw@redhat.com>
Packit 032894
Packit 032894
	* *.c: Remove old-style function definitions.
Packit 032894
Packit 032894
2015-06-22  Mark Wielaard  <mjw@redhat.com>
Packit 032894
Packit 032894
	* dl-hash.h: Update from glibc.
Packit 032894
Packit 032894
2015-06-18  Mark Wielaard  <mjw@redhat.com>
Packit 032894
Packit 032894
	* elf32_updatefile.c (updatefile): Always free shdr_data and scns
Packit 032894
	when allocated on failure paths.
Packit 032894
Packit 032894
2015-06-18  Mark Wielaard  <mjw@redhat.com>
Packit 032894
Packit 032894
	* nlist.c (nlist): Check symscn shdr exists before use.
Packit 032894
Packit 032894
2015-06-16  Mark Wielaard  <mjw@redhat.com>
Packit 032894
Packit 032894
	* elf_update.c (write_file): Always also use ftruncate before
Packit 032894
	posix_fallocate to make sure file has the right size.
Packit 032894
Packit 032894
2015-06-04  Mark Wielaard  <mjw@redhat.com>
Packit 032894
Packit 032894
	* elf_getdata.c (__libelf_type_aligns): Add entries for ELF_T_EHDR,
Packit 032894
	ELF_T_OFF, ELF_T_PHDR, ELF_T_SHDR, ELF_T_SWORD, ELF_T_XWORD,
Packit 032894
	ELF_T_SXWORD, ELF_T_GNUHASH, ELF_T_AUXV.
Packit 032894
	* elf_getdata_rawchunk.c (elf_getdata_rawchunk): Check alignment
Packit 032894
	of rawdata against requested type.
Packit 032894
Packit 032894
2015-06-02  Mark Wielaard  <mjw@redhat.com>
Packit 032894
Packit 032894
	* elf_getdata.c (convert_data): Make sure source data is properly
Packit 032894
	aligned for type before calling actual conversion function.
Packit 032894
Packit 032894
2015-06-04  Mark Wielaard  <mjw@redhat.com>
Packit 032894
Packit 032894
	* elf_begin.c (get_shnum): Check alignment of Shdr, not Ehdr before
Packit 032894
	direct access.
Packit 032894
Packit 032894
2015-06-02  Mark Wielaard  <mjw@redhat.com>
Packit 032894
Packit 032894
	* elf_begin.c (file_read_elf): Split checks for ehdr and shdr
Packit 032894
	alignment, drop phdr alignment check.
Packit 032894
Packit 032894
2015-05-31  Mark Wielaard  <mjw@redhat.com>
Packit 032894
Packit 032894
	* elf32_getshdr.c (load_shdr_wrlock): Allocate shdrs with malloc,
Packit 032894
	not alloca and free after conversion when a copy needs to be made.
Packit 032894
Packit 032894
2015-05-31  Mark Wielaard  <mjw@redhat.com>
Packit 032894
Packit 032894
	* elf32_getphdr.c (getphdr_wrlock): Allocate phdrs with malloc, not
Packit 032894
	alloca and free after conversion when a copy needs to be made.
Packit 032894
Packit 032894
2015-05-31  Mark Wielaard  <mjw@redhat.com>
Packit 032894
Packit 032894
	* elf_getarsym.c (elf_getarsym): Allocate temporary file_date with
Packit 032894
	malloc, not alloca also in !ALLOW_UNALIGNED case.
Packit 032894
Packit 032894
2015-05-30  Mark Wielaard  <mjw@redhat.com>
Packit 032894
Packit 032894
	* gelf_xlate.c (elf_cvt_Byte): Only call memmove with non-zero size.
Packit 032894
Packit 032894
2015-05-30  Mark Wielaard  <mjw@redhat.com>
Packit 032894
Packit 032894
	* elf32_updatefile.c (updatemmap): Only call mempcpy and update
Packit 032894
	last_position when d_size is non-zero.
Packit 032894
Packit 032894
2015-05-17  Mark Wielaard  <mjw@redhat.com>
Packit 032894
Packit 032894
	* elf32_updatefile.c (updatefile): Allocate shdr_data and scns
Packit 032894
	with malloc, not alloca. Free after writing section headers.
Packit 032894
Packit 032894
2015-05-16  Mark Wielaard  <mjw@redhat.com>
Packit 032894
Packit 032894
	* elf32_updatefile.c (updatemmap): Allocate temporary shdr storage
Packit 032894
	with malloc, not alloca. Free after writing section header.
Packit 032894
Packit 032894
2015-05-16  Mark Wielaard  <mjw@redhat.com>
Packit 032894
Packit 032894
	* elf_getarsym.c (elf_getarsym): Allocate temporary file_date with
Packit 032894
	malloc, not alloca. Call free after out.
Packit 032894
Packit 032894
2015-05-14  Mark Wielaard  <mjw@redhat.com>
Packit 032894
Packit 032894
	* elf_update.c (write_file): Use posix_fallocate instead of
Packit 032894
	ftruncate to extend file if necessary.
Packit 032894
Packit 032894
2015-05-13  Mark Wielaard  <mjw@redhat.com>
Packit 032894
Packit 032894
	* elf32_updatenull.c (default_ehdr): If e_phnum is zero then set
Packit 032894
	e_phoff also to zero.
Packit 032894
Packit 032894
2015-05-12  Mark Wielaard  <mjw@redhat.com>
Packit 032894
Packit 032894
	* elf32_updatenull.c (updatenull_wrlock): Check that sh_addralign
Packit 032894
	is a powerof2.
Packit 032894
	* elf_getdata.c (__libelf_set_rawdata_wrlock): Clamp large d_aligns
Packit 032894
	to the elf image offset.
Packit 032894
Packit 032894
2015-05-12  Mark Wielaard  <mjw@redhat.com>
Packit 032894
Packit 032894
	* elf32_newphdr.c (newphdr): Call __libelf_seterrno with
Packit 032894
	ELF_E_INVALID_INDEX before failing. Check whether section zero shdr
Packit 032894
	actually exists if we need to put extended phnum in section zero.
Packit 032894
Packit 032894
2015-05-08  Mark Wielaard  <mjw@redhat.com>
Packit 032894
Packit 032894
	* nlist.c (nlist): Call gelf_fsize with EV_CURRENT.
Packit 032894
Packit 032894
2015-01-03  Mark Wielaard  <mjw@redhat.com>
Packit 032894
Packit 032894
	* version_xlate.h (elf_cvt_Verdef): Use memmove to copy src to dest.
Packit 032894
	(elf_cvt_Verneed): Likewise.
Packit 032894
Packit 032894
2015-03-28  Mark Wielaard  <mjw@redhat.com>
Packit 032894
Packit 032894
	* elf.h: Update from glibc.
Packit 032894
Packit 032894
2015-03-23  Mark Wielaard  <mjw@redhat.com>
Packit 032894
Packit 032894
	* elf32_updatenull.c (updatenull_wrlock): Don't extend size with
Packit 032894
	SHT_NOBITS sh_offset.
Packit 032894
Packit 032894
2015-02-18  Mark Wielaard  <mjw@redhat.com>
Packit 032894
Packit 032894
	* libelfP.h (__libelf_set_data_list_rdlock): Make internal_function.
Packit 032894
Packit 032894
2015-02-07  Jan Kratochvil  <jan.kratochvil@redhat.com>
Packit 032894
Packit 032894
	* elf32_updatenull.c (__elfw2(LIBELFBITS,updatenull_wrlock)): Consider
Packit 032894
	sh_addralign 0 as 1.
Packit 032894
Packit 032894
2015-01-22  Mark Wielaard  <mjw@redhat.com>
Packit 032894
Packit 032894
	* elf_strptr (elf_strptr): Make sure returned string is NUL
Packit 032894
	terminated.
Packit 032894
Packit 032894
2015-01-21  Mark Wielaard  <mjw@redhat.com>
Packit 032894
Packit 032894
	* elf_strptr.c (elf_strptr): Check data_list_rear == NULL instead
Packit 032894
	of rawdata_base != NULL before using rawdata directly.
Packit 032894
Packit 032894
2015-01-20  Mark Wielaard  <mjw@redhat.com>
Packit 032894
Packit 032894
	* libelfP.h (__elf_strptr_internal): New function declaration.
Packit 032894
	* elf_getdata.c (__libelf_set_data_list_rdlock): New internal
Packit 032894
	function extracted from...
Packit 032894
	(__elf_getdata_rdlock): ... here.
Packit 032894
	* elf_newdata.c (elf_newdata): Check scn->rawdata_base and update
Packit 032894
	datalist if necessary.
Packit 032894
Packit 032894
2015-01-20  Mark Wielaard  <mjw@redhat.com>
Packit 032894
Packit 032894
	* elf_strptr.c (elf_strptr): Call __elf[32|64]_getshdr_rdlock if
Packit 032894
	necessary.
Packit 032894
Packit 032894
2014-12-30  Mark Wielaard  <mjw@redhat.com>
Packit 032894
Packit 032894
	* elf_getphdrnum.c (__elf_getphdrnum_chk_rdlock): New function.
Packit 032894
	(elf_getphdrnum): Call __elf_getphdrnum_chk_rdlock.
Packit 032894
	* gelf_getphdr (gelf_getphdr): Call __elf_getphdrnum_chk_rdlock
Packit 032894
	and always check ndx against phnum.
Packit 032894
	* libelfP.h (__elf_getphdrnum_chk_rdlock): New internal function.
Packit 032894
Packit 032894
2014-12-25  Mark Wielaard  <mjw@redhat.com>
Packit 032894
Packit 032894
	* elf_begin.c (__libelf_next_arhdr_wrlock): ar_size cannot be
Packit 032894
	negative. Include start_offset in maxsize.
Packit 032894
Packit 032894
2014-12-28  Alexander Cherepanov  <cherepan@mccme.ru>
Packit 032894
Packit 032894
	* elf_begin.c (read_long_names): Don't miss '/' right after
Packit 032894
	another '/'. Fixes a dir traversal vuln in ar extraction.
Packit 032894
Packit 032894
2014-12-18  Ulrich Drepper  <drepper@gmail.com>
Packit 032894
Packit 032894
	* Makefile.am: Suppress output of textrel_check command.
Packit 032894
Packit 032894
2014-12-16  Mark Wielaard  <mjw@redhat.com>
Packit 032894
Packit 032894
	* elf_begin.c (read_long_names): Make sure long_names len fits
Packit 032894
	in mapped ELF file.
Packit 032894
Packit 032894
2014-12-15  Mark Wielaard  <mjw@redhat.com>
Packit 032894
Packit 032894
	* elf_getarsym.c (elf_getarsym): Check index_size doesn't overflow.
Packit 032894
Packit 032894
2014-12-15  Mark Wielaard  <mjw@redhat.com>
Packit 032894
Packit 032894
	* elf_begin.c (read_long_names): Clear any garbage left in the
Packit 032894
	name table.
Packit 032894
Packit 032894
2014-12-11  Mark Wielaard  <mjw@redhat.com>
Packit 032894
Packit 032894
	* elf_begin.c (file_read_elf): Correct ELF64 section offset check.
Packit 032894
Packit 032894
2014-12-11  Mark Wielaard  <mjw@redhat.com>
Packit 032894
Packit 032894
	* elf_begin.c (read_long_names): Check for offset overflow.
Packit 032894
	(__libelf_next_arhdr_wrlock): Likewise. Sanity check the ar_size.
Packit 032894
	Don't allow it to go beyond end of file.
Packit 032894
Packit 032894
2014-12-09  Mark Wielaard  <mjw@redhat.com>
Packit 032894
Packit 032894
	* elf_getarsym.c (elf_getarsym): Make sure n * w doesn't overflow.
Packit 032894
Packit 032894
2014-11-27  Mark Wielaard  <mjw@redhat.com>
Packit 032894
Packit 032894
	* Makefile.am (libelf.so): Use textrel_check.
Packit 032894
Packit 032894
2014-11-23  Mark Wielaard  <mjw@redhat.com>
Packit 032894
Packit 032894
	* elf_getdata_rawchunk.c (elf_getdata_rawchunk): Change signed
Packit 032894
	overflow check to unsigned.
Packit 032894
Packit 032894
2014-11-23  Mark Wielaard  <mjw@redhat.com>
Packit 032894
Packit 032894
	* note_xlate.h (elf_cvt_note): Copy over any leftover data if
Packit 032894
	src != dest. The data is probably part of truncated name/desc.
Packit 032894
Packit 032894
2014-11-22  Mark Wielaard  <mjw@redhat.com>
Packit 032894
Packit 032894
	* elf_getphdrnum.c (elf_getphdrnum): Sanity check the
Packit 032894
	__elf_getphdrnum_rdlock result.
Packit 032894
Packit 032894
2014-11-18  Mark Wielaard  <mjw@redhat.com>
Packit 032894
Packit 032894
	* version_xlate.h (elf_cvt_Verdef): Check for overflow.
Packit 032894
	(elf_cvt_Verneed): Likewise.
Packit 032894
Packit 032894
2014-11-17  Mark Wielaard  <mjw@redhat.com>
Packit 032894
Packit 032894
	* elf-knowledge.h (SECTION_STRIP_P): Check name is not NULL.
Packit 032894
Packit 032894
2014-11-16  Mark Wielaard  <mjw@redhat.com>
Packit 032894
Packit 032894
	* elf_getshdrstrndx.c: Check there are section headers before
Packit 032894
	handling SHN_XINDEX.
Packit 032894
Packit 032894
2014-11-16  Mark Wielaard  <mjw@redhat.com>
Packit 032894
Packit 032894
	* elf32_getphdr.c (getphdr_wrlock): Check e_phoff isn't zero.
Packit 032894
	Check for too many pheaders.
Packit 032894
	* elf_getphdrnum.c (__elf_getphdrnum_rdlock): Check section zero
Packit 032894
	actually exists before handling PN_XNUM.
Packit 032894
Packit 032894
2014-11-16  Mark Wielaard  <mjw@redhat.com>
Packit 032894
Packit 032894
	* gelf_getnote.c (gelf_getnote): Check padding overflow.
Packit 032894
Packit 032894
2014-11-16  Mark Wielaard  <mjw@redhat.com>
Packit 032894
Packit 032894
	* elf_getdata.c (__libelf_set_rawdata_wrlock): Declare offset, size
Packit 032894
	and align as Elf64_Off and Elf64_Xword not size_t.
Packit 032894
Packit 032894
2014-11-14  Mark Wielaard  <mjw@redhat.com>
Packit 032894
Packit 032894
	* gelf_getnote.c (gelf_getnote): Check offset overflow.
Packit 032894
Packit 032894
2014-11-13  Mark Wielaard  <mjw@redhat.com>
Packit 032894
Packit 032894
	* elf_getdata.c (__libelf_set_rawdata_wrlock): Fix unsigned overflow
Packit 032894
	check.
Packit 032894
Packit 032894
2014-11-08  Mark Wielaard  <mjw@redhat.com>
Packit 032894
Packit 032894
	* elf_begin.c (__libelf_next_arhdr_wrlock): Use mempcpy not __mempcpy.
Packit 032894
Packit 032894
2014-11-07  Mark Wielaard  <mjw@redhat.com>
Packit 032894
Packit 032894
	* elf_begin.c (file_read_elf): Correct sh_size check.
Packit 032894
	* elf_getdata.c (__libelf_set_rawdata_wrlock): Check for unsigned
Packit 032894
	overflow.
Packit 032894
Packit 032894
2014-09-10  Petr Machata  <pmachata@redhat.com>
Packit 032894
Packit 032894
	* elf_begin (read_unmmaped_file): Call __libelf_seterrno if the
Packit 032894
	file is unreadable.
Packit 032894
Packit 032894
2014-07-07  Mark Wielaard  <mjw@redhat.com>
Packit 032894
Packit 032894
	* elf.h: Update from glibc.
Packit 032894
Packit 032894
2014-04-13  Mark Wielaard  <mjw@redhat.com>
Packit 032894
Packit 032894
	* Makefile.am: Remove !MUDFLAP conditions.
Packit 032894
	* elf_begin.c (read_file): Don't clear use_mmap when _MUDFLAP is
Packit 032894
	defined.
Packit 032894
	* elf_update.c (write_file): Remove _MUDFLAP condition.
Packit 032894
Packit 032894
2014-01-17  Jakub Jelinek  <jakub@redhat.com>
Packit 032894
	    Roland McGrath  <roland@redhat.com>
Packit 032894
Packit 032894
	* libelfP.h (INVALID_NDX): Define.
Packit 032894
	* gelf_getdyn.c (gelf_getdyn): Use it.  Remove ndx < 0 test if any.
Packit 032894
	* gelf_getlib.c (gelf_getlib): Likewise.
Packit 032894
	* gelf_getmove.c (gelf_getmove): Likewise.
Packit 032894
	* gelf_getrel.c (gelf_getrel): Likewise.
Packit 032894
	* gelf_getrela.c (gelf_getrela): Likewise.
Packit 032894
	* gelf_getsym.c (gelf_getsym): Likewise.
Packit 032894
	* gelf_getsyminfo.c (gelf_getsyminfo): Likewise.
Packit 032894
	* gelf_getsymshndx.c (gelf_getsymshndx): Likewise.
Packit 032894
	* gelf_getversym.c (gelf_getversym): Likewise.
Packit 032894
	* gelf_update_dyn.c (gelf_update_dyn): Likewise.
Packit 032894
	* gelf_update_lib.c (gelf_update_lib): Likewise.
Packit 032894
	* gelf_update_move.c (gelf_update_move): Likewise.
Packit 032894
	* gelf_update_rel.c (gelf_update_rel): Likewise.
Packit 032894
	* gelf_update_rela.c (gelf_update_rela): Likewise.
Packit 032894
	* gelf_update_sym.c (gelf_update_sym): Likewise.
Packit 032894
	* gelf_update_syminfo.c (gelf_update_syminfo): Likewise.
Packit 032894
	* gelf_update_symshndx.c (gelf_update_symshndx): Likewise.
Packit 032894
	* gelf_update_versym.c (gelf_update_versym): Likewise.
Packit 032894
Packit 032894
2014-01-17  Jakub Jelinek  <jakub@redhat.com>
Packit 032894
Packit 032894
	* elf32_getphdr.c (elfw2(LIBELFBITS,getphdr)): Check if program header
Packit 032894
	table fits into object's bounds.
Packit 032894
	* elf_getshdrstrndx.c (elf_getshstrndx): Add elf->start_offset to
Packit 032894
	elf->map_address.  Check if first section header fits into object's
Packit 032894
	bounds.
Packit 032894
	* elf32_getshdr.c (elfw2(LIBELFBITS,getshdr)):
Packit 032894
	Check if section header table fits into object's bounds.
Packit 032894
	* elf_begin.c (get_shnum): Ensure section headers fits into
Packit 032894
	object's bounds.
Packit 032894
	(file_read_elf): Make sure scncnt is small enough to allocate both
Packit 032894
	ElfXX_Shdr and Elf_Scn array.  Make sure section and program header
Packit 032894
	tables fit into object's bounds.  Avoid memory leak on failure.
Packit 032894
	* elf_newscn.c (elf_newscn): Check for overflow.
Packit 032894
	* elf32_updatefile.c (__elfw2(LIBELFBITS,updatemmap)): Likewise.
Packit 032894
	(__elfw2(LIBELFBITS,updatefile)): Likewise.
Packit 032894
	* elf32_newphdr.c (elfw2(LIBELFBITS,newphdr)): Likewise.
Packit 032894
	* elf_getarsym.c (elf_getarsym): Likewise.
Packit 032894
Packit 032894
2013-11-08  Mark Wielaard  <mjw@redhat.com>
Packit 032894
Packit 032894
	* elf32_updatefile.c (elfXX_updatemmap): Only memcpy ehdr when not
Packit 032894
	already directly mmapped.
Packit 032894
Packit 032894
2013-11-05  Mark Wielaard  <mjw@redhat.com>
Packit 032894
Packit 032894
	* elf32_updatefile.c (elfXX_updatefile): Copy all section headers
Packit 032894
	if elf->flags dirty.
Packit 032894
Packit 032894
2013-11-01  Michael Forney  <mforney@mforney.org>
Packit 032894
Packit 032894
	* Makefile.am: Use READELF.
Packit 032894
Packit 032894
2013-10-01  Petr Machata  <pmachata@redhat.com>
Packit 032894
Packit 032894
	* elf.h: Update from glibc.
Packit 032894
Packit 032894
2013-06-17  Petr Machata  <pmachata@redhat.com>
Packit 032894
Packit 032894
	* elf.h: Update from glibc.
Packit 032894
Packit 032894
2013-08-28  Namhyung Kim  <namhyung@gmail.com>
Packit 032894
Packit 032894
	* gelf.h (gelf_fsize): Fix typo in comment.
Packit 032894
Packit 032894
2013-08-28  Mark Wielaard  <mjw@redhat.com>
Packit 032894
Packit 032894
	* gelf_getauxv.c (gelf_getauxv): Add missing whitespace.
Packit 032894
Packit 032894
2013-08-27  Mark Wielaard  <mjw@redhat.com>
Packit 032894
Packit 032894
	* gelf_getauxv.c (gelf_getauxv): Remove unnecessary casts to char *.
Packit 032894
Packit 032894
2013-08-25  Kurt Roeckx  <kurt@roeckx.be>
Packit 032894
Packit 032894
	* gelf_getauxv.c (gelf_getauxv): Use memcpy instead of pointer
Packit 032894
	dereference to avoid alignment problems.
Packit 032894
Packit 032894
2013-01-07  Roland McGrath  <roland@hack.frob.com>
Packit 032894
Packit 032894
	* elf_getarsym.c (elf_getarsym): Copy FILE_DATA into stack space if it
Packit 032894
	would be unaligned and !ALLOW_UNALIGNED.
Packit 032894
Packit 032894
	* elf_getarsym.c (read_number_entries): Use memcpy instead of pointer
Packit 032894
	dereference so as not to assume the field is naturally aligned.
Packit 032894
Packit 032894
2012-09-17  Petr Machata  <pmachata@redhat.com>
Packit 032894
Packit 032894
	* elf.h: Update from glibc.
Packit 032894
Packit 032894
2012-08-16  Roland McGrath  <roland@hack.frob.com>
Packit 032894
Packit 032894
	* elf.h: Update from glibc.
Packit 032894
Packit 032894
2012-08-14  Mark Wielaard  <mjw@redhat.com>
Packit 032894
Packit 032894
	* elf32_checksum.c (ebl_debugscn_p): Removed unused define and
Packit 032894
	confusing outdated comment.
Packit 032894
Packit 032894
2012-08-01  Petr Machata  <pmachata@redhat.com>
Packit 032894
Packit 032894
	* elf_getarsym (read_number_entries): New function.
Packit 032894
	(elf_getarsym): Handle 64-bit symbol table, stored in special
Packit 032894
	entry named "/SYM64/".
Packit 032894
	* elf_begin.c (__libelf_next_arhdr_wrlock): Don't reject archive
Packit 032894
	because it contains 64-bit symbol table.
Packit 032894
Packit 032894
2012-07-19  Mark Wielaard  <mjw@redhat.com>
Packit 032894
Packit 032894
	* elf32_getshdr.c (load_shdr_wrlock): Add elf->flags & ELF_F_MALLOCED
Packit 032894
	to asserts.
Packit 032894
Packit 032894
2012-07-17  Petr Machata  <pmachata@redhat.com>
Packit 032894
Packit 032894
	* elf32_xlatetom.c (elfw2(LIBELFBITS, xlatetom)): Do not check for
Packit 032894
	integer number of records in case of ELF_T_NHDR.
Packit 032894
Packit 032894
2012-04-02  Mark Wielaard  <mjw@redhat.com>
Packit 032894
Packit 032894
	* elf32_offscn.c: Do not match SHT_NOBITS sections at OFFSET unless
Packit 032894
	there are no nonempty sections at that offset.
Packit 032894
Packit 032894
2012-03-21  Roland McGrath  <roland@hack.frob.com>
Packit 032894
Packit 032894
	* elf-knowledge.h (SECTION_STRIP_P): Remove < SHT_NUM check.
Packit 032894
Packit 032894
2011-02-26  Mark Wielaard  <mjw@redhat.com>
Packit 032894
Packit 032894
	* elf_end.c (elf_end): Call rwlock_unlock before rwlock_fini.
Packit 032894
Packit 032894
2011-01-05  Jan Kratochvil  <jan.kratochvil@redhat.com>
Packit 032894
Packit 032894
	* elf_getdata_rawchunk.c (elf_getdata_rawchunk): Fix off64_t overflow
Packit 032894
	when MAXIMUM_SIZE == ~0.
Packit 032894
Packit 032894
2010-08-18  Roland McGrath  <roland@redhat.com>
Packit 032894
Packit 032894
	* gelf_fsize.c (__libelf_type_sizes): Add entries for ELF_T_LIB
Packit 032894
	and ELF_T_GNUHASH.
Packit 032894
	Reported by Mark Hatle <mark.hatle@windriver.com>.
Packit 032894
Packit 032894
	* exttypes.h: Add cases for ElfNN_Lib.
Packit 032894
	Reported by Mark Hatle <mark.hatle@windriver.com>.
Packit 032894
Packit 032894
2010-06-14  Ulrich Drepper  <drepper@redhat.com>
Packit 032894
Packit 032894
	* gelf_update_shdr.c: Implicitly set ELF_F_DIRTY bit.
Packit 032894
	* gelf_update_phdr.c: Likewise.
Packit 032894
	* gelf_update_ehdr.c: Likewise.
Packit 032894
Packit 032894
2010-04-14  Roland McGrath  <roland@redhat.com>
Packit 032894
Packit 032894
	* elf32_getphdr.c: Check for e_phoff/size outside the file bounds.
Packit 032894
	* elf_begin.c (file_read_elf): Don't set .phdr here.
Packit 032894
Packit 032894
2010-04-13  Roland McGrath  <roland@redhat.com>
Packit 032894
Packit 032894
	* elf.h: Update from glibc.
Packit 032894
Packit 032894
2010-04-06  Roland McGrath  <roland@redhat.com>
Packit 032894
Packit 032894
	* elf_error.c (ELF_E_FD_MISMATCH_IDX): Avoid nonobvious abbreviation
Packit 032894
	in error message.
Packit 032894
Packit 032894
2010-04-01  Petr Machata  <pmachata@redhat.com>
Packit 032894
Packit 032894
	* elf_getdata.c (__elf_getdata_rdlock): Initialize data.s for data
Packit 032894
	that do not need a conversion.
Packit 032894
Packit 032894
2010-03-11  Roland McGrath  <roland@redhat.com>
Packit 032894
Packit 032894
	* elf.h: Update from glibc.
Packit 032894
Packit 032894
2010-03-04  Ulrich Drepper  <drepper@redhat.com>
Packit 032894
Packit 032894
	* elf.h: Update from glibc.
Packit 032894
Packit 032894
2010-02-17  Roland McGrath  <roland@redhat.com>
Packit 032894
Packit 032894
	* elf_begin.c (file_read_elf): Leave section rawdata_base and
Packit 032894
	data_base pointers null when [sh_offset,sh_size) points outside
Packit 032894
	the mapped file.
Packit 032894
Packit 032894
2010-02-15  Roland McGrath  <roland@redhat.com>
Packit 032894
Packit 032894
	* Makefile.am: Use config/eu.am for common stuff.
Packit 032894
Packit 032894
2010-01-07  Roland McGrath  <roland@redhat.com>
Packit 032894
Packit 032894
	* elf32_getphdr.c: Use __elf_getphdrnum_rdlock.
Packit 032894
	* gelf_getphdr.c: Likewise.
Packit 032894
	* gelf_update_phdr.c: Likewise.
Packit 032894
	* elf32_updatefile.c (__elf32_updatemmap, __elf32_updatefile): Likewise.
Packit 032894
	* elf32_updatenull.c (__elf32_updatenull_wrlock): Likewise.
Packit 032894
	* elf32_newphdr.c: Clear section 0's sh_info when resetting e_phnum.
Packit 032894
	If COUNT is too large, use store PN_XNUM instead and set sh_info.
Packit 032894
	* elf_begin.c (file_read_elf): Always allocate space we can use later
Packit 032894
	for section 0 if doing RDWR.
Packit 032894
Packit 032894
	* elf_getphdrnum.c: New file.
Packit 032894
	* Makefile.am (libelf_a_SOURCES): Add it.
Packit 032894
	* libelf.h: Declare elf_getphdrnum.
Packit 032894
	* libelfP.h: Declare __elf_getphdrnum_rdlock.
Packit 032894
	* libelf.map (ELFUTILS_1.6): New set, add elf_getphdrnum.
Packit 032894
Packit 032894
	* elf.h: Update from glibc.
Packit 032894
Packit 032894
2009-10-23  Lubomir Rintel  <lkundrak@v3.sk>
Packit 032894
Packit 032894
	* elf32_updatefile.c (fill_mmap): When starting past shdr_end, start
Packit 032894
	filling from section start, not shdr_end.
Packit 032894
Packit 032894
2009-11-10  Roland McGrath  <roland@redhat.com>
Packit 032894
Packit 032894
	* elf_readall.c (__libelf_readall): Fetch file size if not yet known.
Packit 032894
Packit 032894
2009-11-06  Mark Wielaard  <mjw@redhat.com>
Packit 032894
Packit 032894
	* elf_next.c (elf_next): Mark the archive header as unusable when
Packit 032894
	there is no next ar element.
Packit 032894
Packit 032894
2009-08-12  Mark Wielaard  <mjw@redhat.com>
Packit 032894
Packit 032894
	* Makefile.am (libelf.so): Use -Wl,-z,defs not -defs.
Packit 032894
Packit 032894
2009-07-26  Ulrich Drepper  <drepper@redhat.com>
Packit 032894
Packit 032894
	* elf.h: Update from glibc.
Packit 032894
Packit 032894
2009-07-21  Ulrich Drepper  <drepper@redhat.com>
Packit 032894
Packit 032894
	* elf32_updatefile.c (__elfXX_updatemmap): Fix handling of gaps between
Packit 032894
	sections.  Patch by Lubomir Rintel <lkundrak@v3.sk>.
Packit 032894
Packit 032894
2009-07-08  Roland McGrath  <roland@redhat.com>
Packit 032894
Packit 032894
	* libelfP.h (struct Elf): Remove unused ar.has_index field.
Packit 032894
	Reorder various members for optimal packing.
Packit 032894
Packit 032894
2009-07-08  Ulrich Drepper  <drepper@redhat.com>
Packit 032894
Packit 032894
	* elf.h: Update from glibc.
Packit 032894
Packit 032894
2009-06-13  Ulrich Drepper  <drepper@redhat.com>
Packit 032894
Packit 032894
	* Makefile.am (libelf_a_SOURCES): Replace elf_getshnum.c and
Packit 032894
	elf_getshstrndx.c with elf_getshdrnum.c and elf_getshdrstrndx.c.
Packit 032894
	* elf_getshnum.c: Renamed to...
Packit 032894
	* elf_getshdrnum.c: ...this.  Rename function and add old name as
Packit 032894
	alias.  Likewise for internal functions with derived names.
Packit 032894
	* elf_getshstrndx.c: Renamed to...
Packit 032894
	* elf_getshdrstrndx.c: ...this.  Rename function and add old name as
Packit 032894
	alias.  Likewise for internal functions with derived names.
Packit 032894
	* libelf.h: Add prototypes for new names.  Make old names as
Packit 032894
	deprecated.
Packit 032894
	* libelfP.h: Rename internal function prototypes.
Packit 032894
	* libelf.map: Export for names.
Packit 032894
	* elf32_checksum.c: Don't use deprecated functions.
Packit 032894
	* elf32_getshdr.c: Likewise.
Packit 032894
Packit 032894
2009-06-01  Ulrich Drepper  <drepper@redhat.com>
Packit 032894
Packit 032894
	* elf.h: Update from glibc.
Packit 032894
Packit 032894
2009-04-14  Roland McGrath  <roland@redhat.com>
Packit 032894
Packit 032894
	* elf.h: Update from glibc.
Packit 032894
Packit 032894
2009-04-01  Roland McGrath  <roland@redhat.com>
Packit 032894
Packit 032894
	* elf.h: Update from glibc.
Packit 032894
Packit 032894
2009-02-10  Ulrich Drepper  <drepper@redhat.com>
Packit 032894
Packit 032894
	* elf32_updatefile.c (updatefile): For the zeroth section we still
Packit 032894
	have to copy the section header.
Packit 032894
Packit 032894
2009-02-01  Ulrich Drepper  <drepper@redhat.com>
Packit 032894
Packit 032894
	* elf_strptr.c: Add comment re possible problem.
Packit 032894
Packit 032894
2009-01-26  Ulrich Drepper  <drepper@redhat.com>
Packit 032894
Packit 032894
	* elf32_updatenull.c (updatenull_wrlock): Fix comment of
Packit 032894
	ELF_F_LAYOUT behaviour re section header table.
Packit 032894
Packit 032894
2009-01-22  Ulrich Drepper  <drepper@redhat.com>
Packit 032894
Packit 032894
	* elf32_updatefile.c (__elfXX_updatemmap): Fill the gap between
Packit 032894
	sections even if only the section at the start of the gap has been
Packit 032894
	changed.
Packit 032894
	(__elfXX_updatefile): Likewise.
Packit 032894
Packit 032894
2009-01-21  Ulrich Drepper  <drepper@redhat.com>
Packit 032894
Packit 032894
	* elf32_updatefile.c (__elfXX_updatemmap): Skip most of the loop to
Packit 032894
	handle sections for NOBITS sections.
Packit 032894
	(elfXX_updatefile): Likewise.
Packit 032894
Packit 032894
	* elf32_updatefile.c (__elfXX_updatemmap): When skipping non-NOBITS
Packit 032894
	sections we haven't loaded, update last_position based on scn_start,
Packit 032894
	not based on old value.  Don't run the loop for the dummy section 0.
Packit 032894
	(elfXX_updatefile): Don't run the loop for the dummy section 0.
Packit 032894
Packit 032894
2009-01-10  Ulrich Drepper  <drepper@redhat.com>
Packit 032894
Packit 032894
	* libelfP.h (_): We only have one translation domain, elfutils.
Packit 032894
Packit 032894
	* Makefile.am: Use USE_LOCKS instead of USE_TLS.
Packit 032894
	* elf_error.c: Always use __thread.  Remove all !USE_TLS code.
Packit 032894
Packit 032894
2009-01-04  Roland McGrath  <roland@redhat.com>
Packit 032894
Packit 032894
	* note_xlate.h (elf_cvt_note): Don't examine a size too small to
Packit 032894
	container a note header.
Packit 032894
Packit 032894
2008-12-11  Roland McGrath  <roland@redhat.com>
Packit 032894
Packit 032894
	* elf32_updatefile.c (__elfw2(LIBELFBITS,updatemmap)): Handle
Packit 032894
	placement offset going backwards, for out-of-order or overlapping
Packit 032894
	(bogus) sh_offset layouts.  It's a dumb use, but should not crash.
Packit 032894
	(__elfw2(LIBELFBITS,updatefile)): Likewise.
Packit 032894
	Fixes RHBZ#476136.
Packit 032894
Packit 032894
	* libelf.h (Elf_Data): Whitespace fix.
Packit 032894
Packit 032894
2008-12-10  Roland McGrath  <roland@redhat.com>
Packit 032894
Packit 032894
	* elf_getarhdr.c (elf_getarhdr): Fix missing rename in last change.
Packit 032894
Packit 032894
2008-10-22  Petr Machata  <pmachata@redhat.com>
Packit 032894
Packit 032894
	* elf_rawfile.c (elf_rawfile): Lock around elf-> references.
Packit 032894
Packit 032894
2008-10-21  Petr Machata  <pmachata@redhat.com>
Packit 032894
Packit 032894
	* libelfP.h: Rename getehdr_rdlock to getehdr_wrlock.
Packit 032894
	* elf32_getehdr.c (getehdr_rdlock): Move the code to new function
Packit 032894
	getehdr_impl and make it a wrapper.  Rename to getehdr_wrlock.
Packit 032894
	(getehdr_impl): Guard elf->class init with wrlock.
Packit 032894
	(getehdr): Also make it a wrapper of getehdr_impl.
Packit 032894
	* elf32_updatenull.c (updatenull_wrlock): Call getehdr_wrlock.
Packit 032894
Packit 032894
2008-10-20  Petr Machata  <pmachata@redhat.com>
Packit 032894
Packit 032894
	* elf_getdata_rawchunk.c (elf_getdata_rawchunk): Lock around the
Packit 032894
	code that reads mutable elf state.  Relock to write lock to chain
Packit 032894
	the new chunk on the elf rawchunks list.
Packit 032894
Packit 032894
2008-10-20  Petr Machata  <pmachata@redhat.com>
Packit 032894
Packit 032894
	* elf32_checksum.c (checksum): Place a lock around the code that
Packit 032894
	processes data.  Make it wrlock if the code needs to xlate the
Packit 032894
	data before processing.
Packit 032894
Packit 032894
2008-10-16  Petr Machata  <pmachata@redhat.com>
Packit 032894
Packit 032894
	* elf_begin.c
Packit 032894
	(__libelf_next_arhdr): Rename to __libelf_next_arhdr_wrlock.
Packit 032894
	(dup_elf): Adjust the call.
Packit 032894
	(elf_begin): New local function lock_dup_elf.  Relocks the elf if
Packit 032894
	necessary before calling dup.  Call this instead of dup_elf.
Packit 032894
	* elf_getarhdr.c
Packit 032894
	(elf_getarhdr): Lock before calling __libelf_next_arhdr_wrlock.
Packit 032894
	* elf_next.c (elf_next): Likewise.
Packit 032894
	* elf_rand.c (elf_rand): Likewise.
Packit 032894
Packit 032894
2008-10-14  Petr Machata  <pmachata@redhat.com>
Packit 032894
Packit 032894
	* elf_getdata.c (__elf_getdata_rdlock): Lock before converting.
Packit 032894
Packit 032894
2008-11-26  Roland McGrath  <roland@redhat.com>
Packit 032894
Packit 032894
	* elf.h: Update from glibc.
Packit 032894
Packit 032894
2008-10-06  Roland McGrath  <roland@redhat.com>
Packit 032894
Packit 032894
	* elf_getarhdr.c (elf_getarhdr): Return NULL when passed NULL.
Packit 032894
Packit 032894
2008-08-27  Roland McGrath  <roland@redhat.com>
Packit 032894
Packit 032894
	* elf_begin.c (get_shnum): Avoid misaligned reads for matching endian.
Packit 032894
Packit 032894
	* libelfP.h [!ALLOW_UNALIGNED] (__libelf_type_align): Fix CLASS index.
Packit 032894
Packit 032894
2008-08-25  Roland McGrath  <roland@redhat.com>
Packit 032894
Packit 032894
	* Makefile.am (libelf_so_LDLIBS): New variable.
Packit 032894
	(libelf.so): Use it in the link.
Packit 032894
Packit 032894
2008-08-21  Petr Machata  <pmachata@redhat.com>
Packit 032894
Packit 032894
	* elf_getdata.c, libelfP.h
Packit 032894
	(__elf_getdata_internal): Rename to __elf_getdata_rdlock.
Packit 032894
	(__libelf_set_rawdata_wrlock): New function.
Packit 032894
	(__libelf_set_rawdata): Make it a wrapper that calls *_wrlock.
Packit 032894
	* elf32_updatenull.c, libelfP.h
Packit 032894
	(__elfNN_updatenull): Rename to __elfNN_updatenull_wrlock.
Packit 032894
Packit 032894
2008-08-21  Petr Machata  <pmachata@redhat.com>
Packit 032894
Packit 032894
	* elf32_getphdr.c, libelfP.h
Packit 032894
	(__elfNN_getphdr_internal): Drop.  Move __elfNN_getphdr_internal
Packit 032894
	code to __elfNN_getphdr_wrlock.
Packit 032894
	(__elfNN_getphdr_rdlock, __elfNN_getphdr_wrlock): New functions.
Packit 032894
	(__elfNN_getphdr_rdlock, __elfNN_getphdr_wrlock): Make these
Packit 032894
	wrappers of getphdr_impl.
Packit 032894
Packit 032894
2008-08-21  Petr Machata  <pmachata@redhat.com>
Packit 032894
Packit 032894
	* elf32_getehdr.c, libelfP.h
Packit 032894
	(__elfNN_getehdr_internal): Rename to __elfNN_getehdr_rdlock.
Packit 032894
	* gelf_getehdr, libelfP.h:
Packit 032894
	(__gelf_getehdr_internal): Rename to __gelf_getehdr_rdlock.
Packit 032894
Packit 032894
2008-08-21  Petr Machata  <pmachata@redhat.com>
Packit 032894
Packit 032894
	* elf32_getshdr.c
Packit 032894
	(__elfNN_getshdr_internal): Drop.
Packit 032894
	(load_shdr_wrlock, scn_valid): New functions, contain bits of
Packit 032894
	behaviour from __elfNN_getshdr_internal.
Packit 032894
	(__elfNN_getshdr_rdlock, __elfNN_getshdr_wrlock): Replacements for
Packit 032894
	dropped _internal functions above.
Packit 032894
	* elf_getshnum.c
Packit 032894
	(__elf_getshnum_internal): Rename to __elf_getshnum_rdlock.
Packit 032894
Packit 032894
2008-08-04  Petr Machata  <pmachata@redhat.com>
Packit 032894
Packit 032894
	* libelfP.h (RWLOCK_RDLOCK, RWLOCK_WRLOCK, RWLOCK_UNLOCK): New macros.
Packit 032894
Packit 032894
2008-07-28  Roland McGrath  <roland@redhat.com>
Packit 032894
Packit 032894
	* elf.h: Update from glibc.
Packit 032894
Packit 032894
2008-03-31  Roland McGrath  <roland@redhat.com>
Packit 032894
Packit 032894
	* elf32_offscn.c: Make sure shdrs have been read in.
Packit 032894
Packit 032894
2008-02-19  Roland McGrath  <roland@redhat.com>
Packit 032894
Packit 032894
	* elf.h: Update from glibc.
Packit 032894
Packit 032894
2008-02-08  Roland McGrath  <roland@redhat.com>
Packit 032894
Packit 032894
	* elf.h: Update from glibc.
Packit 032894
Packit 032894
2008-01-31  Ulrich Drepper  <drepper@redhat.com>
Packit 032894
Packit 032894
	* elf_strptr.c (elf_strptr): Don't fail if the ELF file is currently
Packit 032894
	under construction and no raw data can be read from disk.
Packit 032894
Packit 032894
2008-01-30  Roland McGrath  <roland@redhat.com>
Packit 032894
Packit 032894
	* elf.h: Update from glibc.
Packit 032894
Packit 032894
2008-01-26  Roland McGrath  <roland@redhat.com>
Packit 032894
Packit 032894
	* elf_begin.c (__libelf_next_arhdr): Rewrite conversions using a macro.
Packit 032894
	Fixes various pastos in wrong type in sizeof, wrong string parsed.
Packit 032894
Packit 032894
2008-01-20  Roland McGrath  <roland@redhat.com>
Packit 032894
Packit 032894
	* elf_getaroff.c: Calculate from start_offset, instead of using
Packit 032894
	parent's state.ar.offset field.
Packit 032894
Packit 032894
2008-01-08  Roland McGrath  <roland@redhat.com>
Packit 032894
Packit 032894
	* Makefile.am (euinclude): Variable removed.
Packit 032894
	(pkginclude_HEADERS): Set this instead of euinclude_HEADERS.
Packit 032894
Packit 032894
2008-01-03  Roland McGrath  <roland@redhat.com>
Packit 032894
Packit 032894
	* common.h: Add __attribute__ ((unused)) to static functions.
Packit 032894
Packit 032894
2007-12-20  Ulrich Drepper  <drepper@redhat.com>
Packit 032894
Packit 032894
	* Makefile.am (libelf_a_SOURCES): Add elf_scnshndx.
Packit 032894
	* libelfP.h (struct Elf_Scn): Add shndx_index field.
Packit 032894
	Declare __elf_scnshndx_internal.
Packit 032894
	* elf32_getshdr.c: Record location of extended section header.
Packit 032894
	* elf_begin.c (file_read_elf): Likewise.
Packit 032894
	* elf_scnshndx.c: New file.
Packit 032894
	* libelf.h: Declare elf_scnshndx.
Packit 032894
	* libelf.map: Add elf_scnshndx to version ELFUTILS_1.4.
Packit 032894
Packit 032894
2007-11-12  Roland McGrath  <roland@redhat.com>
Packit 032894
Packit 032894
	* libelf.h: Replace off64_t with loff_t throughout.
Packit 032894
	Only that type name is unconditionally defined by <sys/types.h>
Packit 032894
Packit 032894
2007-11-03  Roland McGrath  <roland@redhat.com>
Packit 032894
Packit 032894
	* libelf.h (Elf_Data): Comment fix.
Packit 032894
Packit 032894
2007-10-18  Roland McGrath  <roland@redhat.com>
Packit 032894
Packit 032894
	* elf.h: Update from glibc.
Packit 032894
Packit 032894
2007-10-07  Roland McGrath  <roland@redhat.com>
Packit 032894
Packit 032894
	* elf_begin.c (__libelf_next_arhdr): Fix fencepost error and wrong
Packit 032894
	member access in terminating name with no trailing /.  Trim trailing
Packit 032894
	spaces when there is no /.
Packit 032894
Packit 032894
2007-10-04  Roland McGrath  <roland@redhat.com>
Packit 032894
Packit 032894
	* elf_end.c (elf_end): Don't free ELF->state.ar.ar_sym when it's -1l.
Packit 032894
Packit 032894
2007-10-03  Roland McGrath  <roland@redhat.com>
Packit 032894
Packit 032894
	* libelf.h (Elf_Data): Use off64_t for d_off.
Packit 032894
	(Elf_Arhdr): Use off64_t for ar_size.
Packit 032894
	(elf_update, elf_getbase, elf_getaroff): Return off64_t.
Packit 032894
Packit 032894
	* gelf_rawchunk.c: File removed.
Packit 032894
	* gelf_freechunk.c: File removed.
Packit 032894
	* Makefile.am (libelf_a_SOURCES): Remove them.
Packit 032894
	* libelf.map (ELFUTILS_1.0): Remove exports.
Packit 032894
	* gelf.h: Remove decls.
Packit 032894
Packit 032894
	* elf_getdata_rawchunk.c: New file.
Packit 032894
	* Makefile.am (libelf_a_SOURCES): Add it.
Packit 032894
	* libelf.map (ELFUTILS_1.3): Add elf_getdata_rawchunk.
Packit 032894
	* libelf.h: Declare it.
Packit 032894
	* libelfP.h (Elf_Data_Chunk): New type.
Packit 032894
	(struct Elf.elf): New member `rawchunks'.
Packit 032894
	* elf_end.c (elf_end): Free recorded rawchunk buffers.
Packit 032894
Packit 032894
2007-08-24  Roland McGrath  <roland@redhat.com>
Packit 032894
Packit 032894
	* gelf_getnote.c: New file.
Packit 032894
	* Makefile.am (libelf_a_SOURCES): Add it.
Packit 032894
	* gelf.h: Declare gelf_getnote.
Packit 032894
	* libelf.map (ELFUTILS_1.3): Add gelf_getnote.
Packit 032894
Packit 032894
	* libelfP.h (NOTE_ALIGN): New macro.
Packit 032894
	* note_xlate.h: New file.
Packit 032894
	* Makefile.am (noinst_HEADERS): Add it.
Packit 032894
	* gelf_xlate.c: Include it.
Packit 032894
	(__elf_xfctstom): Use elf_cvt_note.
Packit 032894
	* elf_getdata.c (shtype_map, __libelf_type_align): Handle SHT_NOTE.
Packit 032894
	(__libelf_set_rawdata): Likewise.
Packit 032894
Packit 032894
2007-08-19  Roland McGrath  <roland@redhat.com>
Packit 032894
Packit 032894
	* gelf_update_auxv.c: New file.
Packit 032894
	* gelf_getauxv.c: New file.
Packit 032894
	* Makefile.am (libelf_a_SOURCES): Add them.
Packit 032894
	* gelf.h: Declare gelf_getauxv, gelf_update_auxv.
Packit 032894
	* libelf.map (ELFUTILS_1.3): New set, inherits fom ELFUTILS_1.2.
Packit 032894
	Export gelf_getauxv, gelf_update_auxv.
Packit 032894
Packit 032894
	* libelf.h (Elf_Type): Add ELF_T_AUXV.
Packit 032894
	* abstract.h: Add auxv_t entries.
Packit 032894
	* exttypes.h: Likewise.
Packit 032894
	* gelf_xlate.h: Likewise.
Packit 032894
	* gelf_xlate.c (__elf_xfctstom): Add ELF_T_AUXV entries.
Packit 032894
	* gelf_fsize.c (__libelf_type_sizes): Likewise.
Packit 032894
Packit 032894
2007-08-12  Roland McGrath  <roland@redhat.com>
Packit 032894
Packit 032894
	* elf32_updatefile.c (compare_sections): Sort secondarily on sh_size,
Packit 032894
	and only tertiarily on index.
Packit 032894
Packit 032894
2007-07-09  Roland McGrath  <roland@redhat.com>
Packit 032894
Packit 032894
	* elf.h: Update from glibc.
Packit 032894
Packit 032894
2007-04-22  Roland McGrath  <roland@redhat.com>
Packit 032894
Packit 032894
	* elf.h: Update from glibc.
Packit 032894
Packit 032894
2007-03-18  Roland McGrath  <roland@redhat.com>
Packit 032894
Packit 032894
	* elf_begin.c (get_shnum): Fix test for e_shoff being out of bounds.
Packit 032894
	Return zero when the section headers do not fit within MAXSIZE.
Packit 032894
Packit 032894
2007-03-09  Roland McGrath  <roland@redhat.com>
Packit 032894
Packit 032894
	* libelfP.h (LIBELF_EV_IDX): New macro.
Packit 032894
	(__libelf_type_align): New macro.
Packit 032894
	[! ALLOW_UNALIGNED]: Declare __libc_type_aligns array.
Packit 032894
	* elf_getdata.c (shtype_map): Convert to just Elf_Type[][].
Packit 032894
	(convert_data, __libelf_set_rawdata): Use that, __libelf_type_align,
Packit 032894
	and __libelf_type_sizes, in place of old table.
Packit 032894
	(__libc_type_aligns): New const variable.
Packit 032894
Packit 032894
2007-02-04  Ulrich Drepper  <drepper@redhat.com>
Packit 032894
Packit 032894
	* Makefile (libelf.so): Build with -z relro.
Packit 032894
Packit 032894
	* elf_begin.c (read_file): When using ELF_C_READ_MMAP use MAP_PRIVATE.
Packit 032894
Packit 032894
2007-01-30  Ulrich Drepper  <drepper@redhat.com>
Packit 032894
Packit 032894
	* nlist.c: Close file descriptor before returning.
Packit 032894
Packit 032894
2007-01-20  Roland McGrath  <roland@redhat.com>
Packit 032894
Packit 032894
	* gnuhash_xlate.h (elf_cvt_gnuhash): Fix fence-post error so we
Packit 032894
	convert the final word.
Packit 032894
Packit 032894
	* elf32_getshdr.c: Don't byteswap shdr fields when EI_DATA matches
Packit 032894
	MY_ELFDATA on !ALLOW_UNALIGNED machines.
Packit 032894
Packit 032894
2007-01-18  Roland McGrath  <roland@redhat.com>
Packit 032894
Packit 032894
	* gelf_rawchunk.c (gelf_rawchunk): Clear RESULT pointer after freeing
Packit 032894
	it on read error.
Packit 032894
Packit 032894
2006-10-13  Roland McGrath  <roland@redhat.com>
Packit 032894
Packit 032894
	* elf32_updatenull.c: Look for and accept phdr also for ET_CORE.
Packit 032894
	* elf_error.c (msgstr): Change ELF_E_INVALID_PHDR string.
Packit 032894
Packit 032894
2006-08-29  Roland McGrath  <roland@redhat.com>
Packit 032894
Packit 032894
	* elf32_getphdr.c: Don't byteswap phdr fields when EI_DATA matches
Packit 032894
	MY_ELFDATA on !ALLOW_UNALIGNED machines.
Packit 032894
	Reported by Christian Aichinger <Greek0@gmx.net>.
Packit 032894
Packit 032894
	* Makefile.am (CLEANFILES): Add libelf.so.$(VERSION).
Packit 032894
Packit 032894
2006-08-08  Ulrich Drepper  <drepper@redhat.com>
Packit 032894
Packit 032894
	* elf.h (DT_VALNUM): Update.
Packit 032894
	(DT_ADDRNUM): Likewise.
Packit 032894
Packit 032894
2006-07-12  Ulrich Drepper  <drepper@redhat.com>
Packit 032894
Packit 032894
	* elf32_updatefile.c: Adjust for internal_function_def removal.
Packit 032894
	* elf32_updatenull.c: Likewise.
Packit 032894
	* elf_begin.c: Likewise.
Packit 032894
	* elf_getdata.c: Likewise.
Packit 032894
Packit 032894
2006-07-11  Ulrich Drepper  <drepper@redhat.com>
Packit 032894
Packit 032894
	* libelf.h: Define ELF_T_GNUHASH.
Packit 032894
	* elf_getdata.c (TYPEIDX): Handle SHT_GNU_HASH.
Packit 032894
	(shtype_map): Add SHT_GNU_HASH entries.
Packit 032894
	* gelf_xlate.c (__elf_xfctstom): Add ELF_T_GNUHASH entries.
Packit 032894
	* gnuhash_xlate.h: New file.
Packit 032894
	* Makefile.am (noinst_HEADERS): Add gnuhash_xlate.h.
Packit 032894
Packit 032894
2006-07-06  Ulrich Drepper  <drepper@redhat.com>
Packit 032894
Packit 032894
	* elf_gnu_hash.c: New file.
Packit 032894
	* libelf.h: Declare elf_gnu_hash.
Packit 032894
	* Makefile.am (libelf_a_SOURCES): Add elf_gnu_hash.
Packit 032894
	* libelf.map: Add elf_gnu_map for version ELFUTILS_1.2.
Packit 032894
Packit 032894
2006-06-15  Roland McGrath  <roland@redhat.com>
Packit 032894
Packit 032894
	* libelf.h (elf_getarsym): Fix comment typo.
Packit 032894
	Rename second parameter to be more explanatory.
Packit 032894
	(elf_getident, elf_rawhide): Likewise.
Packit 032894
Packit 032894
2006-05-28  Ulrich Drepper  <drepper@redhat.com>
Packit 032894
Packit 032894
	* elf32_updatefile.c (updatemmap): Preserve section content if
Packit 032894
	copying would overwrite them.
Packit 032894
	Fix msync paramters.
Packit 032894
Packit 032894
2006-04-04  Roland McGrath  <roland@redhat.com>
Packit 032894
Packit 032894
	* elf32_updatefile.c (updatemmap): Handle other-endian case.
Packit 032894
Packit 032894
2006-04-04  Ulrich Drepper  <drepper@redhat.com>
Packit 032894
Packit 032894
	* elf32_updatefile.c (updatemmap): Cleanups.  Remove shdr_dest
Packit 032894
	variable.  Before writing sections, make a copy of the section
Packit 032894
	header data if necessary.  Don't write section header while
Packit 032894
	writing the section constent, it might overwrite some sections.
Packit 032894
	Restore the pointer afterwards.
Packit 032894
	* elf32_updatenull.c (updatenull): If the offset of a section in a
Packit 032894
	file changed make sure we read the section so that it'll be written
Packit 032894
	out.
Packit 032894
Packit 032894
	* elf_update.c: Remove debug message.
Packit 032894
Packit 032894
2005-12-07  Roland McGrath  <roland@redhat.com>
Packit 032894
Packit 032894
	* gelf_xlate.c [! ALLOW_UNALIGNED] (union unaligned): New type.
Packit 032894
	(FETCH, STORE): New macros.
Packit 032894
	(INLINE3): Use those to do alignment-friendly conversion.
Packit 032894
Packit 032894
	* elf32_getshdr.c: Include map_address and start_offset in alignment
Packit 032894
	calculations.
Packit 032894
	* elf32_getphdr.c: Likewise.
Packit 032894
Packit 032894
2005-11-19  Roland McGrath  <roland@redhat.com>
Packit 032894
Packit 032894
	* elf.h: Update from glibc.
Packit 032894
Packit 032894
2005-11-17  Roland McGrath  <roland@redhat.com>
Packit 032894
Packit 032894
	* elf.h: Update from glibc.
Packit 032894
Packit 032894
2005-11-10  Roland McGrath  <roland@redhat.com>
Packit 032894
Packit 032894
	* elf.h: Update from glibc.
Packit 032894
Packit 032894
2005-09-09  Roland McGrath  <roland@redhat.com>
Packit 032894
Packit 032894
	* elf_update.c (write_file): Stat the file and fchmod it after update
Packit 032894
	if its mode had S_ISUID or S_ISGID bits set.
Packit 032894
Packit 032894
2005-08-28  Ulrich Drepper  <drepper@redhat.com>
Packit 032894
Packit 032894
	* elf32_getphdr.c: Include <system.h>.  Use pread_retry instead of
Packit 032894
	pread.  And branch prediction where useful.
Packit 032894
	* elf_begin.c: Likewise.
Packit 032894
	* elf_getdata.c: Likewise.
Packit 032894
	* elf_getshstrndx.c: Likewise.
Packit 032894
	* elf_readall.c: Likewise.
Packit 032894
	* gelf_rawchunk.c: Likewise.
Packit 032894
	* elf32_updatefile.c: Include <system.h>.  Use pread_retry instead of
Packit 032894
	pread.  And branch prediction where useful.
Packit 032894
	* elf_getarsym.c: Don't define pread_retry here.
Packit 032894
Packit 032894
	* Makefile.am: Use $(LINK) not $(CC) when creating DSO.
Packit 032894
	(%.os): Use COMPILE.os.
Packit 032894
	(COMPILE.os): Filter out gconv options.
Packit 032894
Packit 032894
2005-08-27  Ulrich Drepper  <drepper@redhat.com>
Packit 032894
Packit 032894
	* elf_begin.c (file_read_elf): Avoid reading ELF header from file
Packit 032894
	again.  Instead accept additional parameter which points to it if we
Packit 032894
	don't use mmap.
Packit 032894
	(get_shnum): Use passed in e_ident value as source of ELF header.
Packit 032894
Packit 032894
2005-08-15  Ulrich Drepper  <drepper@redhat.com>
Packit 032894
Packit 032894
	* elf_begin.c (__libelf_next_arhdr): Use TEMP_FAILURE_RETRY.
Packit 032894
Packit 032894
	* Makefile (libelf_a_SOURCES): Add elf_getaroff.c.
Packit 032894
	* libelf.map: Export elf_getaroff.
Packit 032894
	* libelf.h: Declare elf_getaroff.
Packit 032894
	* elf_getaroff.c: New file.
Packit 032894
Packit 032894
2005-08-13  Ulrich Drepper  <drepper@redhat.com>
Packit 032894
Packit 032894
	* elf_begin.c (get_shnum): Optimize memory handling.  Always read from
Packit 032894
	mapped file if available.  Fix access to 64-bit sh_size.  Recognize
Packit 032894
	overflow.
Packit 032894
	(file_read_elf): Likewise.
Packit 032894
Packit 032894
2005-08-12  Roland McGrath  <roland@redhat.com>
Packit 032894
Packit 032894
	* elf32_offscn.c: Do not match empty sections at OFFSET unless
Packit 032894
	there are no nonempty sections at that offset.
Packit 032894
Packit 032894
2005-08-07  Ulrich Drepper  <drepper@redhat.com>
Packit 032894
Packit 032894
	* elf.h: Update from glibc.
Packit 032894
Packit 032894
2005-08-06  Ulrich Drepper  <drepper@redhat.com>
Packit 032894
Packit 032894
	* Makefile.am (AM_CFLAGS): Add -fpic when BUILD_STATIC.
Packit 032894
Packit 032894
2005-08-03  Ulrich Drepper  <drepper@redhat.com>
Packit 032894
Packit 032894
	* libelf.map: Move elf32_offscn, elf64_offscn, and gelf_offscn in
Packit 032894
	new version ELFUTILS_1.1.1.
Packit 032894
Packit 032894
2005-08-02  Ulrich Drepper  <drepper@redhat.com>
Packit 032894
Packit 032894
	* elf_error.c: Add handling of ELF_E_INVALID_OFFSET.
Packit 032894
	* elf32_offscn.c: New file.
Packit 032894
	* elf64_offscn.c: New file.
Packit 032894
	* gelf_offscn.c: New file.
Packit 032894
	* Makefile.am (libelf_a_SOURCES): Add elf32_offscn.c, elf64_offscn.c,
Packit 032894
	and gelf_offscn.c.
Packit 032894
	* libelf.sym: Export new symbols.
Packit 032894
Packit 032894
2005-07-23  Ulrich Drepper  <drepper@redhat.com>
Packit 032894
Packit 032894
	* elf-knowledge.h (SECTION_STRIP_P): Don't handle removal of debug
Packit 032894
	sections here anymore.
Packit 032894
	* elf32_checksum.c: Adjust for change in SECTION_STRIP_P interface.
Packit 032894
Packit 032894
	* elf_update.c (elf_update): Get write lock, not read lock.
Packit 032894
Packit 032894
	* elf32_updatenull.c (updatenull): Get section headers if necessary
Packit 032894
	and possible.
Packit 032894
Packit 032894
2005-07-22  Ulrich Drepper  <drepper@redhat.com>
Packit 032894
Packit 032894
	* elf32_updatenull.c (updatenull): If program header hasn't been loaded
Packit 032894
	yet, try to do it now.
Packit 032894
	Don't unnecessarily update overflow of section count in zeroth section
Packit 032894
	sh_size field.
Packit 032894
	If section content hasn't been read yet, do it before looking for the
Packit 032894
	block size.  If no section data present, infer size of section header.
Packit 032894
Packit 032894
2005-05-11  Ulrich Drepper  <drepper@redhat.com>
Packit 032894
Packit 032894
	* elf.h: Update again.
Packit 032894
Packit 032894
2005-05-09  Ulrich Drepper  <drepper@redhat.com>
Packit 032894
Packit 032894
	* elf.h: Update from glibc.
Packit 032894
Packit 032894
2005-05-08  Roland McGrath  <roland@redhat.com>
Packit 032894
Packit 032894
	* elf_begin.c (read_file) [_MUDFLAP]: Don't use mmap for now.
Packit 032894
	* elf_update.c (write_file) [_MUDFLAP]: Likewise.
Packit 032894
Packit 032894
2005-03-29  Ulrich Drepper  <drepper@redhat.com>
Packit 032894
Packit 032894
	* elf32_checksum.c: Use INTUSE and INTDEF to avoid PLTs.
Packit 032894
	* elf_end.c: Likewise.
Packit 032894
	* elf_getdata.c: Likewise.
Packit 032894
	* gelf_getehdr.c: Likewise.
Packit 032894
	* nlist.c: Likewise.
Packit 032894
	* libelfP.h: Add declarations of internal functions.
Packit 032894
Packit 032894
2005-02-15  Ulrich Drepper  <drepper@redhat.com>
Packit 032894
Packit 032894
	* common.h (CONVERT): Make sure all values are unsigned.
Packit 032894
	(CONVERT_TO): Likewise.
Packit 032894
Packit 032894
	* Makefile.am (AM_CFLAGS): Add -Wformat=2.
Packit 032894
	Fix rule to build libelf.so.
Packit 032894
Packit 032894
2005-02-06  Ulrich Drepper  <drepper@redhat.com>
Packit 032894
Packit 032894
	* Makefile.am: Cleanup AM_CFLAGS handling.  Add -Wunused -Wextra.
Packit 032894
	Remove lint handling.
Packit 032894
	* elf32_getphdr.c: Minor cleanups.
Packit 032894
	* elf32_getshdr.c: Likewise.
Packit 032894
	* elf32_updatefile.c: Likewise.
Packit 032894
	* elf32_updatenull.c: Likewise.
Packit 032894
	* elf_begin.c: Likewise.
Packit 032894
	* elf_error.c: Likewise.
Packit 032894
	* elf_getarsym.c: Likewise.
Packit 032894
	* elf_getdata.c: Likewise.
Packit 032894
	* elf_update.c: Likewise.
Packit 032894
	* gelf_xlate.c: Likewise.
Packit 032894
Packit 032894
2005-02-05  Ulrich Drepper  <drepper@redhat.com>
Packit 032894
Packit 032894
	* Makefile.am: Check for text relocations in constructed DSO.
Packit 032894
Packit 032894
	* Makefile.am [MUDFLAP] (AM_CFLAGS): Add -Werror -fpic -fmudflap.
Packit 032894
Packit 032894
2005-02-04  Ulrich Drepper  <drepper@redhat.com>
Packit 032894
Packit 032894
	* gelf_getehdr.c (gelf_getehdr): Slight optimization.
Packit 032894
Packit 032894
	* elf32_checksum.c (checksum): Do not look at NOBITS sections.
Packit 032894
Packit 032894
	* gelf.h: Add gelf_checksum prototype.
Packit 032894
Packit 032894
2004-09-25  Ulrich Drepper  <drepper@redhat.com>
Packit 032894
Packit 032894
	* elf32_checksum.c: Make compile with gcc 4.0.
Packit 032894
	* elf32_updatefile.c: Likewise.
Packit 032894
	* elf32_updatenull.c: Likewise.
Packit 032894
	* elf_begin.c: Likewise.
Packit 032894
	* elf_error.c: Likewise.
Packit 032894
	* elf_getdata.c: Likewise.
Packit 032894
	* elf_getident.c: Likewise.
Packit 032894
Packit 032894
2004-04-01  Ulrich Drepper  <drepper@redhat.com>
Packit 032894
Packit 032894
	* elf.h: Update from glibc.
Packit 032894
Packit 032894
2004-01-23  Ulrich Drepper  <drepper@redhat.com>
Packit 032894
Packit 032894
	* elf_update.c: Fix locking.
Packit 032894
	* elf_clone.c: Likewise.
Packit 032894
Packit 032894
	* libelf.h: Define ELF_T_LIB.
Packit 032894
	* gelf_getlib.c: New file.
Packit 032894
	* gelf_update_lib.c: New file.
Packit 032894
	* gelf.h: Declare the new functions.  Define GElf_Lib.
Packit 032894
	* abstract.h: Define Lib, Lib32, Lib64.
Packit 032894
	* gelf_xlate.c (__elf_xfctstom): Add ELF_T_LIB entry.
Packit 032894
	* gelf_xlate.h: Add entry for ElfXX_Lib.
Packit 032894
	* elf_getdata.c: Recognize SHT_GNU_LIBLIST as a known section type.
Packit 032894
	* libelf.map: Add new symbols to ELFUTILS_1.1.
Packit 032894
	* Makefile.am (libelf_a_SOURCES): Add gelf_getlib.c and
Packit 032894
	gelf_update_lib.c.
Packit 032894
Packit 032894
2004-01-17  Ulrich Drepper  <drepper@redhat.com>
Packit 032894
Packit 032894
	* Makefile.am: Support building with mudflap.
Packit 032894
Packit 032894
	* gelf_xlate.c (INLINE3): Avoid using cast as lvalue.
Packit 032894
	* dl-hash.h (_dl_elf_hash): Likewise.
Packit 032894
Packit 032894
2004-01-05  Ulrich Drepper  <drepper@redhat.com>
Packit 032894
Packit 032894
	* elf-knowledge.h: New file.  From libelf subdir.
Packit 032894
	* Makefile.am (euincludedir): Define.
Packit 032894
	(euinclude_HEADERS): Add elf-knowledge.h.
Packit 032894
Packit 032894
2003-09-24  Ulrich Drepper  <drepper@redhat.com>
Packit 032894
Packit 032894
	* elf.h: Define some PT_IA_64_HP_* constants.
Packit 032894
Packit 032894
2003-09-23  Jakub Jelinek  <jakub@redhat.com>
Packit 032894
Packit 032894
	* libelfP.h (struct Elf): Move state.elf64.sizestr_offset after
Packit 032894
	state.elf64.scnincr to match state.elf{,32}.
Packit 032894
Packit 032894
2003-08-12  Ulrich Drepper  <drepper@redhat.com>
Packit 032894
Packit 032894
	* elf32_updatefile.c (__updatemmap): When writing back file where
Packit 032894
	some sections have not been read in, count their sizes based on
Packit 032894
	the section header.
Packit 032894
Packit 032894
2003-08-11  Ulrich Drepper  <drepper@redhat.com>
Packit 032894
Packit 032894
	* Moved to CVS archive.