1da0c48c4Sopenharmony_ci2022-10-28 Mark Wielaard <mark@klomp.org> 2da0c48c4Sopenharmony_ci 3da0c48c4Sopenharmony_ci * elf.h: Update from glibc. 4da0c48c4Sopenharmony_ci 5da0c48c4Sopenharmony_ci2022-10-21 Yonggang Luo <luoyonggang@gmail.com> 6da0c48c4Sopenharmony_ci 7da0c48c4Sopenharmony_ci * libelf_crc32.c: Remove LIB_SYSTEM_H define. 8da0c48c4Sopenharmony_ci 9da0c48c4Sopenharmony_ci2022-09-20 Yonggang Luo <luoyonggang@gmail.com> 10da0c48c4Sopenharmony_ci 11da0c48c4Sopenharmony_ci * elf32_checksum.c: Use BYTE_ORDER, LITTLE_ENDIAN and BIG_ENDIAN. 12da0c48c4Sopenharmony_ci * elf32_xlatetof.c: Likewise. 13da0c48c4Sopenharmony_ci * elf_getarsym.c: Likewise. 14da0c48c4Sopenharmony_ci 15da0c48c4Sopenharmony_ci2022-10-16 Yonggang Luo <luoyonggang@gmail.com> 16da0c48c4Sopenharmony_ci 17da0c48c4Sopenharmony_ci * common.h: Remove ar.h, byteswap.h and endian.h. 18da0c48c4Sopenharmony_ci * elf32_checksum.c: Remove endian.h. 19da0c48c4Sopenharmony_ci * elf32_getphdr.c: Remove unistd.h and system.h. 20da0c48c4Sopenharmony_ci * elf32_getshdr.c: Remove unistd.h.h and system.h. 21da0c48c4Sopenharmony_ci * elf32_updatefile.c: Remove unistd.h, sys/mman.h and system.h. 22da0c48c4Sopenharmony_ci * elf32_updatenull.c: Remove endian.h and system.h. 23da0c48c4Sopenharmony_ci * elf32_xlatetof.c: Remove endian.h. 24da0c48c4Sopenharmony_ci * elf32_xlatetom.c: Likewise. 25da0c48c4Sopenharmony_ci * elf_begin.c: Remove unistd.h, sys/mman.h and system.h. 26da0c48c4Sopenharmony_ci * elf_cntl.c: Remove unistd.h. 27da0c48c4Sopenharmony_ci * elf_compress.c: Remove system.h and unistd.h. 28da0c48c4Sopenharmony_ci * elf_end.c: Remove sys.mman.h. 29da0c48c4Sopenharmony_ci * elf_getarsym.c: Remove byteswap.h, endian.h, unistd.h and 30da0c48c4Sopenharmony_ci system.h. 31da0c48c4Sopenharmony_ci * elf_getdata.c: Remove unistd.h and system.h. 32da0c48c4Sopenharmony_ci * elf_getdata_rawchunk.c: Remove unistd.h and system.h. 33da0c48c4Sopenharmony_ci * elf_getshdrstrndx.c: Likewise. 34da0c48c4Sopenharmony_ci * elf_readall.c: Likewise. 35da0c48c4Sopenharmony_ci * elf_update.c: Remove unistd.h and sys/mman.h. 36da0c48c4Sopenharmony_ci * gelf_xlate.c: Remove byteswap.h. 37da0c48c4Sopenharmony_ci * libelfP.h: Add system.h. 38da0c48c4Sopenharmony_ci * nlist.c: Remove unistd.h. 39da0c48c4Sopenharmony_ci 40da0c48c4Sopenharmony_ci2022-08-28 Mark Wielaard <mark@klomp.org> 41da0c48c4Sopenharmony_ci 42da0c48c4Sopenharmony_ci * elf_begin.c (__libelf_next_arhdr_wrlock): Add OCT_FIELD macro, 43da0c48c4Sopenharmony_ci like INT_FIELD but use strtol with octal base 8. Use for ar_mode. 44da0c48c4Sopenharmony_ci 45da0c48c4Sopenharmony_ci2022-08-08 Andreas Schwab <schwab@suse.de> 46da0c48c4Sopenharmony_ci 47da0c48c4Sopenharmony_ci * elf.h: Update from glibc. 48da0c48c4Sopenharmony_ci 49da0c48c4Sopenharmony_ci2022-04-24 Mark Wielaard <mark@klomp.org> 50da0c48c4Sopenharmony_ci 51da0c48c4Sopenharmony_ci * elf_update.c (write_file): Check HAVE_MREMAP. 52da0c48c4Sopenharmony_ci 53da0c48c4Sopenharmony_ci2022-04-01 Mark Wielaard <mark@klomp.org> 54da0c48c4Sopenharmony_ci 55da0c48c4Sopenharmony_ci * libelfP.h (struct Elf_Data_Chunk): Add an int64_t offset field. 56da0c48c4Sopenharmony_ci * elf_getdata_rawchunk.c (elf_getdata_rawchunk): Check whether the 57da0c48c4Sopenharmony_ci requested chunk, offset, size and type, was already handed out. 58da0c48c4Sopenharmony_ci Set new Elf_Data_Chunk offset field. 59da0c48c4Sopenharmony_ci 60da0c48c4Sopenharmony_ci2022-03-29 Mark Wielaard <mark@klomp.org> 61da0c48c4Sopenharmony_ci 62da0c48c4Sopenharmony_ci * gelf_xlate.c (START): Define and use sz variable. 63da0c48c4Sopenharmony_ci (END): Use sz variable to decide whether to do a memmove. 64da0c48c4Sopenharmony_ci 65da0c48c4Sopenharmony_ci2022-03-24 Mark Wielaard <mark@klomp.org> 66da0c48c4Sopenharmony_ci 67da0c48c4Sopenharmony_ci * elf.h: Update from glibc. 68da0c48c4Sopenharmony_ci 69da0c48c4Sopenharmony_ci2022-03-22 Mark Wielaard <mark@klomp.org> 70da0c48c4Sopenharmony_ci 71da0c48c4Sopenharmony_ci * elf_getdata.c (__libelf_type_aligns): ELF_T_GNUHASH has different 72da0c48c4Sopenharmony_ci alignment for ELFCLASS32 and ELFCLASS64. 73da0c48c4Sopenharmony_ci 74da0c48c4Sopenharmony_ci2022-03-20 Mark Wielaard <mark@klomp.org> 75da0c48c4Sopenharmony_ci 76da0c48c4Sopenharmony_ci * version_xlate.h (elf_cvt_Verdef): Make sure aux_offset and 77da0c48c4Sopenharmony_ci def_offset don't overflow. 78da0c48c4Sopenharmony_ci (elf_cvt_Verneed): Make sure aux_offset and need_offset don't 79da0c48c4Sopenharmony_ci overflow. 80da0c48c4Sopenharmony_ci 81da0c48c4Sopenharmony_ci2022-03-18 Mark Wielaard <mark@klomp.org> 82da0c48c4Sopenharmony_ci 83da0c48c4Sopenharmony_ci * version_xlate.h (elf_cvt_Verdef): Check alignment of def_offset 84da0c48c4Sopenharmony_ci and aux_offset. 85da0c48c4Sopenharmony_ci (elf_cvt_Verneed): Check alignment of need_offset and aux_offset. 86da0c48c4Sopenharmony_ci 87da0c48c4Sopenharmony_ci2022-03-17 Mark Wielaard <mark@klomp.org> 88da0c48c4Sopenharmony_ci 89da0c48c4Sopenharmony_ci * elf_begin.c (read_long_names): Check ar_size starts with a digit. 90da0c48c4Sopenharmony_ci 91da0c48c4Sopenharmony_ci2022-03-17 Mark Wielaard <mark@klomp.org> 92da0c48c4Sopenharmony_ci 93da0c48c4Sopenharmony_ci * elf_begin.c (get_shnum): Take offset into account for Shdr 94da0c48c4Sopenharmony_ci alignment check. 95da0c48c4Sopenharmony_ci 96da0c48c4Sopenharmony_ci2021-12-19 Mark Wielaard <mark@klomp.org> 97da0c48c4Sopenharmony_ci 98da0c48c4Sopenharmony_ci * elf_begin.c (file_read_elf): Cast ehdr to uintptr_t before e_shoff 99da0c48c4Sopenharmony_ci alignment check. Only set shdr state when scncnt is larger than zero. 100da0c48c4Sopenharmony_ci 101da0c48c4Sopenharmony_ci2021-12-16 Mark Wielaard <mark@klomp.org> 102da0c48c4Sopenharmony_ci 103da0c48c4Sopenharmony_ci * libelfP.h (NOTE_ALIGN4): And with negative unsigned long. 104da0c48c4Sopenharmony_ci (NOTE_ALIGN8): Likewise. 105da0c48c4Sopenharmony_ci 106da0c48c4Sopenharmony_ci2021-12-15 Mark Wielaard <mark@klomp.org> 107da0c48c4Sopenharmony_ci 108da0c48c4Sopenharmony_ci * elf_begin.c (get_shnum): Use offsetof to get field of unaligned 109da0c48c4Sopenharmony_ci struct. 110da0c48c4Sopenharmony_ci 111da0c48c4Sopenharmony_ci2021-09-06 Dmitry V. Levin <ldv@altlinux.org> 112da0c48c4Sopenharmony_ci 113da0c48c4Sopenharmony_ci * common.h (allocate_elf): Remove cast of calloc return value. 114da0c48c4Sopenharmony_ci * elf_newdata.c (elf_newdata): Likewise. 115da0c48c4Sopenharmony_ci * elf_getscn.c (elf_getscn): Remove casts of calloc return values. 116da0c48c4Sopenharmony_ci * elf_newscn.c (elf_newscn): Likewise. 117da0c48c4Sopenharmony_ci * elf32_updatefile.c (__elfw2): Remove casts of malloc return values. 118da0c48c4Sopenharmony_ci * elf_getdata.c (convert_data): Likewise. 119da0c48c4Sopenharmony_ci (__libelf_set_rawdata_wrlock): Remove cast of malloc return value. 120da0c48c4Sopenharmony_ci * elf_begin.c (read_long_names): Remove cast of malloc return value. 121da0c48c4Sopenharmony_ci * elf_readall.c (__libelf_readall): Likewise. 122da0c48c4Sopenharmony_ci * elf_getarsym.c (elf_getarsym): Remove casts of malloc and realloc 123da0c48c4Sopenharmony_ci return values. 124da0c48c4Sopenharmony_ci 125da0c48c4Sopenharmony_ci2021-07-19 Mark Wielaard <mark@klomp.org> 126da0c48c4Sopenharmony_ci 127da0c48c4Sopenharmony_ci * elf_strptr.c (validate_str): Check last char is zero first before 128da0c48c4Sopenharmony_ci calling memrchr on the whole block. 129da0c48c4Sopenharmony_ci 130da0c48c4Sopenharmony_ci2021-06-09 Andrei Homescu <ah@immunant.com> 131da0c48c4Sopenharmony_ci 132da0c48c4Sopenharmony_ci * elf_getdata.c: Fix d_align for sections where alignment is larger 133da0c48c4Sopenharmony_ci than offset. 134da0c48c4Sopenharmony_ci 135da0c48c4Sopenharmony_ci2020-12-12 Mark Wielaard <mark@klomp.org> 136da0c48c4Sopenharmony_ci 137da0c48c4Sopenharmony_ci * elf.h: Update from glibc. 138da0c48c4Sopenharmony_ci 139da0c48c4Sopenharmony_ci2020-12-16 Dmitry V. Levin <ldv@altlinux.org> 140da0c48c4Sopenharmony_ci 141da0c48c4Sopenharmony_ci * libelfP.h (_): Remove. 142da0c48c4Sopenharmony_ci 143da0c48c4Sopenharmony_ci2020-12-15 Mark Wielaard <mark@klomp.org> 144da0c48c4Sopenharmony_ci 145da0c48c4Sopenharmony_ci * elf_begin.c (get_shnum): Make sure the full Ehdr is available. 146da0c48c4Sopenharmony_ci 147da0c48c4Sopenharmony_ci2020-12-12 Dmitry V. Levin <ldv@altlinux.org> 148da0c48c4Sopenharmony_ci 149da0c48c4Sopenharmony_ci * common.h: Fix spelling typo in comment. 150da0c48c4Sopenharmony_ci * gelf.h: Likewise. 151da0c48c4Sopenharmony_ci * libelf.h: Likewise. 152da0c48c4Sopenharmony_ci * libelfP.h: Likewise. 153da0c48c4Sopenharmony_ci * elf32_checksum.c (elfw2): Likewise. 154da0c48c4Sopenharmony_ci * elf_begin.c (dup_elf, write_file): Likewise. 155da0c48c4Sopenharmony_ci * elf_compress.c (__libelf_compress): Likewise. 156da0c48c4Sopenharmony_ci * elf_compress_gnu.c (elf_compress_gnu): Likewise. 157da0c48c4Sopenharmony_ci 158da0c48c4Sopenharmony_ci2020-12-11 Dmitry V. Levin <ldv@altlinux.org> 159da0c48c4Sopenharmony_ci 160da0c48c4Sopenharmony_ci * Makefile.am (GCC_INCLUDE): Remove. 161da0c48c4Sopenharmony_ci 162da0c48c4Sopenharmony_ci2020-12-09 Dmitry V. Levin <ldv@altlinux.org> 163da0c48c4Sopenharmony_ci 164da0c48c4Sopenharmony_ci * Makefile.am (noinst_PROGRAMS): Rename to noinst_DATA. 165da0c48c4Sopenharmony_ci (libelf_so_SOURCES): Remove. 166da0c48c4Sopenharmony_ci (CLEANFILES): Add libelf.so. 167da0c48c4Sopenharmony_ci 168da0c48c4Sopenharmony_ci2020-11-30 Dmitry V. Levin <ldv@altlinux.org> 169da0c48c4Sopenharmony_ci 170da0c48c4Sopenharmony_ci * Makefile.am (libelf.so$(EXEEXT)): Drop $(EXEEXT) suffix. 171da0c48c4Sopenharmony_ci 172da0c48c4Sopenharmony_ci2020-11-06 Mark Wielaard <mark@klomp.org> 173da0c48c4Sopenharmony_ci 174da0c48c4Sopenharmony_ci * elf-knowledge.h (SH_ENTSIZE_HASH): Update comment. 175da0c48c4Sopenharmony_ci 176da0c48c4Sopenharmony_ci2020-11-01 Mark Wielaard <mark@klomp.org> 177da0c48c4Sopenharmony_ci 178da0c48c4Sopenharmony_ci * elf_strptr.c (elf_strptr): Check shdr is not NULL. 179da0c48c4Sopenharmony_ci 180da0c48c4Sopenharmony_ci2020-11-01 Mark Wielaard <mark@klomp.org> 181da0c48c4Sopenharmony_ci 182da0c48c4Sopenharmony_ci * elf_getphdrnum.c (__elf_getphdrnum_rdlock): Set *dst to zero on 183da0c48c4Sopenharmony_ci error. 184da0c48c4Sopenharmony_ci 185da0c48c4Sopenharmony_ci2020-11-01 Mark Wielaard <mark@klomp.org> 186da0c48c4Sopenharmony_ci 187da0c48c4Sopenharmony_ci * libelfP.h (__libelf_data_type): Take an GElf_Ehdr instead of an 188da0c48c4Sopenharmony_ci Elf handle. 189da0c48c4Sopenharmony_ci * elf_getdata.c (__libelf_data_type): Likewise. And check ehdr 190da0c48c4Sopenharmony_ci directly instead of fetching a new one. 191da0c48c4Sopenharmony_ci (__libelf_set_rawdata_wrlock): Fetch Ehdr, report an error when that 192da0c48c4Sopenharmony_ci fails, otherwise call __libelf_data_type. 193da0c48c4Sopenharmony_ci 194da0c48c4Sopenharmony_ci2020-10-28 Mark Wielaard <mark@klomp.org> 195da0c48c4Sopenharmony_ci 196da0c48c4Sopenharmony_ci * elf.h: Update from glibc. 197da0c48c4Sopenharmony_ci 198da0c48c4Sopenharmony_ci2020-08-28 Mark Wielaard <mark@klomp.org> 199da0c48c4Sopenharmony_ci 200da0c48c4Sopenharmony_ci * elf.h: Update from glibc. 201da0c48c4Sopenharmony_ci 202da0c48c4Sopenharmony_ci2020-08-19 Mark Wielaard <mark@klomp.org> 203da0c48c4Sopenharmony_ci 204da0c48c4Sopenharmony_ci * elf32_updatenull.c (updatenull_wrlock): Fixup the sh_addralign 205da0c48c4Sopenharmony_ci of an SHF_COMPRESSED section if necessary. 206da0c48c4Sopenharmony_ci 207da0c48c4Sopenharmony_ci2020-06-04 Mark Wielaard <mark@klomp.org> 208da0c48c4Sopenharmony_ci 209da0c48c4Sopenharmony_ci * elf.h: Update from glibc. 210da0c48c4Sopenharmony_ci 211da0c48c4Sopenharmony_ci2020-05-08 Mark Wielaard <mark@klomp.org> 212da0c48c4Sopenharmony_ci 213da0c48c4Sopenharmony_ci * elf_strptr.c (elf_strptr): Check shdr is not NULL. 214da0c48c4Sopenharmony_ci 215da0c48c4Sopenharmony_ci2020-05-08 Mark Wielaard <mark@klomp.org> 216da0c48c4Sopenharmony_ci 217da0c48c4Sopenharmony_ci * elf_getdata.c (__libelf_set_rawdata_wrlock): Check 218da0c48c4Sopenharmony_ci __gelf_getehdr_rdlock return value. 219da0c48c4Sopenharmony_ci 220da0c48c4Sopenharmony_ci2020-04-25 Mark Wielaard <mark@klomp.org> 221da0c48c4Sopenharmony_ci 222da0c48c4Sopenharmony_ci * elf_compress.c (__libelf_compress): Remove free (out_buf). 223da0c48c4Sopenharmony_ci 224da0c48c4Sopenharmony_ci2020-03-18 Omar Sandoval <osandov@fb.com> 225da0c48c4Sopenharmony_ci 226da0c48c4Sopenharmony_ci * elf_getphdrnum.c (__elf_getphdrnum_rdlock): Call 227da0c48c4Sopenharmony_ci __elf{32,64}_getshdr_rdlock if the shdr is not cached. 228da0c48c4Sopenharmony_ci 229da0c48c4Sopenharmony_ci2019-03-20 Matthias Maennich <maennich@google.com> 230da0c48c4Sopenharmony_ci 231da0c48c4Sopenharmony_ci * elf_compress.c (__libelf_compress): Always call deflate_cleanup 232da0c48c4Sopenharmony_ci in failure path. Call deflateEnd only once. 233da0c48c4Sopenharmony_ci (__libelf_decompress): Call inflateEnd only once. 234da0c48c4Sopenharmony_ci 235da0c48c4Sopenharmony_ci2019-06-18 Mark Wielaard <mark@klomp.org> 236da0c48c4Sopenharmony_ci 237da0c48c4Sopenharmony_ci * common.h (allocate_elf): Use int64_t instead of off_t for offset. 238da0c48c4Sopenharmony_ci * elf32_newphdr.c (newphdr): Document why Elf32/64_Word is correct. 239da0c48c4Sopenharmony_ci * elf32_updatefile.c (fill): Use int64_t instead of off_t for pos. 240da0c48c4Sopenharmony_ci (updatefile): Define last_offset, shdr_offset and scn_start as 241da0c48c4Sopenharmony_ci int64_t instead of off_t. 242da0c48c4Sopenharmony_ci * elf32_updatenull.c: Define Elf32_SizeWord and Elf64_SizeWord. 243da0c48c4Sopenharmony_ci (updatenull_wrlock): Return int64_t instead of off_t. Define size, 244da0c48c4Sopenharmony_ci sh_entsize, sh_align and sh_size as SizeWords. Define offset as 245da0c48c4Sopenharmony_ci int64_t. Cast data->d_off to SizeWord instead of GElf_Word. Drop 246da0c48c4Sopenharmony_ci size GElf_Word cast. Cast offset to SizeWord instead of GElf_Word 247da0c48c4Sopenharmony_ci when comparing with sh_size. 248da0c48c4Sopenharmony_ci * elf_begin.c (get_shnum): Define offset as int64_t instead of 249da0c48c4Sopenharmony_ci off_t. Document why use GElf_Word is correct. 250da0c48c4Sopenharmony_ci (file_read_elf): Define offset as int64_t instead of off_t. 251da0c48c4Sopenharmony_ci (__libelf_read_mmaped_file): Likewise. 252da0c48c4Sopenharmony_ci (read_unmmaped_file): Likewise. 253da0c48c4Sopenharmony_ci (read_file): Likewise. 254da0c48c4Sopenharmony_ci * elf_getaroff.c (elf_getaroff): Return int64_t. 255da0c48c4Sopenharmony_ci * elf_getbase.c (elf_getbase): Likewise. 256da0c48c4Sopenharmony_ci * elf_getdata_rawchunk.c (elf_getdata_rawchunk): Define offset as 257da0c48c4Sopenharmony_ci int64_t instead of off_t. 258da0c48c4Sopenharmony_ci * elf_update.c (write_file): Return int64_t instead of off_t, 259da0c48c4Sopenharmony_ci define size as int64_t instead of off_t. 260da0c48c4Sopenharmony_ci (elf_update): Likewise. 261da0c48c4Sopenharmony_ci * libelfP.h (struct Elf): Define start_offset, sizestr_offset and 262da0c48c4Sopenharmony_ci offset as int64_t. 263da0c48c4Sopenharmony_ci (__libelf_read_mmaped_file): Define offset as int64_t. 264da0c48c4Sopenharmony_ci (__elf32_updatenull_wrlock): Return int64_t. 265da0c48c4Sopenharmony_ci (__elf64_updatenull_wrlock): Return int64_t. 266da0c48c4Sopenharmony_ci 267da0c48c4Sopenharmony_ci2019-05-12 Mark Wielaard <mark@klomp.org> 268da0c48c4Sopenharmony_ci 269da0c48c4Sopenharmony_ci * elf32_updatenull.c (updatenull_wrlock): Mark shdr_flags dirty if 270da0c48c4Sopenharmony_ci either offset or size changed. 271da0c48c4Sopenharmony_ci 272da0c48c4Sopenharmony_ci2019-05-01 Mark Wielaard <mark@klomp.org> 273da0c48c4Sopenharmony_ci 274da0c48c4Sopenharmony_ci * gelf_getnote.c (gelf_getnote): Check n_namesz doesn't overflow 275da0c48c4Sopenharmony_ci offset. 276da0c48c4Sopenharmony_ci 277da0c48c4Sopenharmony_ci2019-04-30 Mark Wielaard <mark@klomp.org> 278da0c48c4Sopenharmony_ci 279da0c48c4Sopenharmony_ci * note_xlate.h (elf_cvt_note): Indicate we only translated the note 280da0c48c4Sopenharmony_ci header if we ran out of data by updating len, src and dest. 281da0c48c4Sopenharmony_ci 282da0c48c4Sopenharmony_ci2019-04-01 Mao Han <han_mao@c-sky.com> 283da0c48c4Sopenharmony_ci 284da0c48c4Sopenharmony_ci * elf.h: Update from glibc. 285da0c48c4Sopenharmony_ci 286da0c48c4Sopenharmony_ci2019-03-07 Mark Wielaard <mark@klomp.org> 287da0c48c4Sopenharmony_ci 288da0c48c4Sopenharmony_ci * elf32_updatefile.c (updatemmap): Use posix_memalign instead of 289da0c48c4Sopenharmony_ci aligned_alloc. 290da0c48c4Sopenharmony_ci 291da0c48c4Sopenharmony_ci2019-03-06 Mark Wielaard <mark@klomp.org> 292da0c48c4Sopenharmony_ci 293da0c48c4Sopenharmony_ci * elf32_updatefile.c (updatemmap): Free scns before returning 294da0c48c4Sopenharmony_ci allocation failure. 295da0c48c4Sopenharmony_ci 296da0c48c4Sopenharmony_ci2019-02-24 Mark Wielaard <mark@klomp.org> 297da0c48c4Sopenharmony_ci 298da0c48c4Sopenharmony_ci * gelf_xlate.c (__elf_xfctstof): Remove alias. 299da0c48c4Sopenharmony_ci * libelfP.h (__elf_xfctstof): Remove definition. 300da0c48c4Sopenharmony_ci 301da0c48c4Sopenharmony_ci2019-02-24 Mark Wielaard <mark@klomp.org> 302da0c48c4Sopenharmony_ci 303da0c48c4Sopenharmony_ci * elf32_fsize.c (local_strong_alias): Remove definition. 304da0c48c4Sopenharmony_ci (msize): Remove alias. 305da0c48c4Sopenharmony_ci * libelfP.h (__elf32_msize): Remove definition. 306da0c48c4Sopenharmony_ci (__elf64_msize): Likewise. 307da0c48c4Sopenharmony_ci 308da0c48c4Sopenharmony_ci2019-02-21 Mark Wielaard <mark@klomp.org> 309da0c48c4Sopenharmony_ci 310da0c48c4Sopenharmony_ci * common.h (determine_kind): Only accept EV_CURRENT. 311da0c48c4Sopenharmony_ci * elf32_fsize.c (fsize): Just check version is EV_CURRENT. 312da0c48c4Sopenharmony_ci Use __libelf_type_size without version dimension. 313da0c48c4Sopenharmony_ci * elf32_updatefile.c (updatemmap): Define fctp from __elf_xfctstom 314da0c48c4Sopenharmony_ci without version dimension. 315da0c48c4Sopenharmony_ci (updatefile): Likewise. 316da0c48c4Sopenharmony_ci * elf32_updatenull.c (default_ehdr): Check e_version is EV_CURRENT. 317da0c48c4Sopenharmony_ci (updatenull_wrlock): Check d_version is EV_CURRENT. 318da0c48c4Sopenharmony_ci (elf32_xlatetof): Likewise. And get recsize without version 319da0c48c4Sopenharmony_ci dimension from __elf_xfctstom. 320da0c48c4Sopenharmony_ci (elf32_xlatetom): Likewise. 321da0c48c4Sopenharmony_ci * elf_begin.c (elf_begin): Check __libelf_version is EV_CURRENT. 322da0c48c4Sopenharmony_ci * elf_compress.c (__libelf_reset_rawdata): Set d_version to 323da0c48c4Sopenharmony_ci EV_CURRENT. 324da0c48c4Sopenharmony_ci * elf_getdata.c (shtype_map): Remove version dimension. 325da0c48c4Sopenharmony_ci (__libelf_type_aligns): Likewise. 326da0c48c4Sopenharmony_ci (__libelf_data_type): Use shtype_map without version dimension. 327da0c48c4Sopenharmony_ci (convert_data): Remove unused version argument. Get fp from 328da0c48c4Sopenharmony_ci __elf_xfctstom without version dimensions. 329da0c48c4Sopenharmony_ci (__libelf_set_data_list_rdlock): Call convert_data without version. 330da0c48c4Sopenharmony_ci * elf_getdata_rawchunk.c (elf_getdata_rawchunk): Call __elfcfctstom 331da0c48c4Sopenharmony_ci conversion function without version dimensions. Set d_version to 332da0c48c4Sopenharmony_ci EV_CURRENT. 333da0c48c4Sopenharmony_ci * elf_newdata.c (elf_newdata): Set d_version to EV_CURRENT. 334da0c48c4Sopenharmony_ci * elf_version.c (__libelf_version_initialized): Removed. 335da0c48c4Sopenharmony_ci (__libelf_version): Initialized to EV_NONE. 336da0c48c4Sopenharmony_ci (elf_version): Always return EV_CURRENT for EV_NONE version. 337da0c48c4Sopenharmony_ci Only accept (and return) EV_CURRENT as version. 338da0c48c4Sopenharmony_ci * gelf_fsize.c (__libelf_type_sizes): Remove version dimension. 339da0c48c4Sopenharmony_ci (gelf_fsize): Only accept EV_CURRENT as version. 340da0c48c4Sopenharmony_ci Use __libelf_type_sizes without version dimension. 341da0c48c4Sopenharmony_ci * gelf_xlate.c (__elf_xftstom): Remove version dimensions. 342da0c48c4Sopenharmony_ci * libelfP.h (__elf_xfctstom): Defined without version dimensions. 343da0c48c4Sopenharmony_ci (__elf_xfctstof): Likewise. 344da0c48c4Sopenharmony_ci (__libelf_type_sizes): Define without version dimension. 345da0c48c4Sopenharmony_ci (elf_typesize): Define using __libelf_type_sizes without version 346da0c48c4Sopenharmony_ci dimension. 347da0c48c4Sopenharmony_ci (__libelf_version_initialized): Remove definition. 348da0c48c4Sopenharmony_ci (__libelf_version): Add definition. 349da0c48c4Sopenharmony_ci (LIBELF_EV_IDX): Removed define. 350da0c48c4Sopenharmony_ci (__libelf_type_aligns): Remove version dimension. 351da0c48c4Sopenharmony_ci * nlist.c (nlist): Call elf_version unconditionally. 352da0c48c4Sopenharmony_ci 353da0c48c4Sopenharmony_ci2019-02-19 Mark Wielaard <mark@klomp.org> 354da0c48c4Sopenharmony_ci 355da0c48c4Sopenharmony_ci * elf_compress.c (do_deflate_cleanup): Remove ei_data argument, 356da0c48c4Sopenharmony_ci check cdatap is not NULL before calling free. 357da0c48c4Sopenharmony_ci (deflate_cleanup): Add cdata as argument. 358da0c48c4Sopenharmony_ci (__libelf_compress): Also check whether the d_size is not zero 359da0c48c4Sopenharmony_ci before converting data. Call deflate_cleanup with an extra 360da0c48c4Sopenharmony_ci argument depending on whether there is converted data to free. 361da0c48c4Sopenharmony_ci Always allocate allocate at least one byte for buf_out. 362da0c48c4Sopenharmony_ci 363da0c48c4Sopenharmony_ci2019-02-14 Mark Wielaard <mark@klomp.org> 364da0c48c4Sopenharmony_ci 365da0c48c4Sopenharmony_ci * elf_begin.c (read_long_names): Make sure ar_size is properly 366da0c48c4Sopenharmony_ci terminated. Sanity check len early if we can. 367da0c48c4Sopenharmony_ci 368da0c48c4Sopenharmony_ci2019-01-18 Mark Wielaard <mark@klomp.org> 369da0c48c4Sopenharmony_ci 370da0c48c4Sopenharmony_ci * Makefile.am (INSTALL_ELFH): Add elf.h to include_HEADERS when 371da0c48c4Sopenharmony_ci defined, otherwise (the default) add elf.h to noinst_HEADERS. 372da0c48c4Sopenharmony_ci 373da0c48c4Sopenharmony_ci2019-01-16 Mark Wielaard <mark@klomp.org> 374da0c48c4Sopenharmony_ci 375da0c48c4Sopenharmony_ci * note_xlate.h (elf_cvt_note): Check n_namesz and n_descsz don't 376da0c48c4Sopenharmony_ci overflow note_len into note header. 377da0c48c4Sopenharmony_ci 378da0c48c4Sopenharmony_ci2018-11-17 Mark Wielaard <mark@klomp.org> 379da0c48c4Sopenharmony_ci 380da0c48c4Sopenharmony_ci * elf32_updatefile.c (updatemmap): Make sure to call convert 381da0c48c4Sopenharmony_ci function on a properly aligned destination. 382da0c48c4Sopenharmony_ci 383da0c48c4Sopenharmony_ci2018-11-16 Mark Wielaard <mark@klomp.org> 384da0c48c4Sopenharmony_ci 385da0c48c4Sopenharmony_ci * libebl.h (__elf32_msize): Mark with const attribute. 386da0c48c4Sopenharmony_ci (__elf64_msize): Likewise. 387da0c48c4Sopenharmony_ci 388da0c48c4Sopenharmony_ci2018-11-13 Mark Wielaard <mark@klomp.org> 389da0c48c4Sopenharmony_ci 390da0c48c4Sopenharmony_ci * elf_getdata.c (__libelf_set_rawdata_wrlock): Explicitly set the 391da0c48c4Sopenharmony_ci alignment of SHF_COMPRESSED data to the alignment of ELF_T_CHDR. 392da0c48c4Sopenharmony_ci * elf_compress.c (elf_compress): After compression set sh_addralign 393da0c48c4Sopenharmony_ci to the alignment of ELF_T_CHDR. 394da0c48c4Sopenharmony_ci 395da0c48c4Sopenharmony_ci2018-11-09 Mark Wielaard <mark@klomp.org> 396da0c48c4Sopenharmony_ci 397da0c48c4Sopenharmony_ci * elf_compress_gnu.c (elf_compress_gnu): Use elf_getdata. 398da0c48c4Sopenharmony_ci 399da0c48c4Sopenharmony_ci2018-11-12 Mark Wielaard <mark@klomp.org> 400da0c48c4Sopenharmony_ci 401da0c48c4Sopenharmony_ci * elf-knowledge.c (ELF_NOTE_GNU_BUILD_ATTRIBUTE_PREFIX): New define. 402da0c48c4Sopenharmony_ci (NT_GNU_BUILD_ATTRIBUTE_{OPEN,FUNC}): Likewise. 403da0c48c4Sopenharmony_ci (GNU_BUILD_ATTRIBUTE_TYPE_{NUMERIC,STRING,BOOL_TRUE,BOOL_FALSE}): 404da0c48c4Sopenharmony_ci Likewise. 405da0c48c4Sopenharmony_ci (GNU_BUILD_ATTRIBUTE_{VERSION,STACK_PROT,RELRO,STACK_SIZE,TOOL,ABI, 406da0c48c4Sopenharmony_ci PIC,SHORT_ENUM}): Likewise. 407da0c48c4Sopenharmony_ci 408da0c48c4Sopenharmony_ci2018-11-09 Mark Wielaard <mark@klomp.org> 409da0c48c4Sopenharmony_ci 410da0c48c4Sopenharmony_ci * elf_compress.c (__libelf_reset_rawdata): Make rawdata change 411da0c48c4Sopenharmony_ci explicit by calling __libelf_set_data_list. 412da0c48c4Sopenharmony_ci * elf_getdata.c (convert_data): Don't convert if type is ELF_T_BYTE 413da0c48c4Sopenharmony_ci even if endianness is different. 414da0c48c4Sopenharmony_ci 415da0c48c4Sopenharmony_ci2018-10-18 Mark Wielaard <mark@klomp.org> 416da0c48c4Sopenharmony_ci 417da0c48c4Sopenharmony_ci * libelf.h (Elf_Type): Add ELF_T_NHDR8. 418da0c48c4Sopenharmony_ci * libelfP.h (__libelf_data_type): Add align argument. 419da0c48c4Sopenharmony_ci (NOTE_ALIGN): Split into... 420da0c48c4Sopenharmony_ci (NOTE_ALIGN4): ... and ... 421da0c48c4Sopenharmony_ci (NOTE_ALIGN8): this. 422da0c48c4Sopenharmony_ci * elf32_xlatetom.c (xlatetom): Recognize both ELF_T_NHDR and 423da0c48c4Sopenharmony_ci ELF_T_NHDR8. 424da0c48c4Sopenharmony_ci * elf_compress.c (elf_compress): Pass zdata_align to 425da0c48c4Sopenharmony_ci __libelf_data_type. 426da0c48c4Sopenharmony_ci * elf_compress_gnu.c (elf_compress_gnu): Pass sh_addralign to 427da0c48c4Sopenharmony_ci __libelf_data_type. 428da0c48c4Sopenharmony_ci * elf_getdata.c (shtype_map): Add ELF_T_NHDR8. 429da0c48c4Sopenharmony_ci (__libelf_data_type): Take align as extra argument, use it to 430da0c48c4Sopenharmony_ci determine Elf_Type. 431da0c48c4Sopenharmony_ci (__libelf_set_rawdata_wrlock): Recognize ELF_T_NHDR8. Pass align to 432da0c48c4Sopenharmony_ci __libelf_data_type. 433da0c48c4Sopenharmony_ci * gelf_fsize.c (__libelf_type_sizes): Add ELF_T_NHDR8. 434da0c48c4Sopenharmony_ci * gelf_getnote.c (gelf_getnote): Use Elf_Type of Elf_Data to calculate 435da0c48c4Sopenharmony_ci padding. 436da0c48c4Sopenharmony_ci * gelf_xlate.c (__elf_xfctstom): Set ELF_T_NHDR to elf_cvt_note4, 437da0c48c4Sopenharmony_ci add ELF_T_NHDR8. 438da0c48c4Sopenharmony_ci * note_xlate.h (elf_cvt_note): Take nhdr8 argument and use it to 439da0c48c4Sopenharmony_ci determine padding. 440da0c48c4Sopenharmony_ci (elf_cvt_note4): New function. 441da0c48c4Sopenharmony_ci (elf_cvt_note8): Likewise. 442da0c48c4Sopenharmony_ci 443da0c48c4Sopenharmony_ci2018-09-13 Mark Wielaard <mark@klomp.org> 444da0c48c4Sopenharmony_ci 445da0c48c4Sopenharmony_ci * elf32_updatefile.c (updatemmap): Use shnum, not ehdr->e_shnum. 446da0c48c4Sopenharmony_ci * elf_getscn.c (elf_getscn): Create section zero if it is requested, 447da0c48c4Sopenharmony_ci but doesn't exist yet. 448da0c48c4Sopenharmony_ci 449da0c48c4Sopenharmony_ci2018-09-12 Mark Wielaard <mark@klomp.org> 450da0c48c4Sopenharmony_ci 451da0c48c4Sopenharmony_ci * elf32_updatefile.c (updatemmap): Use memmove, not memcpy. 452da0c48c4Sopenharmony_ci * elf_update.c (write_file): Try to mremap if file needs to be 453da0c48c4Sopenharmony_ci extended. 454da0c48c4Sopenharmony_ci 455da0c48c4Sopenharmony_ci2018-08-18 Mark Wielaard <mark@klomp.org> 456da0c48c4Sopenharmony_ci 457da0c48c4Sopenharmony_ci * libelf.h (elf_compress_gnu): Add documentation about 458da0c48c4Sopenharmony_ci interaction between SHF_COMPRESED and elf_compress_gnu. 459da0c48c4Sopenharmony_ci * elf_compress_gnu.c (elf_compress_gnu): Return error if section 460da0c48c4Sopenharmony_ci sh_flags has SHF_COMPRESSED set. 461da0c48c4Sopenharmony_ci 462da0c48c4Sopenharmony_ci2018-07-27 Mark Wielaard <mark@klomp.org> 463da0c48c4Sopenharmony_ci 464da0c48c4Sopenharmony_ci * libelf.h (elf_getshdrstrndx): Fix documentation. 465da0c48c4Sopenharmony_ci (elf_getshstrndx): Likewise. 466da0c48c4Sopenharmony_ci 467da0c48c4Sopenharmony_ci2018-06-19 Mark Wielaard <mark@klomp.org> 468da0c48c4Sopenharmony_ci 469da0c48c4Sopenharmony_ci * libelfP.h (__libelf_type_align): Remove !ALLOW_UNALIGNED guard. 470da0c48c4Sopenharmony_ci * elf_getdata.c (__libelf_type_aligns): Likewise. 471da0c48c4Sopenharmony_ci (convert_data): Remove ALLOW_UNALIGNED check. 472da0c48c4Sopenharmony_ci * elf_getdata_rawchunk.c (elf_getdata_rawchunk): Likewise. 473da0c48c4Sopenharmony_ci 474da0c48c4Sopenharmony_ci2018-06-21 Mark Wielaard <mark@klomp.org> 475da0c48c4Sopenharmony_ci 476da0c48c4Sopenharmony_ci * elf.h: Update from glibc. 477da0c48c4Sopenharmony_ci 478da0c48c4Sopenharmony_ci2018-04-19 Andreas Schwab <schwab@suse.de> 479da0c48c4Sopenharmony_ci 480da0c48c4Sopenharmony_ci * elf.h: Update from glibc. 481da0c48c4Sopenharmony_ci 482da0c48c4Sopenharmony_ci2018-02-16 Mark Wielaard <mark@klomp.org> 483da0c48c4Sopenharmony_ci 484da0c48c4Sopenharmony_ci * elf.h: Update from glibc. 485da0c48c4Sopenharmony_ci 486da0c48c4Sopenharmony_ci2018-02-09 Joshua Watt <JPEWhacker@gmail.com> 487da0c48c4Sopenharmony_ci 488da0c48c4Sopenharmony_ci * elf32_updatenull.c (updatenull_wrlock): Use FALLTHROUGH macro 489da0c48c4Sopenharmony_ci instead of comment. 490da0c48c4Sopenharmony_ci * elf_begin.c (read_unmmaped_file): Likewise. 491da0c48c4Sopenharmony_ci (elf_begin): Likewise. 492da0c48c4Sopenharmony_ci * elf_cntl.c (elf_cntl): Likewise. 493da0c48c4Sopenharmony_ci 494da0c48c4Sopenharmony_ci2017-10-04 Mark Wielaard <mark@klomp.org> 495da0c48c4Sopenharmony_ci 496da0c48c4Sopenharmony_ci * elf_begin.c (file_read_elf): Skip sanity checking e_shoff if scncnt 497da0c48c4Sopenharmony_ci is zero, we won't use it then. 498da0c48c4Sopenharmony_ci 499da0c48c4Sopenharmony_ci2017-10-04 Mark Wielaard <mark@klomp.org> 500da0c48c4Sopenharmony_ci 501da0c48c4Sopenharmony_ci * libelfP.h: Add ELF_E_INVALID_ELF to error values enum. 502da0c48c4Sopenharmony_ci * elf_error.c (ELF_E_INVALID_ELF_IDX): New define. Use it as value 503da0c48c4Sopenharmony_ci for ELF_E_INVALID_ELF in msgidx. 504da0c48c4Sopenharmony_ci * elf_getshdrstrndx.c (elf_getshdrstrndx): Distinquish between pread 505da0c48c4Sopenharmony_ci failing and not having enough data. 506da0c48c4Sopenharmony_ci * elf_begin.c (get_shnum): Likewise. Explicitly set libelf errno on 507da0c48c4Sopenharmony_ci too large value. 508da0c48c4Sopenharmony_ci (file_read_elf): Make sure to always set libelf errno when returning 509da0c48c4Sopenharmony_ci NULL. Distinquish between i/o file and elf data errors. 510da0c48c4Sopenharmony_ci 511da0c48c4Sopenharmony_ci2017-08-18 Ulf Hermann <ulf.hermann@qt.io> 512da0c48c4Sopenharmony_ci 513da0c48c4Sopenharmony_ci * gelf_xlate.c: Use attribute_packed. 514da0c48c4Sopenharmony_ci 515da0c48c4Sopenharmony_ci2017-04-27 Ulf Hermann <ulf.hermann@qt.io> 516da0c48c4Sopenharmony_ci 517da0c48c4Sopenharmony_ci * libelfP.h: Use attribute_hidden. 518da0c48c4Sopenharmony_ci 519da0c48c4Sopenharmony_ci2017-04-27 Ulf Hermann <ulf.hermann@qt.io> 520da0c48c4Sopenharmony_ci 521da0c48c4Sopenharmony_ci * Makefile.am: Use fpic_CFLAGS and dso_LDFLAGS. 522da0c48c4Sopenharmony_ci 523da0c48c4Sopenharmony_ci2017-08-15 Mark Wielaard <mark@klomp.org> 524da0c48c4Sopenharmony_ci 525da0c48c4Sopenharmony_ci * elf.h: Update from glibc. Add new powerpc note descriptors. 526da0c48c4Sopenharmony_ci 527da0c48c4Sopenharmony_ci2017-07-19 Gustavo Romero <gromero@linux.vnet.ibm.com> 528da0c48c4Sopenharmony_ci 529da0c48c4Sopenharmony_ci * elf.h: Add known type in notes segment descriptor for HTM SPRs. 530da0c48c4Sopenharmony_ci 531da0c48c4Sopenharmony_ci2017-02-17 Ulf hermann <ulf.hermann@qt.io> 532da0c48c4Sopenharmony_ci 533da0c48c4Sopenharmony_ci * Makefile.am: Add libelf_so_DEPS, which include libeu.a, 534da0c48c4Sopenharmony_ci libelf_so_LIBS. 535da0c48c4Sopenharmony_ci (libelf_so_LDLIBS): Add $(libelf_so_DEPS). 536da0c48c4Sopenharmony_ci (libelf.so$(EXEEXT): Use $(libelf_so_LIBS), require libelf.map 537da0c48c4Sopenharmony_ci from the right directory. 538da0c48c4Sopenharmony_ci 539da0c48c4Sopenharmony_ci2017-04-20 Ulf Hermann <ulf.hermann@qt.io> 540da0c48c4Sopenharmony_ci 541da0c48c4Sopenharmony_ci * libelfP.h: Don't include config.h. 542da0c48c4Sopenharmony_ci 543da0c48c4Sopenharmony_ci2017-04-20 Ulf Hermann <ulf.hermann@qt.io> 544da0c48c4Sopenharmony_ci 545da0c48c4Sopenharmony_ci * elf_begin.c: Use F_GETFD rather than F_GETFL. 546da0c48c4Sopenharmony_ci 547da0c48c4Sopenharmony_ci2017-04-20 Ulf Hermann <ulf.hermann@qt.io> 548da0c48c4Sopenharmony_ci 549da0c48c4Sopenharmony_ci * libelf.h: Define macros for various function attributes and use 550da0c48c4Sopenharmony_ci them. 551da0c48c4Sopenharmony_ci 552da0c48c4Sopenharmony_ci2017-04-20 Ulf Hermann <ulf.hermann@qt.io> 553da0c48c4Sopenharmony_ci 554da0c48c4Sopenharmony_ci * elf_update.c: Set ELF_F_MMAPPED flag if we mmap from elf_update. 555da0c48c4Sopenharmony_ci 556da0c48c4Sopenharmony_ci2017-04-19 Mark Wielaard <mark@klomp.org> 557da0c48c4Sopenharmony_ci 558da0c48c4Sopenharmony_ci * elf_getarsym.c (elf_getarsym): Initialize n to zero. 559da0c48c4Sopenharmony_ci 560da0c48c4Sopenharmony_ci2017-03-27 Mark Wielaard <mark@klomp.org> 561da0c48c4Sopenharmony_ci 562da0c48c4Sopenharmony_ci * elf32_updatefile.c (updatemmap): Always update last_positition. 563da0c48c4Sopenharmony_ci (updatefile): Likewise. 564da0c48c4Sopenharmony_ci 565da0c48c4Sopenharmony_ci2017-03-24 Mark Wielaard <mark@klomp.org> 566da0c48c4Sopenharmony_ci 567da0c48c4Sopenharmony_ci * elf_compress.c (__libelf_decompress): Check insane compression 568da0c48c4Sopenharmony_ci ratios before trying to allocate output buffer. 569da0c48c4Sopenharmony_ci 570da0c48c4Sopenharmony_ci2016-10-11 Akihiko Odaki <akihiko.odaki.4i@stu.hosei.ac.jp> 571da0c48c4Sopenharmony_ci Mark Wielaard <mjw@redhat.com> 572da0c48c4Sopenharmony_ci 573da0c48c4Sopenharmony_ci * gelf.h (gelf_newehdr): Change return type to void *. 574da0c48c4Sopenharmony_ci (gelf_newphdr): Likewise. 575da0c48c4Sopenharmony_ci * gelf_newehdr.c (gelf_newehdr): Likewise. 576da0c48c4Sopenharmony_ci * gelf_newphdr.c (gelf_newphdr): Likewise. 577da0c48c4Sopenharmony_ci 578da0c48c4Sopenharmony_ci2016-10-21 Mark Wielaard <mjw@redhat.com> 579da0c48c4Sopenharmony_ci 580da0c48c4Sopenharmony_ci * elf_getdata.c (__libelf_set_rawdata_wrlock): Sanity check 581da0c48c4Sopenharmony_ci offset and size before trying to malloc and read data. 582da0c48c4Sopenharmony_ci 583da0c48c4Sopenharmony_ci2016-10-26 Mark Wielaard <mjw@redhat.com> 584da0c48c4Sopenharmony_ci 585da0c48c4Sopenharmony_ci * elf_begin.c (read_file): Always set maxsize when parent == NULL. 586da0c48c4Sopenharmony_ci 587da0c48c4Sopenharmony_ci2016-10-11 Akihiko Odaki <akihiko.odaki.4i@stu.hosei.ac.jp> 588da0c48c4Sopenharmony_ci 589da0c48c4Sopenharmony_ci * elf_getarsym.c (elf_getarsym): Open code rawmemchr when not 590da0c48c4Sopenharmony_ci available. 591da0c48c4Sopenharmony_ci * elf_strptr.c: Include stdbool.h. 592da0c48c4Sopenharmony_ci (validate_str): New function. 593da0c48c4Sopenharmony_ci (elf_strptr): Use validate_str instead of memrchr. 594da0c48c4Sopenharmony_ci 595da0c48c4Sopenharmony_ci2016-10-11 Akihiko Odaki <akihiko.odaki.4i@stu.hosei.ac.jp> 596da0c48c4Sopenharmony_ci 597da0c48c4Sopenharmony_ci * elf32_updatefile.c: Remove sys/param.h include. 598da0c48c4Sopenharmony_ci * elf32_updatenull.c: Likewise. Add system.h include. 599da0c48c4Sopenharmony_ci * elf_begin.c: Remove sys/param.h. 600da0c48c4Sopenharmony_ci * elf_compress: Likewise. Add system.h include. 601da0c48c4Sopenharmony_ci (MAX): Remove definition. 602da0c48c4Sopenharmony_ci 603da0c48c4Sopenharmony_ci2016-08-07 Mark Wielaard <mjw@redhat.com> 604da0c48c4Sopenharmony_ci 605da0c48c4Sopenharmony_ci * elf_compress.c (__libelf_reset_rawdata): Check scn->flags and 606da0c48c4Sopenharmony_ci free rawdata_base when malloced. Set ELF_F_MALLOCED for scn->flags. 607da0c48c4Sopenharmony_ci * elf_end.c (elf_end): Check scn->flags and free rawdata_base if 608da0c48c4Sopenharmony_ci malloced. 609da0c48c4Sopenharmony_ci * libelfP.h (struct Elf_Scn): Document flags ELF_F_MALLOCED usage. 610da0c48c4Sopenharmony_ci 611da0c48c4Sopenharmony_ci2016-07-06 Mark Wielaard <mjw@redhat.com> 612da0c48c4Sopenharmony_ci 613da0c48c4Sopenharmony_ci * elf-knowledge.h (SH_FLAGS_COMBINE): Removed. 614da0c48c4Sopenharmony_ci (SH_FLAGS_IMPORTANT): Likewise. 615da0c48c4Sopenharmony_ci 616da0c48c4Sopenharmony_ci2016-07-06 Mark Wielaard <mjw@redhat.com> 617da0c48c4Sopenharmony_ci 618da0c48c4Sopenharmony_ci * elf32_updatenull.c (updatenull_wrlock): Ignore e_type when 619da0c48c4Sopenharmony_ci updating phdrs. 620da0c48c4Sopenharmony_ci * elf_getphdrnum.c (__elf_getphdrnum_chk_rdlock): Only do sanity 621da0c48c4Sopenharmony_ci checking if phdrs haven't been read in yet. 622da0c48c4Sopenharmony_ci 623da0c48c4Sopenharmony_ci2016-06-24 John Ogness <john.ogness@linutronix.de> 624da0c48c4Sopenharmony_ci 625da0c48c4Sopenharmony_ci * elf32_updatenull.c (updatenull_wrlock): Find first section. 626da0c48c4Sopenharmony_ci * elf_nextscn.c (elf_nextscn): When scn is NULL start from 0th 627da0c48c4Sopenharmony_ci section. 628da0c48c4Sopenharmony_ci 629da0c48c4Sopenharmony_ci2016-06-28 Richard Henderson <rth@redhat.com> 630da0c48c4Sopenharmony_ci 631da0c48c4Sopenharmony_ci * elf.h: Update from glibc. Add lots of new EM_* definitions. 632da0c48c4Sopenharmony_ci 633da0c48c4Sopenharmony_ci2016-04-14 Mark Wielaard <mjw@redhat.com> 634da0c48c4Sopenharmony_ci 635da0c48c4Sopenharmony_ci * elf_compress.c (__libelf_compress): Free out_buf if deflateInit 636da0c48c4Sopenharmony_ci fails. 637da0c48c4Sopenharmony_ci 638da0c48c4Sopenharmony_ci2016-02-13 Mark Wielaard <mjw@redhat.com> 639da0c48c4Sopenharmony_ci 640da0c48c4Sopenharmony_ci * elf32_updatefile.c (updatemmap): Free scns when out of memory. 641da0c48c4Sopenharmony_ci 642da0c48c4Sopenharmony_ci2016-01-28 Mark Wielaard <mjw@redhat.com> 643da0c48c4Sopenharmony_ci 644da0c48c4Sopenharmony_ci * elf.h: Update from glibc. Add new i386 and x86_64 relocations. 645da0c48c4Sopenharmony_ci 646da0c48c4Sopenharmony_ci2016-02-12 Mark Wielaard <mjw@redhat.com> 647da0c48c4Sopenharmony_ci 648da0c48c4Sopenharmony_ci * elf.h: Update from glibc. Add NT_ARM_SYSTEM_CALL. 649da0c48c4Sopenharmony_ci 650da0c48c4Sopenharmony_ci2016-02-04 Mark Wielaard <mjw@redhat.com> 651da0c48c4Sopenharmony_ci 652da0c48c4Sopenharmony_ci * elf_getdata.c (__libelf_set_rawdata_wrlock): Don't adjust align 653da0c48c4Sopenharmony_ci for SHT_NOBITS sections. 654da0c48c4Sopenharmony_ci 655da0c48c4Sopenharmony_ci2016-01-22 Chih-Hung Hsieh <chh@google.com> 656da0c48c4Sopenharmony_ci 657da0c48c4Sopenharmony_ci * elf_compress.c (__libelf_compress): Move nested function 658da0c48c4Sopenharmony_ci 'do_deflate_cleanup' to file scope to compile with clang. 659da0c48c4Sopenharmony_ci * elf_strptr.c (elf_strptr): Move nested function 'get_zdata' 660da0c48c4Sopenharmony_ci to file scope to compile with clang. 661da0c48c4Sopenharmony_ci 662da0c48c4Sopenharmony_ci2016-01-13 Mark Wielaard <mjw@redhat.com> 663da0c48c4Sopenharmony_ci 664da0c48c4Sopenharmony_ci * libelf.h: Check SHF_COMPRESSED is defined. If not define it and the 665da0c48c4Sopenharmony_ci associated ELF compression types/defines. 666da0c48c4Sopenharmony_ci 667da0c48c4Sopenharmony_ci2015-11-26 Mark Wielaard <mjw@redhat.com> 668da0c48c4Sopenharmony_ci 669da0c48c4Sopenharmony_ci * elf_compress.c (__libelf_decompress_elf): New function, extracted 670da0c48c4Sopenharmony_ci from... 671da0c48c4Sopenharmony_ci (elf_compress): here. Check zdata_base use __libelf_decompress_elf. 672da0c48c4Sopenharmony_ci * elf_strptr.c (elf_strptr): If SHF_COMPRESSED check, uncompress and 673da0c48c4Sopenharmony_ci use zdata. 674da0c48c4Sopenharmony_ci * libelfP.h (struct Elf_Scn): Add zdata_size and zdata_align. 675da0c48c4Sopenharmony_ci (__libelf_decompress_elf): New internal function definition. 676da0c48c4Sopenharmony_ci 677da0c48c4Sopenharmony_ci2015-10-21 Mark Wielaard <mjw@redhat.com> 678da0c48c4Sopenharmony_ci 679da0c48c4Sopenharmony_ci * Makefile.am (libelf_a_SOURCES): Add elf_compress.c and 680da0c48c4Sopenharmony_ci elf_compress_gnu.c. 681da0c48c4Sopenharmony_ci * elf_compress.c: New file. 682da0c48c4Sopenharmony_ci * elf_compress_gnu.c: Likewise. 683da0c48c4Sopenharmony_ci * elf_begin.c (file_read_elf): Make a writable copy of the shdrs 684da0c48c4Sopenharmony_ci for ELF_C_READ_MMAP. 685da0c48c4Sopenharmony_ci * elf_end.c (elf_end): Free zdata_base. 686da0c48c4Sopenharmony_ci * elf_error.c: Add ELF_E_ALREADY_COMPRESSED, 687da0c48c4Sopenharmony_ci ELF_E_UNKNOWN_COMPRESSION_TYPE, ELF_E_COMPRESS_ERROR and 688da0c48c4Sopenharmony_ci ELF_E_DECOMPRESS_ERROR. 689da0c48c4Sopenharmony_ci * elf_data.c (__libelf_data_type): New internal function extracted 690da0c48c4Sopenharmony_ci from convert_data. 691da0c48c4Sopenharmony_ci (convert_data): Handle SHF_COMPRESSED. 692da0c48c4Sopenharmony_ci * elf32_updatenull.c (updatenull_wrlock): Check sh_entsize against 693da0c48c4Sopenharmony_ci uncompressed section data size if SHF_COMPRESSED. 694da0c48c4Sopenharmony_ci * elf32_getshdr.c (load_shdr_wrlock): Adjust assert to account for 695da0c48c4Sopenharmony_ci ELF_C_READ_MMAP. 696da0c48c4Sopenharmony_ci * libelf.h: Define elf_compress and elf_compress_gnu. 697da0c48c4Sopenharmony_ci * libelf.map (ELFUTILS_1.7): Add elf_compress and elf_compress_gnu. 698da0c48c4Sopenharmony_ci * libelfP.h: Add ELF_E_ALREADY_COMPRESSED, 699da0c48c4Sopenharmony_ci ELF_E_UNKNOWN_COMPRESSION_TYPE, ELF_E_COMPRESS_ERROR and 700da0c48c4Sopenharmony_ci ELF_E_DECOMPRESS_ERROR. Define __libelf_data_type. 701da0c48c4Sopenharmony_ci (__libelf_compress): New internal function definition. 702da0c48c4Sopenharmony_ci (__libelf_decompress): Likewise. 703da0c48c4Sopenharmony_ci (__libelf_reset_rawdata): Likewise. 704da0c48c4Sopenharmony_ci (__libelf_data_type): Likewise. 705da0c48c4Sopenharmony_ci (struct Elf_Scn): Add zdata_base. 706da0c48c4Sopenharmony_ci 707da0c48c4Sopenharmony_ci2015-11-19 Mark Wielaard <mjw@redhat.com> 708da0c48c4Sopenharmony_ci 709da0c48c4Sopenharmony_ci * Makefile.am (libelf_a_SOURCES): Add elf32_getchdr.c, 710da0c48c4Sopenharmony_ci elf64_getchdr.c and gelf_getchdr.c. 711da0c48c4Sopenharmony_ci (noinst_HEADERS): Add chdr_xlate.h. 712da0c48c4Sopenharmony_ci * abstract.h: Define Chdr32 and Chdr64. 713da0c48c4Sopenharmony_ci * chdr_xlate.h: New file. 714da0c48c4Sopenharmony_ci * elf32_getchdr.c: New file. 715da0c48c4Sopenharmony_ci * elf64_getchdr.c: New file. 716da0c48c4Sopenharmony_ci * elf_error.c: Add ELF_E_NOT_COMPRESSED, ELF_E_INVALID_SECTION_TYPE 717da0c48c4Sopenharmony_ci and ELF_E_INVALID_SECTION_FLAGS. 718da0c48c4Sopenharmony_ci * elf_getdata.c (__libelf_set_rawdata_wrlock): Set d_type to 719da0c48c4Sopenharmony_ci ELF_T_CHDR for SHF_COMPRESSED sections. 720da0c48c4Sopenharmony_ci * exttypes.h: Add Chdr32 and Chdr64. 721da0c48c4Sopenharmony_ci * gelf.h (GElf_Chdr): New typedef. 722da0c48c4Sopenharmony_ci (gelf_getchdr): New function definition. 723da0c48c4Sopenharmony_ci * gelf_fsize.c (__libelf_type_sizes): Add ELF_T_CHDR. 724da0c48c4Sopenharmony_ci * gelf_getchdr.c: New file. 725da0c48c4Sopenharmony_ci * gelf_xlate.c (__elf_xfctstom): Add ELF_T_CHDR cvt_chdr. 726da0c48c4Sopenharmony_ci * gelf_xlate.h: Add Chdr. 727da0c48c4Sopenharmony_ci * libelf.h (Elf_Type): Add ELF_T_CHDR. 728da0c48c4Sopenharmony_ci (elf32_getchdr): New function definition. 729da0c48c4Sopenharmony_ci (elf64_getchdr): Likewise. 730da0c48c4Sopenharmony_ci * libelf.map (ELFUTILS_1.7): New sections add elf32_getchdr, 731da0c48c4Sopenharmony_ci elf64_getchdr and gelf_getchdr. 732da0c48c4Sopenharmony_ci * libelfP.h: Add ELF_E_NOT_COMPRESSED, ELF_E_INVALID_SECTION_TYPE 733da0c48c4Sopenharmony_ci and ELF_E_INVALID_SECTION_FLAGS. 734da0c48c4Sopenharmony_ci 735da0c48c4Sopenharmony_ci2015-10-16 Mark Wielaard <mjw@redhat.com> 736da0c48c4Sopenharmony_ci 737da0c48c4Sopenharmony_ci * Makefile.am (libelf_so_LDLIBS): Add -lz. 738da0c48c4Sopenharmony_ci 739da0c48c4Sopenharmony_ci2015-10-14 Mark Wielaard <mjw@redhat.com> 740da0c48c4Sopenharmony_ci 741da0c48c4Sopenharmony_ci * elf.h: Update from glibc. Add section compression constants and 742da0c48c4Sopenharmony_ci structures. 743da0c48c4Sopenharmony_ci 744da0c48c4Sopenharmony_ci2015-10-20 Jose E. Marchesi <jose.marchesi@oracle.com> 745da0c48c4Sopenharmony_ci 746da0c48c4Sopenharmony_ci * elf_begin.c (get_shnum): Elf64_Shdr.sh_size is an Elf64_Xword. 747da0c48c4Sopenharmony_ci Fix the size argument to pread_retry. 748da0c48c4Sopenharmony_ci 749da0c48c4Sopenharmony_ci2015-10-13 Chih-Hung Hsieh <chh@google.com> 750da0c48c4Sopenharmony_ci 751da0c48c4Sopenharmony_ci * elf32_updatefile.c (__elfw2(LIBELFBITS,updatemmap)): Move nested 752da0c48c4Sopenharmony_ci function 'fill_mmap' to file scope. 753da0c48c4Sopenharmony_ci * elf_begin.c (elf_begin): Move nested function 'lock_dup_elf' 754da0c48c4Sopenharmony_ci to file scope. 755da0c48c4Sopenharmony_ci 756da0c48c4Sopenharmony_ci2015-10-09 Josh Stone <jistone@redhat.com> 757da0c48c4Sopenharmony_ci 758da0c48c4Sopenharmony_ci * libelf.h: Replace loff_t with int64_t throughout. 759da0c48c4Sopenharmony_ci 760da0c48c4Sopenharmony_ci2015-10-05 Mark Wielaard <mjw@redhat.com> 761da0c48c4Sopenharmony_ci 762da0c48c4Sopenharmony_ci * elf_update.c (write_file): Only use posix_fallocate when using 763da0c48c4Sopenharmony_ci mmap. Only report failure when errno is ENOSPC. 764da0c48c4Sopenharmony_ci 765da0c48c4Sopenharmony_ci2015-10-09 Josh Stone <jistone@redhat.com> 766da0c48c4Sopenharmony_ci 767da0c48c4Sopenharmony_ci * libelfP.h (struct Elf): Replace off64_t with off_t. 768da0c48c4Sopenharmony_ci * elf_getdata_rawchunk.c (elf_getdata_rawchunk): Likewise. 769da0c48c4Sopenharmony_ci 770da0c48c4Sopenharmony_ci2015-10-05 Chih-Hung Hsieh <chh@google.com> 771da0c48c4Sopenharmony_ci 772da0c48c4Sopenharmony_ci * elf_getarsym.c (elf_getarsym): Do not use 773da0c48c4Sopenharmony_ci union of variable length arrays. 774da0c48c4Sopenharmony_ci 775da0c48c4Sopenharmony_ci2015-10-05 Josh Stone <jistone@redhat.com> 776da0c48c4Sopenharmony_ci 777da0c48c4Sopenharmony_ci * Makefile.am (libelf.so): Add AM_V_CCLD and AM_V_at silencers. 778da0c48c4Sopenharmony_ci 779da0c48c4Sopenharmony_ci2015-09-24 Jose E. Marchesi <jose.marchesi@oracle.com> 780da0c48c4Sopenharmony_ci 781da0c48c4Sopenharmony_ci * Makefile.am (AM_CFLAGS): Use -fPIC instead of -fpic to avoid 782da0c48c4Sopenharmony_ci relocation overflows in some platforms. 783da0c48c4Sopenharmony_ci 784da0c48c4Sopenharmony_ci2015-09-29 Mark Wielaard <mjw@redhat.com> 785da0c48c4Sopenharmony_ci 786da0c48c4Sopenharmony_ci * elf32_updatenull.c (default_ehdr): Set e_version when EV_NONE. 787da0c48c4Sopenharmony_ci (updatenull_wrlock): Always set e_shentsize. 788da0c48c4Sopenharmony_ci 789da0c48c4Sopenharmony_ci2015-09-23 Mark Wielaard <mjw@redhat.com> 790da0c48c4Sopenharmony_ci 791da0c48c4Sopenharmony_ci * elf32_getehdr.c (getehdr_wrlock): Mark as internal_function. 792da0c48c4Sopenharmony_ci * elf32_getshdr.c (getshdr_rdlock): Likewise. 793da0c48c4Sopenharmony_ci (getshdr_wrlock): Likewise. 794da0c48c4Sopenharmony_ci * elf_error.c (__libelf_seterrno): Likewise. 795da0c48c4Sopenharmony_ci * elf_getphdrnum.c (__elf_getphdrnum_rdlock): Likewise. 796da0c48c4Sopenharmony_ci (__elf_getphdrnum_chk_rdlock): Likewise. 797da0c48c4Sopenharmony_ci * elf_getshdrnum.c (__elf_getphdrnum_rdlock): Likewise. 798da0c48c4Sopenharmony_ci (__elf_getphdrnum_chk_rdlock): Likewise. 799da0c48c4Sopenharmony_ci * elf_getshdrnum.c (__elf_getshdrnum_rdlock): Likewise. 800da0c48c4Sopenharmony_ci * elf_readall.c (__libelf_readall): Likewise. 801da0c48c4Sopenharmony_ci * gelf_getehdr.c (__gelf_getehdr_rdlock): Likewise. 802da0c48c4Sopenharmony_ci 803da0c48c4Sopenharmony_ci2015-09-22 Mark Wielaard <mjw@redhat.com> 804da0c48c4Sopenharmony_ci 805da0c48c4Sopenharmony_ci * *.c: Remove old-style function definitions. 806da0c48c4Sopenharmony_ci 807da0c48c4Sopenharmony_ci2015-06-22 Mark Wielaard <mjw@redhat.com> 808da0c48c4Sopenharmony_ci 809da0c48c4Sopenharmony_ci * dl-hash.h: Update from glibc. 810da0c48c4Sopenharmony_ci 811da0c48c4Sopenharmony_ci2015-06-18 Mark Wielaard <mjw@redhat.com> 812da0c48c4Sopenharmony_ci 813da0c48c4Sopenharmony_ci * elf32_updatefile.c (updatefile): Always free shdr_data and scns 814da0c48c4Sopenharmony_ci when allocated on failure paths. 815da0c48c4Sopenharmony_ci 816da0c48c4Sopenharmony_ci2015-06-18 Mark Wielaard <mjw@redhat.com> 817da0c48c4Sopenharmony_ci 818da0c48c4Sopenharmony_ci * nlist.c (nlist): Check symscn shdr exists before use. 819da0c48c4Sopenharmony_ci 820da0c48c4Sopenharmony_ci2015-06-16 Mark Wielaard <mjw@redhat.com> 821da0c48c4Sopenharmony_ci 822da0c48c4Sopenharmony_ci * elf_update.c (write_file): Always also use ftruncate before 823da0c48c4Sopenharmony_ci posix_fallocate to make sure file has the right size. 824da0c48c4Sopenharmony_ci 825da0c48c4Sopenharmony_ci2015-06-04 Mark Wielaard <mjw@redhat.com> 826da0c48c4Sopenharmony_ci 827da0c48c4Sopenharmony_ci * elf_getdata.c (__libelf_type_aligns): Add entries for ELF_T_EHDR, 828da0c48c4Sopenharmony_ci ELF_T_OFF, ELF_T_PHDR, ELF_T_SHDR, ELF_T_SWORD, ELF_T_XWORD, 829da0c48c4Sopenharmony_ci ELF_T_SXWORD, ELF_T_GNUHASH, ELF_T_AUXV. 830da0c48c4Sopenharmony_ci * elf_getdata_rawchunk.c (elf_getdata_rawchunk): Check alignment 831da0c48c4Sopenharmony_ci of rawdata against requested type. 832da0c48c4Sopenharmony_ci 833da0c48c4Sopenharmony_ci2015-06-02 Mark Wielaard <mjw@redhat.com> 834da0c48c4Sopenharmony_ci 835da0c48c4Sopenharmony_ci * elf_getdata.c (convert_data): Make sure source data is properly 836da0c48c4Sopenharmony_ci aligned for type before calling actual conversion function. 837da0c48c4Sopenharmony_ci 838da0c48c4Sopenharmony_ci2015-06-04 Mark Wielaard <mjw@redhat.com> 839da0c48c4Sopenharmony_ci 840da0c48c4Sopenharmony_ci * elf_begin.c (get_shnum): Check alignment of Shdr, not Ehdr before 841da0c48c4Sopenharmony_ci direct access. 842da0c48c4Sopenharmony_ci 843da0c48c4Sopenharmony_ci2015-06-02 Mark Wielaard <mjw@redhat.com> 844da0c48c4Sopenharmony_ci 845da0c48c4Sopenharmony_ci * elf_begin.c (file_read_elf): Split checks for ehdr and shdr 846da0c48c4Sopenharmony_ci alignment, drop phdr alignment check. 847da0c48c4Sopenharmony_ci 848da0c48c4Sopenharmony_ci2015-05-31 Mark Wielaard <mjw@redhat.com> 849da0c48c4Sopenharmony_ci 850da0c48c4Sopenharmony_ci * elf32_getshdr.c (load_shdr_wrlock): Allocate shdrs with malloc, 851da0c48c4Sopenharmony_ci not alloca and free after conversion when a copy needs to be made. 852da0c48c4Sopenharmony_ci 853da0c48c4Sopenharmony_ci2015-05-31 Mark Wielaard <mjw@redhat.com> 854da0c48c4Sopenharmony_ci 855da0c48c4Sopenharmony_ci * elf32_getphdr.c (getphdr_wrlock): Allocate phdrs with malloc, not 856da0c48c4Sopenharmony_ci alloca and free after conversion when a copy needs to be made. 857da0c48c4Sopenharmony_ci 858da0c48c4Sopenharmony_ci2015-05-31 Mark Wielaard <mjw@redhat.com> 859da0c48c4Sopenharmony_ci 860da0c48c4Sopenharmony_ci * elf_getarsym.c (elf_getarsym): Allocate temporary file_date with 861da0c48c4Sopenharmony_ci malloc, not alloca also in !ALLOW_UNALIGNED case. 862da0c48c4Sopenharmony_ci 863da0c48c4Sopenharmony_ci2015-05-30 Mark Wielaard <mjw@redhat.com> 864da0c48c4Sopenharmony_ci 865da0c48c4Sopenharmony_ci * gelf_xlate.c (elf_cvt_Byte): Only call memmove with non-zero size. 866da0c48c4Sopenharmony_ci 867da0c48c4Sopenharmony_ci2015-05-30 Mark Wielaard <mjw@redhat.com> 868da0c48c4Sopenharmony_ci 869da0c48c4Sopenharmony_ci * elf32_updatefile.c (updatemmap): Only call mempcpy and update 870da0c48c4Sopenharmony_ci last_position when d_size is non-zero. 871da0c48c4Sopenharmony_ci 872da0c48c4Sopenharmony_ci2015-05-17 Mark Wielaard <mjw@redhat.com> 873da0c48c4Sopenharmony_ci 874da0c48c4Sopenharmony_ci * elf32_updatefile.c (updatefile): Allocate shdr_data and scns 875da0c48c4Sopenharmony_ci with malloc, not alloca. Free after writing section headers. 876da0c48c4Sopenharmony_ci 877da0c48c4Sopenharmony_ci2015-05-16 Mark Wielaard <mjw@redhat.com> 878da0c48c4Sopenharmony_ci 879da0c48c4Sopenharmony_ci * elf32_updatefile.c (updatemmap): Allocate temporary shdr storage 880da0c48c4Sopenharmony_ci with malloc, not alloca. Free after writing section header. 881da0c48c4Sopenharmony_ci 882da0c48c4Sopenharmony_ci2015-05-16 Mark Wielaard <mjw@redhat.com> 883da0c48c4Sopenharmony_ci 884da0c48c4Sopenharmony_ci * elf_getarsym.c (elf_getarsym): Allocate temporary file_date with 885da0c48c4Sopenharmony_ci malloc, not alloca. Call free after out. 886da0c48c4Sopenharmony_ci 887da0c48c4Sopenharmony_ci2015-05-14 Mark Wielaard <mjw@redhat.com> 888da0c48c4Sopenharmony_ci 889da0c48c4Sopenharmony_ci * elf_update.c (write_file): Use posix_fallocate instead of 890da0c48c4Sopenharmony_ci ftruncate to extend file if necessary. 891da0c48c4Sopenharmony_ci 892da0c48c4Sopenharmony_ci2015-05-13 Mark Wielaard <mjw@redhat.com> 893da0c48c4Sopenharmony_ci 894da0c48c4Sopenharmony_ci * elf32_updatenull.c (default_ehdr): If e_phnum is zero then set 895da0c48c4Sopenharmony_ci e_phoff also to zero. 896da0c48c4Sopenharmony_ci 897da0c48c4Sopenharmony_ci2015-05-12 Mark Wielaard <mjw@redhat.com> 898da0c48c4Sopenharmony_ci 899da0c48c4Sopenharmony_ci * elf32_updatenull.c (updatenull_wrlock): Check that sh_addralign 900da0c48c4Sopenharmony_ci is a powerof2. 901da0c48c4Sopenharmony_ci * elf_getdata.c (__libelf_set_rawdata_wrlock): Clamp large d_aligns 902da0c48c4Sopenharmony_ci to the elf image offset. 903da0c48c4Sopenharmony_ci 904da0c48c4Sopenharmony_ci2015-05-12 Mark Wielaard <mjw@redhat.com> 905da0c48c4Sopenharmony_ci 906da0c48c4Sopenharmony_ci * elf32_newphdr.c (newphdr): Call __libelf_seterrno with 907da0c48c4Sopenharmony_ci ELF_E_INVALID_INDEX before failing. Check whether section zero shdr 908da0c48c4Sopenharmony_ci actually exists if we need to put extended phnum in section zero. 909da0c48c4Sopenharmony_ci 910da0c48c4Sopenharmony_ci2015-05-08 Mark Wielaard <mjw@redhat.com> 911da0c48c4Sopenharmony_ci 912da0c48c4Sopenharmony_ci * nlist.c (nlist): Call gelf_fsize with EV_CURRENT. 913da0c48c4Sopenharmony_ci 914da0c48c4Sopenharmony_ci2015-01-03 Mark Wielaard <mjw@redhat.com> 915da0c48c4Sopenharmony_ci 916da0c48c4Sopenharmony_ci * version_xlate.h (elf_cvt_Verdef): Use memmove to copy src to dest. 917da0c48c4Sopenharmony_ci (elf_cvt_Verneed): Likewise. 918da0c48c4Sopenharmony_ci 919da0c48c4Sopenharmony_ci2015-03-28 Mark Wielaard <mjw@redhat.com> 920da0c48c4Sopenharmony_ci 921da0c48c4Sopenharmony_ci * elf.h: Update from glibc. 922da0c48c4Sopenharmony_ci 923da0c48c4Sopenharmony_ci2015-03-23 Mark Wielaard <mjw@redhat.com> 924da0c48c4Sopenharmony_ci 925da0c48c4Sopenharmony_ci * elf32_updatenull.c (updatenull_wrlock): Don't extend size with 926da0c48c4Sopenharmony_ci SHT_NOBITS sh_offset. 927da0c48c4Sopenharmony_ci 928da0c48c4Sopenharmony_ci2015-02-18 Mark Wielaard <mjw@redhat.com> 929da0c48c4Sopenharmony_ci 930da0c48c4Sopenharmony_ci * libelfP.h (__libelf_set_data_list_rdlock): Make internal_function. 931da0c48c4Sopenharmony_ci 932da0c48c4Sopenharmony_ci2015-02-07 Jan Kratochvil <jan.kratochvil@redhat.com> 933da0c48c4Sopenharmony_ci 934da0c48c4Sopenharmony_ci * elf32_updatenull.c (__elfw2(LIBELFBITS,updatenull_wrlock)): Consider 935da0c48c4Sopenharmony_ci sh_addralign 0 as 1. 936da0c48c4Sopenharmony_ci 937da0c48c4Sopenharmony_ci2015-01-22 Mark Wielaard <mjw@redhat.com> 938da0c48c4Sopenharmony_ci 939da0c48c4Sopenharmony_ci * elf_strptr (elf_strptr): Make sure returned string is NUL 940da0c48c4Sopenharmony_ci terminated. 941da0c48c4Sopenharmony_ci 942da0c48c4Sopenharmony_ci2015-01-21 Mark Wielaard <mjw@redhat.com> 943da0c48c4Sopenharmony_ci 944da0c48c4Sopenharmony_ci * elf_strptr.c (elf_strptr): Check data_list_rear == NULL instead 945da0c48c4Sopenharmony_ci of rawdata_base != NULL before using rawdata directly. 946da0c48c4Sopenharmony_ci 947da0c48c4Sopenharmony_ci2015-01-20 Mark Wielaard <mjw@redhat.com> 948da0c48c4Sopenharmony_ci 949da0c48c4Sopenharmony_ci * libelfP.h (__elf_strptr_internal): New function declaration. 950da0c48c4Sopenharmony_ci * elf_getdata.c (__libelf_set_data_list_rdlock): New internal 951da0c48c4Sopenharmony_ci function extracted from... 952da0c48c4Sopenharmony_ci (__elf_getdata_rdlock): ... here. 953da0c48c4Sopenharmony_ci * elf_newdata.c (elf_newdata): Check scn->rawdata_base and update 954da0c48c4Sopenharmony_ci datalist if necessary. 955da0c48c4Sopenharmony_ci 956da0c48c4Sopenharmony_ci2015-01-20 Mark Wielaard <mjw@redhat.com> 957da0c48c4Sopenharmony_ci 958da0c48c4Sopenharmony_ci * elf_strptr.c (elf_strptr): Call __elf[32|64]_getshdr_rdlock if 959da0c48c4Sopenharmony_ci necessary. 960da0c48c4Sopenharmony_ci 961da0c48c4Sopenharmony_ci2014-12-30 Mark Wielaard <mjw@redhat.com> 962da0c48c4Sopenharmony_ci 963da0c48c4Sopenharmony_ci * elf_getphdrnum.c (__elf_getphdrnum_chk_rdlock): New function. 964da0c48c4Sopenharmony_ci (elf_getphdrnum): Call __elf_getphdrnum_chk_rdlock. 965da0c48c4Sopenharmony_ci * gelf_getphdr (gelf_getphdr): Call __elf_getphdrnum_chk_rdlock 966da0c48c4Sopenharmony_ci and always check ndx against phnum. 967da0c48c4Sopenharmony_ci * libelfP.h (__elf_getphdrnum_chk_rdlock): New internal function. 968da0c48c4Sopenharmony_ci 969da0c48c4Sopenharmony_ci2014-12-25 Mark Wielaard <mjw@redhat.com> 970da0c48c4Sopenharmony_ci 971da0c48c4Sopenharmony_ci * elf_begin.c (__libelf_next_arhdr_wrlock): ar_size cannot be 972da0c48c4Sopenharmony_ci negative. Include start_offset in maxsize. 973da0c48c4Sopenharmony_ci 974da0c48c4Sopenharmony_ci2014-12-28 Alexander Cherepanov <cherepan@mccme.ru> 975da0c48c4Sopenharmony_ci 976da0c48c4Sopenharmony_ci * elf_begin.c (read_long_names): Don't miss '/' right after 977da0c48c4Sopenharmony_ci another '/'. Fixes a dir traversal vuln in ar extraction. 978da0c48c4Sopenharmony_ci 979da0c48c4Sopenharmony_ci2014-12-18 Ulrich Drepper <drepper@gmail.com> 980da0c48c4Sopenharmony_ci 981da0c48c4Sopenharmony_ci * Makefile.am: Suppress output of textrel_check command. 982da0c48c4Sopenharmony_ci 983da0c48c4Sopenharmony_ci2014-12-16 Mark Wielaard <mjw@redhat.com> 984da0c48c4Sopenharmony_ci 985da0c48c4Sopenharmony_ci * elf_begin.c (read_long_names): Make sure long_names len fits 986da0c48c4Sopenharmony_ci in mapped ELF file. 987da0c48c4Sopenharmony_ci 988da0c48c4Sopenharmony_ci2014-12-15 Mark Wielaard <mjw@redhat.com> 989da0c48c4Sopenharmony_ci 990da0c48c4Sopenharmony_ci * elf_getarsym.c (elf_getarsym): Check index_size doesn't overflow. 991da0c48c4Sopenharmony_ci 992da0c48c4Sopenharmony_ci2014-12-15 Mark Wielaard <mjw@redhat.com> 993da0c48c4Sopenharmony_ci 994da0c48c4Sopenharmony_ci * elf_begin.c (read_long_names): Clear any garbage left in the 995da0c48c4Sopenharmony_ci name table. 996da0c48c4Sopenharmony_ci 997da0c48c4Sopenharmony_ci2014-12-11 Mark Wielaard <mjw@redhat.com> 998da0c48c4Sopenharmony_ci 999da0c48c4Sopenharmony_ci * elf_begin.c (file_read_elf): Correct ELF64 section offset check. 1000da0c48c4Sopenharmony_ci 1001da0c48c4Sopenharmony_ci2014-12-11 Mark Wielaard <mjw@redhat.com> 1002da0c48c4Sopenharmony_ci 1003da0c48c4Sopenharmony_ci * elf_begin.c (read_long_names): Check for offset overflow. 1004da0c48c4Sopenharmony_ci (__libelf_next_arhdr_wrlock): Likewise. Sanity check the ar_size. 1005da0c48c4Sopenharmony_ci Don't allow it to go beyond end of file. 1006da0c48c4Sopenharmony_ci 1007da0c48c4Sopenharmony_ci2014-12-09 Mark Wielaard <mjw@redhat.com> 1008da0c48c4Sopenharmony_ci 1009da0c48c4Sopenharmony_ci * elf_getarsym.c (elf_getarsym): Make sure n * w doesn't overflow. 1010da0c48c4Sopenharmony_ci 1011da0c48c4Sopenharmony_ci2014-11-27 Mark Wielaard <mjw@redhat.com> 1012da0c48c4Sopenharmony_ci 1013da0c48c4Sopenharmony_ci * Makefile.am (libelf.so): Use textrel_check. 1014da0c48c4Sopenharmony_ci 1015da0c48c4Sopenharmony_ci2014-11-23 Mark Wielaard <mjw@redhat.com> 1016da0c48c4Sopenharmony_ci 1017da0c48c4Sopenharmony_ci * elf_getdata_rawchunk.c (elf_getdata_rawchunk): Change signed 1018da0c48c4Sopenharmony_ci overflow check to unsigned. 1019da0c48c4Sopenharmony_ci 1020da0c48c4Sopenharmony_ci2014-11-23 Mark Wielaard <mjw@redhat.com> 1021da0c48c4Sopenharmony_ci 1022da0c48c4Sopenharmony_ci * note_xlate.h (elf_cvt_note): Copy over any leftover data if 1023da0c48c4Sopenharmony_ci src != dest. The data is probably part of truncated name/desc. 1024da0c48c4Sopenharmony_ci 1025da0c48c4Sopenharmony_ci2014-11-22 Mark Wielaard <mjw@redhat.com> 1026da0c48c4Sopenharmony_ci 1027da0c48c4Sopenharmony_ci * elf_getphdrnum.c (elf_getphdrnum): Sanity check the 1028da0c48c4Sopenharmony_ci __elf_getphdrnum_rdlock result. 1029da0c48c4Sopenharmony_ci 1030da0c48c4Sopenharmony_ci2014-11-18 Mark Wielaard <mjw@redhat.com> 1031da0c48c4Sopenharmony_ci 1032da0c48c4Sopenharmony_ci * version_xlate.h (elf_cvt_Verdef): Check for overflow. 1033da0c48c4Sopenharmony_ci (elf_cvt_Verneed): Likewise. 1034da0c48c4Sopenharmony_ci 1035da0c48c4Sopenharmony_ci2014-11-17 Mark Wielaard <mjw@redhat.com> 1036da0c48c4Sopenharmony_ci 1037da0c48c4Sopenharmony_ci * elf-knowledge.h (SECTION_STRIP_P): Check name is not NULL. 1038da0c48c4Sopenharmony_ci 1039da0c48c4Sopenharmony_ci2014-11-16 Mark Wielaard <mjw@redhat.com> 1040da0c48c4Sopenharmony_ci 1041da0c48c4Sopenharmony_ci * elf_getshdrstrndx.c: Check there are section headers before 1042da0c48c4Sopenharmony_ci handling SHN_XINDEX. 1043da0c48c4Sopenharmony_ci 1044da0c48c4Sopenharmony_ci2014-11-16 Mark Wielaard <mjw@redhat.com> 1045da0c48c4Sopenharmony_ci 1046da0c48c4Sopenharmony_ci * elf32_getphdr.c (getphdr_wrlock): Check e_phoff isn't zero. 1047da0c48c4Sopenharmony_ci Check for too many pheaders. 1048da0c48c4Sopenharmony_ci * elf_getphdrnum.c (__elf_getphdrnum_rdlock): Check section zero 1049da0c48c4Sopenharmony_ci actually exists before handling PN_XNUM. 1050da0c48c4Sopenharmony_ci 1051da0c48c4Sopenharmony_ci2014-11-16 Mark Wielaard <mjw@redhat.com> 1052da0c48c4Sopenharmony_ci 1053da0c48c4Sopenharmony_ci * gelf_getnote.c (gelf_getnote): Check padding overflow. 1054da0c48c4Sopenharmony_ci 1055da0c48c4Sopenharmony_ci2014-11-16 Mark Wielaard <mjw@redhat.com> 1056da0c48c4Sopenharmony_ci 1057da0c48c4Sopenharmony_ci * elf_getdata.c (__libelf_set_rawdata_wrlock): Declare offset, size 1058da0c48c4Sopenharmony_ci and align as Elf64_Off and Elf64_Xword not size_t. 1059da0c48c4Sopenharmony_ci 1060da0c48c4Sopenharmony_ci2014-11-14 Mark Wielaard <mjw@redhat.com> 1061da0c48c4Sopenharmony_ci 1062da0c48c4Sopenharmony_ci * gelf_getnote.c (gelf_getnote): Check offset overflow. 1063da0c48c4Sopenharmony_ci 1064da0c48c4Sopenharmony_ci2014-11-13 Mark Wielaard <mjw@redhat.com> 1065da0c48c4Sopenharmony_ci 1066da0c48c4Sopenharmony_ci * elf_getdata.c (__libelf_set_rawdata_wrlock): Fix unsigned overflow 1067da0c48c4Sopenharmony_ci check. 1068da0c48c4Sopenharmony_ci 1069da0c48c4Sopenharmony_ci2014-11-08 Mark Wielaard <mjw@redhat.com> 1070da0c48c4Sopenharmony_ci 1071da0c48c4Sopenharmony_ci * elf_begin.c (__libelf_next_arhdr_wrlock): Use mempcpy not __mempcpy. 1072da0c48c4Sopenharmony_ci 1073da0c48c4Sopenharmony_ci2014-11-07 Mark Wielaard <mjw@redhat.com> 1074da0c48c4Sopenharmony_ci 1075da0c48c4Sopenharmony_ci * elf_begin.c (file_read_elf): Correct sh_size check. 1076da0c48c4Sopenharmony_ci * elf_getdata.c (__libelf_set_rawdata_wrlock): Check for unsigned 1077da0c48c4Sopenharmony_ci overflow. 1078da0c48c4Sopenharmony_ci 1079da0c48c4Sopenharmony_ci2014-09-10 Petr Machata <pmachata@redhat.com> 1080da0c48c4Sopenharmony_ci 1081da0c48c4Sopenharmony_ci * elf_begin (read_unmmaped_file): Call __libelf_seterrno if the 1082da0c48c4Sopenharmony_ci file is unreadable. 1083da0c48c4Sopenharmony_ci 1084da0c48c4Sopenharmony_ci2014-07-07 Mark Wielaard <mjw@redhat.com> 1085da0c48c4Sopenharmony_ci 1086da0c48c4Sopenharmony_ci * elf.h: Update from glibc. 1087da0c48c4Sopenharmony_ci 1088da0c48c4Sopenharmony_ci2014-04-13 Mark Wielaard <mjw@redhat.com> 1089da0c48c4Sopenharmony_ci 1090da0c48c4Sopenharmony_ci * Makefile.am: Remove !MUDFLAP conditions. 1091da0c48c4Sopenharmony_ci * elf_begin.c (read_file): Don't clear use_mmap when _MUDFLAP is 1092da0c48c4Sopenharmony_ci defined. 1093da0c48c4Sopenharmony_ci * elf_update.c (write_file): Remove _MUDFLAP condition. 1094da0c48c4Sopenharmony_ci 1095da0c48c4Sopenharmony_ci2014-01-17 Jakub Jelinek <jakub@redhat.com> 1096da0c48c4Sopenharmony_ci Roland McGrath <roland@redhat.com> 1097da0c48c4Sopenharmony_ci 1098da0c48c4Sopenharmony_ci * libelfP.h (INVALID_NDX): Define. 1099da0c48c4Sopenharmony_ci * gelf_getdyn.c (gelf_getdyn): Use it. Remove ndx < 0 test if any. 1100da0c48c4Sopenharmony_ci * gelf_getlib.c (gelf_getlib): Likewise. 1101da0c48c4Sopenharmony_ci * gelf_getmove.c (gelf_getmove): Likewise. 1102da0c48c4Sopenharmony_ci * gelf_getrel.c (gelf_getrel): Likewise. 1103da0c48c4Sopenharmony_ci * gelf_getrela.c (gelf_getrela): Likewise. 1104da0c48c4Sopenharmony_ci * gelf_getsym.c (gelf_getsym): Likewise. 1105da0c48c4Sopenharmony_ci * gelf_getsyminfo.c (gelf_getsyminfo): Likewise. 1106da0c48c4Sopenharmony_ci * gelf_getsymshndx.c (gelf_getsymshndx): Likewise. 1107da0c48c4Sopenharmony_ci * gelf_getversym.c (gelf_getversym): Likewise. 1108da0c48c4Sopenharmony_ci * gelf_update_dyn.c (gelf_update_dyn): Likewise. 1109da0c48c4Sopenharmony_ci * gelf_update_lib.c (gelf_update_lib): Likewise. 1110da0c48c4Sopenharmony_ci * gelf_update_move.c (gelf_update_move): Likewise. 1111da0c48c4Sopenharmony_ci * gelf_update_rel.c (gelf_update_rel): Likewise. 1112da0c48c4Sopenharmony_ci * gelf_update_rela.c (gelf_update_rela): Likewise. 1113da0c48c4Sopenharmony_ci * gelf_update_sym.c (gelf_update_sym): Likewise. 1114da0c48c4Sopenharmony_ci * gelf_update_syminfo.c (gelf_update_syminfo): Likewise. 1115da0c48c4Sopenharmony_ci * gelf_update_symshndx.c (gelf_update_symshndx): Likewise. 1116da0c48c4Sopenharmony_ci * gelf_update_versym.c (gelf_update_versym): Likewise. 1117da0c48c4Sopenharmony_ci 1118da0c48c4Sopenharmony_ci2014-01-17 Jakub Jelinek <jakub@redhat.com> 1119da0c48c4Sopenharmony_ci 1120da0c48c4Sopenharmony_ci * elf32_getphdr.c (elfw2(LIBELFBITS,getphdr)): Check if program header 1121da0c48c4Sopenharmony_ci table fits into object's bounds. 1122da0c48c4Sopenharmony_ci * elf_getshdrstrndx.c (elf_getshstrndx): Add elf->start_offset to 1123da0c48c4Sopenharmony_ci elf->map_address. Check if first section header fits into object's 1124da0c48c4Sopenharmony_ci bounds. 1125da0c48c4Sopenharmony_ci * elf32_getshdr.c (elfw2(LIBELFBITS,getshdr)): 1126da0c48c4Sopenharmony_ci Check if section header table fits into object's bounds. 1127da0c48c4Sopenharmony_ci * elf_begin.c (get_shnum): Ensure section headers fits into 1128da0c48c4Sopenharmony_ci object's bounds. 1129da0c48c4Sopenharmony_ci (file_read_elf): Make sure scncnt is small enough to allocate both 1130da0c48c4Sopenharmony_ci ElfXX_Shdr and Elf_Scn array. Make sure section and program header 1131da0c48c4Sopenharmony_ci tables fit into object's bounds. Avoid memory leak on failure. 1132da0c48c4Sopenharmony_ci * elf_newscn.c (elf_newscn): Check for overflow. 1133da0c48c4Sopenharmony_ci * elf32_updatefile.c (__elfw2(LIBELFBITS,updatemmap)): Likewise. 1134da0c48c4Sopenharmony_ci (__elfw2(LIBELFBITS,updatefile)): Likewise. 1135da0c48c4Sopenharmony_ci * elf32_newphdr.c (elfw2(LIBELFBITS,newphdr)): Likewise. 1136da0c48c4Sopenharmony_ci * elf_getarsym.c (elf_getarsym): Likewise. 1137da0c48c4Sopenharmony_ci 1138da0c48c4Sopenharmony_ci2013-11-08 Mark Wielaard <mjw@redhat.com> 1139da0c48c4Sopenharmony_ci 1140da0c48c4Sopenharmony_ci * elf32_updatefile.c (elfXX_updatemmap): Only memcpy ehdr when not 1141da0c48c4Sopenharmony_ci already directly mmapped. 1142da0c48c4Sopenharmony_ci 1143da0c48c4Sopenharmony_ci2013-11-05 Mark Wielaard <mjw@redhat.com> 1144da0c48c4Sopenharmony_ci 1145da0c48c4Sopenharmony_ci * elf32_updatefile.c (elfXX_updatefile): Copy all section headers 1146da0c48c4Sopenharmony_ci if elf->flags dirty. 1147da0c48c4Sopenharmony_ci 1148da0c48c4Sopenharmony_ci2013-11-01 Michael Forney <mforney@mforney.org> 1149da0c48c4Sopenharmony_ci 1150da0c48c4Sopenharmony_ci * Makefile.am: Use READELF. 1151da0c48c4Sopenharmony_ci 1152da0c48c4Sopenharmony_ci2013-10-01 Petr Machata <pmachata@redhat.com> 1153da0c48c4Sopenharmony_ci 1154da0c48c4Sopenharmony_ci * elf.h: Update from glibc. 1155da0c48c4Sopenharmony_ci 1156da0c48c4Sopenharmony_ci2013-06-17 Petr Machata <pmachata@redhat.com> 1157da0c48c4Sopenharmony_ci 1158da0c48c4Sopenharmony_ci * elf.h: Update from glibc. 1159da0c48c4Sopenharmony_ci 1160da0c48c4Sopenharmony_ci2013-08-28 Namhyung Kim <namhyung@gmail.com> 1161da0c48c4Sopenharmony_ci 1162da0c48c4Sopenharmony_ci * gelf.h (gelf_fsize): Fix typo in comment. 1163da0c48c4Sopenharmony_ci 1164da0c48c4Sopenharmony_ci2013-08-28 Mark Wielaard <mjw@redhat.com> 1165da0c48c4Sopenharmony_ci 1166da0c48c4Sopenharmony_ci * gelf_getauxv.c (gelf_getauxv): Add missing whitespace. 1167da0c48c4Sopenharmony_ci 1168da0c48c4Sopenharmony_ci2013-08-27 Mark Wielaard <mjw@redhat.com> 1169da0c48c4Sopenharmony_ci 1170da0c48c4Sopenharmony_ci * gelf_getauxv.c (gelf_getauxv): Remove unnecessary casts to char *. 1171da0c48c4Sopenharmony_ci 1172da0c48c4Sopenharmony_ci2013-08-25 Kurt Roeckx <kurt@roeckx.be> 1173da0c48c4Sopenharmony_ci 1174da0c48c4Sopenharmony_ci * gelf_getauxv.c (gelf_getauxv): Use memcpy instead of pointer 1175da0c48c4Sopenharmony_ci dereference to avoid alignment problems. 1176da0c48c4Sopenharmony_ci 1177da0c48c4Sopenharmony_ci2013-01-07 Roland McGrath <roland@hack.frob.com> 1178da0c48c4Sopenharmony_ci 1179da0c48c4Sopenharmony_ci * elf_getarsym.c (elf_getarsym): Copy FILE_DATA into stack space if it 1180da0c48c4Sopenharmony_ci would be unaligned and !ALLOW_UNALIGNED. 1181da0c48c4Sopenharmony_ci 1182da0c48c4Sopenharmony_ci * elf_getarsym.c (read_number_entries): Use memcpy instead of pointer 1183da0c48c4Sopenharmony_ci dereference so as not to assume the field is naturally aligned. 1184da0c48c4Sopenharmony_ci 1185da0c48c4Sopenharmony_ci2012-09-17 Petr Machata <pmachata@redhat.com> 1186da0c48c4Sopenharmony_ci 1187da0c48c4Sopenharmony_ci * elf.h: Update from glibc. 1188da0c48c4Sopenharmony_ci 1189da0c48c4Sopenharmony_ci2012-08-16 Roland McGrath <roland@hack.frob.com> 1190da0c48c4Sopenharmony_ci 1191da0c48c4Sopenharmony_ci * elf.h: Update from glibc. 1192da0c48c4Sopenharmony_ci 1193da0c48c4Sopenharmony_ci2012-08-14 Mark Wielaard <mjw@redhat.com> 1194da0c48c4Sopenharmony_ci 1195da0c48c4Sopenharmony_ci * elf32_checksum.c (ebl_debugscn_p): Removed unused define and 1196da0c48c4Sopenharmony_ci confusing outdated comment. 1197da0c48c4Sopenharmony_ci 1198da0c48c4Sopenharmony_ci2012-08-01 Petr Machata <pmachata@redhat.com> 1199da0c48c4Sopenharmony_ci 1200da0c48c4Sopenharmony_ci * elf_getarsym (read_number_entries): New function. 1201da0c48c4Sopenharmony_ci (elf_getarsym): Handle 64-bit symbol table, stored in special 1202da0c48c4Sopenharmony_ci entry named "/SYM64/". 1203da0c48c4Sopenharmony_ci * elf_begin.c (__libelf_next_arhdr_wrlock): Don't reject archive 1204da0c48c4Sopenharmony_ci because it contains 64-bit symbol table. 1205da0c48c4Sopenharmony_ci 1206da0c48c4Sopenharmony_ci2012-07-19 Mark Wielaard <mjw@redhat.com> 1207da0c48c4Sopenharmony_ci 1208da0c48c4Sopenharmony_ci * elf32_getshdr.c (load_shdr_wrlock): Add elf->flags & ELF_F_MALLOCED 1209da0c48c4Sopenharmony_ci to asserts. 1210da0c48c4Sopenharmony_ci 1211da0c48c4Sopenharmony_ci2012-07-17 Petr Machata <pmachata@redhat.com> 1212da0c48c4Sopenharmony_ci 1213da0c48c4Sopenharmony_ci * elf32_xlatetom.c (elfw2(LIBELFBITS, xlatetom)): Do not check for 1214da0c48c4Sopenharmony_ci integer number of records in case of ELF_T_NHDR. 1215da0c48c4Sopenharmony_ci 1216da0c48c4Sopenharmony_ci2012-04-02 Mark Wielaard <mjw@redhat.com> 1217da0c48c4Sopenharmony_ci 1218da0c48c4Sopenharmony_ci * elf32_offscn.c: Do not match SHT_NOBITS sections at OFFSET unless 1219da0c48c4Sopenharmony_ci there are no nonempty sections at that offset. 1220da0c48c4Sopenharmony_ci 1221da0c48c4Sopenharmony_ci2012-03-21 Roland McGrath <roland@hack.frob.com> 1222da0c48c4Sopenharmony_ci 1223da0c48c4Sopenharmony_ci * elf-knowledge.h (SECTION_STRIP_P): Remove < SHT_NUM check. 1224da0c48c4Sopenharmony_ci 1225da0c48c4Sopenharmony_ci2011-02-26 Mark Wielaard <mjw@redhat.com> 1226da0c48c4Sopenharmony_ci 1227da0c48c4Sopenharmony_ci * elf_end.c (elf_end): Call rwlock_unlock before rwlock_fini. 1228da0c48c4Sopenharmony_ci 1229da0c48c4Sopenharmony_ci2011-01-05 Jan Kratochvil <jan.kratochvil@redhat.com> 1230da0c48c4Sopenharmony_ci 1231da0c48c4Sopenharmony_ci * elf_getdata_rawchunk.c (elf_getdata_rawchunk): Fix off64_t overflow 1232da0c48c4Sopenharmony_ci when MAXIMUM_SIZE == ~0. 1233da0c48c4Sopenharmony_ci 1234da0c48c4Sopenharmony_ci2010-08-18 Roland McGrath <roland@redhat.com> 1235da0c48c4Sopenharmony_ci 1236da0c48c4Sopenharmony_ci * gelf_fsize.c (__libelf_type_sizes): Add entries for ELF_T_LIB 1237da0c48c4Sopenharmony_ci and ELF_T_GNUHASH. 1238da0c48c4Sopenharmony_ci Reported by Mark Hatle <mark.hatle@windriver.com>. 1239da0c48c4Sopenharmony_ci 1240da0c48c4Sopenharmony_ci * exttypes.h: Add cases for ElfNN_Lib. 1241da0c48c4Sopenharmony_ci Reported by Mark Hatle <mark.hatle@windriver.com>. 1242da0c48c4Sopenharmony_ci 1243da0c48c4Sopenharmony_ci2010-06-14 Ulrich Drepper <drepper@redhat.com> 1244da0c48c4Sopenharmony_ci 1245da0c48c4Sopenharmony_ci * gelf_update_shdr.c: Implicitly set ELF_F_DIRTY bit. 1246da0c48c4Sopenharmony_ci * gelf_update_phdr.c: Likewise. 1247da0c48c4Sopenharmony_ci * gelf_update_ehdr.c: Likewise. 1248da0c48c4Sopenharmony_ci 1249da0c48c4Sopenharmony_ci2010-04-14 Roland McGrath <roland@redhat.com> 1250da0c48c4Sopenharmony_ci 1251da0c48c4Sopenharmony_ci * elf32_getphdr.c: Check for e_phoff/size outside the file bounds. 1252da0c48c4Sopenharmony_ci * elf_begin.c (file_read_elf): Don't set .phdr here. 1253da0c48c4Sopenharmony_ci 1254da0c48c4Sopenharmony_ci2010-04-13 Roland McGrath <roland@redhat.com> 1255da0c48c4Sopenharmony_ci 1256da0c48c4Sopenharmony_ci * elf.h: Update from glibc. 1257da0c48c4Sopenharmony_ci 1258da0c48c4Sopenharmony_ci2010-04-06 Roland McGrath <roland@redhat.com> 1259da0c48c4Sopenharmony_ci 1260da0c48c4Sopenharmony_ci * elf_error.c (ELF_E_FD_MISMATCH_IDX): Avoid nonobvious abbreviation 1261da0c48c4Sopenharmony_ci in error message. 1262da0c48c4Sopenharmony_ci 1263da0c48c4Sopenharmony_ci2010-04-01 Petr Machata <pmachata@redhat.com> 1264da0c48c4Sopenharmony_ci 1265da0c48c4Sopenharmony_ci * elf_getdata.c (__elf_getdata_rdlock): Initialize data.s for data 1266da0c48c4Sopenharmony_ci that do not need a conversion. 1267da0c48c4Sopenharmony_ci 1268da0c48c4Sopenharmony_ci2010-03-11 Roland McGrath <roland@redhat.com> 1269da0c48c4Sopenharmony_ci 1270da0c48c4Sopenharmony_ci * elf.h: Update from glibc. 1271da0c48c4Sopenharmony_ci 1272da0c48c4Sopenharmony_ci2010-03-04 Ulrich Drepper <drepper@redhat.com> 1273da0c48c4Sopenharmony_ci 1274da0c48c4Sopenharmony_ci * elf.h: Update from glibc. 1275da0c48c4Sopenharmony_ci 1276da0c48c4Sopenharmony_ci2010-02-17 Roland McGrath <roland@redhat.com> 1277da0c48c4Sopenharmony_ci 1278da0c48c4Sopenharmony_ci * elf_begin.c (file_read_elf): Leave section rawdata_base and 1279da0c48c4Sopenharmony_ci data_base pointers null when [sh_offset,sh_size) points outside 1280da0c48c4Sopenharmony_ci the mapped file. 1281da0c48c4Sopenharmony_ci 1282da0c48c4Sopenharmony_ci2010-02-15 Roland McGrath <roland@redhat.com> 1283da0c48c4Sopenharmony_ci 1284da0c48c4Sopenharmony_ci * Makefile.am: Use config/eu.am for common stuff. 1285da0c48c4Sopenharmony_ci 1286da0c48c4Sopenharmony_ci2010-01-07 Roland McGrath <roland@redhat.com> 1287da0c48c4Sopenharmony_ci 1288da0c48c4Sopenharmony_ci * elf32_getphdr.c: Use __elf_getphdrnum_rdlock. 1289da0c48c4Sopenharmony_ci * gelf_getphdr.c: Likewise. 1290da0c48c4Sopenharmony_ci * gelf_update_phdr.c: Likewise. 1291da0c48c4Sopenharmony_ci * elf32_updatefile.c (__elf32_updatemmap, __elf32_updatefile): Likewise. 1292da0c48c4Sopenharmony_ci * elf32_updatenull.c (__elf32_updatenull_wrlock): Likewise. 1293da0c48c4Sopenharmony_ci * elf32_newphdr.c: Clear section 0's sh_info when resetting e_phnum. 1294da0c48c4Sopenharmony_ci If COUNT is too large, use store PN_XNUM instead and set sh_info. 1295da0c48c4Sopenharmony_ci * elf_begin.c (file_read_elf): Always allocate space we can use later 1296da0c48c4Sopenharmony_ci for section 0 if doing RDWR. 1297da0c48c4Sopenharmony_ci 1298da0c48c4Sopenharmony_ci * elf_getphdrnum.c: New file. 1299da0c48c4Sopenharmony_ci * Makefile.am (libelf_a_SOURCES): Add it. 1300da0c48c4Sopenharmony_ci * libelf.h: Declare elf_getphdrnum. 1301da0c48c4Sopenharmony_ci * libelfP.h: Declare __elf_getphdrnum_rdlock. 1302da0c48c4Sopenharmony_ci * libelf.map (ELFUTILS_1.6): New set, add elf_getphdrnum. 1303da0c48c4Sopenharmony_ci 1304da0c48c4Sopenharmony_ci * elf.h: Update from glibc. 1305da0c48c4Sopenharmony_ci 1306da0c48c4Sopenharmony_ci2009-10-23 Lubomir Rintel <lkundrak@v3.sk> 1307da0c48c4Sopenharmony_ci 1308da0c48c4Sopenharmony_ci * elf32_updatefile.c (fill_mmap): When starting past shdr_end, start 1309da0c48c4Sopenharmony_ci filling from section start, not shdr_end. 1310da0c48c4Sopenharmony_ci 1311da0c48c4Sopenharmony_ci2009-11-10 Roland McGrath <roland@redhat.com> 1312da0c48c4Sopenharmony_ci 1313da0c48c4Sopenharmony_ci * elf_readall.c (__libelf_readall): Fetch file size if not yet known. 1314da0c48c4Sopenharmony_ci 1315da0c48c4Sopenharmony_ci2009-11-06 Mark Wielaard <mjw@redhat.com> 1316da0c48c4Sopenharmony_ci 1317da0c48c4Sopenharmony_ci * elf_next.c (elf_next): Mark the archive header as unusable when 1318da0c48c4Sopenharmony_ci there is no next ar element. 1319da0c48c4Sopenharmony_ci 1320da0c48c4Sopenharmony_ci2009-08-12 Mark Wielaard <mjw@redhat.com> 1321da0c48c4Sopenharmony_ci 1322da0c48c4Sopenharmony_ci * Makefile.am (libelf.so): Use -Wl,-z,defs not -defs. 1323da0c48c4Sopenharmony_ci 1324da0c48c4Sopenharmony_ci2009-07-26 Ulrich Drepper <drepper@redhat.com> 1325da0c48c4Sopenharmony_ci 1326da0c48c4Sopenharmony_ci * elf.h: Update from glibc. 1327da0c48c4Sopenharmony_ci 1328da0c48c4Sopenharmony_ci2009-07-21 Ulrich Drepper <drepper@redhat.com> 1329da0c48c4Sopenharmony_ci 1330da0c48c4Sopenharmony_ci * elf32_updatefile.c (__elfXX_updatemmap): Fix handling of gaps between 1331da0c48c4Sopenharmony_ci sections. Patch by Lubomir Rintel <lkundrak@v3.sk>. 1332da0c48c4Sopenharmony_ci 1333da0c48c4Sopenharmony_ci2009-07-08 Roland McGrath <roland@redhat.com> 1334da0c48c4Sopenharmony_ci 1335da0c48c4Sopenharmony_ci * libelfP.h (struct Elf): Remove unused ar.has_index field. 1336da0c48c4Sopenharmony_ci Reorder various members for optimal packing. 1337da0c48c4Sopenharmony_ci 1338da0c48c4Sopenharmony_ci2009-07-08 Ulrich Drepper <drepper@redhat.com> 1339da0c48c4Sopenharmony_ci 1340da0c48c4Sopenharmony_ci * elf.h: Update from glibc. 1341da0c48c4Sopenharmony_ci 1342da0c48c4Sopenharmony_ci2009-06-13 Ulrich Drepper <drepper@redhat.com> 1343da0c48c4Sopenharmony_ci 1344da0c48c4Sopenharmony_ci * Makefile.am (libelf_a_SOURCES): Replace elf_getshnum.c and 1345da0c48c4Sopenharmony_ci elf_getshstrndx.c with elf_getshdrnum.c and elf_getshdrstrndx.c. 1346da0c48c4Sopenharmony_ci * elf_getshnum.c: Renamed to... 1347da0c48c4Sopenharmony_ci * elf_getshdrnum.c: ...this. Rename function and add old name as 1348da0c48c4Sopenharmony_ci alias. Likewise for internal functions with derived names. 1349da0c48c4Sopenharmony_ci * elf_getshstrndx.c: Renamed to... 1350da0c48c4Sopenharmony_ci * elf_getshdrstrndx.c: ...this. Rename function and add old name as 1351da0c48c4Sopenharmony_ci alias. Likewise for internal functions with derived names. 1352da0c48c4Sopenharmony_ci * libelf.h: Add prototypes for new names. Make old names as 1353da0c48c4Sopenharmony_ci deprecated. 1354da0c48c4Sopenharmony_ci * libelfP.h: Rename internal function prototypes. 1355da0c48c4Sopenharmony_ci * libelf.map: Export for names. 1356da0c48c4Sopenharmony_ci * elf32_checksum.c: Don't use deprecated functions. 1357da0c48c4Sopenharmony_ci * elf32_getshdr.c: Likewise. 1358da0c48c4Sopenharmony_ci 1359da0c48c4Sopenharmony_ci2009-06-01 Ulrich Drepper <drepper@redhat.com> 1360da0c48c4Sopenharmony_ci 1361da0c48c4Sopenharmony_ci * elf.h: Update from glibc. 1362da0c48c4Sopenharmony_ci 1363da0c48c4Sopenharmony_ci2009-04-14 Roland McGrath <roland@redhat.com> 1364da0c48c4Sopenharmony_ci 1365da0c48c4Sopenharmony_ci * elf.h: Update from glibc. 1366da0c48c4Sopenharmony_ci 1367da0c48c4Sopenharmony_ci2009-04-01 Roland McGrath <roland@redhat.com> 1368da0c48c4Sopenharmony_ci 1369da0c48c4Sopenharmony_ci * elf.h: Update from glibc. 1370da0c48c4Sopenharmony_ci 1371da0c48c4Sopenharmony_ci2009-02-10 Ulrich Drepper <drepper@redhat.com> 1372da0c48c4Sopenharmony_ci 1373da0c48c4Sopenharmony_ci * elf32_updatefile.c (updatefile): For the zeroth section we still 1374da0c48c4Sopenharmony_ci have to copy the section header. 1375da0c48c4Sopenharmony_ci 1376da0c48c4Sopenharmony_ci2009-02-01 Ulrich Drepper <drepper@redhat.com> 1377da0c48c4Sopenharmony_ci 1378da0c48c4Sopenharmony_ci * elf_strptr.c: Add comment re possible problem. 1379da0c48c4Sopenharmony_ci 1380da0c48c4Sopenharmony_ci2009-01-26 Ulrich Drepper <drepper@redhat.com> 1381da0c48c4Sopenharmony_ci 1382da0c48c4Sopenharmony_ci * elf32_updatenull.c (updatenull_wrlock): Fix comment of 1383da0c48c4Sopenharmony_ci ELF_F_LAYOUT behaviour re section header table. 1384da0c48c4Sopenharmony_ci 1385da0c48c4Sopenharmony_ci2009-01-22 Ulrich Drepper <drepper@redhat.com> 1386da0c48c4Sopenharmony_ci 1387da0c48c4Sopenharmony_ci * elf32_updatefile.c (__elfXX_updatemmap): Fill the gap between 1388da0c48c4Sopenharmony_ci sections even if only the section at the start of the gap has been 1389da0c48c4Sopenharmony_ci changed. 1390da0c48c4Sopenharmony_ci (__elfXX_updatefile): Likewise. 1391da0c48c4Sopenharmony_ci 1392da0c48c4Sopenharmony_ci2009-01-21 Ulrich Drepper <drepper@redhat.com> 1393da0c48c4Sopenharmony_ci 1394da0c48c4Sopenharmony_ci * elf32_updatefile.c (__elfXX_updatemmap): Skip most of the loop to 1395da0c48c4Sopenharmony_ci handle sections for NOBITS sections. 1396da0c48c4Sopenharmony_ci (elfXX_updatefile): Likewise. 1397da0c48c4Sopenharmony_ci 1398da0c48c4Sopenharmony_ci * elf32_updatefile.c (__elfXX_updatemmap): When skipping non-NOBITS 1399da0c48c4Sopenharmony_ci sections we haven't loaded, update last_position based on scn_start, 1400da0c48c4Sopenharmony_ci not based on old value. Don't run the loop for the dummy section 0. 1401da0c48c4Sopenharmony_ci (elfXX_updatefile): Don't run the loop for the dummy section 0. 1402da0c48c4Sopenharmony_ci 1403da0c48c4Sopenharmony_ci2009-01-10 Ulrich Drepper <drepper@redhat.com> 1404da0c48c4Sopenharmony_ci 1405da0c48c4Sopenharmony_ci * libelfP.h (_): We only have one translation domain, elfutils. 1406da0c48c4Sopenharmony_ci 1407da0c48c4Sopenharmony_ci * Makefile.am: Use USE_LOCKS instead of USE_TLS. 1408da0c48c4Sopenharmony_ci * elf_error.c: Always use __thread. Remove all !USE_TLS code. 1409da0c48c4Sopenharmony_ci 1410da0c48c4Sopenharmony_ci2009-01-04 Roland McGrath <roland@redhat.com> 1411da0c48c4Sopenharmony_ci 1412da0c48c4Sopenharmony_ci * note_xlate.h (elf_cvt_note): Don't examine a size too small to 1413da0c48c4Sopenharmony_ci container a note header. 1414da0c48c4Sopenharmony_ci 1415da0c48c4Sopenharmony_ci2008-12-11 Roland McGrath <roland@redhat.com> 1416da0c48c4Sopenharmony_ci 1417da0c48c4Sopenharmony_ci * elf32_updatefile.c (__elfw2(LIBELFBITS,updatemmap)): Handle 1418da0c48c4Sopenharmony_ci placement offset going backwards, for out-of-order or overlapping 1419da0c48c4Sopenharmony_ci (bogus) sh_offset layouts. It's a dumb use, but should not crash. 1420da0c48c4Sopenharmony_ci (__elfw2(LIBELFBITS,updatefile)): Likewise. 1421da0c48c4Sopenharmony_ci Fixes RHBZ#476136. 1422da0c48c4Sopenharmony_ci 1423da0c48c4Sopenharmony_ci * libelf.h (Elf_Data): Whitespace fix. 1424da0c48c4Sopenharmony_ci 1425da0c48c4Sopenharmony_ci2008-12-10 Roland McGrath <roland@redhat.com> 1426da0c48c4Sopenharmony_ci 1427da0c48c4Sopenharmony_ci * elf_getarhdr.c (elf_getarhdr): Fix missing rename in last change. 1428da0c48c4Sopenharmony_ci 1429da0c48c4Sopenharmony_ci2008-10-22 Petr Machata <pmachata@redhat.com> 1430da0c48c4Sopenharmony_ci 1431da0c48c4Sopenharmony_ci * elf_rawfile.c (elf_rawfile): Lock around elf-> references. 1432da0c48c4Sopenharmony_ci 1433da0c48c4Sopenharmony_ci2008-10-21 Petr Machata <pmachata@redhat.com> 1434da0c48c4Sopenharmony_ci 1435da0c48c4Sopenharmony_ci * libelfP.h: Rename getehdr_rdlock to getehdr_wrlock. 1436da0c48c4Sopenharmony_ci * elf32_getehdr.c (getehdr_rdlock): Move the code to new function 1437da0c48c4Sopenharmony_ci getehdr_impl and make it a wrapper. Rename to getehdr_wrlock. 1438da0c48c4Sopenharmony_ci (getehdr_impl): Guard elf->class init with wrlock. 1439da0c48c4Sopenharmony_ci (getehdr): Also make it a wrapper of getehdr_impl. 1440da0c48c4Sopenharmony_ci * elf32_updatenull.c (updatenull_wrlock): Call getehdr_wrlock. 1441da0c48c4Sopenharmony_ci 1442da0c48c4Sopenharmony_ci2008-10-20 Petr Machata <pmachata@redhat.com> 1443da0c48c4Sopenharmony_ci 1444da0c48c4Sopenharmony_ci * elf_getdata_rawchunk.c (elf_getdata_rawchunk): Lock around the 1445da0c48c4Sopenharmony_ci code that reads mutable elf state. Relock to write lock to chain 1446da0c48c4Sopenharmony_ci the new chunk on the elf rawchunks list. 1447da0c48c4Sopenharmony_ci 1448da0c48c4Sopenharmony_ci2008-10-20 Petr Machata <pmachata@redhat.com> 1449da0c48c4Sopenharmony_ci 1450da0c48c4Sopenharmony_ci * elf32_checksum.c (checksum): Place a lock around the code that 1451da0c48c4Sopenharmony_ci processes data. Make it wrlock if the code needs to xlate the 1452da0c48c4Sopenharmony_ci data before processing. 1453da0c48c4Sopenharmony_ci 1454da0c48c4Sopenharmony_ci2008-10-16 Petr Machata <pmachata@redhat.com> 1455da0c48c4Sopenharmony_ci 1456da0c48c4Sopenharmony_ci * elf_begin.c 1457da0c48c4Sopenharmony_ci (__libelf_next_arhdr): Rename to __libelf_next_arhdr_wrlock. 1458da0c48c4Sopenharmony_ci (dup_elf): Adjust the call. 1459da0c48c4Sopenharmony_ci (elf_begin): New local function lock_dup_elf. Relocks the elf if 1460da0c48c4Sopenharmony_ci necessary before calling dup. Call this instead of dup_elf. 1461da0c48c4Sopenharmony_ci * elf_getarhdr.c 1462da0c48c4Sopenharmony_ci (elf_getarhdr): Lock before calling __libelf_next_arhdr_wrlock. 1463da0c48c4Sopenharmony_ci * elf_next.c (elf_next): Likewise. 1464da0c48c4Sopenharmony_ci * elf_rand.c (elf_rand): Likewise. 1465da0c48c4Sopenharmony_ci 1466da0c48c4Sopenharmony_ci2008-10-14 Petr Machata <pmachata@redhat.com> 1467da0c48c4Sopenharmony_ci 1468da0c48c4Sopenharmony_ci * elf_getdata.c (__elf_getdata_rdlock): Lock before converting. 1469da0c48c4Sopenharmony_ci 1470da0c48c4Sopenharmony_ci2008-11-26 Roland McGrath <roland@redhat.com> 1471da0c48c4Sopenharmony_ci 1472da0c48c4Sopenharmony_ci * elf.h: Update from glibc. 1473da0c48c4Sopenharmony_ci 1474da0c48c4Sopenharmony_ci2008-10-06 Roland McGrath <roland@redhat.com> 1475da0c48c4Sopenharmony_ci 1476da0c48c4Sopenharmony_ci * elf_getarhdr.c (elf_getarhdr): Return NULL when passed NULL. 1477da0c48c4Sopenharmony_ci 1478da0c48c4Sopenharmony_ci2008-08-27 Roland McGrath <roland@redhat.com> 1479da0c48c4Sopenharmony_ci 1480da0c48c4Sopenharmony_ci * elf_begin.c (get_shnum): Avoid misaligned reads for matching endian. 1481da0c48c4Sopenharmony_ci 1482da0c48c4Sopenharmony_ci * libelfP.h [!ALLOW_UNALIGNED] (__libelf_type_align): Fix CLASS index. 1483da0c48c4Sopenharmony_ci 1484da0c48c4Sopenharmony_ci2008-08-25 Roland McGrath <roland@redhat.com> 1485da0c48c4Sopenharmony_ci 1486da0c48c4Sopenharmony_ci * Makefile.am (libelf_so_LDLIBS): New variable. 1487da0c48c4Sopenharmony_ci (libelf.so): Use it in the link. 1488da0c48c4Sopenharmony_ci 1489da0c48c4Sopenharmony_ci2008-08-21 Petr Machata <pmachata@redhat.com> 1490da0c48c4Sopenharmony_ci 1491da0c48c4Sopenharmony_ci * elf_getdata.c, libelfP.h 1492da0c48c4Sopenharmony_ci (__elf_getdata_internal): Rename to __elf_getdata_rdlock. 1493da0c48c4Sopenharmony_ci (__libelf_set_rawdata_wrlock): New function. 1494da0c48c4Sopenharmony_ci (__libelf_set_rawdata): Make it a wrapper that calls *_wrlock. 1495da0c48c4Sopenharmony_ci * elf32_updatenull.c, libelfP.h 1496da0c48c4Sopenharmony_ci (__elfNN_updatenull): Rename to __elfNN_updatenull_wrlock. 1497da0c48c4Sopenharmony_ci 1498da0c48c4Sopenharmony_ci2008-08-21 Petr Machata <pmachata@redhat.com> 1499da0c48c4Sopenharmony_ci 1500da0c48c4Sopenharmony_ci * elf32_getphdr.c, libelfP.h 1501da0c48c4Sopenharmony_ci (__elfNN_getphdr_internal): Drop. Move __elfNN_getphdr_internal 1502da0c48c4Sopenharmony_ci code to __elfNN_getphdr_wrlock. 1503da0c48c4Sopenharmony_ci (__elfNN_getphdr_rdlock, __elfNN_getphdr_wrlock): New functions. 1504da0c48c4Sopenharmony_ci (__elfNN_getphdr_rdlock, __elfNN_getphdr_wrlock): Make these 1505da0c48c4Sopenharmony_ci wrappers of getphdr_impl. 1506da0c48c4Sopenharmony_ci 1507da0c48c4Sopenharmony_ci2008-08-21 Petr Machata <pmachata@redhat.com> 1508da0c48c4Sopenharmony_ci 1509da0c48c4Sopenharmony_ci * elf32_getehdr.c, libelfP.h 1510da0c48c4Sopenharmony_ci (__elfNN_getehdr_internal): Rename to __elfNN_getehdr_rdlock. 1511da0c48c4Sopenharmony_ci * gelf_getehdr, libelfP.h: 1512da0c48c4Sopenharmony_ci (__gelf_getehdr_internal): Rename to __gelf_getehdr_rdlock. 1513da0c48c4Sopenharmony_ci 1514da0c48c4Sopenharmony_ci2008-08-21 Petr Machata <pmachata@redhat.com> 1515da0c48c4Sopenharmony_ci 1516da0c48c4Sopenharmony_ci * elf32_getshdr.c 1517da0c48c4Sopenharmony_ci (__elfNN_getshdr_internal): Drop. 1518da0c48c4Sopenharmony_ci (load_shdr_wrlock, scn_valid): New functions, contain bits of 1519da0c48c4Sopenharmony_ci behaviour from __elfNN_getshdr_internal. 1520da0c48c4Sopenharmony_ci (__elfNN_getshdr_rdlock, __elfNN_getshdr_wrlock): Replacements for 1521da0c48c4Sopenharmony_ci dropped _internal functions above. 1522da0c48c4Sopenharmony_ci * elf_getshnum.c 1523da0c48c4Sopenharmony_ci (__elf_getshnum_internal): Rename to __elf_getshnum_rdlock. 1524da0c48c4Sopenharmony_ci 1525da0c48c4Sopenharmony_ci2008-08-04 Petr Machata <pmachata@redhat.com> 1526da0c48c4Sopenharmony_ci 1527da0c48c4Sopenharmony_ci * libelfP.h (RWLOCK_RDLOCK, RWLOCK_WRLOCK, RWLOCK_UNLOCK): New macros. 1528da0c48c4Sopenharmony_ci 1529da0c48c4Sopenharmony_ci2008-07-28 Roland McGrath <roland@redhat.com> 1530da0c48c4Sopenharmony_ci 1531da0c48c4Sopenharmony_ci * elf.h: Update from glibc. 1532da0c48c4Sopenharmony_ci 1533da0c48c4Sopenharmony_ci2008-03-31 Roland McGrath <roland@redhat.com> 1534da0c48c4Sopenharmony_ci 1535da0c48c4Sopenharmony_ci * elf32_offscn.c: Make sure shdrs have been read in. 1536da0c48c4Sopenharmony_ci 1537da0c48c4Sopenharmony_ci2008-02-19 Roland McGrath <roland@redhat.com> 1538da0c48c4Sopenharmony_ci 1539da0c48c4Sopenharmony_ci * elf.h: Update from glibc. 1540da0c48c4Sopenharmony_ci 1541da0c48c4Sopenharmony_ci2008-02-08 Roland McGrath <roland@redhat.com> 1542da0c48c4Sopenharmony_ci 1543da0c48c4Sopenharmony_ci * elf.h: Update from glibc. 1544da0c48c4Sopenharmony_ci 1545da0c48c4Sopenharmony_ci2008-01-31 Ulrich Drepper <drepper@redhat.com> 1546da0c48c4Sopenharmony_ci 1547da0c48c4Sopenharmony_ci * elf_strptr.c (elf_strptr): Don't fail if the ELF file is currently 1548da0c48c4Sopenharmony_ci under construction and no raw data can be read from disk. 1549da0c48c4Sopenharmony_ci 1550da0c48c4Sopenharmony_ci2008-01-30 Roland McGrath <roland@redhat.com> 1551da0c48c4Sopenharmony_ci 1552da0c48c4Sopenharmony_ci * elf.h: Update from glibc. 1553da0c48c4Sopenharmony_ci 1554da0c48c4Sopenharmony_ci2008-01-26 Roland McGrath <roland@redhat.com> 1555da0c48c4Sopenharmony_ci 1556da0c48c4Sopenharmony_ci * elf_begin.c (__libelf_next_arhdr): Rewrite conversions using a macro. 1557da0c48c4Sopenharmony_ci Fixes various pastos in wrong type in sizeof, wrong string parsed. 1558da0c48c4Sopenharmony_ci 1559da0c48c4Sopenharmony_ci2008-01-20 Roland McGrath <roland@redhat.com> 1560da0c48c4Sopenharmony_ci 1561da0c48c4Sopenharmony_ci * elf_getaroff.c: Calculate from start_offset, instead of using 1562da0c48c4Sopenharmony_ci parent's state.ar.offset field. 1563da0c48c4Sopenharmony_ci 1564da0c48c4Sopenharmony_ci2008-01-08 Roland McGrath <roland@redhat.com> 1565da0c48c4Sopenharmony_ci 1566da0c48c4Sopenharmony_ci * Makefile.am (euinclude): Variable removed. 1567da0c48c4Sopenharmony_ci (pkginclude_HEADERS): Set this instead of euinclude_HEADERS. 1568da0c48c4Sopenharmony_ci 1569da0c48c4Sopenharmony_ci2008-01-03 Roland McGrath <roland@redhat.com> 1570da0c48c4Sopenharmony_ci 1571da0c48c4Sopenharmony_ci * common.h: Add __attribute__ ((unused)) to static functions. 1572da0c48c4Sopenharmony_ci 1573da0c48c4Sopenharmony_ci2007-12-20 Ulrich Drepper <drepper@redhat.com> 1574da0c48c4Sopenharmony_ci 1575da0c48c4Sopenharmony_ci * Makefile.am (libelf_a_SOURCES): Add elf_scnshndx. 1576da0c48c4Sopenharmony_ci * libelfP.h (struct Elf_Scn): Add shndx_index field. 1577da0c48c4Sopenharmony_ci Declare __elf_scnshndx_internal. 1578da0c48c4Sopenharmony_ci * elf32_getshdr.c: Record location of extended section header. 1579da0c48c4Sopenharmony_ci * elf_begin.c (file_read_elf): Likewise. 1580da0c48c4Sopenharmony_ci * elf_scnshndx.c: New file. 1581da0c48c4Sopenharmony_ci * libelf.h: Declare elf_scnshndx. 1582da0c48c4Sopenharmony_ci * libelf.map: Add elf_scnshndx to version ELFUTILS_1.4. 1583da0c48c4Sopenharmony_ci 1584da0c48c4Sopenharmony_ci2007-11-12 Roland McGrath <roland@redhat.com> 1585da0c48c4Sopenharmony_ci 1586da0c48c4Sopenharmony_ci * libelf.h: Replace off64_t with loff_t throughout. 1587da0c48c4Sopenharmony_ci Only that type name is unconditionally defined by <sys/types.h> 1588da0c48c4Sopenharmony_ci 1589da0c48c4Sopenharmony_ci2007-11-03 Roland McGrath <roland@redhat.com> 1590da0c48c4Sopenharmony_ci 1591da0c48c4Sopenharmony_ci * libelf.h (Elf_Data): Comment fix. 1592da0c48c4Sopenharmony_ci 1593da0c48c4Sopenharmony_ci2007-10-18 Roland McGrath <roland@redhat.com> 1594da0c48c4Sopenharmony_ci 1595da0c48c4Sopenharmony_ci * elf.h: Update from glibc. 1596da0c48c4Sopenharmony_ci 1597da0c48c4Sopenharmony_ci2007-10-07 Roland McGrath <roland@redhat.com> 1598da0c48c4Sopenharmony_ci 1599da0c48c4Sopenharmony_ci * elf_begin.c (__libelf_next_arhdr): Fix fencepost error and wrong 1600da0c48c4Sopenharmony_ci member access in terminating name with no trailing /. Trim trailing 1601da0c48c4Sopenharmony_ci spaces when there is no /. 1602da0c48c4Sopenharmony_ci 1603da0c48c4Sopenharmony_ci2007-10-04 Roland McGrath <roland@redhat.com> 1604da0c48c4Sopenharmony_ci 1605da0c48c4Sopenharmony_ci * elf_end.c (elf_end): Don't free ELF->state.ar.ar_sym when it's -1l. 1606da0c48c4Sopenharmony_ci 1607da0c48c4Sopenharmony_ci2007-10-03 Roland McGrath <roland@redhat.com> 1608da0c48c4Sopenharmony_ci 1609da0c48c4Sopenharmony_ci * libelf.h (Elf_Data): Use off64_t for d_off. 1610da0c48c4Sopenharmony_ci (Elf_Arhdr): Use off64_t for ar_size. 1611da0c48c4Sopenharmony_ci (elf_update, elf_getbase, elf_getaroff): Return off64_t. 1612da0c48c4Sopenharmony_ci 1613da0c48c4Sopenharmony_ci * gelf_rawchunk.c: File removed. 1614da0c48c4Sopenharmony_ci * gelf_freechunk.c: File removed. 1615da0c48c4Sopenharmony_ci * Makefile.am (libelf_a_SOURCES): Remove them. 1616da0c48c4Sopenharmony_ci * libelf.map (ELFUTILS_1.0): Remove exports. 1617da0c48c4Sopenharmony_ci * gelf.h: Remove decls. 1618da0c48c4Sopenharmony_ci 1619da0c48c4Sopenharmony_ci * elf_getdata_rawchunk.c: New file. 1620da0c48c4Sopenharmony_ci * Makefile.am (libelf_a_SOURCES): Add it. 1621da0c48c4Sopenharmony_ci * libelf.map (ELFUTILS_1.3): Add elf_getdata_rawchunk. 1622da0c48c4Sopenharmony_ci * libelf.h: Declare it. 1623da0c48c4Sopenharmony_ci * libelfP.h (Elf_Data_Chunk): New type. 1624da0c48c4Sopenharmony_ci (struct Elf.elf): New member `rawchunks'. 1625da0c48c4Sopenharmony_ci * elf_end.c (elf_end): Free recorded rawchunk buffers. 1626da0c48c4Sopenharmony_ci 1627da0c48c4Sopenharmony_ci2007-08-24 Roland McGrath <roland@redhat.com> 1628da0c48c4Sopenharmony_ci 1629da0c48c4Sopenharmony_ci * gelf_getnote.c: New file. 1630da0c48c4Sopenharmony_ci * Makefile.am (libelf_a_SOURCES): Add it. 1631da0c48c4Sopenharmony_ci * gelf.h: Declare gelf_getnote. 1632da0c48c4Sopenharmony_ci * libelf.map (ELFUTILS_1.3): Add gelf_getnote. 1633da0c48c4Sopenharmony_ci 1634da0c48c4Sopenharmony_ci * libelfP.h (NOTE_ALIGN): New macro. 1635da0c48c4Sopenharmony_ci * note_xlate.h: New file. 1636da0c48c4Sopenharmony_ci * Makefile.am (noinst_HEADERS): Add it. 1637da0c48c4Sopenharmony_ci * gelf_xlate.c: Include it. 1638da0c48c4Sopenharmony_ci (__elf_xfctstom): Use elf_cvt_note. 1639da0c48c4Sopenharmony_ci * elf_getdata.c (shtype_map, __libelf_type_align): Handle SHT_NOTE. 1640da0c48c4Sopenharmony_ci (__libelf_set_rawdata): Likewise. 1641da0c48c4Sopenharmony_ci 1642da0c48c4Sopenharmony_ci2007-08-19 Roland McGrath <roland@redhat.com> 1643da0c48c4Sopenharmony_ci 1644da0c48c4Sopenharmony_ci * gelf_update_auxv.c: New file. 1645da0c48c4Sopenharmony_ci * gelf_getauxv.c: New file. 1646da0c48c4Sopenharmony_ci * Makefile.am (libelf_a_SOURCES): Add them. 1647da0c48c4Sopenharmony_ci * gelf.h: Declare gelf_getauxv, gelf_update_auxv. 1648da0c48c4Sopenharmony_ci * libelf.map (ELFUTILS_1.3): New set, inherits fom ELFUTILS_1.2. 1649da0c48c4Sopenharmony_ci Export gelf_getauxv, gelf_update_auxv. 1650da0c48c4Sopenharmony_ci 1651da0c48c4Sopenharmony_ci * libelf.h (Elf_Type): Add ELF_T_AUXV. 1652da0c48c4Sopenharmony_ci * abstract.h: Add auxv_t entries. 1653da0c48c4Sopenharmony_ci * exttypes.h: Likewise. 1654da0c48c4Sopenharmony_ci * gelf_xlate.h: Likewise. 1655da0c48c4Sopenharmony_ci * gelf_xlate.c (__elf_xfctstom): Add ELF_T_AUXV entries. 1656da0c48c4Sopenharmony_ci * gelf_fsize.c (__libelf_type_sizes): Likewise. 1657da0c48c4Sopenharmony_ci 1658da0c48c4Sopenharmony_ci2007-08-12 Roland McGrath <roland@redhat.com> 1659da0c48c4Sopenharmony_ci 1660da0c48c4Sopenharmony_ci * elf32_updatefile.c (compare_sections): Sort secondarily on sh_size, 1661da0c48c4Sopenharmony_ci and only tertiarily on index. 1662da0c48c4Sopenharmony_ci 1663da0c48c4Sopenharmony_ci2007-07-09 Roland McGrath <roland@redhat.com> 1664da0c48c4Sopenharmony_ci 1665da0c48c4Sopenharmony_ci * elf.h: Update from glibc. 1666da0c48c4Sopenharmony_ci 1667da0c48c4Sopenharmony_ci2007-04-22 Roland McGrath <roland@redhat.com> 1668da0c48c4Sopenharmony_ci 1669da0c48c4Sopenharmony_ci * elf.h: Update from glibc. 1670da0c48c4Sopenharmony_ci 1671da0c48c4Sopenharmony_ci2007-03-18 Roland McGrath <roland@redhat.com> 1672da0c48c4Sopenharmony_ci 1673da0c48c4Sopenharmony_ci * elf_begin.c (get_shnum): Fix test for e_shoff being out of bounds. 1674da0c48c4Sopenharmony_ci Return zero when the section headers do not fit within MAXSIZE. 1675da0c48c4Sopenharmony_ci 1676da0c48c4Sopenharmony_ci2007-03-09 Roland McGrath <roland@redhat.com> 1677da0c48c4Sopenharmony_ci 1678da0c48c4Sopenharmony_ci * libelfP.h (LIBELF_EV_IDX): New macro. 1679da0c48c4Sopenharmony_ci (__libelf_type_align): New macro. 1680da0c48c4Sopenharmony_ci [! ALLOW_UNALIGNED]: Declare __libc_type_aligns array. 1681da0c48c4Sopenharmony_ci * elf_getdata.c (shtype_map): Convert to just Elf_Type[][]. 1682da0c48c4Sopenharmony_ci (convert_data, __libelf_set_rawdata): Use that, __libelf_type_align, 1683da0c48c4Sopenharmony_ci and __libelf_type_sizes, in place of old table. 1684da0c48c4Sopenharmony_ci (__libc_type_aligns): New const variable. 1685da0c48c4Sopenharmony_ci 1686da0c48c4Sopenharmony_ci2007-02-04 Ulrich Drepper <drepper@redhat.com> 1687da0c48c4Sopenharmony_ci 1688da0c48c4Sopenharmony_ci * Makefile (libelf.so): Build with -z relro. 1689da0c48c4Sopenharmony_ci 1690da0c48c4Sopenharmony_ci * elf_begin.c (read_file): When using ELF_C_READ_MMAP use MAP_PRIVATE. 1691da0c48c4Sopenharmony_ci 1692da0c48c4Sopenharmony_ci2007-01-30 Ulrich Drepper <drepper@redhat.com> 1693da0c48c4Sopenharmony_ci 1694da0c48c4Sopenharmony_ci * nlist.c: Close file descriptor before returning. 1695da0c48c4Sopenharmony_ci 1696da0c48c4Sopenharmony_ci2007-01-20 Roland McGrath <roland@redhat.com> 1697da0c48c4Sopenharmony_ci 1698da0c48c4Sopenharmony_ci * gnuhash_xlate.h (elf_cvt_gnuhash): Fix fence-post error so we 1699da0c48c4Sopenharmony_ci convert the final word. 1700da0c48c4Sopenharmony_ci 1701da0c48c4Sopenharmony_ci * elf32_getshdr.c: Don't byteswap shdr fields when EI_DATA matches 1702da0c48c4Sopenharmony_ci MY_ELFDATA on !ALLOW_UNALIGNED machines. 1703da0c48c4Sopenharmony_ci 1704da0c48c4Sopenharmony_ci2007-01-18 Roland McGrath <roland@redhat.com> 1705da0c48c4Sopenharmony_ci 1706da0c48c4Sopenharmony_ci * gelf_rawchunk.c (gelf_rawchunk): Clear RESULT pointer after freeing 1707da0c48c4Sopenharmony_ci it on read error. 1708da0c48c4Sopenharmony_ci 1709da0c48c4Sopenharmony_ci2006-10-13 Roland McGrath <roland@redhat.com> 1710da0c48c4Sopenharmony_ci 1711da0c48c4Sopenharmony_ci * elf32_updatenull.c: Look for and accept phdr also for ET_CORE. 1712da0c48c4Sopenharmony_ci * elf_error.c (msgstr): Change ELF_E_INVALID_PHDR string. 1713da0c48c4Sopenharmony_ci 1714da0c48c4Sopenharmony_ci2006-08-29 Roland McGrath <roland@redhat.com> 1715da0c48c4Sopenharmony_ci 1716da0c48c4Sopenharmony_ci * elf32_getphdr.c: Don't byteswap phdr fields when EI_DATA matches 1717da0c48c4Sopenharmony_ci MY_ELFDATA on !ALLOW_UNALIGNED machines. 1718da0c48c4Sopenharmony_ci Reported by Christian Aichinger <Greek0@gmx.net>. 1719da0c48c4Sopenharmony_ci 1720da0c48c4Sopenharmony_ci * Makefile.am (CLEANFILES): Add libelf.so.$(VERSION). 1721da0c48c4Sopenharmony_ci 1722da0c48c4Sopenharmony_ci2006-08-08 Ulrich Drepper <drepper@redhat.com> 1723da0c48c4Sopenharmony_ci 1724da0c48c4Sopenharmony_ci * elf.h (DT_VALNUM): Update. 1725da0c48c4Sopenharmony_ci (DT_ADDRNUM): Likewise. 1726da0c48c4Sopenharmony_ci 1727da0c48c4Sopenharmony_ci2006-07-12 Ulrich Drepper <drepper@redhat.com> 1728da0c48c4Sopenharmony_ci 1729da0c48c4Sopenharmony_ci * elf32_updatefile.c: Adjust for internal_function_def removal. 1730da0c48c4Sopenharmony_ci * elf32_updatenull.c: Likewise. 1731da0c48c4Sopenharmony_ci * elf_begin.c: Likewise. 1732da0c48c4Sopenharmony_ci * elf_getdata.c: Likewise. 1733da0c48c4Sopenharmony_ci 1734da0c48c4Sopenharmony_ci2006-07-11 Ulrich Drepper <drepper@redhat.com> 1735da0c48c4Sopenharmony_ci 1736da0c48c4Sopenharmony_ci * libelf.h: Define ELF_T_GNUHASH. 1737da0c48c4Sopenharmony_ci * elf_getdata.c (TYPEIDX): Handle SHT_GNU_HASH. 1738da0c48c4Sopenharmony_ci (shtype_map): Add SHT_GNU_HASH entries. 1739da0c48c4Sopenharmony_ci * gelf_xlate.c (__elf_xfctstom): Add ELF_T_GNUHASH entries. 1740da0c48c4Sopenharmony_ci * gnuhash_xlate.h: New file. 1741da0c48c4Sopenharmony_ci * Makefile.am (noinst_HEADERS): Add gnuhash_xlate.h. 1742da0c48c4Sopenharmony_ci 1743da0c48c4Sopenharmony_ci2006-07-06 Ulrich Drepper <drepper@redhat.com> 1744da0c48c4Sopenharmony_ci 1745da0c48c4Sopenharmony_ci * elf_gnu_hash.c: New file. 1746da0c48c4Sopenharmony_ci * libelf.h: Declare elf_gnu_hash. 1747da0c48c4Sopenharmony_ci * Makefile.am (libelf_a_SOURCES): Add elf_gnu_hash. 1748da0c48c4Sopenharmony_ci * libelf.map: Add elf_gnu_map for version ELFUTILS_1.2. 1749da0c48c4Sopenharmony_ci 1750da0c48c4Sopenharmony_ci2006-06-15 Roland McGrath <roland@redhat.com> 1751da0c48c4Sopenharmony_ci 1752da0c48c4Sopenharmony_ci * libelf.h (elf_getarsym): Fix comment typo. 1753da0c48c4Sopenharmony_ci Rename second parameter to be more explanatory. 1754da0c48c4Sopenharmony_ci (elf_getident, elf_rawhide): Likewise. 1755da0c48c4Sopenharmony_ci 1756da0c48c4Sopenharmony_ci2006-05-28 Ulrich Drepper <drepper@redhat.com> 1757da0c48c4Sopenharmony_ci 1758da0c48c4Sopenharmony_ci * elf32_updatefile.c (updatemmap): Preserve section content if 1759da0c48c4Sopenharmony_ci copying would overwrite them. 1760da0c48c4Sopenharmony_ci Fix msync paramters. 1761da0c48c4Sopenharmony_ci 1762da0c48c4Sopenharmony_ci2006-04-04 Roland McGrath <roland@redhat.com> 1763da0c48c4Sopenharmony_ci 1764da0c48c4Sopenharmony_ci * elf32_updatefile.c (updatemmap): Handle other-endian case. 1765da0c48c4Sopenharmony_ci 1766da0c48c4Sopenharmony_ci2006-04-04 Ulrich Drepper <drepper@redhat.com> 1767da0c48c4Sopenharmony_ci 1768da0c48c4Sopenharmony_ci * elf32_updatefile.c (updatemmap): Cleanups. Remove shdr_dest 1769da0c48c4Sopenharmony_ci variable. Before writing sections, make a copy of the section 1770da0c48c4Sopenharmony_ci header data if necessary. Don't write section header while 1771da0c48c4Sopenharmony_ci writing the section constent, it might overwrite some sections. 1772da0c48c4Sopenharmony_ci Restore the pointer afterwards. 1773da0c48c4Sopenharmony_ci * elf32_updatenull.c (updatenull): If the offset of a section in a 1774da0c48c4Sopenharmony_ci file changed make sure we read the section so that it'll be written 1775da0c48c4Sopenharmony_ci out. 1776da0c48c4Sopenharmony_ci 1777da0c48c4Sopenharmony_ci * elf_update.c: Remove debug message. 1778da0c48c4Sopenharmony_ci 1779da0c48c4Sopenharmony_ci2005-12-07 Roland McGrath <roland@redhat.com> 1780da0c48c4Sopenharmony_ci 1781da0c48c4Sopenharmony_ci * gelf_xlate.c [! ALLOW_UNALIGNED] (union unaligned): New type. 1782da0c48c4Sopenharmony_ci (FETCH, STORE): New macros. 1783da0c48c4Sopenharmony_ci (INLINE3): Use those to do alignment-friendly conversion. 1784da0c48c4Sopenharmony_ci 1785da0c48c4Sopenharmony_ci * elf32_getshdr.c: Include map_address and start_offset in alignment 1786da0c48c4Sopenharmony_ci calculations. 1787da0c48c4Sopenharmony_ci * elf32_getphdr.c: Likewise. 1788da0c48c4Sopenharmony_ci 1789da0c48c4Sopenharmony_ci2005-11-19 Roland McGrath <roland@redhat.com> 1790da0c48c4Sopenharmony_ci 1791da0c48c4Sopenharmony_ci * elf.h: Update from glibc. 1792da0c48c4Sopenharmony_ci 1793da0c48c4Sopenharmony_ci2005-11-17 Roland McGrath <roland@redhat.com> 1794da0c48c4Sopenharmony_ci 1795da0c48c4Sopenharmony_ci * elf.h: Update from glibc. 1796da0c48c4Sopenharmony_ci 1797da0c48c4Sopenharmony_ci2005-11-10 Roland McGrath <roland@redhat.com> 1798da0c48c4Sopenharmony_ci 1799da0c48c4Sopenharmony_ci * elf.h: Update from glibc. 1800da0c48c4Sopenharmony_ci 1801da0c48c4Sopenharmony_ci2005-09-09 Roland McGrath <roland@redhat.com> 1802da0c48c4Sopenharmony_ci 1803da0c48c4Sopenharmony_ci * elf_update.c (write_file): Stat the file and fchmod it after update 1804da0c48c4Sopenharmony_ci if its mode had S_ISUID or S_ISGID bits set. 1805da0c48c4Sopenharmony_ci 1806da0c48c4Sopenharmony_ci2005-08-28 Ulrich Drepper <drepper@redhat.com> 1807da0c48c4Sopenharmony_ci 1808da0c48c4Sopenharmony_ci * elf32_getphdr.c: Include <system.h>. Use pread_retry instead of 1809da0c48c4Sopenharmony_ci pread. And branch prediction where useful. 1810da0c48c4Sopenharmony_ci * elf_begin.c: Likewise. 1811da0c48c4Sopenharmony_ci * elf_getdata.c: Likewise. 1812da0c48c4Sopenharmony_ci * elf_getshstrndx.c: Likewise. 1813da0c48c4Sopenharmony_ci * elf_readall.c: Likewise. 1814da0c48c4Sopenharmony_ci * gelf_rawchunk.c: Likewise. 1815da0c48c4Sopenharmony_ci * elf32_updatefile.c: Include <system.h>. Use pread_retry instead of 1816da0c48c4Sopenharmony_ci pread. And branch prediction where useful. 1817da0c48c4Sopenharmony_ci * elf_getarsym.c: Don't define pread_retry here. 1818da0c48c4Sopenharmony_ci 1819da0c48c4Sopenharmony_ci * Makefile.am: Use $(LINK) not $(CC) when creating DSO. 1820da0c48c4Sopenharmony_ci (%.os): Use COMPILE.os. 1821da0c48c4Sopenharmony_ci (COMPILE.os): Filter out gconv options. 1822da0c48c4Sopenharmony_ci 1823da0c48c4Sopenharmony_ci2005-08-27 Ulrich Drepper <drepper@redhat.com> 1824da0c48c4Sopenharmony_ci 1825da0c48c4Sopenharmony_ci * elf_begin.c (file_read_elf): Avoid reading ELF header from file 1826da0c48c4Sopenharmony_ci again. Instead accept additional parameter which points to it if we 1827da0c48c4Sopenharmony_ci don't use mmap. 1828da0c48c4Sopenharmony_ci (get_shnum): Use passed in e_ident value as source of ELF header. 1829da0c48c4Sopenharmony_ci 1830da0c48c4Sopenharmony_ci2005-08-15 Ulrich Drepper <drepper@redhat.com> 1831da0c48c4Sopenharmony_ci 1832da0c48c4Sopenharmony_ci * elf_begin.c (__libelf_next_arhdr): Use TEMP_FAILURE_RETRY. 1833da0c48c4Sopenharmony_ci 1834da0c48c4Sopenharmony_ci * Makefile (libelf_a_SOURCES): Add elf_getaroff.c. 1835da0c48c4Sopenharmony_ci * libelf.map: Export elf_getaroff. 1836da0c48c4Sopenharmony_ci * libelf.h: Declare elf_getaroff. 1837da0c48c4Sopenharmony_ci * elf_getaroff.c: New file. 1838da0c48c4Sopenharmony_ci 1839da0c48c4Sopenharmony_ci2005-08-13 Ulrich Drepper <drepper@redhat.com> 1840da0c48c4Sopenharmony_ci 1841da0c48c4Sopenharmony_ci * elf_begin.c (get_shnum): Optimize memory handling. Always read from 1842da0c48c4Sopenharmony_ci mapped file if available. Fix access to 64-bit sh_size. Recognize 1843da0c48c4Sopenharmony_ci overflow. 1844da0c48c4Sopenharmony_ci (file_read_elf): Likewise. 1845da0c48c4Sopenharmony_ci 1846da0c48c4Sopenharmony_ci2005-08-12 Roland McGrath <roland@redhat.com> 1847da0c48c4Sopenharmony_ci 1848da0c48c4Sopenharmony_ci * elf32_offscn.c: Do not match empty sections at OFFSET unless 1849da0c48c4Sopenharmony_ci there are no nonempty sections at that offset. 1850da0c48c4Sopenharmony_ci 1851da0c48c4Sopenharmony_ci2005-08-07 Ulrich Drepper <drepper@redhat.com> 1852da0c48c4Sopenharmony_ci 1853da0c48c4Sopenharmony_ci * elf.h: Update from glibc. 1854da0c48c4Sopenharmony_ci 1855da0c48c4Sopenharmony_ci2005-08-06 Ulrich Drepper <drepper@redhat.com> 1856da0c48c4Sopenharmony_ci 1857da0c48c4Sopenharmony_ci * Makefile.am (AM_CFLAGS): Add -fpic when BUILD_STATIC. 1858da0c48c4Sopenharmony_ci 1859da0c48c4Sopenharmony_ci2005-08-03 Ulrich Drepper <drepper@redhat.com> 1860da0c48c4Sopenharmony_ci 1861da0c48c4Sopenharmony_ci * libelf.map: Move elf32_offscn, elf64_offscn, and gelf_offscn in 1862da0c48c4Sopenharmony_ci new version ELFUTILS_1.1.1. 1863da0c48c4Sopenharmony_ci 1864da0c48c4Sopenharmony_ci2005-08-02 Ulrich Drepper <drepper@redhat.com> 1865da0c48c4Sopenharmony_ci 1866da0c48c4Sopenharmony_ci * elf_error.c: Add handling of ELF_E_INVALID_OFFSET. 1867da0c48c4Sopenharmony_ci * elf32_offscn.c: New file. 1868da0c48c4Sopenharmony_ci * elf64_offscn.c: New file. 1869da0c48c4Sopenharmony_ci * gelf_offscn.c: New file. 1870da0c48c4Sopenharmony_ci * Makefile.am (libelf_a_SOURCES): Add elf32_offscn.c, elf64_offscn.c, 1871da0c48c4Sopenharmony_ci and gelf_offscn.c. 1872da0c48c4Sopenharmony_ci * libelf.sym: Export new symbols. 1873da0c48c4Sopenharmony_ci 1874da0c48c4Sopenharmony_ci2005-07-23 Ulrich Drepper <drepper@redhat.com> 1875da0c48c4Sopenharmony_ci 1876da0c48c4Sopenharmony_ci * elf-knowledge.h (SECTION_STRIP_P): Don't handle removal of debug 1877da0c48c4Sopenharmony_ci sections here anymore. 1878da0c48c4Sopenharmony_ci * elf32_checksum.c: Adjust for change in SECTION_STRIP_P interface. 1879da0c48c4Sopenharmony_ci 1880da0c48c4Sopenharmony_ci * elf_update.c (elf_update): Get write lock, not read lock. 1881da0c48c4Sopenharmony_ci 1882da0c48c4Sopenharmony_ci * elf32_updatenull.c (updatenull): Get section headers if necessary 1883da0c48c4Sopenharmony_ci and possible. 1884da0c48c4Sopenharmony_ci 1885da0c48c4Sopenharmony_ci2005-07-22 Ulrich Drepper <drepper@redhat.com> 1886da0c48c4Sopenharmony_ci 1887da0c48c4Sopenharmony_ci * elf32_updatenull.c (updatenull): If program header hasn't been loaded 1888da0c48c4Sopenharmony_ci yet, try to do it now. 1889da0c48c4Sopenharmony_ci Don't unnecessarily update overflow of section count in zeroth section 1890da0c48c4Sopenharmony_ci sh_size field. 1891da0c48c4Sopenharmony_ci If section content hasn't been read yet, do it before looking for the 1892da0c48c4Sopenharmony_ci block size. If no section data present, infer size of section header. 1893da0c48c4Sopenharmony_ci 1894da0c48c4Sopenharmony_ci2005-05-11 Ulrich Drepper <drepper@redhat.com> 1895da0c48c4Sopenharmony_ci 1896da0c48c4Sopenharmony_ci * elf.h: Update again. 1897da0c48c4Sopenharmony_ci 1898da0c48c4Sopenharmony_ci2005-05-09 Ulrich Drepper <drepper@redhat.com> 1899da0c48c4Sopenharmony_ci 1900da0c48c4Sopenharmony_ci * elf.h: Update from glibc. 1901da0c48c4Sopenharmony_ci 1902da0c48c4Sopenharmony_ci2005-05-08 Roland McGrath <roland@redhat.com> 1903da0c48c4Sopenharmony_ci 1904da0c48c4Sopenharmony_ci * elf_begin.c (read_file) [_MUDFLAP]: Don't use mmap for now. 1905da0c48c4Sopenharmony_ci * elf_update.c (write_file) [_MUDFLAP]: Likewise. 1906da0c48c4Sopenharmony_ci 1907da0c48c4Sopenharmony_ci2005-03-29 Ulrich Drepper <drepper@redhat.com> 1908da0c48c4Sopenharmony_ci 1909da0c48c4Sopenharmony_ci * elf32_checksum.c: Use INTUSE and INTDEF to avoid PLTs. 1910da0c48c4Sopenharmony_ci * elf_end.c: Likewise. 1911da0c48c4Sopenharmony_ci * elf_getdata.c: Likewise. 1912da0c48c4Sopenharmony_ci * gelf_getehdr.c: Likewise. 1913da0c48c4Sopenharmony_ci * nlist.c: Likewise. 1914da0c48c4Sopenharmony_ci * libelfP.h: Add declarations of internal functions. 1915da0c48c4Sopenharmony_ci 1916da0c48c4Sopenharmony_ci2005-02-15 Ulrich Drepper <drepper@redhat.com> 1917da0c48c4Sopenharmony_ci 1918da0c48c4Sopenharmony_ci * common.h (CONVERT): Make sure all values are unsigned. 1919da0c48c4Sopenharmony_ci (CONVERT_TO): Likewise. 1920da0c48c4Sopenharmony_ci 1921da0c48c4Sopenharmony_ci * Makefile.am (AM_CFLAGS): Add -Wformat=2. 1922da0c48c4Sopenharmony_ci Fix rule to build libelf.so. 1923da0c48c4Sopenharmony_ci 1924da0c48c4Sopenharmony_ci2005-02-06 Ulrich Drepper <drepper@redhat.com> 1925da0c48c4Sopenharmony_ci 1926da0c48c4Sopenharmony_ci * Makefile.am: Cleanup AM_CFLAGS handling. Add -Wunused -Wextra. 1927da0c48c4Sopenharmony_ci Remove lint handling. 1928da0c48c4Sopenharmony_ci * elf32_getphdr.c: Minor cleanups. 1929da0c48c4Sopenharmony_ci * elf32_getshdr.c: Likewise. 1930da0c48c4Sopenharmony_ci * elf32_updatefile.c: Likewise. 1931da0c48c4Sopenharmony_ci * elf32_updatenull.c: Likewise. 1932da0c48c4Sopenharmony_ci * elf_begin.c: Likewise. 1933da0c48c4Sopenharmony_ci * elf_error.c: Likewise. 1934da0c48c4Sopenharmony_ci * elf_getarsym.c: Likewise. 1935da0c48c4Sopenharmony_ci * elf_getdata.c: Likewise. 1936da0c48c4Sopenharmony_ci * elf_update.c: Likewise. 1937da0c48c4Sopenharmony_ci * gelf_xlate.c: Likewise. 1938da0c48c4Sopenharmony_ci 1939da0c48c4Sopenharmony_ci2005-02-05 Ulrich Drepper <drepper@redhat.com> 1940da0c48c4Sopenharmony_ci 1941da0c48c4Sopenharmony_ci * Makefile.am: Check for text relocations in constructed DSO. 1942da0c48c4Sopenharmony_ci 1943da0c48c4Sopenharmony_ci * Makefile.am [MUDFLAP] (AM_CFLAGS): Add -Werror -fpic -fmudflap. 1944da0c48c4Sopenharmony_ci 1945da0c48c4Sopenharmony_ci2005-02-04 Ulrich Drepper <drepper@redhat.com> 1946da0c48c4Sopenharmony_ci 1947da0c48c4Sopenharmony_ci * gelf_getehdr.c (gelf_getehdr): Slight optimization. 1948da0c48c4Sopenharmony_ci 1949da0c48c4Sopenharmony_ci * elf32_checksum.c (checksum): Do not look at NOBITS sections. 1950da0c48c4Sopenharmony_ci 1951da0c48c4Sopenharmony_ci * gelf.h: Add gelf_checksum prototype. 1952da0c48c4Sopenharmony_ci 1953da0c48c4Sopenharmony_ci2004-09-25 Ulrich Drepper <drepper@redhat.com> 1954da0c48c4Sopenharmony_ci 1955da0c48c4Sopenharmony_ci * elf32_checksum.c: Make compile with gcc 4.0. 1956da0c48c4Sopenharmony_ci * elf32_updatefile.c: Likewise. 1957da0c48c4Sopenharmony_ci * elf32_updatenull.c: Likewise. 1958da0c48c4Sopenharmony_ci * elf_begin.c: Likewise. 1959da0c48c4Sopenharmony_ci * elf_error.c: Likewise. 1960da0c48c4Sopenharmony_ci * elf_getdata.c: Likewise. 1961da0c48c4Sopenharmony_ci * elf_getident.c: Likewise. 1962da0c48c4Sopenharmony_ci 1963da0c48c4Sopenharmony_ci2004-04-01 Ulrich Drepper <drepper@redhat.com> 1964da0c48c4Sopenharmony_ci 1965da0c48c4Sopenharmony_ci * elf.h: Update from glibc. 1966da0c48c4Sopenharmony_ci 1967da0c48c4Sopenharmony_ci2004-01-23 Ulrich Drepper <drepper@redhat.com> 1968da0c48c4Sopenharmony_ci 1969da0c48c4Sopenharmony_ci * elf_update.c: Fix locking. 1970da0c48c4Sopenharmony_ci * elf_clone.c: Likewise. 1971da0c48c4Sopenharmony_ci 1972da0c48c4Sopenharmony_ci * libelf.h: Define ELF_T_LIB. 1973da0c48c4Sopenharmony_ci * gelf_getlib.c: New file. 1974da0c48c4Sopenharmony_ci * gelf_update_lib.c: New file. 1975da0c48c4Sopenharmony_ci * gelf.h: Declare the new functions. Define GElf_Lib. 1976da0c48c4Sopenharmony_ci * abstract.h: Define Lib, Lib32, Lib64. 1977da0c48c4Sopenharmony_ci * gelf_xlate.c (__elf_xfctstom): Add ELF_T_LIB entry. 1978da0c48c4Sopenharmony_ci * gelf_xlate.h: Add entry for ElfXX_Lib. 1979da0c48c4Sopenharmony_ci * elf_getdata.c: Recognize SHT_GNU_LIBLIST as a known section type. 1980da0c48c4Sopenharmony_ci * libelf.map: Add new symbols to ELFUTILS_1.1. 1981da0c48c4Sopenharmony_ci * Makefile.am (libelf_a_SOURCES): Add gelf_getlib.c and 1982da0c48c4Sopenharmony_ci gelf_update_lib.c. 1983da0c48c4Sopenharmony_ci 1984da0c48c4Sopenharmony_ci2004-01-17 Ulrich Drepper <drepper@redhat.com> 1985da0c48c4Sopenharmony_ci 1986da0c48c4Sopenharmony_ci * Makefile.am: Support building with mudflap. 1987da0c48c4Sopenharmony_ci 1988da0c48c4Sopenharmony_ci * gelf_xlate.c (INLINE3): Avoid using cast as lvalue. 1989da0c48c4Sopenharmony_ci * dl-hash.h (_dl_elf_hash): Likewise. 1990da0c48c4Sopenharmony_ci 1991da0c48c4Sopenharmony_ci2004-01-05 Ulrich Drepper <drepper@redhat.com> 1992da0c48c4Sopenharmony_ci 1993da0c48c4Sopenharmony_ci * elf-knowledge.h: New file. From libelf subdir. 1994da0c48c4Sopenharmony_ci * Makefile.am (euincludedir): Define. 1995da0c48c4Sopenharmony_ci (euinclude_HEADERS): Add elf-knowledge.h. 1996da0c48c4Sopenharmony_ci 1997da0c48c4Sopenharmony_ci2003-09-24 Ulrich Drepper <drepper@redhat.com> 1998da0c48c4Sopenharmony_ci 1999da0c48c4Sopenharmony_ci * elf.h: Define some PT_IA_64_HP_* constants. 2000da0c48c4Sopenharmony_ci 2001da0c48c4Sopenharmony_ci2003-09-23 Jakub Jelinek <jakub@redhat.com> 2002da0c48c4Sopenharmony_ci 2003da0c48c4Sopenharmony_ci * libelfP.h (struct Elf): Move state.elf64.sizestr_offset after 2004da0c48c4Sopenharmony_ci state.elf64.scnincr to match state.elf{,32}. 2005da0c48c4Sopenharmony_ci 2006da0c48c4Sopenharmony_ci2003-08-12 Ulrich Drepper <drepper@redhat.com> 2007da0c48c4Sopenharmony_ci 2008da0c48c4Sopenharmony_ci * elf32_updatefile.c (__updatemmap): When writing back file where 2009da0c48c4Sopenharmony_ci some sections have not been read in, count their sizes based on 2010da0c48c4Sopenharmony_ci the section header. 2011da0c48c4Sopenharmony_ci 2012da0c48c4Sopenharmony_ci2003-08-11 Ulrich Drepper <drepper@redhat.com> 2013da0c48c4Sopenharmony_ci 2014da0c48c4Sopenharmony_ci * Moved to CVS archive. 2015