Home | History | Annotate | Download | only in libelf
      1 2016-01-22  Chih-Hung Hsieh <chh (a] google.com>
      2 
      3 	* elf_compress.c (__libelf_compress): Move nested function
      4 	'do_deflate_cleanup' to file scope to compile with clang.
      5 	* elf_strptr.c (elf_strptr): Move nested function 'get_zdata'
      6 	to file scope to compile with clang.
      7 
      8 2016-01-13  Mark Wielaard  <mjw (a] redhat.com>
      9 
     10 	* libelf.h: Check SHF_COMPRESSED is defined. If not define it and the
     11 	associated ELF compression types/defines.
     12 
     13 2015-11-26  Mark Wielaard  <mjw (a] redhat.com>
     14 
     15 	* elf_compress.c (__libelf_decompress_elf): New function, extracted
     16 	from...
     17 	(elf_compress): here. Check zdata_base use __libelf_decompress_elf.
     18 	* elf_strptr.c (elf_strptr): If SHF_COMPRESSED check, uncompress and
     19 	use zdata.
     20 	* libelfP.h (struct Elf_Scn): Add zdata_size and zdata_align.
     21 	(__libelf_decompress_elf): New internal function definition.
     22 
     23 2015-10-21  Mark Wielaard  <mjw (a] redhat.com>
     24 
     25 	* Makefile.am (libelf_a_SOURCES): Add elf_compress.c and
     26 	elf_compress_gnu.c.
     27 	* elf_compress.c: New file.
     28 	* elf_compress_gnu.c: Likewise.
     29 	* elf_begin.c (file_read_elf): Make a writable copy of the shdrs
     30 	for ELF_C_READ_MMAP.
     31 	* elf_end.c (elf_end): Free zdata_base.
     32 	* elf_error.c: Add ELF_E_ALREADY_COMPRESSED,
     33 	ELF_E_UNKNOWN_COMPRESSION_TYPE, ELF_E_COMPRESS_ERROR and
     34 	ELF_E_DECOMPRESS_ERROR.
     35 	* elf_data.c (__libelf_data_type): New internal function extracted
     36 	from convert_data.
     37 	(convert_data): Handle SHF_COMPRESSED.
     38 	* elf32_updatenull.c (updatenull_wrlock): Check sh_entsize against
     39 	uncompressed section data size if SHF_COMPRESSED.
     40 	* elf32_getshdr.c (load_shdr_wrlock): Adjust assert to account for
     41 	ELF_C_READ_MMAP.
     42 	* libelf.h: Define elf_compress and elf_compress_gnu.
     43 	* libelf.map (ELFUTILS_1.7): Add elf_compress and elf_compress_gnu.
     44 	* libelfP.h: Add ELF_E_ALREADY_COMPRESSED,
     45 	ELF_E_UNKNOWN_COMPRESSION_TYPE, ELF_E_COMPRESS_ERROR and
     46 	ELF_E_DECOMPRESS_ERROR. Define __libelf_data_type.
     47 	(__libelf_compress): New internal function definition.
     48 	(__libelf_decompress): Likewise.
     49 	(__libelf_reset_rawdata): Likewise.
     50 	(__libelf_data_type): Likewise.
     51 	(struct Elf_Scn): Add zdata_base.
     52 
     53 2015-11-19  Mark Wielaard  <mjw (a] redhat.com>
     54 
     55 	* Makefile.am (libelf_a_SOURCES): Add elf32_getchdr.c,
     56 	elf64_getchdr.c and gelf_getchdr.c.
     57 	(noinst_HEADERS): Add chdr_xlate.h.
     58 	* abstract.h: Define Chdr32 and Chdr64.
     59 	* chdr_xlate.h: New file.
     60 	* elf32_getchdr.c: New file.
     61 	* elf64_getchdr.c: New file.
     62 	* elf_error.c: Add ELF_E_NOT_COMPRESSED, ELF_E_INVALID_SECTION_TYPE
     63 	and ELF_E_INVALID_SECTION_FLAGS.
     64 	* elf_getdata.c (__libelf_set_rawdata_wrlock): Set d_type to
     65 	ELF_T_CHDR for SHF_COMPRESSED sections.
     66 	* exttypes.h: Add Chdr32 and Chdr64.
     67 	* gelf.h (GElf_Chdr): New typedef.
     68 	(gelf_getchdr): New function definition.
     69 	* gelf_fsize.c (__libelf_type_sizes): Add ELF_T_CHDR.
     70 	* gelf_getchdr.c: New file.
     71 	* gelf_xlate.c (__elf_xfctstom): Add ELF_T_CHDR cvt_chdr.
     72 	* gelf_xlate.h: Add Chdr.
     73 	* libelf.h (Elf_Type): Add ELF_T_CHDR.
     74 	(elf32_getchdr): New function definition.
     75 	(elf64_getchdr): Likewise.
     76 	* libelf.map (ELFUTILS_1.7): New sections add elf32_getchdr,
     77 	elf64_getchdr and gelf_getchdr.
     78 	* libelfP.h: Add ELF_E_NOT_COMPRESSED, ELF_E_INVALID_SECTION_TYPE
     79 	and ELF_E_INVALID_SECTION_FLAGS.
     80 
     81 2015-10-16  Mark Wielaard  <mjw (a] redhat.com>
     82 
     83 	* Makefile.am (libelf_so_LDLIBS): Add -lz.
     84 
     85 2015-10-14  Mark Wielaard  <mjw (a] redhat.com>
     86 
     87 	* elf.h: Update from glibc. Add section compression constants and
     88 	structures.
     89 
     90 2015-10-20  Jose E. Marchesi  <jose.marchesi (a] oracle.com>
     91 
     92 	* elf_begin.c (get_shnum): Elf64_Shdr.sh_size is an Elf64_Xword.
     93 	Fix the size argument to pread_retry.
     94 
     95 2015-10-13  Chih-Hung Hsieh  <chh (a] google.com>
     96 
     97 	* elf32_updatefile.c (__elfw2(LIBELFBITS,updatemmap)): Move nested
     98 	function 'fill_mmap' to file scope.
     99 	* elf_begin.c (elf_begin): Move nested function 'lock_dup_elf'
    100 	to file scope.
    101 
    102 2015-10-09  Josh Stone  <jistone (a] redhat.com>
    103 
    104 	* libelf.h: Replace loff_t with int64_t throughout.
    105 
    106 2015-10-05  Mark Wielaard  <mjw (a] redhat.com>
    107 
    108 	* elf_update.c (write_file): Only use posix_fallocate when using
    109 	mmap. Only report failure when errno is ENOSPC.
    110 
    111 2015-10-09  Josh Stone  <jistone (a] redhat.com>
    112 
    113 	* libelfP.h (struct Elf): Replace off64_t with off_t.
    114 	* elf_getdata_rawchunk.c (elf_getdata_rawchunk): Likewise.
    115 
    116 2015-10-05  Chih-Hung Hsieh <chh (a] google.com>
    117 
    118 	* elf_getarsym.c (elf_getarsym): Do not use
    119 	union of variable length arrays.
    120 
    121 2015-10-05  Josh Stone  <jistone (a] redhat.com>
    122 
    123 	* Makefile.am (libelf.so): Add AM_V_CCLD and AM_V_at silencers.
    124 
    125 2015-09-24  Jose E. Marchesi  <jose.marchesi (a] oracle.com>
    126 
    127 	* Makefile.am (AM_CFLAGS): Use -fPIC instead of -fpic to avoid
    128 	relocation overflows in some platforms.
    129 
    130 2015-09-29  Mark Wielaard  <mjw (a] redhat.com>
    131 
    132 	* elf32_updatenull.c (default_ehdr): Set e_version when EV_NONE.
    133 	(updatenull_wrlock): Always set e_shentsize.
    134 
    135 2015-09-23  Mark Wielaard  <mjw (a] redhat.com>
    136 
    137 	* elf32_getehdr.c (getehdr_wrlock): Mark as internal_function.
    138 	* elf32_getshdr.c (getshdr_rdlock): Likewise.
    139 	(getshdr_wrlock): Likewise.
    140 	* elf_error.c (__libelf_seterrno): Likewise.
    141 	* elf_getphdrnum.c (__elf_getphdrnum_rdlock): Likewise.
    142 	(__elf_getphdrnum_chk_rdlock): Likewise.
    143 	* elf_getshdrnum.c (__elf_getphdrnum_rdlock): Likewise.
    144 	(__elf_getphdrnum_chk_rdlock): Likewise.
    145 	* elf_getshdrnum.c (__elf_getshdrnum_rdlock): Likewise.
    146 	* elf_readall.c (__libelf_readall): Likewise.
    147 	* gelf_getehdr.c (__gelf_getehdr_rdlock): Likewise.
    148 
    149 2015-09-22  Mark Wielaard  <mjw (a] redhat.com>
    150 
    151 	* *.c: Remove old-style function definitions.
    152 
    153 2015-06-22  Mark Wielaard  <mjw (a] redhat.com>
    154 
    155 	* dl-hash.h: Update from glibc.
    156 
    157 2015-06-18  Mark Wielaard  <mjw (a] redhat.com>
    158 
    159 	* elf32_updatefile.c (updatefile): Always free shdr_data and scns
    160 	when allocated on failure paths.
    161 
    162 2015-06-18  Mark Wielaard  <mjw (a] redhat.com>
    163 
    164 	* nlist.c (nlist): Check symscn shdr exists before use.
    165 
    166 2015-06-16  Mark Wielaard  <mjw (a] redhat.com>
    167 
    168 	* elf_update.c (write_file): Always also use ftruncate before
    169 	posix_fallocate to make sure file has the right size.
    170 
    171 2015-06-04  Mark Wielaard  <mjw (a] redhat.com>
    172 
    173 	* elf_getdata.c (__libelf_type_aligns): Add entries for ELF_T_EHDR,
    174 	ELF_T_OFF, ELF_T_PHDR, ELF_T_SHDR, ELF_T_SWORD, ELF_T_XWORD,
    175 	ELF_T_SXWORD, ELF_T_GNUHASH, ELF_T_AUXV.
    176 	* elf_getdata_rawchunk.c (elf_getdata_rawchunk): Check alignment
    177 	of rawdata against requested type.
    178 
    179 2015-06-02  Mark Wielaard  <mjw (a] redhat.com>
    180 
    181 	* elf_getdata.c (convert_data): Make sure source data is properly
    182 	aligned for type before calling actual conversion function.
    183 
    184 2015-06-04  Mark Wielaard  <mjw (a] redhat.com>
    185 
    186 	* elf_begin.c (get_shnum): Check alignment of Shdr, not Ehdr before
    187 	direct access.
    188 
    189 2015-06-02  Mark Wielaard  <mjw (a] redhat.com>
    190 
    191 	* elf_begin.c (file_read_elf): Split checks for ehdr and shdr
    192 	alignment, drop phdr alignment check.
    193 
    194 2015-05-31  Mark Wielaard  <mjw (a] redhat.com>
    195 
    196 	* elf32_getshdr.c (load_shdr_wrlock): Allocate shdrs with malloc,
    197 	not alloca and free after conversion when a copy needs to be made.
    198 
    199 2015-05-31  Mark Wielaard  <mjw (a] redhat.com>
    200 
    201 	* elf32_getphdr.c (getphdr_wrlock): Allocate phdrs with malloc, not
    202 	alloca and free after conversion when a copy needs to be made.
    203 
    204 2015-05-31  Mark Wielaard  <mjw (a] redhat.com>
    205 
    206 	* elf_getarsym.c (elf_getarsym): Allocate temporary file_date with
    207 	malloc, not alloca also in !ALLOW_UNALIGNED case.
    208 
    209 2015-05-30  Mark Wielaard  <mjw (a] redhat.com>
    210 
    211 	* gelf_xlate.c (elf_cvt_Byte): Only call memmove with non-zero size.
    212 
    213 2015-05-30  Mark Wielaard  <mjw (a] redhat.com>
    214 
    215 	* elf32_updatefile.c (updatemmap): Only call mempcpy and update
    216 	last_position when d_size is non-zero.
    217 
    218 2015-05-17  Mark Wielaard  <mjw (a] redhat.com>
    219 
    220 	* elf32_updatefile.c (updatefile): Allocate shdr_data and scns
    221 	with malloc, not alloca. Free after writing section headers.
    222 
    223 2015-05-16  Mark Wielaard  <mjw (a] redhat.com>
    224 
    225 	* elf32_updatefile.c (updatemmap): Allocate temporary shdr storage
    226 	with malloc, not alloca. Free after writing section header.
    227 
    228 2015-05-16  Mark Wielaard  <mjw (a] redhat.com>
    229 
    230 	* elf_getarsym.c (elf_getarsym): Allocate temporary file_date with
    231 	malloc, not alloca. Call free after out.
    232 
    233 2015-05-14  Mark Wielaard  <mjw (a] redhat.com>
    234 
    235 	* elf_update.c (write_file): Use posix_fallocate instead of
    236 	ftruncate to extend file if necessary.
    237 
    238 2015-05-13  Mark Wielaard  <mjw (a] redhat.com>
    239 
    240 	* elf32_updatenull.c (default_ehdr): If e_phnum is zero then set
    241 	e_phoff also to zero.
    242 
    243 2015-05-12  Mark Wielaard  <mjw (a] redhat.com>
    244 
    245 	* elf32_updatenull.c (updatenull_wrlock): Check that sh_addralign
    246 	is a powerof2.
    247 	* elf_getdata.c (__libelf_set_rawdata_wrlock): Clamp large d_aligns
    248 	to the elf image offset.
    249 
    250 2015-05-12  Mark Wielaard  <mjw (a] redhat.com>
    251 
    252 	* elf32_newphdr.c (newphdr): Call __libelf_seterrno with
    253 	ELF_E_INVALID_INDEX before failing. Check whether section zero shdr
    254 	actually exists if we need to put extended phnum in section zero.
    255 
    256 2015-05-08  Mark Wielaard  <mjw (a] redhat.com>
    257 
    258 	* nlist.c (nlist): Call gelf_fsize with EV_CURRENT.
    259 
    260 2015-01-03  Mark Wielaard  <mjw (a] redhat.com>
    261 
    262 	* version_xlate.h (elf_cvt_Verdef): Use memmove to copy src to dest.
    263 	(elf_cvt_Verneed): Likewise.
    264 
    265 2015-03-28  Mark Wielaard  <mjw (a] redhat.com>
    266 
    267 	* elf.h: Update from glibc.
    268 
    269 2015-03-23  Mark Wielaard  <mjw (a] redhat.com>
    270 
    271 	* elf32_updatenull.c (updatenull_wrlock): Don't extend size with
    272 	SHT_NOBITS sh_offset.
    273 
    274 2015-02-18  Mark Wielaard  <mjw (a] redhat.com>
    275 
    276 	* libelfP.h (__libelf_set_data_list_rdlock): Make internal_function.
    277 
    278 2015-02-07  Jan Kratochvil  <jan.kratochvil (a] redhat.com>
    279 
    280 	* elf32_updatenull.c (__elfw2(LIBELFBITS,updatenull_wrlock)): Consider
    281 	sh_addralign 0 as 1.
    282 
    283 2015-01-22  Mark Wielaard  <mjw (a] redhat.com>
    284 
    285 	* elf_strptr (elf_strptr): Make sure returned string is NUL
    286 	terminated.
    287 
    288 2015-01-21  Mark Wielaard  <mjw (a] redhat.com>
    289 
    290 	* elf_strptr.c (elf_strptr): Check data_list_rear == NULL instead
    291 	of rawdata_base != NULL before using rawdata directly.
    292 
    293 2015-01-20  Mark Wielaard  <mjw (a] redhat.com>
    294 
    295 	* libelfP.h (__elf_strptr_internal): New function declaration.
    296 	* elf_getdata.c (__libelf_set_data_list_rdlock): New internal
    297 	function extracted from...
    298 	(__elf_getdata_rdlock): ... here.
    299 	* elf_newdata.c (elf_newdata): Check scn->rawdata_base and update
    300 	datalist if necessary.
    301 
    302 2015-01-20  Mark Wielaard  <mjw (a] redhat.com>
    303 
    304 	* elf_strptr.c (elf_strptr): Call __elf[32|64]_getshdr_rdlock if
    305 	necessary.
    306 
    307 2014-12-30  Mark Wielaard  <mjw (a] redhat.com>
    308 
    309 	* elf_getphdrnum.c (__elf_getphdrnum_chk_rdlock): New function.
    310 	(elf_getphdrnum): Call __elf_getphdrnum_chk_rdlock.
    311 	* gelf_getphdr (gelf_getphdr): Call __elf_getphdrnum_chk_rdlock
    312 	and always check ndx against phnum.
    313 	* libelfP.h (__elf_getphdrnum_chk_rdlock): New internal function.
    314 
    315 2014-12-25  Mark Wielaard  <mjw (a] redhat.com>
    316 
    317 	* elf_begin.c (__libelf_next_arhdr_wrlock): ar_size cannot be
    318 	negative. Include start_offset in maxsize.
    319 
    320 2014-12-28  Alexander Cherepanov  <cherepan (a] mccme.ru>
    321 
    322 	* elf_begin.c (read_long_names): Don't miss '/' right after
    323 	another '/'. Fixes a dir traversal vuln in ar extraction.
    324 
    325 2014-12-18  Ulrich Drepper  <drepper (a] gmail.com>
    326 
    327 	* Makefile.am: Suppress output of textrel_check command.
    328 
    329 2014-12-16  Mark Wielaard  <mjw (a] redhat.com>
    330 
    331 	* elf_begin.c (read_long_names): Make sure long_names len fits
    332 	in mapped ELF file.
    333 
    334 2014-12-15  Mark Wielaard  <mjw (a] redhat.com>
    335 
    336 	* elf_getarsym.c (elf_getarsym): Check index_size doesn't overflow.
    337 
    338 2014-12-15  Mark Wielaard  <mjw (a] redhat.com>
    339 
    340 	* elf_begin.c (read_long_names): Clear any garbage left in the
    341 	name table.
    342 
    343 2014-12-11  Mark Wielaard  <mjw (a] redhat.com>
    344 
    345 	* elf_begin.c (file_read_elf): Correct ELF64 section offset check.
    346 
    347 2014-12-11  Mark Wielaard  <mjw (a] redhat.com>
    348 
    349 	* elf_begin.c (read_long_names): Check for offset overflow.
    350 	(__libelf_next_arhdr_wrlock): Likewise. Sanity check the ar_size.
    351 	Don't allow it to go beyond end of file.
    352 
    353 2014-12-09  Mark Wielaard  <mjw (a] redhat.com>
    354 
    355 	* elf_getarsym.c (elf_getarsym): Make sure n * w doesn't overflow.
    356 
    357 2014-11-27  Mark Wielaard  <mjw (a] redhat.com>
    358 
    359 	* Makefile.am (libelf.so): Use textrel_check.
    360 
    361 2014-11-23  Mark Wielaard  <mjw (a] redhat.com>
    362 
    363 	* elf_getdata_rawchunk.c (elf_getdata_rawchunk): Change signed
    364 	overflow check to unsigned.
    365 
    366 2014-11-23  Mark Wielaard  <mjw (a] redhat.com>
    367 
    368 	* note_xlate.h (elf_cvt_note): Copy over any leftover data if
    369 	src != dest. The data is probably part of truncated name/desc.
    370 
    371 2014-11-22  Mark Wielaard  <mjw (a] redhat.com>
    372 
    373 	* elf_getphdrnum.c (elf_getphdrnum): Sanity check the
    374 	__elf_getphdrnum_rdlock result.
    375 
    376 2014-11-18  Mark Wielaard  <mjw (a] redhat.com>
    377 
    378 	* version_xlate.h (elf_cvt_Verdef): Check for overflow.
    379 	(elf_cvt_Verneed): Likewise.
    380 
    381 2014-11-17  Mark Wielaard  <mjw (a] redhat.com>
    382 
    383 	* elf-knowledge.h (SECTION_STRIP_P): Check name is not NULL.
    384 
    385 2014-11-16  Mark Wielaard  <mjw (a] redhat.com>
    386 
    387 	* elf_getshdrstrndx.c: Check there are section headers before
    388 	handling SHN_XINDEX.
    389 
    390 2014-11-16  Mark Wielaard  <mjw (a] redhat.com>
    391 
    392 	* elf32_getphdr.c (getphdr_wrlock): Check e_phoff isn't zero.
    393 	Check for too many pheaders.
    394 	* elf_getphdrnum.c (__elf_getphdrnum_rdlock): Check section zero
    395 	actually exists before handling PN_XNUM.
    396 
    397 2014-11-16  Mark Wielaard  <mjw (a] redhat.com>
    398 
    399 	* gelf_getnote.c (gelf_getnote): Check padding overflow.
    400 
    401 2014-11-16  Mark Wielaard  <mjw (a] redhat.com>
    402 
    403 	* elf_getdata.c (__libelf_set_rawdata_wrlock): Declare offset, size
    404 	and align as Elf64_Off and Elf64_Xword not size_t.
    405 
    406 2014-11-14  Mark Wielaard  <mjw (a] redhat.com>
    407 
    408 	* gelf_getnote.c (gelf_getnote): Check offset overflow.
    409 
    410 2014-11-13  Mark Wielaard  <mjw (a] redhat.com>
    411 
    412 	* elf_getdata.c (__libelf_set_rawdata_wrlock): Fix unsigned overflow
    413 	check.
    414 
    415 2014-11-08  Mark Wielaard  <mjw (a] redhat.com>
    416 
    417 	* elf_begin.c (__libelf_next_arhdr_wrlock): Use mempcpy not __mempcpy.
    418 
    419 2014-11-07  Mark Wielaard  <mjw (a] redhat.com>
    420 
    421 	* elf_begin.c (file_read_elf): Correct sh_size check.
    422 	* elf_getdata.c (__libelf_set_rawdata_wrlock): Check for unsigned
    423 	overflow.
    424 
    425 2014-09-10  Petr Machata  <pmachata (a] redhat.com>
    426 
    427 	* elf_begin (read_unmmaped_file): Call __libelf_seterrno if the
    428 	file is unreadable.
    429 
    430 2014-07-07  Mark Wielaard  <mjw (a] redhat.com>
    431 
    432 	* elf.h: Update from glibc.
    433 
    434 2014-04-13  Mark Wielaard  <mjw (a] redhat.com>
    435 
    436 	* Makefile.am: Remove !MUDFLAP conditions.
    437 	* elf_begin.c (read_file): Don't clear use_mmap when _MUDFLAP is
    438 	defined.
    439 	* elf_update.c (write_file): Remove _MUDFLAP condition.
    440 
    441 2014-01-17  Jakub Jelinek  <jakub (a] redhat.com>
    442 	    Roland McGrath  <roland (a] redhat.com>
    443 
    444 	* libelfP.h (INVALID_NDX): Define.
    445 	* gelf_getdyn.c (gelf_getdyn): Use it.  Remove ndx < 0 test if any.
    446 	* gelf_getlib.c (gelf_getlib): Likewise.
    447 	* gelf_getmove.c (gelf_getmove): Likewise.
    448 	* gelf_getrel.c (gelf_getrel): Likewise.
    449 	* gelf_getrela.c (gelf_getrela): Likewise.
    450 	* gelf_getsym.c (gelf_getsym): Likewise.
    451 	* gelf_getsyminfo.c (gelf_getsyminfo): Likewise.
    452 	* gelf_getsymshndx.c (gelf_getsymshndx): Likewise.
    453 	* gelf_getversym.c (gelf_getversym): Likewise.
    454 	* gelf_update_dyn.c (gelf_update_dyn): Likewise.
    455 	* gelf_update_lib.c (gelf_update_lib): Likewise.
    456 	* gelf_update_move.c (gelf_update_move): Likewise.
    457 	* gelf_update_rel.c (gelf_update_rel): Likewise.
    458 	* gelf_update_rela.c (gelf_update_rela): Likewise.
    459 	* gelf_update_sym.c (gelf_update_sym): Likewise.
    460 	* gelf_update_syminfo.c (gelf_update_syminfo): Likewise.
    461 	* gelf_update_symshndx.c (gelf_update_symshndx): Likewise.
    462 	* gelf_update_versym.c (gelf_update_versym): Likewise.
    463 
    464 2014-01-17  Jakub Jelinek  <jakub (a] redhat.com>
    465 
    466 	* elf32_getphdr.c (elfw2(LIBELFBITS,getphdr)): Check if program header
    467 	table fits into object's bounds.
    468 	* elf_getshdrstrndx.c (elf_getshstrndx): Add elf->start_offset to
    469 	elf->map_address.  Check if first section header fits into object's
    470 	bounds.
    471 	* elf32_getshdr.c (elfw2(LIBELFBITS,getshdr)):
    472 	Check if section header table fits into object's bounds.
    473 	* elf_begin.c (get_shnum): Ensure section headers fits into
    474 	object's bounds.
    475 	(file_read_elf): Make sure scncnt is small enough to allocate both
    476 	ElfXX_Shdr and Elf_Scn array.  Make sure section and program header
    477 	tables fit into object's bounds.  Avoid memory leak on failure.
    478 	* elf_newscn.c (elf_newscn): Check for overflow.
    479 	* elf32_updatefile.c (__elfw2(LIBELFBITS,updatemmap)): Likewise.
    480 	(__elfw2(LIBELFBITS,updatefile)): Likewise.
    481 	* elf32_newphdr.c (elfw2(LIBELFBITS,newphdr)): Likewise.
    482 	* elf_getarsym.c (elf_getarsym): Likewise.
    483 
    484 2013-11-08  Mark Wielaard  <mjw (a] redhat.com>
    485 
    486 	* elf32_updatefile.c (elfXX_updatemmap): Only memcpy ehdr when not
    487 	already directly mmapped.
    488 
    489 2013-11-05  Mark Wielaard  <mjw (a] redhat.com>
    490 
    491 	* elf32_updatefile.c (elfXX_updatefile): Copy all section headers
    492 	if elf->flags dirty.
    493 
    494 2013-11-01  Michael Forney  <mforney (a] mforney.org>
    495 
    496 	* Makefile.am: Use READELF.
    497 
    498 2013-10-01  Petr Machata  <pmachata (a] redhat.com>
    499 
    500 	* elf.h: Update from glibc.
    501 
    502 2013-06-17  Petr Machata  <pmachata (a] redhat.com>
    503 
    504 	* elf.h: Update from glibc.
    505 
    506 2013-08-28  Namhyung Kim  <namhyung (a] gmail.com>
    507 
    508 	* gelf.h (gelf_fsize): Fix typo in comment.
    509 
    510 2013-08-28  Mark Wielaard  <mjw (a] redhat.com>
    511 
    512 	* gelf_getauxv.c (gelf_getauxv): Add missing whitespace.
    513 
    514 2013-08-27  Mark Wielaard  <mjw (a] redhat.com>
    515 
    516 	* gelf_getauxv.c (gelf_getauxv): Remove unnecessary casts to char *.
    517 
    518 2013-08-25  Kurt Roeckx  <kurt (a] roeckx.be>
    519 
    520 	* gelf_getauxv.c (gelf_getauxv): Use memcpy instead of pointer
    521 	dereference to avoid alignment problems.
    522 
    523 2013-01-07  Roland McGrath  <roland (a] hack.frob.com>
    524 
    525 	* elf_getarsym.c (elf_getarsym): Copy FILE_DATA into stack space if it
    526 	would be unaligned and !ALLOW_UNALIGNED.
    527 
    528 	* elf_getarsym.c (read_number_entries): Use memcpy instead of pointer
    529 	dereference so as not to assume the field is naturally aligned.
    530 
    531 2012-09-17  Petr Machata  <pmachata (a] redhat.com>
    532 
    533 	* elf.h: Update from glibc.
    534 
    535 2012-08-16  Roland McGrath  <roland (a] hack.frob.com>
    536 
    537 	* elf.h: Update from glibc.
    538 
    539 2012-08-14  Mark Wielaard  <mjw (a] redhat.com>
    540 
    541 	* elf32_checksum.c (ebl_debugscn_p): Removed unused define and
    542 	confusing outdated comment.
    543 
    544 2012-08-01  Petr Machata  <pmachata (a] redhat.com>
    545 
    546 	* elf_getarsym (read_number_entries): New function.
    547 	(elf_getarsym): Handle 64-bit symbol table, stored in special
    548 	entry named "/SYM64/".
    549 	* elf_begin.c (__libelf_next_arhdr_wrlock): Don't reject archive
    550 	because it contains 64-bit symbol table.
    551 
    552 2012-07-19  Mark Wielaard  <mjw (a] redhat.com>
    553 
    554 	* elf32_getshdr.c (load_shdr_wrlock): Add elf->flags & ELF_F_MALLOCED
    555 	to asserts.
    556 
    557 2012-07-17  Petr Machata  <pmachata (a] redhat.com>
    558 
    559 	* elf32_xlatetom.c (elfw2(LIBELFBITS, xlatetom)): Do not check for
    560 	integer number of records in case of ELF_T_NHDR.
    561 
    562 2012-04-02  Mark Wielaard  <mjw (a] redhat.com>
    563 
    564 	* elf32_offscn.c: Do not match SHT_NOBITS sections at OFFSET unless
    565 	there are no nonempty sections at that offset.
    566 
    567 2012-03-21  Roland McGrath  <roland (a] hack.frob.com>
    568 
    569 	* elf-knowledge.h (SECTION_STRIP_P): Remove < SHT_NUM check.
    570 
    571 2011-02-26  Mark Wielaard  <mjw (a] redhat.com>
    572 
    573 	* elf_end.c (elf_end): Call rwlock_unlock before rwlock_fini.
    574 
    575 2011-01-05  Jan Kratochvil  <jan.kratochvil (a] redhat.com>
    576 
    577 	* elf_getdata_rawchunk.c (elf_getdata_rawchunk): Fix off64_t overflow
    578 	when MAXIMUM_SIZE == ~0.
    579 
    580 2010-08-18  Roland McGrath  <roland (a] redhat.com>
    581 
    582 	* gelf_fsize.c (__libelf_type_sizes): Add entries for ELF_T_LIB
    583 	and ELF_T_GNUHASH.
    584 	Reported by Mark Hatle <mark.hatle (a] windriver.com>.
    585 
    586 	* exttypes.h: Add cases for ElfNN_Lib.
    587 	Reported by Mark Hatle <mark.hatle (a] windriver.com>.
    588 
    589 2010-06-14  Ulrich Drepper  <drepper (a] redhat.com>
    590 
    591 	* gelf_update_shdr.c: Implicitly set ELF_F_DIRTY bit.
    592 	* gelf_update_phdr.c: Likewise.
    593 	* gelf_update_ehdr.c: Likewise.
    594 
    595 2010-04-14  Roland McGrath  <roland (a] redhat.com>
    596 
    597 	* elf32_getphdr.c: Check for e_phoff/size outside the file bounds.
    598 	* elf_begin.c (file_read_elf): Don't set .phdr here.
    599 
    600 2010-04-13  Roland McGrath  <roland (a] redhat.com>
    601 
    602 	* elf.h: Update from glibc.
    603 
    604 2010-04-06  Roland McGrath  <roland (a] redhat.com>
    605 
    606 	* elf_error.c (ELF_E_FD_MISMATCH_IDX): Avoid nonobvious abbreviation
    607 	in error message.
    608 
    609 2010-04-01  Petr Machata  <pmachata (a] redhat.com>
    610 
    611 	* elf_getdata.c (__elf_getdata_rdlock): Initialize data.s for data
    612 	that do not need a conversion.
    613 
    614 2010-03-11  Roland McGrath  <roland (a] redhat.com>
    615 
    616 	* elf.h: Update from glibc.
    617 
    618 2010-03-04  Ulrich Drepper  <drepper (a] redhat.com>
    619 
    620 	* elf.h: Update from glibc.
    621 
    622 2010-02-17  Roland McGrath  <roland (a] redhat.com>
    623 
    624 	* elf_begin.c (file_read_elf): Leave section rawdata_base and
    625 	data_base pointers null when [sh_offset,sh_size) points outside
    626 	the mapped file.
    627 
    628 2010-02-15  Roland McGrath  <roland (a] redhat.com>
    629 
    630 	* Makefile.am: Use config/eu.am for common stuff.
    631 
    632 2010-01-07  Roland McGrath  <roland (a] redhat.com>
    633 
    634 	* elf32_getphdr.c: Use __elf_getphdrnum_rdlock.
    635 	* gelf_getphdr.c: Likewise.
    636 	* gelf_update_phdr.c: Likewise.
    637 	* elf32_updatefile.c (__elf32_updatemmap, __elf32_updatefile): Likewise.
    638 	* elf32_updatenull.c (__elf32_updatenull_wrlock): Likewise.
    639 	* elf32_newphdr.c: Clear section 0's sh_info when resetting e_phnum.
    640 	If COUNT is too large, use store PN_XNUM instead and set sh_info.
    641 	* elf_begin.c (file_read_elf): Always allocate space we can use later
    642 	for section 0 if doing RDWR.
    643 
    644 	* elf_getphdrnum.c: New file.
    645 	* Makefile.am (libelf_a_SOURCES): Add it.
    646 	* libelf.h: Declare elf_getphdrnum.
    647 	* libelfP.h: Declare __elf_getphdrnum_rdlock.
    648 	* libelf.map (ELFUTILS_1.6): New set, add elf_getphdrnum.
    649 
    650 	* elf.h: Update from glibc.
    651 
    652 2009-10-23  Lubomir Rintel  <lkundrak (a] v3.sk>
    653 
    654 	* elf32_updatefile.c (fill_mmap): When starting past shdr_end, start
    655 	filling from section start, not shdr_end.
    656 
    657 2009-11-10  Roland McGrath  <roland (a] redhat.com>
    658 
    659 	* elf_readall.c (__libelf_readall): Fetch file size if not yet known.
    660 
    661 2009-11-06  Mark Wielaard  <mjw (a] redhat.com>
    662 
    663 	* elf_next.c (elf_next): Mark the archive header as unusable when
    664 	there is no next ar element.
    665 
    666 2009-08-12  Mark Wielaard  <mjw (a] redhat.com>
    667 
    668 	* Makefile.am (libelf.so): Use -Wl,-z,defs not -defs.
    669 
    670 2009-07-26  Ulrich Drepper  <drepper (a] redhat.com>
    671 
    672 	* elf.h: Update from glibc.
    673 
    674 2009-07-21  Ulrich Drepper  <drepper (a] redhat.com>
    675 
    676 	* elf32_updatefile.c (__elfXX_updatemmap): Fix handling of gaps between
    677 	sections.  Patch by Lubomir Rintel <lkundrak (a] v3.sk>.
    678 
    679 2009-07-08  Roland McGrath  <roland (a] redhat.com>
    680 
    681 	* libelfP.h (struct Elf): Remove unused ar.has_index field.
    682 	Reorder various members for optimal packing.
    683 
    684 2009-07-08  Ulrich Drepper  <drepper (a] redhat.com>
    685 
    686 	* elf.h: Update from glibc.
    687 
    688 2009-06-13  Ulrich Drepper  <drepper (a] redhat.com>
    689 
    690 	* Makefile.am (libelf_a_SOURCES): Replace elf_getshnum.c and
    691 	elf_getshstrndx.c with elf_getshdrnum.c and elf_getshdrstrndx.c.
    692 	* elf_getshnum.c: Renamed to...
    693 	* elf_getshdrnum.c: ...this.  Rename function and add old name as
    694 	alias.  Likewise for internal functions with derived names.
    695 	* elf_getshstrndx.c: Renamed to...
    696 	* elf_getshdrstrndx.c: ...this.  Rename function and add old name as
    697 	alias.  Likewise for internal functions with derived names.
    698 	* libelf.h: Add prototypes for new names.  Make old names as
    699 	deprecated.
    700 	* libelfP.h: Rename internal function prototypes.
    701 	* libelf.map: Export for names.
    702 	* elf32_checksum.c: Don't use deprecated functions.
    703 	* elf32_getshdr.c: Likewise.
    704 
    705 2009-06-01  Ulrich Drepper  <drepper (a] redhat.com>
    706 
    707 	* elf.h: Update from glibc.
    708 
    709 2009-04-14  Roland McGrath  <roland (a] redhat.com>
    710 
    711 	* elf.h: Update from glibc.
    712 
    713 2009-04-01  Roland McGrath  <roland (a] redhat.com>
    714 
    715 	* elf.h: Update from glibc.
    716 
    717 2009-02-10  Ulrich Drepper  <drepper (a] redhat.com>
    718 
    719 	* elf32_updatefile.c (updatefile): For the zeroth section we still
    720 	have to copy the section header.
    721 
    722 2009-02-01  Ulrich Drepper  <drepper (a] redhat.com>
    723 
    724 	* elf_strptr.c: Add comment re possible problem.
    725 
    726 2009-01-26  Ulrich Drepper  <drepper (a] redhat.com>
    727 
    728 	* elf32_updatenull.c (updatenull_wrlock): Fix comment of
    729 	ELF_F_LAYOUT behaviour re section header table.
    730 
    731 2009-01-22  Ulrich Drepper  <drepper (a] redhat.com>
    732 
    733 	* elf32_updatefile.c (__elfXX_updatemmap): Fill the gap between
    734 	sections even if only the section at the start of the gap has been
    735 	changed.
    736 	(__elfXX_updatefile): Likewise.
    737 
    738 2009-01-21  Ulrich Drepper  <drepper (a] redhat.com>
    739 
    740 	* elf32_updatefile.c (__elfXX_updatemmap): Skip most of the loop to
    741 	handle sections for NOBITS sections.
    742 	(elfXX_updatefile): Likewise.
    743 
    744 	* elf32_updatefile.c (__elfXX_updatemmap): When skipping non-NOBITS
    745 	sections we haven't loaded, update last_position based on scn_start,
    746 	not based on old value.  Don't run the loop for the dummy section 0.
    747 	(elfXX_updatefile): Don't run the loop for the dummy section 0.
    748 
    749 2009-01-10  Ulrich Drepper  <drepper (a] redhat.com>
    750 
    751 	* libelfP.h (_): We only have one translation domain, elfutils.
    752 
    753 	* Makefile.am: Use USE_LOCKS instead of USE_TLS.
    754 	* elf_error.c: Always use __thread.  Remove all !USE_TLS code.
    755 
    756 2009-01-04  Roland McGrath  <roland (a] redhat.com>
    757 
    758 	* note_xlate.h (elf_cvt_note): Don't examine a size too small to
    759 	container a note header.
    760 
    761 2008-12-11  Roland McGrath  <roland (a] redhat.com>
    762 
    763 	* elf32_updatefile.c (__elfw2(LIBELFBITS,updatemmap)): Handle
    764 	placement offset going backwards, for out-of-order or overlapping
    765 	(bogus) sh_offset layouts.  It's a dumb use, but should not crash.
    766 	(__elfw2(LIBELFBITS,updatefile)): Likewise.
    767 	Fixes RHBZ#476136.
    768 
    769 	* libelf.h (Elf_Data): Whitespace fix.
    770 
    771 2008-12-10  Roland McGrath  <roland (a] redhat.com>
    772 
    773 	* elf_getarhdr.c (elf_getarhdr): Fix missing rename in last change.
    774 
    775 2008-10-22  Petr Machata  <pmachata (a] redhat.com>
    776 
    777 	* elf_rawfile.c (elf_rawfile): Lock around elf-> references.
    778 
    779 2008-10-21  Petr Machata  <pmachata (a] redhat.com>
    780 
    781 	* libelfP.h: Rename getehdr_rdlock to getehdr_wrlock.
    782 	* elf32_getehdr.c (getehdr_rdlock): Move the code to new function
    783 	getehdr_impl and make it a wrapper.  Rename to getehdr_wrlock.
    784 	(getehdr_impl): Guard elf->class init with wrlock.
    785 	(getehdr): Also make it a wrapper of getehdr_impl.
    786 	* elf32_updatenull.c (updatenull_wrlock): Call getehdr_wrlock.
    787 
    788 2008-10-20  Petr Machata  <pmachata (a] redhat.com>
    789 
    790 	* elf_getdata_rawchunk.c (elf_getdata_rawchunk): Lock around the
    791 	code that reads mutable elf state.  Relock to write lock to chain
    792 	the new chunk on the elf rawchunks list.
    793 
    794 2008-10-20  Petr Machata  <pmachata (a] redhat.com>
    795 
    796 	* elf32_checksum.c (checksum): Place a lock around the code that
    797 	processes data.  Make it wrlock if the code needs to xlate the
    798 	data before processing.
    799 
    800 2008-10-16  Petr Machata  <pmachata (a] redhat.com>
    801 
    802 	* elf_begin.c
    803 	(__libelf_next_arhdr): Rename to __libelf_next_arhdr_wrlock.
    804 	(dup_elf): Adjust the call.
    805 	(elf_begin): New local function lock_dup_elf.  Relocks the elf if
    806 	necessary before calling dup.  Call this instead of dup_elf.
    807 	* elf_getarhdr.c
    808 	(elf_getarhdr): Lock before calling __libelf_next_arhdr_wrlock.
    809 	* elf_next.c (elf_next): Likewise.
    810 	* elf_rand.c (elf_rand): Likewise.
    811 
    812 2008-10-14  Petr Machata  <pmachata (a] redhat.com>
    813 
    814 	* elf_getdata.c (__elf_getdata_rdlock): Lock before converting.
    815 
    816 2008-11-26  Roland McGrath  <roland (a] redhat.com>
    817 
    818 	* elf.h: Update from glibc.
    819 
    820 2008-10-06  Roland McGrath  <roland (a] redhat.com>
    821 
    822 	* elf_getarhdr.c (elf_getarhdr): Return NULL when passed NULL.
    823 
    824 2008-08-27  Roland McGrath  <roland (a] redhat.com>
    825 
    826 	* elf_begin.c (get_shnum): Avoid misaligned reads for matching endian.
    827 
    828 	* libelfP.h [!ALLOW_UNALIGNED] (__libelf_type_align): Fix CLASS index.
    829 
    830 2008-08-25  Roland McGrath  <roland (a] redhat.com>
    831 
    832 	* Makefile.am (libelf_so_LDLIBS): New variable.
    833 	(libelf.so): Use it in the link.
    834 
    835 2008-08-21  Petr Machata  <pmachata (a] redhat.com>
    836 
    837 	* elf_getdata.c, libelfP.h
    838 	(__elf_getdata_internal): Rename to __elf_getdata_rdlock.
    839 	(__libelf_set_rawdata_wrlock): New function.
    840 	(__libelf_set_rawdata): Make it a wrapper that calls *_wrlock.
    841 	* elf32_updatenull.c, libelfP.h
    842 	(__elfNN_updatenull): Rename to __elfNN_updatenull_wrlock.
    843 
    844 2008-08-21  Petr Machata  <pmachata (a] redhat.com>
    845 
    846 	* elf32_getphdr.c, libelfP.h
    847 	(__elfNN_getphdr_internal): Drop.  Move __elfNN_getphdr_internal
    848 	code to __elfNN_getphdr_wrlock.
    849 	(__elfNN_getphdr_rdlock, __elfNN_getphdr_wrlock): New functions.
    850 	(__elfNN_getphdr_rdlock, __elfNN_getphdr_wrlock): Make these
    851 	wrappers of getphdr_impl.
    852 
    853 2008-08-21  Petr Machata  <pmachata (a] redhat.com>
    854 
    855 	* elf32_getehdr.c, libelfP.h
    856 	(__elfNN_getehdr_internal): Rename to __elfNN_getehdr_rdlock.
    857 	* gelf_getehdr, libelfP.h:
    858 	(__gelf_getehdr_internal): Rename to __gelf_getehdr_rdlock.
    859 
    860 2008-08-21  Petr Machata  <pmachata (a] redhat.com>
    861 
    862 	* elf32_getshdr.c
    863 	(__elfNN_getshdr_internal): Drop.
    864 	(load_shdr_wrlock, scn_valid): New functions, contain bits of
    865 	behaviour from __elfNN_getshdr_internal.
    866 	(__elfNN_getshdr_rdlock, __elfNN_getshdr_wrlock): Replacements for
    867 	dropped _internal functions above.
    868 	* elf_getshnum.c
    869 	(__elf_getshnum_internal): Rename to __elf_getshnum_rdlock.
    870 
    871 2008-08-04  Petr Machata  <pmachata (a] redhat.com>
    872 
    873 	* libelfP.h (RWLOCK_RDLOCK, RWLOCK_WRLOCK, RWLOCK_UNLOCK): New macros.
    874 
    875 2008-07-28  Roland McGrath  <roland (a] redhat.com>
    876 
    877 	* elf.h: Update from glibc.
    878 
    879 2008-03-31  Roland McGrath  <roland (a] redhat.com>
    880 
    881 	* elf32_offscn.c: Make sure shdrs have been read in.
    882 
    883 2008-02-19  Roland McGrath  <roland (a] redhat.com>
    884 
    885 	* elf.h: Update from glibc.
    886 
    887 2008-02-08  Roland McGrath  <roland (a] redhat.com>
    888 
    889 	* elf.h: Update from glibc.
    890 
    891 2008-01-31  Ulrich Drepper  <drepper (a] redhat.com>
    892 
    893 	* elf_strptr.c (elf_strptr): Don't fail if the ELF file is currently
    894 	under construction and no raw data can be read from disk.
    895 
    896 2008-01-30  Roland McGrath  <roland (a] redhat.com>
    897 
    898 	* elf.h: Update from glibc.
    899 
    900 2008-01-26  Roland McGrath  <roland (a] redhat.com>
    901 
    902 	* elf_begin.c (__libelf_next_arhdr): Rewrite conversions using a macro.
    903 	Fixes various pastos in wrong type in sizeof, wrong string parsed.
    904 
    905 2008-01-20  Roland McGrath  <roland (a] redhat.com>
    906 
    907 	* elf_getaroff.c: Calculate from start_offset, instead of using
    908 	parent's state.ar.offset field.
    909 
    910 2008-01-08  Roland McGrath  <roland (a] redhat.com>
    911 
    912 	* Makefile.am (euinclude): Variable removed.
    913 	(pkginclude_HEADERS): Set this instead of euinclude_HEADERS.
    914 
    915 2008-01-03  Roland McGrath  <roland (a] redhat.com>
    916 
    917 	* common.h: Add __attribute__ ((unused)) to static functions.
    918 
    919 2007-12-20  Ulrich Drepper  <drepper (a] redhat.com>
    920 
    921 	* Makefile.am (libelf_a_SOURCES): Add elf_scnshndx.
    922 	* libelfP.h (struct Elf_Scn): Add shndx_index field.
    923 	Declare __elf_scnshndx_internal.
    924 	* elf32_getshdr.c: Record location of extended section header.
    925 	* elf_begin.c (file_read_elf): Likewise.
    926 	* elf_scnshndx.c: New file.
    927 	* libelf.h: Declare elf_scnshndx.
    928 	* libelf.map: Add elf_scnshndx to version ELFUTILS_1.4.
    929 
    930 2007-11-12  Roland McGrath  <roland (a] redhat.com>
    931 
    932 	* libelf.h: Replace off64_t with loff_t throughout.
    933 	Only that type name is unconditionally defined by <sys/types.h>
    934 
    935 2007-11-03  Roland McGrath  <roland (a] redhat.com>
    936 
    937 	* libelf.h (Elf_Data): Comment fix.
    938 
    939 2007-10-18  Roland McGrath  <roland (a] redhat.com>
    940 
    941 	* elf.h: Update from glibc.
    942 
    943 2007-10-07  Roland McGrath  <roland (a] redhat.com>
    944 
    945 	* elf_begin.c (__libelf_next_arhdr): Fix fencepost error and wrong
    946 	member access in terminating name with no trailing /.  Trim trailing
    947 	spaces when there is no /.
    948 
    949 2007-10-04  Roland McGrath  <roland (a] redhat.com>
    950 
    951 	* elf_end.c (elf_end): Don't free ELF->state.ar.ar_sym when it's -1l.
    952 
    953 2007-10-03  Roland McGrath  <roland (a] redhat.com>
    954 
    955 	* libelf.h (Elf_Data): Use off64_t for d_off.
    956 	(Elf_Arhdr): Use off64_t for ar_size.
    957 	(elf_update, elf_getbase, elf_getaroff): Return off64_t.
    958 
    959 	* gelf_rawchunk.c: File removed.
    960 	* gelf_freechunk.c: File removed.
    961 	* Makefile.am (libelf_a_SOURCES): Remove them.
    962 	* libelf.map (ELFUTILS_1.0): Remove exports.
    963 	* gelf.h: Remove decls.
    964 
    965 	* elf_getdata_rawchunk.c: New file.
    966 	* Makefile.am (libelf_a_SOURCES): Add it.
    967 	* libelf.map (ELFUTILS_1.3): Add elf_getdata_rawchunk.
    968 	* libelf.h: Declare it.
    969 	* libelfP.h (Elf_Data_Chunk): New type.
    970 	(struct Elf.elf): New member `rawchunks'.
    971 	* elf_end.c (elf_end): Free recorded rawchunk buffers.
    972 
    973 2007-08-24  Roland McGrath  <roland (a] redhat.com>
    974 
    975 	* gelf_getnote.c: New file.
    976 	* Makefile.am (libelf_a_SOURCES): Add it.
    977 	* gelf.h: Declare gelf_getnote.
    978 	* libelf.map (ELFUTILS_1.3): Add gelf_getnote.
    979 
    980 	* libelfP.h (NOTE_ALIGN): New macro.
    981 	* note_xlate.h: New file.
    982 	* Makefile.am (noinst_HEADERS): Add it.
    983 	* gelf_xlate.c: Include it.
    984 	(__elf_xfctstom): Use elf_cvt_note.
    985 	* elf_getdata.c (shtype_map, __libelf_type_align): Handle SHT_NOTE.
    986 	(__libelf_set_rawdata): Likewise.
    987 
    988 2007-08-19  Roland McGrath  <roland (a] redhat.com>
    989 
    990 	* gelf_update_auxv.c: New file.
    991 	* gelf_getauxv.c: New file.
    992 	* Makefile.am (libelf_a_SOURCES): Add them.
    993 	* gelf.h: Declare gelf_getauxv, gelf_update_auxv.
    994 	* libelf.map (ELFUTILS_1.3): New set, inherits fom ELFUTILS_1.2.
    995 	Export gelf_getauxv, gelf_update_auxv.
    996 
    997 	* libelf.h (Elf_Type): Add ELF_T_AUXV.
    998 	* abstract.h: Add auxv_t entries.
    999 	* exttypes.h: Likewise.
   1000 	* gelf_xlate.h: Likewise.
   1001 	* gelf_xlate.c (__elf_xfctstom): Add ELF_T_AUXV entries.
   1002 	* gelf_fsize.c (__libelf_type_sizes): Likewise.
   1003 
   1004 2007-08-12  Roland McGrath  <roland (a] redhat.com>
   1005 
   1006 	* elf32_updatefile.c (compare_sections): Sort secondarily on sh_size,
   1007 	and only tertiarily on index.
   1008 
   1009 2007-07-09  Roland McGrath  <roland (a] redhat.com>
   1010 
   1011 	* elf.h: Update from glibc.
   1012 
   1013 2007-04-22  Roland McGrath  <roland (a] redhat.com>
   1014 
   1015 	* elf.h: Update from glibc.
   1016 
   1017 2007-03-18  Roland McGrath  <roland (a] redhat.com>
   1018 
   1019 	* elf_begin.c (get_shnum): Fix test for e_shoff being out of bounds.
   1020 	Return zero when the section headers do not fit within MAXSIZE.
   1021 
   1022 2007-03-09  Roland McGrath  <roland (a] redhat.com>
   1023 
   1024 	* libelfP.h (LIBELF_EV_IDX): New macro.
   1025 	(__libelf_type_align): New macro.
   1026 	[! ALLOW_UNALIGNED]: Declare __libc_type_aligns array.
   1027 	* elf_getdata.c (shtype_map): Convert to just Elf_Type[][].
   1028 	(convert_data, __libelf_set_rawdata): Use that, __libelf_type_align,
   1029 	and __libelf_type_sizes, in place of old table.
   1030 	(__libc_type_aligns): New const variable.
   1031 
   1032 2007-02-04  Ulrich Drepper  <drepper (a] redhat.com>
   1033 
   1034 	* Makefile (libelf.so): Build with -z relro.
   1035 
   1036 	* elf_begin.c (read_file): When using ELF_C_READ_MMAP use MAP_PRIVATE.
   1037 
   1038 2007-01-30  Ulrich Drepper  <drepper (a] redhat.com>
   1039 
   1040 	* nlist.c: Close file descriptor before returning.
   1041 
   1042 2007-01-20  Roland McGrath  <roland (a] redhat.com>
   1043 
   1044 	* gnuhash_xlate.h (elf_cvt_gnuhash): Fix fence-post error so we
   1045 	convert the final word.
   1046 
   1047 	* elf32_getshdr.c: Don't byteswap shdr fields when EI_DATA matches
   1048 	MY_ELFDATA on !ALLOW_UNALIGNED machines.
   1049 
   1050 2007-01-18  Roland McGrath  <roland (a] redhat.com>
   1051 
   1052 	* gelf_rawchunk.c (gelf_rawchunk): Clear RESULT pointer after freeing
   1053 	it on read error.
   1054 
   1055 2006-10-13  Roland McGrath  <roland (a] redhat.com>
   1056 
   1057 	* elf32_updatenull.c: Look for and accept phdr also for ET_CORE.
   1058 	* elf_error.c (msgstr): Change ELF_E_INVALID_PHDR string.
   1059 
   1060 2006-08-29  Roland McGrath  <roland (a] redhat.com>
   1061 
   1062 	* elf32_getphdr.c: Don't byteswap phdr fields when EI_DATA matches
   1063 	MY_ELFDATA on !ALLOW_UNALIGNED machines.
   1064 	Reported by Christian Aichinger <Greek0 (a] gmx.net>.
   1065 
   1066 	* Makefile.am (CLEANFILES): Add libelf.so.$(VERSION).
   1067 
   1068 2006-08-08  Ulrich Drepper  <drepper (a] redhat.com>
   1069 
   1070 	* elf.h (DT_VALNUM): Update.
   1071 	(DT_ADDRNUM): Likewise.
   1072 
   1073 2006-07-12  Ulrich Drepper  <drepper (a] redhat.com>
   1074 
   1075 	* elf32_updatefile.c: Adjust for internal_function_def removal.
   1076 	* elf32_updatenull.c: Likewise.
   1077 	* elf_begin.c: Likewise.
   1078 	* elf_getdata.c: Likewise.
   1079 
   1080 2006-07-11  Ulrich Drepper  <drepper (a] redhat.com>
   1081 
   1082 	* libelf.h: Define ELF_T_GNUHASH.
   1083 	* elf_getdata.c (TYPEIDX): Handle SHT_GNU_HASH.
   1084 	(shtype_map): Add SHT_GNU_HASH entries.
   1085 	* gelf_xlate.c (__elf_xfctstom): Add ELF_T_GNUHASH entries.
   1086 	* gnuhash_xlate.h: New file.
   1087 	* Makefile.am (noinst_HEADERS): Add gnuhash_xlate.h.
   1088 
   1089 2006-07-06  Ulrich Drepper  <drepper (a] redhat.com>
   1090 
   1091 	* elf_gnu_hash.c: New file.
   1092 	* libelf.h: Declare elf_gnu_hash.
   1093 	* Makefile.am (libelf_a_SOURCES): Add elf_gnu_hash.
   1094 	* libelf.map: Add elf_gnu_map for version ELFUTILS_1.2.
   1095 
   1096 2006-06-15  Roland McGrath  <roland (a] redhat.com>
   1097 
   1098 	* libelf.h (elf_getarsym): Fix comment typo.
   1099 	Rename second parameter to be more explanatory.
   1100 	(elf_getident, elf_rawhide): Likewise.
   1101 
   1102 2006-05-28  Ulrich Drepper  <drepper (a] redhat.com>
   1103 
   1104 	* elf32_updatefile.c (updatemmap): Preserve section content if
   1105 	copying would overwrite them.
   1106 	Fix msync paramters.
   1107 
   1108 2006-04-04  Roland McGrath  <roland (a] redhat.com>
   1109 
   1110 	* elf32_updatefile.c (updatemmap): Handle other-endian case.
   1111 
   1112 2006-04-04  Ulrich Drepper  <drepper (a] redhat.com>
   1113 
   1114 	* elf32_updatefile.c (updatemmap): Cleanups.  Remove shdr_dest
   1115 	variable.  Before writing sections, make a copy of the section
   1116 	header data if necessary.  Don't write section header while
   1117 	writing the section constent, it might overwrite some sections.
   1118 	Restore the pointer afterwards.
   1119 	* elf32_updatenull.c (updatenull): If the offset of a section in a
   1120 	file changed make sure we read the section so that it'll be written
   1121 	out.
   1122 
   1123 	* elf_update.c: Remove debug message.
   1124 
   1125 2005-12-07  Roland McGrath  <roland (a] redhat.com>
   1126 
   1127 	* gelf_xlate.c [! ALLOW_UNALIGNED] (union unaligned): New type.
   1128 	(FETCH, STORE): New macros.
   1129 	(INLINE3): Use those to do alignment-friendly conversion.
   1130 
   1131 	* elf32_getshdr.c: Include map_address and start_offset in alignment
   1132 	calculations.
   1133 	* elf32_getphdr.c: Likewise.
   1134 
   1135 2005-11-19  Roland McGrath  <roland (a] redhat.com>
   1136 
   1137 	* elf.h: Update from glibc.
   1138 
   1139 2005-11-17  Roland McGrath  <roland (a] redhat.com>
   1140 
   1141 	* elf.h: Update from glibc.
   1142 
   1143 2005-11-10  Roland McGrath  <roland (a] redhat.com>
   1144 
   1145 	* elf.h: Update from glibc.
   1146 
   1147 2005-09-09  Roland McGrath  <roland (a] redhat.com>
   1148 
   1149 	* elf_update.c (write_file): Stat the file and fchmod it after update
   1150 	if its mode had S_ISUID or S_ISGID bits set.
   1151 
   1152 2005-08-28  Ulrich Drepper  <drepper (a] redhat.com>
   1153 
   1154 	* elf32_getphdr.c: Include <system.h>.  Use pread_retry instead of
   1155 	pread.  And branch prediction where useful.
   1156 	* elf_begin.c: Likewise.
   1157 	* elf_getdata.c: Likewise.
   1158 	* elf_getshstrndx.c: Likewise.
   1159 	* elf_readall.c: Likewise.
   1160 	* gelf_rawchunk.c: Likewise.
   1161 	* elf32_updatefile.c: Include <system.h>.  Use pread_retry instead of
   1162 	pread.  And branch prediction where useful.
   1163 	* elf_getarsym.c: Don't define pread_retry here.
   1164 
   1165 	* Makefile.am: Use $(LINK) not $(CC) when creating DSO.
   1166 	(%.os): Use COMPILE.os.
   1167 	(COMPILE.os): Filter out gconv options.
   1168 
   1169 2005-08-27  Ulrich Drepper  <drepper (a] redhat.com>
   1170 
   1171 	* elf_begin.c (file_read_elf): Avoid reading ELF header from file
   1172 	again.  Instead accept additional parameter which points to it if we
   1173 	don't use mmap.
   1174 	(get_shnum): Use passed in e_ident value as source of ELF header.
   1175 
   1176 2005-08-15  Ulrich Drepper  <drepper (a] redhat.com>
   1177 
   1178 	* elf_begin.c (__libelf_next_arhdr): Use TEMP_FAILURE_RETRY.
   1179 
   1180 	* Makefile (libelf_a_SOURCES): Add elf_getaroff.c.
   1181 	* libelf.map: Export elf_getaroff.
   1182 	* libelf.h: Declare elf_getaroff.
   1183 	* elf_getaroff.c: New file.
   1184 
   1185 2005-08-13  Ulrich Drepper  <drepper (a] redhat.com>
   1186 
   1187 	* elf_begin.c (get_shnum): Optimize memory handling.  Always read from
   1188 	mapped file if available.  Fix access to 64-bit sh_size.  Recognize
   1189 	overflow.
   1190 	(file_read_elf): Likewise.
   1191 
   1192 2005-08-12  Roland McGrath  <roland (a] redhat.com>
   1193 
   1194 	* elf32_offscn.c: Do not match empty sections at OFFSET unless
   1195 	there are no nonempty sections at that offset.
   1196 
   1197 2005-08-07  Ulrich Drepper  <drepper (a] redhat.com>
   1198 
   1199 	* elf.h: Update from glibc.
   1200 
   1201 2005-08-06  Ulrich Drepper  <drepper (a] redhat.com>
   1202 
   1203 	* Makefile.am (AM_CFLAGS): Add -fpic when BUILD_STATIC.
   1204 
   1205 2005-08-03  Ulrich Drepper  <drepper (a] redhat.com>
   1206 
   1207 	* libelf.map: Move elf32_offscn, elf64_offscn, and gelf_offscn in
   1208 	new version ELFUTILS_1.1.1.
   1209 
   1210 2005-08-02  Ulrich Drepper  <drepper (a] redhat.com>
   1211 
   1212 	* elf_error.c: Add handling of ELF_E_INVALID_OFFSET.
   1213 	* elf32_offscn.c: New file.
   1214 	* elf64_offscn.c: New file.
   1215 	* gelf_offscn.c: New file.
   1216 	* Makefile.am (libelf_a_SOURCES): Add elf32_offscn.c, elf64_offscn.c,
   1217 	and gelf_offscn.c.
   1218 	* libelf.sym: Export new symbols.
   1219 
   1220 2005-07-23  Ulrich Drepper  <drepper (a] redhat.com>
   1221 
   1222 	* elf-knowledge.h (SECTION_STRIP_P): Don't handle removal of debug
   1223 	sections here anymore.
   1224 	* elf32_checksum.c: Adjust for change in SECTION_STRIP_P interface.
   1225 
   1226 	* elf_update.c (elf_update): Get write lock, not read lock.
   1227 
   1228 	* elf32_updatenull.c (updatenull): Get section headers if necessary
   1229 	and possible.
   1230 
   1231 2005-07-22  Ulrich Drepper  <drepper (a] redhat.com>
   1232 
   1233 	* elf32_updatenull.c (updatenull): If program header hasn't been loaded
   1234 	yet, try to do it now.
   1235 	Don't unnecessarily update overflow of section count in zeroth section
   1236 	sh_size field.
   1237 	If section content hasn't been read yet, do it before looking for the
   1238 	block size.  If no section data present, infer size of section header.
   1239 
   1240 2005-05-11  Ulrich Drepper  <drepper (a] redhat.com>
   1241 
   1242 	* elf.h: Update again.
   1243 
   1244 2005-05-09  Ulrich Drepper  <drepper (a] redhat.com>
   1245 
   1246 	* elf.h: Update from glibc.
   1247 
   1248 2005-05-08  Roland McGrath  <roland (a] redhat.com>
   1249 
   1250 	* elf_begin.c (read_file) [_MUDFLAP]: Don't use mmap for now.
   1251 	* elf_update.c (write_file) [_MUDFLAP]: Likewise.
   1252 
   1253 2005-03-29  Ulrich Drepper  <drepper (a] redhat.com>
   1254 
   1255 	* elf32_checksum.c: Use INTUSE and INTDEF to avoid PLTs.
   1256 	* elf_end.c: Likewise.
   1257 	* elf_getdata.c: Likewise.
   1258 	* gelf_getehdr.c: Likewise.
   1259 	* nlist.c: Likewise.
   1260 	* libelfP.h: Add declarations of internal functions.
   1261 
   1262 2005-02-15  Ulrich Drepper  <drepper (a] redhat.com>
   1263 
   1264 	* common.h (CONVERT): Make sure all values are unsigned.
   1265 	(CONVERT_TO): Likewise.
   1266 
   1267 	* Makefile.am (AM_CFLAGS): Add -Wformat=2.
   1268 	Fix rule to build libelf.so.
   1269 
   1270 2005-02-06  Ulrich Drepper  <drepper (a] redhat.com>
   1271 
   1272 	* Makefile.am: Cleanup AM_CFLAGS handling.  Add -Wunused -Wextra.
   1273 	Remove lint handling.
   1274 	* elf32_getphdr.c: Minor cleanups.
   1275 	* elf32_getshdr.c: Likewise.
   1276 	* elf32_updatefile.c: Likewise.
   1277 	* elf32_updatenull.c: Likewise.
   1278 	* elf_begin.c: Likewise.
   1279 	* elf_error.c: Likewise.
   1280 	* elf_getarsym.c: Likewise.
   1281 	* elf_getdata.c: Likewise.
   1282 	* elf_update.c: Likewise.
   1283 	* gelf_xlate.c: Likewise.
   1284 
   1285 2005-02-05  Ulrich Drepper  <drepper (a] redhat.com>
   1286 
   1287 	* Makefile.am: Check for text relocations in constructed DSO.
   1288 
   1289 	* Makefile.am [MUDFLAP] (AM_CFLAGS): Add -Werror -fpic -fmudflap.
   1290 
   1291 2005-02-04  Ulrich Drepper  <drepper (a] redhat.com>
   1292 
   1293 	* gelf_getehdr.c (gelf_getehdr): Slight optimization.
   1294 
   1295 	* elf32_checksum.c (checksum): Do not look at NOBITS sections.
   1296 
   1297 	* gelf.h: Add gelf_checksum prototype.
   1298 
   1299 2004-09-25  Ulrich Drepper  <drepper (a] redhat.com>
   1300 
   1301 	* elf32_checksum.c: Make compile with gcc 4.0.
   1302 	* elf32_updatefile.c: Likewise.
   1303 	* elf32_updatenull.c: Likewise.
   1304 	* elf_begin.c: Likewise.
   1305 	* elf_error.c: Likewise.
   1306 	* elf_getdata.c: Likewise.
   1307 	* elf_getident.c: Likewise.
   1308 
   1309 2004-04-01  Ulrich Drepper  <drepper (a] redhat.com>
   1310 
   1311 	* elf.h: Update from glibc.
   1312 
   1313 2004-01-23  Ulrich Drepper  <drepper (a] redhat.com>
   1314 
   1315 	* elf_update.c: Fix locking.
   1316 	* elf_clone.c: Likewise.
   1317 
   1318 	* libelf.h: Define ELF_T_LIB.
   1319 	* gelf_getlib.c: New file.
   1320 	* gelf_update_lib.c: New file.
   1321 	* gelf.h: Declare the new functions.  Define GElf_Lib.
   1322 	* abstract.h: Define Lib, Lib32, Lib64.
   1323 	* gelf_xlate.c (__elf_xfctstom): Add ELF_T_LIB entry.
   1324 	* gelf_xlate.h: Add entry for ElfXX_Lib.
   1325 	* elf_getdata.c: Recognize SHT_GNU_LIBLIST as a known section type.
   1326 	* libelf.map: Add new symbols to ELFUTILS_1.1.
   1327 	* Makefile.am (libelf_a_SOURCES): Add gelf_getlib.c and
   1328 	gelf_update_lib.c.
   1329 
   1330 2004-01-17  Ulrich Drepper  <drepper (a] redhat.com>
   1331 
   1332 	* Makefile.am: Support building with mudflap.
   1333 
   1334 	* gelf_xlate.c (INLINE3): Avoid using cast as lvalue.
   1335 	* dl-hash.h (_dl_elf_hash): Likewise.
   1336 
   1337 2004-01-05  Ulrich Drepper  <drepper (a] redhat.com>
   1338 
   1339 	* elf-knowledge.h: New file.  From libelf subdir.
   1340 	* Makefile.am (euincludedir): Define.
   1341 	(euinclude_HEADERS): Add elf-knowledge.h.
   1342 
   1343 2003-09-24  Ulrich Drepper  <drepper (a] redhat.com>
   1344 
   1345 	* elf.h: Define some PT_IA_64_HP_* constants.
   1346 
   1347 2003-09-23  Jakub Jelinek  <jakub (a] redhat.com>
   1348 
   1349 	* libelfP.h (struct Elf): Move state.elf64.sizestr_offset after
   1350 	state.elf64.scnincr to match state.elf{,32}.
   1351 
   1352 2003-08-12  Ulrich Drepper  <drepper (a] redhat.com>
   1353 
   1354 	* elf32_updatefile.c (__updatemmap): When writing back file where
   1355 	some sections have not been read in, count their sizes based on
   1356 	the section header.
   1357 
   1358 2003-08-11  Ulrich Drepper  <drepper (a] redhat.com>
   1359 
   1360 	* Moved to CVS archive.
   1361