1*7304104dSAndroid Build Coastguard Worker2023-09-27 Omar Sandoval <[email protected]> 2*7304104dSAndroid Build Coastguard Worker 3*7304104dSAndroid Build Coastguard Worker * libdwP.h ((Dwarf): Add elfpath. 4*7304104dSAndroid Build Coastguard Worker * dwarf_begin_elf.c (__libdw_debugdir): Replace declaration with... 5*7304104dSAndroid Build Coastguard Worker (__libdw_elfpath): New declaration. 6*7304104dSAndroid Build Coastguard Worker (__libdw_set_debugdir): New declaration. 7*7304104dSAndroid Build Coastguard Worker (__libdw_debugdir): Replace with.. 8*7304104dSAndroid Build Coastguard Worker (__libdw_elfpath): New function. 9*7304104dSAndroid Build Coastguard Worker (__libdw_set_debugdir): New function. 10*7304104dSAndroid Build Coastguard Worker (valid_p): Call __libdw_elfpath and __libdw_set_debugdir instead of 11*7304104dSAndroid Build Coastguard Worker __libdw_debugdir. 12*7304104dSAndroid Build Coastguard Worker * dwarf_end.c (dwarf_end): Free dwarf->elfpath. 13*7304104dSAndroid Build Coastguard Worker 14*7304104dSAndroid Build Coastguard Worker2023-09-27 Omar Sandoval <[email protected]> 15*7304104dSAndroid Build Coastguard Worker 16*7304104dSAndroid Build Coastguard Worker * libdw_find_split_unit.c (try_split_file): Make static. 17*7304104dSAndroid Build Coastguard Worker * dwarf_entrypc.c (dwarf_entrypc): Call dwarf_lowpc. 18*7304104dSAndroid Build Coastguard Worker * dwarf_ranges.c (dwarf_ranges): Use skeleton ranges section for 19*7304104dSAndroid Build Coastguard Worker skeleton units. 20*7304104dSAndroid Build Coastguard Worker * dwarf_macro_param2.c (dwarf_macro_param2): Change form condition to 21*7304104dSAndroid Build Coastguard Worker switch statement and add DW_FORM_line_strp, DW_FORM_strp_sup, 22*7304104dSAndroid Build Coastguard Worker DW_FORM_strx, and DW_FORM_strx[1-4]. 23*7304104dSAndroid Build Coastguard Worker * dwarf_getmacros.c (get_macinfo_table): Replace assignment of 24*7304104dSAndroid Build Coastguard Worker table->is_64bit with assignments of table->address_size and 25*7304104dSAndroid Build Coastguard Worker table->offset_size. Assume default DW_AT_stmt_list of 0 for split 26*7304104dSAndroid Build Coastguard Worker DWARF. Set table->dbg. 27*7304104dSAndroid Build Coastguard Worker (get_table_for_offset): Ditto. 28*7304104dSAndroid Build Coastguard Worker (read_macros): Get fake CU offset_size from table->offset_size instead 29*7304104dSAndroid Build Coastguard Worker of table->is_64bit. 30*7304104dSAndroid Build Coastguard Worker * dwarf_macro_getsrcfiles.c (dwarf_macro_getsrcfiles): Get 31*7304104dSAndroid Build Coastguard Worker address_size for __libdw_getsrclines from table->address_size instead 32*7304104dSAndroid Build Coastguard Worker of table->is_64bit. Get dbg for __libdw_getsrclines from table->dbg 33*7304104dSAndroid Build Coastguard Worker instead of dbg parameter, which is now unused. 34*7304104dSAndroid Build Coastguard Worker * libdwP.h (Dwarf_Macro_Op_Table): Replace is_64bit with address_size 35*7304104dSAndroid Build Coastguard Worker and offset_size. Add dbg. 36*7304104dSAndroid Build Coastguard Worker Add IDX_debug_cu_index and IDX_debug_tu_index. 37*7304104dSAndroid Build Coastguard Worker * dwarf_begin_elf.c (dwarf_scnnames): Add IDX_debug_cu_index and 38*7304104dSAndroid Build Coastguard Worker IDX_debug_tu_index. 39*7304104dSAndroid Build Coastguard Worker (scn_to_string_section_idx): Ditto. 40*7304104dSAndroid Build Coastguard Worker (scn_dwarf_type): Check for .debug_cu_index, .debug_tu_index, 41*7304104dSAndroid Build Coastguard Worker .zdebug_cu_index, and .zdebug_tu_index. 42*7304104dSAndroid Build Coastguard Worker (check_section): Change .dwo suffix matching to account for 43*7304104dSAndroid Build Coastguard Worker .debug_cu_index and .debug_tu_index. 44*7304104dSAndroid Build Coastguard Worker 45*7304104dSAndroid Build Coastguard Worker2023-02-22 Mark Wielaard <[email protected]> 46*7304104dSAndroid Build Coastguard Worker 47*7304104dSAndroid Build Coastguard Worker * dwarf_getscopes.c (origin_match): Don't free a->scopes. 48*7304104dSAndroid Build Coastguard Worker (dwarf_getscopes): Free a->scopes on error. 49*7304104dSAndroid Build Coastguard Worker 50*7304104dSAndroid Build Coastguard Worker2023-02-20 Mark Wielaard <[email protected]> 51*7304104dSAndroid Build Coastguard Worker 52*7304104dSAndroid Build Coastguard Worker * dwarf_begin_elf.c (check_section): Use elf_rawdata. 53*7304104dSAndroid Build Coastguard Worker 54*7304104dSAndroid Build Coastguard Worker2023-02-14 Mark Wielaard <[email protected]> 55*7304104dSAndroid Build Coastguard Worker 56*7304104dSAndroid Build Coastguard Worker * dwarf_getlocation.c (__libdw_intern_expression): Correct check 57*7304104dSAndroid Build Coastguard Worker for deref_type. 58*7304104dSAndroid Build Coastguard Worker 59*7304104dSAndroid Build Coastguard Worker2023-02-10 Mark Wielaard <[email protected]> 60*7304104dSAndroid Build Coastguard Worker 61*7304104dSAndroid Build Coastguard Worker * dwarf_getlocation.c (__libdw_intern_expression): Handle 62*7304104dSAndroid Build Coastguard Worker DW_OP_GNU_uninit. 63*7304104dSAndroid Build Coastguard Worker 64*7304104dSAndroid Build Coastguard Worker2023-02-12 Mark Wielaard <[email protected]> 65*7304104dSAndroid Build Coastguard Worker 66*7304104dSAndroid Build Coastguard Worker * cfi.c (execute_cfi): Add cfi_asser before reading second lib128. 67*7304104dSAndroid Build Coastguard Worker * dwarf_chld.c (__libdw_find_attr): Check readp >= endp before 68*7304104dSAndroid Build Coastguard Worker calling get_uleb128. 69*7304104dSAndroid Build Coastguard Worker * dwarf_frame_register.c (dwarf_frame_register): Likewise for 70*7304104dSAndroid Build Coastguard Worker p >= end. 71*7304104dSAndroid Build Coastguard Worker * dwarf_getabbrev.c (__libdw_getabbrev): Add comment about check. 72*7304104dSAndroid Build Coastguard Worker * dwarf_getlocation.c (__libdw_intern_expression): Update check to 73*7304104dSAndroid Build Coastguard Worker account for both the number and uleb128. 74*7304104dSAndroid Build Coastguard Worker * encoded-value.h (read_encoded_value): Check p >= end for 75*7304104dSAndroid Build Coastguard Worker DW_EH_PE_(u|s)leb128. 76*7304104dSAndroid Build Coastguard Worker * fde.c (intern_fde): Check len can be read as uleb128. 77*7304104dSAndroid Build Coastguard Worker * libdw_form.c (__libdw_form_val_compute_len): Check valp >= endp 78*7304104dSAndroid Build Coastguard Worker before get_uleb128. 79*7304104dSAndroid Build Coastguard Worker 80*7304104dSAndroid Build Coastguard Worker2023-01-22 Mark Wielaard <[email protected]> 81*7304104dSAndroid Build Coastguard Worker 82*7304104dSAndroid Build Coastguard Worker * dwarf_getscopes.c (pc_record): Return nscopes when done. 83*7304104dSAndroid Build Coastguard Worker (dwarf_getscopes): Call __libdw_visit_scopes with 84*7304104dSAndroid Build Coastguard Worker inlined_origin CU. 85*7304104dSAndroid Build Coastguard Worker 86*7304104dSAndroid Build Coastguard Worker2022-12-20 Mark Wielaard <[email protected]> 87*7304104dSAndroid Build Coastguard Worker 88*7304104dSAndroid Build Coastguard Worker * Makefile.am (AM_CPPFLAGS): Add -I$(srcdir)/../libebl. 89*7304104dSAndroid Build Coastguard Worker * cfi.c: Include libebl.h. 90*7304104dSAndroid Build Coastguard Worker * encoded-value.h: Likewise. 91*7304104dSAndroid Build Coastguard Worker * frame-cache.h: Likewise. 92*7304104dSAndroid Build Coastguard Worker 93*7304104dSAndroid Build Coastguard Worker2022-10-21 Yonggang Luo <[email protected]> 94*7304104dSAndroid Build Coastguard Worker 95*7304104dSAndroid Build Coastguard Worker * memory-access.h (get_uleb128_step): Use __typeof. 96*7304104dSAndroid Build Coastguard Worker (get_sleb128_step): Likewise. 97*7304104dSAndroid Build Coastguard Worker (__libdw_get_sleb128) Likewise. 98*7304104dSAndroid Build Coastguard Worker (__libdw_get_sleb128_unchecked): Likewise. 99*7304104dSAndroid Build Coastguard Worker 100*7304104dSAndroid Build Coastguard Worker2022-11-03 Mark Wielaard <[email protected]> 101*7304104dSAndroid Build Coastguard Worker 102*7304104dSAndroid Build Coastguard Worker * dwarf_next_cfi.c (dwarf_next_cfi): Don't dereference and assign 103*7304104dSAndroid Build Coastguard Worker bytes. 104*7304104dSAndroid Build Coastguard Worker 105*7304104dSAndroid Build Coastguard Worker2022-10-21 Yonggang Luo <[email protected]> 106*7304104dSAndroid Build Coastguard Worker 107*7304104dSAndroid Build Coastguard Worker * dwarf_begin_elf.h: Don't include unistd.h and endian.h. 108*7304104dSAndroid Build Coastguard Worker * dwarf_end.c: Don't include unistd.h. 109*7304104dSAndroid Build Coastguard Worker * dwarf_setalt.c: Likewise. 110*7304104dSAndroid Build Coastguard Worker * libdw_find_split_unit.c: Likewise. 111*7304104dSAndroid Build Coastguard Worker 112*7304104dSAndroid Build Coastguard Worker2022-10-19 Mark Wielaard <[email protected]> 113*7304104dSAndroid Build Coastguard Worker 114*7304104dSAndroid Build Coastguard Worker * dwarf.h (DW_LLE_GNU_view_pair): New constant. 115*7304104dSAndroid Build Coastguard Worker 116*7304104dSAndroid Build Coastguard Worker2022-10-21 Yonggang Luo <[email protected]> 117*7304104dSAndroid Build Coastguard Worker 118*7304104dSAndroid Build Coastguard Worker * memory-access.h: Include system.h instead of byteswap.h and 119*7304104dSAndroid Build Coastguard Worker endian.h. 120*7304104dSAndroid Build Coastguard Worker 121*7304104dSAndroid Build Coastguard Worker2022-09-20 Yonggang Luo <[email protected]> 122*7304104dSAndroid Build Coastguard Worker 123*7304104dSAndroid Build Coastguard Worker * memory-access.h: Use BYTE_ORDER, LITTLE_ENDIAN and BIG_ENDIAN. 124*7304104dSAndroid Build Coastguard Worker 125*7304104dSAndroid Build Coastguard Worker2022-09-13 Aleksei Vetrov <[email protected]> 126*7304104dSAndroid Build Coastguard Worker 127*7304104dSAndroid Build Coastguard Worker * libdw.map (ELFUTILS_0.188): Add dwfl_report_offline_memory. 128*7304104dSAndroid Build Coastguard Worker 129*7304104dSAndroid Build Coastguard Worker2022-08-09 Ulrich Drepper <[email protected]> 130*7304104dSAndroid Build Coastguard Worker 131*7304104dSAndroid Build Coastguard Worker * dwarf_next_cfi.c (dwarf_next_cfi): Don't skip processing the 132*7304104dSAndroid Build Coastguard Worker augmentation string. Be more stringent what to accept. 133*7304104dSAndroid Build Coastguard Worker 134*7304104dSAndroid Build Coastguard Worker2022-07-28 Di Chen <[email protected]> 135*7304104dSAndroid Build Coastguard Worker 136*7304104dSAndroid Build Coastguard Worker * libdw.map (ELFUTILS_0.188): Add dwfl_frame_reg. 137*7304104dSAndroid Build Coastguard Worker 138*7304104dSAndroid Build Coastguard Worker2022-07-13 Mark Wielaard <[email protected]> 139*7304104dSAndroid Build Coastguard Worker 140*7304104dSAndroid Build Coastguard Worker * libdw.map (ELFUTILS_0.187): Renamed to... 141*7304104dSAndroid Build Coastguard Worker (ELFUTILS_0.188): ... this. 142*7304104dSAndroid Build Coastguard Worker 143*7304104dSAndroid Build Coastguard Worker2022-05-09 Mark Wielaard <[email protected]> 144*7304104dSAndroid Build Coastguard Worker 145*7304104dSAndroid Build Coastguard Worker * dwarf_getlocation.c (store_implicit_value): Check block length. 146*7304104dSAndroid Build Coastguard Worker 147*7304104dSAndroid Build Coastguard Worker2022-04-16 Mark Wielaard <[email protected]> 148*7304104dSAndroid Build Coastguard Worker 149*7304104dSAndroid Build Coastguard Worker * libdwP.h: Remove atomics.h include. 150*7304104dSAndroid Build Coastguard Worker 151*7304104dSAndroid Build Coastguard Worker2022-04-13 Mark Wielaard <[email protected]> 152*7304104dSAndroid Build Coastguard Worker 153*7304104dSAndroid Build Coastguard Worker * dwarf.h: Add DWARF5 package file section identifiers, 154*7304104dSAndroid Build Coastguard Worker DW_SECT_*. 155*7304104dSAndroid Build Coastguard Worker 156*7304104dSAndroid Build Coastguard Worker2021-10-20 John M Mellor-Crummey <[email protected]> 157*7304104dSAndroid Build Coastguard Worker 158*7304104dSAndroid Build Coastguard Worker * dwarf_linecontext.c: New file. 159*7304104dSAndroid Build Coastguard Worker * dwarf_linefunctionname.c: Likewise. 160*7304104dSAndroid Build Coastguard Worker * Makefile.am (libdw_a_SOURCES): Add dwarf_linecontext.c and 161*7304104dSAndroid Build Coastguard Worker dwarf_linefunctionname.c 162*7304104dSAndroid Build Coastguard Worker * dwarf.h: Add DW_LNE_NVIDIA_inlined_call and 163*7304104dSAndroid Build Coastguard Worker DW_LNE_NVIDIA_set_function_name. 164*7304104dSAndroid Build Coastguard Worker * dwarf_getsrclines.c (struct line_state): Add context and 165*7304104dSAndroid Build Coastguard Worker function_name fields. 166*7304104dSAndroid Build Coastguard Worker (add_new_line): Set context and function_name. 167*7304104dSAndroid Build Coastguard Worker (MAX_STACK_LINES): Reduce to MAX_STACK_ALLOC / 2. 168*7304104dSAndroid Build Coastguard Worker (read_srclines): Initialize context and function_name. Try to 169*7304104dSAndroid Build Coastguard Worker read debug_str_offset if available. Handle 170*7304104dSAndroid Build Coastguard Worker DW_LNE_NVIDIA_inlined_call and DW_LNE_NVIDIA_set_function_name. 171*7304104dSAndroid Build Coastguard Worker * libdw.h (dwarf_linecontext): New declaration. 172*7304104dSAndroid Build Coastguard Worker (dwarf_linefunctionname): Likewise. 173*7304104dSAndroid Build Coastguard Worker * libdw.map (ELFUTILS_0.186): New section. 174*7304104dSAndroid Build Coastguard Worker 175*7304104dSAndroid Build Coastguard Worker2021-11-08 Mark Wielaard <[email protected]> 176*7304104dSAndroid Build Coastguard Worker 177*7304104dSAndroid Build Coastguard Worker * dwarf_begin_elf.c (scn_dwarf_type): New function. 178*7304104dSAndroid Build Coastguard Worker (check_section): Check result->type. 179*7304104dSAndroid Build Coastguard Worker (global_read): First check type. 180*7304104dSAndroid Build Coastguard Worker (scngrp_read): Likewise. 181*7304104dSAndroid Build Coastguard Worker * libdw/libdwP.h (enum dwarf_type): New enumeration. 182*7304104dSAndroid Build Coastguard Worker (struct Dwarf): New field type. 183*7304104dSAndroid Build Coastguard Worker 184*7304104dSAndroid Build Coastguard Worker2021-02-14 Alexander Miller <[email protected]> 185*7304104dSAndroid Build Coastguard Worker 186*7304104dSAndroid Build Coastguard Worker * dwarf_aggregate_size.c (dwarf_aggregate_size): Move NEW_VERSION 187*7304104dSAndroid Build Coastguard Worker before definition. Replace INTDEF with NEW_INTDEF. 188*7304104dSAndroid Build Coastguard Worker * dwarf_srclang.c (dwarf_srclang): Likewise. 189*7304104dSAndroid Build Coastguard Worker * dwarf_arrayorder.c (dwarf_arrayorder): Move NEW_VERSION. 190*7304104dSAndroid Build Coastguard Worker * dwarf_bitoffset.c (dwarf_bitoffset): Likewise. 191*7304104dSAndroid Build Coastguard Worker * dwarf_bitsize.c (dwarf_bitsize): Likewise. 192*7304104dSAndroid Build Coastguard Worker * dwarf_bytesize.c (dwarf_bytesize): Likewise. 193*7304104dSAndroid Build Coastguard Worker * dwarf_decl_column.c (dwarf_decl_column): Likewise. 194*7304104dSAndroid Build Coastguard Worker 195*7304104dSAndroid Build Coastguard Worker2021-10-18 Mark Wielaard <[email protected]> 196*7304104dSAndroid Build Coastguard Worker 197*7304104dSAndroid Build Coastguard Worker * dwarf_aggregate_size.c (get_type): Don't pass NULL to 198*7304104dSAndroid Build Coastguard Worker dwarf_peel_type. 199*7304104dSAndroid Build Coastguard Worker 200*7304104dSAndroid Build Coastguard Worker2021-10-06 Mark Wielaard <[email protected]> 201*7304104dSAndroid Build Coastguard Worker 202*7304104dSAndroid Build Coastguard Worker * dwarf_aggregate_size.c (array_size): Check signedness of child DIE 203*7304104dSAndroid Build Coastguard Worker type. Use dwarf_formsdata or dwarf_formudata to get the lower and 204*7304104dSAndroid Build Coastguard Worker upper bounds. 205*7304104dSAndroid Build Coastguard Worker 206*7304104dSAndroid Build Coastguard Worker2021-09-08 Mark Wielaard <[email protected]> 207*7304104dSAndroid Build Coastguard Worker 208*7304104dSAndroid Build Coastguard Worker * dwarf_begin_elf.c (valid_p): Identify ELF class and use this to set 209*7304104dSAndroid Build Coastguard Worker address_size of the fake CUs. Also set offset_size and DWARF version. 210*7304104dSAndroid Build Coastguard Worker 211*7304104dSAndroid Build Coastguard Worker2021-09-06 Dmitry V. Levin <[email protected]> 212*7304104dSAndroid Build Coastguard Worker 213*7304104dSAndroid Build Coastguard Worker * dwarf_begin_elf.c (valid_p): Remove casts of malloc return values. 214*7304104dSAndroid Build Coastguard Worker (dwarf_begin_elf): Remove cast of calloc return value. 215*7304104dSAndroid Build Coastguard Worker * dwarf_getpubnames.c (get_offsets): Remove casts of realloc return 216*7304104dSAndroid Build Coastguard Worker values. 217*7304104dSAndroid Build Coastguard Worker * dwarf_getsrclines.c (read_srclines): Remove cast of malloc return 218*7304104dSAndroid Build Coastguard Worker value. 219*7304104dSAndroid Build Coastguard Worker 220*7304104dSAndroid Build Coastguard Worker2021-04-19 Martin Liska <[email protected]> 221*7304104dSAndroid Build Coastguard Worker 222*7304104dSAndroid Build Coastguard Worker * dwarf_begin_elf.c (check_section): Use startswith. 223*7304104dSAndroid Build Coastguard Worker 224*7304104dSAndroid Build Coastguard Worker2021-05-01 Mark Wielaard <[email protected]> 225*7304104dSAndroid Build Coastguard Worker 226*7304104dSAndroid Build Coastguard Worker * libdw_form.c (__libdw_form_val_compute_len): Check indirect 227*7304104dSAndroid Build Coastguard Worker form is not DW_FORM_indirect or DW_FORM_implicit_const. 228*7304104dSAndroid Build Coastguard Worker 229*7304104dSAndroid Build Coastguard Worker2021-04-23 Omar Sandoval <[email protected]> 230*7304104dSAndroid Build Coastguard Worker 231*7304104dSAndroid Build Coastguard Worker * dwarf_child.c (__libdw_find_attr): Handle DW_FORM_indirect. 232*7304104dSAndroid Build Coastguard Worker * dwarf_getattrs.c (dwarf_getattrs): Handle DW_FORM_indirect. 233*7304104dSAndroid Build Coastguard Worker 234*7304104dSAndroid Build Coastguard Worker2021-02-12 Mark Wielaard <[email protected]> 235*7304104dSAndroid Build Coastguard Worker 236*7304104dSAndroid Build Coastguard Worker * dwarf_getlocation.c (attr_ok): For DWARF version 4 or higher 237*7304104dSAndroid Build Coastguard Worker block forms are not expression locations. 238*7304104dSAndroid Build Coastguard Worker (is_constant_offset): DW_FORM_implicit_const is also a constant. 239*7304104dSAndroid Build Coastguard Worker 240*7304104dSAndroid Build Coastguard Worker2020-12-20 Dmitry V. Levin <[email protected]> 241*7304104dSAndroid Build Coastguard Worker 242*7304104dSAndroid Build Coastguard Worker * .gitignore: New file. 243*7304104dSAndroid Build Coastguard Worker 244*7304104dSAndroid Build Coastguard Worker2020-12-16 Dmitry V. Levin <[email protected]> 245*7304104dSAndroid Build Coastguard Worker 246*7304104dSAndroid Build Coastguard Worker * libdwP.h (_): Remove. 247*7304104dSAndroid Build Coastguard Worker 248*7304104dSAndroid Build Coastguard Worker2020-12-12 Dmitry V. Levin <[email protected]> 249*7304104dSAndroid Build Coastguard Worker 250*7304104dSAndroid Build Coastguard Worker * dwarf.h: Fix spelling typo in comment. 251*7304104dSAndroid Build Coastguard Worker * dwarf_begin_elf.c (dwarf_begin_elf): Likewise. 252*7304104dSAndroid Build Coastguard Worker * dwarf_getlocation.c (attr_ok, __libdw_intern_expression): Likewise. 253*7304104dSAndroid Build Coastguard Worker * dwarf_getsrclines.c (read_srclines): Likewise. 254*7304104dSAndroid Build Coastguard Worker * libdw.h: Fix spelling typos in comments. 255*7304104dSAndroid Build Coastguard Worker * libdwP.h: Likewise. 256*7304104dSAndroid Build Coastguard Worker 257*7304104dSAndroid Build Coastguard Worker2020-12-09 Dmitry V. Levin <[email protected]> 258*7304104dSAndroid Build Coastguard Worker 259*7304104dSAndroid Build Coastguard Worker * Makefile.am (noinst_PROGRAMS): Rename to noinst_DATA. 260*7304104dSAndroid Build Coastguard Worker (libdw_so_SOURCES): Remove. 261*7304104dSAndroid Build Coastguard Worker (MOSTLYCLEANFILES): Add libdw.so. 262*7304104dSAndroid Build Coastguard Worker 263*7304104dSAndroid Build Coastguard Worker2020-11-30 Dmitry V. Levin <[email protected]> 264*7304104dSAndroid Build Coastguard Worker 265*7304104dSAndroid Build Coastguard Worker * Makefile.am (libdw.so$(EXEEXT)): Drop $(EXEEXT) suffix. 266*7304104dSAndroid Build Coastguard Worker 267*7304104dSAndroid Build Coastguard Worker2020-11-01 Érico N. Rolim <[email protected]> 268*7304104dSAndroid Build Coastguard Worker 269*7304104dSAndroid Build Coastguard Worker * Makefile.am (libdw_so_LDLIBS): Add fts_LIBS. 270*7304104dSAndroid Build Coastguard Worker 271*7304104dSAndroid Build Coastguard Worker2020-10-28 Tom Tromey <[email protected]> 272*7304104dSAndroid Build Coastguard Worker 273*7304104dSAndroid Build Coastguard Worker PR26773 274*7304104dSAndroid Build Coastguard Worker * dwarf_getlocation.c (store_implicit_value): Use 275*7304104dSAndroid Build Coastguard Worker __libdw_get_uleb128_unchecked. 276*7304104dSAndroid Build Coastguard Worker * memory-access.h (get_sleb128_step): Assume unsigned type for 277*7304104dSAndroid Build Coastguard Worker 'var'. 278*7304104dSAndroid Build Coastguard Worker (__libdw_get_sleb128, __libdw_get_sleb128_unchecked): Work in 279*7304104dSAndroid Build Coastguard Worker unsigned type. Handle final byte. 280*7304104dSAndroid Build Coastguard Worker 281*7304104dSAndroid Build Coastguard Worker2020-10-19 Mark Wielaard <[email protected]> 282*7304104dSAndroid Build Coastguard Worker 283*7304104dSAndroid Build Coastguard Worker * dwarf_frame_register.c (dwarf_frame_register): Declare ops_mem 284*7304104dSAndroid Build Coastguard Worker as array of (at least) 3 elements. 285*7304104dSAndroid Build Coastguard Worker * libdw.h (dwarf_frame_register): Add extra explanation of ops_mem 286*7304104dSAndroid Build Coastguard Worker argument. 287*7304104dSAndroid Build Coastguard Worker 288*7304104dSAndroid Build Coastguard Worker2020-10-23 Tom Tromey <[email protected]> 289*7304104dSAndroid Build Coastguard Worker 290*7304104dSAndroid Build Coastguard Worker * memory-access.h (read_3ubyte_unaligned_inc): Call 291*7304104dSAndroid Build Coastguard Worker read_3ubyte_unaligned. 292*7304104dSAndroid Build Coastguard Worker 293*7304104dSAndroid Build Coastguard Worker2020-09-03 Mark Wielaard <[email protected]> 294*7304104dSAndroid Build Coastguard Worker 295*7304104dSAndroid Build Coastguard Worker * dwarf.h: Add DW_CFA_AARCH64_negate_ra_state. 296*7304104dSAndroid Build Coastguard Worker * cfi.h (struct Dwarf_CFI_s): Add e_machine field. 297*7304104dSAndroid Build Coastguard Worker * cfi.c (execute_cfi): Recognize, but ignore 298*7304104dSAndroid Build Coastguard Worker DW_CFA_AARCH64_negate_ra_state on aarch64. 299*7304104dSAndroid Build Coastguard Worker * dwarf_getcfi.c (dwarf_getcfi): Set cfi e_machine. 300*7304104dSAndroid Build Coastguard Worker * dwarf_getcfi_elf.c (allocate_cfi): Take ehdr as argument and set 301*7304104dSAndroid Build Coastguard Worker cfi e_machine. 302*7304104dSAndroid Build Coastguard Worker (getcfi_gnu_eh_frame): Pass ehdr to allocate_cfi. 303*7304104dSAndroid Build Coastguard Worker (getcfi_scn_eh_frame): Likewise. 304*7304104dSAndroid Build Coastguard Worker 305*7304104dSAndroid Build Coastguard Worker2020-09-03 Mark Wielaard <[email protected]> 306*7304104dSAndroid Build Coastguard Worker 307*7304104dSAndroid Build Coastguard Worker * libdw.map (ELFUTILS_0.126): Remove local wildcard. 308*7304104dSAndroid Build Coastguard Worker (ELFUTILS_0.127): Likewise. 309*7304104dSAndroid Build Coastguard Worker (ELFUTILS_0.130): Likewise. 310*7304104dSAndroid Build Coastguard Worker (ELFUTILS_0.136): Likewise. 311*7304104dSAndroid Build Coastguard Worker (ELFUTILS_0.138): Likewise. 312*7304104dSAndroid Build Coastguard Worker 313*7304104dSAndroid Build Coastguard Worker2020-08-25 Mark Wielaard <[email protected]> 314*7304104dSAndroid Build Coastguard Worker 315*7304104dSAndroid Build Coastguard Worker * dwarf_getlocation.c (check_constant_offset): Rename to... 316*7304104dSAndroid Build Coastguard Worker (is_constant_offset): .. this. 317*7304104dSAndroid Build Coastguard Worker 318*7304104dSAndroid Build Coastguard Worker2020-06-28 Mark Wielaard <[email protected]> 319*7304104dSAndroid Build Coastguard Worker 320*7304104dSAndroid Build Coastguard Worker * linux-kernel-modules.c (intuit_kernel_bounds): Check read_address 321*7304104dSAndroid Build Coastguard Worker returns an increasing address when searching for end. 322*7304104dSAndroid Build Coastguard Worker 323*7304104dSAndroid Build Coastguard Worker2020-06-16 Mark Wielaard <[email protected]> 324*7304104dSAndroid Build Coastguard Worker 325*7304104dSAndroid Build Coastguard Worker * cfi.c (execute_cfi): Add missing FALLTHROUGH. 326*7304104dSAndroid Build Coastguard Worker 327*7304104dSAndroid Build Coastguard Worker2020-05-08 Mark Wielaard <[email protected]> 328*7304104dSAndroid Build Coastguard Worker 329*7304104dSAndroid Build Coastguard Worker * libdw_visit_scopes.c (walk_children): Don't recurse into imported 330*7304104dSAndroid Build Coastguard Worker DW_TAG_compile_units. 331*7304104dSAndroid Build Coastguard Worker 332*7304104dSAndroid Build Coastguard Worker2020-05-08 Mark Wielaard <[email protected]> 333*7304104dSAndroid Build Coastguard Worker 334*7304104dSAndroid Build Coastguard Worker * dwarf_decl_file.c (dwarf_decl_file): Use attr CU instead of DIE 335*7304104dSAndroid Build Coastguard Worker CU to resolve file name. 336*7304104dSAndroid Build Coastguard Worker * dwarf_ranges.c(dwarf_ranges): Document which CU we use when. 337*7304104dSAndroid Build Coastguard Worker * libdw.h (dwarf_attr_integrate): Extend documentation. 338*7304104dSAndroid Build Coastguard Worker 339*7304104dSAndroid Build Coastguard Worker2020-04-25 Mark Wielaard <[email protected]> 340*7304104dSAndroid Build Coastguard Worker 341*7304104dSAndroid Build Coastguard Worker * libdw_alloc.c (__libdw_alloc_tail): Call Dwarf oom_handler() 342*7304104dSAndroid Build Coastguard Worker when malloc fails. 343*7304104dSAndroid Build Coastguard Worker 344*7304104dSAndroid Build Coastguard Worker2020-04-17 Mark Wielaard <[email protected]> 345*7304104dSAndroid Build Coastguard Worker 346*7304104dSAndroid Build Coastguard Worker * dwarf_begin_elf.c (check_section): Handle .gnu.debuglto_ prefix. 347*7304104dSAndroid Build Coastguard Worker 348*7304104dSAndroid Build Coastguard Worker2019-10-28 Aaron Merey <[email protected]> 349*7304104dSAndroid Build Coastguard Worker 350*7304104dSAndroid Build Coastguard Worker * Makefile.am (libdw_so_LDLIBS): Add -ldl for libdebuginfod.so dlopen. 351*7304104dSAndroid Build Coastguard Worker 352*7304104dSAndroid Build Coastguard Worker2019-11-10 Mark Wielaard <[email protected]> 353*7304104dSAndroid Build Coastguard Worker 354*7304104dSAndroid Build Coastguard Worker * libdwP.h (libdw_unalloc): New define. 355*7304104dSAndroid Build Coastguard Worker (libdw_typed_unalloc): Likewise. 356*7304104dSAndroid Build Coastguard Worker (__libdw_thread_tail): New function declaration. 357*7304104dSAndroid Build Coastguard Worker * libdw_alloc.c (__libdw_thread_tail): New function. 358*7304104dSAndroid Build Coastguard Worker * dwarf_getabbrev.c (__libdw_getabbrev): Call libdw_typed_unalloc 359*7304104dSAndroid Build Coastguard Worker when reading invalid data or when hash collission detected. 360*7304104dSAndroid Build Coastguard Worker 361*7304104dSAndroid Build Coastguard Worker2019-10-28 Jonathon Anderson <[email protected]> 362*7304104dSAndroid Build Coastguard Worker 363*7304104dSAndroid Build Coastguard Worker * libdw_alloc.c: Added __libdw_alloc_tail. 364*7304104dSAndroid Build Coastguard Worker (__libdw_allocate): Switch to use the mem_tails array. 365*7304104dSAndroid Build Coastguard Worker * libdwP.h (Dwarf): Likewise. 366*7304104dSAndroid Build Coastguard Worker * dwarf_begin_elf.c (dwarf_begin_elf): Support for above. 367*7304104dSAndroid Build Coastguard Worker * dwarf_end.c (dwarf_end): Likewise. 368*7304104dSAndroid Build Coastguard Worker * atomics.h: Add support for thread_local. 369*7304104dSAndroid Build Coastguard Worker 370*7304104dSAndroid Build Coastguard Worker2019-10-28 Mark Wielaard <[email protected]> 371*7304104dSAndroid Build Coastguard Worker 372*7304104dSAndroid Build Coastguard Worker * dwarf_sig8_hash.h: Include libdw.h. Remove COMPARE. Include 373*7304104dSAndroid Build Coastguard Worker dynamicsizehash_concurrent.h. 374*7304104dSAndroid Build Coastguard Worker * dwarf_sig8_hash.c: Include dynamicsizehash_concurrent.c. 375*7304104dSAndroid Build Coastguard Worker * dwarf_formref_die.c (dwarf_formref_die): Drop NULL argument to 376*7304104dSAndroid Build Coastguard Worker Dwarf_Sig8_Hash_find. 377*7304104dSAndroid Build Coastguard Worker 378*7304104dSAndroid Build Coastguard Worker2019-08-26 Srđan Milaković <[email protected]@rice.edu> 379*7304104dSAndroid Build Coastguard Worker 380*7304104dSAndroid Build Coastguard Worker * dwarf_abbrev_hash.{c,h}: Use the *_concurrent hash table. 381*7304104dSAndroid Build Coastguard Worker 382*7304104dSAndroid Build Coastguard Worker2019-11-01 Jonathon Anderson <[email protected]> 383*7304104dSAndroid Build Coastguard Worker 384*7304104dSAndroid Build Coastguard Worker * dwarf_begin_elf.c (valid_p): Switch calloc for malloc for fake CUs. 385*7304104dSAndroid Build Coastguard Worker Add explicit initialization of some fields. 386*7304104dSAndroid Build Coastguard Worker * dwarf_end.c (cu_free): Add clause to limit freeing of CU internals. 387*7304104dSAndroid Build Coastguard Worker 388*7304104dSAndroid Build Coastguard Worker2019-08-26 Jonathon Anderson <[email protected]> 389*7304104dSAndroid Build Coastguard Worker 390*7304104dSAndroid Build Coastguard Worker * libdw_alloc.c (__libdw_allocate): Added thread-safe stack allocator. 391*7304104dSAndroid Build Coastguard Worker * libdwP.h (Dwarf): Likewise. 392*7304104dSAndroid Build Coastguard Worker * dwarf_begin_elf.c (dwarf_begin_elf): Support for above. 393*7304104dSAndroid Build Coastguard Worker * dwarf_end.c (dwarf_end): Likewise. 394*7304104dSAndroid Build Coastguard Worker * Makefile.am: Use -pthread to provide rwlocks. 395*7304104dSAndroid Build Coastguard Worker 396*7304104dSAndroid Build Coastguard Worker2019-07-05 Omar Sandoval <[email protected]> 397*7304104dSAndroid Build Coastguard Worker 398*7304104dSAndroid Build Coastguard Worker * Makefile.am (libdw_so_LIBS): Replace libebl.a with libebl_pic.a. 399*7304104dSAndroid Build Coastguard Worker Move libebl_pic.a to the beginning so that libdw symbols are resolved. 400*7304104dSAndroid Build Coastguard Worker (libdw_so_LDLIBS): Remove -ldl. 401*7304104dSAndroid Build Coastguard Worker (libdw.so): Remove -rpath. 402*7304104dSAndroid Build Coastguard Worker (libdw_a_LIBADD): Add libebl, libebl_backends, and libcpu objects. 403*7304104dSAndroid Build Coastguard Worker 404*7304104dSAndroid Build Coastguard Worker2019-08-25 Jonathon Anderson <[email protected]> 405*7304104dSAndroid Build Coastguard Worker 406*7304104dSAndroid Build Coastguard Worker * dwarf_getcfi.c (dwarf_getcfi): Set default_same_value to false. 407*7304104dSAndroid Build Coastguard Worker 408*7304104dSAndroid Build Coastguard Worker2019-08-12 Mark Wielaard <[email protected]> 409*7304104dSAndroid Build Coastguard Worker 410*7304104dSAndroid Build Coastguard Worker * libdw.map (ELFUTILS_0.177): Add new version of dwelf_elf_begin. 411*7304104dSAndroid Build Coastguard Worker 412*7304104dSAndroid Build Coastguard Worker2019-06-28 Mark Wielaard <[email protected]> 413*7304104dSAndroid Build Coastguard Worker 414*7304104dSAndroid Build Coastguard Worker * libdw.map (ELFUTILS_0.177): New section. Add 415*7304104dSAndroid Build Coastguard Worker dwelf_elf_e_machine_string. 416*7304104dSAndroid Build Coastguard Worker 417*7304104dSAndroid Build Coastguard Worker2019-05-16 Mark Wielaard <[email protected]> 418*7304104dSAndroid Build Coastguard Worker 419*7304104dSAndroid Build Coastguard Worker * dwarf.h: Add DW_AT_GNU_numerator, DW_AT_GNU_denominator and 420*7304104dSAndroid Build Coastguard Worker DW_AT_GNU_bias. 421*7304104dSAndroid Build Coastguard Worker 422*7304104dSAndroid Build Coastguard Worker2019-04-28 Mark Wielaard <[email protected]> 423*7304104dSAndroid Build Coastguard Worker 424*7304104dSAndroid Build Coastguard Worker * dwarf_siblingof.c (dwarf_siblingof): Don't initialize addr. 425*7304104dSAndroid Build Coastguard Worker 426*7304104dSAndroid Build Coastguard Worker2019-04-28 Mark Wielaard <[email protected]> 427*7304104dSAndroid Build Coastguard Worker 428*7304104dSAndroid Build Coastguard Worker * dwarf_getlocation.c (dwarf_getlocation_addr): Call 429*7304104dSAndroid Build Coastguard Worker check_constant_offset with llbufs and listlens directly. 430*7304104dSAndroid Build Coastguard Worker 431*7304104dSAndroid Build Coastguard Worker2019-04-27 Mark Wielaard <[email protected]> 432*7304104dSAndroid Build Coastguard Worker 433*7304104dSAndroid Build Coastguard Worker * dwarf_getlocation.c (store_implicit_value): Check dbg isn't 434*7304104dSAndroid Build Coastguard Worker NULL. 435*7304104dSAndroid Build Coastguard Worker 436*7304104dSAndroid Build Coastguard Worker2019-02-02 Mark Wielaard <[email protected]> 437*7304104dSAndroid Build Coastguard Worker 438*7304104dSAndroid Build Coastguard Worker * dwarf_nextcu.c (__libdw_next_unit): Define bytes_end. 439*7304104dSAndroid Build Coastguard Worker Check there are enough bytes to read extended length, version 440*7304104dSAndroid Build Coastguard Worker and unit. 441*7304104dSAndroid Build Coastguard Worker 442*7304104dSAndroid Build Coastguard Worker2019-01-20 Mark Wielaard <[email protected]> 443*7304104dSAndroid Build Coastguard Worker 444*7304104dSAndroid Build Coastguard Worker * dwarf_getsrclines.c (read_srclines): Check terminating NUL byte 445*7304104dSAndroid Build Coastguard Worker for dir and file lists. 446*7304104dSAndroid Build Coastguard Worker 447*7304104dSAndroid Build Coastguard Worker2018-10-23 Mark Wielaard <[email protected]> 448*7304104dSAndroid Build Coastguard Worker 449*7304104dSAndroid Build Coastguard Worker * dwarf_child.c (__libdw_find_attr): Initialize readp to NULL. 450*7304104dSAndroid Build Coastguard Worker * dwarf_getattrs.c (dwarf_getattrs): Initialize die_addr to NULL. 451*7304104dSAndroid Build Coastguard Worker 452*7304104dSAndroid Build Coastguard Worker2018-10-20 Mark Wielaard <[email protected]> 453*7304104dSAndroid Build Coastguard Worker 454*7304104dSAndroid Build Coastguard Worker * libdw.map (ELFUTILS_0.175): New section. Add dwelf_elf_begin. 455*7304104dSAndroid Build Coastguard Worker 456*7304104dSAndroid Build Coastguard Worker2018-10-29 Milian Wolff <[email protected]> 457*7304104dSAndroid Build Coastguard Worker 458*7304104dSAndroid Build Coastguard Worker * dwarf_getcfi_elf.c (getcfi_shdr): Check sh_type != SHT_NOBITS. 459*7304104dSAndroid Build Coastguard Worker 460*7304104dSAndroid Build Coastguard Worker2018-09-13 Mark Wielaard <[email protected]> 461*7304104dSAndroid Build Coastguard Worker 462*7304104dSAndroid Build Coastguard Worker * dwarf_begin_elf.c (check_section): Drop ehdr argument, add and 463*7304104dSAndroid Build Coastguard Worker use shstrndx argument. 464*7304104dSAndroid Build Coastguard Worker (global_read): Likewise. 465*7304104dSAndroid Build Coastguard Worker (scngrp_read): Likewise. 466*7304104dSAndroid Build Coastguard Worker (dwarf_begin_elf): Call elf_getshdrstrndx. Pass shstrndx to 467*7304104dSAndroid Build Coastguard Worker global_read or scngrp_read. 468*7304104dSAndroid Build Coastguard Worker 469*7304104dSAndroid Build Coastguard Worker2018-08-18 Mark Wielaard <[email protected]> 470*7304104dSAndroid Build Coastguard Worker 471*7304104dSAndroid Build Coastguard Worker * dwarf_getabbrev.c (__libdw_getabbrev): Continue until both name 472*7304104dSAndroid Build Coastguard Worker and form are zero. 473*7304104dSAndroid Build Coastguard Worker * dwarf_hasattr.c (dwarf_hasattr): Stop when both name and form 474*7304104dSAndroid Build Coastguard Worker are zero. 475*7304104dSAndroid Build Coastguard Worker 476*7304104dSAndroid Build Coastguard Worker2018-08-18 Mark Wielaard <[email protected]> 477*7304104dSAndroid Build Coastguard Worker 478*7304104dSAndroid Build Coastguard Worker * dwarf_getaranges.c (dwarf_getaranges.c): Make sure there is enough 479*7304104dSAndroid Build Coastguard Worker data to read the address and segment size. 480*7304104dSAndroid Build Coastguard Worker 481*7304104dSAndroid Build Coastguard Worker2018-07-04 Ross Burton <[email protected]> 482*7304104dSAndroid Build Coastguard Worker 483*7304104dSAndroid Build Coastguard Worker * libdw_alloc.c: Remove error.h include. 484*7304104dSAndroid Build Coastguard Worker 485*7304104dSAndroid Build Coastguard Worker2018-06-28 Mark Wielaard <[email protected]> 486*7304104dSAndroid Build Coastguard Worker 487*7304104dSAndroid Build Coastguard Worker * dwarf_next_cfi.c (dwarf_next_cfi): Check whether length is zero. 488*7304104dSAndroid Build Coastguard Worker 489*7304104dSAndroid Build Coastguard Worker2018-06-27 Mark Wielaard <[email protected]> 490*7304104dSAndroid Build Coastguard Worker 491*7304104dSAndroid Build Coastguard Worker * dwarf_begin_elf.c (check_section): Allow a single .debug_frame 492*7304104dSAndroid Build Coastguard Worker section. 493*7304104dSAndroid Build Coastguard Worker 494*7304104dSAndroid Build Coastguard Worker2018-06-26 Mark Wielaard <[email protected]> 495*7304104dSAndroid Build Coastguard Worker 496*7304104dSAndroid Build Coastguard Worker * libdw.h (dwarf_getscn_info): Remove. 497*7304104dSAndroid Build Coastguard Worker * libdw.map (ELFUTILS_0.122): Remove dwarf_getscn_info. 498*7304104dSAndroid Build Coastguard Worker 499*7304104dSAndroid Build Coastguard Worker2018-06-25 Mark Wielaard <[email protected]> 500*7304104dSAndroid Build Coastguard Worker 501*7304104dSAndroid Build Coastguard Worker * Makefile.am (libdw_a_SOURCES): Add dwarf_next_lines.c. 502*7304104dSAndroid Build Coastguard Worker * libdw.h (dwarf_next_lines): New function declaration. 503*7304104dSAndroid Build Coastguard Worker * libdw.map (ELFUTILS_0.173): New section. 504*7304104dSAndroid Build Coastguard Worker * dwarf_next_lines.c: New files. 505*7304104dSAndroid Build Coastguard Worker * dwarf_begin_elf.c (check_section): Don't error out when elf 506*7304104dSAndroid Build Coastguard Worker decompression fails. 507*7304104dSAndroid Build Coastguard Worker (valid_p): Allow just a single .debug_line section. 508*7304104dSAndroid Build Coastguard Worker * dwarf_getsrclines.c (read_srclines): Keep files relative if comp_dir 509*7304104dSAndroid Build Coastguard Worker is missing. 510*7304104dSAndroid Build Coastguard Worker 511*7304104dSAndroid Build Coastguard Worker2018-06-22 Mark Wielaard <[email protected]> 512*7304104dSAndroid Build Coastguard Worker 513*7304104dSAndroid Build Coastguard Worker * dwarf_nextcu.c (__libdw_next_unit): Set next_off to -1 when it would 514*7304104dSAndroid Build Coastguard Worker wrap around. 515*7304104dSAndroid Build Coastguard Worker 516*7304104dSAndroid Build Coastguard Worker2018-06-18 Mark Wielaard <[email protected]> 517*7304104dSAndroid Build Coastguard Worker 518*7304104dSAndroid Build Coastguard Worker * dwarf_aggregate_size.c (array_size): New depth argument. Use 519*7304104dSAndroid Build Coastguard Worker aggregate_size instead of dwarf_aggregate_size and pass depth. 520*7304104dSAndroid Build Coastguard Worker (aggregate_size): New depth argument. Check depth isn't bigger 521*7304104dSAndroid Build Coastguard Worker than MAX_DEPTH (256). Pass depth to recursive calls. 522*7304104dSAndroid Build Coastguard Worker (dwarf_aggregate_size): ass zero as depth to aggregate_size. 523*7304104dSAndroid Build Coastguard Worker 524*7304104dSAndroid Build Coastguard Worker2018-06-18 Mark Wielaard <[email protected]> 525*7304104dSAndroid Build Coastguard Worker 526*7304104dSAndroid Build Coastguard Worker * dwarf_peel_type.c (dwarf_peel_type): Limit modifier chain to 64. 527*7304104dSAndroid Build Coastguard Worker 528*7304104dSAndroid Build Coastguard Worker2018-06-18 Mark Wielaard <[email protected]> 529*7304104dSAndroid Build Coastguard Worker 530*7304104dSAndroid Build Coastguard Worker * dwarf_aggregate_size.c (aggregate_size): Check die is not NULL. 531*7304104dSAndroid Build Coastguard Worker 532*7304104dSAndroid Build Coastguard Worker2018-06-17 Luiz Angelo Daros de Luca <[email protected]> 533*7304104dSAndroid Build Coastguard Worker 534*7304104dSAndroid Build Coastguard Worker * dwarf_getsrclines.c (read_srclines): Intialize filelist early. 535*7304104dSAndroid Build Coastguard Worker 536*7304104dSAndroid Build Coastguard Worker2018-06-15 Mark Wielaard <[email protected]> 537*7304104dSAndroid Build Coastguard Worker 538*7304104dSAndroid Build Coastguard Worker * dwarf_getlocation.c (check_constant_offset): Clarify DW_FORM_data16 539*7304104dSAndroid Build Coastguard Worker isn't really a constant. 540*7304104dSAndroid Build Coastguard Worker (dwarf_getlocation): Don't handle DW_FORM_data16 as block. 541*7304104dSAndroid Build Coastguard Worker (dwarf_getlocation_addr): Likewise. 542*7304104dSAndroid Build Coastguard Worker (dwarf_getlocations): Likewise. 543*7304104dSAndroid Build Coastguard Worker 544*7304104dSAndroid Build Coastguard Worker2018-06-12 Mark Wielaard <[email protected]> 545*7304104dSAndroid Build Coastguard Worker 546*7304104dSAndroid Build Coastguard Worker * memory-access.h (read_3ubyte_unaligned_inc): New define. 547*7304104dSAndroid Build Coastguard Worker 548*7304104dSAndroid Build Coastguard Worker2018-06-12 Mark Wielaard <[email protected]> 549*7304104dSAndroid Build Coastguard Worker 550*7304104dSAndroid Build Coastguard Worker * libdw.h (__libdw_dieabbrev): Set die->abbrev to DWARF_END_ABBREV 551*7304104dSAndroid Build Coastguard Worker on failure. 552*7304104dSAndroid Build Coastguard Worker 553*7304104dSAndroid Build Coastguard Worker2018-06-10 Mark Wielaard <[email protected]> 554*7304104dSAndroid Build Coastguard Worker 555*7304104dSAndroid Build Coastguard Worker * dwarf_attr_integrate.c (dwarf_attr_integrate): Stop after 16 DIE 556*7304104dSAndroid Build Coastguard Worker ref chains. 557*7304104dSAndroid Build Coastguard Worker * dwarf_hasattr_integrate.c (dwarf_hasattr_integrate): Likewise. 558*7304104dSAndroid Build Coastguard Worker 559*7304104dSAndroid Build Coastguard Worker2018-06-08 Mark Wielaard <[email protected]> 560*7304104dSAndroid Build Coastguard Worker 561*7304104dSAndroid Build Coastguard Worker * dwarf_getabbrev.c (dwarf_getabbrev): Check die and offset. 562*7304104dSAndroid Build Coastguard Worker 563*7304104dSAndroid Build Coastguard Worker2018-06-08 Mark Wielaard <[email protected]> 564*7304104dSAndroid Build Coastguard Worker 565*7304104dSAndroid Build Coastguard Worker * dwarf_get_units.c (dwarf_get_units): Handle existing error, no 566*7304104dSAndroid Build Coastguard Worker dwarf. 567*7304104dSAndroid Build Coastguard Worker 568*7304104dSAndroid Build Coastguard Worker2018-06-08 Mark Wielaard <[email protected]> 569*7304104dSAndroid Build Coastguard Worker 570*7304104dSAndroid Build Coastguard Worker * dwarf_getlocation.c (store_implicit_value): Return error when 571*7304104dSAndroid Build Coastguard Worker seeing bad DWARF or when tsearch runs out of memory. 572*7304104dSAndroid Build Coastguard Worker (__libdw_intern_expression): Report error when store_implicit_value 573*7304104dSAndroid Build Coastguard Worker reported an error. 574*7304104dSAndroid Build Coastguard Worker 575*7304104dSAndroid Build Coastguard Worker2018-06-08 Mark Wielaard <[email protected]> 576*7304104dSAndroid Build Coastguard Worker 577*7304104dSAndroid Build Coastguard Worker * dwarf_getsrclines.c (read_srclines): Sanity check ndirs and nfiles. 578*7304104dSAndroid Build Coastguard Worker 579*7304104dSAndroid Build Coastguard Worker2018-06-08 Mark Wielaard <[email protected]> 580*7304104dSAndroid Build Coastguard Worker 581*7304104dSAndroid Build Coastguard Worker * dwarf_getlocation_attr.c (addr_valp): Set error and return NULL 582*7304104dSAndroid Build Coastguard Worker when there is no .debug_addr section. 583*7304104dSAndroid Build Coastguard Worker (dwarf_getlocation_attr): If addr_valp returns NULL, then return -1. 584*7304104dSAndroid Build Coastguard Worker 585*7304104dSAndroid Build Coastguard Worker2018-06-07 Mark Wielaard <[email protected]> 586*7304104dSAndroid Build Coastguard Worker 587*7304104dSAndroid Build Coastguard Worker * libdw_findcu.c (__libdw_intern_next_unit): Report DWARF_E_VERSION, 588*7304104dSAndroid Build Coastguard Worker not DWARF_E_INVALID_DWARF on unknown version. Set address_size and 589*7304104dSAndroid Build Coastguard Worker offset_size to 8 when unknown. 590*7304104dSAndroid Build Coastguard Worker 591*7304104dSAndroid Build Coastguard Worker2018-06-06 Mark Wielaard <[email protected]> 592*7304104dSAndroid Build Coastguard Worker 593*7304104dSAndroid Build Coastguard Worker * libdwP.h (__libdw_dieabbrev): Check DIE addr falls in cu. 594*7304104dSAndroid Build Coastguard Worker 595*7304104dSAndroid Build Coastguard Worker2018-06-06 Mark Wielaard <[email protected]> 596*7304104dSAndroid Build Coastguard Worker 597*7304104dSAndroid Build Coastguard Worker * dwarf_getlocation_die.c (dwarf_getlocation_die): Check offset 598*7304104dSAndroid Build Coastguard Worker falls inside cu data. 599*7304104dSAndroid Build Coastguard Worker 600*7304104dSAndroid Build Coastguard Worker2018-06-05 Mark Wielaard <[email protected]> 601*7304104dSAndroid Build Coastguard Worker 602*7304104dSAndroid Build Coastguard Worker * dwarf_getsrclines.c (read_srclines): Explicitly set diridx to -1 603*7304104dSAndroid Build Coastguard Worker in case dwarf_formudata fails. 604*7304104dSAndroid Build Coastguard Worker 605*7304104dSAndroid Build Coastguard Worker2018-06-05 Mark Wielaard <[email protected]> 606*7304104dSAndroid Build Coastguard Worker 607*7304104dSAndroid Build Coastguard Worker * dwarf_getaranges (dwarf_getaranges): Free new_arange if 608*7304104dSAndroid Build Coastguard Worker __libdw_findcu fails. 609*7304104dSAndroid Build Coastguard Worker 610*7304104dSAndroid Build Coastguard Worker2018-06-05 Mark Wielaard <[email protected]> 611*7304104dSAndroid Build Coastguard Worker 612*7304104dSAndroid Build Coastguard Worker * dwarf_getsrclines.c (read_srclines): Define dirarray early and 613*7304104dSAndroid Build Coastguard Worker check whether or not it is equal to dirstack on exit/out before 614*7304104dSAndroid Build Coastguard Worker cleanup. 615*7304104dSAndroid Build Coastguard Worker 616*7304104dSAndroid Build Coastguard Worker2018-06-05 Mark Wielaard <[email protected]> 617*7304104dSAndroid Build Coastguard Worker 618*7304104dSAndroid Build Coastguard Worker * dwarf_getalt.c (find_debug_altlink): id_path array should be 2 619*7304104dSAndroid Build Coastguard Worker larger to contain MAX_BUILD_ID_BYTES. 620*7304104dSAndroid Build Coastguard Worker 621*7304104dSAndroid Build Coastguard Worker2018-05-31 Mark Wielaard <[email protected]> 622*7304104dSAndroid Build Coastguard Worker 623*7304104dSAndroid Build Coastguard Worker * libdw_find_split_unit.c (try_split_file): New function extracted 624*7304104dSAndroid Build Coastguard Worker from... 625*7304104dSAndroid Build Coastguard Worker (__libdw_find_split_unit): ... here. Try both the relative and 626*7304104dSAndroid Build Coastguard Worker absolute paths to find a .dwo file. 627*7304104dSAndroid Build Coastguard Worker 628*7304104dSAndroid Build Coastguard Worker2018-05-30 Mark Wielaard <[email protected]> 629*7304104dSAndroid Build Coastguard Worker 630*7304104dSAndroid Build Coastguard Worker * libdw/dwarf_getsrclines.c (read_srclines): Change ndir and 631*7304104dSAndroid Build Coastguard Worker ndirlist to size_t. Add check to see ndirlist doesn't overflow. 632*7304104dSAndroid Build Coastguard Worker 633*7304104dSAndroid Build Coastguard Worker2018-05-31 Mark Wielaard <[email protected]> 634*7304104dSAndroid Build Coastguard Worker 635*7304104dSAndroid Build Coastguard Worker * dwarf_dieoffset.c: Check die->cu != NULL. Return -1, not ~0ul 636*7304104dSAndroid Build Coastguard Worker on failure. 637*7304104dSAndroid Build Coastguard Worker 638*7304104dSAndroid Build Coastguard Worker2018-05-29 Mark Wielaard <[email protected]> 639*7304104dSAndroid Build Coastguard Worker 640*7304104dSAndroid Build Coastguard Worker * dwarf_cuoffset.c (dwarf_cuoffset): Check die->cu is not NULL. 641*7304104dSAndroid Build Coastguard Worker * dwarf_die_addr_die.c (dwarf_die_addr_die): Also search split 642*7304104dSAndroid Build Coastguard Worker Dwarfs. 643*7304104dSAndroid Build Coastguard Worker * libdwP.h (struct Dwarf): Add split_tree field. 644*7304104dSAndroid Build Coastguard Worker (__libdw_find_split_dbg_addr): New internal function definition. 645*7304104dSAndroid Build Coastguard Worker (__libdw_finddbg_cb): Likewise. 646*7304104dSAndroid Build Coastguard Worker * libdw_find_split_unit.c (__libdw_find_split_unit): Insert split 647*7304104dSAndroid Build Coastguard Worker Dwarf into skeleton dbg split_tree. 648*7304104dSAndroid Build Coastguard Worker * libdw_findcu.c (__libdw_finddbg_cb): New function. 649*7304104dSAndroid Build Coastguard Worker (__libdw_find_split_dbg_addr): Likewise. 650*7304104dSAndroid Build Coastguard Worker * dwarf_end (dwarf_end): Destroy split_tree. 651*7304104dSAndroid Build Coastguard Worker 652*7304104dSAndroid Build Coastguard Worker2018-05-29 Mark Wielaard <[email protected]> 653*7304104dSAndroid Build Coastguard Worker 654*7304104dSAndroid Build Coastguard Worker * dwarf.h: Add GNU DebugFission list entry encodings 655*7304104dSAndroid Build Coastguard Worker DW_LLE_GNU_end_of_list_entry, 656*7304104dSAndroid Build Coastguard Worker DW_LLE_GNU_base_address_selection_entry, 657*7304104dSAndroid Build Coastguard Worker DW_LLE_GNU_start_end_entry and DW_LLE_GNU_start_length_entry. 658*7304104dSAndroid Build Coastguard Worker * dwarf_ranges.c (__libdw_read_begin_end_pair_inc): Handle 659*7304104dSAndroid Build Coastguard Worker GNU DebugFission list entries. 660*7304104dSAndroid Build Coastguard Worker 661*7304104dSAndroid Build Coastguard Worker2018-05-28 Mark Wielaard <[email protected]> 662*7304104dSAndroid Build Coastguard Worker 663*7304104dSAndroid Build Coastguard Worker * libdw_find_split_unit.c (__libdw_find_split_unit): End split_dwarf 664*7304104dSAndroid Build Coastguard Worker only after we tried every unit id in it. 665*7304104dSAndroid Build Coastguard Worker 666*7304104dSAndroid Build Coastguard Worker2018-04-07 Mark Wielaard <[email protected]> 667*7304104dSAndroid Build Coastguard Worker 668*7304104dSAndroid Build Coastguard Worker * libdwP.h (struct Dwarf_CU): Add locs_base. 669*7304104dSAndroid Build Coastguard Worker (__libdw_cu_locs_base): New static inline function. 670*7304104dSAndroid Build Coastguard Worker * libdw_findcu.c (__libdw_intern_next_unit): Initialize locs_base. 671*7304104dSAndroid Build Coastguard Worker * dwarf_begin_elf.c (valid_p): Create fake_loclists_cu if necessary. 672*7304104dSAndroid Build Coastguard Worker * dwarf_end.c (dwarf_end): Clean up fake_loclists_cu. 673*7304104dSAndroid Build Coastguard Worker * dwarf_getlocation.c (initial_offset): Handle .debug_loclists. 674*7304104dSAndroid Build Coastguard Worker (getlocations_addr): Likewise. 675*7304104dSAndroid Build Coastguard Worker (dwarf_getlocation_addr): Likewise. 676*7304104dSAndroid Build Coastguard Worker * dwarf_getlocation_attr.c (attr_form_cu): Use fake_loclists_cu for 677*7304104dSAndroid Build Coastguard Worker DWARF5. 678*7304104dSAndroid Build Coastguard Worker (initial_offset): Handle DW_FORM_loclistx. 679*7304104dSAndroid Build Coastguard Worker * dwarf_ranges.c (__libdw_read_begin_end_pair_inc): Handle 680*7304104dSAndroid Build Coastguard Worker .debug_loclists. 681*7304104dSAndroid Build Coastguard Worker * libdwP.h (struct Dwarf): Add fake_loclists_cu. 682*7304104dSAndroid Build Coastguard Worker 683*7304104dSAndroid Build Coastguard Worker2018-04-12 Mark Wielaard <[email protected]> 684*7304104dSAndroid Build Coastguard Worker 685*7304104dSAndroid Build Coastguard Worker * dwarf.h: Add DWARF5 location list entry DW_LLE encodings. 686*7304104dSAndroid Build Coastguard Worker * begin_elf.c (dwarf_scnnames): Add IDX_debug_loclists. 687*7304104dSAndroid Build Coastguard Worker * dwarf_error.c (errmsgs): Remove DWARF_E_NO_LOCLIST. And replace 688*7304104dSAndroid Build Coastguard Worker with DWARF_E_NO_DEBUG_LOC, DWARF_E_NO_DEBUG_LOCLISTS and 689*7304104dSAndroid Build Coastguard Worker DWARF_E_NO_LOC_VALUE. 690*7304104dSAndroid Build Coastguard Worker * dwarf_formudata.c (dwarf_formudata): Handle DW_AT_loclists_base 691*7304104dSAndroid Build Coastguard Worker and DW_FORM_loclistx. 692*7304104dSAndroid Build Coastguard Worker * dwarf_getlocation.c (attr_ok): Use DWARF_E_NO_LOC_VALUE. 693*7304104dSAndroid Build Coastguard Worker (initial_offset): Use DWARF_E_NO_DEBUG_LOC. 694*7304104dSAndroid Build Coastguard Worker * libdwP.h: Add IDX_debug_rnglists. Remove DWARF_E_NO_LOCLIST. 695*7304104dSAndroid Build Coastguard Worker Add DWARF_E_NO_DEBUG_LOC, DWARF_E_NO_DEBUG_LOCLISTS and 696*7304104dSAndroid Build Coastguard Worker DWARF_E_NO_LOC_VALUE. 697*7304104dSAndroid Build Coastguard Worker 698*7304104dSAndroid Build Coastguard Worker2018-05-25 Mark Wielaard <[email protected]> 699*7304104dSAndroid Build Coastguard Worker 700*7304104dSAndroid Build Coastguard Worker * libdw_find_split_unit.c (__libdw_find_split_unit): Extract linking 701*7304104dSAndroid Build Coastguard Worker skeleton and split compile units code into... 702*7304104dSAndroid Build Coastguard Worker * libdwP (__libdw_link_skel_split): ...this new function. 703*7304104dSAndroid Build Coastguard Worker 704*7304104dSAndroid Build Coastguard Worker2018-04-06 Mark Wielaard <[email protected]> 705*7304104dSAndroid Build Coastguard Worker 706*7304104dSAndroid Build Coastguard Worker * dwarf_formaddr.c (__libdw_addrx): New function, extracted from... 707*7304104dSAndroid Build Coastguard Worker (dwarf_formaddr): here. Use __libdw_addrx. 708*7304104dSAndroid Build Coastguard Worker * dwarf_getlocation.c (getlocations_addr): Pass cu to 709*7304104dSAndroid Build Coastguard Worker __libdw_read_begin_end_pair_inc. 710*7304104dSAndroid Build Coastguard Worker * dwarf_ranges.c (__libdw_read_begin_end_pair_inc): Take cu as 711*7304104dSAndroid Build Coastguard Worker argument. Handle .debug_rnglists. 712*7304104dSAndroid Build Coastguard Worker (initial_offset): Handle .debug_rnglists and DW_FORM_rnglistx. 713*7304104dSAndroid Build Coastguard Worker (dwarf_ranges): Likewise. Check cu isn't NULL before use. Pass cu to 714*7304104dSAndroid Build Coastguard Worker __libdw_read_begin_end_pair_inc. 715*7304104dSAndroid Build Coastguard Worker * libdwP.h (__libdw_read_begin_end_pair_inc): Take cu as argument. 716*7304104dSAndroid Build Coastguard Worker (__libdw_cu_ranges_base): Handle DW_AT_rnglists_base. 717*7304104dSAndroid Build Coastguard Worker (__libdw_addrx): New function definition. 718*7304104dSAndroid Build Coastguard Worker 719*7304104dSAndroid Build Coastguard Worker2018-04-11 Mark Wielaard <[email protected]> 720*7304104dSAndroid Build Coastguard Worker 721*7304104dSAndroid Build Coastguard Worker * dwarf.h: Add DWARF5 range list entry DW_RLE encodings. 722*7304104dSAndroid Build Coastguard Worker * begin_elf.c (dwarf_scnnames): Add IDX_debug_rnglists. 723*7304104dSAndroid Build Coastguard Worker * dwarf_error.c (errmsgs): Add DWARF_E_NO_DEBUG_RNGLISTS. 724*7304104dSAndroid Build Coastguard Worker * dwarf_formudata.c (dwarf_formudata): Handle DW_AT_rnglists_base 725*7304104dSAndroid Build Coastguard Worker and DW_FORM_rnglistx. 726*7304104dSAndroid Build Coastguard Worker * dwarf_getscopes.c (pc_match): Also check for 727*7304104dSAndroid Build Coastguard Worker DWARF_E_NO_DEBUG_RNGLISTS. 728*7304104dSAndroid Build Coastguard Worker * libdwP.h: Add IDX_debug_rnglists. 729*7304104dSAndroid Build Coastguard Worker 730*7304104dSAndroid Build Coastguard Worker2018-05-25 Mark Wielaard <[email protected]> 731*7304104dSAndroid Build Coastguard Worker 732*7304104dSAndroid Build Coastguard Worker * dwarf_getlocation_attr.c (__libdw_cu_addr_base): Cast offset to 733*7304104dSAndroid Build Coastguard Worker uintptr_t before returning as pointer. 734*7304104dSAndroid Build Coastguard Worker 735*7304104dSAndroid Build Coastguard Worker2018-05-22 Mark Wielaard <[email protected]> 736*7304104dSAndroid Build Coastguard Worker 737*7304104dSAndroid Build Coastguard Worker * dwarf_getlocation.c (__libdw_cu_base_address): Treat errors of 738*7304104dSAndroid Build Coastguard Worker getting lowpc or entrypc the same as missing base address (zero). 739*7304104dSAndroid Build Coastguard Worker * dwarf_highpc (dwarf_highpc): Handle any address form. Always set 740*7304104dSAndroid Build Coastguard Worker error when attribute could not be found. 741*7304104dSAndroid Build Coastguard Worker 742*7304104dSAndroid Build Coastguard Worker2018-05-21 Mark Wielaard <[email protected]> 743*7304104dSAndroid Build Coastguard Worker 744*7304104dSAndroid Build Coastguard Worker * dwarf_begin_elf.c (valid_p): Add a fake_addr_cu to the result. 745*7304104dSAndroid Build Coastguard Worker * dwarf_end.c (cu_free): Disconnect the fake_addr_cu from the split 746*7304104dSAndroid Build Coastguard Worker dwarf if shared with skeleton. 747*7304104dSAndroid Build Coastguard Worker (dwarf_end): release fake_addr_cu. 748*7304104dSAndroid Build Coastguard Worker * dwarf_formaddr.c (__libdw_cu_addr_base): Move to... 749*7304104dSAndroid Build Coastguard Worker * libdwP.h (__libdw_cu_addr_base): ... here. 750*7304104dSAndroid Build Coastguard Worker (struct Dwarf): Add fake_addr_cu field. 751*7304104dSAndroid Build Coastguard Worker * dwarf_formudata.c (dwarf_formudata): Handle 752*7304104dSAndroid Build Coastguard Worker DW_FORM_GNU_addr_index and DW_FORM_addrx[1234]. 753*7304104dSAndroid Build Coastguard Worker * dwarf_getlocation_attr.c (addr_valp): New static function. 754*7304104dSAndroid Build Coastguard Worker (dwarf_getlocation_attr): Create attribute for values of 755*7304104dSAndroid Build Coastguard Worker DW_OP_GNU_const_index, DW_OP_constx and DW_OP_GNU_addr_index and 756*7304104dSAndroid Build Coastguard Worker DW_OP_addrx. 757*7304104dSAndroid Build Coastguard Worker * libdw_find_split_unit.c (__libdw_find_split_unit): Connect 758*7304104dSAndroid Build Coastguard Worker IDX_debug_addr sectiondata and fake_addr_cu between split and 759*7304104dSAndroid Build Coastguard Worker skeleton. 760*7304104dSAndroid Build Coastguard Worker 761*7304104dSAndroid Build Coastguard Worker2018-05-20 Mark Wielaard <[email protected]> 762*7304104dSAndroid Build Coastguard Worker 763*7304104dSAndroid Build Coastguard Worker * dwarf_cu_info.c: New file. 764*7304104dSAndroid Build Coastguard Worker * Makefile.am (libdw_a_SOURCES): Add dwarf_cu_info.c. 765*7304104dSAndroid Build Coastguard Worker * libdw.h (dwarf_cu_info): New function declaration. 766*7304104dSAndroid Build Coastguard Worker * libdw.map (ELFUTILS_0.171): Add dwarf_cu_info. 767*7304104dSAndroid Build Coastguard Worker 768*7304104dSAndroid Build Coastguard Worker2018-05-24 Mark Wielaard <[email protected]> 769*7304104dSAndroid Build Coastguard Worker 770*7304104dSAndroid Build Coastguard Worker * dwarf_ranges.c (dwarf_ranges): Check for NULL cu. 771*7304104dSAndroid Build Coastguard Worker * libdw_findcu.c (__libdw_intern_next_unit): Initialize ranges_base. 772*7304104dSAndroid Build Coastguard Worker 773*7304104dSAndroid Build Coastguard Worker2018-05-18 Mark Wielaard <[email protected]> 774*7304104dSAndroid Build Coastguard Worker 775*7304104dSAndroid Build Coastguard Worker * dwarf_formudata.c (__libdw_formptr): Handle the special case 776*7304104dSAndroid Build Coastguard Worker of IDX_debug_ranges for DW_UT_split_compile with version < 5. 777*7304104dSAndroid Build Coastguard Worker * dwarf_highpc.c (dwarf_highpc): Use dwarf_lowpc, check for 778*7304104dSAndroid Build Coastguard Worker split compile cudie. 779*7304104dSAndroid Build Coastguard Worker * dwarf_lowpc.c (dwarf_lowpc): Check for split compile cudie. 780*7304104dSAndroid Build Coastguard Worker * dwarf_ranges.c (dwarf_ranges): Switch cu and sectiondata for 781*7304104dSAndroid Build Coastguard Worker split compile units. 782*7304104dSAndroid Build Coastguard Worker * libdwP.h (struct Dwarf_CU): Add ranges_base field. 783*7304104dSAndroid Build Coastguard Worker (__libdw_cu_ranges_base): New static inline function. 784*7304104dSAndroid Build Coastguard Worker 785*7304104dSAndroid Build Coastguard Worker2018-05-18 Mark Wielaard <[email protected]> 786*7304104dSAndroid Build Coastguard Worker 787*7304104dSAndroid Build Coastguard Worker * libdw_findcu.c (__libdw_intern_next_unit): Init files to NULL. 788*7304104dSAndroid Build Coastguard Worker * dwarf_getsrclines.c (dwarf_getsrclines): Handle split units by 789*7304104dSAndroid Build Coastguard Worker taking the line table from the skeleton. 790*7304104dSAndroid Build Coastguard Worker * dwarf_getsrcfiles.c (dwarf_getsrcfiles): Handle split units by 791*7304104dSAndroid Build Coastguard Worker only taking the files from .debug_line offset zero (if it exists), 792*7304104dSAndroid Build Coastguard Worker otherwise fall back to the skeleton. 793*7304104dSAndroid Build Coastguard Worker 794*7304104dSAndroid Build Coastguard Worker2018-05-17 Mark Wielaard <[email protected]> 795*7304104dSAndroid Build Coastguard Worker 796*7304104dSAndroid Build Coastguard Worker * dwarf_begin_elf.c (__libdw_debugdir): New function. 797*7304104dSAndroid Build Coastguard Worker (valid_p): Call __libdw_debugdir. 798*7304104dSAndroid Build Coastguard Worker * dwarf_end.c (dwarf_end.c): Free debugdir. 799*7304104dSAndroid Build Coastguard Worker * dwarf_getalt.c (__libdw_filepath): Extract __libdw_debugdir logic. 800*7304104dSAndroid Build Coastguard Worker take debugdir as argument instead of fd. 801*7304104dSAndroid Build Coastguard Worker (find_debug_altlink): Call __libdw_filepath with debugdir. 802*7304104dSAndroid Build Coastguard Worker * libdwP.h (struct Dwarf): Add debugdir field. 803*7304104dSAndroid Build Coastguard Worker (__libdw_debugdir): New function prototype. 804*7304104dSAndroid Build Coastguard Worker (__libdw_filepath): Adjust prototype to take a const char * instead of 805*7304104dSAndroid Build Coastguard Worker an int. 806*7304104dSAndroid Build Coastguard Worker * libdw_find_split_unit.c (__libdw_find_split_unit): Call 807*7304104dSAndroid Build Coastguard Worker __libdw_filepath with debugdir. 808*7304104dSAndroid Build Coastguard Worker 809*7304104dSAndroid Build Coastguard Worker2018-05-17 Mark Wielaard <[email protected]> 810*7304104dSAndroid Build Coastguard Worker 811*7304104dSAndroid Build Coastguard Worker * dwarf_attr_integrate.c (dwarf_attr_integrate): Handle split_compile 812*7304104dSAndroid Build Coastguard Worker unit DIE, search skeleton_compile unit DIE. 813*7304104dSAndroid Build Coastguard Worker * dwarf_hasattr_integrate.c (dwarf_hasattr_integrate): Likewise. 814*7304104dSAndroid Build Coastguard Worker * libdwP.h (is_cudie): Check cu is not NULL. 815*7304104dSAndroid Build Coastguard Worker 816*7304104dSAndroid Build Coastguard Worker2018-05-19 Mark Wielaard <[email protected]> 817*7304104dSAndroid Build Coastguard Worker 818*7304104dSAndroid Build Coastguard Worker * libdwP.h (__libdw_find_split_unit): Mark as internal_function. 819*7304104dSAndroid Build Coastguard Worker 820*7304104dSAndroid Build Coastguard Worker2018-05-15 Mark Wielaard <[email protected]> 821*7304104dSAndroid Build Coastguard Worker 822*7304104dSAndroid Build Coastguard Worker * Makefile.am (libdw_a_SOURCES): Add libdw_find_split_unit.c. 823*7304104dSAndroid Build Coastguard Worker * dwarf_end.c (cu_free): Free split Dwarf. 824*7304104dSAndroid Build Coastguard Worker * dwarf_get_units.c (dwarf_get_units): Handle DW_UT_skeleton by 825*7304104dSAndroid Build Coastguard Worker calling __libdw_find_split_unit. 826*7304104dSAndroid Build Coastguard Worker * libdwP.h (struct Dwarf_CU): Add split Dwarf_CU field. 827*7304104dSAndroid Build Coastguard Worker (__libdw_find_split_unit): New function prototype. 828*7304104dSAndroid Build Coastguard Worker (str_offsets_base_off): Use cu Dwarf if dbg is NULL. 829*7304104dSAndroid Build Coastguard Worker (filepath): Rename to ... 830*7304104dSAndroid Build Coastguard Worker (__libdw_filepath): This. Which is the actual function name in 831*7304104dSAndroid Build Coastguard Worker dwarf_getalt.c. 832*7304104dSAndroid Build Coastguard Worker (libdw_find_split_unit.c): New file. 833*7304104dSAndroid Build Coastguard Worker * libdw_findcu.c (__libdw_intern_next_unit): Initialize split to -1. 834*7304104dSAndroid Build Coastguard Worker 835*7304104dSAndroid Build Coastguard Worker2018-05-15 Mark Wielaard <[email protected]> 836*7304104dSAndroid Build Coastguard Worker 837*7304104dSAndroid Build Coastguard Worker * libdwP.h (__libdw_first_die_from_cu_start): Adjust commented out 838*7304104dSAndroid Build Coastguard Worker asserts. 839*7304104dSAndroid Build Coastguard Worker * libdw_findcu.c (__libdw_intern_next_unit): For version 4 DWARF if 840*7304104dSAndroid Build Coastguard Worker the cudie has a DW_AT_GNU_dwi_id set the unit_id8 and unit_type to 841*7304104dSAndroid Build Coastguard Worker DW_UT_skeleton or DW_UT_split_compile based on whether the cudie has 842*7304104dSAndroid Build Coastguard Worker child DIEs and a DW_AT_GNU_dwo_name attribute. 843*7304104dSAndroid Build Coastguard Worker 844*7304104dSAndroid Build Coastguard Worker2018-05-14 Mark Wielaard <[email protected]> 845*7304104dSAndroid Build Coastguard Worker 846*7304104dSAndroid Build Coastguard Worker * dwarf.h: Add GNU Debug Fission extensions. DW_AT_GNU_dwo_name, 847*7304104dSAndroid Build Coastguard Worker DW_AT_GNU_dwo_id, DW_AT_GNU_ranges_base, DW_AT_GNU_addr_base, 848*7304104dSAndroid Build Coastguard Worker DW_AT_GNU_pubnames, DW_AT_GNU_pubtypes. DW_FORM_GNU_addr_index, 849*7304104dSAndroid Build Coastguard Worker DW_FORM_GNU_str_index. DW_OP_GNU_addr_index, DW_OP_GNU_const_index. 850*7304104dSAndroid Build Coastguard Worker * dwarf_formaddr.c (dwarf_formaddr): Handle DW_FORM_GNU_addr_index 851*7304104dSAndroid Build Coastguard Worker as DW_FORM_addrx. 852*7304104dSAndroid Build Coastguard Worker (__libdw_cu_addr_base): Check for both DW_AT_GNU_addr_base and 853*7304104dSAndroid Build Coastguard Worker DW_AT_addr_base. 854*7304104dSAndroid Build Coastguard Worker * dwarf_formstring.c (dwarf_formstring): Handle DW_FORM_GNU_str_index 855*7304104dSAndroid Build Coastguard Worker as DW_FORM_strx. 856*7304104dSAndroid Build Coastguard Worker * dwarf_formudata.c (dwarf_formudata): Recognize DW_AT_GNU_addr_base 857*7304104dSAndroid Build Coastguard Worker as addrptr. Recognize DW_AT_GNU_ranges_base as rangelistptr. 858*7304104dSAndroid Build Coastguard Worker * dwarf_getlocation.c (__libdw_intern_expression): Handle 859*7304104dSAndroid Build Coastguard Worker DW_OP_GNU_addr_index as DW_OP_addrx and DW_OP_GNU_const_index as 860*7304104dSAndroid Build Coastguard Worker DW_OP_constx. 861*7304104dSAndroid Build Coastguard Worker * libdw_form.c (__libdw_form_val_compute_len): Handle 862*7304104dSAndroid Build Coastguard Worker DW_FORM_GNU_addr_index and DW_FORM_GNU_str_index taking an uleb128. 863*7304104dSAndroid Build Coastguard Worker 864*7304104dSAndroid Build Coastguard Worker2018-05-12 Mark Wielaard <[email protected]> 865*7304104dSAndroid Build Coastguard Worker 866*7304104dSAndroid Build Coastguard Worker * dwarf_begin_elf.c (check_section): Also recognize .dwo section 867*7304104dSAndroid Build Coastguard Worker name variants. 868*7304104dSAndroid Build Coastguard Worker 869*7304104dSAndroid Build Coastguard Worker2018-05-11 Mark Wielaard <[email protected]> 870*7304104dSAndroid Build Coastguard Worker 871*7304104dSAndroid Build Coastguard Worker * dwarf_formudata.c (dwarf_formudata): Handle DW_AT_macros as macptr. 872*7304104dSAndroid Build Coastguard Worker * dwarf_getmacros.c (get_table_for_offset): Add DW_MACRO_define_sup, 873*7304104dSAndroid Build Coastguard Worker DW_MACRO_undef_sup, DW_MACRO_import_sup, DW_MACRO_define_strx and 874*7304104dSAndroid Build Coastguard Worker DW_MACRO_undef_strx. Add str_offsets_base_off to fake CU. Deal with 875*7304104dSAndroid Build Coastguard Worker DW_AT_macros. Use libdw_valid_user_form. 876*7304104dSAndroid Build Coastguard Worker 877*7304104dSAndroid Build Coastguard Worker2018-05-09 Mark Wielaard <[email protected]> 878*7304104dSAndroid Build Coastguard Worker 879*7304104dSAndroid Build Coastguard Worker * dwarf_formstring.c (__libdw_cu_str_off_base): Moved to... 880*7304104dSAndroid Build Coastguard Worker * libdwP.h (__libdw_cu_str_off_base): ...here. Make static inline. 881*7304104dSAndroid Build Coastguard Worker (str_offsets_base_off): New internal function that also parses 882*7304104dSAndroid Build Coastguard Worker .debug_str_offsets header if necessary. 883*7304104dSAndroid Build Coastguard Worker 884*7304104dSAndroid Build Coastguard Worker2018-05-11 Mark Wielaard <[email protected]> 885*7304104dSAndroid Build Coastguard Worker 886*7304104dSAndroid Build Coastguard Worker * dwarf_siblingof.c (dwarf_siblingof): Don't reference cu till it is 887*7304104dSAndroid Build Coastguard Worker known the Dwarf_Die is came from is valid. 888*7304104dSAndroid Build Coastguard Worker * libdwP.h (__libdw_dieabbrev): Check cu is not NULL. 889*7304104dSAndroid Build Coastguard Worker 890*7304104dSAndroid Build Coastguard Worker2018-05-08 Mark Wielaard <[email protected]> 891*7304104dSAndroid Build Coastguard Worker 892*7304104dSAndroid Build Coastguard Worker * dwarf_formref.c (__libdw_formref): Explicitly don't handle 893*7304104dSAndroid Build Coastguard Worker DW_FORM_ref_sup4 and DW_FORM_ref_sup8. 894*7304104dSAndroid Build Coastguard Worker * dwarf_formref_die.c (dwarf_formref_die): Handle DW_FORM_ref_sup4 895*7304104dSAndroid Build Coastguard Worker and DW_FORM_ref_sup8. 896*7304104dSAndroid Build Coastguard Worker * dwarf_formstring.c (dwarf_formstring): Handle DW_FORM_strp_sup 897*7304104dSAndroid Build Coastguard Worker as DW_FORM_GNU_strp_alt. 898*7304104dSAndroid Build Coastguard Worker 899*7304104dSAndroid Build Coastguard Worker2018-05-05 Mark Wielaard <[email protected]> 900*7304104dSAndroid Build Coastguard Worker 901*7304104dSAndroid Build Coastguard Worker * dwarf.h: Add DWARF line content descriptions. 902*7304104dSAndroid Build Coastguard Worker * libdwP.h (libdw_valid_user_form): New static function. 903*7304104dSAndroid Build Coastguard Worker * dwarf_getsrclines.c (read_srclines): Check and parse version 5 904*7304104dSAndroid Build Coastguard Worker DWARF header, dir and file tables separately from older versions 905*7304104dSAndroid Build Coastguard Worker where different. 906*7304104dSAndroid Build Coastguard Worker 907*7304104dSAndroid Build Coastguard Worker2018-04-24 Mark Wielaard <[email protected]> 908*7304104dSAndroid Build Coastguard Worker 909*7304104dSAndroid Build Coastguard Worker * dwarf_begin_elf.c (dwarf_scnnames): Add ".debug_line_str". 910*7304104dSAndroid Build Coastguard Worker * dwarf_error.c (errmsgs): Add DWARF_E_NO_DEBUG_STR and 911*7304104dSAndroid Build Coastguard Worker DWARF_E_NO_DEBUG_LINE_STR. 912*7304104dSAndroid Build Coastguard Worker * dwarf_formstring.c (dwarf_formstring): Handle DW_FORM_line_strp. 913*7304104dSAndroid Build Coastguard Worker Get data from either .debug_str or .debug_line_str. 914*7304104dSAndroid Build Coastguard Worker * libdwP.h: Add IDX_debug_line_str, DWARF_E_NO_DEBUG_STR and 915*7304104dSAndroid Build Coastguard Worker DWARF_E_NO_DEBUG_LINE_STR. 916*7304104dSAndroid Build Coastguard Worker 917*7304104dSAndroid Build Coastguard Worker2018-04-03 Mark Wielaard <[email protected]> 918*7304104dSAndroid Build Coastguard Worker 919*7304104dSAndroid Build Coastguard Worker * dwarf_formudata.c (__libdw_formptr): Take and return const 920*7304104dSAndroid Build Coastguard Worker unsigned char pointers. 921*7304104dSAndroid Build Coastguard Worker * dwarf_getlocation.c (attr_base_address): Rename to... 922*7304104dSAndroid Build Coastguard Worker (__libdw_cu_base_address): this. Take Dwarf_CU, check and set 923*7304104dSAndroid Build Coastguard Worker base_address. 924*7304104dSAndroid Build Coastguard Worker (initial_offset_base): Renamed to... 925*7304104dSAndroid Build Coastguard Worker (initial_offset): this. Only provide offset. 926*7304104dSAndroid Build Coastguard Worker (getlocations_addr): Move data size check and 927*7304104dSAndroid Build Coastguard Worker address base addition into __libdw_read_begin_end_pair_inc. Use 928*7304104dSAndroid Build Coastguard Worker __libdw_cu_base_address and initial_offset. Drop Elf_Data NULL 929*7304104dSAndroid Build Coastguard Worker check (already done by initial_offset, through __libdw_formptr). 930*7304104dSAndroid Build Coastguard Worker (dwarf_getlocations): Use __libdw_cu_base_address and initial_offset. 931*7304104dSAndroid Build Coastguard Worker Drop Elf_Data NULL check. 932*7304104dSAndroid Build Coastguard Worker * dwarf_ranges.c (__libdw_read_begin_end_pair_inc): Change argument 933*7304104dSAndroid Build Coastguard Worker type of readp to Add readend argument. Check data size. Include base 934*7304104dSAndroid Build Coastguard Worker in begin and end result. 935*7304104dSAndroid Build Coastguard Worker (initial_offset): New static function. 936*7304104dSAndroid Build Coastguard Worker (dwarf_ranges): Don't check Elf_Data being NULL (already done by 937*7304104dSAndroid Build Coastguard Worker initial_offset, through __libdw_formptr). Use __libdw_cu_base_address 938*7304104dSAndroid Build Coastguard Worker and initial_offset. Remove base check and addition (already done by 939*7304104dSAndroid Build Coastguard Worker __libdw_read_begin_end_pair_inc. 940*7304104dSAndroid Build Coastguard Worker * libdwP.h (Dwarf_CU): Add base_address field. 941*7304104dSAndroid Build Coastguard Worker (__libdw_read_begin_end_pair_inc): Change argument type of readp to 942*7304104dSAndroid Build Coastguard Worker const. Add readend argument. 943*7304104dSAndroid Build Coastguard Worker (__libdw_formptr): Take and return const unsigned char pointers. 944*7304104dSAndroid Build Coastguard Worker * libdw_findcu.c (__libdw_intern_next_unit): Initialize Dwarf_CU 945*7304104dSAndroid Build Coastguard Worker base_address. 946*7304104dSAndroid Build Coastguard Worker 947*7304104dSAndroid Build Coastguard Worker2018-04-04 Mark Wielaard <[email protected]> 948*7304104dSAndroid Build Coastguard Worker 949*7304104dSAndroid Build Coastguard Worker * libdw_findcu.c (__libdw_intern_next_unit): Initialize Dwarf_CU 950*7304104dSAndroid Build Coastguard Worker addr_base and str_off_base. 951*7304104dSAndroid Build Coastguard Worker 952*7304104dSAndroid Build Coastguard Worker2018-03-23 Mark Wielaard <[email protected]> 953*7304104dSAndroid Build Coastguard Worker 954*7304104dSAndroid Build Coastguard Worker * dwarf_begin_elf.c (dwarf_scnnames): Add IDX_debug_str_offsets, 955*7304104dSAndroid Build Coastguard Worker increase size. 956*7304104dSAndroid Build Coastguard Worker * dwarf_error.c (errmsgs): Add DWARF_E_NO_STR_OFFSETS. 957*7304104dSAndroid Build Coastguard Worker * dwarf_formstring.c (dwarf_formstring): Handle DW_FORM_strx[1234]. 958*7304104dSAndroid Build Coastguard Worker (__libdw_cu_str_off_base): New function. 959*7304104dSAndroid Build Coastguard Worker * dwarf_formudata.c (dwarf_formudata): Handle IDX_debug_str_offsets 960*7304104dSAndroid Build Coastguard Worker as stroffsetsptr. 961*7304104dSAndroid Build Coastguard Worker * libdwP.h: Add IDX_debug_str_offsets and DWARF_E_NO_STR_OFFSETS. 962*7304104dSAndroid Build Coastguard Worker (struct Dwarf_CU): Add str_off_base field. 963*7304104dSAndroid Build Coastguard Worker (__libdw_cu_str_off_base): New function declaration. 964*7304104dSAndroid Build Coastguard Worker 965*7304104dSAndroid Build Coastguard Worker2018-03-22 Mark Wielaard <[email protected]> 966*7304104dSAndroid Build Coastguard Worker 967*7304104dSAndroid Build Coastguard Worker * dwarf_begin_elf.c (dwarf_scnnames): Add IDX_debug_addr. 968*7304104dSAndroid Build Coastguard Worker * dwarf_error.c (errmsgs): Add DWARF_E_NO_DEBUG_ADDR. 969*7304104dSAndroid Build Coastguard Worker * dwarf_formaddr.c (dwarf_formaddr): Handle DW_FORM_addrx[1234]. 970*7304104dSAndroid Build Coastguard Worker (__libdw_cu_addr_base): New function. 971*7304104dSAndroid Build Coastguard Worker * dwarf_formudata.c (dwarf_formudata): Handle DW_AT_addr_base as 972*7304104dSAndroid Build Coastguard Worker addrptr. 973*7304104dSAndroid Build Coastguard Worker * libdwP.h: Add IDX_debug_addr and DWARF_E_NO_DEBUG_ADDR. 974*7304104dSAndroid Build Coastguard Worker (struct Dwarf_CU): Add addr_base field. 975*7304104dSAndroid Build Coastguard Worker (__libdw_cu_addr_base): New function definition. 976*7304104dSAndroid Build Coastguard Worker * memory-access.h (file_byte_order): New static function. 977*7304104dSAndroid Build Coastguard Worker (read_3ubyte_unaligned): New inline function. 978*7304104dSAndroid Build Coastguard Worker 979*7304104dSAndroid Build Coastguard Worker2018-03-29 Mark Wielaard <[email protected]> 980*7304104dSAndroid Build Coastguard Worker 981*7304104dSAndroid Build Coastguard Worker * libdw.h (dwarf_decl_file): Extend documentation. 982*7304104dSAndroid Build Coastguard Worker (dwarf_linesrc): Likewise. 983*7304104dSAndroid Build Coastguard Worker (dwarf_filesrc): Likewise. 984*7304104dSAndroid Build Coastguard Worker 985*7304104dSAndroid Build Coastguard Worker2018-03-06 Mark Wielaard <[email protected]> 986*7304104dSAndroid Build Coastguard Worker 987*7304104dSAndroid Build Coastguard Worker * dwarf.h: Add DW_OP_implicit_pointer, DW_OP_addrx, DW_OP_constx, 988*7304104dSAndroid Build Coastguard Worker DW_OP_entry_value, DW_OP_const_type, DW_OP_regval_type, 989*7304104dSAndroid Build Coastguard Worker DW_OP_deref_type, DW_OP_xderef_type, DW_OP_convert and 990*7304104dSAndroid Build Coastguard Worker DW_OP_reinterpret. 991*7304104dSAndroid Build Coastguard Worker * dwarf_getlocation.c (__libdw_intern_expression): Handle 992*7304104dSAndroid Build Coastguard Worker DW_OP_convert, DW_OP_reinterpret, DW_OP_addrx, DW_OP_constx, 993*7304104dSAndroid Build Coastguard Worker DW_OP_regval_type, DW_OP_entry_value, DW_OP_implicit_pointer, 994*7304104dSAndroid Build Coastguard Worker DW_OP_deref_type, DW_OP_xderef_type and DW_OP_const_type. 995*7304104dSAndroid Build Coastguard Worker * dwarf_getlocation_attr.c (dwarf_getlocation_attr): Handle 996*7304104dSAndroid Build Coastguard Worker DW_OP_entry_value, DW_OP_const_type and DW_OP_implicit_pointer. 997*7304104dSAndroid Build Coastguard Worker * dwarf_getlocation_die.c (dwarf_getlocation_die): Handle 998*7304104dSAndroid Build Coastguard Worker DW_OP_implicit_pointer, DW_OP_convert, DW_OP_reinterpret, 999*7304104dSAndroid Build Coastguard Worker DW_OP_const_type, DW_OP_regval_type, DW_OP_deref_type and 1000*7304104dSAndroid Build Coastguard Worker DW_OP_xderef_type. 1001*7304104dSAndroid Build Coastguard Worker * dwarf_getlocation_implicit_pointer.c 1002*7304104dSAndroid Build Coastguard Worker (dwarf_getlocation_implicit_pointer): Handle DW_OP_implicit_pointer. 1003*7304104dSAndroid Build Coastguard Worker 1004*7304104dSAndroid Build Coastguard Worker2018-03-01 Mark Wielaard <[email protected]> 1005*7304104dSAndroid Build Coastguard Worker 1006*7304104dSAndroid Build Coastguard Worker * dwarf.h: Add DW_AT_GNU_locviews and DW_AT_GNU_entry_view. 1007*7304104dSAndroid Build Coastguard Worker * dwarf_formudata.c (dwarf_formudata): Handle DW_AT_GNU_locviews 1008*7304104dSAndroid Build Coastguard Worker as a loclistptr. 1009*7304104dSAndroid Build Coastguard Worker 1010*7304104dSAndroid Build Coastguard Worker2018-02-09 Mark Wielaard <[email protected]> 1011*7304104dSAndroid Build Coastguard Worker 1012*7304104dSAndroid Build Coastguard Worker * dwarf_formblock.c (dwarf_formblock): Handle DW_FORM_data16 as a 1013*7304104dSAndroid Build Coastguard Worker 16 byte block. 1014*7304104dSAndroid Build Coastguard Worker 1015*7304104dSAndroid Build Coastguard Worker2018-02-09 Mark Wielaard <[email protected]> 1016*7304104dSAndroid Build Coastguard Worker 1017*7304104dSAndroid Build Coastguard Worker * dwarf_child.c (__libdw_find_attr): Handle DW_FORM_implicit_const. 1018*7304104dSAndroid Build Coastguard Worker * dwarf_formsdata.c (dwarf_formsdata): Likewise. 1019*7304104dSAndroid Build Coastguard Worker * dwarf_formudata.c (dwarf_formudata): Likewise. 1020*7304104dSAndroid Build Coastguard Worker * dwarf_getabbrev.c (__libdw_getabbrev): Likewise. 1021*7304104dSAndroid Build Coastguard Worker * dwarf_getattrs.c (dwarf_getattrs): Likewise. 1022*7304104dSAndroid Build Coastguard Worker * dwarf_hasattr.c (dwarf_hasattr): Likewise. 1023*7304104dSAndroid Build Coastguard Worker * dwarf_getabbrevattr.c (dwarf_getabbrevattr_data): New function 1024*7304104dSAndroid Build Coastguard Worker that will also return any data associated with the abbrev. Which 1025*7304104dSAndroid Build Coastguard Worker currently is only for DW_FORM_implicit_const. Based on... 1026*7304104dSAndroid Build Coastguard Worker (dwarf_getabbrevattr): ... this function. Which now just calls 1027*7304104dSAndroid Build Coastguard Worker dwarf_getabbrevattr_data. 1028*7304104dSAndroid Build Coastguard Worker * libdw.h (dwarf_getabbrevattr_data): Declare new function. 1029*7304104dSAndroid Build Coastguard Worker * libdw.map (ELFUTILS_0.170): Add dwarf_getabbrevattr_data. 1030*7304104dSAndroid Build Coastguard Worker * libdwP.h (dwarf_getabbrevattr_data): INTDECL. 1031*7304104dSAndroid Build Coastguard Worker * memory-access.h (__libdw_get_sleb128_unchecked): New inlined 1032*7304104dSAndroid Build Coastguard Worker function based on __libdw_get_uleb128_unchecked. 1033*7304104dSAndroid Build Coastguard Worker 1034*7304104dSAndroid Build Coastguard Worker2018-02-08 Mark Wielaard <[email protected]> 1035*7304104dSAndroid Build Coastguard Worker 1036*7304104dSAndroid Build Coastguard Worker * dwarf.h: Add DWARF5 DW_FORMs. 1037*7304104dSAndroid Build Coastguard Worker * libdwP.h (__libdw_form_val_compute_len): Handle fix length 1038*7304104dSAndroid Build Coastguard Worker DW_FORM_implicit_const, DW_FORM_addrx[1234], DW_FORM_strx[1234], 1039*7304104dSAndroid Build Coastguard Worker DW_FORM_ref_sup[48] and DW_FORM_data16. 1040*7304104dSAndroid Build Coastguard Worker * libdw_form.c (__libdw_form_val_compute_len): DW_FORM_strp_sup 1041*7304104dSAndroid Build Coastguard Worker and DW_FORM_line_strp are offset_size. DW_FORM_addrx, DW_FORM_strx, 1042*7304104dSAndroid Build Coastguard Worker DW_FORM_loclistx and DW_FORM_rnglistx are uleb128. 1043*7304104dSAndroid Build Coastguard Worker 1044*7304104dSAndroid Build Coastguard Worker2018-01-30 Mark Wielaard <[email protected]> 1045*7304104dSAndroid Build Coastguard Worker 1046*7304104dSAndroid Build Coastguard Worker * Makefile.am (libdw_a_SOURCES): Add dwarf_get_units.c. 1047*7304104dSAndroid Build Coastguard Worker * dwarf_get_units.c: New file. 1048*7304104dSAndroid Build Coastguard Worker * libdw.h (dwarf_get_units): New function declaration. 1049*7304104dSAndroid Build Coastguard Worker * libdw.map (ELFUTILS_0.170): Add dwarf_get_units. 1050*7304104dSAndroid Build Coastguard Worker 1051*7304104dSAndroid Build Coastguard Worker2018-01-29 Mark Wielaard <[email protected]> 1052*7304104dSAndroid Build Coastguard Worker 1053*7304104dSAndroid Build Coastguard Worker * dwarf.h (DW_UT_*): Add DWARF Unit Header Types. 1054*7304104dSAndroid Build Coastguard Worker * dwarf_cu_die.c (dwarf_cu_die): Rename arguments. type_signaturep 1055*7304104dSAndroid Build Coastguard Worker is now called unit_idp. type_offsetp is now called subdie_offsetp. 1056*7304104dSAndroid Build Coastguard Worker * dwarf_formref_die.c (dwarf_formref_die): Scan both .debug_info 1057*7304104dSAndroid Build Coastguard Worker and .debug_types sections for type units when type signature ref 1058*7304104dSAndroid Build Coastguard Worker not found. 1059*7304104dSAndroid Build Coastguard Worker * dwarf_getaranges.c (dwarf_getaranges): Use __libdw_findcu and 1060*7304104dSAndroid Build Coastguard Worker __libdw_first_die_off_from_cu instead of trying by hand. 1061*7304104dSAndroid Build Coastguard Worker * dwarf_getlocation_die.c (dwarf_getlocation_die): Use ISV4TU 1062*7304104dSAndroid Build Coastguard Worker instead of checking type_offset by hand. 1063*7304104dSAndroid Build Coastguard Worker * dwarf_getlocation_implicit_pointer.c 1064*7304104dSAndroid Build Coastguard Worker (dwarf_getlocation_implicit_pointer): Likewise. 1065*7304104dSAndroid Build Coastguard Worker * dwarf_nextcu.c (dwarf_next_unit): Call __libdw_next_unit. 1066*7304104dSAndroid Build Coastguard Worker (__libdw_next_unit): New function based on dwarf_next_unit with 1067*7304104dSAndroid Build Coastguard Worker DWARF5 header support. 1068*7304104dSAndroid Build Coastguard Worker * libdwP.h (struct Dwarf_CU): Renamed type_offset to subdie_offset 1069*7304104dSAndroid Build Coastguard Worker and type_sig8 to unit_id8. 1070*7304104dSAndroid Build Coastguard Worker (ISV4TU): New macro to determine whether a CU is a version 4 type 1071*7304104dSAndroid Build Coastguard Worker unit (which comes from the .debug_types section). 1072*7304104dSAndroid Build Coastguard Worker (DIE_OFFSET_FROM_CU_OFFSET): Replaced macro by real function... 1073*7304104dSAndroid Build Coastguard Worker (__libdw_first_die_from_cu_start): ... that also handles DWARF5 1074*7304104dSAndroid Build Coastguard Worker unit headers. 1075*7304104dSAndroid Build Coastguard Worker (__libdw_first_die_off_from_cu): New function that calls the above 1076*7304104dSAndroid Build Coastguard Worker using the CU fields. 1077*7304104dSAndroid Build Coastguard Worker (CUDIE): Use __libdw_first_die_off_from_cu. 1078*7304104dSAndroid Build Coastguard Worker (SUBDIE): New macro that provides the DIE for a CU using the 1079*7304104dSAndroid Build Coastguard Worker subdie_offset. 1080*7304104dSAndroid Build Coastguard Worker (__libdw_next_unit): New internal function declaration. 1081*7304104dSAndroid Build Coastguard Worker * libdw_findcu.c (__libdw_intern_next_unit): Use __libdw_next_unit. 1082*7304104dSAndroid Build Coastguard Worker Accept DWARF version 5 headers. Setup unit_type. 1083*7304104dSAndroid Build Coastguard Worker (__libdw_findcu): Rename debug_types argument to v4_debug_types 1084*7304104dSAndroid Build Coastguard Worker argument (to indicate that we are looking in the .debug_types 1085*7304104dSAndroid Build Coastguard Worker section). Support finding the exact offset (unit header start). 1086*7304104dSAndroid Build Coastguard Worker 1087*7304104dSAndroid Build Coastguard Worker2018-01-25 Mark Wielaard <[email protected]> 1088*7304104dSAndroid Build Coastguard Worker 1089*7304104dSAndroid Build Coastguard Worker * Makefile.am (libdw_a_SOURCES): Add dwarf_die_addr_die.c. 1090*7304104dSAndroid Build Coastguard Worker * dwarf_die_addr_die.c: New file. 1091*7304104dSAndroid Build Coastguard Worker * libdw.h (dwarf_die_addr_die): New function declaration. 1092*7304104dSAndroid Build Coastguard Worker * libdw.map (ELFUTILS_0.171): New section with dwarf_die_addr_die. 1093*7304104dSAndroid Build Coastguard Worker * libdwP.h (__libdw_findcu_addr): New internal function declaration. 1094*7304104dSAndroid Build Coastguard Worker * libdw_findcu.c (__libdw_findcu_addr): New internal function. 1095*7304104dSAndroid Build Coastguard Worker 1096*7304104dSAndroid Build Coastguard Worker2018-02-09 Joshua Watt <[email protected]> 1097*7304104dSAndroid Build Coastguard Worker 1098*7304104dSAndroid Build Coastguard Worker * cfi.c (execute_cfi): Use FALLTHROUGH macro instead of comment. 1099*7304104dSAndroid Build Coastguard Worker * dwarf_frame_register.c (dwarf_frame_register): Likewise. 1100*7304104dSAndroid Build Coastguard Worker 1101*7304104dSAndroid Build Coastguard Worker2018-01-22 Mark Wielaard <[email protected]> 1102*7304104dSAndroid Build Coastguard Worker 1103*7304104dSAndroid Build Coastguard Worker * Makefile.am (AM_CPPFLAGS): Add -I libdwelf. 1104*7304104dSAndroid Build Coastguard Worker * dwarf_begin_elf.c (dwarf_begin_elf): Initialize Dwarf alt_fd to -1. 1105*7304104dSAndroid Build Coastguard Worker * dwarf_end.c (dwarf_end): Call dwarf_end and close on the alt_dwarf 1106*7304104dSAndroid Build Coastguard Worker and alt_fd if we allocated them. 1107*7304104dSAndroid Build Coastguard Worker * dwarf_fromref_die.c (dwarf_formref_die): Call dwarf_getalt. 1108*7304104dSAndroid Build Coastguard Worker * dwarf_formstring.c (dwarf_formstring): Likewise. 1109*7304104dSAndroid Build Coastguard Worker * dwarf_getalt.c (__libdw_filepath): New internal function. 1110*7304104dSAndroid Build Coastguard Worker (find_debug_altlink): New static function. 1111*7304104dSAndroid Build Coastguard Worker (dwarf_getalt): Check Dwarf alt_dwarf and call find_debug_altlink. 1112*7304104dSAndroid Build Coastguard Worker Cache result. 1113*7304104dSAndroid Build Coastguard Worker * dwarf_setalt.c (dwarf_setalt): Clean up Dwarf alt_dwarf and alt_fd 1114*7304104dSAndroid Build Coastguard Worker if we allocated. 1115*7304104dSAndroid Build Coastguard Worker * libdw.h (dwarf_getalt): Extend documentation. 1116*7304104dSAndroid Build Coastguard Worker (dwarf_setalt): Likewise. 1117*7304104dSAndroid Build Coastguard Worker * libdwP.h (struct Dwarf): Add alt_fd field. 1118*7304104dSAndroid Build Coastguard Worker (filepath): Declare new internal function. 1119*7304104dSAndroid Build Coastguard Worker 1120*7304104dSAndroid Build Coastguard Worker2018-01-14 Petr Machata <[email protected]> 1121*7304104dSAndroid Build Coastguard Worker 1122*7304104dSAndroid Build Coastguard Worker * dwarf_formsdata.c (dwarf_formsdata): 1123*7304104dSAndroid Build Coastguard Worker <DW_FORM_data1>: Cast to signed char. 1124*7304104dSAndroid Build Coastguard Worker <DW_FORM_data2,4,8>: Use read_*sbyte_unaligned instead of 1125*7304104dSAndroid Build Coastguard Worker read_*ubyte_unaligned. 1126*7304104dSAndroid Build Coastguard Worker 1127*7304104dSAndroid Build Coastguard Worker2017-12-26 Mark Wielaard <[email protected]> 1128*7304104dSAndroid Build Coastguard Worker 1129*7304104dSAndroid Build Coastguard Worker * libdwP.h (struct Dwarf_Abbrev): Pack struct. Remove attrcnt, 1130*7304104dSAndroid Build Coastguard Worker use bitfields for has_children and code. 1131*7304104dSAndroid Build Coastguard Worker * dwarf_getabbrev.c (__libdw_getabbrev): Don't count attrs. 1132*7304104dSAndroid Build Coastguard Worker * dwarf_getattrcnt.c (dwarf_getattrcnt): Count attrs. 1133*7304104dSAndroid Build Coastguard Worker 1134*7304104dSAndroid Build Coastguard Worker2017-12-26 Mark Wielaard <[email protected]> 1135*7304104dSAndroid Build Coastguard Worker 1136*7304104dSAndroid Build Coastguard Worker * memory-access.h (__libdw_get_uleb128_unchecked): New function. 1137*7304104dSAndroid Build Coastguard Worker (get_uleb128_unchecked): New define. 1138*7304104dSAndroid Build Coastguard Worker * dwarf_child.c (__libdw_find_attr): Use get_uleb128_unchecked to 1139*7304104dSAndroid Build Coastguard Worker read attr name and form. 1140*7304104dSAndroid Build Coastguard Worker * dwarf_getabbrevattr.c (dwarf_getabbrevattr): Likewise. 1141*7304104dSAndroid Build Coastguard Worker * dwarf_getattrs.c (dwarf_getattrs): Likewise. 1142*7304104dSAndroid Build Coastguard Worker * dwarf_hasattr.c (dwarf_hasattr): Likewise. 1143*7304104dSAndroid Build Coastguard Worker 1144*7304104dSAndroid Build Coastguard Worker2017-12-28 Mark Wielaard <[email protected]> 1145*7304104dSAndroid Build Coastguard Worker 1146*7304104dSAndroid Build Coastguard Worker * dwarf_offdie.c (__libdw_offdie): Check sectiondata exists. 1147*7304104dSAndroid Build Coastguard Worker 1148*7304104dSAndroid Build Coastguard Worker2017-05-09 Ulf Hermann <[email protected]> 1149*7304104dSAndroid Build Coastguard Worker Mark Wielaard <[email protected]> 1150*7304104dSAndroid Build Coastguard Worker 1151*7304104dSAndroid Build Coastguard Worker * libdwP.h (__libdw_in_section): Fix check for the upper border of 1152*7304104dSAndroid Build Coastguard Worker the range. 1153*7304104dSAndroid Build Coastguard Worker (__libdw_offset_in_section): Likewise. 1154*7304104dSAndroid Build Coastguard Worker 1155*7304104dSAndroid Build Coastguard Worker2017-12-20 Mark Wielaard <[email protected]> 1156*7304104dSAndroid Build Coastguard Worker 1157*7304104dSAndroid Build Coastguard Worker * libdwP.h (struct Dwarf_CU): Add sec_idx field. 1158*7304104dSAndroid Build Coastguard Worker (cu_sec_idx): Return cu->sec_idx. 1159*7304104dSAndroid Build Coastguard Worker * libdw_findcu.c (__libdw_intern_next_unit): Set cu sec_idx to 1160*7304104dSAndroid Build Coastguard Worker IDX_debug_info or IDX_debug_types. 1161*7304104dSAndroid Build Coastguard Worker * dwarf_begin_elf.c (valid_p): Set fake_loc_cu->sec_idx to 1162*7304104dSAndroid Build Coastguard Worker IDX_debug_loc. 1163*7304104dSAndroid Build Coastguard Worker * dwarf_getmacros.c (read_macros): Set fake_cu->sec_idx to 1164*7304104dSAndroid Build Coastguard Worker IDX_debug_macro or IDX_debug_macinfo. 1165*7304104dSAndroid Build Coastguard Worker 1166*7304104dSAndroid Build Coastguard Worker2017-12-12 Mark Wielaard <[email protected]> 1167*7304104dSAndroid Build Coastguard Worker 1168*7304104dSAndroid Build Coastguard Worker * dwarf_aggregate_size.c (dwarf_aggregate_size): Don't peel the 1169*7304104dSAndroid Build Coastguard Worker given DIE. Reserve memory for a new DIE first. 1170*7304104dSAndroid Build Coastguard Worker 1171*7304104dSAndroid Build Coastguard Worker2017-12-11 Dima Kogan <[email protected]> 1172*7304104dSAndroid Build Coastguard Worker 1173*7304104dSAndroid Build Coastguard Worker * dwarf_aggregate_size.c (array_size): Handle multi-dimensional 1174*7304104dSAndroid Build Coastguard Worker arrays properly. 1175*7304104dSAndroid Build Coastguard Worker 1176*7304104dSAndroid Build Coastguard Worker2017-11-03 Mark Wielaard <[email protected]> 1177*7304104dSAndroid Build Coastguard Worker 1178*7304104dSAndroid Build Coastguard Worker * dwarf_getlocation.c (__libdw_intern_expression): Handle 1179*7304104dSAndroid Build Coastguard Worker DW_OP_GNU_variable_value. 1180*7304104dSAndroid Build Coastguard Worker * dwarf_getlocation_attr.c (dwarf_getlocation_attr): Likewise. 1181*7304104dSAndroid Build Coastguard Worker * dwarf_getlocation_die.c (dwarf_getlocation_die): Likewise. 1182*7304104dSAndroid Build Coastguard Worker 1183*7304104dSAndroid Build Coastguard Worker2017-11-03 Mark Wielaard <[email protected]> 1184*7304104dSAndroid Build Coastguard Worker 1185*7304104dSAndroid Build Coastguard Worker * dwarf_getlocation.c (attr_ok): Always accept DW_FORM_exprloc. 1186*7304104dSAndroid Build Coastguard Worker Update list of acceptable attribute codes based on DWARF5. 1187*7304104dSAndroid Build Coastguard Worker 1188*7304104dSAndroid Build Coastguard Worker2017-11-03 Mark Wielaard <[email protected]> 1189*7304104dSAndroid Build Coastguard Worker 1190*7304104dSAndroid Build Coastguard Worker * dwarf.h: Add DW_OP_GNU_variable_value. 1191*7304104dSAndroid Build Coastguard Worker 1192*7304104dSAndroid Build Coastguard Worker2017-10-03 Mark Wielaard <[email protected]> 1193*7304104dSAndroid Build Coastguard Worker 1194*7304104dSAndroid Build Coastguard Worker * libdw.h: Define LIBDW_CIE_ID and use it in dwarf_cfi_cie_p. 1195*7304104dSAndroid Build Coastguard Worker 1196*7304104dSAndroid Build Coastguard Worker2017-08-18 Ulf Hermann <[email protected]> 1197*7304104dSAndroid Build Coastguard Worker 1198*7304104dSAndroid Build Coastguard Worker * memory-access.h: Use attribute_packed. 1199*7304104dSAndroid Build Coastguard Worker 1200*7304104dSAndroid Build Coastguard Worker2017-02-27 Ulf Hermann <[email protected]> 1201*7304104dSAndroid Build Coastguard Worker 1202*7304104dSAndroid Build Coastguard Worker * libdwP.h: Use attribute_hidden. 1203*7304104dSAndroid Build Coastguard Worker * libdw_alloc.c: Likewise. 1204*7304104dSAndroid Build Coastguard Worker 1205*7304104dSAndroid Build Coastguard Worker2017-02-27 Ulf Hermann <[email protected]> 1206*7304104dSAndroid Build Coastguard Worker 1207*7304104dSAndroid Build Coastguard Worker * Makefile.am: Use fpic_CFLAGS and dso_LDFLAGS. 1208*7304104dSAndroid Build Coastguard Worker 1209*7304104dSAndroid Build Coastguard Worker2017-07-26 Mark Wielaard <[email protected]> 1210*7304104dSAndroid Build Coastguard Worker 1211*7304104dSAndroid Build Coastguard Worker * dwarf.h: Add DW_MACRO_* and compat defines for DW_MACRO_GNU_*. 1212*7304104dSAndroid Build Coastguard Worker * dwarf_getmacros.c (get_table_for_offset): Accept either version 1213*7304104dSAndroid Build Coastguard Worker 4 or 5. Use DW_MACRO names instead of DW_MACRO_GNU names. 1214*7304104dSAndroid Build Coastguard Worker (read_macros): Use table version for fake_cu. 1215*7304104dSAndroid Build Coastguard Worker 1216*7304104dSAndroid Build Coastguard Worker2017-07-26 Mark Wielaard <[email protected]> 1217*7304104dSAndroid Build Coastguard Worker 1218*7304104dSAndroid Build Coastguard Worker * dwarf_peel_type.c (dwarf_peel_type): Handle DW_TAG_immutable_type, 1219*7304104dSAndroid Build Coastguard Worker DW_TAG_packed_type and DW_TAG_shared_type. 1220*7304104dSAndroid Build Coastguard Worker * libdw.h (dwarf_peel_type): Extend documentation. 1221*7304104dSAndroid Build Coastguard Worker 1222*7304104dSAndroid Build Coastguard Worker2017-07-26 Mark Wielaard <[email protected]> 1223*7304104dSAndroid Build Coastguard Worker 1224*7304104dSAndroid Build Coastguard Worker * dwarf.h: Add DW_DEFAULTED_no, DW_DEFAULTED_in_class and 1225*7304104dSAndroid Build Coastguard Worker DW_DEFAULTED_out_of_class. 1226*7304104dSAndroid Build Coastguard Worker 1227*7304104dSAndroid Build Coastguard Worker2017-07-26 Mark Wielaard <[email protected]> 1228*7304104dSAndroid Build Coastguard Worker 1229*7304104dSAndroid Build Coastguard Worker * dwarf.h: Add DW_CC_pass_by_reference and DW_CC_pass_by_reference. 1230*7304104dSAndroid Build Coastguard Worker 1231*7304104dSAndroid Build Coastguard Worker2017-07-26 Mark Wielaard <[email protected]> 1232*7304104dSAndroid Build Coastguard Worker 1233*7304104dSAndroid Build Coastguard Worker * dwarf_default_lower_bound.c: New file. 1234*7304104dSAndroid Build Coastguard Worker * Makefile.am (libdw_a_SOURCES): Add dwarf_default_lower_bound.c. 1235*7304104dSAndroid Build Coastguard Worker * dwarf_aggregate_size.c (array_size): Use dwarf_default_lower_bound. 1236*7304104dSAndroid Build Coastguard Worker * dwarf_error.c (errmsgs): Add DWARF_E_UNKNOWN_LANGUAGE. 1237*7304104dSAndroid Build Coastguard Worker * libdw.h: Add dwarf_default_lower_bound. 1238*7304104dSAndroid Build Coastguard Worker * libdw.map (ELFUTILS_0.170): Add dwarf_default_lower_bound. 1239*7304104dSAndroid Build Coastguard Worker * libdwP.h: Add DWARF_E_UNKNOWN_LANGUAGE and 1240*7304104dSAndroid Build Coastguard Worker dwarf_default_lower_bound INTDECL. 1241*7304104dSAndroid Build Coastguard Worker 1242*7304104dSAndroid Build Coastguard Worker2017-07-26 Mark Wielaard <[email protected]> 1243*7304104dSAndroid Build Coastguard Worker 1244*7304104dSAndroid Build Coastguard Worker * dwarf.h: Add DW_LANG_OpenCL, DW_LANG_Modula3, 1245*7304104dSAndroid Build Coastguard Worker DW_LANG_C_plus_plus_03, DW_LANG_OCaml, DW_LANG_Rust, DW_LANG_Swift, 1246*7304104dSAndroid Build Coastguard Worker DW_LANG_Julia, DW_LANG_Dylan, DW_LANG_RenderScript, DW_LANG_BLISS. 1247*7304104dSAndroid Build Coastguard Worker * dwarf_aggregate_size.c (array_size): Add lower bound for 1248*7304104dSAndroid Build Coastguard Worker DW_LANG_C_plus_plus_03, DW_LANG_Python, DW_LANG_OpenCL, 1249*7304104dSAndroid Build Coastguard Worker DW_LANG_Haskell, DW_LANG_OCaml, DW_LANG_Rust, DW_LANG_Swift, 1250*7304104dSAndroid Build Coastguard Worker DW_LANG_Dylan, DW_LANG_RenderScript, DW_LANG_Modula3, 1251*7304104dSAndroid Build Coastguard Worker DW_LANG_Julia and DW_LANG_BLISS. 1252*7304104dSAndroid Build Coastguard Worker 1253*7304104dSAndroid Build Coastguard Worker2017-07-26 Mark Wielaard <[email protected]> 1254*7304104dSAndroid Build Coastguard Worker 1255*7304104dSAndroid Build Coastguard Worker * dwarf.h: Add DW_ATE_UCS and DW_ATE_ASCII. 1256*7304104dSAndroid Build Coastguard Worker 1257*7304104dSAndroid Build Coastguard Worker2017-07-25 Mark Wielaard <[email protected]> 1258*7304104dSAndroid Build Coastguard Worker 1259*7304104dSAndroid Build Coastguard Worker * dwarf.h: Add DW_TAG_coarray_type, DW_TAG_generic_subrange, 1260*7304104dSAndroid Build Coastguard Worker DW_TAG_dynamic_type, DW_TAG_call_site, DW_TAG_call_site_parameter, 1261*7304104dSAndroid Build Coastguard Worker DW_TAG_skeleton_unit, DW_TAG_immutable_type. Add reserved comments 1262*7304104dSAndroid Build Coastguard Worker for currently unused numbers. 1263*7304104dSAndroid Build Coastguard Worker 1264*7304104dSAndroid Build Coastguard Worker2017-07-25 Mark Wielaard <[email protected]> 1265*7304104dSAndroid Build Coastguard Worker 1266*7304104dSAndroid Build Coastguard Worker * dwarf.h (DWARF attributes enum): Remove DW_AT_subscr_data, 1267*7304104dSAndroid Build Coastguard Worker DW_AT_element_list and DW_AT_member. Add DWARF5 attribute constants. 1268*7304104dSAndroid Build Coastguard Worker (DW_AT_subscr_data, DW_AT_element_list, DW_AT_member): New defines. 1269*7304104dSAndroid Build Coastguard Worker 1270*7304104dSAndroid Build Coastguard Worker2017-07-21 Mark Wielaard <[email protected]> 1271*7304104dSAndroid Build Coastguard Worker 1272*7304104dSAndroid Build Coastguard Worker * dwarf_line_file.c: New file. 1273*7304104dSAndroid Build Coastguard Worker * Makefile.am (libdw_a_SOURCES): Add dwarf_line_file.c. 1274*7304104dSAndroid Build Coastguard Worker * libdw.h (dwarf_line_file): New function declaration. 1275*7304104dSAndroid Build Coastguard Worker * libdw.map (ELFUTILS_0.170): New. Add dwarf_line_file. 1276*7304104dSAndroid Build Coastguard Worker 1277*7304104dSAndroid Build Coastguard Worker2017-02-17 Ulf Hermann <[email protected]> 1278*7304104dSAndroid Build Coastguard Worker 1279*7304104dSAndroid Build Coastguard Worker * Makefile.am: Add libdw_so_LIBS to specify the archives libdw is is 1280*7304104dSAndroid Build Coastguard Worker made of, libdw_so_DEPS for libraries it depends on (including 1281*7304104dSAndroid Build Coastguard Worker libeu.a), libdw_so_LDLIBS to specify libraries libdw links against. 1282*7304104dSAndroid Build Coastguard Worker (libdw.so$(EXEEXT)): Add $(libdw_so_LDLIBS), remove enumeration of 1283*7304104dSAndroid Build Coastguard Worker library dependencies, use libdw_so_LIBS rather than relying on the 1284*7304104dSAndroid Build Coastguard Worker order of dependencies specified, add -z,relro. 1285*7304104dSAndroid Build Coastguard Worker 1286*7304104dSAndroid Build Coastguard Worker2017-04-20 Ulf Hermann <[email protected]> 1287*7304104dSAndroid Build Coastguard Worker 1288*7304104dSAndroid Build Coastguard Worker * libdw.h: Remove attribute macro declarations and use 1289*7304104dSAndroid Build Coastguard Worker __noreturn_attribute__ as defined in libelf.h. 1290*7304104dSAndroid Build Coastguard Worker 1291*7304104dSAndroid Build Coastguard Worker2017-04-20 Ulf Hermann <[email protected]> 1292*7304104dSAndroid Build Coastguard Worker 1293*7304104dSAndroid Build Coastguard Worker * dwarf_begin_elf.c: Include endian.h. 1294*7304104dSAndroid Build Coastguard Worker 1295*7304104dSAndroid Build Coastguard Worker2017-03-30 Mark Wielaard <[email protected]> 1296*7304104dSAndroid Build Coastguard Worker 1297*7304104dSAndroid Build Coastguard Worker * dwarf_peel_type.c (dwarf_peel_type): Call dwarf_attr_integrate on 1298*7304104dSAndroid Build Coastguard Worker result. 1299*7304104dSAndroid Build Coastguard Worker 1300*7304104dSAndroid Build Coastguard Worker2016-10-22 Mark Wielaard <[email protected]> 1301*7304104dSAndroid Build Coastguard Worker 1302*7304104dSAndroid Build Coastguard Worker * dwarf.h: Correct spelling of DW_LANG_PLI. Add compatibility define. 1303*7304104dSAndroid Build Coastguard Worker * dwarf_aggregate_size.c (array_size): Use correct spelling of 1304*7304104dSAndroid Build Coastguard Worker DW_LANG_PLI. 1305*7304104dSAndroid Build Coastguard Worker 1306*7304104dSAndroid Build Coastguard Worker2016-11-02 Mark Wielaard <[email protected]> 1307*7304104dSAndroid Build Coastguard Worker 1308*7304104dSAndroid Build Coastguard Worker * cfi.c (execute_cfi): Add fallthrough comments. 1309*7304104dSAndroid Build Coastguard Worker * encoded-value.h (encoded_value_size): Add explicit return instead 1310*7304104dSAndroid Build Coastguard Worker of relying on fallthrough. 1311*7304104dSAndroid Build Coastguard Worker * dwfl_report_elf.c (__libdwfl_elf_address_range): Add fallthrough 1312*7304104dSAndroid Build Coastguard Worker comment. 1313*7304104dSAndroid Build Coastguard Worker 1314*7304104dSAndroid Build Coastguard Worker2016-10-11 Akihiko Odaki <[email protected]> 1315*7304104dSAndroid Build Coastguard Worker 1316*7304104dSAndroid Build Coastguard Worker * dwarf_getpubnames.c: Remove sys/param.h include, add system.h. 1317*7304104dSAndroid Build Coastguard Worker * libdw_alloc.c: Likewise. 1318*7304104dSAndroid Build Coastguard Worker 1319*7304104dSAndroid Build Coastguard Worker2016-07-08 Mark Wielaard <[email protected]> 1320*7304104dSAndroid Build Coastguard Worker 1321*7304104dSAndroid Build Coastguard Worker * libdw.map (ELFUTILS_0.167): New. Add dwelf_strtab_init, 1322*7304104dSAndroid Build Coastguard Worker dwelf_strtab_add, dwelf_strtab_add_len, dwelf_strtab_finalize, 1323*7304104dSAndroid Build Coastguard Worker dwelf_strent_off, dwelf_strent_str and dwelf_strtab_free. 1324*7304104dSAndroid Build Coastguard Worker 1325*7304104dSAndroid Build Coastguard Worker2016-02-13 Mark Wielaard <[email protected]> 1326*7304104dSAndroid Build Coastguard Worker 1327*7304104dSAndroid Build Coastguard Worker * dwarf_getsrclines.c (read_srclines): Calculate ndirs first, then 1328*7304104dSAndroid Build Coastguard Worker assign to ndirlist. 1329*7304104dSAndroid Build Coastguard Worker 1330*7304104dSAndroid Build Coastguard Worker2015-12-18 Mark Wielaard <[email protected]> 1331*7304104dSAndroid Build Coastguard Worker 1332*7304104dSAndroid Build Coastguard Worker * libdwP.h (struct Dwarf): Remove sectiondata_gzip_mask. 1333*7304104dSAndroid Build Coastguard Worker (__libdw_free_zdata): Remove. 1334*7304104dSAndroid Build Coastguard Worker * dwarf_begin_elf.c (inflate_section): Remove. 1335*7304104dSAndroid Build Coastguard Worker (check_section): Remove __libdw_free_zdata calls. Use elf_compress 1336*7304104dSAndroid Build Coastguard Worker and elf_compress_gnu to decompress if necessary. 1337*7304104dSAndroid Build Coastguard Worker (valid_p): Remove __libdw_free_zdata calls. 1338*7304104dSAndroid Build Coastguard Worker (scngrp_read): Use elf_compress if section is compressed. Remove 1339*7304104dSAndroid Build Coastguard Worker __libdw_free_zdata calls. 1340*7304104dSAndroid Build Coastguard Worker * dwarf_end.c (__libdw_free_zdata): Remove. 1341*7304104dSAndroid Build Coastguard Worker (dwarf_end): Don't call __libdw_free_zdata. 1342*7304104dSAndroid Build Coastguard Worker 1343*7304104dSAndroid Build Coastguard Worker2015-10-28 Mark Wielaard <[email protected]> 1344*7304104dSAndroid Build Coastguard Worker 1345*7304104dSAndroid Build Coastguard Worker * libdw.map (ELFUTILS_0.165): New. Add dwelf_scn_gnu_compressed_size. 1346*7304104dSAndroid Build Coastguard Worker 1347*7304104dSAndroid Build Coastguard Worker2015-12-02 Mark Wielaard <[email protected]> 1348*7304104dSAndroid Build Coastguard Worker 1349*7304104dSAndroid Build Coastguard Worker * fde.c (intern_fde): Don't leak duplicate FDEs. 1350*7304104dSAndroid Build Coastguard Worker 1351*7304104dSAndroid Build Coastguard Worker2015-12-01 Mark Wielaard <[email protected]> 1352*7304104dSAndroid Build Coastguard Worker 1353*7304104dSAndroid Build Coastguard Worker * fde.c (intern_fde): Don't intern an fde that doesn't cover a 1354*7304104dSAndroid Build Coastguard Worker valid code range. 1355*7304104dSAndroid Build Coastguard Worker 1356*7304104dSAndroid Build Coastguard Worker2015-12-01 Mark Wielaard <[email protected]> 1357*7304104dSAndroid Build Coastguard Worker 1358*7304104dSAndroid Build Coastguard Worker * dwarf_end.c (dwarf_end): Call cu_free on fake_loc_cu if it exists. 1359*7304104dSAndroid Build Coastguard Worker 1360*7304104dSAndroid Build Coastguard Worker2015-10-14 Chih-Hung Hsieh <[email protected]> 1361*7304104dSAndroid Build Coastguard Worker 1362*7304104dSAndroid Build Coastguard Worker * dwarf_entry_breakpoints.c (dwarf_entry_breakpoints): Move recursive 1363*7304104dSAndroid Build Coastguard Worker functions 'add_bkpt', 'entrypc_bkpt', and 'search_range' to file scope. 1364*7304104dSAndroid Build Coastguard Worker 1365*7304104dSAndroid Build Coastguard Worker2015-10-14 Chih-Hung Hsieh <[email protected]> 1366*7304104dSAndroid Build Coastguard Worker 1367*7304104dSAndroid Build Coastguard Worker * libdw_visit_scopes.c (__libdw_visit_scopes): Move recursive nested 1368*7304104dSAndroid Build Coastguard Worker function 'walk_children' to file scope; inline 'recurse' at its call 1369*7304104dSAndroid Build Coastguard Worker site. 1370*7304104dSAndroid Build Coastguard Worker 1371*7304104dSAndroid Build Coastguard Worker2015-10-19 Mark Wielaard <[email protected]> 1372*7304104dSAndroid Build Coastguard Worker 1373*7304104dSAndroid Build Coastguard Worker * frame-cache.c (__libdw_destroy_frame_cache): Call ebl_closebackend 1374*7304104dSAndroid Build Coastguard Worker if necessary. 1375*7304104dSAndroid Build Coastguard Worker 1376*7304104dSAndroid Build Coastguard Worker2015-10-16 Dmitry V. Levin <[email protected]> 1377*7304104dSAndroid Build Coastguard Worker 1378*7304104dSAndroid Build Coastguard Worker * dwarf_getsrclines.c (read_srclines): Initialize state early. 1379*7304104dSAndroid Build Coastguard Worker 1380*7304104dSAndroid Build Coastguard Worker2015-10-13 Chih-Hung Hsieh <[email protected]> 1381*7304104dSAndroid Build Coastguard Worker 1382*7304104dSAndroid Build Coastguard Worker * dwarf_getsrclines.c (read_srclines): Move nested functions 1383*7304104dSAndroid Build Coastguard Worker 'advance_pc' and 'add_new_line' to file scope and keep many 1384*7304104dSAndroid Build Coastguard Worker local state variables within one structure. 1385*7304104dSAndroid Build Coastguard Worker 1386*7304104dSAndroid Build Coastguard Worker2015-10-13 Chih-Hung Hsieh <[email protected]> 1387*7304104dSAndroid Build Coastguard Worker 1388*7304104dSAndroid Build Coastguard Worker * dwarf_getscopevar.c (dwarf_getscopevar): Move nested 1389*7304104dSAndroid Build Coastguard Worker function 'file_matches' to file scope. 1390*7304104dSAndroid Build Coastguard Worker 1391*7304104dSAndroid Build Coastguard Worker2015-10-16 Mark Wielaard <[email protected]> 1392*7304104dSAndroid Build Coastguard Worker 1393*7304104dSAndroid Build Coastguard Worker * Makefile.am (libdw.so): Add -lz. 1394*7304104dSAndroid Build Coastguard Worker 1395*7304104dSAndroid Build Coastguard Worker2015-10-14 Chih-Hung Hsieh <[email protected]> 1396*7304104dSAndroid Build Coastguard Worker 1397*7304104dSAndroid Build Coastguard Worker * cfi.c (execute_cfi): Move nested functions 'enough_registers' 1398*7304104dSAndroid Build Coastguard Worker and 'require_cfa_offset' to file scope. 1399*7304104dSAndroid Build Coastguard Worker 1400*7304104dSAndroid Build Coastguard Worker2015-10-09 Josh Stone <[email protected]> 1401*7304104dSAndroid Build Coastguard Worker 1402*7304104dSAndroid Build Coastguard Worker * dwarf_begin.c (dwarf_begin): Replace stat64 and fstat64 with stat 1403*7304104dSAndroid Build Coastguard Worker and fstat. 1404*7304104dSAndroid Build Coastguard Worker 1405*7304104dSAndroid Build Coastguard Worker2015-10-05 Josh Stone <[email protected]> 1406*7304104dSAndroid Build Coastguard Worker 1407*7304104dSAndroid Build Coastguard Worker * Makefile.am (libdw.so): Add AM_V_CCLD and AM_V_at silencers. 1408*7304104dSAndroid Build Coastguard Worker 1409*7304104dSAndroid Build Coastguard Worker2015-09-24 Jose E. Marchesi <[email protected]> 1410*7304104dSAndroid Build Coastguard Worker 1411*7304104dSAndroid Build Coastguard Worker * Makefile.am (AM_CFLAGS): Use -fPIC instead of -fpic to avoid 1412*7304104dSAndroid Build Coastguard Worker relocation overflows in some platforms. 1413*7304104dSAndroid Build Coastguard Worker 1414*7304104dSAndroid Build Coastguard Worker2015-09-23 Mark Wielaard <[email protected]> 1415*7304104dSAndroid Build Coastguard Worker 1416*7304104dSAndroid Build Coastguard Worker * dwarf_error.c (__libdw_seterrno): Mark as internal_function. 1417*7304104dSAndroid Build Coastguard Worker * dwarf_formref.c (__libdw_formref): Likewise. 1418*7304104dSAndroid Build Coastguard Worker * libdw_findcu.c (__libdw_findcu): Likewise. 1419*7304104dSAndroid Build Coastguard Worker * libdw_visit_scopes.c (__libdw_visit_scopes): Likewise. 1420*7304104dSAndroid Build Coastguard Worker 1421*7304104dSAndroid Build Coastguard Worker2015-09-22 Mark Wielaard <[email protected]> 1422*7304104dSAndroid Build Coastguard Worker 1423*7304104dSAndroid Build Coastguard Worker * *.c: Remove old-style function definitions. 1424*7304104dSAndroid Build Coastguard Worker 1425*7304104dSAndroid Build Coastguard Worker2015-09-15 Mark Wielaard <[email protected]> 1426*7304104dSAndroid Build Coastguard Worker 1427*7304104dSAndroid Build Coastguard Worker * dwarf_peel_type.c (dwarf_peel_type): Don't reassign result pointer. 1428*7304104dSAndroid Build Coastguard Worker 1429*7304104dSAndroid Build Coastguard Worker2015-09-09 Chih-Hung Hsieh <[email protected]> 1430*7304104dSAndroid Build Coastguard Worker 1431*7304104dSAndroid Build Coastguard Worker * dwarf_macro_getsrcfiles.c (dwarf_macro_getsrcfiles): Remove 1432*7304104dSAndroid Build Coastguard Worker redundant NULL tests on parameters declared with __nonnull_attribute__. 1433*7304104dSAndroid Build Coastguard Worker * dwarf_siblingof.c (dwarf_siblingof): Likewise. 1434*7304104dSAndroid Build Coastguard Worker * libdw_visit_scopes.c (__libdw_visit_scopes): Likewise. 1435*7304104dSAndroid Build Coastguard Worker 1436*7304104dSAndroid Build Coastguard Worker2015-09-04 Chih-Hung Hsieh <[email protected]> 1437*7304104dSAndroid Build Coastguard Worker Mark Wielaard <[email protected]> 1438*7304104dSAndroid Build Coastguard Worker 1439*7304104dSAndroid Build Coastguard Worker * dwarf_getlocation.c (getlocations_addr): Replace K&R function 1440*7304104dSAndroid Build Coastguard Worker definition with ansi-C definition and add const qualifier to 1441*7304104dSAndroid Build Coastguard Worker locs argument. 1442*7304104dSAndroid Build Coastguard Worker 1443*7304104dSAndroid Build Coastguard Worker2015-09-04 Chih-Hung Hsieh <[email protected]> 1444*7304104dSAndroid Build Coastguard Worker 1445*7304104dSAndroid Build Coastguard Worker * libdw_findcu.c (__libdw_intern_next_unit): Replace K&R function 1446*7304104dSAndroid Build Coastguard Worker definition with ansi-C definitions. 1447*7304104dSAndroid Build Coastguard Worker (__libdw_findcu): Likewise. 1448*7304104dSAndroid Build Coastguard Worker 1449*7304104dSAndroid Build Coastguard Worker2015-08-25 Mark Wielaard <[email protected]> 1450*7304104dSAndroid Build Coastguard Worker 1451*7304104dSAndroid Build Coastguard Worker * dwarf.h: Add DW_LANG_Haskell. 1452*7304104dSAndroid Build Coastguard Worker 1453*7304104dSAndroid Build Coastguard Worker2015-06-18 Mark Wielaard <[email protected]> 1454*7304104dSAndroid Build Coastguard Worker 1455*7304104dSAndroid Build Coastguard Worker * dwarf_begin_elf.c (dwarf_begin_elf): Assert page size is big enough 1456*7304104dSAndroid Build Coastguard Worker to hold a Dwarf. 1457*7304104dSAndroid Build Coastguard Worker 1458*7304104dSAndroid Build Coastguard Worker2015-06-18 Mark Wielaard <[email protected]> 1459*7304104dSAndroid Build Coastguard Worker 1460*7304104dSAndroid Build Coastguard Worker * dwarf_getpubnames.c (get_offsets): Always free mem on error. 1461*7304104dSAndroid Build Coastguard Worker 1462*7304104dSAndroid Build Coastguard Worker2015-06-18 Mark Wielaard <[email protected]> 1463*7304104dSAndroid Build Coastguard Worker 1464*7304104dSAndroid Build Coastguard Worker * dwarf_getmacros.c (get_macinfo_table): Return NULL when 1465*7304104dSAndroid Build Coastguard Worker dwarf_formudata reports an error. 1466*7304104dSAndroid Build Coastguard Worker (get_table_for_offset): Likewise. 1467*7304104dSAndroid Build Coastguard Worker 1468*7304104dSAndroid Build Coastguard Worker2015-06-08 Mark Wielaard <[email protected]> 1469*7304104dSAndroid Build Coastguard Worker 1470*7304104dSAndroid Build Coastguard Worker * dwarf_getsrclines.c (read_srclines): Initialize dirarray early. 1471*7304104dSAndroid Build Coastguard Worker 1472*7304104dSAndroid Build Coastguard Worker2015-06-06 Mark Wielaard <[email protected]> 1473*7304104dSAndroid Build Coastguard Worker 1474*7304104dSAndroid Build Coastguard Worker * dwarf_getsrclines.c (read_srclines): Initialize filelist early. 1475*7304104dSAndroid Build Coastguard Worker 1476*7304104dSAndroid Build Coastguard Worker2015-05-27 Mark Wielaard <[email protected]> 1477*7304104dSAndroid Build Coastguard Worker 1478*7304104dSAndroid Build Coastguard Worker * encoded-value.h (read_encoded_value): Check data d_size contains 1479*7304104dSAndroid Build Coastguard Worker at least enough data to hold a pointer for DW_EH_PE_indirect. 1480*7304104dSAndroid Build Coastguard Worker 1481*7304104dSAndroid Build Coastguard Worker2015-05-22 Mark Wielaard <[email protected]> 1482*7304104dSAndroid Build Coastguard Worker 1483*7304104dSAndroid Build Coastguard Worker * dwarf_getsrclines.c (read_srclines): Limit stack usage of lines 1484*7304104dSAndroid Build Coastguard Worker with MAX_STACK_LINES, files with MAX_STACK_LINES and dirs with 1485*7304104dSAndroid Build Coastguard Worker MAX_STACK_DIRS. Calculate number of dirs needed first, then 1486*7304104dSAndroid Build Coastguard Worker create dirarray directly, without needing the next field. Free 1487*7304104dSAndroid Build Coastguard Worker not stack allocated lines and files at the end. 1488*7304104dSAndroid Build Coastguard Worker 1489*7304104dSAndroid Build Coastguard Worker2015-05-19 Mark Wielaard <[email protected]> 1490*7304104dSAndroid Build Coastguard Worker 1491*7304104dSAndroid Build Coastguard Worker * dwarf_getlocation.c (__libdw_intern_expression): Create a stack 1492*7304104dSAndroid Build Coastguard Worker allocated array to hold locs. Allocate locs bigger than the array 1493*7304104dSAndroid Build Coastguard Worker with malloc and free them when done. 1494*7304104dSAndroid Build Coastguard Worker 1495*7304104dSAndroid Build Coastguard Worker2015-05-11 Jonathan Lebon <[email protected]> 1496*7304104dSAndroid Build Coastguard Worker 1497*7304104dSAndroid Build Coastguard Worker * libdwP.h (DWARF_E_COMPRESSED_ERROR): New enumerator. 1498*7304104dSAndroid Build Coastguard Worker * dwarf_error.c (errmsgs): Add DWARF_E_COMPRESSED_ERROR message. 1499*7304104dSAndroid Build Coastguard Worker * dwarf_begin_elf.c (inflate_section): New static function, lifted 1500*7304104dSAndroid Build Coastguard Worker from... 1501*7304104dSAndroid Build Coastguard Worker (check_section): ... here. Call inflate_section, set libdw errno to 1502*7304104dSAndroid Build Coastguard Worker DWARF_E_COMPRESSED_ERROR if .debug_info section couldn't be inflated. 1503*7304104dSAndroid Build Coastguard Worker 1504*7304104dSAndroid Build Coastguard Worker2015-05-11 Jonathan Lebon <[email protected]> 1505*7304104dSAndroid Build Coastguard Worker 1506*7304104dSAndroid Build Coastguard Worker * dwarf_begin_elf.c (check_section): Add compressed flag. Always 1507*7304104dSAndroid Build Coastguard Worker check for .zdebug sections. Only wrap decompression in #if USE_ZLIB. 1508*7304104dSAndroid Build Coastguard Worker 1509*7304104dSAndroid Build Coastguard Worker2015-05-06 Mark Wielaard <[email protected]> 1510*7304104dSAndroid Build Coastguard Worker 1511*7304104dSAndroid Build Coastguard Worker * dwarf_getsrclines.c (read_srclines): Use an int64_t to store and 1512*7304104dSAndroid Build Coastguard Worker check the line number. 1513*7304104dSAndroid Build Coastguard Worker 1514*7304104dSAndroid Build Coastguard Worker2015-05-05 Mark Wielaard <[email protected]> 1515*7304104dSAndroid Build Coastguard Worker 1516*7304104dSAndroid Build Coastguard Worker * dwarf_getaranges.c (dwarf_getaranges): Check there is enough data 1517*7304104dSAndroid Build Coastguard Worker left before reading values. 1518*7304104dSAndroid Build Coastguard Worker 1519*7304104dSAndroid Build Coastguard Worker2015-05-04 Anthony G. Basile <[email protected]> 1520*7304104dSAndroid Build Coastguard Worker 1521*7304104dSAndroid Build Coastguard Worker * Makefile.am (libdw_so_SOURCES): Append $(argp_LDADD) to link 1522*7304104dSAndroid Build Coastguard Worker command. 1523*7304104dSAndroid Build Coastguard Worker 1524*7304104dSAndroid Build Coastguard Worker2015-04-22 Mark Wielaard <[email protected]> 1525*7304104dSAndroid Build Coastguard Worker 1526*7304104dSAndroid Build Coastguard Worker * memory-access.h (__libdw_max_len_leb128): Take type_len as argument. 1527*7304104dSAndroid Build Coastguard Worker (__libdw_max_len_uleb128): New function. 1528*7304104dSAndroid Build Coastguard Worker (__libdw_max_len_sleb128): Likewise. 1529*7304104dSAndroid Build Coastguard Worker (__libdw_get_uleb128): Use __libdw_max_len_uleb128. 1530*7304104dSAndroid Build Coastguard Worker (__libdw_get_sleb128): Use __libdw_max_len_sleb128. 1531*7304104dSAndroid Build Coastguard Worker 1532*7304104dSAndroid Build Coastguard Worker2015-04-21 Mark Wielaard <[email protected]> 1533*7304104dSAndroid Build Coastguard Worker 1534*7304104dSAndroid Build Coastguard Worker * dwarf_getmacros.c (read_macros): Allocate attributes dynamically 1535*7304104dSAndroid Build Coastguard Worker when there are more than 8. 1536*7304104dSAndroid Build Coastguard Worker 1537*7304104dSAndroid Build Coastguard Worker2015-04-01 Petr Machata <[email protected]> 1538*7304104dSAndroid Build Coastguard Worker 1539*7304104dSAndroid Build Coastguard Worker * libdwP.h (DWARF_E_NOT_CUDIE): New enumerator. 1540*7304104dSAndroid Build Coastguard Worker (is_cudie): New function. 1541*7304104dSAndroid Build Coastguard Worker * dwarf_error.c (errmsgs): Add message for DWARF_E_NOT_CUDIE. 1542*7304104dSAndroid Build Coastguard Worker * dwarf_getsrcfiles.c (dwarf_getsrcfiles): Call is_cudie instead 1543*7304104dSAndroid Build Coastguard Worker of white-listing valid tags. 1544*7304104dSAndroid Build Coastguard Worker * dwarf_getsrclines.c (dwarf_getsrclines): Likewise. 1545*7304104dSAndroid Build Coastguard Worker 1546*7304104dSAndroid Build Coastguard Worker2015-03-18 Petr Machata <[email protected]> 1547*7304104dSAndroid Build Coastguard Worker 1548*7304104dSAndroid Build Coastguard Worker * Makefile.am (pkginclude_HEADERS): Add known-dwarf.h. 1549*7304104dSAndroid Build Coastguard Worker (EXTRA_DIST): Remove known-dwarf.h. 1550*7304104dSAndroid Build Coastguard Worker 1551*7304104dSAndroid Build Coastguard Worker2015-02-09 Mark Wielaard <[email protected]> 1552*7304104dSAndroid Build Coastguard Worker 1553*7304104dSAndroid Build Coastguard Worker * dwarf.h: Add DW_LANG_Fortran03 and DW_LANG_Fortran08. 1554*7304104dSAndroid Build Coastguard Worker * dwarf_aggregate_size.c (array_size): Recognize array lower bound 1555*7304104dSAndroid Build Coastguard Worker for new Fortran language codes is 1. 1556*7304104dSAndroid Build Coastguard Worker 1557*7304104dSAndroid Build Coastguard Worker2015-02-09 Mark Wielaard <[email protected]> 1558*7304104dSAndroid Build Coastguard Worker 1559*7304104dSAndroid Build Coastguard Worker * dwarf.h: Add DW_TAG_atomic_type. 1560*7304104dSAndroid Build Coastguard Worker * libdw.h (dwarf_peel_type): Document DW_TAG_atomic_type. 1561*7304104dSAndroid Build Coastguard Worker * dwarf_peel_type.c (dwarf_peel_type): Handle DW_TAG_atomic_type. 1562*7304104dSAndroid Build Coastguard Worker 1563*7304104dSAndroid Build Coastguard Worker2015-02-11 Josh Stone <[email protected]> 1564*7304104dSAndroid Build Coastguard Worker 1565*7304104dSAndroid Build Coastguard Worker * encoded-value.h (read_encoded_value): Initialize value. 1566*7304104dSAndroid Build Coastguard Worker 1567*7304104dSAndroid Build Coastguard Worker2015-02-11 Petr Machata <[email protected]> 1568*7304104dSAndroid Build Coastguard Worker 1569*7304104dSAndroid Build Coastguard Worker * dwarf_ranges.c (dwarf_ranges): Do not bail out when neither 1570*7304104dSAndroid Build Coastguard Worker DW_AT_entry_pc nor DW_AT_low_pc are available. Instead remember 1571*7304104dSAndroid Build Coastguard Worker the fact in *BASEP and bail out later if it hasn't been updated by 1572*7304104dSAndroid Build Coastguard Worker __libdw_read_begin_end_pair_inc. 1573*7304104dSAndroid Build Coastguard Worker 1574*7304104dSAndroid Build Coastguard Worker2014-12-24 Mark Wielaard <[email protected]> 1575*7304104dSAndroid Build Coastguard Worker 1576*7304104dSAndroid Build Coastguard Worker * dwarf_getsrc_die.c (dwarf_getsrc_die): Return the last line record 1577*7304104dSAndroid Build Coastguard Worker smaller than or equal to addr, rather than returning immediately on 1578*7304104dSAndroid Build Coastguard Worker a match. 1579*7304104dSAndroid Build Coastguard Worker 1580*7304104dSAndroid Build Coastguard Worker2015-01-07 Mark Wielaard <[email protected]> 1581*7304104dSAndroid Build Coastguard Worker 1582*7304104dSAndroid Build Coastguard Worker * cfi.h (struct Dwarf_CFI_s): Add search_table_len. 1583*7304104dSAndroid Build Coastguard Worker * dwarf_getcfi_elf.c (getcfi_gnu_eh_frame): Check there is enough 1584*7304104dSAndroid Build Coastguard Worker room in the search table for all entries. Store search_table_len. 1585*7304104dSAndroid Build Coastguard Worker (getcfi_scn_eh_frame): Likewise. 1586*7304104dSAndroid Build Coastguard Worker * encoded-value.h (encoded_value_size): Don't abort, return zero. 1587*7304104dSAndroid Build Coastguard Worker (__libdw_cfi_read_address_inc): Check there is enough room to read 1588*7304104dSAndroid Build Coastguard Worker values. Pass other byte order to read functions. 1589*7304104dSAndroid Build Coastguard Worker (read_encoded_value): Check encoded_value_size. Don't abort, but 1590*7304104dSAndroid Build Coastguard Worker set libdw errno and report failure. Check there is enough room to 1591*7304104dSAndroid Build Coastguard Worker read values. 1592*7304104dSAndroid Build Coastguard Worker * fde.c (binary_search_fde): Check encoded value size. Add hdr 1593*7304104dSAndroid Build Coastguard Worker data buf and size to dummy_cfi. 1594*7304104dSAndroid Build Coastguard Worker 1595*7304104dSAndroid Build Coastguard Worker2015-01-04 Mark Wielaard <[email protected]> 1596*7304104dSAndroid Build Coastguard Worker 1597*7304104dSAndroid Build Coastguard Worker * dwarf_siblingof.c (dwarf_siblingof): Check sibling attribute 1598*7304104dSAndroid Build Coastguard Worker is after current DIE. 1599*7304104dSAndroid Build Coastguard Worker 1600*7304104dSAndroid Build Coastguard Worker2015-01-04 Mark Wielaard <[email protected]> 1601*7304104dSAndroid Build Coastguard Worker 1602*7304104dSAndroid Build Coastguard Worker * cfi.c (enough_registers): Check reg < INT32_MAX / sizeof 1603*7304104dSAndroid Build Coastguard Worker (dwarf_frame_register). 1604*7304104dSAndroid Build Coastguard Worker 1605*7304104dSAndroid Build Coastguard Worker2015-01-02 Mark Wielaard <[email protected]> 1606*7304104dSAndroid Build Coastguard Worker 1607*7304104dSAndroid Build Coastguard Worker * dwarf_getcfi_elf.c (parse_eh_frame_hdr): Add size check. 1608*7304104dSAndroid Build Coastguard Worker (getcfi_gnu_eh_frame): Remove size check. Check d_buf is not NULL. 1609*7304104dSAndroid Build Coastguard Worker (getcfi_scn_eh_frame): Check d_buf is not NULL. 1610*7304104dSAndroid Build Coastguard Worker 1611*7304104dSAndroid Build Coastguard Worker2015-01-02 Mark Wielaard <[email protected]> 1612*7304104dSAndroid Build Coastguard Worker 1613*7304104dSAndroid Build Coastguard Worker * dwarf_getlocation.c (__libdw_intern_expression): Check dbg is not 1614*7304104dSAndroid Build Coastguard Worker NULL for DW_OP_call_ref and DW_OP_GNU_implicit_pointer. For 1615*7304104dSAndroid Build Coastguard Worker DW_OP_addr if dbg is NULL then read argument directly. 1616*7304104dSAndroid Build Coastguard Worker 1617*7304104dSAndroid Build Coastguard Worker2015-01-14 Jason P. Leasure <[email protected]> 1618*7304104dSAndroid Build Coastguard Worker 1619*7304104dSAndroid Build Coastguard Worker * dwarf_formref_die.c (dwarf_formref_die): Offset is cu->type_offset 1620*7304104dSAndroid Build Coastguard Worker plus cu->start. 1621*7304104dSAndroid Build Coastguard Worker 1622*7304104dSAndroid Build Coastguard Worker2014-12-27 Mark Wielaard <[email protected]> 1623*7304104dSAndroid Build Coastguard Worker 1624*7304104dSAndroid Build Coastguard Worker * dwarf_siblingof.c (dwarf_siblingof): Check sibling attribute offset 1625*7304104dSAndroid Build Coastguard Worker still falls inside CU data. 1626*7304104dSAndroid Build Coastguard Worker 1627*7304104dSAndroid Build Coastguard Worker2015-01-11 Mark Wielaard <[email protected]> 1628*7304104dSAndroid Build Coastguard Worker 1629*7304104dSAndroid Build Coastguard Worker * dwarf_func_inline.c (dwarf_func_inline_instances): Call 1630*7304104dSAndroid Build Coastguard Worker __libdw_visit_scopes with NULL imports. 1631*7304104dSAndroid Build Coastguard Worker * dwarf_getfuncs.c (dwarf_getfuncs): Likewise. 1632*7304104dSAndroid Build Coastguard Worker * dwarf_getscopes.c (pc_record): Likewise. 1633*7304104dSAndroid Build Coastguard Worker (dwarf_getscopes): Likewise. 1634*7304104dSAndroid Build Coastguard Worker * dwarf_getscopes_die.c (dwarf_getscopes_die): Likewise. 1635*7304104dSAndroid Build Coastguard Worker * libdwP.h (__libdw_visit_scopes): Add imports argument. 1636*7304104dSAndroid Build Coastguard Worker * libdw_visit_scopes.c (__libdw_visit_scopes): Likewise. Add new 1637*7304104dSAndroid Build Coastguard Worker function imports_contains. Push and pop imports around walk_children 1638*7304104dSAndroid Build Coastguard Worker when processing DW_TAG_imported_unit. 1639*7304104dSAndroid Build Coastguard Worker 1640*7304104dSAndroid Build Coastguard Worker2014-12-18 Ulrich Drepper <[email protected]> 1641*7304104dSAndroid Build Coastguard Worker 1642*7304104dSAndroid Build Coastguard Worker * Makefile.am: Suppress output of textrel_check command. 1643*7304104dSAndroid Build Coastguard Worker 1644*7304104dSAndroid Build Coastguard Worker2014-12-16 Mark Wielaard <[email protected]> 1645*7304104dSAndroid Build Coastguard Worker 1646*7304104dSAndroid Build Coastguard Worker * dwarf_getsrclines.c (read_srclines): Check diridx is valid under 1647*7304104dSAndroid Build Coastguard Worker DW_LNE_define_file. 1648*7304104dSAndroid Build Coastguard Worker 1649*7304104dSAndroid Build Coastguard Worker2014-12-16 Mark Wielaard <[email protected]> 1650*7304104dSAndroid Build Coastguard Worker 1651*7304104dSAndroid Build Coastguard Worker * dwarf_getpubnames.c (dwarf_getpubnames): Make sure there is enough 1652*7304104dSAndroid Build Coastguard Worker space to read die offset. 1653*7304104dSAndroid Build Coastguard Worker 1654*7304104dSAndroid Build Coastguard Worker2014-12-16 Mark Wielaard <[email protected]> 1655*7304104dSAndroid Build Coastguard Worker 1656*7304104dSAndroid Build Coastguard Worker * dwarf_getsrclines.c (read_srclines): Correct overflow check for 1657*7304104dSAndroid Build Coastguard Worker unit_length. 1658*7304104dSAndroid Build Coastguard Worker 1659*7304104dSAndroid Build Coastguard Worker2014-12-15 Mark Wielaard <[email protected]> 1660*7304104dSAndroid Build Coastguard Worker 1661*7304104dSAndroid Build Coastguard Worker * dwarf_getpubnames.c (get_offsets): Make sure whole unit fall inside 1662*7304104dSAndroid Build Coastguard Worker section data. Set error to DWARF_E_NO_ENTRY if cnt is zero. 1663*7304104dSAndroid Build Coastguard Worker (dwarf_getpubnames): Make sure section data contains string zero 1664*7304104dSAndroid Build Coastguard Worker terminator. 1665*7304104dSAndroid Build Coastguard Worker 1666*7304104dSAndroid Build Coastguard Worker2014-12-16 Mark Wielaard <[email protected]> 1667*7304104dSAndroid Build Coastguard Worker 1668*7304104dSAndroid Build Coastguard Worker * memory-access.h (__libdw_get_sleb128): Unroll the first step to help 1669*7304104dSAndroid Build Coastguard Worker the compiler optimize for the common single-byte case. 1670*7304104dSAndroid Build Coastguard Worker 1671*7304104dSAndroid Build Coastguard Worker2014-12-15 Josh Stone <[email protected]> 1672*7304104dSAndroid Build Coastguard Worker 1673*7304104dSAndroid Build Coastguard Worker * memory-access.h (__libdw_max_len_leb128): New. 1674*7304104dSAndroid Build Coastguard Worker (__libdw_get_uleb128): Use __libdw_max_len_leb128. 1675*7304104dSAndroid Build Coastguard Worker (__libdw_get_sleb128): Likewise. 1676*7304104dSAndroid Build Coastguard Worker 1677*7304104dSAndroid Build Coastguard Worker2014-12-14 Mark Wielaard <[email protected]> 1678*7304104dSAndroid Build Coastguard Worker 1679*7304104dSAndroid Build Coastguard Worker * cfi.c (execute_cfi): Add program bounds checks. 1680*7304104dSAndroid Build Coastguard Worker * dwarf_child.c (__libdw_find_attr): Add attrp bounds checks. 1681*7304104dSAndroid Build Coastguard Worker * dwarf_formblock.c (dwarf_formblock): Call get_uleb128 with endp. 1682*7304104dSAndroid Build Coastguard Worker * dwarf_formref.c (__libdw_formref): Add datap bounds checks. 1683*7304104dSAndroid Build Coastguard Worker * dwarf_formsdata.c (dwarf_formsdata): Likewise. 1684*7304104dSAndroid Build Coastguard Worker * dwarf_formudata.c (dwarf_formudata): Likewise. 1685*7304104dSAndroid Build Coastguard Worker * dwarf_frame_register.c (dwarf_frame_register): Call get_uleb128 1686*7304104dSAndroid Build Coastguard Worker with end of data buf. 1687*7304104dSAndroid Build Coastguard Worker * dwarf_getabbrev.c (__libdw_getabbrev): Add abbrevp bounds checks. 1688*7304104dSAndroid Build Coastguard Worker * dwarf_getabbrevattr.c (dwarf_getabbrevattr): Assume get_uleb128 1689*7304104dSAndroid Build Coastguard Worker call gets enough data. 1690*7304104dSAndroid Build Coastguard Worker * dwarf_getattrs,c (dwarf_getattrs): Call get_uleb128 with endp. 1691*7304104dSAndroid Build Coastguard Worker * dwarf_getlocation.c (store_implicit_value): Call get_uleb128 1692*7304104dSAndroid Build Coastguard Worker with enough data. 1693*7304104dSAndroid Build Coastguard Worker (__libdw_intern_expression): Call get_uleb128/get_sleb128 with 1694*7304104dSAndroid Build Coastguard Worker end_data. 1695*7304104dSAndroid Build Coastguard Worker * dwarf_getmacros.c (get_table_for_offset): Add nforms bounds check. 1696*7304104dSAndroid Build Coastguard Worker * dwarf_getsrclines.c (read_srclines): Bounds check linep and call 1697*7304104dSAndroid Build Coastguard Worker get_uleb128 with lineendp. 1698*7304104dSAndroid Build Coastguard Worker * dwarf_hasattr.c (dwarf_hasattr): Bounds check attrp and call 1699*7304104dSAndroid Build Coastguard Worker get_uleb128 with endp. 1700*7304104dSAndroid Build Coastguard Worker * dwarf_next_cfi.c (dwarf_next_cfi): Bounds check bytes and call 1701*7304104dSAndroid Build Coastguard Worker get_uleb128/get_sleb128 with limit. 1702*7304104dSAndroid Build Coastguard Worker * encoded-value.h (read_encoded_value): Assume get_uleb128 and 1703*7304104dSAndroid Build Coastguard Worker get_sleb128 get called with enough data. 1704*7304104dSAndroid Build Coastguard Worker * fde.c (intern_fde): Call get_uleb128 with instructions_end. 1705*7304104dSAndroid Build Coastguard Worker * libdwP.h (__libdw_dieabbrev): Call get_uleb128 with die->cu->endp. 1706*7304104dSAndroid Build Coastguard Worker * libdw_form.c (__libdw_form_val_compute_len): Call get_uleb128 with 1707*7304104dSAndroid Build Coastguard Worker endp. 1708*7304104dSAndroid Build Coastguard Worker * memory-access.h (__libdw_get_uleb128): Take an extra endp. 1709*7304104dSAndroid Build Coastguard Worker Don't call get_uleb128_step if out of data. 1710*7304104dSAndroid Build Coastguard Worker (__libdw_get_sleb128): Likewise for get_sleb128_step. 1711*7304104dSAndroid Build Coastguard Worker 1712*7304104dSAndroid Build Coastguard Worker2014-12-12 Mark Wielaard <[email protected]> 1713*7304104dSAndroid Build Coastguard Worker 1714*7304104dSAndroid Build Coastguard Worker * libdwP.h (struct Dwarf): Add fake_loc_cu. 1715*7304104dSAndroid Build Coastguard Worker (cu_data): Removed. 1716*7304104dSAndroid Build Coastguard Worker (DIE_OFFSET_FROM_CU_OFFSET): Don't use cu_data, use cu_sec_idx. 1717*7304104dSAndroid Build Coastguard Worker (__libdw_form_val_compute_len): Drop dbg and endp arguments. 1718*7304104dSAndroid Build Coastguard Worker (__libdw_form_val_len): Likewise. 1719*7304104dSAndroid Build Coastguard Worker * libdw_form.c (__libdw_form_val_compute_len): Likewise. 1720*7304104dSAndroid Build Coastguard Worker * libdw_findcu.c (__libdw_intern_next_unit): Don't use cu_data, use 1721*7304104dSAndroid Build Coastguard Worker the already found data buffer directly. 1722*7304104dSAndroid Build Coastguard Worker * dwarf_begin_elf.c (valid_p): Setup fake_loc_cu. 1723*7304104dSAndroid Build Coastguard Worker * dwarf_end.c (dwarf_end): Free fake_loc_cu. 1724*7304104dSAndroid Build Coastguard Worker * dwarf_child.c (__libdw_find_attr): Call __libdw_form_val_len with 1725*7304104dSAndroid Build Coastguard Worker just cu. 1726*7304104dSAndroid Build Coastguard Worker * dwarf_getattrs.c (dwarf_getattrs): Likewise. 1727*7304104dSAndroid Build Coastguard Worker * dwarf_formblock.c (dwarf_formblock): Add bounds checking. 1728*7304104dSAndroid Build Coastguard Worker * dwarf_getlocation_attr.c (attr_form_cu): New function. 1729*7304104dSAndroid Build Coastguard Worker (dwarf_getlocation_attr): Use attr_form_cu to set result->cu. 1730*7304104dSAndroid Build Coastguard Worker (getlocation): Handle empty blocks immediately. 1731*7304104dSAndroid Build Coastguard Worker * dwarf_getlocation_implicit_pointer.c (empty_cu): New static var. 1732*7304104dSAndroid Build Coastguard Worker (__libdw_empty_loc_attr): Drop cu argument, use empty_cu. 1733*7304104dSAndroid Build Coastguard Worker (dwarf_getlocation_implicit_pointer): Call __libdw_empty_loc_attr with 1734*7304104dSAndroid Build Coastguard Worker one argument. 1735*7304104dSAndroid Build Coastguard Worker * dwarf_getmacros.c (read_macros): Also setup startp and endp for 1736*7304104dSAndroid Build Coastguard Worker fake_cu. Call __libdw_form_val_len with just fake_cu. 1737*7304104dSAndroid Build Coastguard Worker * dwarf_formref_die.c (dwarf_formref_die): Don't use cu_data, get 1738*7304104dSAndroid Build Coastguard Worker datap and size directly from cu startp and endp. 1739*7304104dSAndroid Build Coastguard Worker 1740*7304104dSAndroid Build Coastguard Worker2014-12-11 Mark Wielaard <[email protected]> 1741*7304104dSAndroid Build Coastguard Worker 1742*7304104dSAndroid Build Coastguard Worker * libdw_findcu.c (__libdw_intern_next_unit): Sanity check offset. 1743*7304104dSAndroid Build Coastguard Worker 1744*7304104dSAndroid Build Coastguard Worker2014-12-13 Mark Wielaard <[email protected]> 1745*7304104dSAndroid Build Coastguard Worker 1746*7304104dSAndroid Build Coastguard Worker * dwarf_getaranges.c (compare_aranges): Make sure Dwarf_Addr 1747*7304104dSAndroid Build Coastguard Worker difference doesn't wrap around before returning as int. 1748*7304104dSAndroid Build Coastguard Worker 1749*7304104dSAndroid Build Coastguard Worker2014-12-11 Josh Stone <[email protected]> 1750*7304104dSAndroid Build Coastguard Worker 1751*7304104dSAndroid Build Coastguard Worker * dwarf_getsrclines.c (struct linelist): Add sequence. 1752*7304104dSAndroid Build Coastguard Worker (compare_lines): Take linelists, and break ties by sequence. 1753*7304104dSAndroid Build Coastguard Worker (read_srclines): Use linelists for sorting. 1754*7304104dSAndroid Build Coastguard Worker (read_srclines::add_new_line): Set sequence. 1755*7304104dSAndroid Build Coastguard Worker 1756*7304104dSAndroid Build Coastguard Worker2014-12-10 Josh Stone <[email protected]> 1757*7304104dSAndroid Build Coastguard Worker 1758*7304104dSAndroid Build Coastguard Worker * libdwP.h (Dwarf_CU): Add startp and endp boundaries. 1759*7304104dSAndroid Build Coastguard Worker * libdw_findcu.c (__libdw_intern_next_unit): Set startp and endp. 1760*7304104dSAndroid Build Coastguard Worker * dwarf_child.c (dwarf_child): Use cu->endp. 1761*7304104dSAndroid Build Coastguard Worker * dwarf_cuoffset.c (dwarf_cuoffset): Use cu->startp. 1762*7304104dSAndroid Build Coastguard Worker * dwarf_dieoffset.c (dwarf_dieoffset): Use cu->startp. 1763*7304104dSAndroid Build Coastguard Worker * dwarf_siblingof.c (dwarf_siblingof): Use both. 1764*7304104dSAndroid Build Coastguard Worker 1765*7304104dSAndroid Build Coastguard Worker2014-12-10 Josh Stone <[email protected]> 1766*7304104dSAndroid Build Coastguard Worker 1767*7304104dSAndroid Build Coastguard Worker * dwarf_hasattr.c (dwarf_hasattr): Just walk abbrev for presence. 1768*7304104dSAndroid Build Coastguard Worker 1769*7304104dSAndroid Build Coastguard Worker2014-12-10 Josh Stone <[email protected]> 1770*7304104dSAndroid Build Coastguard Worker 1771*7304104dSAndroid Build Coastguard Worker * libdwP.h (__libdw_dieabbrev): New die->abbrev lookup function. 1772*7304104dSAndroid Build Coastguard Worker * dwarf_child.c (__libdw_find_attr, dwarf_child): Use it. 1773*7304104dSAndroid Build Coastguard Worker * dwarf_getattrs.c (dwarf_getattrs): Likewise. 1774*7304104dSAndroid Build Coastguard Worker * dwarf_haschildren.c (dwarf_haschildren): Likewise. 1775*7304104dSAndroid Build Coastguard Worker * dwarf_tag.c (dwarf_tag): Likewise. 1776*7304104dSAndroid Build Coastguard Worker 1777*7304104dSAndroid Build Coastguard Worker2014-12-04 Mark Wielaard <[email protected]> 1778*7304104dSAndroid Build Coastguard Worker 1779*7304104dSAndroid Build Coastguard Worker * libdwP.h (__libdw_form_val_compute_len): Add endp argument. 1780*7304104dSAndroid Build Coastguard Worker (__libdw_form_val_len): Likewise and check len doesn't overflow. 1781*7304104dSAndroid Build Coastguard Worker * libdw_form.c (__libdw_form_val_compute_len): Likewise. 1782*7304104dSAndroid Build Coastguard Worker * dwarf_child.c (__libdw_find_attr): Call __libdw_form_val_len 1783*7304104dSAndroid Build Coastguard Worker with endp. 1784*7304104dSAndroid Build Coastguard Worker * dwarf_getattrs.c (dwarf_getattrs): Likewise. 1785*7304104dSAndroid Build Coastguard Worker * dwarf_getmacros.c (read_macros): Likewise and check for errors. 1786*7304104dSAndroid Build Coastguard Worker 1787*7304104dSAndroid Build Coastguard Worker2014-12-02 Petr Machata <[email protected]> 1788*7304104dSAndroid Build Coastguard Worker 1789*7304104dSAndroid Build Coastguard Worker * dwarf_getmacros.c (token_from_offset, offset_from_token): New 1790*7304104dSAndroid Build Coastguard Worker helper functions. 1791*7304104dSAndroid Build Coastguard Worker (do_dwarf_getmacros_die): Merge into dwarf_getmacros. 1792*7304104dSAndroid Build Coastguard Worker * libdw.h (DWARF_GETMACROS_START): New macro. 1793*7304104dSAndroid Build Coastguard Worker 1794*7304104dSAndroid Build Coastguard Worker2014-11-27 Mark Wielaard <[email protected]> 1795*7304104dSAndroid Build Coastguard Worker 1796*7304104dSAndroid Build Coastguard Worker * Makefile.am (libdw.so): Use textrel_check. 1797*7304104dSAndroid Build Coastguard Worker 1798*7304104dSAndroid Build Coastguard Worker2014-11-27 Mark Wielaard <[email protected]> 1799*7304104dSAndroid Build Coastguard Worker 1800*7304104dSAndroid Build Coastguard Worker * dwarf_getcfi_elf.c (getcfi_gnu_eh_frame): Initialize 1801*7304104dSAndroid Build Coastguard Worker search_table_entries and search_table_encoding. 1802*7304104dSAndroid Build Coastguard Worker 1803*7304104dSAndroid Build Coastguard Worker2014-11-24 Mark Wielaard <[email protected]> 1804*7304104dSAndroid Build Coastguard Worker 1805*7304104dSAndroid Build Coastguard Worker * dwarf_getsrclines.c (read_srclines): Check line_range is not zero 1806*7304104dSAndroid Build Coastguard Worker before usage. 1807*7304104dSAndroid Build Coastguard Worker 1808*7304104dSAndroid Build Coastguard Worker2014-11-23 Mark Wielaard <[email protected]> 1809*7304104dSAndroid Build Coastguard Worker 1810*7304104dSAndroid Build Coastguard Worker * dwarf_attr.c (dwarf_attr): Check __libdw_find_attr return value. 1811*7304104dSAndroid Build Coastguard Worker * dwarf_hasattr.c (dwarf_hasattr): Likewise. 1812*7304104dSAndroid Build Coastguard Worker * dwarf_siblingof.c (dwarf_siblingof): Likewise. 1813*7304104dSAndroid Build Coastguard Worker 1814*7304104dSAndroid Build Coastguard Worker2014-11-23 Mark Wielaard <[email protected]> 1815*7304104dSAndroid Build Coastguard Worker 1816*7304104dSAndroid Build Coastguard Worker * dwarf_getabbrev.c (__libdw_getabbrev): Don't assert on bad DWARF. 1817*7304104dSAndroid Build Coastguard Worker Set libdw errno and return NULL. 1818*7304104dSAndroid Build Coastguard Worker 1819*7304104dSAndroid Build Coastguard Worker2014-11-24 Mark Wielaard <[email protected]> 1820*7304104dSAndroid Build Coastguard Worker 1821*7304104dSAndroid Build Coastguard Worker * dwarf.h (DW_LANG_C_plus_plus_11): Added. 1822*7304104dSAndroid Build Coastguard Worker (DW_LANG_C11): Likewise. 1823*7304104dSAndroid Build Coastguard Worker (DW_LANG_C_plus_plus_14): Likewise. 1824*7304104dSAndroid Build Coastguard Worker * dwarf_aggregate_size.c (array_size): Handle DW_LANG_C11, 1825*7304104dSAndroid Build Coastguard Worker DW_LANG_C_plus_plus_11, DW_LANG_C_plus_plus_14 and DW_LANG_Go 1826*7304104dSAndroid Build Coastguard Worker lower bound. 1827*7304104dSAndroid Build Coastguard Worker * dwarf_getfuncs.c (dwarf_getfuncs): Set c_cu to true for 1828*7304104dSAndroid Build Coastguard Worker DW_LANG_C11. 1829*7304104dSAndroid Build Coastguard Worker 1830*7304104dSAndroid Build Coastguard Worker2014-11-26 Mark Wielaard <[email protected]> 1831*7304104dSAndroid Build Coastguard Worker 1832*7304104dSAndroid Build Coastguard Worker * dwarf.h (DW_AT_noreturn): Added. 1833*7304104dSAndroid Build Coastguard Worker 1834*7304104dSAndroid Build Coastguard Worker2014-11-11 Mark Wielaard <[email protected]> 1835*7304104dSAndroid Build Coastguard Worker 1836*7304104dSAndroid Build Coastguard Worker * dwarf_getsrclines.c (read_srclines): Do address_size comparison 1837*7304104dSAndroid Build Coastguard Worker explicitly as uint8_t. 1838*7304104dSAndroid Build Coastguard Worker (__libdw_getsrclines): Add internal_function to declaration. 1839*7304104dSAndroid Build Coastguard Worker 1840*7304104dSAndroid Build Coastguard Worker2014-09-10 Petr Machata <[email protected]> 1841*7304104dSAndroid Build Coastguard Worker 1842*7304104dSAndroid Build Coastguard Worker * dwarf_macro_getparamcnt.c: New file. 1843*7304104dSAndroid Build Coastguard Worker * dwarf_macro_param.c: New file. 1844*7304104dSAndroid Build Coastguard Worker * dwarf_macro_getsrcfiles.c: New file. 1845*7304104dSAndroid Build Coastguard Worker * Makefile.am (libdw_a_SOURCES): Add the new files. 1846*7304104dSAndroid Build Coastguard Worker * libdwP.h (struct files_lines_s): New structure. 1847*7304104dSAndroid Build Coastguard Worker (DWARF_E_INVALID_OPCODE): New enumerator. 1848*7304104dSAndroid Build Coastguard Worker (struct Dwarf): New fields macro_ops, files_lines. 1849*7304104dSAndroid Build Coastguard Worker (Dwarf_Macro_Op_Proto, Dwarf_Macro_Op_Table): New structures for 1850*7304104dSAndroid Build Coastguard Worker keeping macro opcode prototypes in. 1851*7304104dSAndroid Build Coastguard Worker (Dwarf_Macro_s): Redefine from scratch. 1852*7304104dSAndroid Build Coastguard Worker (__libdw_getsrclines, __libdw_getcompdir, libdw_macro_nforms): New 1853*7304104dSAndroid Build Coastguard Worker internal interfaces. 1854*7304104dSAndroid Build Coastguard Worker * dwarf_error.c (errmsgs): Add a message for 1855*7304104dSAndroid Build Coastguard Worker DWARF_E_INVALID_OPCODE. 1856*7304104dSAndroid Build Coastguard Worker * dwarf_end.c (dwarf_end): Destroy struct Dwarf.macro_ops and 1857*7304104dSAndroid Build Coastguard Worker files_lines. 1858*7304104dSAndroid Build Coastguard Worker * libdw.h (dwarf_getmacros_off, dwarf_macro_getparamcnt) 1859*7304104dSAndroid Build Coastguard Worker (dwarf_macro_getsrcfiles, dwarf_macro_param): New public 1860*7304104dSAndroid Build Coastguard Worker interfaces. 1861*7304104dSAndroid Build Coastguard Worker * dwarf_getmacros.c (dwarf_getmacros_off): New function, 1862*7304104dSAndroid Build Coastguard Worker (get_offset_from, macro_op_compare, build_table) 1863*7304104dSAndroid Build Coastguard Worker (init_macinfo_table, get_macinfo_table, get_table_for_offset) 1864*7304104dSAndroid Build Coastguard Worker (cache_op_table, read_macros, gnu_macros_getmacros_off) 1865*7304104dSAndroid Build Coastguard Worker (macro_info_getmacros_off, do_dwarf_getmacros_die): New helper 1866*7304104dSAndroid Build Coastguard Worker functions. 1867*7304104dSAndroid Build Coastguard Worker (dwarf_getmacros): Adjust to dispatch to the new interfaces. 1868*7304104dSAndroid Build Coastguard Worker * dwarf_getsrclines.c (read_srclines): New function with guts 1869*7304104dSAndroid Build Coastguard Worker taken from dwarf_getsrclines. 1870*7304104dSAndroid Build Coastguard Worker (__libdw_getsrclines): Likewise. 1871*7304104dSAndroid Build Coastguard Worker (__libdw_getcompdir, files_lines_compare): New functions. 1872*7304104dSAndroid Build Coastguard Worker (dwarf_getsrclines): Make it dispatch to the new interfaces. 1873*7304104dSAndroid Build Coastguard Worker * dwarf_macro_param1.c (dwarf_macro_param1): Adjust to dispatch to 1874*7304104dSAndroid Build Coastguard Worker the new interfaces. 1875*7304104dSAndroid Build Coastguard Worker * dwarf_macro_param2.c (dwarf_macro_param2): Likewise. 1876*7304104dSAndroid Build Coastguard Worker * libdw.map (ELFUTILS_0.161): New. Add dwarf_getmacros_off, 1877*7304104dSAndroid Build Coastguard Worker dwarf_macro_getsrcfiles, dwarf_macro_getparamcnt, dwarf_macro_param. 1878*7304104dSAndroid Build Coastguard Worker 1879*7304104dSAndroid Build Coastguard Worker2014-10-06 Mark Wielaard <[email protected]> 1880*7304104dSAndroid Build Coastguard Worker 1881*7304104dSAndroid Build Coastguard Worker * Makefile.am (libdw_a_SOURCES): Add dwarf_peel_type.c. 1882*7304104dSAndroid Build Coastguard Worker * dwarf_aggregate_size.c (get_type): Use dwarf_peel_type. 1883*7304104dSAndroid Build Coastguard Worker (aggregate_size): Likewise. Add old and new version. 1884*7304104dSAndroid Build Coastguard Worker * dwarf_peel_type.c: New file. 1885*7304104dSAndroid Build Coastguard Worker * libdw.h (dwarf_peel_type): New function declaration. 1886*7304104dSAndroid Build Coastguard Worker * libdwP.h (dwarf_peel_type): New internal declaration. 1887*7304104dSAndroid Build Coastguard Worker * libdw.map (ELFUTILS_0.161): New section. 1888*7304104dSAndroid Build Coastguard Worker 1889*7304104dSAndroid Build Coastguard Worker2014-10-15 Petr Machata <[email protected]> 1890*7304104dSAndroid Build Coastguard Worker 1891*7304104dSAndroid Build Coastguard Worker * libdwP.h (struct Dwarf_Files_s.cu): Drop field. 1892*7304104dSAndroid Build Coastguard Worker * dwarf_getsrclines.c (dwarf_getsrclines): Don't set it. 1893*7304104dSAndroid Build Coastguard Worker 1894*7304104dSAndroid Build Coastguard Worker2014-10-05 Mark Wielaard <[email protected]> 1895*7304104dSAndroid Build Coastguard Worker 1896*7304104dSAndroid Build Coastguard Worker * dwarf.h: Add DW_AT_GNU_deleted. 1897*7304104dSAndroid Build Coastguard Worker 1898*7304104dSAndroid Build Coastguard Worker2014-10-02 Mark Wielaard <[email protected]> 1899*7304104dSAndroid Build Coastguard Worker 1900*7304104dSAndroid Build Coastguard Worker * dwarf_aggregate_size.c (aggregate_size): Return CU address_size 1901*7304104dSAndroid Build Coastguard Worker for sizeless DW_TAG_pointer_type, DW_TAG_reference_type or 1902*7304104dSAndroid Build Coastguard Worker DW_TAG_rvalue_reference_type. 1903*7304104dSAndroid Build Coastguard Worker 1904*7304104dSAndroid Build Coastguard Worker2014-09-12 Petr Machata <[email protected]> 1905*7304104dSAndroid Build Coastguard Worker 1906*7304104dSAndroid Build Coastguard Worker * memory-access.h (read_ubyte_unaligned_inc): Allow only 4- and 1907*7304104dSAndroid Build Coastguard Worker 8-byte quantities. Consequently, rename to... 1908*7304104dSAndroid Build Coastguard Worker (read_addr_unaligned_inc): ... this. 1909*7304104dSAndroid Build Coastguard Worker (read_sbyte_unaligned_inc, read_ubyte_unaligned): Drop. 1910*7304104dSAndroid Build Coastguard Worker (read_sbyte_unaligned): Drop. 1911*7304104dSAndroid Build Coastguard Worker 1912*7304104dSAndroid Build Coastguard Worker2014-09-10 Petr Machata <[email protected]> 1913*7304104dSAndroid Build Coastguard Worker 1914*7304104dSAndroid Build Coastguard Worker * dwarf_getlocation.c (attr_ok): Also accept 1915*7304104dSAndroid Build Coastguard Worker DW_AT_GNU_call_site_value, DW_AT_GNU_call_site_data_value, 1916*7304104dSAndroid Build Coastguard Worker DW_AT_GNU_call_site_target, DW_AT_GNU_call_site_target_clobbered. 1917*7304104dSAndroid Build Coastguard Worker 1918*7304104dSAndroid Build Coastguard Worker2014-08-15 Mark Wielaard <[email protected]> 1919*7304104dSAndroid Build Coastguard Worker 1920*7304104dSAndroid Build Coastguard Worker * dwarf_cu_die.c: New file. 1921*7304104dSAndroid Build Coastguard Worker * Makefile.am (libdw_a_SOURCES): Add dwarf_cu_die.c. 1922*7304104dSAndroid Build Coastguard Worker * libdw.h (dwarf_cu_die): New function declaration. 1923*7304104dSAndroid Build Coastguard Worker * libdw.map (ELFUTILS_0.160): Add dwarf_cu_die. 1924*7304104dSAndroid Build Coastguard Worker 1925*7304104dSAndroid Build Coastguard Worker2014-08-15 Mark Wielaard <[email protected]> 1926*7304104dSAndroid Build Coastguard Worker 1927*7304104dSAndroid Build Coastguard Worker * dwarf_cu_getdwarf.c: New file. 1928*7304104dSAndroid Build Coastguard Worker * Makefile.am (libdw_a_SOURCES): Add dwarf_cu_getdwarf.c. 1929*7304104dSAndroid Build Coastguard Worker * libdw.h (Dwarf_CU): New typedef. 1930*7304104dSAndroid Build Coastguard Worker (dwarf_cu_getdwarf): New function declaration. 1931*7304104dSAndroid Build Coastguard Worker * libdw.map (ELFUTILS_0.160): New. Add dwarf_cu_getdwarf. 1932*7304104dSAndroid Build Coastguard Worker 1933*7304104dSAndroid Build Coastguard Worker2014-06-18 Mark Wielaard <[email protected]> 1934*7304104dSAndroid Build Coastguard Worker 1935*7304104dSAndroid Build Coastguard Worker * dwarf.h: Remove DW_TAG_mutable_type. 1936*7304104dSAndroid Build Coastguard Worker 1937*7304104dSAndroid Build Coastguard Worker2014-05-02 Mark Wielaard <[email protected]> 1938*7304104dSAndroid Build Coastguard Worker 1939*7304104dSAndroid Build Coastguard Worker * libdwP.h (__check_build_id): Removed now unused. 1940*7304104dSAndroid Build Coastguard Worker 1941*7304104dSAndroid Build Coastguard Worker2014-05-01 Mark Wielaard <[email protected]> 1942*7304104dSAndroid Build Coastguard Worker 1943*7304104dSAndroid Build Coastguard Worker * libdwP.h (struct Dwarf): Remove free_alt. 1944*7304104dSAndroid Build Coastguard Worker * dwarf_end.c (dwarf_end): Don't check free_alt, don't end alt_dwarf. 1945*7304104dSAndroid Build Coastguard Worker * dwarf_setalt.c (dwarf_setalt): Don't check or set free_alt. 1946*7304104dSAndroid Build Coastguard Worker 1947*7304104dSAndroid Build Coastguard Worker2014-04-30 Mark Wielaard <[email protected]> 1948*7304104dSAndroid Build Coastguard Worker 1949*7304104dSAndroid Build Coastguard Worker * libdw.map (ELFUTILS_0.159): Add dwelf_elf_gnu_build_id. 1950*7304104dSAndroid Build Coastguard Worker 1951*7304104dSAndroid Build Coastguard Worker2014-04-15 Florian Weimer <[email protected]> 1952*7304104dSAndroid Build Coastguard Worker 1953*7304104dSAndroid Build Coastguard Worker * dwarf_begin_elf.c (__check_build_id, try_debugaltlink) 1954*7304104dSAndroid Build Coastguard Worker (open_debugaltlink): Move to libdwfl. 1955*7304104dSAndroid Build Coastguard Worker (check_section): Do not locate alternate debuginfo. 1956*7304104dSAndroid Build Coastguard Worker 1957*7304104dSAndroid Build Coastguard Worker2014-04-24 Florian Weimer <[email protected]> 1958*7304104dSAndroid Build Coastguard Worker 1959*7304104dSAndroid Build Coastguard Worker * libdw.map (ELFUTILS_0.159): Export dwelf_dwarf_gnu_debugaltlink. 1960*7304104dSAndroid Build Coastguard Worker 1961*7304104dSAndroid Build Coastguard Worker2014-04-22 Florian Weimer <[email protected]> 1962*7304104dSAndroid Build Coastguard Worker 1963*7304104dSAndroid Build Coastguard Worker * dwarf_getalt.c, dwarf_setalt.c: New files. 1964*7304104dSAndroid Build Coastguard Worker * Makefile.am (libdw_a_SOURCES): Add them. 1965*7304104dSAndroid Build Coastguard Worker * libdw.h (dwarf_getalt, dwarf_setalt): Add function declarations. 1966*7304104dSAndroid Build Coastguard Worker * libdwP.h (dwarf_getalt, dwarf_setalt): Add internal function 1967*7304104dSAndroid Build Coastguard Worker declarations. 1968*7304104dSAndroid Build Coastguard Worker * libdw.map (ELFUTILS_0.159): Export the two new functions. 1969*7304104dSAndroid Build Coastguard Worker 1970*7304104dSAndroid Build Coastguard Worker2014-04-15 Florian Weimer <[email protected]> 1971*7304104dSAndroid Build Coastguard Worker 1972*7304104dSAndroid Build Coastguard Worker * libdwP.h (enum IDX_gnu_debugaltlink): New. 1973*7304104dSAndroid Build Coastguard Worker * dwarf_begin_elf.c (dwarf_scnnames): Increase string size and add 1974*7304104dSAndroid Build Coastguard Worker .gnu_debugaltlink. 1975*7304104dSAndroid Build Coastguard Worker (check_section): Obtain .gnu_debugaltlink section from the 1976*7304104dSAndroid Build Coastguard Worker setiondata array. 1977*7304104dSAndroid Build Coastguard Worker 1978*7304104dSAndroid Build Coastguard Worker2014-04-11 Mark Wielaard <[email protected]> 1979*7304104dSAndroid Build Coastguard Worker 1980*7304104dSAndroid Build Coastguard Worker * libdw.map (ELFUTILS_0.159): New. Add dwelf_elf_gnu_debuglink. 1981*7304104dSAndroid Build Coastguard Worker * Makefile.am (libdw.so): Depend on libdwelf_pic.a. 1982*7304104dSAndroid Build Coastguard Worker (libdwelf_objects): New variable. 1983*7304104dSAndroid Build Coastguard Worker (libdw_a_LIBADD): Add libdwelf objects. 1984*7304104dSAndroid Build Coastguard Worker 1985*7304104dSAndroid Build Coastguard Worker2014-04-22 Mark Wielaard <[email protected]> 1986*7304104dSAndroid Build Coastguard Worker 1987*7304104dSAndroid Build Coastguard Worker * memory-access.h (get_sleb128_step): Remove undefined behavior 1988*7304104dSAndroid Build Coastguard Worker of left shifting a signed value. Replace it with a multiplication. 1989*7304104dSAndroid Build Coastguard Worker 1990*7304104dSAndroid Build Coastguard Worker2014-04-13 Mark Wielaard <[email protected]> 1991*7304104dSAndroid Build Coastguard Worker 1992*7304104dSAndroid Build Coastguard Worker * Makefile.am: Remove !MUDFLAP conditions. 1993*7304104dSAndroid Build Coastguard Worker 1994*7304104dSAndroid Build Coastguard Worker2014-04-09 Mark Wielaard <[email protected]> 1995*7304104dSAndroid Build Coastguard Worker 1996*7304104dSAndroid Build Coastguard Worker * dwarf_begin_elf.c (check_section): Check for unsigned overflow 1997*7304104dSAndroid Build Coastguard Worker before calling malloc to uncompress data. 1998*7304104dSAndroid Build Coastguard Worker 1999*7304104dSAndroid Build Coastguard Worker2014-03-03 Jan Kratochvil <[email protected]> 2000*7304104dSAndroid Build Coastguard Worker 2001*7304104dSAndroid Build Coastguard Worker Fix abort() on missing section headers. 2002*7304104dSAndroid Build Coastguard Worker * dwarf_begin_elf.c (check_section): Replace abort call by goto err. 2003*7304104dSAndroid Build Coastguard Worker New label err to return NULL. 2004*7304104dSAndroid Build Coastguard Worker 2005*7304104dSAndroid Build Coastguard Worker2014-02-05 Josh Stone <[email protected]> 2006*7304104dSAndroid Build Coastguard Worker 2007*7304104dSAndroid Build Coastguard Worker * dwarf_decl_file.c (dwarf_decl_file): Read the idx as unsigned. 2008*7304104dSAndroid Build Coastguard Worker * dwarf_decl_line.c (__libdw_attr_intval): Read the line/column as 2009*7304104dSAndroid Build Coastguard Worker unsigned. Change the range assert to DWARF_E_INVALID_DWARF. 2010*7304104dSAndroid Build Coastguard Worker 2011*7304104dSAndroid Build Coastguard Worker2013-12-30 Mark Wielaard <[email protected]> 2012*7304104dSAndroid Build Coastguard Worker 2013*7304104dSAndroid Build Coastguard Worker * libdw.map (ELFUTILS_0.158): Add dwfl_core_file_attach and 2014*7304104dSAndroid Build Coastguard Worker dwfl_linux_proc_attach. 2015*7304104dSAndroid Build Coastguard Worker 2016*7304104dSAndroid Build Coastguard Worker2013-12-20 Mark Wielaard <[email protected]> 2017*7304104dSAndroid Build Coastguard Worker 2018*7304104dSAndroid Build Coastguard Worker * libdw.map (ELFUTILS_0.158): Add dwfl_getthread_frames. 2019*7304104dSAndroid Build Coastguard Worker 2020*7304104dSAndroid Build Coastguard Worker2013-12-18 Mark Wielaard <[email protected]> 2021*7304104dSAndroid Build Coastguard Worker 2022*7304104dSAndroid Build Coastguard Worker * libdw.map (ELFUTILS_0.158): Remove dwfl_module_addrsym_elf and 2023*7304104dSAndroid Build Coastguard Worker dwfl_module_getsym_elf. Add dwfl_module_addrinfo and 2024*7304104dSAndroid Build Coastguard Worker dwfl_module_getsym_info. 2025*7304104dSAndroid Build Coastguard Worker 2026*7304104dSAndroid Build Coastguard Worker2013-12-16 Mark Wielaard <[email protected]> 2027*7304104dSAndroid Build Coastguard Worker 2028*7304104dSAndroid Build Coastguard Worker * libdw.map (ELFUTILS_0.158): Add dwfl_module_getsymtab_first_global. 2029*7304104dSAndroid Build Coastguard Worker 2030*7304104dSAndroid Build Coastguard Worker2013-12-10 Josh Stone <[email protected]> 2031*7304104dSAndroid Build Coastguard Worker 2032*7304104dSAndroid Build Coastguard Worker * memory-access.h (get_uleb128_rest_return): Removed. 2033*7304104dSAndroid Build Coastguard Worker (get_sleb128_rest_return): Removed. 2034*7304104dSAndroid Build Coastguard Worker (get_uleb128_step): Make this a self-contained block. 2035*7304104dSAndroid Build Coastguard Worker (get_sleb128_step): Ditto, and use a bitfield to extend signs. 2036*7304104dSAndroid Build Coastguard Worker (get_uleb128): Make this wholly implemented by __libdw_get_uleb128. 2037*7304104dSAndroid Build Coastguard Worker (get_sleb128): Make this wholly implemented by __libdw_get_sleb128. 2038*7304104dSAndroid Build Coastguard Worker (__libdw_get_uleb128): Simplify and inline for all callers. 2039*7304104dSAndroid Build Coastguard Worker (__libdw_get_sleb128): Ditto. 2040*7304104dSAndroid Build Coastguard Worker * dwarf_getlocation.c (store_implicit_value): Void the unused uleb128. 2041*7304104dSAndroid Build Coastguard Worker * memory-access.c: Delete file. 2042*7304104dSAndroid Build Coastguard Worker * Makefile.am (libdw_a_SOURCES): Remove it. 2043*7304104dSAndroid Build Coastguard Worker (DEFS): Remove the now unused -DIS_LIBDW. 2044*7304104dSAndroid Build Coastguard Worker 2045*7304104dSAndroid Build Coastguard Worker2013-12-09 Josh Stone <[email protected]> 2046*7304104dSAndroid Build Coastguard Worker 2047*7304104dSAndroid Build Coastguard Worker * libdw_form.c (__libdw_form_val_compute_len): Renamed function from 2048*7304104dSAndroid Build Coastguard Worker __libdw_form_val_len, now handling only non-constant form lengths. 2049*7304104dSAndroid Build Coastguard Worker * libdwP.h (__libdw_form_val_len): New inlined function. 2050*7304104dSAndroid Build Coastguard Worker 2051*7304104dSAndroid Build Coastguard Worker2013-12-09 Mark Wielaard <[email protected]> 2052*7304104dSAndroid Build Coastguard Worker 2053*7304104dSAndroid Build Coastguard Worker * dwarf_getlocation.c (__libdw_intern_expression): Handle empty 2054*7304104dSAndroid Build Coastguard Worker location expressions. 2055*7304104dSAndroid Build Coastguard Worker * dwarf_getlocation_attr.c (dwarf_getlocation_attr): When no 2056*7304104dSAndroid Build Coastguard Worker location found, return empty location expression. 2057*7304104dSAndroid Build Coastguard Worker * dwarf_getlocation_implicit_pointer.c 2058*7304104dSAndroid Build Coastguard Worker (dwarf_getlocation_implicit_pointer): Likewise. 2059*7304104dSAndroid Build Coastguard Worker (__libdw_empty_loc_attr): New internal function. 2060*7304104dSAndroid Build Coastguard Worker * libdwP.h (__libdw_empty_loc_attr): Define. 2061*7304104dSAndroid Build Coastguard Worker 2062*7304104dSAndroid Build Coastguard Worker2013-11-27 Mark Wielaard <[email protected]> 2063*7304104dSAndroid Build Coastguard Worker 2064*7304104dSAndroid Build Coastguard Worker * libdw.map (ELFUTILS_0.158): Add dwfl_module_addrsym_elf and 2065*7304104dSAndroid Build Coastguard Worker dwfl_module_getsym_elf. 2066*7304104dSAndroid Build Coastguard Worker 2067*7304104dSAndroid Build Coastguard Worker2013-11-26 Mark Wielaard <[email protected]> 2068*7304104dSAndroid Build Coastguard Worker 2069*7304104dSAndroid Build Coastguard Worker * libdw.map (ELFUTILS_0.156): Move dwfl_attach_state, dwfl_pid, 2070*7304104dSAndroid Build Coastguard Worker dwfl_thread_dwfl, dwfl_thread_tid, dwfl_frame_thread, 2071*7304104dSAndroid Build Coastguard Worker dwfl_thread_state_registers, dwfl_thread_state_register_pc, 2072*7304104dSAndroid Build Coastguard Worker dwfl_getthreads, dwfl_thread_getframes and dwfl_frame_pc to ... 2073*7304104dSAndroid Build Coastguard Worker (ELFUTILS_0.158): ... here. 2074*7304104dSAndroid Build Coastguard Worker 2075*7304104dSAndroid Build Coastguard Worker2013-11-09 Mark Wielaard <[email protected]> 2076*7304104dSAndroid Build Coastguard Worker 2077*7304104dSAndroid Build Coastguard Worker * dwarf_getaranges.c (dwarf_getaranges): Read segment_size and 2078*7304104dSAndroid Build Coastguard Worker check that it is zero. 2079*7304104dSAndroid Build Coastguard Worker 2080*7304104dSAndroid Build Coastguard Worker2013-11-07 Jan Kratochvil <[email protected]> 2081*7304104dSAndroid Build Coastguard Worker 2082*7304104dSAndroid Build Coastguard Worker * cfi.h (struct Dwarf_Frame_s): Make the comment more specific. 2083*7304104dSAndroid Build Coastguard Worker * libdw.map (ELFUTILS_0.156): Add dwfl_attach_state, dwfl_pid, 2084*7304104dSAndroid Build Coastguard Worker dwfl_thread_dwfl, dwfl_thread_tid, dwfl_frame_thread, 2085*7304104dSAndroid Build Coastguard Worker dwfl_thread_state_registers, dwfl_thread_state_register_pc, 2086*7304104dSAndroid Build Coastguard Worker dwfl_getthreads, dwfl_thread_getframes and dwfl_frame_pc. 2087*7304104dSAndroid Build Coastguard Worker 2088*7304104dSAndroid Build Coastguard Worker2013-11-01 Michael Forney <[email protected]> 2089*7304104dSAndroid Build Coastguard Worker 2090*7304104dSAndroid Build Coastguard Worker * Makefile.am (libdwfl_objects): New definition. 2091*7304104dSAndroid Build Coastguard Worker (libdw_a_LIBADD): Use libdwfl_objects. 2092*7304104dSAndroid Build Coastguard Worker 2093*7304104dSAndroid Build Coastguard Worker2013-11-01 Michael Forney <[email protected]> 2094*7304104dSAndroid Build Coastguard Worker 2095*7304104dSAndroid Build Coastguard Worker * Makefile.am: Use READELF. 2096*7304104dSAndroid Build Coastguard Worker 2097*7304104dSAndroid Build Coastguard Worker2013-10-30 Jan Kratochvil <[email protected]> 2098*7304104dSAndroid Build Coastguard Worker 2099*7304104dSAndroid Build Coastguard Worker * libdw.map (ELFUTILS_0.158): New. 2100*7304104dSAndroid Build Coastguard Worker 2101*7304104dSAndroid Build Coastguard Worker2013-10-10 Mark Wielaard <[email protected]> 2102*7304104dSAndroid Build Coastguard Worker 2103*7304104dSAndroid Build Coastguard Worker * dwarf_getfuncs.c (struct visitor_info): Rename start_offset to 2104*7304104dSAndroid Build Coastguard Worker start_addr and rename last_offset to last_addr. Now both void *. 2105*7304104dSAndroid Build Coastguard Worker (tree_visitor): Use start_add and die_addr instead of start_offset 2106*7304104dSAndroid Build Coastguard Worker and die_offset. 2107*7304104dSAndroid Build Coastguard Worker (dwarf_getfuncs): Use last_addr instead of last_offset. 2108*7304104dSAndroid Build Coastguard Worker 2109*7304104dSAndroid Build Coastguard Worker2013-10-06 Mark Wielaard <[email protected]> 2110*7304104dSAndroid Build Coastguard Worker 2111*7304104dSAndroid Build Coastguard Worker * cfi.c (execute_cfi): Make sure DW_CFA_expression and 2112*7304104dSAndroid Build Coastguard Worker DW_CFA_val_expression are not used with abi_cfi. 2113*7304104dSAndroid Build Coastguard Worker 2114*7304104dSAndroid Build Coastguard Worker2013-10-03 Josh Stone <[email protected]> 2115*7304104dSAndroid Build Coastguard Worker 2116*7304104dSAndroid Build Coastguard Worker * dwarf_formref_die.c (dwarf_formref_die): Don't hash the sig8 here. 2117*7304104dSAndroid Build Coastguard Worker * libdw_findcu.c (__libdw_intern_next_unit): Since this never revisits 2118*7304104dSAndroid Build Coastguard Worker a unit, make sure to always hash the sig8 here, so none are missed. 2119*7304104dSAndroid Build Coastguard Worker 2120*7304104dSAndroid Build Coastguard Worker2013-09-29 Mark Wielaard <[email protected]> 2121*7304104dSAndroid Build Coastguard Worker 2122*7304104dSAndroid Build Coastguard Worker * dwarf_getlocation.c (store_implicit_value): Cast op->number2 to 2123*7304104dSAndroid Build Coastguard Worker uintptr_t before casting to char *. 2124*7304104dSAndroid Build Coastguard Worker (__libdw_intern_expression): Cast data to uintptr_t before casting 2125*7304104dSAndroid Build Coastguard Worker to Dwarf_Word. 2126*7304104dSAndroid Build Coastguard Worker * dwarf_getlocation_attr.c (dwarf_getlocation_attr): Cast 2127*7304104dSAndroid Build Coastguard Worker op->number2 to uintptr_t before casting to char *. 2128*7304104dSAndroid Build Coastguard Worker 2129*7304104dSAndroid Build Coastguard Worker2013-09-24 Josh Stone <[email protected]> 2130*7304104dSAndroid Build Coastguard Worker 2131*7304104dSAndroid Build Coastguard Worker * libdw_visit_scopes.c (classify_die): Removed. 2132*7304104dSAndroid Build Coastguard Worker (may_have_scopes): New function to replace classify_die. There's no 2133*7304104dSAndroid Build Coastguard Worker need for full classification; just find tags that may contain scopes. 2134*7304104dSAndroid Build Coastguard Worker (__libdw_visit_scopes): Use a direct tag comparison for imported 2135*7304104dSAndroid Build Coastguard Worker units, and use may_have_scopes to test if recursion is needed. 2136*7304104dSAndroid Build Coastguard Worker 2137*7304104dSAndroid Build Coastguard Worker2013-09-20 Mark Wielaard <[email protected]> 2138*7304104dSAndroid Build Coastguard Worker 2139*7304104dSAndroid Build Coastguard Worker * dwarf_getfuncs.c (visitor_info): New struct. 2140*7304104dSAndroid Build Coastguard Worker (tree_visitor): New function. 2141*7304104dSAndroid Build Coastguard Worker (dwarf_getfuncs): Use __libdw_visit_scopes with tree_visitor. 2142*7304104dSAndroid Build Coastguard Worker * libdw.h (dwarf_getfuncs): Expand function documentation. 2143*7304104dSAndroid Build Coastguard Worker 2144*7304104dSAndroid Build Coastguard Worker2013-09-12 Mark Wielaard <[email protected]> 2145*7304104dSAndroid Build Coastguard Worker 2146*7304104dSAndroid Build Coastguard Worker * fde.c (intern_fde): Free fde and set libdw errno when start 2147*7304104dSAndroid Build Coastguard Worker or end could not be read. 2148*7304104dSAndroid Build Coastguard Worker 2149*7304104dSAndroid Build Coastguard Worker2013-08-24 Mark Wielaard <[email protected]> 2150*7304104dSAndroid Build Coastguard Worker 2151*7304104dSAndroid Build Coastguard Worker * dwarf_getlocation.c (store_implicit_value): Don't take data 2152*7304104dSAndroid Build Coastguard Worker as argument, get block data from op number2. Return false when 2153*7304104dSAndroid Build Coastguard Worker block data length and op number don't match up. 2154*7304104dSAndroid Build Coastguard Worker (__libdw_intern_expression): Store start of block for 2155*7304104dSAndroid Build Coastguard Worker DW_OP_implicit_value and DW_OP_GNU_entry_value instead of 2156*7304104dSAndroid Build Coastguard Worker relative data offset. Also store block start (including length) 2157*7304104dSAndroid Build Coastguard Worker for DW_OP_GNU_const_type. Don't pass data to store_implicit_value. 2158*7304104dSAndroid Build Coastguard Worker * dwarf_getlocation_attr.c: New file. 2159*7304104dSAndroid Build Coastguard Worker * dwarf_getlocation_die.c: Likewise. 2160*7304104dSAndroid Build Coastguard Worker * libdw.h (dwarf_getlocation_die): New function definition. 2161*7304104dSAndroid Build Coastguard Worker (dwarf_getlocation_attr): Likewise. 2162*7304104dSAndroid Build Coastguard Worker * libdwP.h: Declare internal dwarf_getlocation_die. 2163*7304104dSAndroid Build Coastguard Worker * libdw.map (ELFUTILS_0.157): Add dwarf_getlocation_die and 2164*7304104dSAndroid Build Coastguard Worker dwarf_getlocation_attr. 2165*7304104dSAndroid Build Coastguard Worker * Makefile.am (libdw_a_SOURCES): Add dwarf_getlocation_die.c and 2166*7304104dSAndroid Build Coastguard Worker dwarf_getlocation_attr.c. 2167*7304104dSAndroid Build Coastguard Worker 2168*7304104dSAndroid Build Coastguard Worker2013-08-23 Mark Wielaard <[email protected]> 2169*7304104dSAndroid Build Coastguard Worker 2170*7304104dSAndroid Build Coastguard Worker * dwarf_getlocation.c (attr_ok): Also accept DW_AT_segment. 2171*7304104dSAndroid Build Coastguard Worker (attr_base_address): New function. 2172*7304104dSAndroid Build Coastguard Worker (initial_offset_base): New function. 2173*7304104dSAndroid Build Coastguard Worker (getlocations_addr): New function. Taken from... 2174*7304104dSAndroid Build Coastguard Worker (dwarf_getlocation_addr): here. Use new initial_offset_base and 2175*7304104dSAndroid Build Coastguard Worker getlocations_addr. 2176*7304104dSAndroid Build Coastguard Worker (dwarf_getlocations): New function. 2177*7304104dSAndroid Build Coastguard Worker * libdw.h (dwarf_getlocations): New function definition. 2178*7304104dSAndroid Build Coastguard Worker * libdw.map (ELFUTILS_0.157): New. 2179*7304104dSAndroid Build Coastguard Worker 2180*7304104dSAndroid Build Coastguard Worker2013-07-02 Mark Wielaard <[email protected]> 2181*7304104dSAndroid Build Coastguard Worker 2182*7304104dSAndroid Build Coastguard Worker * dwarf_getsrclines.c (dwarf_getsrclines): Add new stack allocation 2183*7304104dSAndroid Build Coastguard Worker limit MAX_STACK_ALLOC. After MAX_STACK_ALLOC lines use malloc in 2184*7304104dSAndroid Build Coastguard Worker NEW_LINE macro. Free malloced line records if any at the end. 2185*7304104dSAndroid Build Coastguard Worker 2186*7304104dSAndroid Build Coastguard Worker2013-07-02 Mark Wielaard <[email protected]> 2187*7304104dSAndroid Build Coastguard Worker 2188*7304104dSAndroid Build Coastguard Worker * dwarf_getcfi_elf.c (getcfi_shdr): Check sh_type == SHT_PROGBITS. 2189*7304104dSAndroid Build Coastguard Worker 2190*7304104dSAndroid Build Coastguard Worker2013-06-26 Mark Wielaard <[email protected]> 2191*7304104dSAndroid Build Coastguard Worker 2192*7304104dSAndroid Build Coastguard Worker * libdw_visit_scopes.c (__libdw_visit_scopes): Don't reject root 2193*7304104dSAndroid Build Coastguard Worker DIEs without children. Return an error whenever dwarf_child or 2194*7304104dSAndroid Build Coastguard Worker dwarf_siblingof return an error. Don't call recurse and increase 2195*7304104dSAndroid Build Coastguard Worker the depth for an imported unit. Walk the children of an imported 2196*7304104dSAndroid Build Coastguard Worker unit as if they are logical children of the parent root DIE. 2197*7304104dSAndroid Build Coastguard Worker 2198*7304104dSAndroid Build Coastguard Worker2013-05-03 Mark Wielaard <[email protected]> 2199*7304104dSAndroid Build Coastguard Worker 2200*7304104dSAndroid Build Coastguard Worker * dwarf_getsrclines.c (dwarf_getsrclines): Only set end_sequence 2201*7304104dSAndroid Build Coastguard Worker when nlinelist > 0. 2202*7304104dSAndroid Build Coastguard Worker 2203*7304104dSAndroid Build Coastguard Worker2013-04-28 Jan Kratochvil <[email protected]> 2204*7304104dSAndroid Build Coastguard Worker 2205*7304104dSAndroid Build Coastguard Worker * libdw.map (ELFUTILS_0.156): New. 2206*7304104dSAndroid Build Coastguard Worker 2207*7304104dSAndroid Build Coastguard Worker2013-04-24 Mark Wielaard <[email protected]> 2208*7304104dSAndroid Build Coastguard Worker 2209*7304104dSAndroid Build Coastguard Worker * Makefile.am: Use AM_CPPFLAGS instead of INCLUDES. 2210*7304104dSAndroid Build Coastguard Worker 2211*7304104dSAndroid Build Coastguard Worker2013-04-10 Mark Wielaard <[email protected]> 2212*7304104dSAndroid Build Coastguard Worker 2213*7304104dSAndroid Build Coastguard Worker * dwarf_formref_die.c (dwarf_formref_die): Reference size is only 2214*7304104dSAndroid Build Coastguard Worker equal to address size when we have a DW_FORM_ref_addr for DWARF 2215*7304104dSAndroid Build Coastguard Worker version 2. 2216*7304104dSAndroid Build Coastguard Worker 2217*7304104dSAndroid Build Coastguard Worker2013-03-25 Mark Wielaard <[email protected]> 2218*7304104dSAndroid Build Coastguard Worker 2219*7304104dSAndroid Build Coastguard Worker * dwarf_getsrclines.c (dwarf_getsrclines): Mark highest address as 2220*7304104dSAndroid Build Coastguard Worker end_sequence. 2221*7304104dSAndroid Build Coastguard Worker 2222*7304104dSAndroid Build Coastguard Worker2013-03-12 Mark Wielaard <[email protected]> 2223*7304104dSAndroid Build Coastguard Worker 2224*7304104dSAndroid Build Coastguard Worker * dwarf_getsrcfiles.c (dwarf_getsrcfiles): Allow DW_TAG_partial_unit. 2225*7304104dSAndroid Build Coastguard Worker * dwarf_getsrclines.c (dwarf_getsrclines): Likewise. 2226*7304104dSAndroid Build Coastguard Worker 2227*7304104dSAndroid Build Coastguard Worker2013-02-15 Mark Wielaard <[email protected]> 2228*7304104dSAndroid Build Coastguard Worker 2229*7304104dSAndroid Build Coastguard Worker * dwarf_formstring.c (dwarf_formstring): Check dbg_ret->sectiondata, 2230*7304104dSAndroid Build Coastguard Worker not dbg->sectiondata. 2231*7304104dSAndroid Build Coastguard Worker 2232*7304104dSAndroid Build Coastguard Worker2013-01-07 Roland McGrath <[email protected]> 2233*7304104dSAndroid Build Coastguard Worker 2234*7304104dSAndroid Build Coastguard Worker * memory-access.h 2235*7304104dSAndroid Build Coastguard Worker [ALLOW_UNALIGNED] (read_8ubyte_unaligned_noncvt): New macro. 2236*7304104dSAndroid Build Coastguard Worker [!ALLOW_UNALIGNED] (read_8ubyte_unaligned_noncvt): New inline function. 2237*7304104dSAndroid Build Coastguard Worker 2238*7304104dSAndroid Build Coastguard Worker2012-12-18 Mark Wielaard <[email protected]> 2239*7304104dSAndroid Build Coastguard Worker 2240*7304104dSAndroid Build Coastguard Worker * dwarf_begin_elf.c (valid_p): Call Dwarf_Sig8_Hash_free if invalid. 2241*7304104dSAndroid Build Coastguard Worker (check_section): Likewise on error. 2242*7304104dSAndroid Build Coastguard Worker (scngrp_read): Likewise. 2243*7304104dSAndroid Build Coastguard Worker (dwarf_begin_elf): Likewise. 2244*7304104dSAndroid Build Coastguard Worker 2245*7304104dSAndroid Build Coastguard Worker2012-10-09 Petr Machata <[email protected]> 2246*7304104dSAndroid Build Coastguard Worker 2247*7304104dSAndroid Build Coastguard Worker * dwarf_getlocation.c (__libdw_intern_expression): Handle 2248*7304104dSAndroid Build Coastguard Worker DW_OP_GNU_parameter_ref, DW_OP_GNU_convert, DW_OP_GNU_reinterpret, 2249*7304104dSAndroid Build Coastguard Worker DW_OP_GNU_regval_type, DW_OP_GNU_entry_value, 2250*7304104dSAndroid Build Coastguard Worker DW_OP_GNU_deref_type, DW_OP_GNU_const_type. 2251*7304104dSAndroid Build Coastguard Worker 2252*7304104dSAndroid Build Coastguard Worker2012-10-08 Jan Kratochvil <[email protected]> 2253*7304104dSAndroid Build Coastguard Worker 2254*7304104dSAndroid Build Coastguard Worker * cfi.c: New include system.h. 2255*7304104dSAndroid Build Coastguard Worker (execute_cfi) (enough_registers): Clear new memory after realloc. 2256*7304104dSAndroid Build Coastguard Worker 2257*7304104dSAndroid Build Coastguard Worker2012-10-08 Jan Kratochvil <[email protected]> 2258*7304104dSAndroid Build Coastguard Worker 2259*7304104dSAndroid Build Coastguard Worker * fde.c (__libdw_find_fde): Change <fde != NULL> to likely. Return 2260*7304104dSAndroid Build Coastguard Worker DWARF_E_NO_MATCH if .eh_frame_hdr points to FDE which is too short for 2261*7304104dSAndroid Build Coastguard Worker searched PC. 2262*7304104dSAndroid Build Coastguard Worker 2263*7304104dSAndroid Build Coastguard Worker2012-10-08 Jan Kratochvil <[email protected]> 2264*7304104dSAndroid Build Coastguard Worker 2265*7304104dSAndroid Build Coastguard Worker * dwarf_getlocation.c (__libdw_intern_expression) <cfap>: Make new 2266*7304104dSAndroid Build Coastguard Worker loclist element DW_OP_call_frame_cfa before decoding the opcodes. 2267*7304104dSAndroid Build Coastguard Worker Remove the later DW_OP_call_frame_cfa push to RESULT. 2268*7304104dSAndroid Build Coastguard Worker 2269*7304104dSAndroid Build Coastguard Worker2012-10-08 Jan Kratochvil <[email protected]> 2270*7304104dSAndroid Build Coastguard Worker 2271*7304104dSAndroid Build Coastguard Worker Code cleanup. 2272*7304104dSAndroid Build Coastguard Worker * fde.c (binary_search_fde): Remove always true <address >= start> 2273*7304104dSAndroid Build Coastguard Worker conditional. Move L initialization upwards. 2274*7304104dSAndroid Build Coastguard Worker 2275*7304104dSAndroid Build Coastguard Worker2012-08-24 Mark Wielaard <[email protected]> 2276*7304104dSAndroid Build Coastguard Worker 2277*7304104dSAndroid Build Coastguard Worker * dwarf_begin_elf.c (check_section): Only probe for dwz multi files 2278*7304104dSAndroid Build Coastguard Worker when ENABLE_DWZ is defined. 2279*7304104dSAndroid Build Coastguard Worker * libdwP.h (__check_build_id): Only declare when ENABLE_DWZ is 2280*7304104dSAndroid Build Coastguard Worker defined. 2281*7304104dSAndroid Build Coastguard Worker 2282*7304104dSAndroid Build Coastguard Worker2012-08-16 Mark Wielaard <[email protected]> 2283*7304104dSAndroid Build Coastguard Worker 2284*7304104dSAndroid Build Coastguard Worker * Makefile.am (EXTRA_DIST): Add known-dwarf.h. 2285*7304104dSAndroid Build Coastguard Worker * dwarf.h (DW_LANG_Go): Update comment. 2286*7304104dSAndroid Build Coastguard Worker (DW_LANG_Mips_Assembler): Likewise. 2287*7304104dSAndroid Build Coastguard Worker 2288*7304104dSAndroid Build Coastguard Worker2012-06-27 Mark Wielaard <[email protected]> 2289*7304104dSAndroid Build Coastguard Worker 2290*7304104dSAndroid Build Coastguard Worker * dwarf.h: Add DW_FORM_GNU_ref_alt and DW_FORM_GNU_strp_alt. 2291*7304104dSAndroid Build Coastguard Worker * dwarf_begin.c (dwarf_begin): Add INTDEF. 2292*7304104dSAndroid Build Coastguard Worker * dwarf_begin_elf.c (__check_build_id): New internal_function. 2293*7304104dSAndroid Build Coastguard Worker (try_debugaltlink): New function. 2294*7304104dSAndroid Build Coastguard Worker (open_debugaltlink): Likewise. 2295*7304104dSAndroid Build Coastguard Worker (check_section): Try open_debugaltlink for .gnu_debugaltlink. 2296*7304104dSAndroid Build Coastguard Worker * dwarf_end.c (dwarf_end): Free the alternative Dwarf descriptor if 2297*7304104dSAndroid Build Coastguard Worker necessary. 2298*7304104dSAndroid Build Coastguard Worker * dwarf_error.c (errmsgs): Add DWARF_E_NO_ALT_DEBUGLINK. 2299*7304104dSAndroid Build Coastguard Worker * dwarf_formref.c (__libdw_formref): Using DW_FORM_GNU_ref_alt 2300*7304104dSAndroid Build Coastguard Worker is an error here. 2301*7304104dSAndroid Build Coastguard Worker * dwarf_formref_die.c (dwarf_formref_die): Handle DW_FORM_GNU_ref_alt. 2302*7304104dSAndroid Build Coastguard Worker * dwarf_formstring.c (dwarf_formstring): Handle DW_FORM_GNU_strp_alt. 2303*7304104dSAndroid Build Coastguard Worker * dwarf_formudata.c (__libdw_formptr): Adjust __libdw_read_offset 2304*7304104dSAndroid Build Coastguard Worker calls. 2305*7304104dSAndroid Build Coastguard Worker * dwarf_getpubnames.c (get_offsets): Adjust __libdw_read_offset call. 2306*7304104dSAndroid Build Coastguard Worker * libdwP.h: Add DWARF_E_NO_ALT_DEBUGLINK. 2307*7304104dSAndroid Build Coastguard Worker (struct Dwarf): Add alt_dwarf and free_alt fields. 2308*7304104dSAndroid Build Coastguard Worker (__libdw_read_offset): Add dbg_ret argument, use to check with 2309*7304104dSAndroid Build Coastguard Worker __libdw_offset_in_section. 2310*7304104dSAndroid Build Coastguard Worker (__check_build_id): New function declaration. 2311*7304104dSAndroid Build Coastguard Worker (dwarf_begin): Define as INTDECL. 2312*7304104dSAndroid Build Coastguard Worker * libdw_form.c (__libdw_form_val_len): Handle DW_FORM_GNU_ref_alt 2313*7304104dSAndroid Build Coastguard Worker and DW_FORM_GNU_strp_alt. 2314*7304104dSAndroid Build Coastguard Worker 2315*7304104dSAndroid Build Coastguard Worker2012-07-19 Mark Wielaard <[email protected]> 2316*7304104dSAndroid Build Coastguard Worker 2317*7304104dSAndroid Build Coastguard Worker * dwarf.h: Add DW_OP_GNU_parameter_ref. 2318*7304104dSAndroid Build Coastguard Worker 2319*7304104dSAndroid Build Coastguard Worker2012-07-24 Mark Wielaard <[email protected]> 2320*7304104dSAndroid Build Coastguard Worker 2321*7304104dSAndroid Build Coastguard Worker * dwarf.h: Correct spelling of DW_LANG_ObjC. 2322*7304104dSAndroid Build Coastguard Worker * dwarf_aggregate_size.c (array_size): Use correct spelling of 2323*7304104dSAndroid Build Coastguard Worker DW_LANG_ObjC. 2324*7304104dSAndroid Build Coastguard Worker 2325*7304104dSAndroid Build Coastguard Worker2012-07-24 Mark Wielaard <[email protected]> 2326*7304104dSAndroid Build Coastguard Worker 2327*7304104dSAndroid Build Coastguard Worker * dwarf.h: Add DW_ATE_UTF. 2328*7304104dSAndroid Build Coastguard Worker 2329*7304104dSAndroid Build Coastguard Worker2012-06-27 Mark Wielaard <[email protected]> 2330*7304104dSAndroid Build Coastguard Worker 2331*7304104dSAndroid Build Coastguard Worker * dwarf.h: Add DW_MACRO_GNU .debug_macro type encodings. 2332*7304104dSAndroid Build Coastguard Worker 2333*7304104dSAndroid Build Coastguard Worker2012-06-26 Mark Wielaard <[email protected]> 2334*7304104dSAndroid Build Coastguard Worker 2335*7304104dSAndroid Build Coastguard Worker * libdwP.h: Add IDX_debug_macro. 2336*7304104dSAndroid Build Coastguard Worker * dwarf.h: Add DW_AT_GNU_macros. 2337*7304104dSAndroid Build Coastguard Worker * dwarf_begin_elf.c (dwarf_scnnames): Add .debug_macro. 2338*7304104dSAndroid Build Coastguard Worker * dwarf_formudata.c (dwarf_formudata): Recognize DW_AT_GNU_macros. 2339*7304104dSAndroid Build Coastguard Worker 2340*7304104dSAndroid Build Coastguard Worker2012-04-27 Mark Wielaard <[email protected]> 2341*7304104dSAndroid Build Coastguard Worker 2342*7304104dSAndroid Build Coastguard Worker * libdw/dwarf_highpc.c (dwarf_highpc): Handle DW_AT_high_pc being 2343*7304104dSAndroid Build Coastguard Worker a constant offset from DW_AT_low_pc. 2344*7304104dSAndroid Build Coastguard Worker 2345*7304104dSAndroid Build Coastguard Worker2012-03-19 Tom Tromey <[email protected]> 2346*7304104dSAndroid Build Coastguard Worker 2347*7304104dSAndroid Build Coastguard Worker * libdw_findcu.c (findcu_cb): Move earlier. 2348*7304104dSAndroid Build Coastguard Worker (__libdw_intern_next_unit): Add new CU to search tree here... 2349*7304104dSAndroid Build Coastguard Worker (__libdw_findcu): ... not here. 2350*7304104dSAndroid Build Coastguard Worker 2351*7304104dSAndroid Build Coastguard Worker2012-01-31 Mark Wielaard <[email protected]> 2352*7304104dSAndroid Build Coastguard Worker 2353*7304104dSAndroid Build Coastguard Worker * dwarf_formudata.c (dwarf_formudata): Handle DW_FORM_sec_offset. 2354*7304104dSAndroid Build Coastguard Worker 2355*7304104dSAndroid Build Coastguard Worker2011-11-31 Mark Wielaard <[email protected]> 2356*7304104dSAndroid Build Coastguard Worker 2357*7304104dSAndroid Build Coastguard Worker * Makefile.am (known-dwarf.h): Run gawk on config/known-dwarf.awk. 2358*7304104dSAndroid Build Coastguard Worker 2359*7304104dSAndroid Build Coastguard Worker2011-07-14 Mark Wielaard <[email protected]> 2360*7304104dSAndroid Build Coastguard Worker 2361*7304104dSAndroid Build Coastguard Worker * libdw.h (dwarf_offdie): Fix documentation to mention .debug_info. 2362*7304104dSAndroid Build Coastguard Worker 2363*7304104dSAndroid Build Coastguard Worker2011-05-16 Jakub Jelinek <[email protected]> 2364*7304104dSAndroid Build Coastguard Worker 2365*7304104dSAndroid Build Coastguard Worker * dwarf.h (DW_OP_GNU_const_type, DW_OP_GNU_regval_type, 2366*7304104dSAndroid Build Coastguard Worker DW_OP_GNU_deref_type, DW_OP_GNU_convert, DW_OP_GNU_reinterpret): 2367*7304104dSAndroid Build Coastguard Worker New. 2368*7304104dSAndroid Build Coastguard Worker 2369*7304104dSAndroid Build Coastguard Worker2011-04-26 Mark Wielaard <[email protected]> 2370*7304104dSAndroid Build Coastguard Worker 2371*7304104dSAndroid Build Coastguard Worker * dwarf_child (dwarf_child): Sanity check end of section against 2372*7304104dSAndroid Build Coastguard Worker cu_data () of die->cu. 2373*7304104dSAndroid Build Coastguard Worker 2374*7304104dSAndroid Build Coastguard Worker2011-03-22 Mark Wielaard <[email protected]> 2375*7304104dSAndroid Build Coastguard Worker 2376*7304104dSAndroid Build Coastguard Worker * dwarf.h: Add DW_TAG_GNU_call_site, 2377*7304104dSAndroid Build Coastguard Worker DW_TAG_GNU_call_site_parameter, 2378*7304104dSAndroid Build Coastguard Worker DW_AT_GNU_call_site_value, 2379*7304104dSAndroid Build Coastguard Worker DW_AT_GNU_call_site_data_value, 2380*7304104dSAndroid Build Coastguard Worker DW_AT_GNU_call_site_target, 2381*7304104dSAndroid Build Coastguard Worker DW_AT_GNU_call_site_target_clobbered, 2382*7304104dSAndroid Build Coastguard Worker DW_AT_GNU_tail_call, 2383*7304104dSAndroid Build Coastguard Worker DW_AT_GNU_all_tail_call_sites, 2384*7304104dSAndroid Build Coastguard Worker DW_AT_GNU_all_call_sites, 2385*7304104dSAndroid Build Coastguard Worker DW_AT_GNU_all_source_call_sites, 2386*7304104dSAndroid Build Coastguard Worker and DW_OP_GNU_entry_value. 2387*7304104dSAndroid Build Coastguard Worker 2388*7304104dSAndroid Build Coastguard Worker2011-03-10 Petr Machata <[email protected]> 2389*7304104dSAndroid Build Coastguard Worker 2390*7304104dSAndroid Build Coastguard Worker * libdw/dwarf_tag.c (__libdw_findabbrev): Reject requests for 2391*7304104dSAndroid Build Coastguard Worker abbreviation with code 0. 2392*7304104dSAndroid Build Coastguard Worker 2393*7304104dSAndroid Build Coastguard Worker2011-03-09 Petr Machata <[email protected]> 2394*7304104dSAndroid Build Coastguard Worker 2395*7304104dSAndroid Build Coastguard Worker * libdw/dwarf_child.c (dwarf_child): Check for section overrun. 2396*7304104dSAndroid Build Coastguard Worker 2397*7304104dSAndroid Build Coastguard Worker2011-02-23 Roland McGrath <[email protected]> 2398*7304104dSAndroid Build Coastguard Worker 2399*7304104dSAndroid Build Coastguard Worker * libdwP.h (struct Dwarf) [USE_ZLIB]: New member sectiondata_gzip_mask. 2400*7304104dSAndroid Build Coastguard Worker Declare __libdw_free_zdata. 2401*7304104dSAndroid Build Coastguard Worker * dwarf_end.c [USE_ZLIB] (__libdw_free_zdata): New function. 2402*7304104dSAndroid Build Coastguard Worker (dwarf_end): Call it. 2403*7304104dSAndroid Build Coastguard Worker 2404*7304104dSAndroid Build Coastguard Worker * dwarf_begin_elf.c (valid_p): Likewise. 2405*7304104dSAndroid Build Coastguard Worker (check_section, scngrp_read): Likewise. 2406*7304104dSAndroid Build Coastguard Worker (check_section) [USE_ZLIB]: Grok .z* flavors of sections. 2407*7304104dSAndroid Build Coastguard Worker 2408*7304104dSAndroid Build Coastguard Worker2010-10-13 Roland McGrath <[email protected]> 2409*7304104dSAndroid Build Coastguard Worker 2410*7304104dSAndroid Build Coastguard Worker * dwarf.h: Add DW_LANG_Go. 2411*7304104dSAndroid Build Coastguard Worker 2412*7304104dSAndroid Build Coastguard Worker2010-10-05 Roland McGrath <[email protected]> 2413*7304104dSAndroid Build Coastguard Worker 2414*7304104dSAndroid Build Coastguard Worker * dwarf_getaranges.c: Use malloc rather than alloca, 2415*7304104dSAndroid Build Coastguard Worker since the total number of elements can be quite huge. 2416*7304104dSAndroid Build Coastguard Worker 2417*7304104dSAndroid Build Coastguard Worker2010-07-26 Roland McGrath <[email protected]> 2418*7304104dSAndroid Build Coastguard Worker 2419*7304104dSAndroid Build Coastguard Worker * dwarf_getlocation_implicit_pointer.c: New file. 2420*7304104dSAndroid Build Coastguard Worker * Makefile.am (libdw_a_SOURCES): Add it. 2421*7304104dSAndroid Build Coastguard Worker * libdw.map (ELFUTILS_0.149): New set. 2422*7304104dSAndroid Build Coastguard Worker Add dwarf_getlocation_implicit_pointer. 2423*7304104dSAndroid Build Coastguard Worker * libdw.h: Declare it. 2424*7304104dSAndroid Build Coastguard Worker 2425*7304104dSAndroid Build Coastguard Worker * dwarf_offdie.c (do_offdie): Renamed to __libdw_offdie, made global. 2426*7304104dSAndroid Build Coastguard Worker (dwarf_offdie, dwarf_offdie_types): Update callers. 2427*7304104dSAndroid Build Coastguard Worker * libdwP.h: Declare it. 2428*7304104dSAndroid Build Coastguard Worker 2429*7304104dSAndroid Build Coastguard Worker * dwarf.h: Add DW_OP_GNU_implicit_pointer. 2430*7304104dSAndroid Build Coastguard Worker * dwarf_getlocation.c (__libdw_intern_expression): Handle it. 2431*7304104dSAndroid Build Coastguard Worker 2432*7304104dSAndroid Build Coastguard Worker2010-08-24 Roland McGrath <[email protected]> 2433*7304104dSAndroid Build Coastguard Worker 2434*7304104dSAndroid Build Coastguard Worker * libdw.map (ELFUTILS_0.149): New set. Add dwfl_dwarf_line. 2435*7304104dSAndroid Build Coastguard Worker 2436*7304104dSAndroid Build Coastguard Worker2010-07-27 Roland McGrath <[email protected]> 2437*7304104dSAndroid Build Coastguard Worker 2438*7304104dSAndroid Build Coastguard Worker * dwarf_formref_die.c: Fix sig8 hash insertion. 2439*7304104dSAndroid Build Coastguard Worker 2440*7304104dSAndroid Build Coastguard Worker2010-06-23 Roland McGrath <[email protected]> 2441*7304104dSAndroid Build Coastguard Worker 2442*7304104dSAndroid Build Coastguard Worker * cfi.c (dwarf_cfi_validate_fde): Function removed. 2443*7304104dSAndroid Build Coastguard Worker * libdw.h: Remove it. 2444*7304104dSAndroid Build Coastguard Worker * libdw.map: Likewise. 2445*7304104dSAndroid Build Coastguard Worker 2446*7304104dSAndroid Build Coastguard Worker2010-06-22 Roland McGrath <[email protected]> 2447*7304104dSAndroid Build Coastguard Worker 2448*7304104dSAndroid Build Coastguard Worker * dwarf_getlocation.c (check_constant_offset): data[48] are constant. 2449*7304104dSAndroid Build Coastguard Worker 2450*7304104dSAndroid Build Coastguard Worker * dwarf_getsrclines.c: Fix signed comparison warning in extended 2451*7304104dSAndroid Build Coastguard Worker opcode parsing. 2452*7304104dSAndroid Build Coastguard Worker 2453*7304104dSAndroid Build Coastguard Worker2010-06-21 Roland McGrath <[email protected]> 2454*7304104dSAndroid Build Coastguard Worker 2455*7304104dSAndroid Build Coastguard Worker * dwarf.h: Add DW_TAG_GNU_* constants. 2456*7304104dSAndroid Build Coastguard Worker 2457*7304104dSAndroid Build Coastguard Worker * memory-access.h (get_sleb128_rest_return): Fix sign extension for 2458*7304104dSAndroid Build Coastguard Worker 10-byte case. 2459*7304104dSAndroid Build Coastguard Worker 2460*7304104dSAndroid Build Coastguard Worker2010-06-20 Roland McGrath <[email protected]> 2461*7304104dSAndroid Build Coastguard Worker 2462*7304104dSAndroid Build Coastguard Worker * libdw_findcu.c (__libdw_findcu): Take new flag argument, 2463*7304104dSAndroid Build Coastguard Worker to search TUs instead of CUs. 2464*7304104dSAndroid Build Coastguard Worker * libdwP.h: Update decl. 2465*7304104dSAndroid Build Coastguard Worker (struct Dwarf): New member tu_tree. 2466*7304104dSAndroid Build Coastguard Worker * dwarf_end.c (dwarf_end): Clean up tu_tree. 2467*7304104dSAndroid Build Coastguard Worker * dwarf_offdie.c (do_offdie): New function, broken out of ... 2468*7304104dSAndroid Build Coastguard Worker (dwarf_offdie): ... here. 2469*7304104dSAndroid Build Coastguard Worker (dwarf_offdie_types): New function. 2470*7304104dSAndroid Build Coastguard Worker * libdw.h: Declare it. 2471*7304104dSAndroid Build Coastguard Worker * libdw.map (ELFUTILS_0.148): Add it. 2472*7304104dSAndroid Build Coastguard Worker 2473*7304104dSAndroid Build Coastguard Worker * libdwP.h (CUDIE): Use cu_data. 2474*7304104dSAndroid Build Coastguard Worker * dwarf_formblock.c: Likewise. 2475*7304104dSAndroid Build Coastguard Worker * dwarf_formref_die.c: Likewise. 2476*7304104dSAndroid Build Coastguard Worker * dwarf_diecu.c: Use CUDIE macro. 2477*7304104dSAndroid Build Coastguard Worker * dwarf_formaddr.c: Use cu_sec_idx. 2478*7304104dSAndroid Build Coastguard Worker 2479*7304104dSAndroid Build Coastguard Worker2010-06-16 Roland McGrath <[email protected]> 2480*7304104dSAndroid Build Coastguard Worker 2481*7304104dSAndroid Build Coastguard Worker * dwarf_formref_die.c: Use dwarf_offdie only for DW_FORM_ref_addr, so 2482*7304104dSAndroid Build Coastguard Worker we don't repeat a CU lookup we've already done. Handle 2483*7304104dSAndroid Build Coastguard Worker DW_FORM_ref_sig8 using sig8_hash table and __libdw_intern_next_unit. 2484*7304104dSAndroid Build Coastguard Worker 2485*7304104dSAndroid Build Coastguard Worker * libdw_findcu.c (__libdw_intern_next_unit): New function, 2486*7304104dSAndroid Build Coastguard Worker broken out of ... 2487*7304104dSAndroid Build Coastguard Worker (__libdw_findcu): ... here. Call it. 2488*7304104dSAndroid Build Coastguard Worker * libdwP.h: Declare it. 2489*7304104dSAndroid Build Coastguard Worker (struct Dwarf): New member next_tu_offset. 2490*7304104dSAndroid Build Coastguard Worker 2491*7304104dSAndroid Build Coastguard Worker * dwarf_sig8_hash.c: New file. 2492*7304104dSAndroid Build Coastguard Worker * dwarf_sig8_hash.h: New file. 2493*7304104dSAndroid Build Coastguard Worker * Makefile.am (libdw_a_SOURCES, noinst_HEADERS): Add them. 2494*7304104dSAndroid Build Coastguard Worker * dwarf_abbrev_hash.c: Include dwarf_sig8_hash.h before 2495*7304104dSAndroid Build Coastguard Worker defining NO_UNDEF. 2496*7304104dSAndroid Build Coastguard Worker * libdwP.h (struct Dwarf): New member sig8_hash. 2497*7304104dSAndroid Build Coastguard Worker * dwarf_begin_elf.c: Call Dwarf_Sig8_Hash_init on it. 2498*7304104dSAndroid Build Coastguard Worker * dwarf_end.c: Call Dwarf_Sig8_Hash_free on it. 2499*7304104dSAndroid Build Coastguard Worker 2500*7304104dSAndroid Build Coastguard Worker * dwarf_nextcu.c (dwarf_next_unit): New function, broken out of ... 2501*7304104dSAndroid Build Coastguard Worker (dwarf_nextcu): ... here. Call it. 2502*7304104dSAndroid Build Coastguard Worker * libdw.h: Declare it. 2503*7304104dSAndroid Build Coastguard Worker * libdwP.h: Add INTDECL. 2504*7304104dSAndroid Build Coastguard Worker * libdw_findcu.c (__libdw_findcu): Use it instead of dwarf_nextcu. 2505*7304104dSAndroid Build Coastguard Worker * libdw.map (ELFUTILS_0.148): New set, add dwarf_next_unit. 2506*7304104dSAndroid Build Coastguard Worker 2507*7304104dSAndroid Build Coastguard Worker * libdwP.h (cu_sec_idx, cu_data): New functions. 2508*7304104dSAndroid Build Coastguard Worker Use .debug_types when CU is a TU. 2509*7304104dSAndroid Build Coastguard Worker * dwarf_cuoffset.c: Use that instead of assuming IDX_debug_info. 2510*7304104dSAndroid Build Coastguard Worker * dwarf_siblingof.c: Likewise. 2511*7304104dSAndroid Build Coastguard Worker * dwarf_formstring.c: Likewise. 2512*7304104dSAndroid Build Coastguard Worker * dwarf_formudata.c (__libdw_formptr, dwarf_formudata): Likewise. 2513*7304104dSAndroid Build Coastguard Worker * dwarf_getlocation.c (dwarf_getlocation): Likewise. 2514*7304104dSAndroid Build Coastguard Worker (dwarf_getlocation_addr): Likewise. 2515*7304104dSAndroid Build Coastguard Worker 2516*7304104dSAndroid Build Coastguard Worker * libdwP.h (struct Dwarf_CU): Add new members type_offset, type_sig8. 2517*7304104dSAndroid Build Coastguard Worker (DIE_OFFSET_FROM_CU_OFFSET): Take flag argument; if true, compute 2518*7304104dSAndroid Build Coastguard Worker .debug_types header size instead of .debug_info header size. 2519*7304104dSAndroid Build Coastguard Worker (CUDIE): Use it. 2520*7304104dSAndroid Build Coastguard Worker * dwarf_diecu.c: Update caller. 2521*7304104dSAndroid Build Coastguard Worker * dwarf_getaranges.c: Likewise. 2522*7304104dSAndroid Build Coastguard Worker * dwarf_nextcu.c: Likewise. 2523*7304104dSAndroid Build Coastguard Worker * libdw_findcu.c (__libdw_findcu): Initialize new members. 2524*7304104dSAndroid Build Coastguard Worker 2525*7304104dSAndroid Build Coastguard Worker * fde.c (fde_by_offset): Renamed to ... 2526*7304104dSAndroid Build Coastguard Worker (__libdw_fde_by_offset): ... this, made global and internal_function. 2527*7304104dSAndroid Build Coastguard Worker Don't take ADDRESS argument. 2528*7304104dSAndroid Build Coastguard Worker (__libdw_find_fde): Update caller. Do address sanity check here. 2529*7304104dSAndroid Build Coastguard Worker * cfi.h: Declare __libdw_fde_by_offset. 2530*7304104dSAndroid Build Coastguard Worker * cfi.c (dwarf_cfi_validate_fde): New function. 2531*7304104dSAndroid Build Coastguard Worker * libdw.h: Declare it. 2532*7304104dSAndroid Build Coastguard Worker * libdw.map (ELFUTILS_0.148): Add it. 2533*7304104dSAndroid Build Coastguard Worker 2534*7304104dSAndroid Build Coastguard Worker * cie.c (intern_new_cie): Canonicalize DW_EH_PE_absptr FDE encoding to 2535*7304104dSAndroid Build Coastguard Worker either DW_EH_PE_udata8 or DW_EH_PE_udata4. 2536*7304104dSAndroid Build Coastguard Worker 2537*7304104dSAndroid Build Coastguard Worker * encoded-value.h (read_encoded_value): Handle DW_EH_PE_indirect. 2538*7304104dSAndroid Build Coastguard Worker Don't assume DW_EH_PE_aligned refers to native address size. 2539*7304104dSAndroid Build Coastguard Worker 2540*7304104dSAndroid Build Coastguard Worker * cfi.c (execute_cfi): Barf on CIE initial instructions changing the 2541*7304104dSAndroid Build Coastguard Worker address. 2542*7304104dSAndroid Build Coastguard Worker 2543*7304104dSAndroid Build Coastguard Worker2010-06-17 Roland McGrath <[email protected]> 2544*7304104dSAndroid Build Coastguard Worker 2545*7304104dSAndroid Build Coastguard Worker * libdwP.h (struct Dwarf_Line_s): Add members isa, discriminator, and 2546*7304104dSAndroid Build Coastguard Worker op_index. 2547*7304104dSAndroid Build Coastguard Worker * dwarf_getsrclines.c (dwarf_getsrclines): Move NEW_FILE macro guts 2548*7304104dSAndroid Build Coastguard Worker into an inner inline function. Set new fields. Check all fields for 2549*7304104dSAndroid Build Coastguard Worker overflow when setting. 2550*7304104dSAndroid Build Coastguard Worker * dwarf_lineisa.c: New file. 2551*7304104dSAndroid Build Coastguard Worker * dwarf_linediscriminator.c: New file. 2552*7304104dSAndroid Build Coastguard Worker * dwarf_lineop_index.c: New file. 2553*7304104dSAndroid Build Coastguard Worker * Makefile.am (libdw_a_SOURCES): Add them. 2554*7304104dSAndroid Build Coastguard Worker * libdw.map (ELFUTILS_0.148): Add them. 2555*7304104dSAndroid Build Coastguard Worker * libdw.h: Declare them. 2556*7304104dSAndroid Build Coastguard Worker 2557*7304104dSAndroid Build Coastguard Worker2010-06-16 Roland McGrath <[email protected]> 2558*7304104dSAndroid Build Coastguard Worker 2559*7304104dSAndroid Build Coastguard Worker * dwarf_next_cfi.c: Fix version 4 return_address_register decoding. 2560*7304104dSAndroid Build Coastguard Worker 2561*7304104dSAndroid Build Coastguard Worker * fde.c (fde_by_offset): Renamed to ... 2562*7304104dSAndroid Build Coastguard Worker (__libdw_fde_by_offset): ... this, made global and internal_function. 2563*7304104dSAndroid Build Coastguard Worker Don't take ADDRESS argument. 2564*7304104dSAndroid Build Coastguard Worker (__libdw_find_fde): Update caller. Do address sanity check here. 2565*7304104dSAndroid Build Coastguard Worker * cfi.h: Declare __libdw_fde_by_offset. 2566*7304104dSAndroid Build Coastguard Worker * cfi.c (dwarf_cfi_validate_fde): New function. 2567*7304104dSAndroid Build Coastguard Worker * libdw.h: Declare it. 2568*7304104dSAndroid Build Coastguard Worker * libdw.map (ELFUTILS_0.148): Add it. 2569*7304104dSAndroid Build Coastguard Worker 2570*7304104dSAndroid Build Coastguard Worker * cie.c (intern_new_cie): Canonicalize DW_EH_PE_absptr FDE encoding to 2571*7304104dSAndroid Build Coastguard Worker either DW_EH_PE_udata8 or DW_EH_PE_udata4. 2572*7304104dSAndroid Build Coastguard Worker 2573*7304104dSAndroid Build Coastguard Worker * encoded-value.h (read_encoded_value): Handle DW_EH_PE_indirect. 2574*7304104dSAndroid Build Coastguard Worker Don't assume DW_EH_PE_aligned refers to native address size. 2575*7304104dSAndroid Build Coastguard Worker 2576*7304104dSAndroid Build Coastguard Worker * cfi.c (execute_cfi): Barf on CIE initial instructions changing the 2577*7304104dSAndroid Build Coastguard Worker address. 2578*7304104dSAndroid Build Coastguard Worker 2579*7304104dSAndroid Build Coastguard Worker2010-06-15 Roland McGrath <[email protected]> 2580*7304104dSAndroid Build Coastguard Worker 2581*7304104dSAndroid Build Coastguard Worker * dwarf_formref.c (__libdw_formref): Diagnose DW_FORM_ref_sig8 like 2582*7304104dSAndroid Build Coastguard Worker DW_FORM_ref_addr. 2583*7304104dSAndroid Build Coastguard Worker * dwarf_formref_die.c (dwarf_formref_die): Diagnose it the same way 2584*7304104dSAndroid Build Coastguard Worker here, since we don't support it yet. 2585*7304104dSAndroid Build Coastguard Worker 2586*7304104dSAndroid Build Coastguard Worker * dwarf_next_cfi.c: Handle version 4 format. 2587*7304104dSAndroid Build Coastguard Worker 2588*7304104dSAndroid Build Coastguard Worker * dwarf_getsrclines.c: Handle version 4 format. 2589*7304104dSAndroid Build Coastguard Worker 2590*7304104dSAndroid Build Coastguard Worker2010-06-01 Roland McGrath <[email protected]> 2591*7304104dSAndroid Build Coastguard Worker 2592*7304104dSAndroid Build Coastguard Worker * libdwP.h: Remove unused IDX_debug_*names, add IDX_debug_types. 2593*7304104dSAndroid Build Coastguard Worker * dwarf_begin_elf.c (dwarf_scnnames): Likewise. 2594*7304104dSAndroid Build Coastguard Worker 2595*7304104dSAndroid Build Coastguard Worker * libdwP.h (CIE_VERSION): Remove unused macro. 2596*7304104dSAndroid Build Coastguard Worker 2597*7304104dSAndroid Build Coastguard Worker * dwarf_getsrclines.c: Fix version field test. 2598*7304104dSAndroid Build Coastguard Worker * libdwP.h (DWARF_VERSION): Remove useless macro. 2599*7304104dSAndroid Build Coastguard Worker 2600*7304104dSAndroid Build Coastguard Worker * dwarf_formudata.c (__libdw_formptr): Fix DW_FORM_sec_offset handling. 2601*7304104dSAndroid Build Coastguard Worker 2602*7304104dSAndroid Build Coastguard Worker * dwarf_formblock.c (dwarf_formblock): Handle DW_FORM_exprloc. 2603*7304104dSAndroid Build Coastguard Worker 2604*7304104dSAndroid Build Coastguard Worker * libdw_findcu.c (__libdw_findcu): Accept version 4. 2605*7304104dSAndroid Build Coastguard Worker 2606*7304104dSAndroid Build Coastguard Worker2010-05-31 Mark Wielaard <[email protected]> 2607*7304104dSAndroid Build Coastguard Worker 2608*7304104dSAndroid Build Coastguard Worker * cfi.h (dwarf_cfi_cie_p): Move definition from here, to .. 2609*7304104dSAndroid Build Coastguard Worker * libdw.h (dwarf_cfi_cie_p): ... here. 2610*7304104dSAndroid Build Coastguard Worker 2611*7304104dSAndroid Build Coastguard Worker2010-05-31 Mark Wielaard <[email protected]> 2612*7304104dSAndroid Build Coastguard Worker 2613*7304104dSAndroid Build Coastguard Worker * dwarf.h: Fix DW_LANG_Python constant. 2614*7304104dSAndroid Build Coastguard Worker 2615*7304104dSAndroid Build Coastguard Worker2010-05-28 Eduardo Santiago <[email protected]> 2616*7304104dSAndroid Build Coastguard Worker 2617*7304104dSAndroid Build Coastguard Worker * dwarf_getlocation.c (dwarf_getlocation): Do attr_ok check first 2618*7304104dSAndroid Build Coastguard Worker thing. 2619*7304104dSAndroid Build Coastguard Worker 2620*7304104dSAndroid Build Coastguard Worker2010-05-27 Roland McGrath <[email protected]> 2621*7304104dSAndroid Build Coastguard Worker 2622*7304104dSAndroid Build Coastguard Worker * dwarf.h: Add DW_AT_enum_class, DW_AT_linkage_name, 2623*7304104dSAndroid Build Coastguard Worker DW_TAG_template_alias, DW_LANG_Python, DW_LNE_set_discriminator. 2624*7304104dSAndroid Build Coastguard Worker 2625*7304104dSAndroid Build Coastguard Worker2010-05-08 Roland McGrath <[email protected]> 2626*7304104dSAndroid Build Coastguard Worker 2627*7304104dSAndroid Build Coastguard Worker * dwarf_getlocation.c (__libdw_intern_expression): Take new argument 2628*7304104dSAndroid Build Coastguard Worker REF_SIZE. Use that to handle DW_OP_call_ref correctly. 2629*7304104dSAndroid Build Coastguard Worker (getlocation): Update caller. 2630*7304104dSAndroid Build Coastguard Worker * dwarf_frame_cfa.c (dwarf_frame_cfa): Likewise. 2631*7304104dSAndroid Build Coastguard Worker * dwarf_frame_register.c (dwarf_frame_register): Likewise. 2632*7304104dSAndroid Build Coastguard Worker * libdwP.h: Update decl. 2633*7304104dSAndroid Build Coastguard Worker 2634*7304104dSAndroid Build Coastguard Worker2010-04-26 Roland McGrath <[email protected]> 2635*7304104dSAndroid Build Coastguard Worker 2636*7304104dSAndroid Build Coastguard Worker * cfi.h (struct Dwarf_Frame_s): Add cfa_invalid alternative in cfa_rule. 2637*7304104dSAndroid Build Coastguard Worker * cfi.c (execute_cfi): Set that instead of doing cfi_assert for 2638*7304104dSAndroid Build Coastguard Worker DW_CFA_def_cfa_{offset*,register} when a non-offset rule is in force. 2639*7304104dSAndroid Build Coastguard Worker * dwarf_frame_cfa.c (dwarf_frame_cfa): Handle cfa_invalid. 2640*7304104dSAndroid Build Coastguard Worker 2641*7304104dSAndroid Build Coastguard Worker * dwarf_getlocation.c (__libdw_intern_expression): Take new arg CFAP. 2642*7304104dSAndroid Build Coastguard Worker Prepend DW_OP_call_frame_cfa if true. 2643*7304104dSAndroid Build Coastguard Worker (getlocation): Update caller. 2644*7304104dSAndroid Build Coastguard Worker * dwarf_frame_cfa.c (dwarf_frame_cfa): Likewise. 2645*7304104dSAndroid Build Coastguard Worker * dwarf_frame_register.c (dwarf_frame_register): Likewise. 2646*7304104dSAndroid Build Coastguard Worker * libdwP.h: Update decl. 2647*7304104dSAndroid Build Coastguard Worker 2648*7304104dSAndroid Build Coastguard Worker2010-04-22 Roland McGrath <[email protected]> 2649*7304104dSAndroid Build Coastguard Worker 2650*7304104dSAndroid Build Coastguard Worker * cfi.c (execute_cfi): Never return without cleanup. 2651*7304104dSAndroid Build Coastguard Worker Free FS on failure. 2652*7304104dSAndroid Build Coastguard Worker (cie_cache_initial_state): Adjust caller to expect that free. 2653*7304104dSAndroid Build Coastguard Worker (__libdw_frame_at_address): Likewise. 2654*7304104dSAndroid Build Coastguard Worker 2655*7304104dSAndroid Build Coastguard Worker2010-03-10 Roland McGrath <[email protected]> 2656*7304104dSAndroid Build Coastguard Worker 2657*7304104dSAndroid Build Coastguard Worker * libdw.map (ELFUTILS_0.146): New set. Add dwfl_core_file_report. 2658*7304104dSAndroid Build Coastguard Worker 2659*7304104dSAndroid Build Coastguard Worker2010-02-15 Roland McGrath <[email protected]> 2660*7304104dSAndroid Build Coastguard Worker 2661*7304104dSAndroid Build Coastguard Worker * Makefile.am: Use config/eu.am for common stuff. 2662*7304104dSAndroid Build Coastguard Worker 2663*7304104dSAndroid Build Coastguard Worker2010-02-02 Mark Wielaard <[email protected]> 2664*7304104dSAndroid Build Coastguard Worker 2665*7304104dSAndroid Build Coastguard Worker * fde.c (intern_fde): Fix length check for sized_augmentation_data. 2666*7304104dSAndroid Build Coastguard Worker 2667*7304104dSAndroid Build Coastguard Worker2010-01-07 Roland McGrath <[email protected]> 2668*7304104dSAndroid Build Coastguard Worker 2669*7304104dSAndroid Build Coastguard Worker * dwarf_getcfi_elf.c (getcfi_phdr): Use elf_getphdrnum. 2670*7304104dSAndroid Build Coastguard Worker 2671*7304104dSAndroid Build Coastguard Worker2010-01-05 Roland McGrath <[email protected]> 2672*7304104dSAndroid Build Coastguard Worker 2673*7304104dSAndroid Build Coastguard Worker * dwarf_aggregate_size.c: New file. 2674*7304104dSAndroid Build Coastguard Worker * Makefile.am (libdw_a_SOURCES): Add it. 2675*7304104dSAndroid Build Coastguard Worker * libdw.h: Declare it. 2676*7304104dSAndroid Build Coastguard Worker * libdwP.h: Add INTDECL. 2677*7304104dSAndroid Build Coastguard Worker * libdw.map (ELFUTILS_0.144): New set. Add dwarf_aggregate_size. 2678*7304104dSAndroid Build Coastguard Worker 2679*7304104dSAndroid Build Coastguard Worker * dwarf_srclang.c: Add INTDEF. 2680*7304104dSAndroid Build Coastguard Worker * libdwP.h: Add INTDECL. 2681*7304104dSAndroid Build Coastguard Worker 2682*7304104dSAndroid Build Coastguard Worker * dwarf.h: Add some more DW_AT_GNU_* types from gcc. 2683*7304104dSAndroid Build Coastguard Worker 2684*7304104dSAndroid Build Coastguard Worker * dwarf.h: Add DW_AT_GNU_vector, DW_AT_GNU_template_name. 2685*7304104dSAndroid Build Coastguard Worker 2686*7304104dSAndroid Build Coastguard Worker2009-11-21 Roland McGrath <[email protected]> 2687*7304104dSAndroid Build Coastguard Worker 2688*7304104dSAndroid Build Coastguard Worker * dwarf_getlocation.c (check_constant_offset): Return 1 for all 2689*7304104dSAndroid Build Coastguard Worker non-constant forms. 2690*7304104dSAndroid Build Coastguard Worker 2691*7304104dSAndroid Build Coastguard Worker2009-10-15 Roland McGrath <[email protected]> 2692*7304104dSAndroid Build Coastguard Worker 2693*7304104dSAndroid Build Coastguard Worker * libdw_form.c (__libdw_form_val_len): Grok DW_FORM_sec_offset, 2694*7304104dSAndroid Build Coastguard Worker DW_FORM_exprloc, DW_FORM_flag_present, and DW_FORM_ref_sig8. 2695*7304104dSAndroid Build Coastguard Worker 2696*7304104dSAndroid Build Coastguard Worker2009-09-17 Roland McGrath <[email protected]> 2697*7304104dSAndroid Build Coastguard Worker 2698*7304104dSAndroid Build Coastguard Worker * dwarf_getlocation.c (dwarf_getlocation_implicit_value): Make OP 2699*7304104dSAndroid Build Coastguard Worker argument a pointer to const. 2700*7304104dSAndroid Build Coastguard Worker * libdw.h: Update decl. 2701*7304104dSAndroid Build Coastguard Worker 2702*7304104dSAndroid Build Coastguard Worker2009-09-10 Roland McGrath <[email protected]> 2703*7304104dSAndroid Build Coastguard Worker 2704*7304104dSAndroid Build Coastguard Worker * dwarf_getlocation.c (store_implicit_value): New function. 2705*7304104dSAndroid Build Coastguard Worker (__libdw_intern_expression): Use it, handle DW_OP_implicit_value. 2706*7304104dSAndroid Build Coastguard Worker (dwarf_getlocation_implicit_value): New function. 2707*7304104dSAndroid Build Coastguard Worker * libdw.h: Declare it. 2708*7304104dSAndroid Build Coastguard Worker * libdw.map (ELFUTILS_0.143): Add it. 2709*7304104dSAndroid Build Coastguard Worker 2710*7304104dSAndroid Build Coastguard Worker2009-09-09 Mark Wielaard <[email protected]> 2711*7304104dSAndroid Build Coastguard Worker 2712*7304104dSAndroid Build Coastguard Worker * dwarf_getcfi.c (dwarf_getcfi): Clear cfi->ebl. 2713*7304104dSAndroid Build Coastguard Worker 2714*7304104dSAndroid Build Coastguard Worker2009-08-21 Josh Stone <[email protected]> 2715*7304104dSAndroid Build Coastguard Worker 2716*7304104dSAndroid Build Coastguard Worker * dwarf_hasattr_integrate.c: Integrate DW_AT_specification too. 2717*7304104dSAndroid Build Coastguard Worker 2718*7304104dSAndroid Build Coastguard Worker2009-08-10 Roland McGrath <[email protected]> 2719*7304104dSAndroid Build Coastguard Worker 2720*7304104dSAndroid Build Coastguard Worker * dwarf_getscopevar.c: Use dwarf_diename. 2721*7304104dSAndroid Build Coastguard Worker 2722*7304104dSAndroid Build Coastguard Worker2009-08-09 Roland McGrath <[email protected]> 2723*7304104dSAndroid Build Coastguard Worker 2724*7304104dSAndroid Build Coastguard Worker * libdw.map (ELFUTILS_0.143): New version set, 2725*7304104dSAndroid Build Coastguard Worker inherits from ELFUTILS_0.142. 2726*7304104dSAndroid Build Coastguard Worker * dwarf_arrayorder.c: Use OLD_VERSION and NEW_VERSION to define an 2727*7304104dSAndroid Build Coastguard Worker alias in the ELFUTILS_0.122 version set and the default in the new set. 2728*7304104dSAndroid Build Coastguard Worker * dwarf_srclang.c: Likewise. 2729*7304104dSAndroid Build Coastguard Worker * dwarf_decl_file.c: Likewise. 2730*7304104dSAndroid Build Coastguard Worker * dwarf_decl_line.c: Likewise. 2731*7304104dSAndroid Build Coastguard Worker * dwarf_decl_column.c: Likewise. 2732*7304104dSAndroid Build Coastguard Worker * dwarf_bytesize.c: Likewise. 2733*7304104dSAndroid Build Coastguard Worker * dwarf_bitsize.c: Likewise. 2734*7304104dSAndroid Build Coastguard Worker * dwarf_bitoffset.c: Likewise. 2735*7304104dSAndroid Build Coastguard Worker 2736*7304104dSAndroid Build Coastguard Worker2009-08-07 Roland McGrath <[email protected]> 2737*7304104dSAndroid Build Coastguard Worker 2738*7304104dSAndroid Build Coastguard Worker * dwarf_arrayorder.c: Use dwarf_attr_integrate. 2739*7304104dSAndroid Build Coastguard Worker * dwarf_srclang.c: Likewise. 2740*7304104dSAndroid Build Coastguard Worker * dwarf_decl_file.c: Likewise. 2741*7304104dSAndroid Build Coastguard Worker * dwarf_decl_line.c (__libdw_attr_intval): Likewise. 2742*7304104dSAndroid Build Coastguard Worker * dwarf_bytesize.c: Likewise. 2743*7304104dSAndroid Build Coastguard Worker * dwarf_bitsize.c: Likewise. 2744*7304104dSAndroid Build Coastguard Worker * dwarf_bitoffset.c: Likewise. 2745*7304104dSAndroid Build Coastguard Worker 2746*7304104dSAndroid Build Coastguard Worker2009-07-22 Roland McGrath <[email protected]> 2747*7304104dSAndroid Build Coastguard Worker 2748*7304104dSAndroid Build Coastguard Worker * dwarf_frame_cfa.c: Change calling convention. 2749*7304104dSAndroid Build Coastguard Worker * libdw.h: Update decl. 2750*7304104dSAndroid Build Coastguard Worker 2751*7304104dSAndroid Build Coastguard Worker * dwarf_frame_register.c: Change calling/return-value convention for 2752*7304104dSAndroid Build Coastguard Worker value-only results and undefined/same_value. 2753*7304104dSAndroid Build Coastguard Worker * libdw.h: Update decl. 2754*7304104dSAndroid Build Coastguard Worker 2755*7304104dSAndroid Build Coastguard Worker * dwarf_getlocation.c (__libdw_intern_expression): Take new bool 2756*7304104dSAndroid Build Coastguard Worker argument, append DW_OP_stack_value if set. Don't take NOPS argument, 2757*7304104dSAndroid Build Coastguard Worker return that value instead. 2758*7304104dSAndroid Build Coastguard Worker (getlocation): Update caller. 2759*7304104dSAndroid Build Coastguard Worker * dwarf_frame_cfa.c: Likewise. 2760*7304104dSAndroid Build Coastguard Worker * libdwP.h: Update decl. 2761*7304104dSAndroid Build Coastguard Worker 2762*7304104dSAndroid Build Coastguard Worker2009-07-21 Roland McGrath <[email protected]> 2763*7304104dSAndroid Build Coastguard Worker 2764*7304104dSAndroid Build Coastguard Worker * dwarf_getsrc_file.c: Ignore a CU that just has no DW_AT_stmt_list. 2765*7304104dSAndroid Build Coastguard Worker Fix loop iteration after skipping a bogus or useless CU. 2766*7304104dSAndroid Build Coastguard Worker 2767*7304104dSAndroid Build Coastguard Worker * dwarf_entry_breakpoints.c: Handle 0 dwarf_errno () as harmless 2768*7304104dSAndroid Build Coastguard Worker absence, not DWARF_E_NO_DEBUG_LINE. 2769*7304104dSAndroid Build Coastguard Worker 2770*7304104dSAndroid Build Coastguard Worker2009-07-20 Roland McGrath <[email protected]> 2771*7304104dSAndroid Build Coastguard Worker 2772*7304104dSAndroid Build Coastguard Worker * dwarf_getlocation.c (__libdw_intern_expression): 2773*7304104dSAndroid Build Coastguard Worker Handle DW_OP_stack_value. 2774*7304104dSAndroid Build Coastguard Worker 2775*7304104dSAndroid Build Coastguard Worker2009-07-16 Roland McGrath <[email protected]> 2776*7304104dSAndroid Build Coastguard Worker 2777*7304104dSAndroid Build Coastguard Worker * dwarf_formudata.c (__libdw_formptr): Handle DW_FORM_sec_offset, 2778*7304104dSAndroid Build Coastguard Worker reject others when CU's version > 3. 2779*7304104dSAndroid Build Coastguard Worker 2780*7304104dSAndroid Build Coastguard Worker * dwarf_formflag.c: Handle DW_FORM_flag_present. 2781*7304104dSAndroid Build Coastguard Worker 2782*7304104dSAndroid Build Coastguard Worker * dwarf.h: Add DW_OP_{implicit,stack}_value from DWARF 4 draft. 2783*7304104dSAndroid Build Coastguard Worker Also DW_TAG_type_unit and DW_TAG_rvalue_reference_type. 2784*7304104dSAndroid Build Coastguard Worker Also DW_AT_signature, DW_AT_main_subprogram, DW_AT_data_bit_offset, 2785*7304104dSAndroid Build Coastguard Worker and DW_AT_const_expr. 2786*7304104dSAndroid Build Coastguard Worker Also DW_FORM_sec_offset, DW_FORM_exprloc, DW_FORM_flag_present, 2787*7304104dSAndroid Build Coastguard Worker and DW_FORM_ref_sig8. 2788*7304104dSAndroid Build Coastguard Worker 2789*7304104dSAndroid Build Coastguard Worker2009-07-15 Roland McGrath <[email protected]> 2790*7304104dSAndroid Build Coastguard Worker 2791*7304104dSAndroid Build Coastguard Worker * dwarf_getlocation.c: Grok DW_OP_form_tls_address, 2792*7304104dSAndroid Build Coastguard Worker DW_OP_GNU_push_tls_address, and DW_OP_bit_piece. 2793*7304104dSAndroid Build Coastguard Worker 2794*7304104dSAndroid Build Coastguard Worker2009-07-13 Roland McGrath <[email protected]> 2795*7304104dSAndroid Build Coastguard Worker 2796*7304104dSAndroid Build Coastguard Worker * dwarf_getlocation.c: Grok DW_OP_call_frame_cfa. 2797*7304104dSAndroid Build Coastguard Worker 2798*7304104dSAndroid Build Coastguard Worker2009-07-08 Roland McGrath <[email protected]> 2799*7304104dSAndroid Build Coastguard Worker 2800*7304104dSAndroid Build Coastguard Worker * libdw.map (ELFUTILS_0.142): Add dwfl_module_dwarf_cfi, 2801*7304104dSAndroid Build Coastguard Worker dwfl_module_eh_cfi. 2802*7304104dSAndroid Build Coastguard Worker 2803*7304104dSAndroid Build Coastguard Worker * libdwP.h (struct Dwarf): Add member `cfi'. 2804*7304104dSAndroid Build Coastguard Worker * dwarf_end.c (dwarf_end): Call __libdw_destroy_frame_cache on it. 2805*7304104dSAndroid Build Coastguard Worker * dwarf_getcfi.c: New file. 2806*7304104dSAndroid Build Coastguard Worker * dwarf_getcfi_elf.c: New file. 2807*7304104dSAndroid Build Coastguard Worker * dwarf_cfi_end.c: New file. 2808*7304104dSAndroid Build Coastguard Worker * dwarf_cfi_addrframe.c: New file. 2809*7304104dSAndroid Build Coastguard Worker * dwarf_frame_cfa.c: New file. 2810*7304104dSAndroid Build Coastguard Worker * dwarf_frame_register.c: New file. 2811*7304104dSAndroid Build Coastguard Worker * dwarf_frame_return_address_register.c: New file. 2812*7304104dSAndroid Build Coastguard Worker * Makefile.am (libdw_a_SOURCES): Add them. 2813*7304104dSAndroid Build Coastguard Worker * unwind.h: Declare those functions. 2814*7304104dSAndroid Build Coastguard Worker * libdw.map (ELFUTILS_0.142): Export them. 2815*7304104dSAndroid Build Coastguard Worker 2816*7304104dSAndroid Build Coastguard Worker * dwarf_getlocation.c (__libdw_intern_expression): New function, 2817*7304104dSAndroid Build Coastguard Worker broken out of ... 2818*7304104dSAndroid Build Coastguard Worker (getlocation): ... here, call it. 2819*7304104dSAndroid Build Coastguard Worker * libdwP.h: Declare it. 2820*7304104dSAndroid Build Coastguard Worker 2821*7304104dSAndroid Build Coastguard Worker * cie.c: New file. 2822*7304104dSAndroid Build Coastguard Worker * fde.c: New file. 2823*7304104dSAndroid Build Coastguard Worker * frame-cache.c: New file. 2824*7304104dSAndroid Build Coastguard Worker * cfi.c: New file. 2825*7304104dSAndroid Build Coastguard Worker * cfi.h: New file. 2826*7304104dSAndroid Build Coastguard Worker * encoded-value.h: New file. 2827*7304104dSAndroid Build Coastguard Worker * Makefile.am (libdw_a_SOURCES, noinst_HEADERS): Add them. 2828*7304104dSAndroid Build Coastguard Worker * libdwP.h: Add DWARF_E_INVALID_CFI to errors enum. 2829*7304104dSAndroid Build Coastguard Worker * dwarf_error.c (errmsgs): Add element for it. 2830*7304104dSAndroid Build Coastguard Worker 2831*7304104dSAndroid Build Coastguard Worker * dwarf_next_cfi.c: New file. 2832*7304104dSAndroid Build Coastguard Worker * Makefile.am (libdw_a_SOURCES): Add it. 2833*7304104dSAndroid Build Coastguard Worker * libdw.h (Dwarf_CIE, Dwarf_FDE, Dwarf_CIE_Entry): New types. 2834*7304104dSAndroid Build Coastguard Worker Declare dwarf_next_cfi. 2835*7304104dSAndroid Build Coastguard Worker * libdw.map (ELFUTILS_0.142): New set, inherits from ELFUTILS_0.136. 2836*7304104dSAndroid Build Coastguard Worker Add dwarf_next_cfi. 2837*7304104dSAndroid Build Coastguard Worker 2838*7304104dSAndroid Build Coastguard Worker * memory-access.h [! ALLOW_UNALIGNED] 2839*7304104dSAndroid Build Coastguard Worker (read_2ubyte_unaligned): Renamed to ... 2840*7304104dSAndroid Build Coastguard Worker (read_2ubyte_unaligned_1): ... this. Take bool rather than Dwarf *. 2841*7304104dSAndroid Build Coastguard Worker (read_2ubyte_unaligned): Define as macro passing dbg->other_byte_order. 2842*7304104dSAndroid Build Coastguard Worker (read_2sbyte_unaligned): Likewise. 2843*7304104dSAndroid Build Coastguard Worker (read_4ubyte_unaligned): Likewise. 2844*7304104dSAndroid Build Coastguard Worker (read_4sbyte_unaligned): Likewise. 2845*7304104dSAndroid Build Coastguard Worker (read_8ubyte_unaligned): Likewise. 2846*7304104dSAndroid Build Coastguard Worker (read_8sbyte_unaligned): Likewise. 2847*7304104dSAndroid Build Coastguard Worker 2848*7304104dSAndroid Build Coastguard Worker * libdwP.h (IDX_eh_frame): Remove it. 2849*7304104dSAndroid Build Coastguard Worker * dwarf_begin_elf.c (dwarf_scnnames): Remove its element. 2850*7304104dSAndroid Build Coastguard Worker 2851*7304104dSAndroid Build Coastguard Worker2009-07-08 Roland McGrath <[email protected]> 2852*7304104dSAndroid Build Coastguard Worker 2853*7304104dSAndroid Build Coastguard Worker * libdwP.h (struct Dwarf_Line_s): Reorder members to pack better. 2854*7304104dSAndroid Build Coastguard Worker 2855*7304104dSAndroid Build Coastguard Worker * dwarf_getlocation.c (check_constant_offset): New function. 2856*7304104dSAndroid Build Coastguard Worker (dwarf_getlocation, dwarf_getlocation_addr): Call it to 2857*7304104dSAndroid Build Coastguard Worker handle DW_AT_data_member_location of data[48] as constant offset. 2858*7304104dSAndroid Build Coastguard Worker 2859*7304104dSAndroid Build Coastguard Worker2009-06-18 Roland McGrath <[email protected]> 2860*7304104dSAndroid Build Coastguard Worker 2861*7304104dSAndroid Build Coastguard Worker * libdwP.h (__libdw_read_address_inc): Constify. 2862*7304104dSAndroid Build Coastguard Worker (__libdw_read_offset_inc): Likewise. 2863*7304104dSAndroid Build Coastguard Worker * dwarf_getaranges.c: Likewise. 2864*7304104dSAndroid Build Coastguard Worker * dwarf_getlocation.c: Likewise. 2865*7304104dSAndroid Build Coastguard Worker * dwarf_getsrclines.c: Likewise. 2866*7304104dSAndroid Build Coastguard Worker * dwarf_nextcu.c: Likewise. 2867*7304104dSAndroid Build Coastguard Worker 2868*7304104dSAndroid Build Coastguard Worker2009-05-05 Petr Machata <[email protected]> 2869*7304104dSAndroid Build Coastguard Worker 2870*7304104dSAndroid Build Coastguard Worker * libdwP.h (__libdw_formptr): Declare new function. 2871*7304104dSAndroid Build Coastguard Worker * dwarf_formudata.c: Implement it here. 2872*7304104dSAndroid Build Coastguard Worker * dwarf_getlocation.c (dwarf_getlocation_addr): 2873*7304104dSAndroid Build Coastguard Worker Call it instead of hand-rolled offset handling code. 2874*7304104dSAndroid Build Coastguard Worker * dwarf_getsrclines.c (dwarf_getsrclines): Likewise. 2875*7304104dSAndroid Build Coastguard Worker * dwarf_ranges.c (dwarf_ranges): Likewise. 2876*7304104dSAndroid Build Coastguard Worker 2877*7304104dSAndroid Build Coastguard Worker2009-05-04 Petr Machata <[email protected]> 2878*7304104dSAndroid Build Coastguard Worker 2879*7304104dSAndroid Build Coastguard Worker * libdwP.h (__libdw_read_begin_end_pair_inc): Declare new function. 2880*7304104dSAndroid Build Coastguard Worker * dwarf_ranges.c: Implement it here. 2881*7304104dSAndroid Build Coastguard Worker (dwarf_ranges): Call it. 2882*7304104dSAndroid Build Coastguard Worker * dwarf_getlocation.c (dwarf_getlocation_addr): Call it also here. 2883*7304104dSAndroid Build Coastguard Worker 2884*7304104dSAndroid Build Coastguard Worker2009-04-23 Petr Machata <[email protected]> 2885*7304104dSAndroid Build Coastguard Worker 2886*7304104dSAndroid Build Coastguard Worker * dwarf_formaddr.c (dwarf_formaddr): Call __libdw_read_* instead 2887*7304104dSAndroid Build Coastguard Worker of read_*ubyte_unaligned. 2888*7304104dSAndroid Build Coastguard Worker * dwarf_formref_die.c (dwarf_formref_die): Likewise. 2889*7304104dSAndroid Build Coastguard Worker * dwarf_formstring.c (dwarf_formstring): Likewise. 2890*7304104dSAndroid Build Coastguard Worker * dwarf_formudate.c (dwarf_formudata): Likewise. 2891*7304104dSAndroid Build Coastguard Worker * dwarf_getaranges.c (dwarf_getaranges): Likewise. 2892*7304104dSAndroid Build Coastguard Worker * dwarf_getlocation.c (dwarf_getlocation_addr): Likewise. 2893*7304104dSAndroid Build Coastguard Worker * dwarf_getpubnames.c (get_offsets): Likewise. 2894*7304104dSAndroid Build Coastguard Worker * dwarf_nextcu.c (dwarf_nextcu): Likewise. 2895*7304104dSAndroid Build Coastguard Worker 2896*7304104dSAndroid Build Coastguard Worker2009-04-23 Petr Machata <[email protected]> 2897*7304104dSAndroid Build Coastguard Worker 2898*7304104dSAndroid Build Coastguard Worker * libdwP.h (__libdw_read_addr_inc, __libdw_read_off_inc, 2899*7304104dSAndroid Build Coastguard Worker __libdw_read_addr, __libdw_read_off): Add four new internal 2900*7304104dSAndroid Build Coastguard Worker functions. 2901*7304104dSAndroid Build Coastguard Worker 2902*7304104dSAndroid Build Coastguard Worker2009-05-07 Roland McGrath <[email protected]> 2903*7304104dSAndroid Build Coastguard Worker 2904*7304104dSAndroid Build Coastguard Worker * dwarf_getmacros.c (dwarf_getmacros): Use absolute section offset in 2905*7304104dSAndroid Build Coastguard Worker return value and OFFSET argument, not CU-relative. Only fetch the 2906*7304104dSAndroid Build Coastguard Worker attribute data when called with OFFSET of 0. 2907*7304104dSAndroid Build Coastguard Worker 2908*7304104dSAndroid Build Coastguard Worker2009-05-07 Petr Machata <[email protected]> 2909*7304104dSAndroid Build Coastguard Worker 2910*7304104dSAndroid Build Coastguard Worker * dwarf_getmacros.c (dwarf_getmacros): Take into account offset in 2911*7304104dSAndroid Build Coastguard Worker DW_AT_macro_info attribute of CU DIE. 2912*7304104dSAndroid Build Coastguard Worker 2913*7304104dSAndroid Build Coastguard Worker2009-04-15 Roland McGrath <[email protected]> 2914*7304104dSAndroid Build Coastguard Worker 2915*7304104dSAndroid Build Coastguard Worker * dwarf.h (DW_CIE_ID): Removed. 2916*7304104dSAndroid Build Coastguard Worker (DW_CIE_ID_32, DW_CIE_ID_64): New constants replace it. 2917*7304104dSAndroid Build Coastguard Worker 2918*7304104dSAndroid Build Coastguard Worker2009-04-01 Roland McGrath <[email protected]> 2919*7304104dSAndroid Build Coastguard Worker 2920*7304104dSAndroid Build Coastguard Worker * dwarf.h: Add DW_CFA_GNU_negative_offset_extended. 2921*7304104dSAndroid Build Coastguard Worker 2922*7304104dSAndroid Build Coastguard Worker2009-01-28 Roland McGrath <[email protected]> 2923*7304104dSAndroid Build Coastguard Worker 2924*7304104dSAndroid Build Coastguard Worker * libdwP.h (struct Dwarf_Line_s): Move out of struct Dwarf_Lines_s 2925*7304104dSAndroid Build Coastguard Worker defn so C++ doesn't scope the name to not match the Dwarf_Line typedef. 2926*7304104dSAndroid Build Coastguard Worker 2927*7304104dSAndroid Build Coastguard Worker * libdwP.h (struct Dwarf_Files_s): Replace dbg field with cu field. 2928*7304104dSAndroid Build Coastguard Worker 2929*7304104dSAndroid Build Coastguard Worker2009-01-26 Roland McGrath <[email protected]> 2930*7304104dSAndroid Build Coastguard Worker 2931*7304104dSAndroid Build Coastguard Worker * dwarf_ranges.c: Return 0 when no ranges or *_pc attrs at all. 2932*7304104dSAndroid Build Coastguard Worker 2933*7304104dSAndroid Build Coastguard Worker2009-01-25 Roland McGrath <[email protected]> 2934*7304104dSAndroid Build Coastguard Worker 2935*7304104dSAndroid Build Coastguard Worker * dwarf_getattrs.c: Correctly skip attribute values when restarting. 2936*7304104dSAndroid Build Coastguard Worker 2937*7304104dSAndroid Build Coastguard Worker2009-01-23 Roland McGrath <[email protected]> 2938*7304104dSAndroid Build Coastguard Worker 2939*7304104dSAndroid Build Coastguard Worker * Makefile.am ($(srcdir)/known-dwarf.h): Target renamed back. 2940*7304104dSAndroid Build Coastguard Worker Put these rules under if MAINTAINER_MODE. 2941*7304104dSAndroid Build Coastguard Worker 2942*7304104dSAndroid Build Coastguard Worker2009-01-22 Roland McGrath <[email protected]> 2943*7304104dSAndroid Build Coastguard Worker 2944*7304104dSAndroid Build Coastguard Worker * dwarf.h: Add DW_OP_GNU_encoded_addr. 2945*7304104dSAndroid Build Coastguard Worker 2946*7304104dSAndroid Build Coastguard Worker2009-01-21 Roland McGrath <[email protected]> 2947*7304104dSAndroid Build Coastguard Worker 2948*7304104dSAndroid Build Coastguard Worker * Makefile.am (CLEANFILES): Renamed to ... 2949*7304104dSAndroid Build Coastguard Worker (MOSTLYCLEANFILES): ... here. 2950*7304104dSAndroid Build Coastguard Worker (CLEANFILES): New variable, add known-dwarf.h. 2951*7304104dSAndroid Build Coastguard Worker 2952*7304104dSAndroid Build Coastguard Worker2009-01-17 Roland McGrath <[email protected]> 2953*7304104dSAndroid Build Coastguard Worker 2954*7304104dSAndroid Build Coastguard Worker * Makefile.am (known-dwarf.h): Target renamed, not in $(srcdir). 2955*7304104dSAndroid Build Coastguard Worker Make it unconditional. 2956*7304104dSAndroid Build Coastguard Worker (BUILT_SOURCES): Updated. 2957*7304104dSAndroid Build Coastguard Worker 2958*7304104dSAndroid Build Coastguard Worker * dwarf.h: Add description comments for DW_LANG_* values. 2959*7304104dSAndroid Build Coastguard Worker 2960*7304104dSAndroid Build Coastguard Worker * Makefile.am [MAINTAINER_MODE] 2961*7304104dSAndroid Build Coastguard Worker ($(srcdir)/known-dwarf.h): New target. 2962*7304104dSAndroid Build Coastguard Worker (BUILT_SOURCES): Add it. 2963*7304104dSAndroid Build Coastguard Worker 2964*7304104dSAndroid Build Coastguard Worker * dwarf.h: Add DW_OP_GNU_push_tls_address, DW_OP_GNU_uninit. 2965*7304104dSAndroid Build Coastguard Worker 2966*7304104dSAndroid Build Coastguard Worker2009-01-10 Ulrich Drepper <[email protected]> 2967*7304104dSAndroid Build Coastguard Worker 2968*7304104dSAndroid Build Coastguard Worker * dwarf_error.c: Always use __thread. Remove all !USE_TLS code. 2969*7304104dSAndroid Build Coastguard Worker 2970*7304104dSAndroid Build Coastguard Worker2009-01-08 Roland McGrath <[email protected]> 2971*7304104dSAndroid Build Coastguard Worker 2972*7304104dSAndroid Build Coastguard Worker * Makefile.am (libdw.so): Don't depend on $(zip_LIBS), just link it in. 2973*7304104dSAndroid Build Coastguard Worker 2974*7304104dSAndroid Build Coastguard Worker2008-01-06 Roland McGrath <[email protected]> 2975*7304104dSAndroid Build Coastguard Worker 2976*7304104dSAndroid Build Coastguard Worker * libdwP.h (struct Dwarf_Abbrev): Change type of 'has_children' to bool. 2977*7304104dSAndroid Build Coastguard Worker Reorder members. 2978*7304104dSAndroid Build Coastguard Worker * dwarf_haschildren.c: Return -1 for error case, not 0. 2979*7304104dSAndroid Build Coastguard Worker 2980*7304104dSAndroid Build Coastguard Worker * Makefile.am (libdw.so): Link in $(zip_LIBS). 2981*7304104dSAndroid Build Coastguard Worker 2982*7304104dSAndroid Build Coastguard Worker2009-01-06 Ulrich Drepper <[email protected]> 2983*7304104dSAndroid Build Coastguard Worker 2984*7304104dSAndroid Build Coastguard Worker * dwarf.h: Add definition for unwind and call frame information. 2985*7304104dSAndroid Build Coastguard Worker 2986*7304104dSAndroid Build Coastguard Worker * memory-access.h: Define read_ubyte_unaligned, read_sbyte_unaligned, 2987*7304104dSAndroid Build Coastguard Worker read_ubyte_unaligned_inc, and read_sbyte_unaligned_inc. 2988*7304104dSAndroid Build Coastguard Worker 2989*7304104dSAndroid Build Coastguard Worker2008-08-15 Roland McGrath <[email protected]> 2990*7304104dSAndroid Build Coastguard Worker 2991*7304104dSAndroid Build Coastguard Worker * libdw.map (ELFUTILS_0.136): New version set, inherits from 2992*7304104dSAndroid Build Coastguard Worker ELFUTILS_0.130. Add dwfl_addrsegment, dwfl_report_segment. 2993*7304104dSAndroid Build Coastguard Worker 2994*7304104dSAndroid Build Coastguard Worker2008-01-21 Ulrich Drepper <[email protected]> 2995*7304104dSAndroid Build Coastguard Worker 2996*7304104dSAndroid Build Coastguard Worker * dwarf_child.c: Minor optimizations. 2997*7304104dSAndroid Build Coastguard Worker * dwarf_getattrs.c: Likewise. 2998*7304104dSAndroid Build Coastguard Worker * dwarf_getpubnames.c: Likewise. 2999*7304104dSAndroid Build Coastguard Worker * dwarf_siblingof.c: Likewise. 3000*7304104dSAndroid Build Coastguard Worker * dwarf_tag.c: Likewise. 3001*7304104dSAndroid Build Coastguard Worker 3002*7304104dSAndroid Build Coastguard Worker2008-01-18 Ulrich Drepper <[email protected]> 3003*7304104dSAndroid Build Coastguard Worker 3004*7304104dSAndroid Build Coastguard Worker * dwarf_getsrclines.c (dwarf_getsrclines): Don't require exact match 3005*7304104dSAndroid Build Coastguard Worker of DWARF_VERSION comparison, just fail if the file's version is newer. 3006*7304104dSAndroid Build Coastguard Worker 3007*7304104dSAndroid Build Coastguard Worker2008-01-17 Nick Clifton <[email protected]> 3008*7304104dSAndroid Build Coastguard Worker 3009*7304104dSAndroid Build Coastguard Worker * dwarf.h (DWARF3_LENGTH_MIN_ESCAPE_CODE): New define. 3010*7304104dSAndroid Build Coastguard Worker (DWARF3_LENGTH_MAX_ESCAPE_CODE): New define. 3011*7304104dSAndroid Build Coastguard Worker (DWARF3_LENGTH_64_BIT): New define. 3012*7304104dSAndroid Build Coastguard Worker * dwarf_getaranges (dwarf_getaranges): Use the new definitions. 3013*7304104dSAndroid Build Coastguard Worker * dwarf_getpubnames: Include dwarf.h. 3014*7304104dSAndroid Build Coastguard Worker (get_offsets): Use the new definitions. 3015*7304104dSAndroid Build Coastguard Worker * dwarf_getsrclines.c (dwarf_getsrclines): Use the new defintions. 3016*7304104dSAndroid Build Coastguard Worker * dwarf_nextcu.c: Include dwarf.h. Correct comment. 3017*7304104dSAndroid Build Coastguard Worker (dwarf_nextcu): Use the new definitions. 3018*7304104dSAndroid Build Coastguard Worker 3019*7304104dSAndroid Build Coastguard Worker * libdwP.h (DIE_OFFSET_FROM_CU_OFFSET): New macro. 3020*7304104dSAndroid Build Coastguard Worker * dwarf_diecu.c (dwarf_diecu): Use the new macro. 3021*7304104dSAndroid Build Coastguard Worker * dwarf_getaranges (dwarf_getaranges): Use the new macro. 3022*7304104dSAndroid Build Coastguard Worker * dwarf_nextcu.c (dwarf_nextcu): Use the new macro. 3023*7304104dSAndroid Build Coastguard Worker 3024*7304104dSAndroid Build Coastguard Worker * dwarf_getpubnames (get_offsets): Replace assertion with test and 3025*7304104dSAndroid Build Coastguard Worker error return. 3026*7304104dSAndroid Build Coastguard Worker 3027*7304104dSAndroid Build Coastguard Worker * dwarf_entry_breakpoints.c (dwarf_entry_breakpoints): Use CUDIE. 3028*7304104dSAndroid Build Coastguard Worker 3029*7304104dSAndroid Build Coastguard Worker * dwarf_siblingof (dwarf_siblingof): Detect a NULL return pointer. 3030*7304104dSAndroid Build Coastguard Worker Set the address in the return structure to the address of the next 3031*7304104dSAndroid Build Coastguard Worker non-sibling die, if there is no sibling and the return pointer is 3032*7304104dSAndroid Build Coastguard Worker not the same as the die pointer. 3033*7304104dSAndroid Build Coastguard Worker * libdw.h: Expand the description of the dwarf_siblingof prototype. 3034*7304104dSAndroid Build Coastguard Worker 3035*7304104dSAndroid Build Coastguard Worker * dwarf_child.c: Fix typo in comment. 3036*7304104dSAndroid Build Coastguard Worker 3037*7304104dSAndroid Build Coastguard Worker * libdwP.h (DWARF_VERSION): Change to 3. 3038*7304104dSAndroid Build Coastguard Worker 3039*7304104dSAndroid Build Coastguard Worker * dwarf_formref.c (__libdw_formref.c): Handle attributes which do 3040*7304104dSAndroid Build Coastguard Worker not have a initialised valp pointer. 3041*7304104dSAndroid Build Coastguard Worker 3042*7304104dSAndroid Build Coastguard Worker * dwarf_getattrs.c (dwarf_getattrs): Return 1 rather than 0 when 3043*7304104dSAndroid Build Coastguard Worker the end of the attributes is reached. When the callback fails, 3044*7304104dSAndroid Build Coastguard Worker return the address of the failing attribute, not the address of 3045*7304104dSAndroid Build Coastguard Worker its successor. 3046*7304104dSAndroid Build Coastguard Worker * libdw.h: Expand the description of the dwarf_getattrs prototype. 3047*7304104dSAndroid Build Coastguard Worker 3048*7304104dSAndroid Build Coastguard Worker * dwarf_child.c (__libdw_find_attr): Use the new definition. 3049*7304104dSAndroid Build Coastguard Worker (dwarf_child): Likewise. 3050*7304104dSAndroid Build Coastguard Worker * dwarf_tag.c (__libdw_findabbrev): Likewise. 3051*7304104dSAndroid Build Coastguard Worker (dwarf_tag): Likewise. 3052*7304104dSAndroid Build Coastguard Worker 3053*7304104dSAndroid Build Coastguard Worker2008-01-08 Roland McGrath <[email protected]> 3054*7304104dSAndroid Build Coastguard Worker 3055*7304104dSAndroid Build Coastguard Worker * Makefile.am (euinclude): Variable removed. 3056*7304104dSAndroid Build Coastguard Worker (pkginclude_HEADERS): Set this instead of euinclude_HEADERS. 3057*7304104dSAndroid Build Coastguard Worker (libdw.so): Pass -Wl,--enable-new-dtags,-rpath,$(pkglibdir). 3058*7304104dSAndroid Build Coastguard Worker 3059*7304104dSAndroid Build Coastguard Worker2007-10-17 Roland McGrath <[email protected]> 3060*7304104dSAndroid Build Coastguard Worker 3061*7304104dSAndroid Build Coastguard Worker * libdw.h (__deprecated_attribute__): New macro. 3062*7304104dSAndroid Build Coastguard Worker (dwarf_formref): Mark it deprecated. 3063*7304104dSAndroid Build Coastguard Worker * dwarf_formref.c (__libdw_formref): New function, broken out of ... 3064*7304104dSAndroid Build Coastguard Worker (dwarf_formref): ... here. Call it. Remove INTDEF. 3065*7304104dSAndroid Build Coastguard Worker * libdwP.h: Remove INTDECL. 3066*7304104dSAndroid Build Coastguard Worker Declare __libdw_formref. 3067*7304104dSAndroid Build Coastguard Worker * dwarf_siblingof.c (dwarf_siblingof): Call __libdw_formref instead. 3068*7304104dSAndroid Build Coastguard Worker * dwarf_formref_die.c: Likewise. Handle DW_FORM_ref_addr here. 3069*7304104dSAndroid Build Coastguard Worker 3070*7304104dSAndroid Build Coastguard Worker * libdw_form.c (__libdw_form_val_len): Fix DW_FORM_ref_addr result, 3071*7304104dSAndroid Build Coastguard Worker needs to check CU->version. 3072*7304104dSAndroid Build Coastguard Worker 3073*7304104dSAndroid Build Coastguard Worker * libdwP.h (struct Dwarf_CU): New member `version'. 3074*7304104dSAndroid Build Coastguard Worker * libdw_findcu.c (__libdw_findcu): Initialize it. 3075*7304104dSAndroid Build Coastguard Worker 3076*7304104dSAndroid Build Coastguard Worker * dwarf_child.c: Return 1 for null entry as first child. 3077*7304104dSAndroid Build Coastguard Worker 3078*7304104dSAndroid Build Coastguard Worker2007-10-05 Roland McGrath <[email protected]> 3079*7304104dSAndroid Build Coastguard Worker 3080*7304104dSAndroid Build Coastguard Worker * dwarf_begin_elf.c (check_section): Punt on SHT_NOBITS sections. 3081*7304104dSAndroid Build Coastguard Worker 3082*7304104dSAndroid Build Coastguard Worker * libdw.h (__extern_inline): Rename to __libdw_extern_inline. 3083*7304104dSAndroid Build Coastguard Worker [__OPTIMIZE__] (dwarf_whatattr, dwarf_whatform): Update uses. 3084*7304104dSAndroid Build Coastguard Worker 3085*7304104dSAndroid Build Coastguard Worker2007-10-03 Roland McGrath <[email protected]> 3086*7304104dSAndroid Build Coastguard Worker 3087*7304104dSAndroid Build Coastguard Worker * libdw.map (ELFUTILS_0.130: Add dwfl_build_id_find_elf 3088*7304104dSAndroid Build Coastguard Worker and dwfl_build_id_find_debuginfo. 3089*7304104dSAndroid Build Coastguard Worker 3090*7304104dSAndroid Build Coastguard Worker * libdw.map (ELFUTILS_0.130): New version set, inherits from 3091*7304104dSAndroid Build Coastguard Worker ELFUTILS_0.127. Add dwfl_module_build_id, dwfl_module_report_build_id. 3092*7304104dSAndroid Build Coastguard Worker 3093*7304104dSAndroid Build Coastguard Worker2007-10-02 Roland McGrath <[email protected]> 3094*7304104dSAndroid Build Coastguard Worker 3095*7304104dSAndroid Build Coastguard Worker * libdw_visit_scopes.c (classify_die): Return walk for class_type and 3096*7304104dSAndroid Build Coastguard Worker structure_type. 3097*7304104dSAndroid Build Coastguard Worker 3098*7304104dSAndroid Build Coastguard Worker2007-08-07 Roland McGrath <[email protected]> 3099*7304104dSAndroid Build Coastguard Worker 3100*7304104dSAndroid Build Coastguard Worker * dwarf_getscopes.c (pc_match): Swallow dwarf_haspc error return when 3101*7304104dSAndroid Build Coastguard Worker error code is DWARF_E_NOERROR (0). 3102*7304104dSAndroid Build Coastguard Worker 3103*7304104dSAndroid Build Coastguard Worker * dwarf_getscopes.c (pc_record): Always bail early if DIE->prune. 3104*7304104dSAndroid Build Coastguard Worker Fix typo in __libdw_visit_scopes argument. 3105*7304104dSAndroid Build Coastguard Worker 3106*7304104dSAndroid Build Coastguard Worker * dwarf_getscopes.c (pc_match): Check dwarf_haspc error return, 3107*7304104dSAndroid Build Coastguard Worker swallow DWARF_E_NO_DEBUG_RANGES but not other errors. 3108*7304104dSAndroid Build Coastguard Worker 3109*7304104dSAndroid Build Coastguard Worker2007-07-03 Roland McGrath <[email protected]> 3110*7304104dSAndroid Build Coastguard Worker 3111*7304104dSAndroid Build Coastguard Worker * libdw.h (__extern_inline): New macro. 3112*7304104dSAndroid Build Coastguard Worker [__OPTIMIZE__] (dwarf_whatattr, dwarf_whatform): Use it. 3113*7304104dSAndroid Build Coastguard Worker 3114*7304104dSAndroid Build Coastguard Worker2007-04-16 Roland McGrath <[email protected]> 3115*7304104dSAndroid Build Coastguard Worker 3116*7304104dSAndroid Build Coastguard Worker * libdw.map (ELFUTILS_0.127): Add dwfl_module_address_section. 3117*7304104dSAndroid Build Coastguard Worker 3118*7304104dSAndroid Build Coastguard Worker2007-04-05 Roland McGrath <[email protected]> 3119*7304104dSAndroid Build Coastguard Worker 3120*7304104dSAndroid Build Coastguard Worker * dwarf_getsrcdirs.c: New file. 3121*7304104dSAndroid Build Coastguard Worker * Makefile.am (libdw_a_SOURCES): Add it. 3122*7304104dSAndroid Build Coastguard Worker * libdw.h: Declare dwarf_getsrcdirs. 3123*7304104dSAndroid Build Coastguard Worker * libdw.map (ELFUTILS_0.127): Add it. 3124*7304104dSAndroid Build Coastguard Worker 3125*7304104dSAndroid Build Coastguard Worker * libdwP.h (struct Dwarf_Files_s): New member ndirs. 3126*7304104dSAndroid Build Coastguard Worker * dwarf_getsrclines.c (dwarf_getsrclines): Don't clobber NDIRLIST to 3127*7304104dSAndroid Build Coastguard Worker zero before we use it to check for DWARF_E_INVALID_DIR_IDX. 3128*7304104dSAndroid Build Coastguard Worker Save DIRARRAY in the Dwarf_Files. 3129*7304104dSAndroid Build Coastguard Worker 3130*7304104dSAndroid Build Coastguard Worker * dwarf_ranges.c (dwarf_ranges): Don't sign-extend 32-bit BEGIN 3131*7304104dSAndroid Build Coastguard Worker address to check for all-ones base address entry. Check directly. 3132*7304104dSAndroid Build Coastguard Worker Reported by Sébastien Dugué <[email protected]>. 3133*7304104dSAndroid Build Coastguard Worker 3134*7304104dSAndroid Build Coastguard Worker2007-03-25 Roland McGrath <[email protected]> 3135*7304104dSAndroid Build Coastguard Worker 3136*7304104dSAndroid Build Coastguard Worker * dwarf_begin_elf.c (check_section): Return Dwarf * instead of void. 3137*7304104dSAndroid Build Coastguard Worker Return NULL when freeing RESULT on error. 3138*7304104dSAndroid Build Coastguard Worker (global_read, scngrp_read): Check return value from check_section, 3139*7304104dSAndroid Build Coastguard Worker break out of loop after it has freed RESULT. 3140*7304104dSAndroid Build Coastguard Worker (valid_p): Handle null argument. 3141*7304104dSAndroid Build Coastguard Worker 3142*7304104dSAndroid Build Coastguard Worker2007-03-12 Roland McGrath <[email protected]> 3143*7304104dSAndroid Build Coastguard Worker 3144*7304104dSAndroid Build Coastguard Worker * libdw.map (ELFUTILS_0.127): Add dwfl_report_begin_add. 3145*7304104dSAndroid Build Coastguard Worker 3146*7304104dSAndroid Build Coastguard Worker2007-03-04 Roland McGrath <[email protected]> 3147*7304104dSAndroid Build Coastguard Worker 3148*7304104dSAndroid Build Coastguard Worker * libdw.map (ELFUTILS_0.127): New version set, inherits from 3149*7304104dSAndroid Build Coastguard Worker ELFUTILS_0.126. Add dwfl_module_addrsym. 3150*7304104dSAndroid Build Coastguard Worker 3151*7304104dSAndroid Build Coastguard Worker2007-02-10 Roland McGrath <[email protected]> 3152*7304104dSAndroid Build Coastguard Worker 3153*7304104dSAndroid Build Coastguard Worker * dwarf.h (DW_OP_fbreg): Comment fix. 3154*7304104dSAndroid Build Coastguard Worker 3155*7304104dSAndroid Build Coastguard Worker2007-02-03 Roland McGrath <[email protected]> 3156*7304104dSAndroid Build Coastguard Worker 3157*7304104dSAndroid Build Coastguard Worker * dwarf_getelf.c (dwarf_getelf): Renamed from dwarf_get_elf. 3158*7304104dSAndroid Build Coastguard Worker * libdw.map (ELFUTILS_0.126): New version set, inherits from 3159*7304104dSAndroid Build Coastguard Worker ELFUTILS_0.122. Move dwarf_getelf there; it was never truly 3160*7304104dSAndroid Build Coastguard Worker exported in the past. 3161*7304104dSAndroid Build Coastguard Worker 3162*7304104dSAndroid Build Coastguard Worker2006-12-17 Roland McGrath <[email protected]> 3163*7304104dSAndroid Build Coastguard Worker 3164*7304104dSAndroid Build Coastguard Worker * dwarf_getlocation.c (dwarf_getlocation_addr): Use zero as base 3165*7304104dSAndroid Build Coastguard Worker address when the CU is missing attributes due to buggy GCC. 3166*7304104dSAndroid Build Coastguard Worker 3167*7304104dSAndroid Build Coastguard Worker2006-08-29 Roland McGrath <[email protected]> 3168*7304104dSAndroid Build Coastguard Worker 3169*7304104dSAndroid Build Coastguard Worker * Makefile.am (CLEANFILES): Add libdw.so.$(VERSION). 3170*7304104dSAndroid Build Coastguard Worker 3171*7304104dSAndroid Build Coastguard Worker * libdw.h (dwarf_diecu): Add __nonnull_attribute__. 3172*7304104dSAndroid Build Coastguard Worker (dwarf_child): Don't list arg 1 in __nonnull_attribute__. 3173*7304104dSAndroid Build Coastguard Worker 3174*7304104dSAndroid Build Coastguard Worker * libdw_alloc.c (__libdw_allocate): Take new ALIGN argument, make sure 3175*7304104dSAndroid Build Coastguard Worker result is aligned. Adjust NEWP->remaining here for this allocation. 3176*7304104dSAndroid Build Coastguard Worker * libdwP.h: Update decl. 3177*7304104dSAndroid Build Coastguard Worker (libdw_alloc): Update caller. 3178*7304104dSAndroid Build Coastguard Worker 3179*7304104dSAndroid Build Coastguard Worker2006-07-12 Ulrich Drepper <[email protected]> 3180*7304104dSAndroid Build Coastguard Worker 3181*7304104dSAndroid Build Coastguard Worker * dwarf_child.c: Adjust for internal_function_def removal. 3182*7304104dSAndroid Build Coastguard Worker * dwarf_getabbrev.c: Likewise. 3183*7304104dSAndroid Build Coastguard Worker * dwarf_tag.c: Likewise. 3184*7304104dSAndroid Build Coastguard Worker * libdw_form.c: Likewise. 3185*7304104dSAndroid Build Coastguard Worker * memory-access.c: Likewise. 3186*7304104dSAndroid Build Coastguard Worker 3187*7304104dSAndroid Build Coastguard Worker2006-06-28 Roland McGrath <[email protected]> 3188*7304104dSAndroid Build Coastguard Worker 3189*7304104dSAndroid Build Coastguard Worker * libdw.map: Export dwfl_linecu, dwfl_line_comp_dir. 3190*7304104dSAndroid Build Coastguard Worker 3191*7304104dSAndroid Build Coastguard Worker * libdw.map: Bump to 0.122; export dwfl_module_getsymtab and 3192*7304104dSAndroid Build Coastguard Worker dwfl_module_getsym. 3193*7304104dSAndroid Build Coastguard Worker 3194*7304104dSAndroid Build Coastguard Worker2006-05-27 Ulrich Drepper <[email protected]> 3195*7304104dSAndroid Build Coastguard Worker 3196*7304104dSAndroid Build Coastguard Worker * libdw.h: Add extern "C". 3197*7304104dSAndroid Build Coastguard Worker 3198*7304104dSAndroid Build Coastguard Worker2006-05-22 Ulrich Drepper <[email protected]> 3199*7304104dSAndroid Build Coastguard Worker 3200*7304104dSAndroid Build Coastguard Worker * dwarf_getaranges.c (dwarf_getaranges): Handle files without 3201*7304104dSAndroid Build Coastguard Worker aranges information. 3202*7304104dSAndroid Build Coastguard Worker 3203*7304104dSAndroid Build Coastguard Worker2006-05-21 Ulrich Drepper <[email protected]> 3204*7304104dSAndroid Build Coastguard Worker 3205*7304104dSAndroid Build Coastguard Worker * libdw.h: Add nonnull attributes to dwarf_tag, dwarf_getattrs, 3206*7304104dSAndroid Build Coastguard Worker dwarf_haschildren. 3207*7304104dSAndroid Build Coastguard Worker 3208*7304104dSAndroid Build Coastguard Worker2006-02-28 Roland McGrath <[email protected]> 3209*7304104dSAndroid Build Coastguard Worker 3210*7304104dSAndroid Build Coastguard Worker * dwarf.h: Add missing DW_ATE_*, DW_TAG_*, DW_LANG_*, DW_CFA_*, 3211*7304104dSAndroid Build Coastguard Worker DW_OP_* values, to match DWARF 3.0. Add new DW_DS_*, DW_END_* 3212*7304104dSAndroid Build Coastguard Worker values from DWARF 3.0. 3213*7304104dSAndroid Build Coastguard Worker 3214*7304104dSAndroid Build Coastguard Worker2006-02-22 Roland McGrath <[email protected]> 3215*7304104dSAndroid Build Coastguard Worker 3216*7304104dSAndroid Build Coastguard Worker * libdw.map: Bump to 0.120; export dwfl_version. 3217*7304104dSAndroid Build Coastguard Worker 3218*7304104dSAndroid Build Coastguard Worker2005-12-22 Roland McGrath <[email protected]> 3219*7304104dSAndroid Build Coastguard Worker 3220*7304104dSAndroid Build Coastguard Worker * libdw.map: Bump to 0.119; export dwfl_linux_proc_maps_report. 3221*7304104dSAndroid Build Coastguard Worker 3222*7304104dSAndroid Build Coastguard Worker2005-12-12 Roland McGrath <[email protected]> 3223*7304104dSAndroid Build Coastguard Worker 3224*7304104dSAndroid Build Coastguard Worker * dwarf_ranges.c: Copy CU base address-finding code from 3225*7304104dSAndroid Build Coastguard Worker dwarf_getlocation. 3226*7304104dSAndroid Build Coastguard Worker 3227*7304104dSAndroid Build Coastguard Worker2005-12-09 Roland McGrath <[email protected]> 3228*7304104dSAndroid Build Coastguard Worker 3229*7304104dSAndroid Build Coastguard Worker * dwarf_getlocation.c (dwarf_getlocation_addr): Add some unlikelys. 3230*7304104dSAndroid Build Coastguard Worker Delay CU base lookup until it's needed. 3231*7304104dSAndroid Build Coastguard Worker If CU base lookup fails with no error, flag invalid DWARF. 3232*7304104dSAndroid Build Coastguard Worker 3233*7304104dSAndroid Build Coastguard Worker2005-11-25 Roland McGrath <[email protected]> 3234*7304104dSAndroid Build Coastguard Worker 3235*7304104dSAndroid Build Coastguard Worker * libdw.map: Bump to 0.118; export dwfl_module_register_names. 3236*7304104dSAndroid Build Coastguard Worker 3237*7304104dSAndroid Build Coastguard Worker2005-11-15 Roland McGrath <[email protected]> 3238*7304104dSAndroid Build Coastguard Worker 3239*7304104dSAndroid Build Coastguard Worker * Makefile.am [BUILD_STATIC] (AM_CFLAGS): Add -fpic. 3240*7304104dSAndroid Build Coastguard Worker 3241*7304104dSAndroid Build Coastguard Worker2005-11-13 Roland McGrath <[email protected]> 3242*7304104dSAndroid Build Coastguard Worker 3243*7304104dSAndroid Build Coastguard Worker * libdw.map: Bump to 0.117; export dwfl_module_return_value_location. 3244*7304104dSAndroid Build Coastguard Worker 3245*7304104dSAndroid Build Coastguard Worker2005-10-27 Roland McGrath <[email protected]> 3246*7304104dSAndroid Build Coastguard Worker 3247*7304104dSAndroid Build Coastguard Worker * dwarf_entry_breakpoints.c (search_range): Fix binary search code; 3248*7304104dSAndroid Build Coastguard Worker don't match end_sequence markers. 3249*7304104dSAndroid Build Coastguard Worker 3250*7304104dSAndroid Build Coastguard Worker * dwarf_getsrclines.c (compare_lines): Sort end_sequence markers 3251*7304104dSAndroid Build Coastguard Worker before normal records at the same address. 3252*7304104dSAndroid Build Coastguard Worker * dwarf_getsrc_die.c (dwarf_getsrc_die): Don't match an end_sequence 3253*7304104dSAndroid Build Coastguard Worker marker. 3254*7304104dSAndroid Build Coastguard Worker 3255*7304104dSAndroid Build Coastguard Worker2005-10-26 Roland McGrath <[email protected]> 3256*7304104dSAndroid Build Coastguard Worker 3257*7304104dSAndroid Build Coastguard Worker * dwarf_getfuncs.c (dwarf_getfuncs): Use Dwarf_Die, not Dwarf_Func. 3258*7304104dSAndroid Build Coastguard Worker * dwarf_func_file.c: Renamed to ... 3259*7304104dSAndroid Build Coastguard Worker * dwarf_decl_file.c: ... here. 3260*7304104dSAndroid Build Coastguard Worker * dwarf_func_col.c: Renamed to ... 3261*7304104dSAndroid Build Coastguard Worker * dwarf_decl_column.c: ... here. 3262*7304104dSAndroid Build Coastguard Worker * dwarf_func_line.c: Renamed to ... 3263*7304104dSAndroid Build Coastguard Worker * dwarf_decl_line.c: ... here. 3264*7304104dSAndroid Build Coastguard Worker (dwarf_func_line): Renamed to ... 3265*7304104dSAndroid Build Coastguard Worker (dwarf_decl_line): ... this. Take a Dwarf_Die * argument. 3266*7304104dSAndroid Build Coastguard Worker (__libdw_func_intval): Renamed __libdw_attr_intval. 3267*7304104dSAndroid Build Coastguard Worker * dwarf_func_name.c: File removed. 3268*7304104dSAndroid Build Coastguard Worker * dwarf_func_lowpc.c: File removed. 3269*7304104dSAndroid Build Coastguard Worker * dwarf_func_highpc.c: File removed. 3270*7304104dSAndroid Build Coastguard Worker * dwarf_func_entrypc.c: File removed. 3271*7304104dSAndroid Build Coastguard Worker * dwarf_func_die.c: File removed. 3272*7304104dSAndroid Build Coastguard Worker * Makefile.am (libdw_a_SOURCES): Updated. 3273*7304104dSAndroid Build Coastguard Worker * libdw.h: Update decls. 3274*7304104dSAndroid Build Coastguard Worker (Dwarf_Func): Type removed. 3275*7304104dSAndroid Build Coastguard Worker * libdwP.h: Update decls. 3276*7304104dSAndroid Build Coastguard Worker (struct Dwarf_Func_s): Type removed. 3277*7304104dSAndroid Build Coastguard Worker * libdw.map: Updated. 3278*7304104dSAndroid Build Coastguard Worker 3279*7304104dSAndroid Build Coastguard Worker * libdwP.h (CUDIE): New macro. 3280*7304104dSAndroid Build Coastguard Worker * dwarf_getlocation.c (dwarf_getlocation_addr): Use it. 3281*7304104dSAndroid Build Coastguard Worker * dwarf_getscopes_die.c (dwarf_getscopes_die): Likewise. 3282*7304104dSAndroid Build Coastguard Worker * dwarf_ranges.c (dwarf_ranges): Likewise. 3283*7304104dSAndroid Build Coastguard Worker 3284*7304104dSAndroid Build Coastguard Worker * dwarf_getloclist.c: Renamed to ... 3285*7304104dSAndroid Build Coastguard Worker * dwarf_getlocation.c: ... here. 3286*7304104dSAndroid Build Coastguard Worker (getloclist): Renamed to getlocation. 3287*7304104dSAndroid Build Coastguard Worker (dwarf_getloclist): Renamed to dwarf_getlocation. 3288*7304104dSAndroid Build Coastguard Worker (dwarf_addrloclists): Renamed to dwarf_getlocation_addr. 3289*7304104dSAndroid Build Coastguard Worker * Makefile.am (libdw_a_SOURCES): Updated. 3290*7304104dSAndroid Build Coastguard Worker * libdw.h (dwarf_getloclist): Renamed to dwarf_getlocation. 3291*7304104dSAndroid Build Coastguard Worker (dwarf_addrloclists): Renamed dwarf_getlocation_addr. 3292*7304104dSAndroid Build Coastguard Worker (Dwarf_Loc): Renamed Dwarf_Op. 3293*7304104dSAndroid Build Coastguard Worker * libdwP.h (struct loc_s): Update use. 3294*7304104dSAndroid Build Coastguard Worker * libdw.map: Update map. 3295*7304104dSAndroid Build Coastguard Worker 3296*7304104dSAndroid Build Coastguard Worker * dwarf_entry_breakpoints.c: Use the second line record within the 3297*7304104dSAndroid Build Coastguard Worker function, regardless of its source location data. 3298*7304104dSAndroid Build Coastguard Worker 3299*7304104dSAndroid Build Coastguard Worker2005-10-25 Roland McGrath <[email protected]> 3300*7304104dSAndroid Build Coastguard Worker 3301*7304104dSAndroid Build Coastguard Worker * dwarf_entry_breakpoints.c: Fall back to entrypc for contiguous too. 3302*7304104dSAndroid Build Coastguard Worker 3303*7304104dSAndroid Build Coastguard Worker * libdw.map: Add dwarf_entrypc, dwarf_entry_breakpoints. 3304*7304104dSAndroid Build Coastguard Worker 3305*7304104dSAndroid Build Coastguard Worker2005-10-14 Roland McGrath <[email protected]> 3306*7304104dSAndroid Build Coastguard Worker 3307*7304104dSAndroid Build Coastguard Worker * dwarf_diecu.c (dwarf_diecu): New file. 3308*7304104dSAndroid Build Coastguard Worker * Makefile.am (libdw_a_SOURCES): Add it. 3309*7304104dSAndroid Build Coastguard Worker * libdw.h: Declare dwarf_diecu. 3310*7304104dSAndroid Build Coastguard Worker * libdw.map: Export it. 3311*7304104dSAndroid Build Coastguard Worker 3312*7304104dSAndroid Build Coastguard Worker * libdw.map: Bump to 0.116; export dwarf_ranges. 3313*7304104dSAndroid Build Coastguard Worker 3314*7304104dSAndroid Build Coastguard Worker2005-09-20 Roland McGrath <[email protected]> 3315*7304104dSAndroid Build Coastguard Worker 3316*7304104dSAndroid Build Coastguard Worker * dwarf_haspc.c: Use dwarf_ranges. 3317*7304104dSAndroid Build Coastguard Worker * dwarf_entry_breakpoints.c: Likewise. 3318*7304104dSAndroid Build Coastguard Worker 3319*7304104dSAndroid Build Coastguard Worker * dwarf_ranges.c: New file. 3320*7304104dSAndroid Build Coastguard Worker * Makefile.am (libdw_a_SOURCES): Add it. 3321*7304104dSAndroid Build Coastguard Worker * libdw.h: Declare dwarf_ranges. 3322*7304104dSAndroid Build Coastguard Worker * libdwP.h: Add INTDECL. 3323*7304104dSAndroid Build Coastguard Worker 3324*7304104dSAndroid Build Coastguard Worker2005-09-14 Roland McGrath <[email protected]> 3325*7304104dSAndroid Build Coastguard Worker 3326*7304104dSAndroid Build Coastguard Worker * dwarf_entry_breakpoints.c (dwarf_entry_breakpoints): Fix braino in 3327*7304104dSAndroid Build Coastguard Worker prologue_end marker scanning loop. 3328*7304104dSAndroid Build Coastguard Worker 3329*7304104dSAndroid Build Coastguard Worker2005-09-11 Roland McGrath <[email protected]> 3330*7304104dSAndroid Build Coastguard Worker 3331*7304104dSAndroid Build Coastguard Worker * dwarf.h: Comment typo fix. 3332*7304104dSAndroid Build Coastguard Worker 3333*7304104dSAndroid Build Coastguard Worker2005-09-07 Roland McGrath <[email protected]> 3334*7304104dSAndroid Build Coastguard Worker 3335*7304104dSAndroid Build Coastguard Worker * dwarf_entry_breakpoints.c: New file. 3336*7304104dSAndroid Build Coastguard Worker * Makefile.am (libdw_a_SOURCES): Add it. 3337*7304104dSAndroid Build Coastguard Worker * libdw.h: Declare dwarf_entry_breakpoints. 3338*7304104dSAndroid Build Coastguard Worker 3339*7304104dSAndroid Build Coastguard Worker * dwarf_entrypc.c: New file. 3340*7304104dSAndroid Build Coastguard Worker * Makefile.am (libdw_a_SOURCES): Add it. 3341*7304104dSAndroid Build Coastguard Worker * libdw.h: Declare dwarf_entrypc. 3342*7304104dSAndroid Build Coastguard Worker * libdwP.h: Add INTDECL. 3343*7304104dSAndroid Build Coastguard Worker 3344*7304104dSAndroid Build Coastguard Worker2005-08-28 Ulrich Drepper <[email protected]> 3345*7304104dSAndroid Build Coastguard Worker 3346*7304104dSAndroid Build Coastguard Worker * Makefile.am: Use $(LINK) not $(CC) when creating DSO. 3347*7304104dSAndroid Build Coastguard Worker (%.os): Use COMPILE.os. 3348*7304104dSAndroid Build Coastguard Worker (COMPILE.os): Filter out gconv options. 3349*7304104dSAndroid Build Coastguard Worker 3350*7304104dSAndroid Build Coastguard Worker2005-08-27 Roland McGrath <[email protected]> 3351*7304104dSAndroid Build Coastguard Worker 3352*7304104dSAndroid Build Coastguard Worker * dwarf_getscopes.c (dwarf_getscopes): Rewritten using 3353*7304104dSAndroid Build Coastguard Worker __libdw_visit_scopes. 3354*7304104dSAndroid Build Coastguard Worker 3355*7304104dSAndroid Build Coastguard Worker * dwarf_getscopes_die.c: New file. 3356*7304104dSAndroid Build Coastguard Worker * Makefile.am (libdw_a_SOURCES): Add it. 3357*7304104dSAndroid Build Coastguard Worker * libdw.h: Declare dwarf_getscopes_die. 3358*7304104dSAndroid Build Coastguard Worker * libdw.map: Bump to 0.115 and add it. 3359*7304104dSAndroid Build Coastguard Worker 3360*7304104dSAndroid Build Coastguard Worker * libdw_visit_scopes.c (__libdw_visit_scopes): Pass a struct 3361*7304104dSAndroid Build Coastguard Worker containing a DIE and its parent pointer, instead of just Dwarf_Die. 3362*7304104dSAndroid Build Coastguard Worker Take two functions for both preorder and postorder visitors. 3363*7304104dSAndroid Build Coastguard Worker * libdwP.h: Update decl. 3364*7304104dSAndroid Build Coastguard Worker (struct Dwarf_Die_Chain): New type. 3365*7304104dSAndroid Build Coastguard Worker * dwarf_func_inline.c: Update uses. 3366*7304104dSAndroid Build Coastguard Worker 3367*7304104dSAndroid Build Coastguard Worker * dwarf_diename.c (dwarf_diename): Use dwarf_attr_integrate. 3368*7304104dSAndroid Build Coastguard Worker Add INTDEF. 3369*7304104dSAndroid Build Coastguard Worker * libdwP.h: Add INTDECL. 3370*7304104dSAndroid Build Coastguard Worker * dwarf_func_name.c (dwarf_func_name): Use dwarf_diename. 3371*7304104dSAndroid Build Coastguard Worker 3372*7304104dSAndroid Build Coastguard Worker2005-08-23 Roland McGrath <[email protected]> 3373*7304104dSAndroid Build Coastguard Worker 3374*7304104dSAndroid Build Coastguard Worker * dwarf_attr_integrate.c (dwarf_attr_integrate): Treat 3375*7304104dSAndroid Build Coastguard Worker DW_AT_specification the same as DW_AT_abstract_origin. 3376*7304104dSAndroid Build Coastguard Worker 3377*7304104dSAndroid Build Coastguard Worker2005-08-20 Roland McGrath <[email protected]> 3378*7304104dSAndroid Build Coastguard Worker 3379*7304104dSAndroid Build Coastguard Worker * libdw.map: Add dwfl_cumodule, remove dwfl_linecu. 3380*7304104dSAndroid Build Coastguard Worker Add dwfl_linux_kernel_report_offline, dwfl_offline_section_address, 3381*7304104dSAndroid Build Coastguard Worker and dwfl_report_offline. 3382*7304104dSAndroid Build Coastguard Worker 3383*7304104dSAndroid Build Coastguard Worker2005-08-19 Roland McGrath <[email protected]> 3384*7304104dSAndroid Build Coastguard Worker 3385*7304104dSAndroid Build Coastguard Worker * libdw.map: Bump version to ELFUTILS_0.114 for libdwfl changes. 3386*7304104dSAndroid Build Coastguard Worker Add dwfl_module_relocate_address, dwfl_module_relocations, 3387*7304104dSAndroid Build Coastguard Worker dwfl_module_relocation_info. 3388*7304104dSAndroid Build Coastguard Worker 3389*7304104dSAndroid Build Coastguard Worker2005-08-18 Roland McGrath <[email protected]> 3390*7304104dSAndroid Build Coastguard Worker 3391*7304104dSAndroid Build Coastguard Worker * dwarf_getscopes.c (dwarf_getscopes): Include the CU itself as 3392*7304104dSAndroid Build Coastguard Worker outermost scope in the results. 3393*7304104dSAndroid Build Coastguard Worker 3394*7304104dSAndroid Build Coastguard Worker2005-08-15 Roland McGrath <[email protected]> 3395*7304104dSAndroid Build Coastguard Worker 3396*7304104dSAndroid Build Coastguard Worker * dwarf_func_inline.c: New file. 3397*7304104dSAndroid Build Coastguard Worker * Makefile.am (libdw_a_SOURCES): Add it. 3398*7304104dSAndroid Build Coastguard Worker * libdw.h: Declare dwarf_func_inline, dwarf_func_inline_instances. 3399*7304104dSAndroid Build Coastguard Worker * libdw.map: Add them. 3400*7304104dSAndroid Build Coastguard Worker 3401*7304104dSAndroid Build Coastguard Worker * dwarf_func_die.c: New file. 3402*7304104dSAndroid Build Coastguard Worker * Makefile.am (libdw_a_SOURCES): Add it. 3403*7304104dSAndroid Build Coastguard Worker * libdw.h: Declare dwarf_func_die. 3404*7304104dSAndroid Build Coastguard Worker * libdw.map: Add it. Bump version to ELFUTILS_0.114. 3405*7304104dSAndroid Build Coastguard Worker 3406*7304104dSAndroid Build Coastguard Worker2005-08-10 Ulrich Drepper <[email protected]> 3407*7304104dSAndroid Build Coastguard Worker 3408*7304104dSAndroid Build Coastguard Worker * dwarf_getsrclines.c (dwarf_getsrclines): Correct fallout of renaming 3409*7304104dSAndroid Build Coastguard Worker of DW_LNS_set_epilog_begin. 3410*7304104dSAndroid Build Coastguard Worker 3411*7304104dSAndroid Build Coastguard Worker2005-08-09 Roland McGrath <[email protected]> 3412*7304104dSAndroid Build Coastguard Worker 3413*7304104dSAndroid Build Coastguard Worker * dwarf.h (DW_LNS_set_epilog_begin): Renamed DW_LNS_set_epilogue_begin. 3414*7304104dSAndroid Build Coastguard Worker 3415*7304104dSAndroid Build Coastguard Worker * dwarf_end.c: Add INTDEF. 3416*7304104dSAndroid Build Coastguard Worker * dwarf_error.c (dwarf_errmsg): Likewise. 3417*7304104dSAndroid Build Coastguard Worker * libdwP.h (dwarf_end, dwarf_errmsg): Add INTDECLs. 3418*7304104dSAndroid Build Coastguard Worker 3419*7304104dSAndroid Build Coastguard Worker2005-08-01 Roland McGrath <[email protected]> 3420*7304104dSAndroid Build Coastguard Worker 3421*7304104dSAndroid Build Coastguard Worker * dwarf_getaranges.c (dwarf_getaranges): Check for bogus offset. 3422*7304104dSAndroid Build Coastguard Worker * dwarf_getabbrev.c (__libdw_getabbrev): Likewise. 3423*7304104dSAndroid Build Coastguard Worker 3424*7304104dSAndroid Build Coastguard Worker2005-07-28 Ulrich Drepper <[email protected]> 3425*7304104dSAndroid Build Coastguard Worker 3426*7304104dSAndroid Build Coastguard Worker * Makefile.am (libdw.so): No need to link with libeu.a anymore. 3427*7304104dSAndroid Build Coastguard Worker (libdw_a_LIBADD): Add all files from libdwfl.a. 3428*7304104dSAndroid Build Coastguard Worker 3429*7304104dSAndroid Build Coastguard Worker2005-07-27 Roland McGrath <[email protected]> 3430*7304104dSAndroid Build Coastguard Worker 3431*7304104dSAndroid Build Coastguard Worker * Makefile.am (libdw.so): Link ../libdwfl/libdwfl_pic.a in, 3432*7304104dSAndroid Build Coastguard Worker along with ../libebl/libebl.a and ../lib/libeu.a; 3433*7304104dSAndroid Build Coastguard Worker depend on ../libelf/libelf.so. 3434*7304104dSAndroid Build Coastguard Worker (libdw_so_LDADD): New variable. 3435*7304104dSAndroid Build Coastguard Worker * libdw.map: Add dwfl_* symbols formerly in ../libdwfl/libdwfl.map. 3436*7304104dSAndroid Build Coastguard Worker 3437*7304104dSAndroid Build Coastguard Worker * libdw.map: Define an empty base version and move all symbols to 3438*7304104dSAndroid Build Coastguard Worker version ELFUTILS_0.111; don't define ELFUTILS_1.0 at all yet. 3439*7304104dSAndroid Build Coastguard Worker 3440*7304104dSAndroid Build Coastguard Worker2005-07-23 Ulrich Drepper <[email protected]> 3441*7304104dSAndroid Build Coastguard Worker 3442*7304104dSAndroid Build Coastguard Worker * dwarf_error.c: Add internal alias for dwarf_errno. 3443*7304104dSAndroid Build Coastguard Worker * libdwP.h: Declare __dwarf_errno_internal. 3444*7304104dSAndroid Build Coastguard Worker * dwarf_getloclist.c: Use INTDEF for dwarf_errno. 3445*7304104dSAndroid Build Coastguard Worker 3446*7304104dSAndroid Build Coastguard Worker * dwarf_error.c [USE_TLS]: Actually use __thread in definition of 3447*7304104dSAndroid Build Coastguard Worker global_error. 3448*7304104dSAndroid Build Coastguard Worker 3449*7304104dSAndroid Build Coastguard Worker2005-06-01 Roland McGrath <[email protected]> 3450*7304104dSAndroid Build Coastguard Worker 3451*7304104dSAndroid Build Coastguard Worker * dwarf_getaranges.c (dwarf_getaranges): Sort result array. 3452*7304104dSAndroid Build Coastguard Worker * dwarf_getarange_addr.c (dwarf_getarange_addr): Use binary search. 3453*7304104dSAndroid Build Coastguard Worker 3454*7304104dSAndroid Build Coastguard Worker2005-06-08 Roland McGrath <[email protected]> 3455*7304104dSAndroid Build Coastguard Worker 3456*7304104dSAndroid Build Coastguard Worker * memory-access.h (get_uleb128_step, get_uleb128): Remove casts. 3457*7304104dSAndroid Build Coastguard Worker (get_sleb128_step, get_sleb128): Likewise. 3458*7304104dSAndroid Build Coastguard Worker * dwarf_getattrs.c (dwarf_getattrs): Add consts. 3459*7304104dSAndroid Build Coastguard Worker * dwarf_getloclist.c (getloclist): Likewise. 3460*7304104dSAndroid Build Coastguard Worker * dwarf_formblock.c (dwarf_formblock): Likewise. 3461*7304104dSAndroid Build Coastguard Worker * dwarf_getsrclines.c (dwarf_getsrclines): Likewise. 3462*7304104dSAndroid Build Coastguard Worker * dwarf_getabbrevattr.c (dwarf_getabbrevattr): Likewise. 3463*7304104dSAndroid Build Coastguard Worker * dwarf_formref.c (dwarf_formref): Likewise. 3464*7304104dSAndroid Build Coastguard Worker * dwarf_formsdata.c (dwarf_formsdata): Likewise. 3465*7304104dSAndroid Build Coastguard Worker * dwarf_formudata.c (dwarf_formudata): Likewise. 3466*7304104dSAndroid Build Coastguard Worker * dwarf_haschildren.c (dwarf_haschildren): Likewise. 3467*7304104dSAndroid Build Coastguard Worker * dwarf_child.c (__libdw_find_attr, __libdw_find_attr): Likewise. 3468*7304104dSAndroid Build Coastguard Worker * dwarf_tag.c (dwarf_tag): Likewise. 3469*7304104dSAndroid Build Coastguard Worker * dwarf_getabbrev.c (__libdw_getabbrev): Likewise. 3470*7304104dSAndroid Build Coastguard Worker * memory-access.c (__libdw_get_uleb128, __libdw_get_sleb128): Likewise. 3471*7304104dSAndroid Build Coastguard Worker * libdw_form.c (__libdw_form_val_len): Likewise. 3472*7304104dSAndroid Build Coastguard Worker * libdwP.h: Update decl. 3473*7304104dSAndroid Build Coastguard Worker 3474*7304104dSAndroid Build Coastguard Worker2005-06-04 Roland McGrath <[email protected]> 3475*7304104dSAndroid Build Coastguard Worker 3476*7304104dSAndroid Build Coastguard Worker * memory-access.h (get_uleb128_rest_return): New macro. 3477*7304104dSAndroid Build Coastguard Worker [! IS_LIBDW] (__libdw_get_uleb128): New static, defined using it. 3478*7304104dSAndroid Build Coastguard Worker (get_sleb128_rest_return): New macro. 3479*7304104dSAndroid Build Coastguard Worker [! IS_LIBDW] (__libdw_get_sleb128): New static, defined using it. 3480*7304104dSAndroid Build Coastguard Worker * memory-access.c: New file. 3481*7304104dSAndroid Build Coastguard Worker * Makefile.am (libdw_a_SOURCES): Add it. 3482*7304104dSAndroid Build Coastguard Worker (DEFS): Add -DIS_LIBDW. 3483*7304104dSAndroid Build Coastguard Worker 3484*7304104dSAndroid Build Coastguard Worker2005-05-31 Roland McGrath <[email protected]> 3485*7304104dSAndroid Build Coastguard Worker 3486*7304104dSAndroid Build Coastguard Worker * dwarf_formref_die.c (dwarf_formref_die): Add CU header offset to 3487*7304104dSAndroid Build Coastguard Worker formref offset. 3488*7304104dSAndroid Build Coastguard Worker 3489*7304104dSAndroid Build Coastguard Worker2005-05-30 Roland McGrath <[email protected]> 3490*7304104dSAndroid Build Coastguard Worker 3491*7304104dSAndroid Build Coastguard Worker * dwarf_getloclist.c (dwarf_addrloclists): Use DW_AT_entry_pc for base 3492*7304104dSAndroid Build Coastguard Worker address if DW_AT_low_pc is missing. Not to spec, but GCC generates it. 3493*7304104dSAndroid Build Coastguard Worker 3494*7304104dSAndroid Build Coastguard Worker * dwarf_getloclist.c (dwarf_addrloclists): Don't sign-extend 4-byte 3495*7304104dSAndroid Build Coastguard Worker BEGIN value. Instead, match base address entries separately for 3496*7304104dSAndroid Build Coastguard Worker 32/64 size cases. 3497*7304104dSAndroid Build Coastguard Worker 3498*7304104dSAndroid Build Coastguard Worker2005-05-28 Roland McGrath <[email protected]> 3499*7304104dSAndroid Build Coastguard Worker 3500*7304104dSAndroid Build Coastguard Worker * dwarf_getloclist.c (dwarf_addrloclists): Fix decoding to advance 3501*7304104dSAndroid Build Coastguard Worker past location expression contents. 3502*7304104dSAndroid Build Coastguard Worker 3503*7304104dSAndroid Build Coastguard Worker2005-05-23 Roland McGrath <[email protected]> 3504*7304104dSAndroid Build Coastguard Worker 3505*7304104dSAndroid Build Coastguard Worker * dwarf_getsrclines.c: Comment typo fix. 3506*7304104dSAndroid Build Coastguard Worker 3507*7304104dSAndroid Build Coastguard Worker * dwarf_haspc.c (dwarf_haspc): Fix CU DIE address calculation. 3508*7304104dSAndroid Build Coastguard Worker * dwarf_getloclist.c (dwarf_addrloclists): Likewise. 3509*7304104dSAndroid Build Coastguard Worker 3510*7304104dSAndroid Build Coastguard Worker2005-05-22 Ulrich Drepper <[email protected]> 3511*7304104dSAndroid Build Coastguard Worker 3512*7304104dSAndroid Build Coastguard Worker * libdwP.h: Only use INTDECL for alias prototypes. 3513*7304104dSAndroid Build Coastguard Worker 3514*7304104dSAndroid Build Coastguard Worker2005-05-19 Roland McGrath <[email protected]> 3515*7304104dSAndroid Build Coastguard Worker 3516*7304104dSAndroid Build Coastguard Worker * dwarf_getloclist.c (attr_ok): Permit DW_AT_static_link too. 3517*7304104dSAndroid Build Coastguard Worker 3518*7304104dSAndroid Build Coastguard Worker * dwarf_getscopevar.c: New file. 3519*7304104dSAndroid Build Coastguard Worker * Makefile.am (libdw_a_SOURCES): Add it. 3520*7304104dSAndroid Build Coastguard Worker * libdw.h: Declare dwarf_getscopevar. 3521*7304104dSAndroid Build Coastguard Worker 3522*7304104dSAndroid Build Coastguard Worker * dwarf_getsrcfiles.c: Add INTDEF. 3523*7304104dSAndroid Build Coastguard Worker * dwarf_haschildren.c: Likewise. 3524*7304104dSAndroid Build Coastguard Worker * libdwP.h (dwarf_getsrcfiles, dwarf_haschildren): Add INTDECL. 3525*7304104dSAndroid Build Coastguard Worker 3526*7304104dSAndroid Build Coastguard Worker * dwarf_getscopes.c: New file. 3527*7304104dSAndroid Build Coastguard Worker * Makefile.am (libdw_a_SOURCES): Add it. 3528*7304104dSAndroid Build Coastguard Worker * libdw.h: Declare dwarf_getscopes. 3529*7304104dSAndroid Build Coastguard Worker * libdw.map: Add it. 3530*7304104dSAndroid Build Coastguard Worker 3531*7304104dSAndroid Build Coastguard Worker2005-05-18 Roland McGrath <[email protected]> 3532*7304104dSAndroid Build Coastguard Worker 3533*7304104dSAndroid Build Coastguard Worker * libdwP.h (IDX_debug_ranges): New enum constant. 3534*7304104dSAndroid Build Coastguard Worker * dwarf_begin_elf.c (dwarf_scnnames): Add it for ".debug_ranges". 3535*7304104dSAndroid Build Coastguard Worker * libdwP.h (DWARF_E_NO_DEBUG_RANGES): New enum constant. 3536*7304104dSAndroid Build Coastguard Worker * dwarf_error.c (errmsgs): Add it. 3537*7304104dSAndroid Build Coastguard Worker * dwarf_haspc.c: New file. 3538*7304104dSAndroid Build Coastguard Worker * libdw.h: Declare dwarf_haspc. 3539*7304104dSAndroid Build Coastguard Worker * libdw.map: Add it. 3540*7304104dSAndroid Build Coastguard Worker * libdwP.h: Add INTDECL. 3541*7304104dSAndroid Build Coastguard Worker 3542*7304104dSAndroid Build Coastguard Worker * dwarf_attr_integrate.c: New file. 3543*7304104dSAndroid Build Coastguard Worker * dwarf_hasattr_integrate.c: New file. 3544*7304104dSAndroid Build Coastguard Worker * Makefile.am (libdw_a_SOURCES): Add them. 3545*7304104dSAndroid Build Coastguard Worker * libdw.h: Declare dwarf_attr_integrate, dwarf_hasattr_integrate. 3546*7304104dSAndroid Build Coastguard Worker * libdw.map: Add them. 3547*7304104dSAndroid Build Coastguard Worker 3548*7304104dSAndroid Build Coastguard Worker * dwarf_hasattr.c: Add INTDEF. 3549*7304104dSAndroid Build Coastguard Worker * libdwP.h: Add INTDECL for it. 3550*7304104dSAndroid Build Coastguard Worker 3551*7304104dSAndroid Build Coastguard Worker * dwarf_formref_die.c: New file. 3552*7304104dSAndroid Build Coastguard Worker * Makefile.am (libdw_a_SOURCES): Add it. 3553*7304104dSAndroid Build Coastguard Worker * libdw.h (dwarf_formref_die): Declare it. 3554*7304104dSAndroid Build Coastguard Worker * libdwP.h (dwarf_formref_die): Add INTDECL. 3555*7304104dSAndroid Build Coastguard Worker * libdw.map: Add it. 3556*7304104dSAndroid Build Coastguard Worker 3557*7304104dSAndroid Build Coastguard Worker * dwarf_getloclist.c (attr_ok, getloclist): New functions, broken out 3558*7304104dSAndroid Build Coastguard Worker of ... 3559*7304104dSAndroid Build Coastguard Worker (dwarf_getloclist): ... here. Call them. 3560*7304104dSAndroid Build Coastguard Worker (dwarf_addrloclists): New function. 3561*7304104dSAndroid Build Coastguard Worker * libdw.h: Declare it. 3562*7304104dSAndroid Build Coastguard Worker * libdw.map: Add it. 3563*7304104dSAndroid Build Coastguard Worker 3564*7304104dSAndroid Build Coastguard Worker * dwarf_getmacros.c (dwarf_getmacros): Don't bail at 3565*7304104dSAndroid Build Coastguard Worker DW_MACINFO_end_file. Recognize type 0 as terminator. 3566*7304104dSAndroid Build Coastguard Worker 3567*7304104dSAndroid Build Coastguard Worker2005-05-05 Roland McGrath <[email protected]> 3568*7304104dSAndroid Build Coastguard Worker 3569*7304104dSAndroid Build Coastguard Worker * dwarf_getsrc_die.c (dwarf_getsrc_die): Use binary search. 3570*7304104dSAndroid Build Coastguard Worker 3571*7304104dSAndroid Build Coastguard Worker * dwarf_getsrclines.c (dwarf_getsrclines): Sort result array, since 3572*7304104dSAndroid Build Coastguard Worker the line program does not produce all entries in ascending order. 3573*7304104dSAndroid Build Coastguard Worker 3574*7304104dSAndroid Build Coastguard Worker2005-04-25 Ulrich Drepper <[email protected]> 3575*7304104dSAndroid Build Coastguard Worker 3576*7304104dSAndroid Build Coastguard Worker * dwarf_getsrc_file.c (dwarf_getsrc_file): Handle multiple 3577*7304104dSAndroid Build Coastguard Worker occurences (e.g., inlines) better. 3578*7304104dSAndroid Build Coastguard Worker 3579*7304104dSAndroid Build Coastguard Worker2005-04-24 Ulrich Drepper <[email protected]> 3580*7304104dSAndroid Build Coastguard Worker 3581*7304104dSAndroid Build Coastguard Worker * libdw.h (DWARF_END_ABBREV): Define. 3582*7304104dSAndroid Build Coastguard Worker * dwarf_getabbrev.c (__libdw_getabbrev): Return DWARF_END_ABBREV if 3583*7304104dSAndroid Build Coastguard Worker end is reached. 3584*7304104dSAndroid Build Coastguard Worker * dwarf_offabbrev.c (dwarf_offabbrev): Return -1 on error, 1 if end 3585*7304104dSAndroid Build Coastguard Worker of records reached. 3586*7304104dSAndroid Build Coastguard Worker * dwarf_tag.c (__libdw_findabbrev): Also recognize DWARF_END_ABBREV 3587*7304104dSAndroid Build Coastguard Worker as error of __libdw_getabbrev. 3588*7304104dSAndroid Build Coastguard Worker 3589*7304104dSAndroid Build Coastguard Worker2005-04-04 Ulrich Drepper <[email protected]> 3590*7304104dSAndroid Build Coastguard Worker 3591*7304104dSAndroid Build Coastguard Worker * dwarf_getsrc_file.c (dwarf_getsrc_file): Minor optimization. 3592*7304104dSAndroid Build Coastguard Worker 3593*7304104dSAndroid Build Coastguard Worker * dwarf_getsrc_file.c (dwarf_getsrc_file): Always pass number of 3594*7304104dSAndroid Build Coastguard Worker results back to caller. 3595*7304104dSAndroid Build Coastguard Worker 3596*7304104dSAndroid Build Coastguard Worker2005-04-04 Roland McGrath <[email protected]> 3597*7304104dSAndroid Build Coastguard Worker 3598*7304104dSAndroid Build Coastguard Worker * dwarf_getsrc_file.c (dwarf_getsrc_file): Use size_t for CUHL. 3599*7304104dSAndroid Build Coastguard Worker 3600*7304104dSAndroid Build Coastguard Worker * dwarf_func_line.c (__libdw_func_intval): Use internal_function in 3601*7304104dSAndroid Build Coastguard Worker defn. 3602*7304104dSAndroid Build Coastguard Worker 3603*7304104dSAndroid Build Coastguard Worker2005-04-04 Ulrich Drepper <[email protected]> 3604*7304104dSAndroid Build Coastguard Worker 3605*7304104dSAndroid Build Coastguard Worker * dwarf_getsrc_file.c (dwarf_getsrc_file): Use INTUSE. 3606*7304104dSAndroid Build Coastguard Worker 3607*7304104dSAndroid Build Coastguard Worker * dwarf_getsrc_file.c: New file. 3608*7304104dSAndroid Build Coastguard Worker * Makefile.am (libdw_a_SOURCES): Add dwarf_getsrc_file.c. 3609*7304104dSAndroid Build Coastguard Worker * libdw.h: Declare dwarf_getsrc_file. 3610*7304104dSAndroid Build Coastguard Worker * libdw.map: Add dwarf_getsrc_file. 3611*7304104dSAndroid Build Coastguard Worker 3612*7304104dSAndroid Build Coastguard Worker2005-04-02 Ulrich Drepper <[email protected]> 3613*7304104dSAndroid Build Coastguard Worker 3614*7304104dSAndroid Build Coastguard Worker * dwarf_func_entrypc.c: New file. 3615*7304104dSAndroid Build Coastguard Worker * dwarf_func_col.c: New file. 3616*7304104dSAndroid Build Coastguard Worker * dwarf_func_line.c: New file. 3617*7304104dSAndroid Build Coastguard Worker * dwarf_func_file.c: New file. 3618*7304104dSAndroid Build Coastguard Worker * libdw.h: Add prototypes for new functions. 3619*7304104dSAndroid Build Coastguard Worker * libdw.map: Add dwarf_func_entrypc, dwarf_func_col, dwarf_func_line, 3620*7304104dSAndroid Build Coastguard Worker dwarf_func_file. 3621*7304104dSAndroid Build Coastguard Worker * Makefile.am (libdw_a_SOURCES): Add dwarf_func_entrypc.c, 3622*7304104dSAndroid Build Coastguard Worker dwarf_func_col.c, dwarf_func_line.c, dwarf_func_file.c. 3623*7304104dSAndroid Build Coastguard Worker * libdwP.h (struct Dwarf_Func_s): Add cudie element. 3624*7304104dSAndroid Build Coastguard Worker Declare __libdw_func_intval and __dwarf_formsdata_internal. 3625*7304104dSAndroid Build Coastguard Worker * dwarf_getfuncs.c: Also fill in cudie in Dwarf_Func object. 3626*7304104dSAndroid Build Coastguard Worker * dwarf_formsdata.c: Use INTUSE and INTDEF to avoid PLTs. 3627*7304104dSAndroid Build Coastguard Worker 3628*7304104dSAndroid Build Coastguard Worker * dwarf.h: Add some DWARF3 definitions. 3629*7304104dSAndroid Build Coastguard Worker 3630*7304104dSAndroid Build Coastguard Worker2005-04-01 Ulrich Drepper <[email protected]> 3631*7304104dSAndroid Build Coastguard Worker 3632*7304104dSAndroid Build Coastguard Worker * dwarf_getfuncs.c: New file. 3633*7304104dSAndroid Build Coastguard Worker * dwarf_func_highpc.c: New file. 3634*7304104dSAndroid Build Coastguard Worker * dwarf_func_lowpc.c: New file. 3635*7304104dSAndroid Build Coastguard Worker * dwarf_func_name.c: New file. 3636*7304104dSAndroid Build Coastguard Worker * Makefile.am (libdw_a_SOURCES): Add dwarf_getfuncs.c, 3637*7304104dSAndroid Build Coastguard Worker dwarf_func_highpc.c, dwarf_func_lowpc.c, and dwarf_func_name.c. 3638*7304104dSAndroid Build Coastguard Worker * libdw.map: Add dwarf_getfuncs, dwarf_func_highpc, dwarf_func_lowpc, 3639*7304104dSAndroid Build Coastguard Worker and dwarf_func_name. 3640*7304104dSAndroid Build Coastguard Worker * libdw.h: Add prototypes for new functions. 3641*7304104dSAndroid Build Coastguard Worker * dwarf_child.c: Use INTUSE and INTDEF to avoid PLTs. 3642*7304104dSAndroid Build Coastguard Worker * dwarf_siblingof.c: Likewise. 3643*7304104dSAndroid Build Coastguard Worker * dwarf_dieoffset.c: Likewise. 3644*7304104dSAndroid Build Coastguard Worker * dwarf_highpc.c: Likewise. 3645*7304104dSAndroid Build Coastguard Worker * dwarf_lowpc.c: Likewise. 3646*7304104dSAndroid Build Coastguard Worker * libdwP.h: Add prototypes for internal functions. 3647*7304104dSAndroid Build Coastguard Worker Define Dwarf_Func_s structure. 3648*7304104dSAndroid Build Coastguard Worker 3649*7304104dSAndroid Build Coastguard Worker2005-03-29 Ulrich Drepper <[email protected]> 3650*7304104dSAndroid Build Coastguard Worker 3651*7304104dSAndroid Build Coastguard Worker * libdw.h: Add padding in Dwarf_die. 3652*7304104dSAndroid Build Coastguard Worker 3653*7304104dSAndroid Build Coastguard Worker * dwarf_arrayorder.c: Use INTUSE and INTDEF to avoid PLTs. 3654*7304104dSAndroid Build Coastguard Worker * dwarf_attr.c: Likewise. 3655*7304104dSAndroid Build Coastguard Worker * dwarf_begin.c: Likewise. 3656*7304104dSAndroid Build Coastguard Worker * dwarf_begin_elf.c: Likewise. 3657*7304104dSAndroid Build Coastguard Worker * dwarf_bitoffset.c: Likewise. 3658*7304104dSAndroid Build Coastguard Worker * dwarf_bitsize.c: Likewise. 3659*7304104dSAndroid Build Coastguard Worker * dwarf_bytesize.c: Likewise. 3660*7304104dSAndroid Build Coastguard Worker * dwarf_diename.c: Likewise. 3661*7304104dSAndroid Build Coastguard Worker * dwarf_formaddr.c: Likewise. 3662*7304104dSAndroid Build Coastguard Worker * dwarf_formblock.c: Likewise. 3663*7304104dSAndroid Build Coastguard Worker * dwarf_formref.c: Likewise. 3664*7304104dSAndroid Build Coastguard Worker * dwarf_formstring.c: Likewise. 3665*7304104dSAndroid Build Coastguard Worker * dwarf_formudata.c: Likewise. 3666*7304104dSAndroid Build Coastguard Worker * dwarf_getarange_addr.c: Likewise. 3667*7304104dSAndroid Build Coastguard Worker * dwarf_getarangeinfo.c: Likewise. 3668*7304104dSAndroid Build Coastguard Worker * dwarf_getaranges.c: Likewise. 3669*7304104dSAndroid Build Coastguard Worker * dwarf_getloclist.c: Likewise. 3670*7304104dSAndroid Build Coastguard Worker * dwarf_getmacros.c: Likewise. 3671*7304104dSAndroid Build Coastguard Worker * dwarf_getsrc_die.c: Likewise. 3672*7304104dSAndroid Build Coastguard Worker * dwarf_getsrcfiles.c: Likewise. 3673*7304104dSAndroid Build Coastguard Worker * dwarf_getsrclines.c: Likewise. 3674*7304104dSAndroid Build Coastguard Worker * dwarf_highpc.c: Likewise. 3675*7304104dSAndroid Build Coastguard Worker * dwarf_lowpc.c: Likewise. 3676*7304104dSAndroid Build Coastguard Worker * dwarf_nextcu.c: Likewise. 3677*7304104dSAndroid Build Coastguard Worker * dwarf_offdie.c: Likewise. 3678*7304104dSAndroid Build Coastguard Worker * dwarf_siblingof.c: Likewise. 3679*7304104dSAndroid Build Coastguard Worker * dwarf_srclang.c: Likewise. 3680*7304104dSAndroid Build Coastguard Worker * dwarf_tag.c: Likewise. 3681*7304104dSAndroid Build Coastguard Worker * libdw_findcu.c: Likewise. 3682*7304104dSAndroid Build Coastguard Worker * libdwP.h: Add prototypes for internal functions. 3683*7304104dSAndroid Build Coastguard Worker 3684*7304104dSAndroid Build Coastguard Worker * dwarf_addrdie.c: New file. 3685*7304104dSAndroid Build Coastguard Worker * dwarf_macro_opcode.c: New file. 3686*7304104dSAndroid Build Coastguard Worker * dwarf_macro_param1.c: New file. 3687*7304104dSAndroid Build Coastguard Worker * dwarf_macro_param2.c: New file. 3688*7304104dSAndroid Build Coastguard Worker * libdw.h: Add declarations. Move Dwarf_Macro definition to libdwP.h. 3689*7304104dSAndroid Build Coastguard Worker * libdwP.h: Remove Dwarf_Macro definition. 3690*7304104dSAndroid Build Coastguard Worker * Makefile.am (libdw_a_SOURCES): Add dwarf_addrdie.c, 3691*7304104dSAndroid Build Coastguard Worker dwarf_macro_opcode.c, dwarf_macro_param1.c, and dwarf_macro_param2.c. 3692*7304104dSAndroid Build Coastguard Worker * libdw.map: Add entries for new functions. 3693*7304104dSAndroid Build Coastguard Worker 3694*7304104dSAndroid Build Coastguard Worker2005-03-21 Ulrich Drepper <[email protected]> 3695*7304104dSAndroid Build Coastguard Worker 3696*7304104dSAndroid Build Coastguard Worker * libdw.h: Handle broken gcc < 4. 3697*7304104dSAndroid Build Coastguard Worker 3698*7304104dSAndroid Build Coastguard Worker2005-02-15 Ulrich Drepper <[email protected]> 3699*7304104dSAndroid Build Coastguard Worker 3700*7304104dSAndroid Build Coastguard Worker * Makefile (AM_CFLAGS): Add -Wunused -Wextra -Wformat=2. 3701*7304104dSAndroid Build Coastguard Worker 3702*7304104dSAndroid Build Coastguard Worker * dwarf_begin_elf.c: Fix warnings. 3703*7304104dSAndroid Build Coastguard Worker * dwarf_dieoffset.c: Likewise. 3704*7304104dSAndroid Build Coastguard Worker * dwarf_end.c: Likewise. 3705*7304104dSAndroid Build Coastguard Worker * dwarf_error.c: Likewise. 3706*7304104dSAndroid Build Coastguard Worker * dwarf_getpubnames.c: Likewise. 3707*7304104dSAndroid Build Coastguard Worker 3708*7304104dSAndroid Build Coastguard Worker * libdwP.h: Add new error values. 3709*7304104dSAndroid Build Coastguard Worker * dwarf_error.c: Support new error values. 3710*7304104dSAndroid Build Coastguard Worker * dwarf_getpubnames.c: Check parameter value. 3711*7304104dSAndroid Build Coastguard Worker 3712*7304104dSAndroid Build Coastguard Worker2005-02-05 Ulrich Drepper <[email protected]> 3713*7304104dSAndroid Build Coastguard Worker 3714*7304104dSAndroid Build Coastguard Worker * Makefile.am: Check for text relocations in constructed DSO. 3715*7304104dSAndroid Build Coastguard Worker 3716*7304104dSAndroid Build Coastguard Worker * Makefile.am [MUDFLAP] (AM_CFLAGS): Add -fmudflap. 3717*7304104dSAndroid Build Coastguard Worker 3718*7304104dSAndroid Build Coastguard Worker2005-02-04 Ulrich Drepper <[email protected]> 3719*7304104dSAndroid Build Coastguard Worker 3720*7304104dSAndroid Build Coastguard Worker * dwarf_siblingof.c (dwarf_siblingof): Add some buffer boundary 3721*7304104dSAndroid Build Coastguard Worker checks to not read over buffer boundaries for ill-formed DWARF data. 3722*7304104dSAndroid Build Coastguard Worker 3723*7304104dSAndroid Build Coastguard Worker2004-09-25 Ulrich Drepper <[email protected]> 3724*7304104dSAndroid Build Coastguard Worker 3725*7304104dSAndroid Build Coastguard Worker * dwarf_child.c: Make compile with gcc 4.0. 3726*7304104dSAndroid Build Coastguard Worker * dwarf_error.c: Likewise. 3727*7304104dSAndroid Build Coastguard Worker * dwarf_formblock.c: Likewise. 3728*7304104dSAndroid Build Coastguard Worker * dwarf_getabbrev.c: Likewise. 3729*7304104dSAndroid Build Coastguard Worker * dwarf_getattrs.c: Likewise. 3730*7304104dSAndroid Build Coastguard Worker * dwarf_getsrclines.c: Likewise. 3731*7304104dSAndroid Build Coastguard Worker * dwarf_tag.c: Likewise. 3732*7304104dSAndroid Build Coastguard Worker * libdw_form.c: Likewise. 3733*7304104dSAndroid Build Coastguard Worker 3734*7304104dSAndroid Build Coastguard Worker2004-01-20 Ulrich Drepper <[email protected]> 3735*7304104dSAndroid Build Coastguard Worker 3736*7304104dSAndroid Build Coastguard Worker * Makefile.am: Support building with mudflap. 3737*7304104dSAndroid Build Coastguard Worker 3738*7304104dSAndroid Build Coastguard Worker * dwarf_getloclist.c: Fix warnings gcc 3.4 spits out. 3739*7304104dSAndroid Build Coastguard Worker * dwarf_getsrclines.c: Likewise. 3740*7304104dSAndroid Build Coastguard Worker * dwarf_memory-access.h: Likewise. 3741*7304104dSAndroid Build Coastguard Worker 3742*7304104dSAndroid Build Coastguard Worker2004-01-19 Ulrich Drepper <[email protected]> 3743*7304104dSAndroid Build Coastguard Worker 3744*7304104dSAndroid Build Coastguard Worker * dwarf_getsrcfiles.c: Third parameter can be NULL. 3745*7304104dSAndroid Build Coastguard Worker 3746*7304104dSAndroid Build Coastguard Worker * libdw.h: Define Dwarf_macro. Declare dwarf_getmacros. 3747*7304104dSAndroid Build Coastguard Worker Third parameter of dwarf_getsrcfiles can be NULL. 3748*7304104dSAndroid Build Coastguard Worker 3749*7304104dSAndroid Build Coastguard Worker * libdw.map: Add dwarf_getmacros. 3750*7304104dSAndroid Build Coastguard Worker * Makefile.am (libdw_a_SOURCES): Add dwarf_getmacros. 3751*7304104dSAndroid Build Coastguard Worker * dwarf_getmacros.c: New file. 3752*7304104dSAndroid Build Coastguard Worker 3753*7304104dSAndroid Build Coastguard Worker2004-01-18 Ulrich Drepper <[email protected]> 3754*7304104dSAndroid Build Coastguard Worker 3755*7304104dSAndroid Build Coastguard Worker * libdw.h: Second parameter of dwarf_getaranges can be NULL. 3756*7304104dSAndroid Build Coastguard Worker 3757*7304104dSAndroid Build Coastguard Worker * dwarf_nextcu.c: Return -1 if dwarf parameter is NULL. 3758*7304104dSAndroid Build Coastguard Worker 3759*7304104dSAndroid Build Coastguard Worker * dwarf_getsrclines.c: 3760*7304104dSAndroid Build Coastguard Worker Use read_2ubyte_unaligned_inc instead of _inc-less variant. 3761*7304104dSAndroid Build Coastguard Worker 3762*7304104dSAndroid Build Coastguard Worker * dwarf_getaranges.c: Allow naranges parameter to be NULL. 3763*7304104dSAndroid Build Coastguard Worker 3764*7304104dSAndroid Build Coastguard Worker * libdwP.h (_): Use elfutils domain. 3765*7304104dSAndroid Build Coastguard Worker 3766*7304104dSAndroid Build Coastguard Worker * dwarf_getsrclines.c (dwarf_getsrclines): Add more branch prediction. 3767*7304104dSAndroid Build Coastguard Worker 3768*7304104dSAndroid Build Coastguard Worker * dwarf_getsrclines.c: Fix typo in comment. 3769*7304104dSAndroid Build Coastguard Worker 3770*7304104dSAndroid Build Coastguard Worker2004-01-17 Ulrich Drepper <[email protected]> 3771*7304104dSAndroid Build Coastguard Worker 3772*7304104dSAndroid Build Coastguard Worker * Makefile.am: Support building with mudflap. 3773*7304104dSAndroid Build Coastguard Worker 3774*7304104dSAndroid Build Coastguard Worker2004-01-16 Ulrich Drepper <[email protected]> 3775*7304104dSAndroid Build Coastguard Worker 3776*7304104dSAndroid Build Coastguard Worker * memory-access.h: Add lots of const in case a pointer passed is const. 3777*7304104dSAndroid Build Coastguard Worker 3778*7304104dSAndroid Build Coastguard Worker * dwarf_formflag.c: New file. 3779*7304104dSAndroid Build Coastguard Worker * dwarf_getattrs.c: New file. 3780*7304104dSAndroid Build Coastguard Worker * dwarf_error.c: Add new error value. 3781*7304104dSAndroid Build Coastguard Worker * libdw.h: Add prototypes for new functions. Adjust prototype for 3782*7304104dSAndroid Build Coastguard Worker dwarf_getpubnames. 3783*7304104dSAndroid Build Coastguard Worker * libdw.map: Add new functions. 3784*7304104dSAndroid Build Coastguard Worker * dwarf_getpubnames.c: Change type of return value and fourth parameter 3785*7304104dSAndroid Build Coastguard Worker to ptrdiff_t. 3786*7304104dSAndroid Build Coastguard Worker * libdwP.h: Add new error value. 3787*7304104dSAndroid Build Coastguard Worker * Makefile.am (libdw_a_SOURCES): Add dwarf_getattrs.c and 3788*7304104dSAndroid Build Coastguard Worker dwarf_formflag.c. 3789*7304104dSAndroid Build Coastguard Worker 3790*7304104dSAndroid Build Coastguard Worker * dwarf_getpubnames.c (dwarf_getpubnames): Just fail if dbg is NULL. 3791*7304104dSAndroid Build Coastguard Worker 3792*7304104dSAndroid Build Coastguard Worker2004-01-12 Ulrich Drepper <[email protected]> 3793*7304104dSAndroid Build Coastguard Worker 3794*7304104dSAndroid Build Coastguard Worker * dwarf_getarange_addr.c: New file 3795*7304104dSAndroid Build Coastguard Worker * dwarf_getarangeinfo.c: New file. 3796*7304104dSAndroid Build Coastguard Worker * dwarf_getaranges.c: New file. 3797*7304104dSAndroid Build Coastguard Worker * dwarf_onerange.c: New file. 3798*7304104dSAndroid Build Coastguard Worker * libdw.h: Declare new functions. Define Dwarf_Arange and 3799*7304104dSAndroid Build Coastguard Worker Dwarf_Aranges. 3800*7304104dSAndroid Build Coastguard Worker * libdw.map: Add new functions. 3801*7304104dSAndroid Build Coastguard Worker * libdwP.h: Add new errors. Add aranges member to struct Dwarf. 3802*7304104dSAndroid Build Coastguard Worker Define Dwarf_Aranges_s and Dwarf_Arange_s. 3803*7304104dSAndroid Build Coastguard Worker * Makefile.am (libdw_a_SOURCES): Add dwarf_getaranges.c, 3804*7304104dSAndroid Build Coastguard Worker dwarf_onearange.c, dwarf_getarangeinfo.c, dwarf_getarange_addr.c. 3805*7304104dSAndroid Build Coastguard Worker * dwarf_error.c: Add new message. 3806*7304104dSAndroid Build Coastguard Worker 3807*7304104dSAndroid Build Coastguard Worker2004-01-11 Ulrich Drepper <[email protected]> 3808*7304104dSAndroid Build Coastguard Worker 3809*7304104dSAndroid Build Coastguard Worker * Makefile.am (libdw_a_SOURCES): Add dwarf_lineaddr.c, dwarf_linecol.c, 3810*7304104dSAndroid Build Coastguard Worker dwarf_linebeginstatement.c, dwarf_lineendsequence.c, dwarf_lineblock.c, 3811*7304104dSAndroid Build Coastguard Worker dwarf_lineprologueend.c, dwarf_lineepiloguebegin.c, dwarf_onesrcline.c. 3812*7304104dSAndroid Build Coastguard Worker * dwarf_error.c: Add another message. 3813*7304104dSAndroid Build Coastguard Worker * dwarf_getsrc_die.c: Adjust for Dwarf_Files and Dwarf_Lines 3814*7304104dSAndroid Build Coastguard Worker introduction. 3815*7304104dSAndroid Build Coastguard Worker * dwarf_filesrc.c: Likewise. 3816*7304104dSAndroid Build Coastguard Worker * dwarf_getsrcfiles.c: Likewise. 3817*7304104dSAndroid Build Coastguard Worker * dwarf_getsrclines.c: Likewise. 3818*7304104dSAndroid Build Coastguard Worker * dwarf_lineaddr.c: New file. 3819*7304104dSAndroid Build Coastguard Worker * dwarf_linebeginstatement.c: New file. 3820*7304104dSAndroid Build Coastguard Worker * dwarf_lineblock.c: New file. 3821*7304104dSAndroid Build Coastguard Worker * dwarf_linecol.c: New file. 3822*7304104dSAndroid Build Coastguard Worker * dwarf_lineendsequence.c: New file. 3823*7304104dSAndroid Build Coastguard Worker * dwarf_lineepiloguebegin.c: New file. 3824*7304104dSAndroid Build Coastguard Worker * dwarf_lineno.c: New file. 3825*7304104dSAndroid Build Coastguard Worker * dwarf_lineprologueend.c: New file. 3826*7304104dSAndroid Build Coastguard Worker * dwarf_onesrcline.c: New file. 3827*7304104dSAndroid Build Coastguard Worker * dwarf_lineno.c: Change interface to store result in object pointed 3828*7304104dSAndroid Build Coastguard Worker to by second parameter. 3829*7304104dSAndroid Build Coastguard Worker * libdw.h: Add prototypes for new functions. Change dwarf_lineno 3830*7304104dSAndroid Build Coastguard Worker prototype. Define Dwarf_Files and Dwarf_Lines. 3831*7304104dSAndroid Build Coastguard Worker * libdw.map: Add new functions. 3832*7304104dSAndroid Build Coastguard Worker * libdwP.h: Define Dwarf_Files_s and Dwarf_Lines_s. 3833*7304104dSAndroid Build Coastguard Worker * libdw_findcu.c: Don't initialize nlines field. 3834*7304104dSAndroid Build Coastguard Worker 3835*7304104dSAndroid Build Coastguard Worker * dwarf_siblingof: Little optimization. 3836*7304104dSAndroid Build Coastguard Worker 3837*7304104dSAndroid Build Coastguard Worker * dwarf_begin.c: Remember that the ELF descriptor must be closed. 3838*7304104dSAndroid Build Coastguard Worker * dwarf_end.c: Close ELF descriptor if free_elf is set. 3839*7304104dSAndroid Build Coastguard Worker * libdwP.h (struct Dwarf): Add free_elf field. 3840*7304104dSAndroid Build Coastguard Worker 3841*7304104dSAndroid Build Coastguard Worker * Makefile.am (libdw_a_SOURCES): Add dwarf_getstring.c and 3842*7304104dSAndroid Build Coastguard Worker dwarf_offabbrev.c. 3843*7304104dSAndroid Build Coastguard Worker * dwarf_getstring.c: New file. 3844*7304104dSAndroid Build Coastguard Worker * dwarf_offabbrev.c: New file. 3845*7304104dSAndroid Build Coastguard Worker * libdw.map: Add dwarf_getstring and dwarf_offabbrev. 3846*7304104dSAndroid Build Coastguard Worker * dwarf_getabbrev.c (__libdw_getabbrev): Add new dbg and result 3847*7304104dSAndroid Build Coastguard Worker parameters. Don't allocate memory if not necessary and don't lookup 3848*7304104dSAndroid Build Coastguard Worker previous results if no CU given. 3849*7304104dSAndroid Build Coastguard Worker (dwarf_getabbrev): Adjust call to __libdw_getabbrev. 3850*7304104dSAndroid Build Coastguard Worker * dwarf_tag.c: Adjust call to __libdw_getabbrev. 3851*7304104dSAndroid Build Coastguard Worker * libdw.h: Declare dwarf_offabbrev and dwarf_getstring. 3852*7304104dSAndroid Build Coastguard Worker * libdwP.h: Change prototype for __libdw_getabbrev. 3853*7304104dSAndroid Build Coastguard Worker 3854*7304104dSAndroid Build Coastguard Worker * dwarf_getabbrevattr.c: Add offsetp parameter. Fill in before 3855*7304104dSAndroid Build Coastguard Worker returning if this is wanted. 3856*7304104dSAndroid Build Coastguard Worker 3857*7304104dSAndroid Build Coastguard Worker2004-01-09 Ulrich Drepper <[email protected]> 3858*7304104dSAndroid Build Coastguard Worker 3859*7304104dSAndroid Build Coastguard Worker * dwarf_nextcu.c: Add new parameter offset_sizep. Initialize it 3860*7304104dSAndroid Build Coastguard Worker with offset_size value. 3861*7304104dSAndroid Build Coastguard Worker * libdw.h: Adjust dwarf_nextcu prototype. 3862*7304104dSAndroid Build Coastguard Worker * libdwP.h (struct Dwarf_CU): Add offset_size member. 3863*7304104dSAndroid Build Coastguard Worker * libdw_findcu.c: Adjust dwarf_nextcu call. Initialize offset_size 3864*7304104dSAndroid Build Coastguard Worker member of new CU struct. 3865*7304104dSAndroid Build Coastguard Worker * dwarf_formstring.c: Depend on offset_size not address_size for 3866*7304104dSAndroid Build Coastguard Worker DW_FORM_strp handling. 3867*7304104dSAndroid Build Coastguard Worker * dwarf_form.c: Likewise for DW_FORM_strp and DW_FORM_ref_addr. 3868*7304104dSAndroid Build Coastguard Worker 3869*7304104dSAndroid Build Coastguard Worker * dwarf_tag.c (__libdw_findabbrev): Return correct value for 3870*7304104dSAndroid Build Coastguard Worker failing lookup. 3871*7304104dSAndroid Build Coastguard Worker (dwarf_tag): Correctly recognize failed lookup. 3872*7304104dSAndroid Build Coastguard Worker 3873*7304104dSAndroid Build Coastguard Worker * dwarf_end.c (cu_free): Call tdestroy for locs member. Use new 3874*7304104dSAndroid Build Coastguard Worker function noop_free. 3875*7304104dSAndroid Build Coastguard Worker * dwarf_error.c: Add message for DWARF_E_NO_BLOCK. 3876*7304104dSAndroid Build Coastguard Worker * dwarf_formblock.c: New file. 3877*7304104dSAndroid Build Coastguard Worker * dwarf_getloclist.c: Rewrite to handle a single block. 3878*7304104dSAndroid Build Coastguard Worker * libdw.h: Define Dwarf_Block. Rename Dwarf_Loc members. Remove 3879*7304104dSAndroid Build Coastguard Worker Dwarf_Locdesc definition. Declare dwarf_formblock. Remove 3880*7304104dSAndroid Build Coastguard Worker dwarf_getloclistent declaration. 3881*7304104dSAndroid Build Coastguard Worker * libdw.map: Add dwarf_formblock, remove dwarf_getloclistent. 3882*7304104dSAndroid Build Coastguard Worker * libdwP.h: Define struct loc_s and DWARF_E_NO_BLOCK. 3883*7304104dSAndroid Build Coastguard Worker Add locs member to struct Dwarf_CU. 3884*7304104dSAndroid Build Coastguard Worker * libdw_fundcu.c: Initialize locs member of new CU. 3885*7304104dSAndroid Build Coastguard Worker * Makefile.am (libdw_a_SOURCES): Add dwarf_formblock.c. 3886*7304104dSAndroid Build Coastguard Worker Remove dwarf_getloclistent.c. 3887*7304104dSAndroid Build Coastguard Worker 3888*7304104dSAndroid Build Coastguard Worker2004-01-07 Ulrich Drepper <[email protected]> 3889*7304104dSAndroid Build Coastguard Worker 3890*7304104dSAndroid Build Coastguard Worker * libdw.h: Use __nonnull__ attribute only for gcc >= 3.3. 3891*7304104dSAndroid Build Coastguard Worker * libdwP.h: Likewise. 3892*7304104dSAndroid Build Coastguard Worker 3893*7304104dSAndroid Build Coastguard Worker * dwarf_getloclist.c: New file. 3894*7304104dSAndroid Build Coastguard Worker * dwarf_getloclistent.c: New file. 3895*7304104dSAndroid Build Coastguard Worker * libdw.h: Define Dwarf_Loc and Dwarf_Locdesc. 3896*7304104dSAndroid Build Coastguard Worker Declare dwarf_getloclistent and dwarf_getloclist. 3897*7304104dSAndroid Build Coastguard Worker * libdw.map: Add dwarf_getloclistent and dwarf_getloclist. 3898*7304104dSAndroid Build Coastguard Worker * libdwP.h: Define DWARF_E_NO_LOCLIST. 3899*7304104dSAndroid Build Coastguard Worker * Makefile.am (libdw_a_SOURCES): Add dwarf_getloclistent.c and 3900*7304104dSAndroid Build Coastguard Worker dwarf_getloclist.c. 3901*7304104dSAndroid Build Coastguard Worker 3902*7304104dSAndroid Build Coastguard Worker * dwarf_error.c: More error messages. 3903*7304104dSAndroid Build Coastguard Worker 3904*7304104dSAndroid Build Coastguard Worker2004-01-06 Ulrich Drepper <[email protected]> 3905*7304104dSAndroid Build Coastguard Worker 3906*7304104dSAndroid Build Coastguard Worker * dwarf_getsrclines.c: Remove debugging support. 3907*7304104dSAndroid Build Coastguard Worker 3908*7304104dSAndroid Build Coastguard Worker * dwarf_getsrcfiles.c: New file. 3909*7304104dSAndroid Build Coastguard Worker * dwarf_filesrc.c: New file. 3910*7304104dSAndroid Build Coastguard Worker * libdw.h: Declare these functions. Define Dwarf_File. 3911*7304104dSAndroid Build Coastguard Worker * libdwP.c: Adjust Dwarf_File_s definition. 3912*7304104dSAndroid Build Coastguard Worker * libdw.map: Add these functions. 3913*7304104dSAndroid Build Coastguard Worker * Makefile.am (libdw_a_SOURCES): Add dwarf_getsrcfiles.c and 3914*7304104dSAndroid Build Coastguard Worker dwarf_filesrc.c. 3915*7304104dSAndroid Build Coastguard Worker * dwarf_getsrclines.c: Initialize cu->files. 3916*7304104dSAndroid Build Coastguard Worker 3917*7304104dSAndroid Build Coastguard Worker2004-01-05 Ulrich Drepper <[email protected]> 3918*7304104dSAndroid Build Coastguard Worker 3919*7304104dSAndroid Build Coastguard Worker * libdw.h: Add more nonnull function attributes. 3920*7304104dSAndroid Build Coastguard Worker 3921*7304104dSAndroid Build Coastguard Worker * dwarf_begin_elf.c (dwarf_begin_elf): Don't initialize mem_tail->next. 3922*7304104dSAndroid Build Coastguard Worker * dwarf_end.c (cu_free): New function. 3923*7304104dSAndroid Build Coastguard Worker (dwarf_end): Also free CU tree. Correct freeing of memory blocks. 3924*7304104dSAndroid Build Coastguard Worker * dwarf_error.c (errmsgs): Add new messages. 3925*7304104dSAndroid Build Coastguard Worker * dwarf_getsrc_die.c: New file. 3926*7304104dSAndroid Build Coastguard Worker * dwarf_getsrclines.c: New file. 3927*7304104dSAndroid Build Coastguard Worker * dwarf_lineno.c: New file. 3928*7304104dSAndroid Build Coastguard Worker * dwarf_linesrc.c: New file. 3929*7304104dSAndroid Build Coastguard Worker * dwarf_nextcu.c (dwarf_nextcu): Use read_*byte_unaligned_inc 3930*7304104dSAndroid Build Coastguard Worker instead of the *_inc-less variants. 3931*7304104dSAndroid Build Coastguard Worker * libdw.h: Define Dwarf_Line. Add some function attributes. Declare 3932*7304104dSAndroid Build Coastguard Worker dwarf_getsrclines, dwarf_getsrc_die, dwarf_lineno, and dwarf_linesrc. 3933*7304104dSAndroid Build Coastguard Worker * libdw.map: Add dwarf_getsrclines, dwarf_getsrc_die, dwarf_lineno, 3934*7304104dSAndroid Build Coastguard Worker and dwarf_linesrc. 3935*7304104dSAndroid Build Coastguard Worker * libdwP.h: Add more error codes. 3936*7304104dSAndroid Build Coastguard Worker (struct Dwarf): Remove mem_tail.next member. 3937*7304104dSAndroid Build Coastguard Worker (Dwarf_File): Define type. 3938*7304104dSAndroid Build Coastguard Worker (struct Dwarf_Line_s): Define type. 3939*7304104dSAndroid Build Coastguard Worker (struct Dwarf_CU): Add lines and nlines members. 3940*7304104dSAndroid Build Coastguard Worker (libdw_alloc): Define local variable _tail and use it. 3941*7304104dSAndroid Build Coastguard Worker Add some function attributes. 3942*7304104dSAndroid Build Coastguard Worker * libdw_alloc.c (__libdw_allocate): Don't initialize next member. 3943*7304104dSAndroid Build Coastguard Worker * libdw_findcu.c (__libdw_findcu): Initialize lines and nlines members. 3944*7304104dSAndroid Build Coastguard Worker * memory-access.h: Add unlikely for the endian conversion paths. 3945*7304104dSAndroid Build Coastguard Worker * Makefile.am (AM_CFLAGS): Add -std parameter. 3946*7304104dSAndroid Build Coastguard Worker (libdw_a_SOURCES): Add dwarf_getsrclines, dwarf_getsrc_die, 3947*7304104dSAndroid Build Coastguard Worker dwarf_lineno, and dwarf_linesrc. 3948*7304104dSAndroid Build Coastguard Worker 3949*7304104dSAndroid Build Coastguard Worker2003-08-11 Ulrich Drepper <[email protected]> 3950*7304104dSAndroid Build Coastguard Worker 3951*7304104dSAndroid Build Coastguard Worker * Moved to CVS archive. 3952