2014-01-17 Jakub Jelinek * elf32_getphdr.c (elfw2(LIBELFBITS,getphdr)): Check if program header table fits into object's bounds. * elf_getshdrstrndx.c (elf_getshstrndx): Add elf->start_offset to elf->map_address. Check if first section header fits into object's bounds. * elf32_getshdr.c (elfw2(LIBELFBITS,getshdr)): Check if section header table fits into object's bounds. * elf_begin.c (get_shnum): Ensure section headers fits into object's bounds. (file_read_elf): Make sure scncnt is small enough to allocate both ElfXX_Shdr and Elf_Scn array. Make sure section and program header tables fit into object's bounds. Avoid memory leak on failure. * elf_newscn.c (elf_newscn): Check for overflow. * elf32_updatefile.c (__elfw2(LIBELFBITS,updatemmap)): Likewise. (__elfw2(LIBELFBITS,updatefile)): Likewise. * elf32_newphdr.c (elfw2(LIBELFBITS,newphdr)): Likewise. * elf_getarsym.c (elf_getarsym): Likewise. 2013-11-08 Mark Wielaard * elf32_updatefile.c (elfXX_updatemmap): Only memcpy ehdr when not already directly mmapped. 2013-11-05 Mark Wielaard * elf32_updatefile.c (elfXX_updatefile): Copy all section headers if elf->flags dirty. 2013-11-01 Michael Forney * Makefile.am: Use READELF. 2013-10-01 Petr Machata * elf.h: Update from glibc. 2013-06-17 Petr Machata * elf.h: Update from glibc. 2013-08-28 Namhyung Kim * gelf.h (gelf_fsize): Fix typo in comment. 2013-08-28 Mark Wielaard * gelf_getauxv.c (gelf_getauxv): Add missing whitespace. 2013-08-27 Mark Wielaard * gelf_getauxv.c (gelf_getauxv): Remove unnecessary casts to char *. 2013-08-25 Kurt Roeckx * gelf_getauxv.c (gelf_getauxv): Use memcpy instead of pointer dereference to avoid alignment problems. 2013-01-07 Roland McGrath * elf_getarsym.c (elf_getarsym): Copy FILE_DATA into stack space if it would be unaligned and !ALLOW_UNALIGNED. * elf_getarsym.c (read_number_entries): Use memcpy instead of pointer dereference so as not to assume the field is naturally aligned. 2012-09-17 Petr Machata * elf.h: Update from glibc. 2012-08-16 Roland McGrath * elf.h: Update from glibc. 2012-08-14 Mark Wielaard * elf32_checksum.c (ebl_debugscn_p): Removed unused define and confusing outdated comment. 2012-08-01 Petr Machata * elf_getarsym (read_number_entries): New function. (elf_getarsym): Handle 64-bit symbol table, stored in special entry named "/SYM64/". * elf_begin.c (__libelf_next_arhdr_wrlock): Don't reject archive because it contains 64-bit symbol table. 2012-07-19 Mark Wielaard * elf32_getshdr.c (load_shdr_wrlock): Add elf->flags & ELF_F_MALLOCED to asserts. 2012-07-17 Petr Machata * elf32_xlatetom.c (elfw2(LIBELFBITS, xlatetom)): Do not check for integer number of records in case of ELF_T_NHDR. 2012-04-02 Mark Wielaard * elf32_offscn.c: Do not match SHT_NOBITS sections at OFFSET unless there are no nonempty sections at that offset. 2012-03-21 Roland McGrath * elf-knowledge.h (SECTION_STRIP_P): Remove < SHT_NUM check. 2011-02-26 Mark Wielaard * elf_end.c (elf_end): Call rwlock_unlock before rwlock_fini. 2011-01-05 Jan Kratochvil * elf_getdata_rawchunk.c (elf_getdata_rawchunk): Fix off64_t overflow when MAXIMUM_SIZE == ~0. 2010-08-18 Roland McGrath * gelf_fsize.c (__libelf_type_sizes): Add entries for ELF_T_LIB and ELF_T_GNUHASH. Reported by Mark Hatle . * exttypes.h: Add cases for ElfNN_Lib. Reported by Mark Hatle . 2010-06-14 Ulrich Drepper * gelf_update_shdr.c: Implicitly set ELF_F_DIRTY bit. * gelf_update_phdr.c: Likewise. * gelf_update_ehdr.c: Likewise. 2010-04-14 Roland McGrath * 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 * elf.h: Update from glibc. 2010-04-06 Roland McGrath * elf_error.c (ELF_E_FD_MISMATCH_IDX): Avoid nonobvious abbreviation in error message. 2010-04-01 Petr Machata * elf_getdata.c (__elf_getdata_rdlock): Initialize data.s for data that do not need a conversion. 2010-03-11 Roland McGrath * elf.h: Update from glibc. 2010-03-04 Ulrich Drepper * elf.h: Update from glibc. 2010-02-17 Roland McGrath * 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 * Makefile.am: Use config/eu.am for common stuff. 2010-01-07 Roland McGrath * 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 * elf32_updatefile.c (fill_mmap): When starting past shdr_end, start filling from section start, not shdr_end. 2009-11-10 Roland McGrath * elf_readall.c (__libelf_readall): Fetch file size if not yet known. 2009-11-06 Mark Wielaard * elf_next.c (elf_next): Mark the archive header as unusable when there is no next ar element. 2009-08-12 Mark Wielaard * Makefile.am (libelf.so): Use -Wl,-z,defs not -defs. 2009-07-26 Ulrich Drepper * elf.h: Update from glibc. 2009-07-21 Ulrich Drepper * elf32_updatefile.c (__elfXX_updatemmap): Fix handling of gaps between sections. Patch by Lubomir Rintel . 2009-07-08 Roland McGrath * libelfP.h (struct Elf): Remove unused ar.has_index field. Reorder various members for optimal packing. 2009-07-08 Ulrich Drepper * elf.h: Update from glibc. 2009-06-13 Ulrich Drepper * 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 * elf.h: Update from glibc. 2009-04-14 Roland McGrath * elf.h: Update from glibc. 2009-04-01 Roland McGrath * elf.h: Update from glibc. 2009-02-10 Ulrich Drepper * elf32_updatefile.c (updatefile): For the zeroth section we still have to copy the section header. 2009-02-01 Ulrich Drepper * elf_strptr.c: Add comment re possible problem. 2009-01-26 Ulrich Drepper * elf32_updatenull.c (updatenull_wrlock): Fix comment of ELF_F_LAYOUT behaviour re section header table. 2009-01-22 Ulrich Drepper * 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 * 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 * 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 * note_xlate.h (elf_cvt_note): Don't examine a size too small to container a note header. 2008-12-11 Roland McGrath * 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 * elf_getarhdr.c (elf_getarhdr): Fix missing rename in last change. 2008-10-22 Petr Machata * elf_rawfile.c (elf_rawfile): Lock around elf-> references. 2008-10-21 Petr Machata * 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 * 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 * 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 * 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 * elf_getdata.c (__elf_getdata_rdlock): Lock before converting. 2008-11-26 Roland McGrath * elf.h: Update from glibc. 2008-10-06 Roland McGrath * elf_getarhdr.c (elf_getarhdr): Return NULL when passed NULL. 2008-08-27 Roland McGrath * 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 * Makefile.am (libelf_so_LDLIBS): New variable. (libelf.so): Use it in the link. 2008-08-21 Petr Machata * 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 * 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 * 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 * 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 * libelfP.h (RWLOCK_RDLOCK, RWLOCK_WRLOCK, RWLOCK_UNLOCK): New macros. 2008-07-28 Roland McGrath * elf.h: Update from glibc. 2008-03-31 Roland McGrath * elf32_offscn.c: Make sure shdrs have been read in. 2008-02-19 Roland McGrath * elf.h: Update from glibc. 2008-02-08 Roland McGrath * elf.h: Update from glibc. 2008-01-31 Ulrich Drepper * 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 * elf.h: Update from glibc. 2008-01-26 Roland McGrath * 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 * elf_getaroff.c: Calculate from start_offset, instead of using parent's state.ar.offset field. 2008-01-08 Roland McGrath * Makefile.am (euinclude): Variable removed. (pkginclude_HEADERS): Set this instead of euinclude_HEADERS. 2008-01-03 Roland McGrath * common.h: Add __attribute__ ((unused)) to static functions. 2007-12-20 Ulrich Drepper * 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 * libelf.h: Replace off64_t with loff_t throughout. Only that type name is unconditionally defined by 2007-11-03 Roland McGrath * libelf.h (Elf_Data): Comment fix. 2007-10-18 Roland McGrath * elf.h: Update from glibc. 2007-10-07 Roland McGrath * 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 * elf_end.c (elf_end): Don't free ELF->state.ar.ar_sym when it's -1l. 2007-10-03 Roland McGrath * 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 * 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 * 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 * elf32_updatefile.c (compare_sections): Sort secondarily on sh_size, and only tertiarily on index. 2007-07-09 Roland McGrath * elf.h: Update from glibc. 2007-04-22 Roland McGrath * elf.h: Update from glibc. 2007-03-18 Roland McGrath * 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 * 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 * 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 * nlist.c: Close file descriptor before returning. 2007-01-20 Roland McGrath * 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 * gelf_rawchunk.c (gelf_rawchunk): Clear RESULT pointer after freeing it on read error. 2006-10-13 Roland McGrath * 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 * elf32_getphdr.c: Don't byteswap phdr fields when EI_DATA matches MY_ELFDATA on !ALLOW_UNALIGNED machines. Reported by Christian Aichinger . * Makefile.am (CLEANFILES): Add libelf.so.$(VERSION). 2006-08-08 Ulrich Drepper * elf.h (DT_VALNUM): Update. (DT_ADDRNUM): Likewise. 2006-07-12 Ulrich Drepper * 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 * 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 * 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 * libelf.h (elf_getarsym): Fix comment typo. Rename second parameter to be more explanatory. (elf_getident, elf_rawhide): Likewise. 2006-05-28 Ulrich Drepper * elf32_updatefile.c (updatemmap): Preserve section content if copying would overwrite them. Fix msync paramters. 2006-04-04 Roland McGrath * elf32_updatefile.c (updatemmap): Handle other-endian case. 2006-04-04 Ulrich Drepper * 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 * 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 * elf.h: Update from glibc. 2005-11-17 Roland McGrath * elf.h: Update from glibc. 2005-11-10 Roland McGrath * elf.h: Update from glibc. 2005-09-09 Roland McGrath * 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 * elf32_getphdr.c: Include . 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 . 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 * 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 * 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 * 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 * elf32_offscn.c: Do not match empty sections at OFFSET unless there are no nonempty sections at that offset. 2005-08-07 Ulrich Drepper * elf.h: Update from glibc. 2005-08-06 Ulrich Drepper * Makefile.am (AM_CFLAGS): Add -fpic when BUILD_STATIC. 2005-08-03 Ulrich Drepper * libelf.map: Move elf32_offscn, elf64_offscn, and gelf_offscn in new version ELFUTILS_1.1.1. 2005-08-02 Ulrich Drepper * 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 * 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 * 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 * elf.h: Update again. 2005-05-09 Ulrich Drepper * elf.h: Update from glibc. 2005-05-08 Roland McGrath * elf_begin.c (read_file) [_MUDFLAP]: Don't use mmap for now. * elf_update.c (write_file) [_MUDFLAP]: Likewise. 2005-03-29 Ulrich Drepper * 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 * 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 * 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 * Makefile.am: Check for text relocations in constructed DSO. * Makefile.am [MUDFLAP] (AM_CFLAGS): Add -Werror -fpic -fmudflap. 2005-02-04 Ulrich Drepper * 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 * 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 * elf.h: Update from glibc. 2004-01-23 Ulrich Drepper * 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 * 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 * elf-knowledge.h: New file. From libelf subdir. * Makefile.am (euincludedir): Define. (euinclude_HEADERS): Add elf-knowledge.h. 2003-09-24 Ulrich Drepper * elf.h: Define some PT_IA_64_HP_* constants. 2003-09-23 Jakub Jelinek * libelfP.h (struct Elf): Move state.elf64.sizestr_offset after state.elf64.scnincr to match state.elf{,32}. 2003-08-12 Ulrich Drepper * 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 * Moved to CVS archive.