xref: /aosp_15_r20/external/elfutils/libdw/ChangeLog (revision 7304104da70ce23c86437a01be71edd1a2d7f37e)
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