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