1 2012-01-31 Mark Wielaard <mjw (a] redhat.com> 2 3 * dwarf_formudata.c (dwarf_formudata): Handle DW_FORM_sec_offset. 4 5 2011-11-31 Mark Wielaard <mjw (a] redhat.com> 6 7 * Makefile.am (known-dwarf.h): Run gawk on config/known-dwarf.awk. 8 9 2011-07-14 Mark Wielaard <mjw (a] redhat.com> 10 11 * libdw.h (dwarf_offdie): Fix documentation to mention .debug_info. 12 13 2011-05-16 Jakub Jelinek <jakub (a] redhat.com> 14 15 * dwarf.h (DW_OP_GNU_const_type, DW_OP_GNU_regval_type, 16 DW_OP_GNU_deref_type, DW_OP_GNU_convert, DW_OP_GNU_reinterpret): 17 New. 18 19 2011-04-26 Mark Wielaard <mjw (a] redhat.com> 20 21 * dwarf_child (dwarf_child): Sanity check end of section against 22 cu_data () of die->cu. 23 24 2011-03-22 Mark Wielaard <mjw (a] redhat.com> 25 26 * dwarf.h: Add DW_TAG_GNU_call_site, 27 DW_TAG_GNU_call_site_parameter, 28 DW_AT_GNU_call_site_value, 29 DW_AT_GNU_call_site_data_value, 30 DW_AT_GNU_call_site_target, 31 DW_AT_GNU_call_site_target_clobbered, 32 DW_AT_GNU_tail_call, 33 DW_AT_GNU_all_tail_call_sites, 34 DW_AT_GNU_all_call_sites, 35 DW_AT_GNU_all_source_call_sites, 36 and DW_OP_GNU_entry_value. 37 38 2011-03-10 Petr Machata <pmachata (a] redhat.com> 39 40 * libdw/dwarf_tag.c (__libdw_findabbrev): Reject requests for 41 abbreviation with code 0. 42 43 2011-03-09 Petr Machata <pmachata (a] redhat.com> 44 45 * libdw/dwarf_child.c (dwarf_child): Check for section overrun. 46 47 2011-02-23 Roland McGrath <roland (a] redhat.com> 48 49 * libdwP.h (struct Dwarf) [USE_ZLIB]: New member sectiondata_gzip_mask. 50 Declare __libdw_free_zdata. 51 * dwarf_end.c [USE_ZLIB] (__libdw_free_zdata): New function. 52 (dwarf_end): Call it. 53 54 * dwarf_begin_elf.c (valid_p): Likewise. 55 (check_section, scngrp_read): Likewise. 56 (check_section) [USE_ZLIB]: Grok .z* flavors of sections. 57 58 2010-10-13 Roland McGrath <roland (a] redhat.com> 59 60 * dwarf.h: Add DW_LANG_Go. 61 62 2010-10-05 Roland McGrath <roland (a] redhat.com> 63 64 * dwarf_getaranges.c: Use malloc rather than alloca, 65 since the total number of elements can be quite huge. 66 67 2010-07-26 Roland McGrath <roland (a] redhat.com> 68 69 * dwarf_getlocation_implicit_pointer.c: New file. 70 * Makefile.am (libdw_a_SOURCES): Add it. 71 * libdw.map (ELFUTILS_0.149): New set. 72 Add dwarf_getlocation_implicit_pointer. 73 * libdw.h: Declare it. 74 75 * dwarf_offdie.c (do_offdie): Renamed to __libdw_offdie, made global. 76 (dwarf_offdie, dwarf_offdie_types): Update callers. 77 * libdwP.h: Declare it. 78 79 * dwarf.h: Add DW_OP_GNU_implicit_pointer. 80 * dwarf_getlocation.c (__libdw_intern_expression): Handle it. 81 82 2010-08-24 Roland McGrath <roland (a] redhat.com> 83 84 * libdw.map (ELFUTILS_0.149): New set. Add dwfl_dwarf_line. 85 86 2010-07-27 Roland McGrath <roland (a] redhat.com> 87 88 * dwarf_formref_die.c: Fix sig8 hash insertion. 89 90 2010-06-23 Roland McGrath <roland (a] redhat.com> 91 92 * cfi.c (dwarf_cfi_validate_fde): Function removed. 93 * libdw.h: Remove it. 94 * libdw.map: Likewise. 95 96 2010-06-22 Roland McGrath <roland (a] redhat.com> 97 98 * dwarf_getlocation.c (check_constant_offset): data[48] are constant. 99 100 * dwarf_getsrclines.c: Fix signed comparison warning in extended 101 opcode parsing. 102 103 2010-06-21 Roland McGrath <roland (a] redhat.com> 104 105 * dwarf.h: Add DW_TAG_GNU_* constants. 106 107 * memory-access.h (get_sleb128_rest_return): Fix sign extension for 108 10-byte case. 109 110 2010-06-20 Roland McGrath <roland (a] redhat.com> 111 112 * libdw_findcu.c (__libdw_findcu): Take new flag argument, 113 to search TUs instead of CUs. 114 * libdwP.h: Update decl. 115 (struct Dwarf): New member tu_tree. 116 * dwarf_end.c (dwarf_end): Clean up tu_tree. 117 * dwarf_offdie.c (do_offdie): New function, broken out of ... 118 (dwarf_offdie): ... here. 119 (dwarf_offdie_types): New function. 120 * libdw.h: Declare it. 121 * libdw.map (ELFUTILS_0.148): Add it. 122 123 * libdwP.h (CUDIE): Use cu_data. 124 * dwarf_formblock.c: Likewise. 125 * dwarf_formref_die.c: Likewise. 126 * dwarf_diecu.c: Use CUDIE macro. 127 * dwarf_formaddr.c: Use cu_sec_idx. 128 129 2010-06-16 Roland McGrath <roland (a] redhat.com> 130 131 * dwarf_formref_die.c: Use dwarf_offdie only for DW_FORM_ref_addr, so 132 we don't repeat a CU lookup we've already done. Handle 133 DW_FORM_ref_sig8 using sig8_hash table and __libdw_intern_next_unit. 134 135 * libdw_findcu.c (__libdw_intern_next_unit): New function, 136 broken out of ... 137 (__libdw_findcu): ... here. Call it. 138 * libdwP.h: Declare it. 139 (struct Dwarf): New member next_tu_offset. 140 141 * dwarf_sig8_hash.c: New file. 142 * dwarf_sig8_hash.h: New file. 143 * Makefile.am (libdw_a_SOURCES, noinst_HEADERS): Add them. 144 * dwarf_abbrev_hash.c: Include dwarf_sig8_hash.h before 145 defining NO_UNDEF. 146 * libdwP.h (struct Dwarf): New member sig8_hash. 147 * dwarf_begin_elf.c: Call Dwarf_Sig8_Hash_init on it. 148 * dwarf_end.c: Call Dwarf_Sig8_Hash_free on it. 149 150 * dwarf_nextcu.c (dwarf_next_unit): New function, broken out of ... 151 (dwarf_nextcu): ... here. Call it. 152 * libdw.h: Declare it. 153 * libdwP.h: Add INTDECL. 154 * libdw_findcu.c (__libdw_findcu): Use it instead of dwarf_nextcu. 155 * libdw.map (ELFUTILS_0.148): New set, add dwarf_next_unit. 156 157 * libdwP.h (cu_sec_idx, cu_data): New functions. 158 Use .debug_types when CU is a TU. 159 * dwarf_cuoffset.c: Use that instead of assuming IDX_debug_info. 160 * dwarf_siblingof.c: Likewise. 161 * dwarf_formstring.c: Likewise. 162 * dwarf_formudata.c (__libdw_formptr, dwarf_formudata): Likewise. 163 * dwarf_getlocation.c (dwarf_getlocation): Likewise. 164 (dwarf_getlocation_addr): Likewise. 165 166 * libdwP.h (struct Dwarf_CU): Add new members type_offset, type_sig8. 167 (DIE_OFFSET_FROM_CU_OFFSET): Take flag argument; if true, compute 168 .debug_types header size instead of .debug_info header size. 169 (CUDIE): Use it. 170 * dwarf_diecu.c: Update caller. 171 * dwarf_getaranges.c: Likewise. 172 * dwarf_nextcu.c: Likewise. 173 * libdw_findcu.c (__libdw_findcu): Initialize new members. 174 175 * fde.c (fde_by_offset): Renamed to ... 176 (__libdw_fde_by_offset): ... this, made global and internal_function. 177 Don't take ADDRESS argument. 178 (__libdw_find_fde): Update caller. Do address sanity check here. 179 * cfi.h: Declare __libdw_fde_by_offset. 180 * cfi.c (dwarf_cfi_validate_fde): New function. 181 * libdw.h: Declare it. 182 * libdw.map (ELFUTILS_0.148): Add it. 183 184 * cie.c (intern_new_cie): Canonicalize DW_EH_PE_absptr FDE encoding to 185 either DW_EH_PE_udata8 or DW_EH_PE_udata4. 186 187 * encoded-value.h (read_encoded_value): Handle DW_EH_PE_indirect. 188 Don't assume DW_EH_PE_aligned refers to native address size. 189 190 * cfi.c (execute_cfi): Barf on CIE initial instructions changing the 191 address. 192 193 2010-06-17 Roland McGrath <roland (a] redhat.com> 194 195 * libdwP.h (struct Dwarf_Line_s): Add members isa, discriminator, and 196 op_index. 197 * dwarf_getsrclines.c (dwarf_getsrclines): Move NEW_FILE macro guts 198 into an inner inline function. Set new fields. Check all fields for 199 overflow when setting. 200 * dwarf_lineisa.c: New file. 201 * dwarf_linediscriminator.c: New file. 202 * dwarf_lineop_index.c: New file. 203 * Makefile.am (libdw_a_SOURCES): Add them. 204 * libdw.map (ELFUTILS_0.148): Add them. 205 * libdw.h: Declare them. 206 207 2010-06-16 Roland McGrath <roland (a] redhat.com> 208 209 * dwarf_next_cfi.c: Fix version 4 return_address_register decoding. 210 211 * fde.c (fde_by_offset): Renamed to ... 212 (__libdw_fde_by_offset): ... this, made global and internal_function. 213 Don't take ADDRESS argument. 214 (__libdw_find_fde): Update caller. Do address sanity check here. 215 * cfi.h: Declare __libdw_fde_by_offset. 216 * cfi.c (dwarf_cfi_validate_fde): New function. 217 * libdw.h: Declare it. 218 * libdw.map (ELFUTILS_0.148): Add it. 219 220 * cie.c (intern_new_cie): Canonicalize DW_EH_PE_absptr FDE encoding to 221 either DW_EH_PE_udata8 or DW_EH_PE_udata4. 222 223 * encoded-value.h (read_encoded_value): Handle DW_EH_PE_indirect. 224 Don't assume DW_EH_PE_aligned refers to native address size. 225 226 * cfi.c (execute_cfi): Barf on CIE initial instructions changing the 227 address. 228 229 2010-06-15 Roland McGrath <roland (a] redhat.com> 230 231 * dwarf_formref.c (__libdw_formref): Diagnose DW_FORM_ref_sig8 like 232 DW_FORM_ref_addr. 233 * dwarf_formref_die.c (dwarf_formref_die): Diagnose it the same way 234 here, since we don't support it yet. 235 236 * dwarf_next_cfi.c: Handle version 4 format. 237 238 * dwarf_getsrclines.c: Handle version 4 format. 239 240 2010-06-01 Roland McGrath <roland (a] redhat.com> 241 242 * libdwP.h: Remove unused IDX_debug_*names, add IDX_debug_types. 243 * dwarf_begin_elf.c (dwarf_scnnames): Likewise. 244 245 * libdwP.h (CIE_VERSION): Remove unused macro. 246 247 * dwarf_getsrclines.c: Fix version field test. 248 * libdwP.h (DWARF_VERSION): Remove useless macro. 249 250 * dwarf_formudata.c (__libdw_formptr): Fix DW_FORM_sec_offset handling. 251 252 * dwarf_formblock.c (dwarf_formblock): Handle DW_FORM_exprloc. 253 254 * libdw_findcu.c (__libdw_findcu): Accept version 4. 255 256 2010-05-31 Mark Wielaard <mjw (a] redhat.com> 257 258 * cfi.h (dwarf_cfi_cie_p): Move definition from here, to .. 259 * libdw.h (dwarf_cfi_cie_p): ... here. 260 261 2010-05-31 Mark Wielaard <mjw (a] redhat.com> 262 263 * dwarf.h: Fix DW_LANG_Python constant. 264 265 2010-05-28 Eduardo Santiago <santiago (a] redhat.com> 266 267 * dwarf_getlocation.c (dwarf_getlocation): Do attr_ok check first 268 thing. 269 270 2010-05-27 Roland McGrath <roland (a] redhat.com> 271 272 * dwarf.h: Add DW_AT_enum_class, DW_AT_linkage_name, 273 DW_TAG_template_alias, DW_LANG_Python, DW_LNE_set_discriminator. 274 275 2010-05-08 Roland McGrath <roland (a] redhat.com> 276 277 * dwarf_getlocation.c (__libdw_intern_expression): Take new argument 278 REF_SIZE. Use that to handle DW_OP_call_ref correctly. 279 (getlocation): Update caller. 280 * dwarf_frame_cfa.c (dwarf_frame_cfa): Likewise. 281 * dwarf_frame_register.c (dwarf_frame_register): Likewise. 282 * libdwP.h: Update decl. 283 284 2010-04-26 Roland McGrath <roland (a] redhat.com> 285 286 * cfi.h (struct Dwarf_Frame_s): Add cfa_invalid alternative in cfa_rule. 287 * cfi.c (execute_cfi): Set that instead of doing cfi_assert for 288 DW_CFA_def_cfa_{offset*,register} when a non-offset rule is in force. 289 * dwarf_frame_cfa.c (dwarf_frame_cfa): Handle cfa_invalid. 290 291 * dwarf_getlocation.c (__libdw_intern_expression): Take new arg CFAP. 292 Prepend DW_OP_call_frame_cfa if true. 293 (getlocation): Update caller. 294 * dwarf_frame_cfa.c (dwarf_frame_cfa): Likewise. 295 * dwarf_frame_register.c (dwarf_frame_register): Likewise. 296 * libdwP.h: Update decl. 297 298 2010-04-22 Roland McGrath <roland (a] redhat.com> 299 300 * cfi.c (execute_cfi): Never return without cleanup. 301 Free FS on failure. 302 (cie_cache_initial_state): Adjust caller to expect that free. 303 (__libdw_frame_at_address): Likewise. 304 305 2010-03-10 Roland McGrath <roland (a] redhat.com> 306 307 * libdw.map (ELFUTILS_0.146): New set. Add dwfl_core_file_report. 308 309 2010-02-15 Roland McGrath <roland (a] redhat.com> 310 311 * Makefile.am: Use config/eu.am for common stuff. 312 313 2010-02-02 Mark Wielaard <mjw (a] redhat.com> 314 315 * fde.c (intern_fde): Fix length check for sized_augmentation_data. 316 317 2010-01-07 Roland McGrath <roland (a] redhat.com> 318 319 * dwarf_getcfi_elf.c (getcfi_phdr): Use elf_getphdrnum. 320 321 2010-01-05 Roland McGrath <roland (a] redhat.com> 322 323 * dwarf_aggregate_size.c: New file. 324 * Makefile.am (libdw_a_SOURCES): Add it. 325 * libdw.h: Declare it. 326 * libdwP.h: Add INTDECL. 327 * libdw.map (ELFUTILS_0.144): New set. Add dwarf_aggregate_size. 328 329 * dwarf_srclang.c: Add INTDEF. 330 * libdwP.h: Add INTDECL. 331 332 * dwarf.h: Add some more DW_AT_GNU_* types from gcc. 333 334 * dwarf.h: Add DW_AT_GNU_vector, DW_AT_GNU_template_name. 335 336 2009-11-21 Roland McGrath <roland (a] redhat.com> 337 338 * dwarf_getlocation.c (check_constant_offset): Return 1 for all 339 non-constant forms. 340 341 2009-10-15 Roland McGrath <roland (a] redhat.com> 342 343 * libdw_form.c (__libdw_form_val_len): Grok DW_FORM_sec_offset, 344 DW_FORM_exprloc, DW_FORM_flag_present, and DW_FORM_ref_sig8. 345 346 2009-09-17 Roland McGrath <roland (a] redhat.com> 347 348 * dwarf_getlocation.c (dwarf_getlocation_implicit_value): Make OP 349 argument a pointer to const. 350 * libdw.h: Update decl. 351 352 2009-09-10 Roland McGrath <roland (a] redhat.com> 353 354 * dwarf_getlocation.c (store_implicit_value): New function. 355 (__libdw_intern_expression): Use it, handle DW_OP_implicit_value. 356 (dwarf_getlocation_implicit_value): New function. 357 * libdw.h: Declare it. 358 * libdw.map (ELFUTILS_0.143): Add it. 359 360 2009-09-09 Mark Wielaard <mjw (a] redhat.com> 361 362 * dwarf_getcfi.c (dwarf_getcfi): Clear cfi->ebl. 363 364 2009-08-21 Josh Stone <jistone (a] redhat.com> 365 366 * dwarf_hasattr_integrate.c: Integrate DW_AT_specification too. 367 368 2009-08-10 Roland McGrath <roland (a] redhat.com> 369 370 * dwarf_getscopevar.c: Use dwarf_diename. 371 372 2009-08-09 Roland McGrath <roland (a] redhat.com> 373 374 * libdw.map (ELFUTILS_0.143): New version set, 375 inherits from ELFUTILS_0.142. 376 * dwarf_arrayorder.c: Use OLD_VERSION and NEW_VERSION to define an 377 alias in the ELFUTILS_0.122 version set and the default in the new set. 378 * dwarf_srclang.c: Likewise. 379 * dwarf_decl_file.c: Likewise. 380 * dwarf_decl_line.c: Likewise. 381 * dwarf_decl_column.c: Likewise. 382 * dwarf_bytesize.c: Likewise. 383 * dwarf_bitsize.c: Likewise. 384 * dwarf_bitoffset.c: Likewise. 385 386 2009-08-07 Roland McGrath <roland (a] redhat.com> 387 388 * dwarf_arrayorder.c: Use dwarf_attr_integrate. 389 * dwarf_srclang.c: Likewise. 390 * dwarf_decl_file.c: Likewise. 391 * dwarf_decl_line.c (__libdw_attr_intval): Likewise. 392 * dwarf_bytesize.c: Likewise. 393 * dwarf_bitsize.c: Likewise. 394 * dwarf_bitoffset.c: Likewise. 395 396 2009-07-22 Roland McGrath <roland (a] redhat.com> 397 398 * dwarf_frame_cfa.c: Change calling convention. 399 * libdw.h: Update decl. 400 401 * dwarf_frame_register.c: Change calling/return-value convention for 402 value-only results and undefined/same_value. 403 * libdw.h: Update decl. 404 405 * dwarf_getlocation.c (__libdw_intern_expression): Take new bool 406 argument, append DW_OP_stack_value if set. Don't take NOPS argument, 407 return that value instead. 408 (getlocation): Update caller. 409 * dwarf_frame_cfa.c: Likewise. 410 * libdwP.h: Update decl. 411 412 2009-07-21 Roland McGrath <roland (a] redhat.com> 413 414 * dwarf_getsrc_file.c: Ignore a CU that just has no DW_AT_stmt_list. 415 Fix loop iteration after skipping a bogus or useless CU. 416 417 * dwarf_entry_breakpoints.c: Handle 0 dwarf_errno () as harmless 418 absence, not DWARF_E_NO_DEBUG_LINE. 419 420 2009-07-20 Roland McGrath <roland (a] redhat.com> 421 422 * dwarf_getlocation.c (__libdw_intern_expression): 423 Handle DW_OP_stack_value. 424 425 2009-07-16 Roland McGrath <roland (a] redhat.com> 426 427 * dwarf_formudata.c (__libdw_formptr): Handle DW_FORM_sec_offset, 428 reject others when CU's version > 3. 429 430 * dwarf_formflag.c: Handle DW_FORM_flag_present. 431 432 * dwarf.h: Add DW_OP_{implicit,stack}_value from DWARF 4 draft. 433 Also DW_TAG_type_unit and DW_TAG_rvalue_reference_type. 434 Also DW_AT_signature, DW_AT_main_subprogram, DW_AT_data_bit_offset, 435 and DW_AT_const_expr. 436 Also DW_FORM_sec_offset, DW_FORM_exprloc, DW_FORM_flag_present, 437 and DW_FORM_ref_sig8. 438 439 2009-07-15 Roland McGrath <roland (a] redhat.com> 440 441 * dwarf_getlocation.c: Grok DW_OP_form_tls_address, 442 DW_OP_GNU_push_tls_address, and DW_OP_bit_piece. 443 444 2009-07-13 Roland McGrath <roland (a] redhat.com> 445 446 * dwarf_getlocation.c: Grok DW_OP_call_frame_cfa. 447 448 2009-07-08 Roland McGrath <roland (a] redhat.com> 449 450 * libdw.map (ELFUTILS_0.142): Add dwfl_module_dwarf_cfi, 451 dwfl_module_eh_cfi. 452 453 * libdwP.h (struct Dwarf): Add member `cfi'. 454 * dwarf_end.c (dwarf_end): Call __libdw_destroy_frame_cache on it. 455 * dwarf_getcfi.c: New file. 456 * dwarf_getcfi_elf.c: New file. 457 * dwarf_cfi_end.c: New file. 458 * dwarf_cfi_addrframe.c: New file. 459 * dwarf_frame_cfa.c: New file. 460 * dwarf_frame_register.c: New file. 461 * dwarf_frame_return_address_register.c: New file. 462 * Makefile.am (libdw_a_SOURCES): Add them. 463 * unwind.h: Declare those functions. 464 * libdw.map (ELFUTILS_0.142): Export them. 465 466 * dwarf_getlocation.c (__libdw_intern_expression): New function, 467 broken out of ... 468 (getlocation): ... here, call it. 469 * libdwP.h: Declare it. 470 471 * cie.c: New file. 472 * fde.c: New file. 473 * frame-cache.c: New file. 474 * cfi.c: New file. 475 * cfi.h: New file. 476 * encoded-value.h: New file. 477 * Makefile.am (libdw_a_SOURCES, noinst_HEADERS): Add them. 478 * libdwP.h: Add DWARF_E_INVALID_CFI to errors enum. 479 * dwarf_error.c (errmsgs): Add element for it. 480 481 * dwarf_next_cfi.c: New file. 482 * Makefile.am (libdw_a_SOURCES): Add it. 483 * libdw.h (Dwarf_CIE, Dwarf_FDE, Dwarf_CIE_Entry): New types. 484 Declare dwarf_next_cfi. 485 * libdw.map (ELFUTILS_0.142): New set, inherits from ELFUTILS_0.136. 486 Add dwarf_next_cfi. 487 488 * memory-access.h [! ALLOW_UNALIGNED] 489 (read_2ubyte_unaligned): Renamed to ... 490 (read_2ubyte_unaligned_1): ... this. Take bool rather than Dwarf *. 491 (read_2ubyte_unaligned): Define as macro passing dbg->other_byte_order. 492 (read_2sbyte_unaligned): Likewise. 493 (read_4ubyte_unaligned): Likewise. 494 (read_4sbyte_unaligned): Likewise. 495 (read_8ubyte_unaligned): Likewise. 496 (read_8sbyte_unaligned): Likewise. 497 498 * libdwP.h (IDX_eh_frame): Remove it. 499 * dwarf_begin_elf.c (dwarf_scnnames): Remove its element. 500 501 2009-07-08 Roland McGrath <roland (a] redhat.com> 502 503 * libdwP.h (struct Dwarf_Line_s): Reorder members to pack better. 504 505 * dwarf_getlocation.c (check_constant_offset): New function. 506 (dwarf_getlocation, dwarf_getlocation_addr): Call it to 507 handle DW_AT_data_member_location of data[48] as constant offset. 508 509 2009-06-18 Roland McGrath <roland (a] redhat.com> 510 511 * libdwP.h (__libdw_read_address_inc): Constify. 512 (__libdw_read_offset_inc): Likewise. 513 * dwarf_getaranges.c: Likewise. 514 * dwarf_getlocation.c: Likewise. 515 * dwarf_getsrclines.c: Likewise. 516 * dwarf_nextcu.c: Likewise. 517 518 2009-05-05 Petr Machata <pmachata (a] redhat.com> 519 520 * libdwP.h (__libdw_formptr): Declare new function. 521 * dwarf_formudata.c: Implement it here. 522 * dwarf_getlocation.c (dwarf_getlocation_addr): 523 Call it instead of hand-rolled offset handling code. 524 * dwarf_getsrclines.c (dwarf_getsrclines): Likewise. 525 * dwarf_ranges.c (dwarf_ranges): Likewise. 526 527 2009-05-04 Petr Machata <pmachata (a] redhat.com> 528 529 * libdwP.h (__libdw_read_begin_end_pair_inc): Declare new function. 530 * dwarf_ranges.c: Implement it here. 531 (dwarf_ranges): Call it. 532 * dwarf_getlocation.c (dwarf_getlocation_addr): Call it also here. 533 534 2009-04-23 Petr Machata <pmachata (a] redhat.com> 535 536 * dwarf_formaddr.c (dwarf_formaddr): Call __libdw_read_* instead 537 of read_*ubyte_unaligned. 538 * dwarf_formref_die.c (dwarf_formref_die): Likewise. 539 * dwarf_formstring.c (dwarf_formstring): Likewise. 540 * dwarf_formudate.c (dwarf_formudata): Likewise. 541 * dwarf_getaranges.c (dwarf_getaranges): Likewise. 542 * dwarf_getlocation.c (dwarf_getlocation_addr): Likewise. 543 * dwarf_getpubnames.c (get_offsets): Likewise. 544 * dwarf_nextcu.c (dwarf_nextcu): Likewise. 545 546 2009-04-23 Petr Machata <pmachata (a] redhat.com> 547 548 * libdwP.h (__libdw_read_addr_inc, __libdw_read_off_inc, 549 __libdw_read_addr, __libdw_read_off): Add four new internal 550 functions. 551 552 2009-05-07 Roland McGrath <roland (a] redhat.com> 553 554 * dwarf_getmacros.c (dwarf_getmacros): Use absolute section offset in 555 return value and OFFSET argument, not CU-relative. Only fetch the 556 attribute data when called with OFFSET of 0. 557 558 2009-05-07 Petr Machata <pmachata (a] redhat.com> 559 560 * dwarf_getmacros.c (dwarf_getmacros): Take into account offset in 561 DW_AT_macro_info attribute of CU DIE. 562 563 2009-04-15 Roland McGrath <roland (a] redhat.com> 564 565 * dwarf.h (DW_CIE_ID): Removed. 566 (DW_CIE_ID_32, DW_CIE_ID_64): New constants replace it. 567 568 2009-04-01 Roland McGrath <roland (a] redhat.com> 569 570 * dwarf.h: Add DW_CFA_GNU_negative_offset_extended. 571 572 2009-01-28 Roland McGrath <roland (a] redhat.com> 573 574 * libdwP.h (struct Dwarf_Line_s): Move out of struct Dwarf_Lines_s 575 defn so C++ doesn't scope the name to not match the Dwarf_Line typedef. 576 577 * libdwP.h (struct Dwarf_Files_s): Replace dbg field with cu field. 578 579 2009-01-26 Roland McGrath <roland (a] redhat.com> 580 581 * dwarf_ranges.c: Return 0 when no ranges or *_pc attrs at all. 582 583 2009-01-25 Roland McGrath <roland (a] redhat.com> 584 585 * dwarf_getattrs.c: Correctly skip attribute values when restarting. 586 587 2009-01-23 Roland McGrath <roland (a] redhat.com> 588 589 * Makefile.am ($(srcdir)/known-dwarf.h): Target renamed back. 590 Put these rules under if MAINTAINER_MODE. 591 592 2009-01-22 Roland McGrath <roland (a] redhat.com> 593 594 * dwarf.h: Add DW_OP_GNU_encoded_addr. 595 596 2009-01-21 Roland McGrath <roland (a] redhat.com> 597 598 * Makefile.am (CLEANFILES): Renamed to ... 599 (MOSTLYCLEANFILES): ... here. 600 (CLEANFILES): New variable, add known-dwarf.h. 601 602 2009-01-17 Roland McGrath <roland (a] redhat.com> 603 604 * Makefile.am (known-dwarf.h): Target renamed, not in $(srcdir). 605 Make it unconditional. 606 (BUILT_SOURCES): Updated. 607 608 * dwarf.h: Add description comments for DW_LANG_* values. 609 610 * Makefile.am [MAINTAINER_MODE] 611 ($(srcdir)/known-dwarf.h): New target. 612 (BUILT_SOURCES): Add it. 613 614 * dwarf.h: Add DW_OP_GNU_push_tls_address, DW_OP_GNU_uninit. 615 616 2009-01-10 Ulrich Drepper <drepper (a] redhat.com> 617 618 * dwarf_error.c: Always use __thread. Remove all !USE_TLS code. 619 620 2009-01-08 Roland McGrath <roland (a] redhat.com> 621 622 * Makefile.am (libdw.so): Don't depend on $(zip_LIBS), just link it in. 623 624 2008-01-06 Roland McGrath <roland (a] redhat.com> 625 626 * libdwP.h (struct Dwarf_Abbrev): Change type of 'has_children' to bool. 627 Reorder members. 628 * dwarf_haschildren.c: Return -1 for error case, not 0. 629 630 * Makefile.am (libdw.so): Link in $(zip_LIBS). 631 632 2009-01-06 Ulrich Drepper <drepper (a] redhat.com> 633 634 * dwarf.h: Add definition for unwind and call frame information. 635 636 * memory-access.h: Define read_ubyte_unaligned, read_sbyte_unaligned, 637 read_ubyte_unaligned_inc, and read_sbyte_unaligned_inc. 638 639 2008-08-15 Roland McGrath <roland (a] redhat.com> 640 641 * libdw.map (ELFUTILS_0.136): New version set, inherits from 642 ELFUTILS_0.130. Add dwfl_addrsegment, dwfl_report_segment. 643 644 2008-01-21 Ulrich Drepper <drepper (a] redhat.com> 645 646 * dwarf_child.c: Minor optimizations. 647 * dwarf_getattrs.c: Likewise. 648 * dwarf_getpubnames.c: Likewise. 649 * dwarf_siblingof.c: Likewise. 650 * dwarf_tag.c: Likewise. 651 652 2008-01-18 Ulrich Drepper <drepper (a] redhat.com> 653 654 * dwarf_getsrclines.c (dwarf_getsrclines): Don't require exact match 655 of DWARF_VERSION comparison, just fail if the file's version is newer. 656 657 2008-01-17 Nick Clifton <nickc (a] redhat.com> 658 659 * dwarf.h (DWARF3_LENGTH_MIN_ESCAPE_CODE): New define. 660 (DWARF3_LENGTH_MAX_ESCAPE_CODE): New define. 661 (DWARF3_LENGTH_64_BIT): New define. 662 * dwarf_getaranges (dwarf_getaranges): Use the new definitions. 663 * dwarf_getpubnames: Include dwarf.h. 664 (get_offsets): Use the new definitions. 665 * dwarf_getsrclines.c (dwarf_getsrclines): Use the new defintions. 666 * dwarf_nextcu.c: Include dwarf.h. Correct comment. 667 (dwarf_nextcu): Use the new definitions. 668 669 * libdwP.h (DIE_OFFSET_FROM_CU_OFFSET): New macro. 670 * dwarf_diecu.c (dwarf_diecu): Use the new macro. 671 * dwarf_getaranges (dwarf_getaranges): Use the new macro. 672 * dwarf_nextcu.c (dwarf_nextcu): Use the new macro. 673 674 * dwarf_getpubnames (get_offsets): Replace assertion with test and 675 error return. 676 677 * dwarf_entry_breakpoints.c (dwarf_entry_breakpoints): Use CUDIE. 678 679 * dwarf_siblingof (dwarf_siblingof): Detect a NULL return pointer. 680 Set the address in the return structure to the address of the next 681 non-sibling die, if there is no sibling and the return pointer is 682 not the same as the die pointer. 683 * libdw.h: Expand the description of the dwarf_siblingof prototype. 684 685 * dwarf_child.c: Fix typo in comment. 686 687 * libdwP.h (DWARF_VERSION): Change to 3. 688 689 * dwarf_formref.c (__libdw_formref.c): Handle attributes which do 690 not have a initialised valp pointer. 691 692 * dwarf_getattrs.c (dwarf_getattrs): Return 1 rather than 0 when 693 the end of the attributes is reached. When the callback fails, 694 return the address of the failing attribute, not the address of 695 its successor. 696 * libdw.h: Expand the description of the dwarf_getattrs prototype. 697 698 * dwarf_child.c (__libdw_find_attr): Use the new definition. 699 (dwarf_child): Likewise. 700 * dwarf_tag.c (__libdw_findabbrev): Likewise. 701 (dwarf_tag): Likewise. 702 703 2008-01-08 Roland McGrath <roland (a] redhat.com> 704 705 * Makefile.am (euinclude): Variable removed. 706 (pkginclude_HEADERS): Set this instead of euinclude_HEADERS. 707 (libdw.so): Pass -Wl,--enable-new-dtags,-rpath,$(pkglibdir). 708 709 2007-10-17 Roland McGrath <roland (a] redhat.com> 710 711 * libdw.h (__deprecated_attribute__): New macro. 712 (dwarf_formref): Mark it deprecated. 713 * dwarf_formref.c (__libdw_formref): New function, broken out of ... 714 (dwarf_formref): ... here. Call it. Remove INTDEF. 715 * libdwP.h: Remove INTDECL. 716 Declare __libdw_formref. 717 * dwarf_siblingof.c (dwarf_siblingof): Call __libdw_formref instead. 718 * dwarf_formref_die.c: Likewise. Handle DW_FORM_ref_addr here. 719 720 * libdw_form.c (__libdw_form_val_len): Fix DW_FORM_ref_addr result, 721 needs to check CU->version. 722 723 * libdwP.h (struct Dwarf_CU): New member `version'. 724 * libdw_findcu.c (__libdw_findcu): Initialize it. 725 726 * dwarf_child.c: Return 1 for null entry as first child. 727 728 2007-10-05 Roland McGrath <roland (a] redhat.com> 729 730 * dwarf_begin_elf.c (check_section): Punt on SHT_NOBITS sections. 731 732 * libdw.h (__extern_inline): Rename to __libdw_extern_inline. 733 [__OPTIMIZE__] (dwarf_whatattr, dwarf_whatform): Update uses. 734 735 2007-10-03 Roland McGrath <roland (a] redhat.com> 736 737 * libdw.map (ELFUTILS_0.130: Add dwfl_build_id_find_elf 738 and dwfl_build_id_find_debuginfo. 739 740 * libdw.map (ELFUTILS_0.130): New version set, inherits from 741 ELFUTILS_0.127. Add dwfl_module_build_id, dwfl_module_report_build_id. 742 743 2007-10-02 Roland McGrath <roland (a] redhat.com> 744 745 * libdw_visit_scopes.c (classify_die): Return walk for class_type and 746 structure_type. 747 748 2007-08-07 Roland McGrath <roland (a] redhat.com> 749 750 * dwarf_getscopes.c (pc_match): Swallow dwarf_haspc error return when 751 error code is DWARF_E_NOERROR (0). 752 753 * dwarf_getscopes.c (pc_record): Always bail early if DIE->prune. 754 Fix typo in __libdw_visit_scopes argument. 755 756 * dwarf_getscopes.c (pc_match): Check dwarf_haspc error return, 757 swallow DWARF_E_NO_DEBUG_RANGES but not other errors. 758 759 2007-07-03 Roland McGrath <roland (a] redhat.com> 760 761 * libdw.h (__extern_inline): New macro. 762 [__OPTIMIZE__] (dwarf_whatattr, dwarf_whatform): Use it. 763 764 2007-04-16 Roland McGrath <roland (a] redhat.com> 765 766 * libdw.map (ELFUTILS_0.127): Add dwfl_module_address_section. 767 768 2007-04-05 Roland McGrath <roland (a] redhat.com> 769 770 * dwarf_getsrcdirs.c: New file. 771 * Makefile.am (libdw_a_SOURCES): Add it. 772 * libdw.h: Declare dwarf_getsrcdirs. 773 * libdw.map (ELFUTILS_0.127): Add it. 774 775 * libdwP.h (struct Dwarf_Files_s): New member ndirs. 776 * dwarf_getsrclines.c (dwarf_getsrclines): Don't clobber NDIRLIST to 777 zero before we use it to check for DWARF_E_INVALID_DIR_IDX. 778 Save DIRARRAY in the Dwarf_Files. 779 780 * dwarf_ranges.c (dwarf_ranges): Don't sign-extend 32-bit BEGIN 781 address to check for all-ones base address entry. Check directly. 782 Reported by Sbastien Dugu <sebastien.dugue (a] bull.net>. 783 784 2007-03-25 Roland McGrath <roland (a] redhat.com> 785 786 * dwarf_begin_elf.c (check_section): Return Dwarf * instead of void. 787 Return NULL when freeing RESULT on error. 788 (global_read, scngrp_read): Check return value from check_section, 789 break out of loop after it has freed RESULT. 790 (valid_p): Handle null argument. 791 792 2007-03-12 Roland McGrath <roland (a] redhat.com> 793 794 * libdw.map (ELFUTILS_0.127): Add dwfl_report_begin_add. 795 796 2007-03-04 Roland McGrath <roland (a] redhat.com> 797 798 * libdw.map (ELFUTILS_0.127): New version set, inherits from 799 ELFUTILS_0.126. Add dwfl_module_addrsym. 800 801 2007-02-10 Roland McGrath <roland (a] redhat.com> 802 803 * dwarf.h (DW_OP_fbreg): Comment fix. 804 805 2007-02-03 Roland McGrath <roland (a] redhat.com> 806 807 * dwarf_getelf.c (dwarf_getelf): Renamed from dwarf_get_elf. 808 * libdw.map (ELFUTILS_0.126): New version set, inherits from 809 ELFUTILS_0.122. Move dwarf_getelf there; it was never truly 810 exported in the past. 811 812 2006-12-17 Roland McGrath <roland (a] redhat.com> 813 814 * dwarf_getlocation.c (dwarf_getlocation_addr): Use zero as base 815 address when the CU is missing attributes due to buggy GCC. 816 817 2006-08-29 Roland McGrath <roland (a] redhat.com> 818 819 * Makefile.am (CLEANFILES): Add libdw.so.$(VERSION). 820 821 * libdw.h (dwarf_diecu): Add __nonnull_attribute__. 822 (dwarf_child): Don't list arg 1 in __nonnull_attribute__. 823 824 * libdw_alloc.c (__libdw_allocate): Take new ALIGN argument, make sure 825 result is aligned. Adjust NEWP->remaining here for this allocation. 826 * libdwP.h: Update decl. 827 (libdw_alloc): Update caller. 828 829 2006-07-12 Ulrich Drepper <drepper (a] redhat.com> 830 831 * dwarf_child.c: Adjust for internal_function_def removal. 832 * dwarf_getabbrev.c: Likewise. 833 * dwarf_tag.c: Likewise. 834 * libdw_form.c: Likewise. 835 * memory-access.c: Likewise. 836 837 2006-06-28 Roland McGrath <roland (a] redhat.com> 838 839 * libdw.map: Export dwfl_linecu, dwfl_line_comp_dir. 840 841 * libdw.map: Bump to 0.122; export dwfl_module_getsymtab and 842 dwfl_module_getsym. 843 844 2006-05-27 Ulrich Drepper <drepper (a] redhat.com> 845 846 * libdw.h: Add extern "C". 847 848 2006-05-22 Ulrich Drepper <drepper (a] redhat.com> 849 850 * dwarf_getaranges.c (dwarf_getaranges): Handle files without 851 aranges information. 852 853 2006-05-21 Ulrich Drepper <drepper (a] redhat.com> 854 855 * libdw.h: Add nonnull attributes to dwarf_tag, dwarf_getattrs, 856 dwarf_haschildren. 857 858 2006-02-28 Roland McGrath <roland (a] redhat.com> 859 860 * dwarf.h: Add missing DW_ATE_*, DW_TAG_*, DW_LANG_*, DW_CFA_*, 861 DW_OP_* values, to match DWARF 3.0. Add new DW_DS_*, DW_END_* 862 values from DWARF 3.0. 863 864 2006-02-22 Roland McGrath <roland (a] redhat.com> 865 866 * libdw.map: Bump to 0.120; export dwfl_version. 867 868 2005-12-22 Roland McGrath <roland (a] redhat.com> 869 870 * libdw.map: Bump to 0.119; export dwfl_linux_proc_maps_report. 871 872 2005-12-12 Roland McGrath <roland (a] redhat.com> 873 874 * dwarf_ranges.c: Copy CU base address-finding code from 875 dwarf_getlocation. 876 877 2005-12-09 Roland McGrath <roland (a] redhat.com> 878 879 * dwarf_getlocation.c (dwarf_getlocation_addr): Add some unlikelys. 880 Delay CU base lookup until it's needed. 881 If CU base lookup fails with no error, flag invalid DWARF. 882 883 2005-11-25 Roland McGrath <roland (a] redhat.com> 884 885 * libdw.map: Bump to 0.118; export dwfl_module_register_names. 886 887 2005-11-15 Roland McGrath <roland (a] redhat.com> 888 889 * Makefile.am [BUILD_STATIC] (AM_CFLAGS): Add -fpic. 890 891 2005-11-13 Roland McGrath <roland (a] redhat.com> 892 893 * libdw.map: Bump to 0.117; export dwfl_module_return_value_location. 894 895 2005-10-27 Roland McGrath <roland (a] redhat.com> 896 897 * dwarf_entry_breakpoints.c (search_range): Fix binary search code; 898 don't match end_sequence markers. 899 900 * dwarf_getsrclines.c (compare_lines): Sort end_sequence markers 901 before normal records at the same address. 902 * dwarf_getsrc_die.c (dwarf_getsrc_die): Don't match an end_sequence 903 marker. 904 905 2005-10-26 Roland McGrath <roland (a] redhat.com> 906 907 * dwarf_getfuncs.c (dwarf_getfuncs): Use Dwarf_Die, not Dwarf_Func. 908 * dwarf_func_file.c: Renamed to ... 909 * dwarf_decl_file.c: ... here. 910 * dwarf_func_col.c: Renamed to ... 911 * dwarf_decl_column.c: ... here. 912 * dwarf_func_line.c: Renamed to ... 913 * dwarf_decl_line.c: ... here. 914 (dwarf_func_line): Renamed to ... 915 (dwarf_decl_line): ... this. Take a Dwarf_Die * argument. 916 (__libdw_func_intval): Renamed __libdw_attr_intval. 917 * dwarf_func_name.c: File removed. 918 * dwarf_func_lowpc.c: File removed. 919 * dwarf_func_highpc.c: File removed. 920 * dwarf_func_entrypc.c: File removed. 921 * dwarf_func_die.c: File removed. 922 * Makefile.am (libdw_a_SOURCES): Updated. 923 * libdw.h: Update decls. 924 (Dwarf_Func): Type removed. 925 * libdwP.h: Update decls. 926 (struct Dwarf_Func_s): Type removed. 927 * libdw.map: Updated. 928 929 * libdwP.h (CUDIE): New macro. 930 * dwarf_getlocation.c (dwarf_getlocation_addr): Use it. 931 * dwarf_getscopes_die.c (dwarf_getscopes_die): Likewise. 932 * dwarf_ranges.c (dwarf_ranges): Likewise. 933 934 * dwarf_getloclist.c: Renamed to ... 935 * dwarf_getlocation.c: ... here. 936 (getloclist): Renamed to getlocation. 937 (dwarf_getloclist): Renamed to dwarf_getlocation. 938 (dwarf_addrloclists): Renamed to dwarf_getlocation_addr. 939 * Makefile.am (libdw_a_SOURCES): Updated. 940 * libdw.h (dwarf_getloclist): Renamed to dwarf_getlocation. 941 (dwarf_addrloclists): Renamed dwarf_getlocation_addr. 942 (Dwarf_Loc): Renamed Dwarf_Op. 943 * libdwP.h (struct loc_s): Update use. 944 * libdw.map: Update map. 945 946 * dwarf_entry_breakpoints.c: Use the second line record within the 947 function, regardless of its source location data. 948 949 2005-10-25 Roland McGrath <roland (a] redhat.com> 950 951 * dwarf_entry_breakpoints.c: Fall back to entrypc for contiguous too. 952 953 * libdw.map: Add dwarf_entrypc, dwarf_entry_breakpoints. 954 955 2005-10-14 Roland McGrath <roland (a] redhat.com> 956 957 * dwarf_diecu.c (dwarf_diecu): New file. 958 * Makefile.am (libdw_a_SOURCES): Add it. 959 * libdw.h: Declare dwarf_diecu. 960 * libdw.map: Export it. 961 962 * libdw.map: Bump to 0.116; export dwarf_ranges. 963 964 2005-09-20 Roland McGrath <roland (a] redhat.com> 965 966 * dwarf_haspc.c: Use dwarf_ranges. 967 * dwarf_entry_breakpoints.c: Likewise. 968 969 * dwarf_ranges.c: New file. 970 * Makefile.am (libdw_a_SOURCES): Add it. 971 * libdw.h: Declare dwarf_ranges. 972 * libdwP.h: Add INTDECL. 973 974 2005-09-14 Roland McGrath <roland (a] redhat.com> 975 976 * dwarf_entry_breakpoints.c (dwarf_entry_breakpoints): Fix braino in 977 prologue_end marker scanning loop. 978 979 2005-09-11 Roland McGrath <roland (a] redhat.com> 980 981 * dwarf.h: Comment typo fix. 982 983 2005-09-07 Roland McGrath <roland (a] redhat.com> 984 985 * dwarf_entry_breakpoints.c: New file. 986 * Makefile.am (libdw_a_SOURCES): Add it. 987 * libdw.h: Declare dwarf_entry_breakpoints. 988 989 * dwarf_entrypc.c: New file. 990 * Makefile.am (libdw_a_SOURCES): Add it. 991 * libdw.h: Declare dwarf_entrypc. 992 * libdwP.h: Add INTDECL. 993 994 2005-08-28 Ulrich Drepper <drepper (a] redhat.com> 995 996 * Makefile.am: Use $(LINK) not $(CC) when creating DSO. 997 (%.os): Use COMPILE.os. 998 (COMPILE.os): Filter out gconv options. 999 1000 2005-08-27 Roland McGrath <roland (a] redhat.com> 1001 1002 * dwarf_getscopes.c (dwarf_getscopes): Rewritten using 1003 __libdw_visit_scopes. 1004 1005 * dwarf_getscopes_die.c: New file. 1006 * Makefile.am (libdw_a_SOURCES): Add it. 1007 * libdw.h: Declare dwarf_getscopes_die. 1008 * libdw.map: Bump to 0.115 and add it. 1009 1010 * libdw_visit_scopes.c (__libdw_visit_scopes): Pass a struct 1011 containing a DIE and its parent pointer, instead of just Dwarf_Die. 1012 Take two functions for both preorder and postorder visitors. 1013 * libdwP.h: Update decl. 1014 (struct Dwarf_Die_Chain): New type. 1015 * dwarf_func_inline.c: Update uses. 1016 1017 * dwarf_diename.c (dwarf_diename): Use dwarf_attr_integrate. 1018 Add INTDEF. 1019 * libdwP.h: Add INTDECL. 1020 * dwarf_func_name.c (dwarf_func_name): Use dwarf_diename. 1021 1022 2005-08-23 Roland McGrath <roland (a] redhat.com> 1023 1024 * dwarf_attr_integrate.c (dwarf_attr_integrate): Treat 1025 DW_AT_specification the same as DW_AT_abstract_origin. 1026 1027 2005-08-20 Roland McGrath <roland (a] redhat.com> 1028 1029 * libdw.map: Add dwfl_cumodule, remove dwfl_linecu. 1030 Add dwfl_linux_kernel_report_offline, dwfl_offline_section_address, 1031 and dwfl_report_offline. 1032 1033 2005-08-19 Roland McGrath <roland (a] redhat.com> 1034 1035 * libdw.map: Bump version to ELFUTILS_0.114 for libdwfl changes. 1036 Add dwfl_module_relocate_address, dwfl_module_relocations, 1037 dwfl_module_relocation_info. 1038 1039 2005-08-18 Roland McGrath <roland (a] redhat.com> 1040 1041 * dwarf_getscopes.c (dwarf_getscopes): Include the CU itself as 1042 outermost scope in the results. 1043 1044 2005-08-15 Roland McGrath <roland (a] redhat.com> 1045 1046 * dwarf_func_inline.c: New file. 1047 * Makefile.am (libdw_a_SOURCES): Add it. 1048 * libdw.h: Declare dwarf_func_inline, dwarf_func_inline_instances. 1049 * libdw.map: Add them. 1050 1051 * dwarf_func_die.c: New file. 1052 * Makefile.am (libdw_a_SOURCES): Add it. 1053 * libdw.h: Declare dwarf_func_die. 1054 * libdw.map: Add it. Bump version to ELFUTILS_0.114. 1055 1056 2005-08-10 Ulrich Drepper <drepper (a] redhat.com> 1057 1058 * dwarf_getsrclines.c (dwarf_getsrclines): Correct fallout of renaming 1059 of DW_LNS_set_epilog_begin. 1060 1061 2005-08-09 Roland McGrath <roland (a] redhat.com> 1062 1063 * dwarf.h (DW_LNS_set_epilog_begin): Renamed DW_LNS_set_epilogue_begin. 1064 1065 * dwarf_end.c: Add INTDEF. 1066 * dwarf_error.c (dwarf_errmsg): Likewise. 1067 * libdwP.h (dwarf_end, dwarf_errmsg): Add INTDECLs. 1068 1069 2005-08-01 Roland McGrath <roland (a] redhat.com> 1070 1071 * dwarf_getaranges.c (dwarf_getaranges): Check for bogus offset. 1072 * dwarf_getabbrev.c (__libdw_getabbrev): Likewise. 1073 1074 2005-07-28 Ulrich Drepper <drepper (a] redhat.com> 1075 1076 * Makefile.am (libdw.so): No need to link with libeu.a anymore. 1077 (libdw_a_LIBADD): Add all files from libdwfl.a. 1078 1079 2005-07-27 Roland McGrath <roland (a] redhat.com> 1080 1081 * Makefile.am (libdw.so): Link ../libdwfl/libdwfl_pic.a in, 1082 along with ../libebl/libebl.a and ../lib/libeu.a; 1083 depend on ../libelf/libelf.so. 1084 (libdw_so_LDADD): New variable. 1085 * libdw.map: Add dwfl_* symbols formerly in ../libdwfl/libdwfl.map. 1086 1087 * libdw.map: Define an empty base version and move all symbols to 1088 version ELFUTILS_0.111; don't define ELFUTILS_1.0 at all yet. 1089 1090 2005-07-23 Ulrich Drepper <drepper (a] redhat.com> 1091 1092 * dwarf_error.c: Add internal alias for dwarf_errno. 1093 * libdwP.h: Declare __dwarf_errno_internal. 1094 * dwarf_getloclist.c: Use INTDEF for dwarf_errno. 1095 1096 * dwarf_error.c [USE_TLS]: Actually use __thread in definition of 1097 global_error. 1098 1099 2005-06-01 Roland McGrath <roland (a] redhat.com> 1100 1101 * dwarf_getaranges.c (dwarf_getaranges): Sort result array. 1102 * dwarf_getarange_addr.c (dwarf_getarange_addr): Use binary search. 1103 1104 2005-06-08 Roland McGrath <roland (a] redhat.com> 1105 1106 * memory-access.h (get_uleb128_step, get_uleb128): Remove casts. 1107 (get_sleb128_step, get_sleb128): Likewise. 1108 * dwarf_getattrs.c (dwarf_getattrs): Add consts. 1109 * dwarf_getloclist.c (getloclist): Likewise. 1110 * dwarf_formblock.c (dwarf_formblock): Likewise. 1111 * dwarf_getsrclines.c (dwarf_getsrclines): Likewise. 1112 * dwarf_getabbrevattr.c (dwarf_getabbrevattr): Likewise. 1113 * dwarf_formref.c (dwarf_formref): Likewise. 1114 * dwarf_formsdata.c (dwarf_formsdata): Likewise. 1115 * dwarf_formudata.c (dwarf_formudata): Likewise. 1116 * dwarf_haschildren.c (dwarf_haschildren): Likewise. 1117 * dwarf_child.c (__libdw_find_attr, __libdw_find_attr): Likewise. 1118 * dwarf_tag.c (dwarf_tag): Likewise. 1119 * dwarf_getabbrev.c (__libdw_getabbrev): Likewise. 1120 * memory-access.c (__libdw_get_uleb128, __libdw_get_sleb128): Likewise. 1121 * libdw_form.c (__libdw_form_val_len): Likewise. 1122 * libdwP.h: Update decl. 1123 1124 2005-06-04 Roland McGrath <roland (a] redhat.com> 1125 1126 * memory-access.h (get_uleb128_rest_return): New macro. 1127 [! IS_LIBDW] (__libdw_get_uleb128): New static, defined using it. 1128 (get_sleb128_rest_return): New macro. 1129 [! IS_LIBDW] (__libdw_get_sleb128): New static, defined using it. 1130 * memory-access.c: New file. 1131 * Makefile.am (libdw_a_SOURCES): Add it. 1132 (DEFS): Add -DIS_LIBDW. 1133 1134 2005-05-31 Roland McGrath <roland (a] redhat.com> 1135 1136 * dwarf_formref_die.c (dwarf_formref_die): Add CU header offset to 1137 formref offset. 1138 1139 2005-05-30 Roland McGrath <roland (a] redhat.com> 1140 1141 * dwarf_getloclist.c (dwarf_addrloclists): Use DW_AT_entry_pc for base 1142 address if DW_AT_low_pc is missing. Not to spec, but GCC generates it. 1143 1144 * dwarf_getloclist.c (dwarf_addrloclists): Don't sign-extend 4-byte 1145 BEGIN value. Instead, match base address entries separately for 1146 32/64 size cases. 1147 1148 2005-05-28 Roland McGrath <roland (a] redhat.com> 1149 1150 * dwarf_getloclist.c (dwarf_addrloclists): Fix decoding to advance 1151 past location expression contents. 1152 1153 2005-05-23 Roland McGrath <roland (a] redhat.com> 1154 1155 * dwarf_getsrclines.c: Comment typo fix. 1156 1157 * dwarf_haspc.c (dwarf_haspc): Fix CU DIE address calculation. 1158 * dwarf_getloclist.c (dwarf_addrloclists): Likewise. 1159 1160 2005-05-22 Ulrich Drepper <drepper (a] redhat.com> 1161 1162 * libdwP.h: Only use INTDECL for alias prototypes. 1163 1164 2005-05-19 Roland McGrath <roland (a] redhat.com> 1165 1166 * dwarf_getloclist.c (attr_ok): Permit DW_AT_static_link too. 1167 1168 * dwarf_getscopevar.c: New file. 1169 * Makefile.am (libdw_a_SOURCES): Add it. 1170 * libdw.h: Declare dwarf_getscopevar. 1171 1172 * dwarf_getsrcfiles.c: Add INTDEF. 1173 * dwarf_haschildren.c: Likewise. 1174 * libdwP.h (dwarf_getsrcfiles, dwarf_haschildren): Add INTDECL. 1175 1176 * dwarf_getscopes.c: New file. 1177 * Makefile.am (libdw_a_SOURCES): Add it. 1178 * libdw.h: Declare dwarf_getscopes. 1179 * libdw.map: Add it. 1180 1181 2005-05-18 Roland McGrath <roland (a] redhat.com> 1182 1183 * libdwP.h (IDX_debug_ranges): New enum constant. 1184 * dwarf_begin_elf.c (dwarf_scnnames): Add it for ".debug_ranges". 1185 * libdwP.h (DWARF_E_NO_DEBUG_RANGES): New enum constant. 1186 * dwarf_error.c (errmsgs): Add it. 1187 * dwarf_haspc.c: New file. 1188 * libdw.h: Declare dwarf_haspc. 1189 * libdw.map: Add it. 1190 * libdwP.h: Add INTDECL. 1191 1192 * dwarf_attr_integrate.c: New file. 1193 * dwarf_hasattr_integrate.c: New file. 1194 * Makefile.am (libdw_a_SOURCES): Add them. 1195 * libdw.h: Declare dwarf_attr_integrate, dwarf_hasattr_integrate. 1196 * libdw.map: Add them. 1197 1198 * dwarf_hasattr.c: Add INTDEF. 1199 * libdwP.h: Add INTDECL for it. 1200 1201 * dwarf_formref_die.c: New file. 1202 * Makefile.am (libdw_a_SOURCES): Add it. 1203 * libdw.h (dwarf_formref_die): Declare it. 1204 * libdwP.h (dwarf_formref_die): Add INTDECL. 1205 * libdw.map: Add it. 1206 1207 * dwarf_getloclist.c (attr_ok, getloclist): New functions, broken out 1208 of ... 1209 (dwarf_getloclist): ... here. Call them. 1210 (dwarf_addrloclists): New function. 1211 * libdw.h: Declare it. 1212 * libdw.map: Add it. 1213 1214 * dwarf_getmacros.c (dwarf_getmacros): Don't bail at 1215 DW_MACINFO_end_file. Recognize type 0 as terminator. 1216 1217 2005-05-05 Roland McGrath <roland (a] redhat.com> 1218 1219 * dwarf_getsrc_die.c (dwarf_getsrc_die): Use binary search. 1220 1221 * dwarf_getsrclines.c (dwarf_getsrclines): Sort result array, since 1222 the line program does not produce all entries in ascending order. 1223 1224 2005-04-25 Ulrich Drepper <drepper (a] redhat.com> 1225 1226 * dwarf_getsrc_file.c (dwarf_getsrc_file): Handle multiple 1227 occurences (e.g., inlines) better. 1228 1229 2005-04-24 Ulrich Drepper <drepper (a] redhat.com> 1230 1231 * libdw.h (DWARF_END_ABBREV): Define. 1232 * dwarf_getabbrev.c (__libdw_getabbrev): Return DWARF_END_ABBREV if 1233 end is reached. 1234 * dwarf_offabbrev.c (dwarf_offabbrev): Return -1 on error, 1 if end 1235 of records reached. 1236 * dwarf_tag.c (__libdw_findabbrev): Also recognize DWARF_END_ABBREV 1237 as error of __libdw_getabbrev. 1238 1239 2005-04-04 Ulrich Drepper <drepper (a] redhat.com> 1240 1241 * dwarf_getsrc_file.c (dwarf_getsrc_file): Minor optimization. 1242 1243 * dwarf_getsrc_file.c (dwarf_getsrc_file): Always pass number of 1244 results back to caller. 1245 1246 2005-04-04 Roland McGrath <roland (a] redhat.com> 1247 1248 * dwarf_getsrc_file.c (dwarf_getsrc_file): Use size_t for CUHL. 1249 1250 * dwarf_func_line.c (__libdw_func_intval): Use internal_function in 1251 defn. 1252 1253 2005-04-04 Ulrich Drepper <drepper (a] redhat.com> 1254 1255 * dwarf_getsrc_file.c (dwarf_getsrc_file): Use INTUSE. 1256 1257 * dwarf_getsrc_file.c: New file. 1258 * Makefile.am (libdw_a_SOURCES): Add dwarf_getsrc_file.c. 1259 * libdw.h: Declare dwarf_getsrc_file. 1260 * libdw.map: Add dwarf_getsrc_file. 1261 1262 2005-04-02 Ulrich Drepper <drepper (a] redhat.com> 1263 1264 * dwarf_func_entrypc.c: New file. 1265 * dwarf_func_col.c: New file. 1266 * dwarf_func_line.c: New file. 1267 * dwarf_func_file.c: New file. 1268 * libdw.h: Add prototypes for new functions. 1269 * libdw.map: Add dwarf_func_entrypc, dwarf_func_col, dwarf_func_line, 1270 dwarf_func_file. 1271 * Makefile.am (libdw_a_SOURCES): Add dwarf_func_entrypc.c, 1272 dwarf_func_col.c, dwarf_func_line.c, dwarf_func_file.c. 1273 * libdwP.h (struct Dwarf_Func_s): Add cudie element. 1274 Declare __libdw_func_intval and __dwarf_formsdata_internal. 1275 * dwarf_getfuncs.c: Also fill in cudie in Dwarf_Func object. 1276 * dwarf_formsdata.c: Use INTUSE and INTDEF to avoid PLTs. 1277 1278 * dwarf.h: Add some DWARF3 definitions. 1279 1280 2005-04-01 Ulrich Drepper <drepper (a] redhat.com> 1281 1282 * dwarf_getfuncs.c: New file. 1283 * dwarf_func_highpc.c: New file. 1284 * dwarf_func_lowpc.c: New file. 1285 * dwarf_func_name.c: New file. 1286 * Makefile.am (libdw_a_SOURCES): Add dwarf_getfuncs.c, 1287 dwarf_func_highpc.c, dwarf_func_lowpc.c, and dwarf_func_name.c. 1288 * libdw.map: Add dwarf_getfuncs, dwarf_func_highpc, dwarf_func_lowpc, 1289 and dwarf_func_name. 1290 * libdw.h: Add prototypes for new functions. 1291 * dwarf_child.c: Use INTUSE and INTDEF to avoid PLTs. 1292 * dwarf_siblingof.c: Likewise. 1293 * dwarf_dieoffset.c: Likewise. 1294 * dwarf_highpc.c: Likewise. 1295 * dwarf_lowpc.c: Likewise. 1296 * libdwP.h: Add prototypes for internal functions. 1297 Define Dwarf_Func_s structure. 1298 1299 2005-03-29 Ulrich Drepper <drepper (a] redhat.com> 1300 1301 * libdw.h: Add padding in Dwarf_die. 1302 1303 * dwarf_arrayorder.c: Use INTUSE and INTDEF to avoid PLTs. 1304 * dwarf_attr.c: Likewise. 1305 * dwarf_begin.c: Likewise. 1306 * dwarf_begin_elf.c: Likewise. 1307 * dwarf_bitoffset.c: Likewise. 1308 * dwarf_bitsize.c: Likewise. 1309 * dwarf_bytesize.c: Likewise. 1310 * dwarf_diename.c: Likewise. 1311 * dwarf_formaddr.c: Likewise. 1312 * dwarf_formblock.c: Likewise. 1313 * dwarf_formref.c: Likewise. 1314 * dwarf_formstring.c: Likewise. 1315 * dwarf_formudata.c: Likewise. 1316 * dwarf_getarange_addr.c: Likewise. 1317 * dwarf_getarangeinfo.c: Likewise. 1318 * dwarf_getaranges.c: Likewise. 1319 * dwarf_getloclist.c: Likewise. 1320 * dwarf_getmacros.c: Likewise. 1321 * dwarf_getsrc_die.c: Likewise. 1322 * dwarf_getsrcfiles.c: Likewise. 1323 * dwarf_getsrclines.c: Likewise. 1324 * dwarf_highpc.c: Likewise. 1325 * dwarf_lowpc.c: Likewise. 1326 * dwarf_nextcu.c: Likewise. 1327 * dwarf_offdie.c: Likewise. 1328 * dwarf_siblingof.c: Likewise. 1329 * dwarf_srclang.c: Likewise. 1330 * dwarf_tag.c: Likewise. 1331 * libdw_findcu.c: Likewise. 1332 * libdwP.h: Add prototypes for internal functions. 1333 1334 * dwarf_addrdie.c: New file. 1335 * dwarf_macro_opcode.c: New file. 1336 * dwarf_macro_param1.c: New file. 1337 * dwarf_macro_param2.c: New file. 1338 * libdw.h: Add declarations. Move Dwarf_Macro definition to libdwP.h. 1339 * libdwP.h: Remove Dwarf_Macro definition. 1340 * Makefile.am (libdw_a_SOURCES): Add dwarf_addrdie.c, 1341 dwarf_macro_opcode.c, dwarf_macro_param1.c, and dwarf_macro_param2.c. 1342 * libdw.map: Add entries for new functions. 1343 1344 2005-03-21 Ulrich Drepper <drepper (a] redhat.com> 1345 1346 * libdw.h: Handle broken gcc < 4. 1347 1348 2005-02-15 Ulrich Drepper <drepper (a] redhat.com> 1349 1350 * Makefile (AM_CFLAGS): Add -Wunused -Wextra -Wformat=2. 1351 1352 * dwarf_begin_elf.c: Fix warnings. 1353 * dwarf_dieoffset.c: Likewise. 1354 * dwarf_end.c: Likewise. 1355 * dwarf_error.c: Likewise. 1356 * dwarf_getpubnames.c: Likewise. 1357 1358 * libdwP.h: Add new error values. 1359 * dwarf_error.c: Support new error values. 1360 * dwarf_getpubnames.c: Check parameter value. 1361 1362 2005-02-05 Ulrich Drepper <drepper (a] redhat.com> 1363 1364 * Makefile.am: Check for text relocations in constructed DSO. 1365 1366 * Makefile.am [MUDFLAP] (AM_CFLAGS): Add -fmudflap. 1367 1368 2005-02-04 Ulrich Drepper <drepper (a] redhat.com> 1369 1370 * dwarf_siblingof.c (dwarf_siblingof): Add some buffer boundary 1371 checks to not read over buffer boundaries for ill-formed DWARF data. 1372 1373 2004-09-25 Ulrich Drepper <drepper (a] redhat.com> 1374 1375 * dwarf_child.c: Make compile with gcc 4.0. 1376 * dwarf_error.c: Likewise. 1377 * dwarf_formblock.c: Likewise. 1378 * dwarf_getabbrev.c: Likewise. 1379 * dwarf_getattrs.c: Likewise. 1380 * dwarf_getsrclines.c: Likewise. 1381 * dwarf_tag.c: Likewise. 1382 * libdw_form.c: Likewise. 1383 1384 2004-01-20 Ulrich Drepper <drepper (a] redhat.com> 1385 1386 * Makefile.am: Support building with mudflap. 1387 1388 * dwarf_getloclist.c: Fix warnings gcc 3.4 spits out. 1389 * dwarf_getsrclines.c: Likewise. 1390 * dwarf_memory-access.h: Likewise. 1391 1392 2004-01-19 Ulrich Drepper <drepper (a] redhat.com> 1393 1394 * dwarf_getsrcfiles.c: Third parameter can be NULL. 1395 1396 * libdw.h: Define Dwarf_macro. Declare dwarf_getmacros. 1397 Third parameter of dwarf_getsrcfiles can be NULL. 1398 1399 * libdw.map: Add dwarf_getmacros. 1400 * Makefile.am (libdw_a_SOURCES): Add dwarf_getmacros. 1401 * dwarf_getmacros.c: New file. 1402 1403 2004-01-18 Ulrich Drepper <drepper (a] redhat.com> 1404 1405 * libdw.h: Second parameter of dwarf_getaranges can be NULL. 1406 1407 * dwarf_nextcu.c: Return -1 if dwarf parameter is NULL. 1408 1409 * dwarf_getsrclines.c: 1410 Use read_2ubyte_unaligned_inc instead of _inc-less variant. 1411 1412 * dwarf_getaranges.c: Allow naranges parameter to be NULL. 1413 1414 * libdwP.h (_): Use elfutils domain. 1415 1416 * dwarf_getsrclines.c (dwarf_getsrclines): Add more branch prediction. 1417 1418 * dwarf_getsrclines.c: Fix typo in comment. 1419 1420 2004-01-17 Ulrich Drepper <drepper (a] redhat.com> 1421 1422 * Makefile.am: Support building with mudflap. 1423 1424 2004-01-16 Ulrich Drepper <drepper (a] redhat.com> 1425 1426 * memory-access.h: Add lots of const in case a pointer passed is const. 1427 1428 * dwarf_formflag.c: New file. 1429 * dwarf_getattrs.c: New file. 1430 * dwarf_error.c: Add new error value. 1431 * libdw.h: Add prototypes for new functions. Adjust prototype for 1432 dwarf_getpubnames. 1433 * libdw.map: Add new functions. 1434 * dwarf_getpubnames.c: Change type of return value and fourth parameter 1435 to ptrdiff_t. 1436 * libdwP.h: Add new error value. 1437 * Makefile.am (libdw_a_SOURCES): Add dwarf_getattrs.c and 1438 dwarf_formflag.c. 1439 1440 * dwarf_getpubnames.c (dwarf_getpubnames): Just fail if dbg is NULL. 1441 1442 2004-01-12 Ulrich Drepper <drepper (a] redhat.com> 1443 1444 * dwarf_getarange_addr.c: New file 1445 * dwarf_getarangeinfo.c: New file. 1446 * dwarf_getaranges.c: New file. 1447 * dwarf_onerange.c: New file. 1448 * libdw.h: Declare new functions. Define Dwarf_Arange and 1449 Dwarf_Aranges. 1450 * libdw.map: Add new functions. 1451 * libdwP.h: Add new errors. Add aranges member to struct Dwarf. 1452 Define Dwarf_Aranges_s and Dwarf_Arange_s. 1453 * Makefile.am (libdw_a_SOURCES): Add dwarf_getaranges.c, 1454 dwarf_onearange.c, dwarf_getarangeinfo.c, dwarf_getarange_addr.c. 1455 * dwarf_error.c: Add new message. 1456 1457 2004-01-11 Ulrich Drepper <drepper (a] redhat.com> 1458 1459 * Makefile.am (libdw_a_SOURCES): Add dwarf_lineaddr.c, dwarf_linecol.c, 1460 dwarf_linebeginstatement.c, dwarf_lineendsequence.c, dwarf_lineblock.c, 1461 dwarf_lineprologueend.c, dwarf_lineepiloguebegin.c, dwarf_onesrcline.c. 1462 * dwarf_error.c: Add another message. 1463 * dwarf_getsrc_die.c: Adjust for Dwarf_Files and Dwarf_Lines 1464 introduction. 1465 * dwarf_filesrc.c: Likewise. 1466 * dwarf_getsrcfiles.c: Likewise. 1467 * dwarf_getsrclines.c: Likewise. 1468 * dwarf_lineaddr.c: New file. 1469 * dwarf_linebeginstatement.c: New file. 1470 * dwarf_lineblock.c: New file. 1471 * dwarf_linecol.c: New file. 1472 * dwarf_lineendsequence.c: New file. 1473 * dwarf_lineepiloguebegin.c: New file. 1474 * dwarf_lineno.c: New file. 1475 * dwarf_lineprologueend.c: New file. 1476 * dwarf_onesrcline.c: New file. 1477 * dwarf_lineno.c: Change interface to store result in object pointed 1478 to by second parameter. 1479 * libdw.h: Add prototypes for new functions. Change dwarf_lineno 1480 prototype. Define Dwarf_Files and Dwarf_Lines. 1481 * libdw.map: Add new functions. 1482 * libdwP.h: Define Dwarf_Files_s and Dwarf_Lines_s. 1483 * libdw_findcu.c: Don't initialize nlines field. 1484 1485 * dwarf_siblingof: Little optimization. 1486 1487 * dwarf_begin.c: Remember that the ELF descriptor must be closed. 1488 * dwarf_end.c: Close ELF descriptor if free_elf is set. 1489 * libdwP.h (struct Dwarf): Add free_elf field. 1490 1491 * Makefile.am (libdw_a_SOURCES): Add dwarf_getstring.c and 1492 dwarf_offabbrev.c. 1493 * dwarf_getstring.c: New file. 1494 * dwarf_offabbrev.c: New file. 1495 * libdw.map: Add dwarf_getstring and dwarf_offabbrev. 1496 * dwarf_getabbrev.c (__libdw_getabbrev): Add new dbg and result 1497 parameters. Don't allocate memory if not necessary and don't lookup 1498 previous results if no CU given. 1499 (dwarf_getabbrev): Adjust call to __libdw_getabbrev. 1500 * dwarf_tag.c: Adjust call to __libdw_getabbrev. 1501 * libdw.h: Declare dwarf_offabbrev and dwarf_getstring. 1502 * libdwP.h: Change prototype for __libdw_getabbrev. 1503 1504 * dwarf_getabbrevattr.c: Add offsetp parameter. Fill in before 1505 returning if this is wanted. 1506 1507 2004-01-09 Ulrich Drepper <drepper (a] redhat.com> 1508 1509 * dwarf_nextcu.c: Add new parameter offset_sizep. Initialize it 1510 with offset_size value. 1511 * libdw.h: Adjust dwarf_nextcu prototype. 1512 * libdwP.h (struct Dwarf_CU): Add offset_size member. 1513 * libdw_findcu.c: Adjust dwarf_nextcu call. Initialize offset_size 1514 member of new CU struct. 1515 * dwarf_formstring.c: Depend on offset_size not address_size for 1516 DW_FORM_strp handling. 1517 * dwarf_form.c: Likewise for DW_FORM_strp and DW_FORM_ref_addr. 1518 1519 * dwarf_tag.c (__libdw_findabbrev): Return correct value for 1520 failing lookup. 1521 (dwarf_tag): Correctly recognize failed lookup. 1522 1523 * dwarf_end.c (cu_free): Call tdestroy for locs member. Use new 1524 function noop_free. 1525 * dwarf_error.c: Add message for DWARF_E_NO_BLOCK. 1526 * dwarf_formblock.c: New file. 1527 * dwarf_getloclist.c: Rewrite to handle a single block. 1528 * libdw.h: Define Dwarf_Block. Rename Dwarf_Loc members. Remove 1529 Dwarf_Locdesc definition. Declare dwarf_formblock. Remove 1530 dwarf_getloclistent declaration. 1531 * libdw.map: Add dwarf_formblock, remove dwarf_getloclistent. 1532 * libdwP.h: Define struct loc_s and DWARF_E_NO_BLOCK. 1533 Add locs member to struct Dwarf_CU. 1534 * libdw_fundcu.c: Initialize locs member of new CU. 1535 * Makefile.am (libdw_a_SOURCES): Add dwarf_formblock.c. 1536 Remove dwarf_getloclistent.c. 1537 1538 2004-01-07 Ulrich Drepper <drepper (a] redhat.com> 1539 1540 * libdw.h: Use __nonnull__ attribute only for gcc >= 3.3. 1541 * libdwP.h: Likewise. 1542 1543 * dwarf_getloclist.c: New file. 1544 * dwarf_getloclistent.c: New file. 1545 * libdw.h: Define Dwarf_Loc and Dwarf_Locdesc. 1546 Declare dwarf_getloclistent and dwarf_getloclist. 1547 * libdw.map: Add dwarf_getloclistent and dwarf_getloclist. 1548 * libdwP.h: Define DWARF_E_NO_LOCLIST. 1549 * Makefile.am (libdw_a_SOURCES): Add dwarf_getloclistent.c and 1550 dwarf_getloclist.c. 1551 1552 * dwarf_error.c: More error messages. 1553 1554 2004-01-06 Ulrich Drepper <drepper (a] redhat.com> 1555 1556 * dwarf_getsrclines.c: Remove debugging support. 1557 1558 * dwarf_getsrcfiles.c: New file. 1559 * dwarf_filesrc.c: New file. 1560 * libdw.h: Declare these functions. Define Dwarf_File. 1561 * libdwP.c: Adjust Dwarf_File_s definition. 1562 * libdw.map: Add these functions. 1563 * Makefile.am (libdw_a_SOURCES): Add dwarf_getsrcfiles.c and 1564 dwarf_filesrc.c. 1565 * dwarf_getsrclines.c: Initialize cu->files. 1566 1567 2004-01-05 Ulrich Drepper <drepper (a] redhat.com> 1568 1569 * libdw.h: Add more nonnull function attributes. 1570 1571 * dwarf_begin_elf.c (dwarf_begin_elf): Don't initialize mem_tail->next. 1572 * dwarf_end.c (cu_free): New function. 1573 (dwarf_end): Also free CU tree. Correct freeing of memory blocks. 1574 * dwarf_error.c (errmsgs): Add new messages. 1575 * dwarf_getsrc_die.c: New file. 1576 * dwarf_getsrclines.c: New file. 1577 * dwarf_lineno.c: New file. 1578 * dwarf_linesrc.c: New file. 1579 * dwarf_nextcu.c (dwarf_nextcu): Use read_*byte_unaligned_inc 1580 instead of the *_inc-less variants. 1581 * libdw.h: Define Dwarf_Line. Add some function attributes. Declare 1582 dwarf_getsrclines, dwarf_getsrc_die, dwarf_lineno, and dwarf_linesrc. 1583 * libdw.map: Add dwarf_getsrclines, dwarf_getsrc_die, dwarf_lineno, 1584 and dwarf_linesrc. 1585 * libdwP.h: Add more error codes. 1586 (struct Dwarf): Remove mem_tail.next member. 1587 (Dwarf_File): Define type. 1588 (struct Dwarf_Line_s): Define type. 1589 (struct Dwarf_CU): Add lines and nlines members. 1590 (libdw_alloc): Define local variable _tail and use it. 1591 Add some function attributes. 1592 * libdw_alloc.c (__libdw_allocate): Don't initialize next member. 1593 * libdw_findcu.c (__libdw_findcu): Initialize lines and nlines members. 1594 * memory-access.h: Add unlikely for the endian conversion paths. 1595 * Makefile.am (AM_CFLAGS): Add -std parameter. 1596 (libdw_a_SOURCES): Add dwarf_getsrclines, dwarf_getsrc_die, 1597 dwarf_lineno, and dwarf_linesrc. 1598 1599 2003-08-11 Ulrich Drepper <drepper (a] redhat.com> 1600 1601 * Moved to CVS archive. 1602