1da0c48c4Sopenharmony_ci2022-10-28  Arsen Arsenović  <arsen@aarsen.me>
2da0c48c4Sopenharmony_ci
3da0c48c4Sopenharmony_ci	* readelf.c (options): Add Binutils-style --syms alias.
4da0c48c4Sopenharmony_ci
5da0c48c4Sopenharmony_ci2022-10-19  Mark Wielaard  <mark@klomp.org>
6da0c48c4Sopenharmony_ci
7da0c48c4Sopenharmony_ci	* readelf.c (dwarf_loc_list_encoding_string): Handle
8da0c48c4Sopenharmony_ci	DW_LLE_GNU_view_pair.
9da0c48c4Sopenharmony_ci	(print_debug_loclists_section): Likewise.
10da0c48c4Sopenharmony_ci
11da0c48c4Sopenharmony_ci2022-09-20  Yonggang Luo  <luoyonggang@gmail.com>
12da0c48c4Sopenharmony_ci
13da0c48c4Sopenharmony_ci	* arlib.h: Use BYTE_ORDER, LITTLE_ENDIAN and BIG_ENDIAN.
14da0c48c4Sopenharmony_ci
15da0c48c4Sopenharmony_ci2022-08-28  Mark Wielaard  <mark@klomp.org>
16da0c48c4Sopenharmony_ci
17da0c48c4Sopenharmony_ci	* ar.c (do_oper_extract): Predecrement instance before compare
18da0c48c4Sopenharmony_ci	to zero.
19da0c48c4Sopenharmony_ci	(do_oper_delete): Likewise.
20da0c48c4Sopenharmony_ci
21da0c48c4Sopenharmony_ci2022-08-10  Andreas Schwab  <schwab@suse.de>
22da0c48c4Sopenharmony_ci
23da0c48c4Sopenharmony_ci	* readelf.c (print_attributes): Also handle SHT_RISCV_ATTRIBUTES.
24da0c48c4Sopenharmony_ci
25da0c48c4Sopenharmony_ci2022-08-09  Andreas Schwab  <schwab@suse.de>
26da0c48c4Sopenharmony_ci
27da0c48c4Sopenharmony_ci	* elflint.c (check_program_header): Don't complain about p_filesz
28da0c48c4Sopenharmony_ci	> p_memsz if p_memsz is zero and p_type is PT_RISCV_ATTRIBUTES.
29da0c48c4Sopenharmony_ci
30da0c48c4Sopenharmony_ci2022-08-01  Mark Wielaard  <mark@klomp.org>
31da0c48c4Sopenharmony_ci
32da0c48c4Sopenharmony_ci	* readelf.c (handle_dynamic): Pass start of buffer to memrchr.
33da0c48c4Sopenharmony_ci	Use dyn->d_un.d_val for offsets instead of d_ptr.
34da0c48c4Sopenharmony_ci
35da0c48c4Sopenharmony_ci2022-04-28  Di Chen  <dichen@redhat.com>
36da0c48c4Sopenharmony_ci
37da0c48c4Sopenharmony_ci	* readelf.c (options): Add use-dynamic 'D'.
38da0c48c4Sopenharmony_ci	(use_dynamic_segment): New static bool.
39da0c48c4Sopenharmony_ci	(enum dyn_idx): New.
40da0c48c4Sopenharmony_ci	(get_dynscn_strtab): New function.
41da0c48c4Sopenharmony_ci	(get_dynscn_addrs): Likewise.
42da0c48c4Sopenharmony_ci	(find_offsets): Likewise.
43da0c48c4Sopenharmony_ci	(parse_opt): Handle 'D'.
44da0c48c4Sopenharmony_ci	(handle_dynamic): New argument phdr. Get data either through the shdr
45da0c48c4Sopenharmony_ci	or phdr.  Print segment info when use_dynamic_segment. Use
46da0c48c4Sopenharmony_ci	get_dynscn_strtab. Get library name and paths through strtab_data.
47da0c48c4Sopenharmony_ci
48da0c48c4Sopenharmony_ci2022-05-09  Mark Wielaard  <mark@klomp.org>
49da0c48c4Sopenharmony_ci
50da0c48c4Sopenharmony_ci	* strip.c (remove_debug_relocations): Check gelf_getshdr, gelf_getrela,
51da0c48c4Sopenharmony_ci	gelf_getrel and gelf_getsymshndx don't return NULL.
52da0c48c4Sopenharmony_ci
53da0c48c4Sopenharmony_ci2022-05-10  Mark Wielaard  <mark@klomp.org>
54da0c48c4Sopenharmony_ci
55da0c48c4Sopenharmony_ci	* elfcompress.c (process_file): Sanity check shstrtab_name,
56da0c48c4Sopenharmony_ci	shstrtab_newname and symstrents are only set once.
57da0c48c4Sopenharmony_ci
58da0c48c4Sopenharmony_ci2022-04-24  Mark Wielaard  <mark@klomp.org>
59da0c48c4Sopenharmony_ci
60da0c48c4Sopenharmony_ci	* elfclassify.c (main): Use classify_flag_no_stdin for no-std in options.
61da0c48c4Sopenharmony_ci
62da0c48c4Sopenharmony_ci2022-04-19  Mark Wielaard  <mark@klomp.org>
63da0c48c4Sopenharmony_ci
64da0c48c4Sopenharmony_ci	* readelf.c (get_dyn_ents): Define dyn_mem outside the while loop.
65da0c48c4Sopenharmony_ci
66da0c48c4Sopenharmony_ci2022-03-01  Di Chen  <dichen@redhat.com>
67da0c48c4Sopenharmony_ci
68da0c48c4Sopenharmony_ci	* readelf.c (get_dyn_ents): New function.
69da0c48c4Sopenharmony_ci	(handle_dynamic): Use get_dyn_ents to get the actual number of
70da0c48c4Sopenharmony_ci	Dynamic entries in the section.
71da0c48c4Sopenharmony_ci
72da0c48c4Sopenharmony_ci2022-03-27  Mark Wielaard  <mark@klomp.org>
73da0c48c4Sopenharmony_ci
74da0c48c4Sopenharmony_ci	* addr2line.c: Replace error (EXIT_FAILURE, ...) with error_exit(...).
75da0c48c4Sopenharmony_ci	* ar.c: Likewise.
76da0c48c4Sopenharmony_ci	* arlib.c: Likewise.
77da0c48c4Sopenharmony_ci	* elfcompress.c: Likewise.
78da0c48c4Sopenharmony_ci	* nm.c: Likewise.
79da0c48c4Sopenharmony_ci	* objdump.c: Likewise.
80da0c48c4Sopenharmony_ci	* readelf.c: Likewise.
81da0c48c4Sopenharmony_ci	* size.c: Likewise.
82da0c48c4Sopenharmony_ci	* strings.c: Likewise.
83da0c48c4Sopenharmony_ci	* strip.c: Likewise.
84da0c48c4Sopenharmony_ci	* unstrip.c: Likewise.
85da0c48c4Sopenharmony_ci
86da0c48c4Sopenharmony_ci2022-03-24  Mark Wielaard  <mark@klomp.org>
87da0c48c4Sopenharmony_ci
88da0c48c4Sopenharmony_ci	* elflint.c (check_note_data): Recognize NT_FDO_PACKAGING_METADATA.
89da0c48c4Sopenharmony_ci
90da0c48c4Sopenharmony_ci2022-03-11  Mark Wielaard  <mark@klomp.org>
91da0c48c4Sopenharmony_ci
92da0c48c4Sopenharmony_ci	* addr2line.c (OPT_RELATIVE): New constant.
93da0c48c4Sopenharmony_ci	(options): Add --relative.
94da0c48c4Sopenharmony_ci	(use_comp_dir): Initialize to true.
95da0c48c4Sopenharmony_ci	(parse_opt): Handle OPT_RELATIVE.
96da0c48c4Sopenharmony_ci
97da0c48c4Sopenharmony_ci2021-12-04  Mark Wielaard  <mark@klomp.org>
98da0c48c4Sopenharmony_ci
99da0c48c4Sopenharmony_ci	* readelf.c (print_ehdr): Pass sizeof (buf) - 1 to strncpy.
100da0c48c4Sopenharmony_ci
101da0c48c4Sopenharmony_ci2021-10-20  John M Mellor-Crummey  <johnmc@rice.edu>
102da0c48c4Sopenharmony_ci
103da0c48c4Sopenharmony_ci	* readelf.c (print_debug_line_section): Try to read
104da0c48c4Sopenharmony_ci	debug_str_offset if available.  Handle DW_LNE_NVIDIA_inlined_call
105da0c48c4Sopenharmony_ci	and DW_LNE_NVIDIA_set_function_name.
106da0c48c4Sopenharmony_ci
107da0c48c4Sopenharmony_ci2021-10-06  Mark Wielaard  <mark@klomp.org>
108da0c48c4Sopenharmony_ci
109da0c48c4Sopenharmony_ci	* elflint.c (check_sections): Don't dereference databits if bad.
110da0c48c4Sopenharmony_ci
111da0c48c4Sopenharmony_ci2021-09-09  Dmitry V. Levin  <ldv@altlinux.org>
112da0c48c4Sopenharmony_ci
113da0c48c4Sopenharmony_ci	* findtextrel.c: Include "libeu.h".
114da0c48c4Sopenharmony_ci	(open_rootdir_file): New function.
115da0c48c4Sopenharmony_ci	(process_file): Use it to open file inside rootdir.
116da0c48c4Sopenharmony_ci	* Makefile.am (findtextrel_no_Wstack_usage): Remove.
117da0c48c4Sopenharmony_ci
118da0c48c4Sopenharmony_ci2021-09-06  Dmitry V. Levin  <ldv@altlinux.org>
119da0c48c4Sopenharmony_ci
120da0c48c4Sopenharmony_ci	* objdump.c (show_disasm): Replace asprintf followed by
121da0c48c4Sopenharmony_ci	error(EXIT_FAILURE) with xasprintf.
122da0c48c4Sopenharmony_ci	* readelf.c (handle_gnu_hash): Likewise.
123da0c48c4Sopenharmony_ci	* unstrip.c (handle_output_dir_module, main): Likewise.
124da0c48c4Sopenharmony_ci
125da0c48c4Sopenharmony_ci	* elflint.c (check_sections): Remove cast of xcalloc return value.
126da0c48c4Sopenharmony_ci	* findtextrel.c (process_file): Remove casts of malloc and realloc
127da0c48c4Sopenharmony_ci	return values.
128da0c48c4Sopenharmony_ci	* nm.c (get_local_names, show_symbols_sysv, show_symbols): Remove
129da0c48c4Sopenharmony_ci	casts of xmalloc return values.
130da0c48c4Sopenharmony_ci	* readelf.c (print_hash_info, handle_sysv_hash, handle_sysv_hash64,
131da0c48c4Sopenharmony_ci	handle_gnu_hash): Remove cast of xcalloc return value.
132da0c48c4Sopenharmony_ci	(print_debug_units): Remove casts of xmalloc return values.
133da0c48c4Sopenharmony_ci	* strip.c (handle_elf): Remove casts of xcalloc and xmalloc return
134da0c48c4Sopenharmony_ci	values.
135da0c48c4Sopenharmony_ci
136da0c48c4Sopenharmony_ci2021-09-05  Dmitry V. Levin  <ldv@altlinux.org>
137da0c48c4Sopenharmony_ci
138da0c48c4Sopenharmony_ci	* Makefile.am (AM_LDFLAGS): Add $(STACK_USAGE_NO_ERROR).
139da0c48c4Sopenharmony_ci
140da0c48c4Sopenharmony_ci2021-08-20  Saleem Abdulrasool  <abdulras@google.com>
141da0c48c4Sopenharmony_ci
142da0c48c4Sopenharmony_ci	* elfclassify.c: Remove error.h include.
143da0c48c4Sopenharmony_ci
144da0c48c4Sopenharmony_ci2021-03-18  Timm Bäder  <tbaeder@redhat.com>
145da0c48c4Sopenharmony_ci
146da0c48c4Sopenharmony_ci	* readelf.c (run_advance_pc): New static inline function
147da0c48c4Sopenharmony_ci	lifted from...
148da0c48c4Sopenharmony_ci	(print_debug_line_section): ... here. Define advance_pc
149da0c48c4Sopenharmony_ci	using run_advance_pc.
150da0c48c4Sopenharmony_ci
151da0c48c4Sopenharmony_ci2021-07-03  Mark Wielaard  <mark@klomp.org>
152da0c48c4Sopenharmony_ci
153da0c48c4Sopenharmony_ci	* readelf.c (compare_listptr): Fix dwarf_attr_name argument.
154da0c48c4Sopenharmony_ci
155da0c48c4Sopenharmony_ci2021-06-18  Mark Wielaard  <mark@klomp.org>
156da0c48c4Sopenharmony_ci
157da0c48c4Sopenharmony_ci	* unstrip.c (adjust_relocs): Check gelf_getrel and geld_getrela.
158da0c48c4Sopenharmony_ci
159da0c48c4Sopenharmony_ci2021-06-18  Mark Wielaard  <mark@klomp.org>
160da0c48c4Sopenharmony_ci
161da0c48c4Sopenharmony_ci	* strip.c (remove_debug_relocations): Check gelf_update results.
162da0c48c4Sopenharmony_ci	(update_section_size): Likewise.
163da0c48c4Sopenharmony_ci
164da0c48c4Sopenharmony_ci2021-06-06  Sergei Trofimovich  <slyfox@gentoo.org>
165da0c48c4Sopenharmony_ci
166da0c48c4Sopenharmony_ci	* elflint.c (buffer_left): Mark as 'static' to avoid external linkage
167da0c48c4Sopenharmony_ci	failure.
168da0c48c4Sopenharmony_ci
169da0c48c4Sopenharmony_ci2021-05-12  Dmitry V. Levin  <ldv@altlinux.org>
170da0c48c4Sopenharmony_ci
171da0c48c4Sopenharmony_ci	* elfcompress.c (process_file): Return 1 instead of -1 in case of an
172da0c48c4Sopenharmony_ci	error.
173da0c48c4Sopenharmony_ci
174da0c48c4Sopenharmony_ci	* elfcompress.c (process_file): Remove redundant assignment in case of
175da0c48c4Sopenharmony_ci	"Nothing to do".
176da0c48c4Sopenharmony_ci
177da0c48c4Sopenharmony_ci	* elfcompress.c (process_file): Set res to 0 in case of "Nothing to do".
178da0c48c4Sopenharmony_ci
179da0c48c4Sopenharmony_ci2021-04-19  Martin Liska  <mliska@suse.cz>
180da0c48c4Sopenharmony_ci
181da0c48c4Sopenharmony_ci	* elfclassify.c (run_classify): Use startswith.
182da0c48c4Sopenharmony_ci	* elfcompress.c (process_file): Likewise.
183da0c48c4Sopenharmony_ci	* nm.c (show_symbols_sysv): Likewise.
184da0c48c4Sopenharmony_ci	* readelf.c (print_debug): Likewise.
185da0c48c4Sopenharmony_ci	(handle_notes_data): Likewise.
186da0c48c4Sopenharmony_ci	(dump_data_section): Likewise.
187da0c48c4Sopenharmony_ci	(print_string_section): Likewise.
188da0c48c4Sopenharmony_ci	* strip.c (remove_debug_relocations): Likewise.
189da0c48c4Sopenharmony_ci
190da0c48c4Sopenharmony_ci2021-04-03  Mark Wielaard  <mark@klomp.org>
191da0c48c4Sopenharmony_ci
192da0c48c4Sopenharmony_ci	* nm.c (show_symbols): close dwfl_fd if dwfl_begin fails.
193da0c48c4Sopenharmony_ci
194da0c48c4Sopenharmony_ci2021-04-03  Mark Wielaard  <mark@klomp.org>
195da0c48c4Sopenharmony_ci
196da0c48c4Sopenharmony_ci	* unstrip.c (handle_output_dir_module): Free output_file when done.
197da0c48c4Sopenharmony_ci
198da0c48c4Sopenharmony_ci2021-04-03  Mark Wielaard  <mark@klomp.org>
199da0c48c4Sopenharmony_ci
200da0c48c4Sopenharmony_ci	* ar.c (do_oper_insert): Always close newfd.
201da0c48c4Sopenharmony_ci
202da0c48c4Sopenharmony_ci2021-03-03  Mark Wielaard  <mark@klomp.org>
203da0c48c4Sopenharmony_ci
204da0c48c4Sopenharmony_ci	* readelf.c (handle_symtab): Sanity check verneed vna_next,
205da0c48c4Sopenharmony_ci	vn_next and verdef vd_next offsets.
206da0c48c4Sopenharmony_ci
207da0c48c4Sopenharmony_ci2021-03-02  Timm Bäder  <tbaeder@redhat.com>
208da0c48c4Sopenharmony_ci
209da0c48c4Sopenharmony_ci	* elfcompress.c (process_file): Remove cleanup() function and
210da0c48c4Sopenharmony_ci	replace it with a cleanup label at the end of the function.
211da0c48c4Sopenharmony_ci	Initialize res to -1.
212da0c48c4Sopenharmony_ci
213da0c48c4Sopenharmony_ci2021-02-17  Timm Bäder  <tbaeder@redhat.com>
214da0c48c4Sopenharmony_ci
215da0c48c4Sopenharmony_ci	* elfcompress.c (process_file): Move get_sections function...
216da0c48c4Sopenharmony_ci	(get_section): ...to top-level static function taking an
217da0c48c4Sopenharmony_ci	sections array and shnum.
218da0c48c4Sopenharmony_ci
219da0c48c4Sopenharmony_ci2021-02-17  Timm Bäder  <tbaeder@redhat.com>
220da0c48c4Sopenharmony_ci
221da0c48c4Sopenharmony_ci	* elfcompress.c (process_file): Move get_section function...
222da0c48c4Sopenharmony_ci	(get_section): ...to top-level static function taking an
223da0c48c4Sopenharmony_ci	sections array.
224da0c48c4Sopenharmony_ci
225da0c48c4Sopenharmony_ci2021-02-17  Timm Bäder  <tbaeder@redhat.com>
226da0c48c4Sopenharmony_ci
227da0c48c4Sopenharmony_ci	* elfcompress.c (process_file): Move set_section function...
228da0c48c4Sopenharmony_ci	(set_section): ...to top-level static function taking a
229da0c48c4Sopenharmony_ci	section array.
230da0c48c4Sopenharmony_ci
231da0c48c4Sopenharmony_ci2021-02-17  Timm Bäder  <tbaeder@redhat.com>
232da0c48c4Sopenharmony_ci
233da0c48c4Sopenharmony_ci	* unstrip.c (handle_implicit_modules): Inline the next function
234da0c48c4Sopenharmony_ci	in three places. This is simply dwfl_getmodules with match_module
235da0c48c4Sopenharmony_ci	callback providing mmi.
236da0c48c4Sopenharmony_ci
237da0c48c4Sopenharmony_ci2021-02-17  Timm Bäder  <tbaeder@redhat.com>
238da0c48c4Sopenharmony_ci
239da0c48c4Sopenharmony_ci	* unstrip.c (handle_explicit_files): Move warn function...
240da0c48c4Sopenharmony_ci	(warn): ...here as top-level static function taking stripped,
241da0c48c4Sopenharmony_ci	unstripped files and force flag as extra arguments.
242da0c48c4Sopenharmony_ci
243da0c48c4Sopenharmony_ci2021-02-17  Timm Bäder  <tbaeder@redhat.com>
244da0c48c4Sopenharmony_ci
245da0c48c4Sopenharmony_ci	* unstrip.c (copy_elided_sections): Inline find_unalloc_section
246da0c48c4Sopenharmony_ci	function into calling location. The sec pointer is set to NULL
247da0c48c4Sopenharmony_ci	before the if-else statement and only set when match is found.
248da0c48c4Sopenharmony_ci
249da0c48c4Sopenharmony_ci2021-02-17  Timm Bäder  <tbaeder@redhat.com>
250da0c48c4Sopenharmony_ci
251da0c48c4Sopenharmony_ci	* unstrip.c (find_alloc_sections_prelink): Move check_match to...
252da0c48c4Sopenharmony_ci	(check_match): Adjusted to return whether there was no match,
253da0c48c4Sopenharmony_ci	which indicates a failure. So callers are adjusted to or the
254da0c48c4Sopenharmony_ci	result into a local fail boolean.
255da0c48c4Sopenharmony_ci
256da0c48c4Sopenharmony_ci2021-02-17  Timm Bäder  <tbaeder@redhat.com>
257da0c48c4Sopenharmony_ci
258da0c48c4Sopenharmony_ci	* unstrip.c (adjust_relocs): Move adjust_reloc function to...
259da0c48c4Sopenharmony_ci	(adjust_reloc): ... here as static top-level function taking
260da0c48c4Sopenharmony_ci	a map array and size as extra arguments.
261da0c48c4Sopenharmony_ci
262da0c48c4Sopenharmony_ci2021-02-17  Timm Bäder  <tbaeder@redhat.com>
263da0c48c4Sopenharmony_ci
264da0c48c4Sopenharmony_ci	* elflint.c (check_attributes): Rename and move left function...
265da0c48c4Sopenharmony_ci	(buffer_left): ...as static toplevel function taking both an
266da0c48c4Sopenharmony_ci	Elf_Data pointer argument and the unsigned char pointer p.
267da0c48c4Sopenharmony_ci
268da0c48c4Sopenharmony_ci2021-02-17  Timm Bäder  <tbaeder@redhat.com>
269da0c48c4Sopenharmony_ci
270da0c48c4Sopenharmony_ci	* elflint.c (check_attributes): Rename and move pos function...
271da0c48c4Sopenharmony_ci	(buffer_pos): ...as static toplevel function taking an extra
272da0c48c4Sopenharmony_ci	Elf_Data pointer argument.
273da0c48c4Sopenharmony_ci
274da0c48c4Sopenharmony_ci2021-02-12  Mark Wielaard  <mark@klomp.org>
275da0c48c4Sopenharmony_ci
276da0c48c4Sopenharmony_ci	* readelf.c (print_debug_units): Type DIE offset is from start CU.
277da0c48c4Sopenharmony_ci
278da0c48c4Sopenharmony_ci2021-02-12  Mark Wielaard  <mark@klomp.org>
279da0c48c4Sopenharmony_ci
280da0c48c4Sopenharmony_ci	* readelf.c (attr_callback): Don't handle blocks as expression
281da0c48c4Sopenharmony_ci	blocks for DWARF version 4 or higher.
282da0c48c4Sopenharmony_ci
283da0c48c4Sopenharmony_ci2021-02-03 Timm Bäder <tbaeder@redhat.com>
284da0c48c4Sopenharmony_ci
285da0c48c4Sopenharmony_ci	* ar.c (do_oper_extract): Extract should_truncate_fname function
286da0c48c4Sopenharmony_ci	to...
287da0c48c4Sopenharmony_ci	(should_truncate_fname): ...here. New file scope function taking
288da0c48c4Sopenharmony_ci	size_t pointer to be read and/or set.
289da0c48c4Sopenharmony_ci
290da0c48c4Sopenharmony_ci2021-02-02 Timm Bäder <tbaeder@redhat.com>
291da0c48c4Sopenharmony_ci
292da0c48c4Sopenharmony_ci	* readelf.c (print_debug_line_section): Remove unnecessary
293da0c48c4Sopenharmony_ci	show_op_index variable, replace with (op_index > 0).
294da0c48c4Sopenharmony_ci
295da0c48c4Sopenharmony_ci2021-01-08  Timm Bäder  <tbaeder@redhat.com>
296da0c48c4Sopenharmony_ci
297da0c48c4Sopenharmony_ci	* readelf.c (print_cfa_program): Lift regname function to...
298da0c48c4Sopenharmony_ci	(regname): ...here. New file scope function add ebl and regnamebuf
299da0c48c4Sopenharmony_ci	as arguments.
300da0c48c4Sopenharmony_ci
301da0c48c4Sopenharmony_ci2021-01-08  Timm Bäder  <tbaeder@redhat.com>
302da0c48c4Sopenharmony_ci
303da0c48c4Sopenharmony_ci	* readelf.c (print_attributes): Lift left function to...
304da0c48c4Sopenharmony_ci	(left): ...here. New file scope function taking Elf_Data and char
305da0c48c4Sopenharmony_ci	pointers.
306da0c48c4Sopenharmony_ci
307da0c48c4Sopenharmony_ci2021-01-08  Timm Bäder  <tbaeder@redhat.com>
308da0c48c4Sopenharmony_ci
309da0c48c4Sopenharmony_ci	* readelf.c (handle_core_registers): Lift same_set function to...
310da0c48c4Sopenharmony_ci	(same_set): ...here. New file scope function adding regs and
311da0c48c4Sopenharmony_ci	maxnreg arguments.
312da0c48c4Sopenharmony_ci
313da0c48c4Sopenharmony_ci2021-01-08  Timm Bäder  <tbaeder@redhat.com>
314da0c48c4Sopenharmony_ci
315da0c48c4Sopenharmony_ci	* readelf.c (parse_opt): Lift add_dump_section function to...
316da0c48c4Sopenharmony_ci	(add_dump_section): ...here. New top level function. Added key
317da0c48c4Sopenharmony_ci	argument.
318da0c48c4Sopenharmony_ci
319da0c48c4Sopenharmony_ci2021-01-08  Timm Bäder  <tbaeder@redhat.com>
320da0c48c4Sopenharmony_ci
321da0c48c4Sopenharmony_ci	* arlib-argp.c (help_filter): Lift text_for_default function to...
322da0c48c4Sopenharmony_ci	(text_for_default): ... here. New file scope function taking text
323da0c48c4Sopenharmony_ci	as argument.
324da0c48c4Sopenharmony_ci
325da0c48c4Sopenharmony_ci2021-01-08  Timm Bäder  <tbaeder@redhat.com>
326da0c48c4Sopenharmony_ci
327da0c48c4Sopenharmony_ci	* addr2line.c (handle_address): Move show_note and show_int up to
328da0c48c4Sopenharmony_ci	file scope.
329da0c48c4Sopenharmony_ci	(show_note: New static inline function.
330da0c48c4Sopenharmony_ci	(show_int): Likewise.
331da0c48c4Sopenharmony_ci
332da0c48c4Sopenharmony_ci2021-01-08  Timm Bäder  <tbaeder@redhat.com>
333da0c48c4Sopenharmony_ci
334da0c48c4Sopenharmony_ci	* strip.c (handle_elf): Remove no_symtab_updates function and
335da0c48c4Sopenharmony_ci	calls inside the switch statement. Add checks and (possibly)
336da0c48c4Sopenharmony_ci	continue, before switch statement is called.
337da0c48c4Sopenharmony_ci
338da0c48c4Sopenharmony_ci2021-01-08  Timm Bäder  <tbaeder@redhat.com>
339da0c48c4Sopenharmony_ci
340da0c48c4Sopenharmony_ci	* strip.c (handle_elf): Move inlined update_section_size function
341da0c48c4Sopenharmony_ci	to...
342da0c48c4Sopenharmony_ci	(update_section_size): ...here. New static function that takes as
343da0c48c4Sopenharmony_ci	extra arguments the Elf_Scn, debug_elf, section cnt and fname.
344da0c48c4Sopenharmony_ci
345da0c48c4Sopenharmony_ci2021-01-08  Timm Bäder  <tbaeder@redhat.com>
346da0c48c4Sopenharmony_ci
347da0c48c4Sopenharmony_ci	* strip.c (remove_debug_relocations): Rewrite inlined relocate
348da0c48c4Sopenharmony_ci	function to file static. Do R_*_NONE, reloc_simple_type and
349da0c48c4Sopenharmony_ci	ebl_debug_scn_p checks before calling new relocate function.
350da0c48c4Sopenharmony_ci	(relocate): New file static function from
351da0c48c4Sopenharmony_ci	remove_debug_relocate. Remove R_*_NONE, reloc_simple_type and
352da0c48c4Sopenharmony_ci	ebl_debugscn_p checks.
353da0c48c4Sopenharmony_ci
354da0c48c4Sopenharmony_ci2021-01-08  Timm Bäder  <tbaeder@redhat.com>
355da0c48c4Sopenharmony_ci
356da0c48c4Sopenharmony_ci	* strip.c (handle_elf): Expand inlined function check_preserved.
357da0c48c4Sopenharmony_ci
358da0c48c4Sopenharmony_ci2021-01-12  Mark Wielaard  <mark@klomp.org>
359da0c48c4Sopenharmony_ci
360da0c48c4Sopenharmony_ci	* elflint.c (EXTRA_SHFLAGS): New define.
361da0c48c4Sopenharmony_ci	(check_sections): Use EXTRA_SHFLAGS. Add SHF_GNU_RETAIN to
362da0c48c4Sopenharmony_ci	ALL_SH_FLAGS.
363da0c48c4Sopenharmony_ci
364da0c48c4Sopenharmony_ci2020-12-31  Sergei Trofimovich  <slyfox@gentoo.org>
365da0c48c4Sopenharmony_ci
366da0c48c4Sopenharmony_ci	* elflint.c (section_flags_string): Add NEWFLAG for GNU_RETAIN,
367da0c48c4Sopenharmony_ci	ORDERED and EXCLUDE.
368da0c48c4Sopenharmony_ci
369da0c48c4Sopenharmony_ci2020-12-31  Sergei Trofimovich  <slyfox@gentoo.org>
370da0c48c4Sopenharmony_ci
371da0c48c4Sopenharmony_ci	* elflint.c (section_flags_string): Update cp pointer after
372da0c48c4Sopenharmony_ci	snprintf for unknown flags.
373da0c48c4Sopenharmony_ci
374da0c48c4Sopenharmony_ci2020-12-16  Érico Nogueira  <ericonr@disroot.org>
375da0c48c4Sopenharmony_ci
376da0c48c4Sopenharmony_ci	* readelf.c (qsort_r): Use qsort for improved portability.
377da0c48c4Sopenharmony_ci
378da0c48c4Sopenharmony_ci2020-12-20  Dmitry V. Levin  <ldv@altlinux.org>
379da0c48c4Sopenharmony_ci
380da0c48c4Sopenharmony_ci	* .gitignore: New file.
381da0c48c4Sopenharmony_ci
382da0c48c4Sopenharmony_ci2020-12-12  Mark Wielaard  <mark@klomp.org>
383da0c48c4Sopenharmony_ci
384da0c48c4Sopenharmony_ci	* elflint.c (check_sections): Handle SHF_GNU_RETAIN.
385da0c48c4Sopenharmony_ci	* readelf.c (print_shdr): Likewise.
386da0c48c4Sopenharmony_ci
387da0c48c4Sopenharmony_ci2020-12-16  Dmitry V. Levin  <ldv@altlinux.org>
388da0c48c4Sopenharmony_ci
389da0c48c4Sopenharmony_ci	* *.c: Replace gettext(...) with _(...).
390da0c48c4Sopenharmony_ci
391da0c48c4Sopenharmony_ci	* unstrip.c (_): Remove.
392da0c48c4Sopenharmony_ci
393da0c48c4Sopenharmony_ci2020-12-15  Mark Wielaard  <mark@klomp.org>
394da0c48c4Sopenharmony_ci
395da0c48c4Sopenharmony_ci	* elflint.c (check_symtab): Always print symbol name (if known)
396da0c48c4Sopenharmony_ci	in error messages.
397da0c48c4Sopenharmony_ci
398da0c48c4Sopenharmony_ci2020-12-12  Dmitry V. Levin  <ldv@altlinux.org>
399da0c48c4Sopenharmony_ci
400da0c48c4Sopenharmony_ci	* ar.c (write_member, do_oper_insert): Fix spelling typo in comment.
401da0c48c4Sopenharmony_ci	* elfclassify.c (issue, elf_issue, is_unstripped): Likewise.
402da0c48c4Sopenharmony_ci	* elfcompress.c (process_file): Likewise.
403da0c48c4Sopenharmony_ci	* elflint.c (be_quiet, check_gnu_hash): Likewise.
404da0c48c4Sopenharmony_ci	* readelf.c (print_phdr, handle_gnu_hash,
405da0c48c4Sopenharmony_ci	dwarf_locexpr_opcode_string): Likewise.
406da0c48c4Sopenharmony_ci	* size.c (totals_class): Likewise.
407da0c48c4Sopenharmony_ci	* strings.c (read_elf): Likewise.
408da0c48c4Sopenharmony_ci	* strip.c (handle_elf): Likewise.
409da0c48c4Sopenharmony_ci
410da0c48c4Sopenharmony_ci	* readelf.c (print_debug_addr_section): Fix spelling typo in error
411da0c48c4Sopenharmony_ci	diagnostics.
412da0c48c4Sopenharmony_ci	* strip.c (options): Fix spelling typos in argp help text.
413da0c48c4Sopenharmony_ci	* strings.c (options): Likewise.
414da0c48c4Sopenharmony_ci	* stack.c (options): Likewise.
415da0c48c4Sopenharmony_ci
416da0c48c4Sopenharmony_ci2020-11-01  Érico N. Rolim  <erico.erc@gmail.com>
417da0c48c4Sopenharmony_ci
418da0c48c4Sopenharmony_ci	* unstrip.c (make_directories): Use ACCESSPERMS for mkdir.
419da0c48c4Sopenharmony_ci	(handle_file): Use DEFFILEMODE for open with O_CREAT for ET_REL
420da0c48c4Sopenharmony_ci	files, ACCESSPERMS otherwise.
421da0c48c4Sopenharmony_ci
422da0c48c4Sopenharmony_ci2020-11-01  Érico N. Rolim  <erico.erc@gmail.com>
423da0c48c4Sopenharmony_ci
424da0c48c4Sopenharmony_ci	* Makefile.am (nm_LDADD): Add obstack_LIBS.
425da0c48c4Sopenharmony_ci	(ranlib_LDADD): Likewise.
426da0c48c4Sopenharmony_ci	(ar_LDADD): Likewise.
427da0c48c4Sopenharmony_ci
428da0c48c4Sopenharmony_ci2020-10-27  Érico N. Rolim  <erico.erc@gmail.com>
429da0c48c4Sopenharmony_ci
430da0c48c4Sopenharmony_ci	* unstrip.c (make_directories): Use strndup, not strndupa.
431da0c48c4Sopenharmony_ci
432da0c48c4Sopenharmony_ci2020-09-28  Mark Wielaard  <mark@klomp.org>
433da0c48c4Sopenharmony_ci
434da0c48c4Sopenharmony_ci	* readelf.c (next_listptr_offset): Take idx as pointer, to be updated
435da0c48c4Sopenharmony_ci	and use new Dwarf_Off as offset to match.
436da0c48c4Sopenharmony_ci	(listptr_attr): New function.
437da0c48c4Sopenharmony_ci	(print_debug_loclists_section): Check for DW_AT_GNU_locviews to show
438da0c48c4Sopenharmony_ci	view pairs.
439da0c48c4Sopenharmony_ci	(print_debug_loc_section): Adjust next_listptr_offset call.
440da0c48c4Sopenharmony_ci
441da0c48c4Sopenharmony_ci2020-09-03  Mark Wielaard  <mark@klomp.org>
442da0c48c4Sopenharmony_ci
443da0c48c4Sopenharmony_ci	* readelf.c (print_cfa_program): Take ehdr as argument. Use it to
444da0c48c4Sopenharmony_ci	recognize DW_CFA_AARCH64_negate_ra_state.
445da0c48c4Sopenharmony_ci	(print_debug_frame_section): Pass ehdr to print_cfa_program.
446da0c48c4Sopenharmony_ci	(print_debug): Don't warn if we dump frames, but cannot get dbg.
447da0c48c4Sopenharmony_ci
448da0c48c4Sopenharmony_ci2020-09-01  Mark Wielaard  <mark@klomp.org>
449da0c48c4Sopenharmony_ci
450da0c48c4Sopenharmony_ci	* readelf.c (print_debug_ranges_section): Base address entry can
451da0c48c4Sopenharmony_ci	be first.
452da0c48c4Sopenharmony_ci	(print_debug_loc_section): Likewise.
453da0c48c4Sopenharmony_ci
454da0c48c4Sopenharmony_ci2020-09-04  Mark Wielaard  <mark@klomp.org>
455da0c48c4Sopenharmony_ci
456da0c48c4Sopenharmony_ci	* elflint.c (special_sections): Add .debug_line_str.
457da0c48c4Sopenharmony_ci
458da0c48c4Sopenharmony_ci2020-08-26  Mark Wielaard  <mark@klomp.org>
459da0c48c4Sopenharmony_ci
460da0c48c4Sopenharmony_ci	* readelf.c (print_debug_line_section): It is not an error if there
461da0c48c4Sopenharmony_ci	are no line number statements at the end of a debug line section.
462da0c48c4Sopenharmony_ci
463da0c48c4Sopenharmony_ci2020-07-19  Mark Wielaard  <mark@klomp.org>
464da0c48c4Sopenharmony_ci
465da0c48c4Sopenharmony_ci	* elfclassify.c (process_current_path): Handle fwrite failing.
466da0c48c4Sopenharmony_ci
467da0c48c4Sopenharmony_ci2020-07-05  Mark Wielaard  <mark@klomp.org>
468da0c48c4Sopenharmony_ci
469da0c48c4Sopenharmony_ci	* stack.c (module_callback): Don't assert if dwfl_module_info fails.
470da0c48c4Sopenharmony_ci	* unstrip.c (adjust_relocs): Produce a proper error when HAS
471da0c48c4Sopenharmony_ci	section has inconsistent size or entsize.
472da0c48c4Sopenharmony_ci	(match_module): Don't assert if dwfl_module_info fails.
473da0c48c4Sopenharmony_ci
474da0c48c4Sopenharmony_ci2020-06-16  Mark Wielaard  <mark@klomp.org>
475da0c48c4Sopenharmony_ci
476da0c48c4Sopenharmony_ci	* ar.c (do_oper_extract): Split large if statement. Call fchown
477da0c48c4Sopenharmony_ci	before fchmod and explicitly ignore the return value.
478da0c48c4Sopenharmony_ci	(do_oper_delete): Likewise.
479da0c48c4Sopenharmony_ci	(do_oper_insert): Likewise.
480da0c48c4Sopenharmony_ci	* ranlib.c (handle_file): Likewise.
481da0c48c4Sopenharmony_ci
482da0c48c4Sopenharmony_ci2020-06-16  Mark Wielaard  <mark@klomp.org>
483da0c48c4Sopenharmony_ci
484da0c48c4Sopenharmony_ci	* elflint.c (check_elf_header): Explicitly check and ignore
485da0c48c4Sopenharmony_ci	any error from elf_compress.
486da0c48c4Sopenharmony_ci
487da0c48c4Sopenharmony_ci2020-06-07  Mark Wielaard  <mark@klomp.org>
488da0c48c4Sopenharmony_ci
489da0c48c4Sopenharmony_ci	* nm.c (sort_by_name_strtab): Replace by...
490da0c48c4Sopenharmony_ci	(sort_by_name_elf): New static Elf pointer and ...
491da0c48c4Sopenharmony_ci	(sort_by_name_ndx): New static size_t index.
492da0c48c4Sopenharmony_ci	(sort_by_name): Use elf_strptr to get symbol string.
493da0c48c4Sopenharmony_ci	(show_symbols): Set sort_by_name_elf and sort_by_name_ndx.
494da0c48c4Sopenharmony_ci
495da0c48c4Sopenharmony_ci2020-06-06  Mark Wielaard  <mark@klomp.org>
496da0c48c4Sopenharmony_ci
497da0c48c4Sopenharmony_ci	* nm.c (show_symbols_sysv): Skip no name and STT_FILE symbols.
498da0c48c4Sopenharmony_ci	When not printing address and size pad strings. Strip "GNU_"
499da0c48c4Sopenharmony_ci	prefix from binding name.
500da0c48c4Sopenharmony_ci	(class_type_char): Use 'V' for weak symbols, 'C' for common
501da0c48c4Sopenharmony_ci	symbols and 'T' for weak functions.
502da0c48c4Sopenharmony_ci	(show_symbols_posix): Skip STT_FILE symbols. Don't print value and
503da0c48c4Sopenharmony_ci	size when undefined.
504da0c48c4Sopenharmony_ci
505da0c48c4Sopenharmony_ci2020-06-04  Mark Wielaard  <mark@klomp.org>
506da0c48c4Sopenharmony_ci
507da0c48c4Sopenharmony_ci	* elflint.c (check_program_header): Remove PT_GNU_PROPERTY define.
508da0c48c4Sopenharmony_ci
509da0c48c4Sopenharmony_ci2020-05-14  Mark Wielaard  <mark@klomp.org>
510da0c48c4Sopenharmony_ci
511da0c48c4Sopenharmony_ci	* size.c (show_bsd): Set printf format based on radix.
512da0c48c4Sopenharmony_ci
513da0c48c4Sopenharmony_ci2020-05-09  Mark Wielaard  <mark@klomp.org>
514da0c48c4Sopenharmony_ci
515da0c48c4Sopenharmony_ci	* elflint.c (process_elf_file): Error out if ebl_openbackend fails.
516da0c48c4Sopenharmony_ci	* objdump.c (handle_elf): Likewise.
517da0c48c4Sopenharmony_ci	* nm.c (handle_elf): Likewise. Move full name string construction
518da0c48c4Sopenharmony_ci	forward, so it can be used in the error message.
519da0c48c4Sopenharmony_ci
520da0c48c4Sopenharmony_ci2020-04-17  Mark Wielaard  <mark@klomp.org>
521da0c48c4Sopenharmony_ci
522da0c48c4Sopenharmony_ci	* readelf.c (print_debug): Check .gnu.debuglto_ prefix.
523da0c48c4Sopenharmony_ci
524da0c48c4Sopenharmony_ci2020-04-16  Mark Wielaard  <mark@klomp.org>
525da0c48c4Sopenharmony_ci
526da0c48c4Sopenharmony_ci	* elflint.c (check_sections): Mask out SHF_EXCLUDE from processor
527da0c48c4Sopenharmony_ci	specific section flags when --gnu is given.
528da0c48c4Sopenharmony_ci
529da0c48c4Sopenharmony_ci2020-02-08  Mark Wielaard  <mark@klomp.org>
530da0c48c4Sopenharmony_ci
531da0c48c4Sopenharmony_ci	* elflint.c (check_program_header): Handle PT_GNU_PROPERTY.
532da0c48c4Sopenharmony_ci
533da0c48c4Sopenharmony_ci2020-02-07  Mark Wielaard  <mark@klomp.org>
534da0c48c4Sopenharmony_ci
535da0c48c4Sopenharmony_ci	* elflint.c (check_symtab): Check st_info isn't too big.
536da0c48c4Sopenharmony_ci
537da0c48c4Sopenharmony_ci2020-01-16  Mark Wielaard  <mark@klomp.org>
538da0c48c4Sopenharmony_ci
539da0c48c4Sopenharmony_ci	* nm.c (show_symbols_sysv): Iterate over all symbols starting
540da0c48c4Sopenharmony_ci	at index zero.
541da0c48c4Sopenharmony_ci
542da0c48c4Sopenharmony_ci2019-11-26  Mark Wielaard  <mark@klomp.org>
543da0c48c4Sopenharmony_ci
544da0c48c4Sopenharmony_ci	* Makefile.am (BUILD_STATIC): Add libraries needed for libdw.
545da0c48c4Sopenharmony_ci
546da0c48c4Sopenharmony_ci2019-10-26  Mark Wielaard  <mark@klomp.org>
547da0c48c4Sopenharmony_ci
548da0c48c4Sopenharmony_ci	* unstrip.c (collect_symbols): Check symbol strings are
549da0c48c4Sopenharmony_ci	terminated.
550da0c48c4Sopenharmony_ci
551da0c48c4Sopenharmony_ci2019-10-18  Mark Wielaard  <mark@klomp.org>
552da0c48c4Sopenharmony_ci
553da0c48c4Sopenharmony_ci	* unstrip.c (adjust_relocs): Set versym data d_size to the actual
554da0c48c4Sopenharmony_ci	size allocated.
555da0c48c4Sopenharmony_ci
556da0c48c4Sopenharmony_ci2019-10-20  Mark Wielaard  <mark@klomp.org>
557da0c48c4Sopenharmony_ci
558da0c48c4Sopenharmony_ci	* unstrip.c (copy_elided_sections): Set and check max_off.
559da0c48c4Sopenharmony_ci
560da0c48c4Sopenharmony_ci2019-10-21  Mark Wielaard  <mark@klomp.org>
561da0c48c4Sopenharmony_ci
562da0c48c4Sopenharmony_ci	* unstrip.c (adjust_relocs): Add map_size argument and check ndx
563da0c48c4Sopenharmony_ci	against it.
564da0c48c4Sopenharmony_ci	(adjust_all_relocs): Add map_size argument and pass it to
565da0c48c4Sopenharmony_ci	adjust_relocs.
566da0c48c4Sopenharmony_ci	(add_new_section_symbols): Call adjust_all_relocs with symndx_map
567da0c48c4Sopenharmony_ci	size.
568da0c48c4Sopenharmony_ci	(collect)symbols): Check sym and string data can be found.
569da0c48c4Sopenharmony_ci	(compare_symbols_output): Call error when (different) symbols are
570da0c48c4Sopenharmony_ci	equal.
571da0c48c4Sopenharmony_ci	(new_shstrtab): Make unstripped_strent array one larger. Check
572da0c48c4Sopenharmony_ci	stripped_shnum isn't zero.
573da0c48c4Sopenharmony_ci	(copy_elided_sections): Add ndx_sec_num as size of ndx_section
574da0c48c4Sopenharmony_ci	array. Check sh_link and sh_info are not larger than ndx_sec_num.
575da0c48c4Sopenharmony_ci	Allocate symbols and symndx_map arrays on heap, not stack. Pass
576da0c48c4Sopenharmony_ci	map sizes to adjust_all_relocs.
577da0c48c4Sopenharmony_ci
578da0c48c4Sopenharmony_ci2019-09-28  Dmitry V. Levin  <ldv@altlinux.org>
579da0c48c4Sopenharmony_ci
580da0c48c4Sopenharmony_ci	* elflint.c (main): When an input file cannot be opened,
581da0c48c4Sopenharmony_ci	include its name into the error diagnostics.
582da0c48c4Sopenharmony_ci	* readelf.c (main): Likewise.
583da0c48c4Sopenharmony_ci
584da0c48c4Sopenharmony_ci2019-09-02  Mark Wielaard  <mark@klomp.org>
585da0c48c4Sopenharmony_ci
586da0c48c4Sopenharmony_ci	* readelf.c (PRINT_DYNSYM_TABLE): New argp key value.
587da0c48c4Sopenharmony_ci	(argp_opt): Add syn-sym.
588da0c48c4Sopenharmony_ci	(print_dynsym_table): New static bool.
589da0c48c4Sopenharmony_ci	(parse_opt): Handle PRINT_DYNSYM_TABLE.
590da0c48c4Sopenharmony_ci	(process_elf_file): Check print_dynsym_table.
591da0c48c4Sopenharmony_ci
592da0c48c4Sopenharmony_ci2019-08-27  Mark Wielaard  <mark@klomp.org>
593da0c48c4Sopenharmony_ci
594da0c48c4Sopenharmony_ci	* readelf.c (for_each_section_argument): Call (*dump) also for
595da0c48c4Sopenharmony_ci	section numbers.
596da0c48c4Sopenharmony_ci
597da0c48c4Sopenharmony_ci2019-08-26  Mark Wielaard  <mark@klomp.org>
598da0c48c4Sopenharmony_ci
599da0c48c4Sopenharmony_ci	* nm.c (show_symbols): Remember nentries_orig and check before
600da0c48c4Sopenharmony_ci	freeing sym_mem.
601da0c48c4Sopenharmony_ci
602da0c48c4Sopenharmony_ci2019-07-05  Omar Sandoval  <osandov@fb.com>
603da0c48c4Sopenharmony_ci
604da0c48c4Sopenharmony_ci	* Makefile.am: Remove -ldl.
605da0c48c4Sopenharmony_ci	(elflint_LDADD): Add $(libdw).
606da0c48c4Sopenharmony_ci	(elfcmp_LDADD): Add $(libdw).
607da0c48c4Sopenharmony_ci	(objdump_LDADD): Add $(libdw).
608da0c48c4Sopenharmony_ci
609da0c48c4Sopenharmony_ci2019-08-26  Mark Wielaard  <mark@klomp.org>
610da0c48c4Sopenharmony_ci
611da0c48c4Sopenharmony_ci	* readelf (options): Add OPTION_ARG_OPTIONAL "SECTION" for notes.
612da0c48c4Sopenharmony_ci	(notes_section): New global variable.
613da0c48c4Sopenharmony_ci	(parse_opt): Set notes_section.
614da0c48c4Sopenharmony_ci	(handle_notes): Check if notes_section is set.
615da0c48c4Sopenharmony_ci
616da0c48c4Sopenharmony_ci2019-07-26  Florian Weimer  <fweimer@redhat.com>
617da0c48c4Sopenharmony_ci	    Mark Wielaard  <mark@klomp.org>
618da0c48c4Sopenharmony_ci
619da0c48c4Sopenharmony_ci	* Makefile.am (bin_PROGRAMS): Add elfclassify.
620da0c48c4Sopenharmony_ci	(elfclassify_LDADD): New variable.
621da0c48c4Sopenharmony_ci	* elfclassify.c: New tool.
622da0c48c4Sopenharmony_ci
623da0c48c4Sopenharmony_ci2019-07-13  Mao Han  <han_mao@c-sky.com>
624da0c48c4Sopenharmony_ci
625da0c48c4Sopenharmony_ci	* elflint.c: Add C-SKY.
626da0c48c4Sopenharmony_ci
627da0c48c4Sopenharmony_ci2019-06-28  Mark Wielaard  <mark@klomp.org>
628da0c48c4Sopenharmony_ci
629da0c48c4Sopenharmony_ci	* readelf.c (print_ehdr): Use dwelf_elf_e_machine_string instead of
630da0c48c4Sopenharmony_ci	ebl->name. If unknown print hex value.
631da0c48c4Sopenharmony_ci
632da0c48c4Sopenharmony_ci2019-06-25  Mark Wielaard  <mark@klomp.org>
633da0c48c4Sopenharmony_ci
634da0c48c4Sopenharmony_ci	* stack.c (parse_opt): Fix dwfl_core_file_attach error message.
635da0c48c4Sopenharmony_ci
636da0c48c4Sopenharmony_ci2019-06-18  Mark Wielaard  <mark@klomp.org>
637da0c48c4Sopenharmony_ci
638da0c48c4Sopenharmony_ci	* strip.c (handle_elf): Use elf_begin ELF_C_WRITE, instead of
639da0c48c4Sopenharmony_ci	ELF_C_WRITE_MMAP.
640da0c48c4Sopenharmony_ci
641da0c48c4Sopenharmony_ci2019-05-10  Mark Wielaard  <mark@klomp.org>
642da0c48c4Sopenharmony_ci
643da0c48c4Sopenharmony_ci	* readelf.c (struct attrcb_args): Rename die to dies.
644da0c48c4Sopenharmony_ci	(attr_callback): Get current current die using dies[level].
645da0c48c4Sopenharmony_ci	Handle DW_AT_discr_list as block, not as constant.
646da0c48c4Sopenharmony_ci	(print_debug_units): pass dies, not dies[level] as args.
647da0c48c4Sopenharmony_ci
648da0c48c4Sopenharmony_ci2019-05-09  Mark Wielaard  <mark@klomp.org>
649da0c48c4Sopenharmony_ci
650da0c48c4Sopenharmony_ci	* readelf.c (cleanup_list): New function.
651da0c48c4Sopenharmony_ci	(main): Call cleanup_list for dump_data_sections and string_sections.
652da0c48c4Sopenharmony_ci
653da0c48c4Sopenharmony_ci2019-04-28  Mark Wielaard  <mark@klomp.org>
654da0c48c4Sopenharmony_ci
655da0c48c4Sopenharmony_ci	* unstrip.c (add_new_section_symbols): Call ELF_CHECK after
656da0c48c4Sopenharmony_ci	gelf_getsymshndx.
657da0c48c4Sopenharmony_ci	(new_shstrtab): Call ELF_CHECK after gelf_getshdr.
658da0c48c4Sopenharmony_ci
659da0c48c4Sopenharmony_ci2019-04-28  Mark Wielaard  <mark@klomp.org>
660da0c48c4Sopenharmony_ci
661da0c48c4Sopenharmony_ci	* size.c (show_sysv): Call INTERNAL_ERROR if gelf_getshdr
662da0c48c4Sopenharmony_ci	returns NULL.
663da0c48c4Sopenharmony_ci	(show_sysv_one_line): Call error with EXIT_FAILURE if
664da0c48c4Sopenharmony_ci	gelf_getshdr returns NULL.
665da0c48c4Sopenharmony_ci
666da0c48c4Sopenharmony_ci2019-04-28  Mark Wielaard  <mark@klomp.org>
667da0c48c4Sopenharmony_ci
668da0c48c4Sopenharmony_ci	* nm.c (show_symbols_sysv): Check gelf_getshdr doesn't return
669da0c48c4Sopenharmony_ci	NULL. Simplify naming of invalid sections, don't use alloca.
670da0c48c4Sopenharmony_ci
671da0c48c4Sopenharmony_ci2019-04-28  Mark Wielaard  <mark@klomp.org>
672da0c48c4Sopenharmony_ci
673da0c48c4Sopenharmony_ci	* elfcmp.c (main): Check shdr1 and shdr2 are not NULL.
674da0c48c4Sopenharmony_ci
675da0c48c4Sopenharmony_ci2019-04-03  Mark Wielaard  <mark@klomp.org>
676da0c48c4Sopenharmony_ci
677da0c48c4Sopenharmony_ci	* readelf.c (attr_callback): Print DW_AT_data_member_location as
678da0c48c4Sopenharmony_ci	decimal offset, not hex number.
679da0c48c4Sopenharmony_ci
680da0c48c4Sopenharmony_ci2019-03-29  Mark Wielaard  <mark@klomp.org>
681da0c48c4Sopenharmony_ci
682da0c48c4Sopenharmony_ci	* readelf.c (print_debug_macinfo_section): Check cus[0] is not the
683da0c48c4Sopenharmony_ci	sentinel.
684da0c48c4Sopenharmony_ci
685da0c48c4Sopenharmony_ci2019-03-27  Mark Wielaard  <mark@klomp.org>
686da0c48c4Sopenharmony_ci
687da0c48c4Sopenharmony_ci	* strip.c (handle_elf): Assert that symbol section number exists.
688da0c48c4Sopenharmony_ci
689da0c48c4Sopenharmony_ci2019-01-24  Mark Wielaard  <mark@klomp.org>
690da0c48c4Sopenharmony_ci
691da0c48c4Sopenharmony_ci	* strip.c (handle_elf): Fix check test for SHN_XINDEX symbol.
692da0c48c4Sopenharmony_ci
693da0c48c4Sopenharmony_ci2019-01-22  Mark Wielaard  <mark@klomp.org>
694da0c48c4Sopenharmony_ci
695da0c48c4Sopenharmony_ci	* readelf.c (print_debug_line_section): Check we are not at end of
696da0c48c4Sopenharmony_ci	line data when reading parameters for unknown opcodes.
697da0c48c4Sopenharmony_ci
698da0c48c4Sopenharmony_ci2019-01-20  Mark Wielaard  <mark@klomp.org>
699da0c48c4Sopenharmony_ci
700da0c48c4Sopenharmony_ci	* readelf.c (print_debug_line_section): Check terminating NUL byte
701da0c48c4Sopenharmony_ci	for dir and file tables.
702da0c48c4Sopenharmony_ci
703da0c48c4Sopenharmony_ci2019-01-16  Mark Wielaard  <mark@klomp.org>
704da0c48c4Sopenharmony_ci
705da0c48c4Sopenharmony_ci	* readelf (handle_core_note): Pass desc to ebl_core_note.
706da0c48c4Sopenharmony_ci
707da0c48c4Sopenharmony_ci2018-11-10  Mark Wielaard  <mark@klomp.org>
708da0c48c4Sopenharmony_ci
709da0c48c4Sopenharmony_ci	* elflint.c (check_program_header): Allow PT_GNU_EH_FRAME segment
710da0c48c4Sopenharmony_ci	to be matched against SHT_X86_64_UNWIND section.
711da0c48c4Sopenharmony_ci
712da0c48c4Sopenharmony_ci2018-11-09  Mark Wielaard  <mark@klomp.org>
713da0c48c4Sopenharmony_ci
714da0c48c4Sopenharmony_ci	* strip.c (remove_debug_relocations): Check if section is gnu
715da0c48c4Sopenharmony_ci	compressed and decompress and recompress it.
716da0c48c4Sopenharmony_ci
717da0c48c4Sopenharmony_ci2018-11-12  Mark Wielaard  <mark@klomp.org>
718da0c48c4Sopenharmony_ci
719da0c48c4Sopenharmony_ci	* elflint.c (check_note_data): Recognize NT_GNU_BUILD_ATTRIBUTE_OPEN
720da0c48c4Sopenharmony_ci	and NT_GNU_BUILD_ATTRIBUTE_OPEN.
721da0c48c4Sopenharmony_ci	* readelf.c (handle_notes_data): Handle
722da0c48c4Sopenharmony_ci	ELF_NOTE_GNU_BUILD_ATTRIBUTE_PREFIX. Pass nhdr.n_namesz to
723da0c48c4Sopenharmony_ci	ebl_object_note.
724da0c48c4Sopenharmony_ci
725da0c48c4Sopenharmony_ci2018-11-11  Mark Wielaard  <mark@klomp.org>
726da0c48c4Sopenharmony_ci
727da0c48c4Sopenharmony_ci	* readelf.c (handle_notes_data): Pass n_descsz to
728da0c48c4Sopenharmony_ci	ebl_object_note_type_name.
729da0c48c4Sopenharmony_ci	* elflint.c (check_note_data): Recognize NT_VERSION, add owner
730da0c48c4Sopenharmony_ci	name to unknown note error.
731da0c48c4Sopenharmony_ci
732da0c48c4Sopenharmony_ci2018-10-20  Mark Wielaard  <mark@klomp.org>
733da0c48c4Sopenharmony_ci
734da0c48c4Sopenharmony_ci	* readelf.c (process_elf_file): Use dwelf_elf_begin to open pure_elf.
735da0c48c4Sopenharmony_ci
736da0c48c4Sopenharmony_ci2018-10-26  Mark Wielaard  <mark@klomp.org>
737da0c48c4Sopenharmony_ci
738da0c48c4Sopenharmony_ci	* strip.c (OPT_RELOC_DEBUG_ONLY): New define.
739da0c48c4Sopenharmony_ci	(options): Add reloc-debug-sections-only.
740da0c48c4Sopenharmony_ci	(reloc_debug_only): New static bool.
741da0c48c4Sopenharmony_ci	(main): Check reloc_debug_only is the only strip option used.
742da0c48c4Sopenharmony_ci	(parse_opt): Handle OPT_RELOC_DEBUG_ONLY.
743da0c48c4Sopenharmony_ci	(handle_debug_relocs): New function.
744da0c48c4Sopenharmony_ci	(handle_elf): Add local variables lastsec_offset and lastsec_size.
745da0c48c4Sopenharmony_ci	Handle reloc_debug_only.
746da0c48c4Sopenharmony_ci
747da0c48c4Sopenharmony_ci2018-10-24  Mark Wielaard  <mark@klomp.org>
748da0c48c4Sopenharmony_ci
749da0c48c4Sopenharmony_ci	* strip.c (handle_elf): Extract code to update shdrstrndx into...
750da0c48c4Sopenharmony_ci	(update_shdrstrndx): ... this new function.
751da0c48c4Sopenharmony_ci
752da0c48c4Sopenharmony_ci2018-10-24  Mark Wielaard  <mark@klomp.org>
753da0c48c4Sopenharmony_ci
754da0c48c4Sopenharmony_ci	* strip.c (handle_elf): Extract code into separate functions...
755da0c48c4Sopenharmony_ci	(secndx_name): ... new function.
756da0c48c4Sopenharmony_ci	(get_xndxdata): Likewise.
757da0c48c4Sopenharmony_ci	(remove_debug_relocations): Likewise.
758da0c48c4Sopenharmony_ci
759da0c48c4Sopenharmony_ci2018-10-24  Mark Wielaard  <mark@klomp.org>
760da0c48c4Sopenharmony_ci
761da0c48c4Sopenharmony_ci	* strip.c (handle_elf): Always copy over phdrs if there are any
762da0c48c4Sopenharmony_ci	and check phnum instead of e_type to determine whether to move
763da0c48c4Sopenharmony_ci	allocated sections.
764da0c48c4Sopenharmony_ci
765da0c48c4Sopenharmony_ci2018-11-02  Mark Wielaard  <mark@klomp.org>
766da0c48c4Sopenharmony_ci
767da0c48c4Sopenharmony_ci	* unstrip.c (copy_elf): Add ELF_CHECK to make sure gelf_getehdr ()
768da0c48c4Sopenharmony_ci	doesn't return NULL.
769da0c48c4Sopenharmony_ci
770da0c48c4Sopenharmony_ci2018-10-18  Mark Wielaard  <mark@klomp.org>
771da0c48c4Sopenharmony_ci
772da0c48c4Sopenharmony_ci	* elflint.c (check_note_data): Recognize NT_GNU_PROPERTY_TYPE_0.
773da0c48c4Sopenharmony_ci	(check_note): Use p_align to pass either ELF_T_NHDR or ELF_T_NHDR8 to
774da0c48c4Sopenharmony_ci	elf_getdata_rawchunk.
775da0c48c4Sopenharmony_ci	* readelf (handle_notes): Likewise.
776da0c48c4Sopenharmony_ci
777da0c48c4Sopenharmony_ci2018-10-24  Mark Wielaard  <mark@klomp.org>
778da0c48c4Sopenharmony_ci
779da0c48c4Sopenharmony_ci	* addr2line.c (print_addrsym): Use elf_getshdrstrndx instead of
780da0c48c4Sopenharmony_ci	Ehdr field.
781da0c48c4Sopenharmony_ci
782da0c48c4Sopenharmony_ci2018-10-24  Mark Wielaard  <mark@klomp.org>
783da0c48c4Sopenharmony_ci
784da0c48c4Sopenharmony_ci	* readelf.c (section_name): Remove ehdr argument, lookup shstrndx.
785da0c48c4Sopenharmony_ci	(print_debug_abbrev_section): Don't pass ehdr.
786da0c48c4Sopenharmony_ci	(print_debug_addr_section): Likewise.
787da0c48c4Sopenharmony_ci	(print_decoded_aranges_section): Likewise.
788da0c48c4Sopenharmony_ci	(print_debug_aranges_section): Likewise.
789da0c48c4Sopenharmony_ci	(print_debug_rnglists_section): Likewise.
790da0c48c4Sopenharmony_ci	(print_debug_ranges_section): Likewise.
791da0c48c4Sopenharmony_ci	(print_debug_units): Likewise.
792da0c48c4Sopenharmony_ci	(print_decoded_line_section): Likewise.
793da0c48c4Sopenharmony_ci	(print_debug_line_section): Likewise.
794da0c48c4Sopenharmony_ci	(print_debug_loclists_section): Likewise.
795da0c48c4Sopenharmony_ci	(print_debug_loc_section): Likewise.
796da0c48c4Sopenharmony_ci	(print_debug_macinfo_section): Likewise.
797da0c48c4Sopenharmony_ci	(print_debug_macro_section): Likewise.
798da0c48c4Sopenharmony_ci	(print_debug_pubnames_section): Likewise.
799da0c48c4Sopenharmony_ci	(print_debug_str_section): Liekwise.
800da0c48c4Sopenharmony_ci	(print_debug_str_offsets_section): Likewise.
801da0c48c4Sopenharmony_ci	(print_gdb_index_section): Likewise.
802da0c48c4Sopenharmony_ci
803da0c48c4Sopenharmony_ci2018-10-16  Mark Wielaard  <mark@klomp.org>
804da0c48c4Sopenharmony_ci
805da0c48c4Sopenharmony_ci	* readelf.c (print_debug_frame_section): Make sure readp is never
806da0c48c4Sopenharmony_ci	greater than cieend.
807da0c48c4Sopenharmony_ci
808da0c48c4Sopenharmony_ci2018-10-19  Mark Wielaard  <mark@klomp.org>
809da0c48c4Sopenharmony_ci
810da0c48c4Sopenharmony_ci	* dwfl_module_getdwarf.c (adjust_relocs): Check sh_entsize is not
811da0c48c4Sopenharmony_ci	zero.
812da0c48c4Sopenharmony_ci	(add_new_section_symbols): Likewise.
813da0c48c4Sopenharmony_ci	(copy_elided_sections): Likewise.
814da0c48c4Sopenharmony_ci
815da0c48c4Sopenharmony_ci2018-10-18  Mark Wielaard  <mark@klomp.org>
816da0c48c4Sopenharmony_ci
817da0c48c4Sopenharmony_ci	* size.c (handle_ar): Only close elf if prefix was NULL.
818da0c48c4Sopenharmony_ci
819da0c48c4Sopenharmony_ci2018-10-18  Mark Wielaard  <mark@klomp.org>
820da0c48c4Sopenharmony_ci
821da0c48c4Sopenharmony_ci	* arlib.c (arlib_add_symbols): Check that sh_entsize is not zero.
822da0c48c4Sopenharmony_ci
823da0c48c4Sopenharmony_ci2018-10-14  Mark Wielaard  <mark@klomp.org>
824da0c48c4Sopenharmony_ci
825da0c48c4Sopenharmony_ci	* ar.c (do_oper_extract): Assume epoch if ar_date is bogus.
826da0c48c4Sopenharmony_ci
827da0c48c4Sopenharmony_ci2018-10-14  Mark Wielaard  <mark@klomp.org>
828da0c48c4Sopenharmony_ci
829da0c48c4Sopenharmony_ci	* findtextrel.c (process_file): Check that sh_entsize is not zero.
830da0c48c4Sopenharmony_ci
831da0c48c4Sopenharmony_ci2018-10-13  Mark Wielaard  <mark@klomp.org>
832da0c48c4Sopenharmony_ci
833da0c48c4Sopenharmony_ci	* readelf.c (print_debug_macro_section): Use elf_getdata. Print
834da0c48c4Sopenharmony_ci	decoded flag string.
835da0c48c4Sopenharmony_ci
836da0c48c4Sopenharmony_ci2018-10-19  Mark Wielaard  <mark@klomp.org>
837da0c48c4Sopenharmony_ci
838da0c48c4Sopenharmony_ci	* unstrip.c (copy_elided_sections): Renumber group section indexes.
839da0c48c4Sopenharmony_ci
840da0c48c4Sopenharmony_ci2018-10-12  Mark Wielaard  <mark@klomp.org>
841da0c48c4Sopenharmony_ci
842da0c48c4Sopenharmony_ci	* strip.c (handle_elf): Don't remove SHF_GROUP flag from sections.
843da0c48c4Sopenharmony_ci	Skip group section flag when renumbering section indexes.
844da0c48c4Sopenharmony_ci	* unstrip.c (struct section): Add sig field.
845da0c48c4Sopenharmony_ci	(compare_unalloc_sections): Take and use sig1 and sig2 as arguments.
846da0c48c4Sopenharmony_ci	(compare_sections): Pass signatures to compare_unalloc_sections.
847da0c48c4Sopenharmony_ci	(get_group_sig): New function.
848da0c48c4Sopenharmony_ci	(find_alloc_sections_prelink): Set signature.
849da0c48c4Sopenharmony_ci	(copy_elided_sections): Likewise and pass them on.
850da0c48c4Sopenharmony_ci	(find_unalloc_section): Take and pass signatures.
851da0c48c4Sopenharmony_ci
852da0c48c4Sopenharmony_ci2018-10-02  Andreas Schwab  <schwab@suse.de>
853da0c48c4Sopenharmony_ci
854da0c48c4Sopenharmony_ci	* strip.c (handle_elf): Handle ADD/SUB relocation.
855da0c48c4Sopenharmony_ci
856da0c48c4Sopenharmony_ci2018-09-13  Mark Wielaard  <mark@klomp.org>
857da0c48c4Sopenharmony_ci
858da0c48c4Sopenharmony_ci	* readelf.c (print_shdr): Get number of section with elf_getshdrnum.
859da0c48c4Sopenharmony_ci	(print_phdr): Likewise.
860da0c48c4Sopenharmony_ci
861da0c48c4Sopenharmony_ci2018-09-13  Mark Wielaard  <mark@klomp.org>
862da0c48c4Sopenharmony_ci
863da0c48c4Sopenharmony_ci	* strip.c (handle_elf): Check against shstrndx, not e_shstrndx.
864da0c48c4Sopenharmony_ci	Explicitly set shdrstrndx for debug file.
865da0c48c4Sopenharmony_ci	* unstrip.c (copy_elf): Explicitly copy shstrndx.
866da0c48c4Sopenharmony_ci	(find_alloc_sections_prelink): Document shnum usage.
867da0c48c4Sopenharmony_ci
868da0c48c4Sopenharmony_ci2018-09-13  Mark Wielaard  <mark@klomp.org>
869da0c48c4Sopenharmony_ci
870da0c48c4Sopenharmony_ci	* elflint.c (check_elf_header): Use shnum instead of e_shnum for all
871da0c48c4Sopenharmony_ci	checks.
872da0c48c4Sopenharmony_ci	(check_symtab): Use shstrndx instead of e_shstrndx to get section
873da0c48c4Sopenharmony_ci	names.
874da0c48c4Sopenharmony_ci
875da0c48c4Sopenharmony_ci2018-09-13  Mark Wielaard  <mark@klomp.org>
876da0c48c4Sopenharmony_ci
877da0c48c4Sopenharmony_ci	* elfcmp.c (main): Get, check and shdrstrndx for section names.
878da0c48c4Sopenharmony_ci
879da0c48c4Sopenharmony_ci2018-09-12  Mark Wielaard  <mark@klomp.org>
880da0c48c4Sopenharmony_ci
881da0c48c4Sopenharmony_ci	* elfcmp.c (main): Call ebl_section_strip_p without ehdr.
882da0c48c4Sopenharmony_ci	* strip.c (handle_elf): Likewise.
883da0c48c4Sopenharmony_ci
884da0c48c4Sopenharmony_ci2018-09-12  Mark Wielaard  <mark@klomp.org>
885da0c48c4Sopenharmony_ci
886da0c48c4Sopenharmony_ci	* elflint.c (check_symtab): Call ebl_check_special_symbol without
887da0c48c4Sopenharmony_ci	ehdr.
888da0c48c4Sopenharmony_ci
889da0c48c4Sopenharmony_ci2018-07-30  Mark Wielaard  <mark@klomp.org>
890da0c48c4Sopenharmony_ci
891da0c48c4Sopenharmony_ci	* strip.c (handle_elf): Track allocated/unallocated sections seen. Set
892da0c48c4Sopenharmony_ci	section offset of unallocated sections after handling all allocated
893da0c48c4Sopenharmony_ci	sections.
894da0c48c4Sopenharmony_ci
895da0c48c4Sopenharmony_ci2018-08-18  Mark Wielaard  <mark@klomp.org>
896da0c48c4Sopenharmony_ci
897da0c48c4Sopenharmony_ci	* readelf.c (print_debug_aranges_section): Make sure there is enough
898da0c48c4Sopenharmony_ci	data to read the header segment size.
899da0c48c4Sopenharmony_ci
900da0c48c4Sopenharmony_ci2018-08-18  Mark Wielaard  <mark@klomp.org>
901da0c48c4Sopenharmony_ci
902da0c48c4Sopenharmony_ci	* elflint.c (check_sysv_hash): Calculate needed size using unsigned
903da0c48c4Sopenharmony_ci	long long int to prevent overflow.
904da0c48c4Sopenharmony_ci	(check_sysv_hash64): Calculate maxwords used separately before
905da0c48c4Sopenharmony_ci	comparison to prevent overflow.
906da0c48c4Sopenharmony_ci
907da0c48c4Sopenharmony_ci2018-07-24  Mark Wielaard  <mark@klomp.org>
908da0c48c4Sopenharmony_ci
909da0c48c4Sopenharmony_ci	* unstrip.c (compare_unalloc_sections): Also compare sh_size.
910da0c48c4Sopenharmony_ci
911da0c48c4Sopenharmony_ci2018-07-21  Mark Wielaard  <mark@klomp.org>
912da0c48c4Sopenharmony_ci
913da0c48c4Sopenharmony_ci	* unstrip.c (adjust_all_relocs): Skip SHT_GROUP sections.
914da0c48c4Sopenharmony_ci
915da0c48c4Sopenharmony_ci2018-07-21  Mark Wielaard  <mark@klomp.org>
916da0c48c4Sopenharmony_ci
917da0c48c4Sopenharmony_ci	* elfcompress.c (get_sections): New function.
918da0c48c4Sopenharmony_ci	(process_file): Check whether section needs to change. Don't rewrite
919da0c48c4Sopenharmony_ci	file if no section data needs changing.
920da0c48c4Sopenharmony_ci	(main): Update 'force' help text.
921da0c48c4Sopenharmony_ci
922da0c48c4Sopenharmony_ci2018-07-21  Mark Wielaard  <mark@klomp.org>
923da0c48c4Sopenharmony_ci
924da0c48c4Sopenharmony_ci	* elfcompress.c (process_file): Swap fchmod and fchown calls.
925da0c48c4Sopenharmony_ci
926da0c48c4Sopenharmony_ci2018-07-04  Mark Wielaard  <mark@klomp.org>
927da0c48c4Sopenharmony_ci
928da0c48c4Sopenharmony_ci	* readelf.c (print_debug_addr_section): Rename index var to uidx.
929da0c48c4Sopenharmony_ci	(attr_callback): Rename index var to word.
930da0c48c4Sopenharmony_ci	(print_debug_str_offsets_section): Rename index var to uidx.
931da0c48c4Sopenharmony_ci
932da0c48c4Sopenharmony_ci2018-07-04  Ross Burton <ross.burton@intel.com>
933da0c48c4Sopenharmony_ci
934da0c48c4Sopenharmony_ci	* addr2line.c: Remove error.h include.
935da0c48c4Sopenharmony_ci	* ar.c: Likewise.
936da0c48c4Sopenharmony_ci	* arlib.c: Likewise and add system.h include.
937da0c48c4Sopenharmony_ci	* arlib2.c: Likewise.
938da0c48c4Sopenharmony_ci	* elfcmp.c: Likewise.
939da0c48c4Sopenharmony_ci	* elfcompress.c: Likewise.
940da0c48c4Sopenharmony_ci	* elflint.c: Likewise.
941da0c48c4Sopenharmony_ci	* findtextrel.c: Likewise.
942da0c48c4Sopenharmony_ci	* nm.c: Likewise.
943da0c48c4Sopenharmony_ci	* objdump.c: Likewise.
944da0c48c4Sopenharmony_ci	* ranlib.c: Likewise.
945da0c48c4Sopenharmony_ci	* readelf.c: Likewise.
946da0c48c4Sopenharmony_ci	* stack.c: Likewise.
947da0c48c4Sopenharmony_ci	* strings.c: Likewise.
948da0c48c4Sopenharmony_ci	* strip.c: Likewise.
949da0c48c4Sopenharmony_ci	* unstrip.c: Likewise.
950da0c48c4Sopenharmony_ci
951da0c48c4Sopenharmony_ci2018-06-25  Mark Wielaard  <mark@klomp.org>
952da0c48c4Sopenharmony_ci
953da0c48c4Sopenharmony_ci	* readelf.c (print_decoded_line_section): Use dwarf_next_lines
954da0c48c4Sopenharmony_ci	instead of dwarf_nextcu.
955da0c48c4Sopenharmony_ci	(print_debug_line_section): Don't explicitly lookup CU.
956da0c48c4Sopenharmony_ci
957da0c48c4Sopenharmony_ci2018-06-15  Mark Wielaard  <mark@klomp.org>
958da0c48c4Sopenharmony_ci
959da0c48c4Sopenharmony_ci	* readelf.c (attr_callback): Only print block as expressions if it
960da0c48c4Sopenharmony_ci	isn't DW_FORM_data16.
961da0c48c4Sopenharmony_ci
962da0c48c4Sopenharmony_ci2018-06-12  Mark Wielaard  <mark@klomp.org>
963da0c48c4Sopenharmony_ci
964da0c48c4Sopenharmony_ci	* readelf.c (print_form_data): Check we have 4, not 2, bytes
965da0c48c4Sopenharmony_ci	available for DW_FORM_block4.
966da0c48c4Sopenharmony_ci
967da0c48c4Sopenharmony_ci2018-06-12  Mark Wielaard  <mark@klomp.org>
968da0c48c4Sopenharmony_ci
969da0c48c4Sopenharmony_ci	* readelf.c (print_form_data): Don't increase strreadp after use.
970da0c48c4Sopenharmony_ci	Do increase readp for DW_FORM_strx[1234].
971da0c48c4Sopenharmony_ci
972da0c48c4Sopenharmony_ci2018-06-16  Mark Wielaard  <mark@klomp.org>
973da0c48c4Sopenharmony_ci
974da0c48c4Sopenharmony_ci	* readelf.c (print_debug_loc_section): Make sure next_off doesn't
975da0c48c4Sopenharmony_ci	overflow d_buf.
976da0c48c4Sopenharmony_ci
977da0c48c4Sopenharmony_ci2018-06-13  Mark Wielaard  <mark@klomp.org>
978da0c48c4Sopenharmony_ci
979da0c48c4Sopenharmony_ci	* readelf.c (die_type_sign_bytes): New function.
980da0c48c4Sopenharmony_ci	(attr_callback): Recognized DW_FORM_implicit_cost as signed. Use
981da0c48c4Sopenharmony_ci	die_type_sign_bytes to lookup the signedness and size of const
982da0c48c4Sopenharmony_ci	values.
983da0c48c4Sopenharmony_ci
984da0c48c4Sopenharmony_ci2018-06-11  Mark Wielaard  <mark@klomp.org>
985da0c48c4Sopenharmony_ci
986da0c48c4Sopenharmony_ci	* readelf.c (print_form_data): Don't reuse readp and readendp when
987da0c48c4Sopenharmony_ci	reading str_offsets section.
988da0c48c4Sopenharmony_ci
989da0c48c4Sopenharmony_ci2018-06-10  Mark Wielaard  <mark@klomp.org>
990da0c48c4Sopenharmony_ci
991da0c48c4Sopenharmony_ci	* readelf.c (print_form_data): Don't cast value to ptrdiff_t, cast
992da0c48c4Sopenharmony_ci	ptrdiff_t to size_t.
993da0c48c4Sopenharmony_ci
994da0c48c4Sopenharmony_ci2018-06-08  Mark Wielaard  <mark@klomp.org>
995da0c48c4Sopenharmony_ci
996da0c48c4Sopenharmony_ci	* readelf.c (print_debug_rnglists_section): Calculate max_entries
997da0c48c4Sopenharmony_ci	instead of needed bytes to prevent overflowing. Always print
998da0c48c4Sopenharmony_ci	max_entries (but not more).
999da0c48c4Sopenharmony_ci	(print_debug_loclists_section): Likewise.
1000da0c48c4Sopenharmony_ci
1001da0c48c4Sopenharmony_ci2018-06-08  Mark Wielaard  <mark@klomp.org>
1002da0c48c4Sopenharmony_ci
1003da0c48c4Sopenharmony_ci	* readelf.c (print_debug_line_section): Stop printing directories
1004da0c48c4Sopenharmony_ci	and files when we are at the end of the unit data.
1005da0c48c4Sopenharmony_ci
1006da0c48c4Sopenharmony_ci2018-06-07  Mark Wielaard  <mark@klomp.org>
1007da0c48c4Sopenharmony_ci
1008da0c48c4Sopenharmony_ci	* readelf.c (format_result): Removed.
1009da0c48c4Sopenharmony_ci	(format_result_size): Removed.
1010da0c48c4Sopenharmony_ci	(format_dwarf_addr): Renamed to...
1011da0c48c4Sopenharmony_ci	(print_dwarf_addr): ...this. Simply call printf, don't setup buffer,
1012da0c48c4Sopenharmony_ci	don't call sprintf.
1013da0c48c4Sopenharmony_ci	(print_ops): Use print_dwarf_addr instead of format_dwarf_addr.
1014da0c48c4Sopenharmony_ci	(print_debug_addr_section): Likewise.
1015da0c48c4Sopenharmony_ci	(print_debug_aranges_section): Likewise.
1016da0c48c4Sopenharmony_ci	(print_debug_rnglists_section): Likewise.
1017da0c48c4Sopenharmony_ci	(print_debug_ranges_section): Likewise.
1018da0c48c4Sopenharmony_ci	(print_debug_frame_section): Likewise.
1019da0c48c4Sopenharmony_ci	(attr_callback): Likewise.
1020da0c48c4Sopenharmony_ci	(print_decoded_line_section): Likewise.
1021da0c48c4Sopenharmony_ci	(print_debug_line_section): Likewise.
1022da0c48c4Sopenharmony_ci	(print_debug_loclists_section): Likewise.
1023da0c48c4Sopenharmony_ci	(print_debug_loc_section): Likewise.
1024da0c48c4Sopenharmony_ci	(print_gdb_index_section): Likewsie.
1025da0c48c4Sopenharmony_ci
1026da0c48c4Sopenharmony_ci2018-06-05  Mark Wielaard  <mark@klomp.org>
1027da0c48c4Sopenharmony_ci
1028da0c48c4Sopenharmony_ci	* readelf.c (print_debug_addr_section): Set unit_length always to
1029da0c48c4Sopenharmony_ci	(next_unitp - readp) in case we don't have a real header.
1030da0c48c4Sopenharmony_ci
1031da0c48c4Sopenharmony_ci2018-06-05  Mark Wielaard  <mark@klomp.org>
1032da0c48c4Sopenharmony_ci
1033da0c48c4Sopenharmony_ci	* readelf.c (print_debug_loc_section): Set begin to idx when failing
1034da0c48c4Sopenharmony_ci	to read the start address if DW_LLE_GNU_start_end_entry.
1035da0c48c4Sopenharmony_ci
1036da0c48c4Sopenharmony_ci2018-06-05  Mark Wielaard  <mark@klomp.org>
1037da0c48c4Sopenharmony_ci
1038da0c48c4Sopenharmony_ci	* readelf.c (handle_sysv_hash): Don't leak lengths array when
1039da0c48c4Sopenharmony_ci	detecting an invalid chain.
1040da0c48c4Sopenharmony_ci	(handle_sysv_hash64): Likewise.
1041da0c48c4Sopenharmony_ci
1042da0c48c4Sopenharmony_ci2018-06-05  Mark Wielaard  <mark@klomp.org>
1043da0c48c4Sopenharmony_ci
1044da0c48c4Sopenharmony_ci	* readelf.c (print_debug_macro_section): Extend vendor array by one
1045da0c48c4Sopenharmony_ci	to include max DW_MACRO_hi_user opcode.
1046da0c48c4Sopenharmony_ci
1047da0c48c4Sopenharmony_ci2018-06-07  Mark Wielaard  <mark@klomp.org>
1048da0c48c4Sopenharmony_ci
1049da0c48c4Sopenharmony_ci	* readelf.c (main): Lookup "no" for no_str.
1050da0c48c4Sopenharmony_ci	(print_debug_abbrev_section): Use yes_str and no_str.
1051da0c48c4Sopenharmony_ci	(print_form_data): Likewise.
1052da0c48c4Sopenharmony_ci
1053da0c48c4Sopenharmony_ci2018-06-04  Mark Wielaard  <mark@klomp.org>
1054da0c48c4Sopenharmony_ci
1055da0c48c4Sopenharmony_ci	* readelf (format_result): New static char pointer.
1056da0c48c4Sopenharmony_ci	(format_result_size): New static size_t.
1057da0c48c4Sopenharmony_ci	(format_dwarf_addr): Calculate max string size, reuse format_result
1058da0c48c4Sopenharmony_ci	if possible, otherwise realloc. Use sprintf on result, not asprintf.
1059da0c48c4Sopenharmony_ci	(print_ops): Don't free format_dwarf_addr, make sure result is
1060da0c48c4Sopenharmony_ci	printed before calling format_dwarf_addr again.
1061da0c48c4Sopenharmony_ci	(print_debug_addr_section): Likewise.
1062da0c48c4Sopenharmony_ci	(print_debug_aranges_section): Likewise.
1063da0c48c4Sopenharmony_ci	(print_debug_rnglists_section): Likewise.
1064da0c48c4Sopenharmony_ci	(print_debug_ranges_section): Likewise.
1065da0c48c4Sopenharmony_ci	(print_debug_frame_section): Likewise.
1066da0c48c4Sopenharmony_ci	(attr_callback): Likewise.
1067da0c48c4Sopenharmony_ci	(print_decoded_line_section): Likewise.
1068da0c48c4Sopenharmony_ci	(print_debug_line_section): Likewise.
1069da0c48c4Sopenharmony_ci	(print_debug_loclists_section): Likewise.
1070da0c48c4Sopenharmony_ci	(print_debug_loc_section): Likewise.
1071da0c48c4Sopenharmony_ci	(print_gdb_index_section): Likewsie.
1072da0c48c4Sopenharmony_ci
1073da0c48c4Sopenharmony_ci2018-06-04  Mark Wielaard  <mark@klomp.org>
1074da0c48c4Sopenharmony_ci
1075da0c48c4Sopenharmony_ci	* readelf.c (yes_str): New static char pointer.
1076da0c48c4Sopenharmony_ci	(no_str): Likewise.
1077da0c48c4Sopenharmony_ci	(main): Set yes_str and no_str using gettext.
1078da0c48c4Sopenharmony_ci	(attr_callback): Use yes_str and no_str instead of calling gettext.
1079da0c48c4Sopenharmony_ci
1080da0c48c4Sopenharmony_ci2018-06-04  Mark Wielaard  <mark@klomp.org>
1081da0c48c4Sopenharmony_ci
1082da0c48c4Sopenharmony_ci	* readelf.c (main): Call __fsetlocking (stdout, FSETLOCKING_BYCALLER).
1083da0c48c4Sopenharmony_ci
1084da0c48c4Sopenharmony_ci2018-05-31  Mark Wielaard  <mark@klomp.org>
1085da0c48c4Sopenharmony_ci
1086da0c48c4Sopenharmony_ci	* readelf.c (print_debug_units): Print the dwo name and id when
1087da0c48c4Sopenharmony_ci	unable to find a .dwo file.
1088da0c48c4Sopenharmony_ci
1089da0c48c4Sopenharmony_ci2018-05-31  Mark Wielaard  <mark@klomp.org>
1090da0c48c4Sopenharmony_ci
1091da0c48c4Sopenharmony_ci	* readelf.c (enum section_e): Make section_types not an alias of
1092da0c48c4Sopenharmony_ci	section_info.
1093da0c48c4Sopenharmony_ci	(section_all): Add section_types.
1094da0c48c4Sopenharmony_ci	(parse_opt): Add both section_info and section_types for "info"
1095da0c48c4Sopenharmony_ci	and "info+".
1096da0c48c4Sopenharmony_ci	(print_debug_units): Don't be silent for debug_types.
1097da0c48c4Sopenharmony_ci
1098da0c48c4Sopenharmony_ci2018-05-31  Mark Wielaard  <mark@klomp.org>
1099da0c48c4Sopenharmony_ci
1100da0c48c4Sopenharmony_ci	* readelf.c (attr_callback): Only register section_loc when not
1101da0c48c4Sopenharmony_ci	looking at a split dwarf from a skeleton.
1102da0c48c4Sopenharmony_ci
1103da0c48c4Sopenharmony_ci2018-05-30  Mark Wielaard  <mark@klomp.org>
1104da0c48c4Sopenharmony_ci
1105da0c48c4Sopenharmony_ci	* readelf.c (print_debug_loc_section): Use correct listptr for
1106da0c48c4Sopenharmony_ci	locview attribute.
1107da0c48c4Sopenharmony_ci
1108da0c48c4Sopenharmony_ci2018-05-31  Mark Wielaard  <mark@klomp.org>
1109da0c48c4Sopenharmony_ci
1110da0c48c4Sopenharmony_ci	* readelf.c (print_debug_units): Check offset against -1 not ~0ul.
1111da0c48c4Sopenharmony_ci
1112da0c48c4Sopenharmony_ci2018-05-29  Mark Wielaard  <mark@klomp.org>
1113da0c48c4Sopenharmony_ci
1114da0c48c4Sopenharmony_ci	* readelf.c (print_debug_loc_section): Handle GNU DebugFission list
1115da0c48c4Sopenharmony_ci	entries.
1116da0c48c4Sopenharmony_ci
1117da0c48c4Sopenharmony_ci2018-05-29  Mark Wielaard  <mark@klomp.org>
1118da0c48c4Sopenharmony_ci
1119da0c48c4Sopenharmony_ci	* readelf.c (print_debug): Record and reset section_info status in
1120da0c48c4Sopenharmony_ci	implicit_debug_sections and print_debug_sections.
1121da0c48c4Sopenharmony_ci
1122da0c48c4Sopenharmony_ci2018-05-28  Mark Wielaard  <mark@klomp.org>
1123da0c48c4Sopenharmony_ci
1124da0c48c4Sopenharmony_ci	* readelf.c (print_debug_units): Turn "Could not find split compile
1125da0c48c4Sopenharmony_ci	unit" into an Warning instead of an error.
1126da0c48c4Sopenharmony_ci
1127da0c48c4Sopenharmony_ci2018-04-29  Mark Wielaard  <mark@klomp.org>
1128da0c48c4Sopenharmony_ci
1129da0c48c4Sopenharmony_ci	* readelf.c (parse_opt): Request implicit section_info for "str".
1130da0c48c4Sopenharmony_ci	(known_stroffbases): New static variable.
1131da0c48c4Sopenharmony_ci	(attr_callbackattr_callback): Handle DW_AT_str_offets_base.
1132da0c48c4Sopenharmony_ci	(print_debug_str_offsets_section): New function.
1133da0c48c4Sopenharmony_ci	(print_debug): Handle .debug_str_offsets as section_str. Reset
1134da0c48c4Sopenharmony_ci	known_stroffbases.
1135da0c48c4Sopenharmony_ci
1136da0c48c4Sopenharmony_ci2018-04-27  Mark Wielaard  <mark@klomp.org>
1137da0c48c4Sopenharmony_ci
1138da0c48c4Sopenharmony_ci	* readelf.c (options): Add addr.
1139da0c48c4Sopenharmony_ci	(enum section_e): Add section_addr.
1140da0c48c4Sopenharmony_ci	(section_all): Add section_addr.
1141da0c48c4Sopenharmony_ci	(parse_opt): Parse "addr".
1142da0c48c4Sopenharmony_ci	(known_addrbases): New static variable.
1143da0c48c4Sopenharmony_ci	(get_listptr): New function.
1144da0c48c4Sopenharmony_ci	(print_debug_addr_section): Likewise.
1145da0c48c4Sopenharmony_ci	(attr_callback): Handle DW_AT_addr_base and DW_AT_GNU_addr_base.
1146da0c48c4Sopenharmony_ci	(print_debug): Add NEW_SECTION (addr). Reset known_addrbases.
1147da0c48c4Sopenharmony_ci
1148da0c48c4Sopenharmony_ci2018-04-07  Mark Wielaard  <mark@klomp.org>
1149da0c48c4Sopenharmony_ci
1150da0c48c4Sopenharmony_ci	* readelf.c (attr_callback): Handle DW_FORM_loclistx and
1151da0c48c4Sopenharmony_ci	DW_AT_segment.
1152da0c48c4Sopenharmony_ci
1153da0c48c4Sopenharmony_ci2018-04-12  Mark Wielaard  <mark@klomp.org>
1154da0c48c4Sopenharmony_ci
1155da0c48c4Sopenharmony_ci	* readelf.c (dwarf_loc_list_encoding_string): New functions.
1156da0c48c4Sopenharmony_ci	(dwarf_loc_list_encoding_name): Likewise.
1157da0c48c4Sopenharmony_ci	(known_loclistptr): Renamed and split in two...
1158da0c48c4Sopenharmony_ci	(known_locsptr): this and ...
1159da0c48c4Sopenharmony_ci	(known_loclistsptr): this.
1160da0c48c4Sopenharmony_ci	(listptr_base): Split out...
1161da0c48c4Sopenharmony_ci	(cudie_base): ...this.
1162da0c48c4Sopenharmony_ci	(is_split_dwarf): New function.
1163da0c48c4Sopenharmony_ci	(attr_callback): Handle DW_AT_loclists_base and notice sec_offset
1164da0c48c4Sopenharmony_ci	in correct list.
1165da0c48c4Sopenharmony_ci	(print_debug_rnglists_section): Use spit_dwarf_cu_base.
1166da0c48c4Sopenharmony_ci	(print_debug_loclists_section): New function.
1167da0c48c4Sopenharmony_ci	(print_debug_loc_section): Use known_locsptr instead of
1168da0c48c4Sopenharmony_ci	known_loclistptr.
1169da0c48c4Sopenharmony_ci	(print_debug): Recognize .debug_loclists. Reset known_locsptr and
1170da0c48c4Sopenharmony_ci	known_loclistsptr.
1171da0c48c4Sopenharmony_ci
1172da0c48c4Sopenharmony_ci2018-05-25  Mark Wielaard  <mark@klomp.org>
1173da0c48c4Sopenharmony_ci
1174da0c48c4Sopenharmony_ci	* readelf.c (DWARF_SKELETON): New constant.
1175da0c48c4Sopenharmony_ci	(do_not_close_dwfl): New bool.
1176da0c48c4Sopenharmony_ci	(options): Add dwarf-skeleton.
1177da0c48c4Sopenharmony_ci	(dwarf_skeleton): New static variable.
1178da0c48c4Sopenharmony_ci	(parse_opt): Handle DWARF_SKELETON, set dwarf_skeleton.
1179da0c48c4Sopenharmony_ci	(create_dwfl): New function, with code extracted from...
1180da0c48c4Sopenharmony_ci	(process_file): ...here. Check do_not_close_dwfl.
1181da0c48c4Sopenharmony_ci	(is_split_darf): New function.
1182da0c48c4Sopenharmony_ci	(getone_dwflmod): Likewise.
1183da0c48c4Sopenharmony_ci	(print_debug): Use new functions to find skeleton DWARF file to use
1184da0c48c4Sopenharmony_ci	when inspecting .dwo split DWARF file.
1185da0c48c4Sopenharmony_ci
1186da0c48c4Sopenharmony_ci2018-04-11  Mark Wielaard  <mark@klomp.org>
1187da0c48c4Sopenharmony_ci
1188da0c48c4Sopenharmony_ci	* readelf.c (dwarf_range_list_encoding_string): New function.
1189da0c48c4Sopenharmony_ci	(dwarf_range_list_encoding_name): Likewise.
1190da0c48c4Sopenharmony_ci	(known_rnglistptr): New static variable.
1191da0c48c4Sopenharmony_ci	(listptr_cu): New function.
1192da0c48c4Sopenharmony_ci	(print_debug_rnglists_section): Likewise.
1193da0c48c4Sopenharmony_ci	(attr_callback): Call notice_listptr for DW_AT_ranges. Handle
1194da0c48c4Sopenharmony_ci	DW_AT_rnglists_base. Handle DW_FORM_rnglistx. DW_AT_start_scope
1195da0c48c4Sopenharmony_ci	can also have a rnglist.
1196da0c48c4Sopenharmony_ci	(print_debug_units): Do (silently) scan split DWARF also for
1197da0c48c4Sopenharmony_ci	debug_ranges before DWARF5 to catch all rangelistptrs.
1198da0c48c4Sopenharmony_ci	(print_debug): Recognize .debug_rnglists. Reset known_rnglistptr.
1199da0c48c4Sopenharmony_ci
1200da0c48c4Sopenharmony_ci2018-01-21  Mark Wielaard  <mark@klomp.org>
1201da0c48c4Sopenharmony_ci
1202da0c48c4Sopenharmony_ci	* readelf.c (get_indexed_addr): New function.
1203da0c48c4Sopenharmony_ci	(print_ops): Handle DW_OP_addrx, DW_OP_GNU_addr_index,
1204da0c48c4Sopenharmony_ci	DW_OP_constx, DW_OP_GNU_const_index separately and resolve
1205da0c48c4Sopenharmony_ci	address.
1206da0c48c4Sopenharmony_ci	(attr_callback): Print index and address for
1207da0c48c4Sopenharmony_ci	DW_FORM_GNU_addr_index and DW_FORM_addrx[1234].
1208da0c48c4Sopenharmony_ci
1209da0c48c4Sopenharmony_ci2018-01-19  Mark Wielaard  <mark@klomp.org>
1210da0c48c4Sopenharmony_ci
1211da0c48c4Sopenharmony_ci	* readelf.c (options): Add info+.
1212da0c48c4Sopenharmony_ci	(show_split_units): New static boolean defaulting to false.
1213da0c48c4Sopenharmony_ci	(parse_opt): For all (no arg) --debug-dump set show_split_units
1214da0c48c4Sopenharmony_ci	to yes. For "info+" enable section_info and show_split_units.
1215da0c48c4Sopenharmony_ci	(attrcb_args): Add is_split field.
1216da0c48c4Sopenharmony_ci	(attr_callback): Use is_split to format DIE offsets differently.
1217da0c48c4Sopenharmony_ci	(print_debug_units): Likewise. Get subdie (type or split) only
1218da0c48c4Sopenharmony_ci	when needed. When not silent reiterate over split DIEs when
1219da0c48c4Sopenharmony_ci	found.
1220da0c48c4Sopenharmony_ci
1221da0c48c4Sopenharmony_ci2018-05-15  Mark Wielaard  <mark@klomp.org>
1222da0c48c4Sopenharmony_ci
1223da0c48c4Sopenharmony_ci	* readelf.c (print_debug_units): Print unit type and id for any
1224da0c48c4Sopenharmony_ci	unit type that has it even when version < 5.
1225da0c48c4Sopenharmony_ci
1226da0c48c4Sopenharmony_ci2018-05-14  Mark Wielaard  <mark@klomp.org>
1227da0c48c4Sopenharmony_ci
1228da0c48c4Sopenharmony_ci	* readelf.c (print_ops): Handle DW_OP_GNU_addr_index and
1229da0c48c4Sopenharmony_ci	DW_OP_GNU_const_index.
1230da0c48c4Sopenharmony_ci	(attr_callback): Handle DW_FORM_GNU_addr_index as DW_FORM_addrx.
1231da0c48c4Sopenharmony_ci	Handle DW_FORM_GNU_str_index as DW_FORM_constx. Add as_hex_id.
1232da0c48c4Sopenharmony_ci	Handle DW_AT_GNU_dwo_id as_hex_id.
1233da0c48c4Sopenharmony_ci	(print_form_data): Handle DW_FORM_GNU_str_index as DW_FORM_strx.
1234da0c48c4Sopenharmony_ci
1235da0c48c4Sopenharmony_ci2018-05-12  Mark Wielaard  <mark@klomp.org>
1236da0c48c4Sopenharmony_ci
1237da0c48c4Sopenharmony_ci	* readelf.c (print_debug): Also recognize .dwo section name variants.
1238da0c48c4Sopenharmony_ci
1239da0c48c4Sopenharmony_ci2018-05-15  Dmitry V. Levin  <ldv@altlinux.org>
1240da0c48c4Sopenharmony_ci
1241da0c48c4Sopenharmony_ci	* elflint.c (check_elf_header): Fix typo in error diagnostics.
1242da0c48c4Sopenharmony_ci
1243da0c48c4Sopenharmony_ci2018-05-15  Mark Wielaard  <mark@klomp.org>
1244da0c48c4Sopenharmony_ci
1245da0c48c4Sopenharmony_ci	* readelf.c (print_form_data): Cast comparisons against offset_len to
1246da0c48c4Sopenharmony_ci	ptrdiff_t.
1247da0c48c4Sopenharmony_ci	(print_debug_line_section): Print uint64_t as PRIu64.
1248da0c48c4Sopenharmony_ci
1249da0c48c4Sopenharmony_ci2018-05-11  Mark Wielaard  <mark@klomp.org>
1250da0c48c4Sopenharmony_ci
1251da0c48c4Sopenharmony_ci	* readelf.c (print_debug_macro_section): Use libdw_valid_user_form.
1252da0c48c4Sopenharmony_ci	Use print_form_data for strx and sup strings.
1253da0c48c4Sopenharmony_ci
1254da0c48c4Sopenharmony_ci2018-05-09  Mark Wielaard  <mark@klomp.org>
1255da0c48c4Sopenharmony_ci
1256da0c48c4Sopenharmony_ci	* readelf.c (dwarf_line_content_description_string): New function.
1257da0c48c4Sopenharmony_ci	(dwarf_line_content_description_name): Likewise.
1258da0c48c4Sopenharmony_ci	(print_bytes): Likewise.
1259da0c48c4Sopenharmony_ci	(print_form_data): Likewise. Based on code taken from...
1260da0c48c4Sopenharmony_ci	(print_debug_macro_section): ...here. Now calls print_form_data
1261da0c48c4Sopenharmony_ci	and str_offsets_base_off.
1262da0c48c4Sopenharmony_ci	(print_debug_line_section): Parse DWARF5 header, directory and file
1263da0c48c4Sopenharmony_ci	name tables.
1264da0c48c4Sopenharmony_ci
1265da0c48c4Sopenharmony_ci2018-05-12  Mark Wielaard  <mark@klomp.org>
1266da0c48c4Sopenharmony_ci
1267da0c48c4Sopenharmony_ci	* addr2line.c (main): Add fflush (stdout) after handle_address ()
1268da0c48c4Sopenharmony_ci	when reading from stdin.
1269da0c48c4Sopenharmony_ci
1270da0c48c4Sopenharmony_ci2018-04-24  Mark Wielaard  <mark@klomp.org>
1271da0c48c4Sopenharmony_ci
1272da0c48c4Sopenharmony_ci	* readelf.c (print_debug_aranges_section): Try elf_rawdata if no
1273da0c48c4Sopenharmony_ci	sectiondata.
1274da0c48c4Sopenharmony_ci	(print_debug_ranges_section): Likewise.
1275da0c48c4Sopenharmony_ci	(print_debug_frame_section): Likewise.
1276da0c48c4Sopenharmony_ci	(print_debug_line_section): Likewise. Check for data == NULL.
1277da0c48c4Sopenharmony_ci	(print_debug_loc_section): Likewise.
1278da0c48c4Sopenharmony_ci	(print_debug_macinfo_section): Likewise.
1279da0c48c4Sopenharmony_ci	(print_debug_macro_section): Likewise.
1280da0c48c4Sopenharmony_ci
1281da0c48c4Sopenharmony_ci2018-04-28  Mark Wielaard  <mark@klomp.org>
1282da0c48c4Sopenharmony_ci
1283da0c48c4Sopenharmony_ci	* readelf.c (print_debug): If .debug_info is needed implicitly by
1284da0c48c4Sopenharmony_ci	then handle it first before handling any other debug section.
1285da0c48c4Sopenharmony_ci	(parse_opt): Set implicit_debug_sections to section_info when
1286da0c48c4Sopenharmony_ci	showing all debug sections.
1287da0c48c4Sopenharmony_ci
1288da0c48c4Sopenharmony_ci2018-05-05  Mark Wielaard  <mark@klomp.org>
1289da0c48c4Sopenharmony_ci
1290da0c48c4Sopenharmony_ci	* readelf.c (attr_callback): Handle DW_FORM_ref_sup4 and
1291da0c48c4Sopenharmony_ci	DW_FORM_ref_sup8 as references.
1292da0c48c4Sopenharmony_ci
1293da0c48c4Sopenharmony_ci2018-04-24  Mark Wielaard  <mark@klomp.org>
1294da0c48c4Sopenharmony_ci
1295da0c48c4Sopenharmony_ci	* readelf.c (print_debug_str_section): Take raw section data. Don't
1296da0c48c4Sopenharmony_ci	use dwarf_getstring, but determine start and end of string from
1297da0c48c4Sopenharmony_ci	offset and section data directly.
1298da0c48c4Sopenharmony_ci	(print_debug): Handle ".debug_line_str" like ".debug_str".
1299da0c48c4Sopenharmony_ci
1300da0c48c4Sopenharmony_ci2018-04-19  Andreas Schwab  <schwab@suse.de>
1301da0c48c4Sopenharmony_ci
1302da0c48c4Sopenharmony_ci	* elflint.c (valid_e_machine): Add EM_RISCV.
1303da0c48c4Sopenharmony_ci
1304da0c48c4Sopenharmony_ci2018-04-16  Mark Wielaard  <mark@klomp.org>
1305da0c48c4Sopenharmony_ci
1306da0c48c4Sopenharmony_ci	* readelf.c (print_debug_line_section). In advance_pc, advance
1307da0c48c4Sopenharmony_ci	using op_addr_advance, not op_advance.
1308da0c48c4Sopenharmony_ci
1309da0c48c4Sopenharmony_ci2018-04-14  Mark Wielaard  <mark@klomp.org>
1310da0c48c4Sopenharmony_ci
1311da0c48c4Sopenharmony_ci	* readelf.c (attr_callback): Only show errors when not silent.
1312da0c48c4Sopenharmony_ci
1313da0c48c4Sopenharmony_ci2018-03-23  Mark Wielaard  <mark@klomp.org>
1314da0c48c4Sopenharmony_ci
1315da0c48c4Sopenharmony_ci	* readelf.c (attr_callback): Handle DW_FORM_strx[1234].
1316da0c48c4Sopenharmony_ci
1317da0c48c4Sopenharmony_ci2018-03-22  Mark Wielaard  <mark@klomp.org>
1318da0c48c4Sopenharmony_ci
1319da0c48c4Sopenharmony_ci	* readelf.c (attr_callback): Handle DW_FORM_addrx[1234].
1320da0c48c4Sopenharmony_ci
1321da0c48c4Sopenharmony_ci2018-03-28  Mark Wielaard  <mark@klomp.org>
1322da0c48c4Sopenharmony_ci
1323da0c48c4Sopenharmony_ci	* readelf.c (handle_sysv_hash): Break bucket chain after nchain
1324da0c48c4Sopenharmony_ci	entries are found.
1325da0c48c4Sopenharmony_ci	(handle_sysv_hash64): Likewise.
1326da0c48c4Sopenharmony_ci
1327da0c48c4Sopenharmony_ci2018-03-27  Mark Wielaard  <mark@klomp.org>
1328da0c48c4Sopenharmony_ci
1329da0c48c4Sopenharmony_ci	* readelf.c (attr_callback): Print dwarf_dieoffset as %PRIx64,
1330da0c48c4Sopenharmony_ci	not %zx.
1331da0c48c4Sopenharmony_ci
1332da0c48c4Sopenharmony_ci2018-03-20  Mark Wielaard  <mark@klomp.org>
1333da0c48c4Sopenharmony_ci
1334da0c48c4Sopenharmony_ci	* readelf.c (attr_callback): Report error when DW_AT_decl_file or
1335da0c48c4Sopenharmony_ci	DW_AT_call_file cannot be resolved.
1336da0c48c4Sopenharmony_ci
1337da0c48c4Sopenharmony_ci2018-03-06  Mark Wielaard  <mark@klomp.org>
1338da0c48c4Sopenharmony_ci
1339da0c48c4Sopenharmony_ci	* readelf.c (print_ops): Handle DW_OP_addrx, DW_OP_constx,
1340da0c48c4Sopenharmony_ci	DW_OP_implicit_pointer, DW_OP_entry_value, DW_OP_const_type,
1341da0c48c4Sopenharmony_ci	DW_OP_regval_type, DW_OP_deref_type, DW_OP_xderef_type,
1342da0c48c4Sopenharmony_ci	DW_OP_convert, DW_OP_reinterpret.
1343da0c48c4Sopenharmony_ci
1344da0c48c4Sopenharmony_ci2018-03-01  Mark Wielaard  <mark@klomp.org>
1345da0c48c4Sopenharmony_ci
1346da0c48c4Sopenharmony_ci	* readelf.c (struct listptr): Add attr field.
1347da0c48c4Sopenharmony_ci	(compare_listptr): Warn when two listptrs for the same offset have
1348da0c48c4Sopenharmony_ci	different attributes.
1349da0c48c4Sopenharmony_ci	(notice_listptr): Take attr as argument and add it to listptr.
1350da0c48c4Sopenharmony_ci	(skip_listptr_hole): New attr argument.
1351da0c48c4Sopenharmony_ci	(next_listptr_offset): New function.
1352da0c48c4Sopenharmony_ci	(print_debug_ranges_section): Pass NULL attr to skip_listptr_hole.
1353da0c48c4Sopenharmony_ci	(attr_callback): Handle DW_AT_GNU_locviews. Call notice_listptr with
1354da0c48c4Sopenharmony_ci	attr.
1355da0c48c4Sopenharmony_ci	(print_debug_loc_section): Keep track of which attr is associated with
1356da0c48c4Sopenharmony_ci	a listptr. If the attr is DW_AT_GNU_locview print view pairs till the
1357da0c48c4Sopenharmony_ci	next listptr offset.
1358da0c48c4Sopenharmony_ci
1359da0c48c4Sopenharmony_ci2018-02-09  Mark Wielaard  <mark@klomp.org>
1360da0c48c4Sopenharmony_ci
1361da0c48c4Sopenharmony_ci	* elflint.c (check_group): Make sure we can read a complete
1362da0c48c4Sopenharmony_ci	element when iterating over the group.
1363da0c48c4Sopenharmony_ci
1364da0c48c4Sopenharmony_ci2018-02-09  Mark Wielaard  <mark@klomp.org>
1365da0c48c4Sopenharmony_ci
1366da0c48c4Sopenharmony_ci	* readelf.c (attr_callback): Handle DW_FORM_data16 as Dwarf_Block.
1367da0c48c4Sopenharmony_ci
1368da0c48c4Sopenharmony_ci2018-02-09  Mark Wielaard  <mark@klomp.org>
1369da0c48c4Sopenharmony_ci
1370da0c48c4Sopenharmony_ci	* readelf.c (print_debug_abbrev_section): Print the value of a
1371da0c48c4Sopenharmony_ci	DW_FORM_implicit_const using dwarf_getabbrevattr_data.
1372da0c48c4Sopenharmony_ci	(attr_callback): Handle DW_FORM_implicit_const.
1373da0c48c4Sopenharmony_ci
1374da0c48c4Sopenharmony_ci2018-01-30  Mark Wielaard  <mark@klomp.org>
1375da0c48c4Sopenharmony_ci
1376da0c48c4Sopenharmony_ci	* readelf.c (dwarf_unit_string): New function.
1377da0c48c4Sopenharmony_ci	(dwarf_unit_name): Likewise.
1378da0c48c4Sopenharmony_ci	(print_debug_units): Use dwarf_get_units and dwarf_cu_die instead
1379da0c48c4Sopenharmony_ci	of dwarf_next_unit. Print unit type, id and subdie if available.
1380da0c48c4Sopenharmony_ci
1381da0c48c4Sopenharmony_ci2018-02-09  Joshua Watt  <JPEWhacker@gmail.com>
1382da0c48c4Sopenharmony_ci
1383da0c48c4Sopenharmony_ci	* addr2line.c (handle_address): Use FALLTHROUGH macro instead of
1384da0c48c4Sopenharmony_ci	comment.
1385da0c48c4Sopenharmony_ci	* elfcompress.c (parse_opt): Likewise.
1386da0c48c4Sopenharmony_ci	* elflint.c (check_dynamic): Likewise.
1387da0c48c4Sopenharmony_ci	(check_sections): Likewise.
1388da0c48c4Sopenharmony_ci	(check_note_data): Likewise.
1389da0c48c4Sopenharmony_ci	* objdump.c (parse_opt): Likewise.
1390da0c48c4Sopenharmony_ci	* readelf.c (parse_opt): Likewise.
1391da0c48c4Sopenharmony_ci	(attr_callback): Likewise.
1392da0c48c4Sopenharmony_ci	(handle_auxv_note): Likewise.
1393da0c48c4Sopenharmony_ci	* strings.c (parse_opt): Likewise.
1394da0c48c4Sopenharmony_ci	* backtrace.c (callback_verify): Likewise.
1395da0c48c4Sopenharmony_ci
1396da0c48c4Sopenharmony_ci2018-01-25  Mark Wielaard  <mark@klomp.org>
1397da0c48c4Sopenharmony_ci
1398da0c48c4Sopenharmony_ci	* readelf.c (print_debug_ranges_section): Initialize cu to last_cu.
1399da0c48c4Sopenharmony_ci	(print_debug_loc_section): Likewise.
1400da0c48c4Sopenharmony_ci
1401da0c48c4Sopenharmony_ci2018-01-01  Mark Wielaard  <mark@klomp.org>
1402da0c48c4Sopenharmony_ci
1403da0c48c4Sopenharmony_ci	* readelf.c (attr_callback): Use dwarf_form_name for unknown forms.
1404da0c48c4Sopenharmony_ci	(print_debug_macro_section): Print form using dwarf_form_name.
1405da0c48c4Sopenharmony_ci
1406da0c48c4Sopenharmony_ci2017-12-28  Mark Wielaard  <mark@klomp.org>
1407da0c48c4Sopenharmony_ci
1408da0c48c4Sopenharmony_ci	* readelf.c (print_debug_units): Print DIE offset in error message
1409da0c48c4Sopenharmony_ci	as hex.
1410da0c48c4Sopenharmony_ci
1411da0c48c4Sopenharmony_ci2017-12-18  Mark Wielaard  <mark@klomp.org>
1412da0c48c4Sopenharmony_ci
1413da0c48c4Sopenharmony_ci	* readelf.c (handle_notes_data): Don't use EXIT_FAILURE in error.
1414da0c48c4Sopenharmony_ci	Adjust error message depending on whether or not we got data.
1415da0c48c4Sopenharmony_ci
1416da0c48c4Sopenharmony_ci2017-12-07  Mark Wielaard  <mark@klomp.org>
1417da0c48c4Sopenharmony_ci
1418da0c48c4Sopenharmony_ci	* readelf.c (print_ops): Update data pointer and print arguments
1419da0c48c4Sopenharmony_ci	to DW_OP_call2 and DW_OP_call4 as DIE offsets.
1420da0c48c4Sopenharmony_ci
1421da0c48c4Sopenharmony_ci2017-11-29  Mark Wielaard  <mark@klomp.org>
1422da0c48c4Sopenharmony_ci
1423da0c48c4Sopenharmony_ci	* readelf.c (argp_options): Add "section-groups", 'g'.
1424da0c48c4Sopenharmony_ci
1425da0c48c4Sopenharmony_ci2017-11-29  Mark Wielaard  <mark@klomp.org>
1426da0c48c4Sopenharmony_ci
1427da0c48c4Sopenharmony_ci	* readelf.c (print_debug_loc_section): Print CU base and unresolved
1428da0c48c4Sopenharmony_ci	addresses. Adjust formatting.
1429da0c48c4Sopenharmony_ci
1430da0c48c4Sopenharmony_ci2017-11-29  Mark Wielaard  <mark@klomp.org>
1431da0c48c4Sopenharmony_ci
1432da0c48c4Sopenharmony_ci	* readelf.c (print_debug_ranges_section): Print CU base and unresolved
1433da0c48c4Sopenharmony_ci	addresses. Adjust formatting.
1434da0c48c4Sopenharmony_ci
1435da0c48c4Sopenharmony_ci2017-11-29  Mark Wielaard  <mark@klomp.org>
1436da0c48c4Sopenharmony_ci
1437da0c48c4Sopenharmony_ci	* readelf.c (attr_callback): Set valuestr to resolved file name
1438da0c48c4Sopenharmony_ci	for DW_AT_decl_file and DW_AT_call_file.
1439da0c48c4Sopenharmony_ci
1440da0c48c4Sopenharmony_ci2017-11-29  Mark Wielaard  <mark@klomp.org>
1441da0c48c4Sopenharmony_ci
1442da0c48c4Sopenharmony_ci	* readelf.c (print_debug_units): Print abbrev code after DIE tag.
1443da0c48c4Sopenharmony_ci
1444da0c48c4Sopenharmony_ci2017-11-29  Mark Wielaard  <mark@klomp.org>
1445da0c48c4Sopenharmony_ci
1446da0c48c4Sopenharmony_ci	* readelf.c (print_ops): Use only2 space for index. re-indent +5
1447da0c48c4Sopenharmony_ci	for DW_OP_GNU_entry_value.
1448da0c48c4Sopenharmony_ci
1449da0c48c4Sopenharmony_ci2017-11-21  Mark Wielaard  <mark@klomp.org>
1450da0c48c4Sopenharmony_ci
1451da0c48c4Sopenharmony_ci	* readelf.c (attr_callback): Print attribute name and form in error
1452da0c48c4Sopenharmony_ci	message. If only the value cannot be retrieved/resolved don't abort.
1453da0c48c4Sopenharmony_ci
1454da0c48c4Sopenharmony_ci2017-10-03  Mark Wielaard  <mark@klomp.org>
1455da0c48c4Sopenharmony_ci
1456da0c48c4Sopenharmony_ci	* readelf.c (attr_callback): Print DIE offset in error messages.
1457da0c48c4Sopenharmony_ci
1458da0c48c4Sopenharmony_ci2017-11-03  Mark Wielaard  <mark@klomp.org>
1459da0c48c4Sopenharmony_ci
1460da0c48c4Sopenharmony_ci	* readelf.c (print_ops): Handle DW_OP_GNU_variable_value. Print
1461da0c48c4Sopenharmony_ci	referenced DIE as offset.
1462da0c48c4Sopenharmony_ci
1463da0c48c4Sopenharmony_ci2017-09-10  Mark Wielaard  <mark@klomp.org>
1464da0c48c4Sopenharmony_ci
1465da0c48c4Sopenharmony_ci	* ar.c (do_oper_delete): Remove DEBUG conditional check.
1466da0c48c4Sopenharmony_ci	(no0print): Return bool. Check snprintf return value.
1467da0c48c4Sopenharmony_ci	(do_oper_insert): Initialize elf. Remove DEBUG conditional check.
1468da0c48c4Sopenharmony_ci	Check no0print calls succeed. Explicitly elf_end found elfs.
1469da0c48c4Sopenharmony_ci	(do_oper_extract): Make sure we don't create an empty variable
1470da0c48c4Sopenharmony_ci	length array.
1471da0c48c4Sopenharmony_ci
1472da0c48c4Sopenharmony_ci2017-09-01  Mark Wielaard  <mark@klomp.org>
1473da0c48c4Sopenharmony_ci
1474da0c48c4Sopenharmony_ci	* stack.c (main): Replace \v in doc string with \n\n.
1475da0c48c4Sopenharmony_ci	* unstrip.c (main): Likewise.
1476da0c48c4Sopenharmony_ci
1477da0c48c4Sopenharmony_ci2017-05-04  Ulf Hermann  <ulf.hermann@qt.io>
1478da0c48c4Sopenharmony_ci
1479da0c48c4Sopenharmony_ci	* stack.c: Print pid_t using %lld.
1480da0c48c4Sopenharmony_ci
1481da0c48c4Sopenharmony_ci2017-08-18  Ulf Hermann  <ulf.hermann@qt.io>
1482da0c48c4Sopenharmony_ci
1483da0c48c4Sopenharmony_ci	* readelf.c: Hardcode the signal numbers for non-linux systems.
1484da0c48c4Sopenharmony_ci
1485da0c48c4Sopenharmony_ci2017-07-26  Mark Wielaard  <mark@klomp.org>
1486da0c48c4Sopenharmony_ci
1487da0c48c4Sopenharmony_ci	* readelf.c (print_debug_macro_section): Accept either version 4 or
1488da0c48c4Sopenharmony_ci	version 5. Use DW_MACRO names instead of DW_MACRO_GNU names. Add
1489da0c48c4Sopenharmony_ci	minimal support for DW_MACRO_define_sup, DW_MACRO_undef_sup,
1490da0c48c4Sopenharmony_ci	DW_MACRO_import_sup, DW_MACRO_define_strx and DW_MACRO_undef_strx.
1491da0c48c4Sopenharmony_ci
1492da0c48c4Sopenharmony_ci2017-07-26  Mark Wielaard  <mark@klomp.org>
1493da0c48c4Sopenharmony_ci
1494da0c48c4Sopenharmony_ci	* readelf.c (dwarf_defaulted_string): New function.
1495da0c48c4Sopenharmony_ci	(dwarf_defaulted_name): Likewise.
1496da0c48c4Sopenharmony_ci	(attr_callback): Use dwarf_defaulted_name to get value of
1497da0c48c4Sopenharmony_ci	DW_AT_defaulted.
1498da0c48c4Sopenharmony_ci
1499da0c48c4Sopenharmony_ci2017-07-20  Mark Wielaard  <mark@klomp.org>
1500da0c48c4Sopenharmony_ci
1501da0c48c4Sopenharmony_ci	* strip.c (handle_elf): Deal with data marker symbols pointing to
1502da0c48c4Sopenharmony_ci	debug sections (they can be removed).
1503da0c48c4Sopenharmony_ci
1504da0c48c4Sopenharmony_ci2017-07-14  Mark Wielaard  <mark@klomp.org>
1505da0c48c4Sopenharmony_ci
1506da0c48c4Sopenharmony_ci	* strip (OPT_KEEP_SECTION): New define.
1507da0c48c4Sopenharmony_ci	(options): Add documentation for remove-section. Add keep-section.
1508da0c48c4Sopenharmony_ci	(struct section_pattern): New data type.
1509da0c48c4Sopenharmony_ci	(keep_secs, remove_secs): New globals.
1510da0c48c4Sopenharmony_ci	(add_pattern, free_sec_patterns, free_patterns, section_name_matches):
1511da0c48c4Sopenharmony_ci	New functions.
1512da0c48c4Sopenharmony_ci	(main): Call free_patterns.
1513da0c48c4Sopenharmony_ci	(parse_opt): Handle 'R' and OPT_KEEP_SECTION. Check remove_comment
1514da0c48c4Sopenharmony_ci	on ARGP_KEY_SUCCESS.
1515da0c48c4Sopenharmony_ci	(handle_elf): Handle and sanity check keep_secs and remove_secs.
1516da0c48c4Sopenharmony_ci
1517da0c48c4Sopenharmony_ci2017-06-07  Mark Wielaard  <mark@klomp.org>
1518da0c48c4Sopenharmony_ci
1519da0c48c4Sopenharmony_ci	* strip.c (handle_elf): Introduce new handle_elf boolean. Use it to
1520da0c48c4Sopenharmony_ci	determine whether to create an output and/or debug file. Remove new
1521da0c48c4Sopenharmony_ci	output file on error.
1522da0c48c4Sopenharmony_ci
1523da0c48c4Sopenharmony_ci2017-06-06  Mark Wielaard  <mark@klomp.org>
1524da0c48c4Sopenharmony_ci
1525da0c48c4Sopenharmony_ci	* strip.c (handle_elf): Assume e_shstrndx section can be removed.
1526da0c48c4Sopenharmony_ci
1527da0c48c4Sopenharmony_ci2017-04-20  Ulf Hermann  <ulf.hermann@qt.io>
1528da0c48c4Sopenharmony_ci
1529da0c48c4Sopenharmony_ci	* readelf.c: Include strings.h.
1530da0c48c4Sopenharmony_ci
1531da0c48c4Sopenharmony_ci2017-04-20  Ulf Hermann  <ulf.hermann@qt.io>
1532da0c48c4Sopenharmony_ci
1533da0c48c4Sopenharmony_ci	* unstrip.c: Check shnum for 0 before subtracting from it.
1534da0c48c4Sopenharmony_ci
1535da0c48c4Sopenharmony_ci2017-04-20  Ulf Hermann <ulf.hermann@qt.io>
1536da0c48c4Sopenharmony_ci
1537da0c48c4Sopenharmony_ci	* readelf.c: Replace YESSTR and NOSTR with gettext ("yes") and
1538da0c48c4Sopenharmony_ci	gettext ("no"), respectively.
1539da0c48c4Sopenharmony_ci
1540da0c48c4Sopenharmony_ci2017-04-05  Mark Wielaard  <mark@klomp.org>
1541da0c48c4Sopenharmony_ci
1542da0c48c4Sopenharmony_ci	* elflint.c (check_elf_header): Decompress all sections.
1543da0c48c4Sopenharmony_ci
1544da0c48c4Sopenharmony_ci2017-03-28  Mark Wielaard  <mark@klomp.org>
1545da0c48c4Sopenharmony_ci
1546da0c48c4Sopenharmony_ci	* elflint (check_group): Don't check if there is no flag word.
1547da0c48c4Sopenharmony_ci
1548da0c48c4Sopenharmony_ci2017-03-27  Mark Wielaard  <mark@klomp.org>
1549da0c48c4Sopenharmony_ci
1550da0c48c4Sopenharmony_ci	* elflint.c (check_elf_header): Sanity check phnum and shnum.
1551da0c48c4Sopenharmony_ci
1552da0c48c4Sopenharmony_ci2017-03-27  Mark Wielaard  <mark@klomp.org>
1553da0c48c4Sopenharmony_ci
1554da0c48c4Sopenharmony_ci	* elflint.c (check_sysv_hash): Return early if section size is
1555da0c48c4Sopenharmony_ci	too small.
1556da0c48c4Sopenharmony_ci	(check_sysv_hash64): Likewise.
1557da0c48c4Sopenharmony_ci	(check_hash): Calculate expect_entsize to check section size.
1558da0c48c4Sopenharmony_ci
1559da0c48c4Sopenharmony_ci2017-03-27  Mark Wielaard  <mark@klomp.org>
1560da0c48c4Sopenharmony_ci
1561da0c48c4Sopenharmony_ci	* elflint.c (check_symtab_shndx): Check data->d_size.
1562da0c48c4Sopenharmony_ci
1563da0c48c4Sopenharmony_ci2017-03-24  Mark Wielaard  <mjw@redhat.com>
1564da0c48c4Sopenharmony_ci
1565da0c48c4Sopenharmony_ci	* elfcmp.c (main): If n_namesz == 0 then the note name data is the
1566da0c48c4Sopenharmony_ci	empty string.
1567da0c48c4Sopenharmony_ci	* readelf.c (handle_notes_data): Likewise.
1568da0c48c4Sopenharmony_ci
1569da0c48c4Sopenharmony_ci2017-03-24  Mark Wielaard  <mjw@redhat.com>
1570da0c48c4Sopenharmony_ci
1571da0c48c4Sopenharmony_ci	* readelf.c (handle_gnu_hash): Check inner < max_nsyms before
1572da0c48c4Sopenharmony_ci	indexing into chain array.
1573da0c48c4Sopenharmony_ci
1574da0c48c4Sopenharmony_ci2017-02-16  Ulf Hermann  <ulf.hermann@qt.io>
1575da0c48c4Sopenharmony_ci
1576da0c48c4Sopenharmony_ci	* addr2line.c: Include printversion.h
1577da0c48c4Sopenharmony_ci	* ar.c: Likewise.
1578da0c48c4Sopenharmony_ci	* elflint.c: Likewise.
1579da0c48c4Sopenharmony_ci	* nm.c: Likewise.
1580da0c48c4Sopenharmony_ci	* objdump.c: Likewise.
1581da0c48c4Sopenharmony_ci	* ranlib.c: Likewise.
1582da0c48c4Sopenharmony_ci	* readelf.c: Likewise.
1583da0c48c4Sopenharmony_ci	* size.c: Likewise.
1584da0c48c4Sopenharmony_ci	* stack.c: Likewise.
1585da0c48c4Sopenharmony_ci	* strings.c: Likewise.
1586da0c48c4Sopenharmony_ci	* strip.c: Likewise.
1587da0c48c4Sopenharmony_ci	* elfcmp.c: Include printversion.h, remove system.h include.
1588da0c48c4Sopenharmony_ci	* elfcompress.c: Likewise.
1589da0c48c4Sopenharmony_ci	* findtextrel.c: Likewise.
1590da0c48c4Sopenharmony_ci	* unstrip.c: Likewise.
1591da0c48c4Sopenharmony_ci
1592da0c48c4Sopenharmony_ci2017-02-14  Ulf Hermann  <ulf.hermann@qt.io>
1593da0c48c4Sopenharmony_ci
1594da0c48c4Sopenharmony_ci	* nm.c: Include color.h.
1595da0c48c4Sopenharmony_ci	* objdump.c: Likewise.
1596da0c48c4Sopenharmony_ci
1597da0c48c4Sopenharmony_ci2016-12-24  Mark Wielaard  <mark@klomp.org>
1598da0c48c4Sopenharmony_ci
1599da0c48c4Sopenharmony_ci	* Makefile.am (findtextrel_LDADD): Add $(libeu).
1600da0c48c4Sopenharmony_ci	(addr2line_LDADD): Likewise.
1601da0c48c4Sopenharmony_ci	(elfcmp_LDADD): Likewise.
1602da0c48c4Sopenharmony_ci	* addr2line.c (print_version): Removed.
1603da0c48c4Sopenharmony_ci	* ar.c (print_version): Likewise.
1604da0c48c4Sopenharmony_ci	* elfcmp.c (print_version): Likewise.
1605da0c48c4Sopenharmony_ci	* elfcompress.c (print_version): Likewise.
1606da0c48c4Sopenharmony_ci	* elflint.c (print_version): Likewise.
1607da0c48c4Sopenharmony_ci	* findtextrel.c (print_version): Likewise.
1608da0c48c4Sopenharmony_ci	* nm.c (print_version): Likewise.
1609da0c48c4Sopenharmony_ci	* objdump.c: Likewise.
1610da0c48c4Sopenharmony_ci	* ranlib.c: Likewise.
1611da0c48c4Sopenharmony_ci	* readelf.c: Likewise.
1612da0c48c4Sopenharmony_ci	* size.c: Likewise.
1613da0c48c4Sopenharmony_ci	* stack.c: Likewise.
1614da0c48c4Sopenharmony_ci	* strings.c: Likewise.
1615da0c48c4Sopenharmony_ci	* strip.c: Likewise.
1616da0c48c4Sopenharmony_ci	* unstrip.c: Likewise.
1617da0c48c4Sopenharmony_ci
1618da0c48c4Sopenharmony_ci2016-11-17  Mark Wielaard  <mjw@redhat.com>
1619da0c48c4Sopenharmony_ci
1620da0c48c4Sopenharmony_ci	* readelf.c (options): Add optional arg SECTION for symbols.
1621da0c48c4Sopenharmony_ci	(symbol_table_section): New static variable.
1622da0c48c4Sopenharmony_ci	(parse_opt): Set symbol_table_section on 's'.
1623da0c48c4Sopenharmony_ci	(print_symtab): Filter on symbol_table_section name is set.
1624da0c48c4Sopenharmony_ci
1625da0c48c4Sopenharmony_ci2016-11-10  Mark Wielaard  <mjw@redhat.com>
1626da0c48c4Sopenharmony_ci
1627da0c48c4Sopenharmony_ci	* ar.c (write_member): Make sure tmpbuf is large enough to contain
1628da0c48c4Sopenharmony_ci	a starting '/' and ending '\0' char.
1629da0c48c4Sopenharmony_ci	(do_oper_insert): Likewise.
1630da0c48c4Sopenharmony_ci	* arlib.c (arlib_finalize): Format tmpbuf as PRId32 decimal.
1631da0c48c4Sopenharmony_ci
1632da0c48c4Sopenharmony_ci2016-11-02  Mark Wielaard  <mjw@redhat.com>
1633da0c48c4Sopenharmony_ci
1634da0c48c4Sopenharmony_ci	* addr2line.c (handle_address): Add fallthrough comment.
1635da0c48c4Sopenharmony_ci	* elfcompress.c (parse_opt): Adjust fallthrough comment.
1636da0c48c4Sopenharmony_ci	* elflint.c (parse_opt): Add missing break after 'd' case.
1637da0c48c4Sopenharmony_ci	(check_sections): Add fallthrough comments.
1638da0c48c4Sopenharmony_ci	* objdump.c (parse_opt): Add explantion for fallthrough comment.
1639da0c48c4Sopenharmony_ci
1640da0c48c4Sopenharmony_ci2016-10-22  Kevin Cernekee  <cernekee@chromium.org>
1641da0c48c4Sopenharmony_ci
1642da0c48c4Sopenharmony_ci	* unstrip.c: Fix "invalid string offset" error caused by using the
1643da0c48c4Sopenharmony_ci	  unstripped .symtab with the stripped .strtab.
1644da0c48c4Sopenharmony_ci
1645da0c48c4Sopenharmony_ci2016-10-11  Akihiko Odaki  <akihiko.odaki.4i@stu.hosei.ac.jp>
1646da0c48c4Sopenharmony_ci
1647da0c48c4Sopenharmony_ci	* arlib.c: Remove system.h include, add libeu.h include.
1648da0c48c4Sopenharmony_ci	* arlib2.c: Remove sys/param.h include.
1649da0c48c4Sopenharmony_ci	* elfcompress.c: Add libeu.h include.
1650da0c48c4Sopenharmony_ci	* elflint.c: Remove sys/param.h include, add libeu.h include.
1651da0c48c4Sopenharmony_ci	* nm.c: Likewise.
1652da0c48c4Sopenharmony_ci	* objdump.c: Likewise.
1653da0c48c4Sopenharmony_ci	* ranlib.c: Likewise.
1654da0c48c4Sopenharmony_ci	* readelf.c: Likewise.
1655da0c48c4Sopenharmony_ci	* size.c: Remove sys/param.h include.
1656da0c48c4Sopenharmony_ci	* strings.c: Likewise, add libeu.h include.
1657da0c48c4Sopenharmony_ci	* strip.c: Likewise.
1658da0c48c4Sopenharmony_ci	* unstrip.c: Likewise.
1659da0c48c4Sopenharmony_ci
1660da0c48c4Sopenharmony_ci2016-10-06  Mark Wielaard  <mjw@redhat.com>
1661da0c48c4Sopenharmony_ci
1662da0c48c4Sopenharmony_ci	* strip.c (handle_elf): Don't remove real symbols from allocated
1663da0c48c4Sopenharmony_ci	symbol tables.
1664da0c48c4Sopenharmony_ci
1665da0c48c4Sopenharmony_ci2016-08-25  Mark Wielaard  <mjw@redhat.com>
1666da0c48c4Sopenharmony_ci
1667da0c48c4Sopenharmony_ci	* strip.c (handle_elf): Recompress with ELF_CHF_FORCE.
1668da0c48c4Sopenharmony_ci
1669da0c48c4Sopenharmony_ci2016-08-06  Mark Wielaard  <mjw@redhat.com>
1670da0c48c4Sopenharmony_ci
1671da0c48c4Sopenharmony_ci	* strip.c (handle_elf): Uncompress and recompress relocation target
1672da0c48c4Sopenharmony_ci	section if necessary.
1673da0c48c4Sopenharmony_ci
1674da0c48c4Sopenharmony_ci2016-07-08  Mark Wielaard  <mjw@redhat.com>
1675da0c48c4Sopenharmony_ci
1676da0c48c4Sopenharmony_ci	* Makefile.am (strip_LDADD): Add libdw.
1677da0c48c4Sopenharmony_ci	* elfcompress.c (process_file): Use dwelf_strtab functions instead of
1678da0c48c4Sopenharmony_ci	ebl_strtab.
1679da0c48c4Sopenharmony_ci	* strip.c (handle_elf): Likewise.
1680da0c48c4Sopenharmony_ci	* unstrip.c (new_shstrtab): Likewise.
1681da0c48c4Sopenharmony_ci
1682da0c48c4Sopenharmony_ci2016-07-06  Mark Wielaard  <mjw@redhat.com>
1683da0c48c4Sopenharmony_ci
1684da0c48c4Sopenharmony_ci	* elf32-i386.script, i386_ld.c, ld.c, ld.h, ldgeneric.c, ldlex.l,
1685da0c48c4Sopenharmony_ci	ldscript.y, libld_elf_i386.map, none_ld.c, sectionhash.c,
1686da0c48c4Sopenharmony_ci	sectionhash.h, symbolhash.c, symbolhash.h, unaligned.h,
1687da0c48c4Sopenharmony_ci	versionhash.c, versionhash.h, xelf.h: Removed.
1688da0c48c4Sopenharmony_ci	* Makefile.am (YACC): Removed.
1689da0c48c4Sopenharmony_ci	(AM_YFLAGS): Removed.
1690da0c48c4Sopenharmony_ci	(AM_LFLAGS): Removed.
1691da0c48c4Sopenharmony_ci	(native_ld): Removed.
1692da0c48c4Sopenharmony_ci	(base_cpu): Removed.
1693da0c48c4Sopenharmony_ci	(bin_PROGRAMS): Removed ld.
1694da0c48c4Sopenharmony_ci	(ld_dsos): Removed.
1695da0c48c4Sopenharmony_ci	(ld_SOURCES): Removed.
1696da0c48c4Sopenharmony_ci	(noinst_LIBRARIES): Only libar.a.
1697da0c48c4Sopenharmony_ci	(EXTRA_DIST): Just arlib.h and debugpred.h.
1698da0c48c4Sopenharmony_ci	(ld_LDADD): Removed.
1699da0c48c4Sopenharmony_ci	(ld_LDFLAGS): Removed.
1700da0c48c4Sopenharmony_ci	(ldlex.o): Removed.
1701da0c48c4Sopenharmony_ci	(ldscript.h): Removed.
1702da0c48c4Sopenharmony_ci	(libld*): Removed.
1703da0c48c4Sopenharmony_ci	(CLEANFILES): Just *.gconv.
1704da0c48c4Sopenharmony_ci	(MAINTAINERCLEANFILES): Removed.
1705da0c48c4Sopenharmony_ci
1706da0c48c4Sopenharmony_ci2016-07-06  Mark Wielaard  <mjw@redhat.com>
1707da0c48c4Sopenharmony_ci
1708da0c48c4Sopenharmony_ci	* unstrip.c (copy_elided_sections): Use unstripped_strent[] from
1709da0c48c4Sopenharmony_ci	index zero, instead of one.
1710da0c48c4Sopenharmony_ci
1711da0c48c4Sopenharmony_ci2016-06-28  Richard Henderson <rth@redhat.com>
1712da0c48c4Sopenharmony_ci
1713da0c48c4Sopenharmony_ci	* elflint.c (valid_e_machine): Add EM_BPF.
1714da0c48c4Sopenharmony_ci
1715da0c48c4Sopenharmony_ci2016-04-11  David Abdurachmanov  <davidlt@cern.ch>
1716da0c48c4Sopenharmony_ci
1717da0c48c4Sopenharmony_ci	* elfcmp.c (main): Fix self-comparison error with GCC 6.
1718da0c48c4Sopenharmony_ci
1719da0c48c4Sopenharmony_ci2016-03-21  Mark Wielaard  <mjw@redhat.com>
1720da0c48c4Sopenharmony_ci
1721da0c48c4Sopenharmony_ci	* nm.c (show_symbols): Check for malloc size argument overflow.
1722da0c48c4Sopenharmony_ci
1723da0c48c4Sopenharmony_ci2016-02-13  Mark Wielaard  <mjw@redhat.com>
1724da0c48c4Sopenharmony_ci
1725da0c48c4Sopenharmony_ci	* readelf.c (print_scngrp): Call error when gelf_getshdr fails.
1726da0c48c4Sopenharmony_ci	(print_symtab): Likewise.
1727da0c48c4Sopenharmony_ci	(handle_hash): Likewise.
1728da0c48c4Sopenharmony_ci	(dump_data_section): Print a warning if decompressing fails.
1729da0c48c4Sopenharmony_ci	(print_string_section): Likewise.
1730da0c48c4Sopenharmony_ci
1731da0c48c4Sopenharmony_ci2016-02-13  Mark Wielaard  <mjw@redhat.com>
1732da0c48c4Sopenharmony_ci
1733da0c48c4Sopenharmony_ci	* elfcompress.c (parse_opt): Don't fallthrough after processing -q.
1734da0c48c4Sopenharmony_ci
1735da0c48c4Sopenharmony_ci2016-02-12  Mark Wielaard  <mjw@redhat.com>
1736da0c48c4Sopenharmony_ci
1737da0c48c4Sopenharmony_ci	* strip.c (handle_elf): Correct elf_assert shndxdata check.
1738da0c48c4Sopenharmony_ci
1739da0c48c4Sopenharmony_ci2016-02-09  Mark Wielaard  <mjw@redhat.com>
1740da0c48c4Sopenharmony_ci
1741da0c48c4Sopenharmony_ci	* readelf.c (read_encoded): Move up.
1742da0c48c4Sopenharmony_ci	(print_cfa_program): Add encoding argument. Use it for read_encoded
1743da0c48c4Sopenharmony_ci	when reading DW_CFA_set_loc op.
1744da0c48c4Sopenharmony_ci	(print_debug_frame_section): Pass fde_encoding to print_cfa_program.
1745da0c48c4Sopenharmony_ci
1746da0c48c4Sopenharmony_ci2016-02-09  Mark Wielaard  <mjw@redhat.com>
1747da0c48c4Sopenharmony_ci
1748da0c48c4Sopenharmony_ci	* elflint.c (compare_hash_gnu_hash): Check hash sh_entsize against
1749da0c48c4Sopenharmony_ci	sizeof (Elf64_Xword). Correct invalid sh_entsize error message
1750da0c48c4Sopenharmony_ci	section idx and name.
1751da0c48c4Sopenharmony_ci
1752da0c48c4Sopenharmony_ci2016-01-13  Mark Wielaard  <mjw@redhat.com>
1753da0c48c4Sopenharmony_ci
1754da0c48c4Sopenharmony_ci	* elflint.c (check_elf_header): Recognize ELFOSABI_FREEBSD.
1755da0c48c4Sopenharmony_ci
1756da0c48c4Sopenharmony_ci2016-01-08  Mark Wielaard  <mjw@redhat.com>
1757da0c48c4Sopenharmony_ci
1758da0c48c4Sopenharmony_ci	* elfcompress.c (compress_section): Use %zu to print size_t.
1759da0c48c4Sopenharmony_ci	* readelf.c (print_shdr): Use %zx to print size_t.
1760da0c48c4Sopenharmony_ci
1761da0c48c4Sopenharmony_ci2015-12-16  Mark Wielaard  <mjw@redhat.com>
1762da0c48c4Sopenharmony_ci
1763da0c48c4Sopenharmony_ci	* elfcompress.c: New file.
1764da0c48c4Sopenharmony_ci	* Makefile.am (bin_PROGRAMS): Add elfcompress.
1765da0c48c4Sopenharmony_ci	(elfcompress_LDADD): New variable.
1766da0c48c4Sopenharmony_ci
1767da0c48c4Sopenharmony_ci2015-12-18  Mark Wielaard  <mjw@redhat.com>
1768da0c48c4Sopenharmony_ci
1769da0c48c4Sopenharmony_ci	* elflint.c (section_flags_string): Add NEWFLAG COMPRESSED.
1770da0c48c4Sopenharmony_ci	(check_sections): SHF_COMPRESSED can be on any special section.
1771da0c48c4Sopenharmony_ci	SHF_COMPRESSED is a valid section flag. SHF_COMPRESSED cannot
1772da0c48c4Sopenharmony_ci	be used together with SHF_ALLOC or with SHT_NOBITS. Should have
1773da0c48c4Sopenharmony_ci	a valid Chdr.
1774da0c48c4Sopenharmony_ci
1775da0c48c4Sopenharmony_ci2015-10-20  Mark Wielaard  <mjw@redhat.com>
1776da0c48c4Sopenharmony_ci
1777da0c48c4Sopenharmony_ci	* readelf.c (options): Expand -z help text.
1778da0c48c4Sopenharmony_ci	(dump_data_section): Check whether we need and can decompress section
1779da0c48c4Sopenharmony_ci	data and call elf_rawzdata if so,
1780da0c48c4Sopenharmony_ci	(print_string_section): Likewise.
1781da0c48c4Sopenharmony_ci	(elf_contains_chdrs): New function.
1782da0c48c4Sopenharmony_ci	(process_elf_file): Rename print_unrelocated to print_unchanged,
1783da0c48c4Sopenharmony_ci	use elf_contains_chdrs.
1784da0c48c4Sopenharmony_ci	(print_scngrp): Check whether section is compressed before use.
1785da0c48c4Sopenharmony_ci	(print_symtab): Likewise.
1786da0c48c4Sopenharmony_ci	(handle_hash): Likewise.
1787da0c48c4Sopenharmony_ci
1788da0c48c4Sopenharmony_ci2015-10-16  Mark Wielaard  <mjw@redhat.com>
1789da0c48c4Sopenharmony_ci
1790da0c48c4Sopenharmony_ci	* readelf.c (argp_option): Describe --decompress,-z.
1791da0c48c4Sopenharmony_ci	(print_decompress): New bool.
1792da0c48c4Sopenharmony_ci	(parse_opt): Handle -z.
1793da0c48c4Sopenharmony_ci	(elf_ch_type_name): New function.
1794da0c48c4Sopenharmony_ci	(print_shdr): Print section compress information.
1795da0c48c4Sopenharmony_ci
1796da0c48c4Sopenharmony_ci2015-12-31  Mark Wielaard  <mjw@redhat.com>
1797da0c48c4Sopenharmony_ci
1798da0c48c4Sopenharmony_ci	* elflint.c (check_symtab): Add _edata and _end (plus extra underscore
1799da0c48c4Sopenharmony_ci	variants) to to the list of possibly dangling symbols.
1800da0c48c4Sopenharmony_ci
1801da0c48c4Sopenharmony_ci2015-12-02  Mark Wielaard  <mjw@redhat.com>
1802da0c48c4Sopenharmony_ci
1803da0c48c4Sopenharmony_ci	* nm.c (process_file): Accept fd and pass it on.
1804da0c48c4Sopenharmony_ci	(handle_elf): Likewise.
1805da0c48c4Sopenharmony_ci	(find_no_debuginfo): New.
1806da0c48c4Sopenharmony_ci	(struct getdbg): Likewise.
1807da0c48c4Sopenharmony_ci	(getdbg_dwflmod): Likewise.
1808da0c48c4Sopenharmony_ci	(show_symbols): Take fd. If the file is ET_REL use libdwfl to get
1809da0c48c4Sopenharmony_ci	the relocated Dwarf.
1810da0c48c4Sopenharmony_ci
1811da0c48c4Sopenharmony_ci2015-12-02  Mark Wielaard  <mjw@redhat.com>
1812da0c48c4Sopenharmony_ci
1813da0c48c4Sopenharmony_ci	* nm.c (get_local_names): Check for duplicates in local_root tree.
1814da0c48c4Sopenharmony_ci
1815da0c48c4Sopenharmony_ci2015-12-02  Mark Wielaard  <mjw@redhat.com>
1816da0c48c4Sopenharmony_ci
1817da0c48c4Sopenharmony_ci	* unstrip.c (struct data_list): New.
1818da0c48c4Sopenharmony_ci	(new_data_list): Likewise.
1819da0c48c4Sopenharmony_ci	(record_new_data): Likewise.
1820da0c48c4Sopenharmony_ci	(free_new_data): Likewise.
1821da0c48c4Sopenharmony_ci	(adjust_relocs): Call record_new_data.
1822da0c48c4Sopenharmony_ci	(add_new_section_symbols): Likewise.
1823da0c48c4Sopenharmony_ci	(copy_elided_sections): Call free_new_data.
1824da0c48c4Sopenharmony_ci
1825da0c48c4Sopenharmony_ci2015-12-01  Mark Wielaard  <mjw@redhat.com>
1826da0c48c4Sopenharmony_ci
1827da0c48c4Sopenharmony_ci	* elfcmp.c (main): Close ebl1 and ebl2 backends.
1828da0c48c4Sopenharmony_ci
1829da0c48c4Sopenharmony_ci2015-10-16  Mark Wielaard  <mjw@redhat.com>
1830da0c48c4Sopenharmony_ci
1831da0c48c4Sopenharmony_ci	* Makefile.am [BUILD_STATIC](libdw): Add -lz.
1832da0c48c4Sopenharmony_ci	[BUILD_STATIC](libelf): Likewise.
1833da0c48c4Sopenharmony_ci
1834da0c48c4Sopenharmony_ci2015-10-16  Mark Wielaard  <mjw@redhat.com>
1835da0c48c4Sopenharmony_ci
1836da0c48c4Sopenharmony_ci	* elflint.c (check_symtab): Don't check TLS symbol value against TLS
1837da0c48c4Sopenharmony_ci	phdr offset in debuginfo files.
1838da0c48c4Sopenharmony_ci	(check_sections): Don't try to match section offsets to phdrs offsets
1839da0c48c4Sopenharmony_ci	in debuginfo files.
1840da0c48c4Sopenharmony_ci
1841da0c48c4Sopenharmony_ci2015-10-16  Mark Wielaard  <mjw@redhat.com>
1842da0c48c4Sopenharmony_ci
1843da0c48c4Sopenharmony_ci	* elflint.c (check_reloc_shdr): Reject only desthdrs if they have both
1844da0c48c4Sopenharmony_ci	SHF_MERGE and SHF_STRINGS set.
1845da0c48c4Sopenharmony_ci
1846da0c48c4Sopenharmony_ci2015-10-13  Jose E. Marchesi  <jose.marchesi@oracle.com>
1847da0c48c4Sopenharmony_ci
1848da0c48c4Sopenharmony_ci	* elflint.c (check_sections): Do not rely on
1849da0c48c4Sopenharmony_ci	ebl_check_special_section when checking debuginfo files.  Also
1850da0c48c4Sopenharmony_ci	check that the type of WE sections in debuginfo files is NOBITS.
1851da0c48c4Sopenharmony_ci
1852da0c48c4Sopenharmony_ci2015-10-13  Mark Wielaard  <mjw@redhat.com>
1853da0c48c4Sopenharmony_ci
1854da0c48c4Sopenharmony_ci	* elflint.c (check_program_header): Check relro flags are a subset
1855da0c48c4Sopenharmony_ci	of the load segment if they don't fully overlap.
1856da0c48c4Sopenharmony_ci
1857da0c48c4Sopenharmony_ci2015-10-07  Mark Wielaard  <mjw@redhat.com>
1858da0c48c4Sopenharmony_ci
1859da0c48c4Sopenharmony_ci	* Makefile.am (ldlex_no_Wstack_usage): New.
1860da0c48c4Sopenharmony_ci	* ldlex.l ([RWX]): Make cnt unsigned.
1861da0c48c4Sopenharmony_ci
1862da0c48c4Sopenharmony_ci2015-10-09  Josh Stone  <jistone@redhat.com>
1863da0c48c4Sopenharmony_ci
1864da0c48c4Sopenharmony_ci	* elflint.c (main): Replace stat64 and fstat64 with stat and fstat.
1865da0c48c4Sopenharmony_ci	* readelf.c (process_file): Likewise.
1866da0c48c4Sopenharmony_ci	(process_elf_file): Replace off64_t with off_t.
1867da0c48c4Sopenharmony_ci	* findtextrel.c (process_file): Replace open64 with open.
1868da0c48c4Sopenharmony_ci	* ld.c (main): Replace sizeof (off64_t) with 8.
1869da0c48c4Sopenharmony_ci	* strings.c: Replace off64_t with off_t throughout.
1870da0c48c4Sopenharmony_ci	(main): Replace stat64 and fstat64 with stat and fstat.
1871da0c48c4Sopenharmony_ci	(map_file): Replace mmap64 with mmap.
1872da0c48c4Sopenharmony_ci	(read_block): Likewise, and replace lseek64 with lseek.
1873da0c48c4Sopenharmony_ci	* strip.c (handle_elf): Replace ftruncate64 with ftruncate.
1874da0c48c4Sopenharmony_ci	(process_file): Replace stat64 and fstat64 with stat and fstat.
1875da0c48c4Sopenharmony_ci	* unstrip.c (parse_opt): Replace stat64 with stat.
1876da0c48c4Sopenharmony_ci	(handle_file): Replace open64 with open.
1877da0c48c4Sopenharmony_ci	(open_file): Likewise.
1878da0c48c4Sopenharmony_ci
1879da0c48c4Sopenharmony_ci2015-10-08  Chih-Hung Hsieh  <chh@google.com>
1880da0c48c4Sopenharmony_ci
1881da0c48c4Sopenharmony_ci	* ld.c (determine_output_format): Move recursive nested
1882da0c48c4Sopenharmony_ci	function "try" to file scope.
1883da0c48c4Sopenharmony_ci
1884da0c48c4Sopenharmony_ci2015-10-04  Mark Wielaard  <mjw@redhat.com>
1885da0c48c4Sopenharmony_ci
1886da0c48c4Sopenharmony_ci	* strip.c (handle_elf): Only sanity check section symbols to not
1887da0c48c4Sopenharmony_ci	kept discarded sections if we are creating a debug file.
1888da0c48c4Sopenharmony_ci
1889da0c48c4Sopenharmony_ci2015-10-07  Mark Wielaard  <mjw@redhat.com>
1890da0c48c4Sopenharmony_ci
1891da0c48c4Sopenharmony_ci	* unstrip.c (MAX): Removed.
1892da0c48c4Sopenharmony_ci	(find_alloc_sections_prelink): Allocate exact amount of bytes for
1893da0c48c4Sopenharmony_ci	shdrs.
1894da0c48c4Sopenharmony_ci
1895da0c48c4Sopenharmony_ci2015-10-05  Chih-Hung Hsieh <chh@google.com>
1896da0c48c4Sopenharmony_ci
1897da0c48c4Sopenharmony_ci	* unstrip.c (find_alloc_sections_prelink): Do not allocate
1898da0c48c4Sopenharmony_ci	on stack union types with variable length arrays; use xmalloc
1899da0c48c4Sopenharmony_ci	for such dynamic sized objects.
1900da0c48c4Sopenharmony_ci	* readelf.c (handle_core_item): Likewise, but use alloca
1901da0c48c4Sopenharmony_ci	for small variable size data object and add assert(count < 128).
1902da0c48c4Sopenharmony_ci
1903da0c48c4Sopenharmony_ci2015-10-05  Josh Stone  <jistone@redhat.com>
1904da0c48c4Sopenharmony_ci
1905da0c48c4Sopenharmony_ci	* Makefile.am (libld_elf_i386.so): Add AM_V_CCLD silencer.
1906da0c48c4Sopenharmony_ci	(.deps/none_ld.Po): Always silence the dummy command.
1907da0c48c4Sopenharmony_ci	(make-debug-archive): Add AM_V_GEN and AM_V_at silencers.
1908da0c48c4Sopenharmony_ci
1909da0c48c4Sopenharmony_ci2015-10-02  Mark Wielaard  <mjw@redhat.com>
1910da0c48c4Sopenharmony_ci
1911da0c48c4Sopenharmony_ci	* unstrip.c (copy_elided_sections): Use SH_INFO_LINK_P, not just
1912da0c48c4Sopenharmony_ci	SHF_INFO_LINK.
1913da0c48c4Sopenharmony_ci
1914da0c48c4Sopenharmony_ci2015-10-02  Mark Wielaard  <mjw@redhat.com>
1915da0c48c4Sopenharmony_ci
1916da0c48c4Sopenharmony_ci	* strip.c (handle_elf): Don't move around allocated NOBITS sections.
1917da0c48c4Sopenharmony_ci	Don't just mark the section header string table as unused.
1918da0c48c4Sopenharmony_ci	* unstrip.c (copy_elided_sections): Add header names to strtab if
1919da0c48c4Sopenharmony_ci	shstrndx equals the symtab strtabndx.
1920da0c48c4Sopenharmony_ci
1921da0c48c4Sopenharmony_ci2015-09-22  Mark Wielaard  <mjw@redhat.com>
1922da0c48c4Sopenharmony_ci
1923da0c48c4Sopenharmony_ci	* strip.c (cleanup_debug): Remove old-style function definitions.
1924da0c48c4Sopenharmony_ci
1925da0c48c4Sopenharmony_ci2015-09-09  Chih-Hung Hsieh  <chh@google.com>
1926da0c48c4Sopenharmony_ci
1927da0c48c4Sopenharmony_ci	* readelf.c (print_debug_exception_table): Initialize variable before
1928da0c48c4Sopenharmony_ci	it is used, because compiler does not know that error never returns.
1929da0c48c4Sopenharmony_ci	(dump_arhive_index): Likewise.
1930da0c48c4Sopenharmony_ci
1931da0c48c4Sopenharmony_ci2015-09-04  Chih-Hung Hsieh  <chh@google.com>
1932da0c48c4Sopenharmony_ci
1933da0c48c4Sopenharmony_ci	* elflint.c (check_group): Replace %Z length modifier with %z.
1934da0c48c4Sopenharmony_ci	(check_note_data): Likewise.
1935da0c48c4Sopenharmony_ci	* findtextrel.c (process_file): Likewise.
1936da0c48c4Sopenharmony_ci	* readelf.c (handle_dynamic): Likewise.
1937da0c48c4Sopenharmony_ci	(handle_symtab): Likewise.
1938da0c48c4Sopenharmony_ci	(handle_verneed): Likewise.
1939da0c48c4Sopenharmony_ci	(handle_verdef): Likewise.
1940da0c48c4Sopenharmony_ci	(handle_versym): Likewise.
1941da0c48c4Sopenharmony_ci	(print_hash_info): Likewise.
1942da0c48c4Sopenharmony_ci	(print_decoded_aranges_section): Likewise.
1943da0c48c4Sopenharmony_ci	(print_debug_aranges_section): Likewise.
1944da0c48c4Sopenharmony_ci	(print_debug_line_section): Likewise.
1945da0c48c4Sopenharmony_ci	(hex_dump): Likewise.
1946da0c48c4Sopenharmony_ci	(dump_data_section): Likewise.
1947da0c48c4Sopenharmony_ci	(print_string_section): Likewise.
1948da0c48c4Sopenharmony_ci	(dump_archive_index): Likewise.
1949da0c48c4Sopenharmony_ci	* unstrip.c (adjust_relocs): Likewise.
1950da0c48c4Sopenharmony_ci	(collect_symbols): likewise.
1951da0c48c4Sopenharmony_ci	(get_section_name): Likewise.
1952da0c48c4Sopenharmony_ci	(find_alloc_sections_prelink): Likewise.
1953da0c48c4Sopenharmony_ci	(copy_elided_sections): Likewise.
1954da0c48c4Sopenharmony_ci	* ldscript.y (add_id_list): Add missing '%s'.
1955da0c48c4Sopenharmony_ci
1956da0c48c4Sopenharmony_ci2015-09-03  Mark Wielaard  <mjw@redhat.com>
1957da0c48c4Sopenharmony_ci
1958da0c48c4Sopenharmony_ci	* readelf.c (handle_core_item): Handle right shift >= 32 bits.
1959da0c48c4Sopenharmony_ci
1960da0c48c4Sopenharmony_ci2015-08-11  Mark Wielaard  <mjw@redhat.com>
1961da0c48c4Sopenharmony_ci
1962da0c48c4Sopenharmony_ci	* elflint.c (check_sections): When gnuld and a NOBITS section falls
1963da0c48c4Sopenharmony_ci	inside a segment make sure any ELF file contents is zero.
1964da0c48c4Sopenharmony_ci
1965da0c48c4Sopenharmony_ci2015-07-29  Mark Wielaard  <mjw@redhat.com>
1966da0c48c4Sopenharmony_ci
1967da0c48c4Sopenharmony_ci	* unstrip.c (sections_flags_match): New function.
1968da0c48c4Sopenharmony_ci	(sections_match): Use sections_flags_match.
1969da0c48c4Sopenharmony_ci	(find_alloc_sections_prelink): Only clear matched sections if there
1970da0c48c4Sopenharmony_ci	is an undo section.
1971da0c48c4Sopenharmony_ci	(copy_elided_sections): Add SHF_INFO_LINK to shdr_mem.sh_flags if
1972da0c48c4Sopenharmony_ci	necessary.
1973da0c48c4Sopenharmony_ci
1974da0c48c4Sopenharmony_ci2015-06-27  Pino Toscano  <toscano.pino@tiscali.it>
1975da0c48c4Sopenharmony_ci
1976da0c48c4Sopenharmony_ci	* src/strings.c: Define MAP_POPULATE if not defined already.
1977da0c48c4Sopenharmony_ci
1978da0c48c4Sopenharmony_ci2015-06-27  Mark Wielaard  <mjw@redhat.com>
1979da0c48c4Sopenharmony_ci
1980da0c48c4Sopenharmony_ci	* nm.c (show_symbols): First call elf_getdata, then allocate memory.
1981da0c48c4Sopenharmony_ci
1982da0c48c4Sopenharmony_ci2015-06-18  Mark Wielaard  <mjw@redhat.com>
1983da0c48c4Sopenharmony_ci
1984da0c48c4Sopenharmony_ci	* findtextrel.c (process_file): Free segments after use.
1985da0c48c4Sopenharmony_ci
1986da0c48c4Sopenharmony_ci2015-06-18  Mark Wielaard  <mjw@redhat.com>
1987da0c48c4Sopenharmony_ci
1988da0c48c4Sopenharmony_ci	* readelf.c (print_phdr): Make sure phdr2_mem lifetime/scope equals
1989da0c48c4Sopenharmony_ci	phdr2 pointer.
1990da0c48c4Sopenharmony_ci
1991da0c48c4Sopenharmony_ci2015-06-18  Mark Wielaard  <mjw@redhat.com>
1992da0c48c4Sopenharmony_ci
1993da0c48c4Sopenharmony_ci	* readelf.c (handle_gnu_hash): Free lengths on invalid_data.
1994da0c48c4Sopenharmony_ci
1995da0c48c4Sopenharmony_ci2015-06-18  Mark Wielaard  <mjw@redhat.com>
1996da0c48c4Sopenharmony_ci
1997da0c48c4Sopenharmony_ci	* elflint.c (check_symtab): Only check the PT_TLS phdr if it actually
1998da0c48c4Sopenharmony_ci	exists. Warn otherwise.
1999da0c48c4Sopenharmony_ci
2000da0c48c4Sopenharmony_ci2015-06-18  Mark Wielaard  <mjw@redhat.com>
2001da0c48c4Sopenharmony_ci
2002da0c48c4Sopenharmony_ci	* nm.c (show_symbols): Check sizeof (sym_mem[0]), not GElf_Sym to
2003da0c48c4Sopenharmony_ci	known whether or not we stack allocated memory.
2004da0c48c4Sopenharmony_ci
2005da0c48c4Sopenharmony_ci2015-06-18  Mark Wielaard  <mjw@redhat.com>
2006da0c48c4Sopenharmony_ci
2007da0c48c4Sopenharmony_ci	* strings.c (readelf): Use "<unknown>" if we cannot retrieve section
2008da0c48c4Sopenharmony_ci	name.
2009da0c48c4Sopenharmony_ci
2010da0c48c4Sopenharmony_ci2015-06-09  Mark Wielaard  <mjw@redhat.com>
2011da0c48c4Sopenharmony_ci
2012da0c48c4Sopenharmony_ci	* addr2line.c (print_dwarf_function): Always free scopes before
2013da0c48c4Sopenharmony_ci	returning.
2014da0c48c4Sopenharmony_ci
2015da0c48c4Sopenharmony_ci2015-06-09  Mark Wielaard  <mjw@redhat.com>
2016da0c48c4Sopenharmony_ci
2017da0c48c4Sopenharmony_ci	* strip.c (handle_ar): Mark as unused.
2018da0c48c4Sopenharmony_ci	(process_file): Produce an error when trying to handle an ar.
2019da0c48c4Sopenharmony_ci
2020da0c48c4Sopenharmony_ci2015-05-30  Mark Wielaard  <mjw@redhat.com>
2021da0c48c4Sopenharmony_ci
2022da0c48c4Sopenharmony_ci	* elfcmp.c (main): Only call memcmp when d_size != 0.
2023da0c48c4Sopenharmony_ci
2024da0c48c4Sopenharmony_ci2015-05-23  Mark Wielaard  <mjw@redhat.com>
2025da0c48c4Sopenharmony_ci
2026da0c48c4Sopenharmony_ci	* Makefile.am: Define ldgeneric, readelf, nm, size, strip, elflint,
2027da0c48c4Sopenharmony_ci	findtextrel, elfcmp objdump, ranlib, ar and unstrip no_Wstack_usage.
2028da0c48c4Sopenharmony_ci
2029da0c48c4Sopenharmony_ci2015-05-21  Mark Wielaard  <mjw@redhat.com>
2030da0c48c4Sopenharmony_ci
2031da0c48c4Sopenharmony_ci	* addr2line.c (handle_address): Set scopes to NULL after free.
2032da0c48c4Sopenharmony_ci
2033da0c48c4Sopenharmony_ci2015-05-20  Mark Wielaard  <mjw@redhat.com>
2034da0c48c4Sopenharmony_ci
2035da0c48c4Sopenharmony_ci	* addr2line.c (OPT_PRETTY): New constant define.
2036da0c48c4Sopenharmony_ci	(argp_option): Add "pretty-print".
2037da0c48c4Sopenharmony_ci	(pretty): New static bool.
2038da0c48c4Sopenharmony_ci	(parse_opt): Set pretty.
2039da0c48c4Sopenharmony_ci	(print_dwarf_function): Adjust output when pretty is set.
2040da0c48c4Sopenharmony_ci	(print_addrsym): Likewise.
2041da0c48c4Sopenharmony_ci	(handle_address): Likewise.
2042da0c48c4Sopenharmony_ci
2043da0c48c4Sopenharmony_ci2015-05-20  Mark Wielaard  <mjw@redhat.com>
2044da0c48c4Sopenharmony_ci
2045da0c48c4Sopenharmony_ci	* Makefile.am (addr2line_LDADD): Add demanglelib.
2046da0c48c4Sopenharmony_ci	* addr2line.c (argp_option): Move demangle under output format.
2047da0c48c4Sopenharmony_ci	(demangle): New static bool.
2048da0c48c4Sopenharmony_ci	(demangle_buffer_len): New static size_t.
2049da0c48c4Sopenharmony_ci	(demangle_buffer): New static char *.
2050da0c48c4Sopenharmony_ci	(main): free demangle_buffer.
2051da0c48c4Sopenharmony_ci	(parse_opt): Set demangle.
2052da0c48c4Sopenharmony_ci	(symname): New static function.
2053da0c48c4Sopenharmony_ci	(get_diename): Use symname.
2054da0c48c4Sopenharmony_ci	(print_dwarf_function): Likewise.
2055da0c48c4Sopenharmony_ci	(print_addrsym): Likewise.
2056da0c48c4Sopenharmony_ci	(handle_address): Likewise.
2057da0c48c4Sopenharmony_ci
2058da0c48c4Sopenharmony_ci2015-05-20  Mark Wielaard  <mjw@redhat.com>
2059da0c48c4Sopenharmony_ci
2060da0c48c4Sopenharmony_ci	* addr2line.c (argp_option): Add "addresses", 'a'.
2061da0c48c4Sopenharmony_ci	(print_addresses): New static bool.
2062da0c48c4Sopenharmony_ci	(parse_opt): Set print_addresses.
2063da0c48c4Sopenharmony_ci	(get_addr_width): New static function.
2064da0c48c4Sopenharmony_ci	(handle_address): Print address if print_addresses is true.
2065da0c48c4Sopenharmony_ci
2066da0c48c4Sopenharmony_ci2015-05-20  Mark Wielaard  <mjw@redhat.com>
2067da0c48c4Sopenharmony_ci
2068da0c48c4Sopenharmony_ci	* addr2line.c (handle_address): Call strtoumax with base 16. Make
2069da0c48c4Sopenharmony_ci	sure all input has been processed.
2070da0c48c4Sopenharmony_ci
2071da0c48c4Sopenharmony_ci2015-05-20  Mark Wielaard  <mjw@redhat.com>
2072da0c48c4Sopenharmony_ci
2073da0c48c4Sopenharmony_ci	* addr2line (argp_option): Group 'section' under "Input format
2074da0c48c4Sopenharmony_ci	options".
2075da0c48c4Sopenharmony_ci
2076da0c48c4Sopenharmony_ci2015-05-12  Mark Wielaard  <mjw@redhat.com>
2077da0c48c4Sopenharmony_ci
2078da0c48c4Sopenharmony_ci	* strip.c (debug_fd): New static variable.
2079da0c48c4Sopenharmony_ci	(tmp_debug_fname): Likewise.
2080da0c48c4Sopenharmony_ci	(cleanup_debug): New function using the above to clean up temporary
2081da0c48c4Sopenharmony_ci	debug file.
2082da0c48c4Sopenharmony_ci	(INTERNAL_ERROR): Call cleanup_debug.
2083da0c48c4Sopenharmony_ci	(handle_elf): Use debug_fd and tmp_debug_fname statics and call
2084da0c48c4Sopenharmony_ci	cleanup_debug before any error. Use output_fname instead of fname in
2085da0c48c4Sopenharmony_ci	error messages when it exists (-o was given). SHT_NOBITS sections
2086da0c48c4Sopenharmony_ci	can also be moved freely even if SHF_ALLOC is set. Add various
2087da0c48c4Sopenharmony_ci	sanity checks. Use elf_assert instead of plain assert.
2088da0c48c4Sopenharmony_ci
2089da0c48c4Sopenharmony_ci2015-05-08  Mark Wielaard  <mjw@redhat.com>
2090da0c48c4Sopenharmony_ci
2091da0c48c4Sopenharmony_ci	* nm.c (show_symbols): Call gelf_fsize with EV_CURRENT.
2092da0c48c4Sopenharmony_ci	* strip.c (handle_elf): Likewise.
2093da0c48c4Sopenharmony_ci
2094da0c48c4Sopenharmony_ci2015-05-06  Mark Wielaard  <mjw@redhat.com>
2095da0c48c4Sopenharmony_ci
2096da0c48c4Sopenharmony_ci	* elflint.c (check_gnu_hash): Return early when 2nd hash function
2097da0c48c4Sopenharmony_ci	shift too big. Check there is enough data available. Make sure
2098da0c48c4Sopenharmony_ci	bitmask_words is not zero.
2099da0c48c4Sopenharmony_ci	(check_verdef): Use Elf64_Word for shdr->sh_info cnt.
2100da0c48c4Sopenharmony_ci	(check_verneed): Likewise.
2101da0c48c4Sopenharmony_ci	(check_attributes): Break when vendor name isn't terminated.
2102da0c48c4Sopenharmony_ci	Add overflow check for subsection_len.
2103da0c48c4Sopenharmony_ci
2104da0c48c4Sopenharmony_ci2015-05-05  Mark Wielaard  <mjw@redhat.com>
2105da0c48c4Sopenharmony_ci
2106da0c48c4Sopenharmony_ci	* nm.c (show_symbols): Handle dwarf_linesrc returning NULL.
2107da0c48c4Sopenharmony_ci
2108da0c48c4Sopenharmony_ci2015-05-04  Max Filippov  <jcmvbkbc@gmail.com>
2109da0c48c4Sopenharmony_ci
2110da0c48c4Sopenharmony_ci	* ar.c (do_oper_extract): Replace struct timeval with struct timespec
2111da0c48c4Sopenharmony_ci	and futimes with futimens.
2112da0c48c4Sopenharmony_ci	* strip.c (process_file): Replace struct timeval with struct timespec.
2113da0c48c4Sopenharmony_ci	(handle_elf, handle_ar): Replace struct timeval with struct timespec
2114da0c48c4Sopenharmony_ci	in prototype. Replace futimes with futimens.
2115da0c48c4Sopenharmony_ci
2116da0c48c4Sopenharmony_ci2015-05-04  Max Filippov  <jcmvbkbc@gmail.com>
2117da0c48c4Sopenharmony_ci
2118da0c48c4Sopenharmony_ci	* addr2line.c (main): Drop mtrace() call and #include <mcheck.h>.
2119da0c48c4Sopenharmony_ci	* ar.c: Likewise.
2120da0c48c4Sopenharmony_ci	* ld.c: Likewise.
2121da0c48c4Sopenharmony_ci	* nm.c: Likewise.
2122da0c48c4Sopenharmony_ci	* objdump.c: Likewise.
2123da0c48c4Sopenharmony_ci	* ranlib.c: Likewise.
2124da0c48c4Sopenharmony_ci	* size.c: Likewise.
2125da0c48c4Sopenharmony_ci	* strip.c: Likewise.
2126da0c48c4Sopenharmony_ci	* unstrip.c: Likewise.
2127da0c48c4Sopenharmony_ci
2128da0c48c4Sopenharmony_ci2015-05-04  Anthony G. Basile  <blueness@gentoo.org>
2129da0c48c4Sopenharmony_ci
2130da0c48c4Sopenharmony_ci	* Makefile.am (readelf_LDADD, nm_LDADD, size_LDADD, strip_LDADD)
2131da0c48c4Sopenharmony_ci	(ld_LDADD, elflint_LDADD, findtextrel_LDADD, addr2line_LDADD)
2132da0c48c4Sopenharmony_ci	(elfcmp_LDADD, objdump_LDADD, ranlib_LDADD, strings_LDADD)
2133da0c48c4Sopenharmony_ci	(ar_LDADD, unstrip_LDADD, stack_LDADD): Append $(argp_LDADD).
2134da0c48c4Sopenharmony_ci
2135da0c48c4Sopenharmony_ci2015-03-22  Mark Wielaard  <mjw@redhat.com>
2136da0c48c4Sopenharmony_ci
2137da0c48c4Sopenharmony_ci	* readelf.c (print_debug_frame_section): Cast start to Dwarf_Off
2138da0c48c4Sopenharmony_ci	before subtracting cie_id. And cast cie_offset to Dwarf_Off before
2139da0c48c4Sopenharmony_ci	comparison.
2140da0c48c4Sopenharmony_ci
2141da0c48c4Sopenharmony_ci2015-03-22  Mark Wielaard  <mjw@redhat.com>
2142da0c48c4Sopenharmony_ci
2143da0c48c4Sopenharmony_ci	* readelf.c (print_gdb_index_section): Check all offsets used
2144da0c48c4Sopenharmony_ci	against section d_size.
2145da0c48c4Sopenharmony_ci
2146da0c48c4Sopenharmony_ci2015-03-17  Mark Wielaard  <mjw@redhat.com>
2147da0c48c4Sopenharmony_ci
2148da0c48c4Sopenharmony_ci	* readelf.c (print_debug): Don't return, but always use dummy_dbg.
2149da0c48c4Sopenharmony_ci
2150da0c48c4Sopenharmony_ci2015-03-17  Mark Wielaard  <mjw@redhat.com>
2151da0c48c4Sopenharmony_ci
2152da0c48c4Sopenharmony_ci	* readelf.c (print_gdb_index_section): Add overflow checking for
2153da0c48c4Sopenharmony_ci	dataend checks.
2154da0c48c4Sopenharmony_ci
2155da0c48c4Sopenharmony_ci2015-03-14  Mark Wielaard  <mjw@redhat.com>
2156da0c48c4Sopenharmony_ci
2157da0c48c4Sopenharmony_ci	* nm.c (INTERNAL_ERROR): Remove __DATE__.
2158da0c48c4Sopenharmony_ci	* objdump.c (INTERNAL_ERROR): Likewise.
2159da0c48c4Sopenharmony_ci	* size.c (INTERNAL_ERROR): Likewise.
2160da0c48c4Sopenharmony_ci	* strip.c (INTERNAL_ERROR): Likewise.
2161da0c48c4Sopenharmony_ci
2162da0c48c4Sopenharmony_ci2015-03-18  Petr Machata  <pmachata@redhat.com>
2163da0c48c4Sopenharmony_ci
2164da0c48c4Sopenharmony_ci	* readelf.c (dwarf_tag_string, dwarf_attr_string)
2165da0c48c4Sopenharmony_ci	(dwarf_form_string, dwarf_lang_string, dwarf_inline_string)
2166da0c48c4Sopenharmony_ci	(dwarf_encoding_string, dwarf_access_string)
2167da0c48c4Sopenharmony_ci	(dwarf_visibility_string, dwarf_virtuality_string)
2168da0c48c4Sopenharmony_ci	(dwarf_identifier_case_string, dwarf_calling_convention_string)
2169da0c48c4Sopenharmony_ci	(dwarf_ordering_string, dwarf_discr_list_string)
2170da0c48c4Sopenharmony_ci	(dwarf_locexpr_opcode_string): Adjust uses of know-dwarf.h macros
2171da0c48c4Sopenharmony_ci	to match the API changes.
2172da0c48c4Sopenharmony_ci
2173da0c48c4Sopenharmony_ci2015-03-09  Mark Wielaard  <mjw@redhat.com>
2174da0c48c4Sopenharmony_ci
2175da0c48c4Sopenharmony_ci	* elflint.c (compare_hash_gnu_hash): Correct gnu_symbias usage.
2176da0c48c4Sopenharmony_ci
2177da0c48c4Sopenharmony_ci2015-01-03  Mark Wielaard  <mjw@redhat.com>
2178da0c48c4Sopenharmony_ci
2179da0c48c4Sopenharmony_ci	* elfcmp (main): Check section name is not NULL. Check sh_entsize
2180da0c48c4Sopenharmony_ci	is not zero for symbol tables. Check phdrs are not NULL.
2181da0c48c4Sopenharmony_ci	(search_for_copy_reloc): Check sh_entsize is not zero.
2182da0c48c4Sopenharmony_ci
2183da0c48c4Sopenharmony_ci2014-12-30  Mark Wielaard  <mjw@redhat.com>
2184da0c48c4Sopenharmony_ci
2185da0c48c4Sopenharmony_ci	* elflint.c (check_scn_group): Check d_buf and name are not NULL.
2186da0c48c4Sopenharmony_ci	(is_rel_dyn): Check d is not NULL. Check shdr->sh_entsize is not
2187da0c48c4Sopenharmony_ci	zero.
2188da0c48c4Sopenharmony_ci	(check_dynamic): Check strshdr is not NULL. Check d_tag is positive.
2189da0c48c4Sopenharmony_ci	(check_symtab_shndx): Check symshdr and data->d_buf are not NULL.
2190da0c48c4Sopenharmony_ci	Check shdr and symshdr sh_entsize are not zero.
2191da0c48c4Sopenharmony_ci	(check_gnu_hash): Make sure maskidx is smaller than bitmask_words.
2192da0c48c4Sopenharmony_ci	Check symshdr->sh_entsize is not zero. Check data->d_buf is not
2193da0c48c4Sopenharmony_ci	NULL.
2194da0c48c4Sopenharmony_ci	(compare_hash_gnu_hash): Check sections d_buf are not NULL.
2195da0c48c4Sopenharmony_ci	Check section data is large enough. Use gnu_symbias.
2196da0c48c4Sopenharmony_ci	(check_group): Check section val is valid.
2197da0c48c4Sopenharmony_ci	(has_copy_reloc): Check sh_entsize is not zero.
2198da0c48c4Sopenharmony_ci	(check_versym): Likewise.
2199da0c48c4Sopenharmony_ci	(unknown_dependency_p): Likewise.
2200da0c48c4Sopenharmony_ci	(check_verneed): Break on invalid ref or offset. Don't assert.
2201da0c48c4Sopenharmony_ci	Report error when next offset is zero, but more vers expected.
2202da0c48c4Sopenharmony_ci	(check_verdef): Likewise.
2203da0c48c4Sopenharmony_ci	(check_attributes): Make sure d_buf is not NULL.
2204da0c48c4Sopenharmony_ci	(check_note): Likewise.
2205da0c48c4Sopenharmony_ci	(check_note_section): Likewise.
2206da0c48c4Sopenharmony_ci	(check_program_header): Make sure section name is not NULL.
2207da0c48c4Sopenharmony_ci
2208da0c48c4Sopenharmony_ci2014-12-26  Mark Wielaard  <mjw@redhat.com>
2209da0c48c4Sopenharmony_ci
2210da0c48c4Sopenharmony_ci	* strings.c (read_elf): Produce error when section data falls outside
2211da0c48c4Sopenharmony_ci	file.
2212da0c48c4Sopenharmony_ci
2213da0c48c4Sopenharmony_ci2014-12-26  Mark Wielaard  <mjw@redhat.com>
2214da0c48c4Sopenharmony_ci
2215da0c48c4Sopenharmony_ci	* nm.c (show_symbols): Guard against divide by zero in error check.
2216da0c48c4Sopenharmony_ci	Add section index number in error message.
2217da0c48c4Sopenharmony_ci
2218da0c48c4Sopenharmony_ci2014-12-26  Mark Wielaard  <mjw@redhat.com>
2219da0c48c4Sopenharmony_ci
2220da0c48c4Sopenharmony_ci	* nm.c (handle_ar): Skip over /SYM64/ entries.
2221da0c48c4Sopenharmony_ci
2222da0c48c4Sopenharmony_ci2014-12-26  Mark Wielaard  <mjw@redhat.com>
2223da0c48c4Sopenharmony_ci
2224da0c48c4Sopenharmony_ci	* nm.c (handle_ar): Break on arsym with invalid offset.
2225da0c48c4Sopenharmony_ci
2226da0c48c4Sopenharmony_ci2014-12-20  Mark Wielaard  <mjw@redhat.com>
2227da0c48c4Sopenharmony_ci
2228da0c48c4Sopenharmony_ci	* readelf.c (print_debug_macinfo_section): Mark cus sentinel files
2229da0c48c4Sopenharmony_ci	as -1 non-existent. Check macoff against sentinel cus.
2230da0c48c4Sopenharmony_ci
2231da0c48c4Sopenharmony_ci2014-12-20  Mark Wielaard  <mjw@redhat.com>
2232da0c48c4Sopenharmony_ci
2233da0c48c4Sopenharmony_ci	* readelf.c (print_debug_exception_table): Add max_action overflow
2234da0c48c4Sopenharmony_ci	check. Check action_table_end before reading slib128. Check
2235da0c48c4Sopenharmony_ci	max_ar_filter underflow.
2236da0c48c4Sopenharmony_ci
2237da0c48c4Sopenharmony_ci2014-12-18  Ulrich Drepper  <drepper@gmail.com>
2238da0c48c4Sopenharmony_ci
2239da0c48c4Sopenharmony_ci	* Makefile.am: Suppress output of textrel_check command.
2240da0c48c4Sopenharmony_ci
2241da0c48c4Sopenharmony_ci2014-12-17  Mark Wielaard  <mjw@redhat.com>
2242da0c48c4Sopenharmony_ci
2243da0c48c4Sopenharmony_ci	* readelf.c (print_cfa_program): Add bounds check before each op that
2244da0c48c4Sopenharmony_ci	takes at least one argument.
2245da0c48c4Sopenharmony_ci
2246da0c48c4Sopenharmony_ci2014-12-16  Mark Wielaard  <mjw@redhat.com>
2247da0c48c4Sopenharmony_ci
2248da0c48c4Sopenharmony_ci	* readelf.c (print_decoded_line_section): Print dwarf_errmsg if
2249da0c48c4Sopenharmony_ci	dwarf_onesrcline or dwarf_linesrc fails.
2250da0c48c4Sopenharmony_ci
2251da0c48c4Sopenharmony_ci2014-12-16  Mark Wielaard  <mjw@redhat.com>
2252da0c48c4Sopenharmony_ci
2253da0c48c4Sopenharmony_ci	* readelf.c (print_debug_line_section): Correct overflow check for
2254da0c48c4Sopenharmony_ci	unit_length.
2255da0c48c4Sopenharmony_ci	(print_debug_aranges_section): Correct overflow check for length.
2256da0c48c4Sopenharmony_ci
2257da0c48c4Sopenharmony_ci2014-12-15  Mark Wielaard  <mjw@redhat.com>
2258da0c48c4Sopenharmony_ci
2259da0c48c4Sopenharmony_ci	* readelf.c (notice_listptr): Return false if offset doesn't fit
2260da0c48c4Sopenharmony_ci	in 61-bits.
2261da0c48c4Sopenharmony_ci	(attr_callback): Warn if loclist or rangelist offset doesn't fit.
2262da0c48c4Sopenharmony_ci
2263da0c48c4Sopenharmony_ci2014-12-15  Mark Wielaard  <mjw@redhat.com>
2264da0c48c4Sopenharmony_ci
2265da0c48c4Sopenharmony_ci	* readelf.c (print_ops): Don't assert when addr_size or ref_size
2266da0c48c4Sopenharmony_ci	is not 4 or 8, just report invalid data.
2267da0c48c4Sopenharmony_ci
2268da0c48c4Sopenharmony_ci2014-12-15  Mark Wielaard  <mjw@redhat.com>
2269da0c48c4Sopenharmony_ci
2270da0c48c4Sopenharmony_ci	* readelf.c (print_gdb_index_section): Add more bounds checks.
2271da0c48c4Sopenharmony_ci
2272da0c48c4Sopenharmony_ci2014-12-15  Mark Wielaard  <mjw@redhat.com>
2273da0c48c4Sopenharmony_ci
2274da0c48c4Sopenharmony_ci	* readelf.c (print_debug_line_section): Check there is enough room
2275da0c48c4Sopenharmony_ci	for DW_LNE_set_address argument. Make sure there is enough room
2276da0c48c4Sopenharmony_ci	for the the initial unit_length.
2277da0c48c4Sopenharmony_ci
2278da0c48c4Sopenharmony_ci2014-12-14  Mark Wielaard  <mjw@redhat.com>
2279da0c48c4Sopenharmony_ci
2280da0c48c4Sopenharmony_ci	* elflint.c (check_attributes): Call get_uleb128 with end pointer.
2281da0c48c4Sopenharmony_ci	* readelf.c (print_attributes): Likewise.
2282da0c48c4Sopenharmony_ci	(print_ops): Likewise and also for get_sleb128.
2283da0c48c4Sopenharmony_ci	(print_cfa_program): Likewise and add more readp bounds checks.
2284da0c48c4Sopenharmony_ci	(read_encoded): Likewise.
2285da0c48c4Sopenharmony_ci	(print_debug_frame_section): Likewise.
2286da0c48c4Sopenharmony_ci	(print_debug_line_section): Likewise.
2287da0c48c4Sopenharmony_ci	(print_debug_macinfo_section): Likewise.
2288da0c48c4Sopenharmony_ci	(print_debug_macro_section): Likewise.
2289da0c48c4Sopenharmony_ci	(print_debug_exception_table): Likewise.
2290da0c48c4Sopenharmony_ci
2291da0c48c4Sopenharmony_ci2014-12-16  Mark Wielaard  <mjw@redhat.com>
2292da0c48c4Sopenharmony_ci
2293da0c48c4Sopenharmony_ci	* elfcmp.c (compare_Elf32_Word): Make sure (unsigned) Elf32_Word
2294da0c48c4Sopenharmony_ci	difference doesn't wrap around before returning as int.
2295da0c48c4Sopenharmony_ci
2296da0c48c4Sopenharmony_ci2014-12-11  Mark Wielaard  <mjw@redhat.com>
2297da0c48c4Sopenharmony_ci
2298da0c48c4Sopenharmony_ci	* readelf.c (print_debug_exception_table): Check TType base offset
2299da0c48c4Sopenharmony_ci	and Action table are sane.
2300da0c48c4Sopenharmony_ci
2301da0c48c4Sopenharmony_ci2014-12-11  Mark Wielaard  <mjw@redhat.com>
2302da0c48c4Sopenharmony_ci
2303da0c48c4Sopenharmony_ci	* readelf.c (print_debug_frame_section): Check number of augmentation
2304da0c48c4Sopenharmony_ci	chars to print.
2305da0c48c4Sopenharmony_ci
2306da0c48c4Sopenharmony_ci2014-12-09  Mark Wielaard  <mjw@redhat.com>
2307da0c48c4Sopenharmony_ci
2308da0c48c4Sopenharmony_ci	* readelf.c (handle_file_note): Check count fits data section and
2309da0c48c4Sopenharmony_ci	doesn't overflow fptr.
2310da0c48c4Sopenharmony_ci
2311da0c48c4Sopenharmony_ci2014-12-08  Mark Wielaard  <mjw@redhat.com>
2312da0c48c4Sopenharmony_ci
2313da0c48c4Sopenharmony_ci	* readelf.c (print_debug_exception_table): Report invalid data if
2314da0c48c4Sopenharmony_ci	action table doesn't immediately follow call site table.
2315da0c48c4Sopenharmony_ci
2316da0c48c4Sopenharmony_ci2014-12-10  Josh Stone  <jistone@redhat.com>
2317da0c48c4Sopenharmony_ci
2318da0c48c4Sopenharmony_ci	* addr2line.c (get_diename): New, get linkage_name or name.
2319da0c48c4Sopenharmony_ci	* addr2line.c (print_dwarf_function): Use get_diename.
2320da0c48c4Sopenharmony_ci	* addr2line.c (handle_address): Likewise.
2321da0c48c4Sopenharmony_ci	* addr2line.c (print_diesym): Removed.
2322da0c48c4Sopenharmony_ci
2323da0c48c4Sopenharmony_ci2014-12-10  Josh Stone  <jistone@redhat.com>
2324da0c48c4Sopenharmony_ci
2325da0c48c4Sopenharmony_ci	* addr2line.c (handle_address): Find the proper inline parents.
2326da0c48c4Sopenharmony_ci
2327da0c48c4Sopenharmony_ci2014-12-07  Mark Wielaard  <mjw@redhat.com>
2328da0c48c4Sopenharmony_ci
2329da0c48c4Sopenharmony_ci	* readelf.c (print_debug_line_section): max_ops_per_instr cannot
2330da0c48c4Sopenharmony_ci	be zero.
2331da0c48c4Sopenharmony_ci
2332da0c48c4Sopenharmony_ci2014-12-07  Mark Wielaard  <mjw@redhat.com>
2333da0c48c4Sopenharmony_ci
2334da0c48c4Sopenharmony_ci	* readelf.c (print_ops): Handle zero ref_size for DW_OP_call_ref
2335da0c48c4Sopenharmony_ci	and DW_OP_GNU_implicit_pointer.
2336da0c48c4Sopenharmony_ci
2337da0c48c4Sopenharmony_ci2014-12-04  Mark Wielaard  <mjw@redhat.com>
2338da0c48c4Sopenharmony_ci
2339da0c48c4Sopenharmony_ci	* objdump.c (show_relocs_x): Make sure destshdr exists.
2340da0c48c4Sopenharmony_ci	(show_relocs_rel): Don't rely on shdr->sh_entsize, use gelf_fsize.
2341da0c48c4Sopenharmony_ci	(show_relocs_rela): Likewise.
2342da0c48c4Sopenharmony_ci	(show_relocs): Make sure destshdr, symshdr and symdata exists.
2343da0c48c4Sopenharmony_ci
2344da0c48c4Sopenharmony_ci2014-11-30  Mark Wielaard  <mjw@redhat.com>
2345da0c48c4Sopenharmony_ci
2346da0c48c4Sopenharmony_ci	* readelf.c (handle_sysv_hash64): Fix overflow check.
2347da0c48c4Sopenharmony_ci
2348da0c48c4Sopenharmony_ci2014-11-28  Mark Wielaard  <mjw@redhat.com>
2349da0c48c4Sopenharmony_ci
2350da0c48c4Sopenharmony_ci	* readelf.c (handle_relocs_rel): Don't reuse destshdr to store
2351da0c48c4Sopenharmony_ci	section header of a relocation against a STT_SECTION symbol. Use
2352da0c48c4Sopenharmony_ci	a new local variable secshdr.
2353da0c48c4Sopenharmony_ci	(handle_relocs_rela): Likewise.
2354da0c48c4Sopenharmony_ci
2355da0c48c4Sopenharmony_ci2014-11-26  Mark Wielaard  <mjw@redhat.com>
2356da0c48c4Sopenharmony_ci
2357da0c48c4Sopenharmony_ci	* readelf.c (print_debug_aranges_section): Cast Dwarf_Word length
2358da0c48c4Sopenharmony_ci	to ptrdiff_t for comparison.
2359da0c48c4Sopenharmony_ci
2360da0c48c4Sopenharmony_ci2014-11-24  Mark Wielaard  <mjw@redhat.com>
2361da0c48c4Sopenharmony_ci
2362da0c48c4Sopenharmony_ci	* readelf.c (print_debug_line_section): Check line_range is not zero
2363da0c48c4Sopenharmony_ci	before usage.
2364da0c48c4Sopenharmony_ci
2365da0c48c4Sopenharmony_ci2014-11-23  Mark Wielaard  <mjw@redhat.com>
2366da0c48c4Sopenharmony_ci
2367da0c48c4Sopenharmony_ci	* readelf.c (print_debug_aranges_section): Check length to catch
2368da0c48c4Sopenharmony_ci	nexthdr overflow.
2369da0c48c4Sopenharmony_ci
2370da0c48c4Sopenharmony_ci2014-11-21  Mark Wielaard  <mjw@redhat.com>
2371da0c48c4Sopenharmony_ci
2372da0c48c4Sopenharmony_ci	* readelf.c (print_attributes): Guard against empty section.
2373da0c48c4Sopenharmony_ci	Document attribute format. Break when vendor name isn't terminated.
2374da0c48c4Sopenharmony_ci	Add overflow check for subsection_len. Handle both gnu and non-gnu
2375da0c48c4Sopenharmony_ci	attribute tags.
2376da0c48c4Sopenharmony_ci
2377da0c48c4Sopenharmony_ci2014-11-22  Mark Wielaard  <mjw@redhat.com>
2378da0c48c4Sopenharmony_ci
2379da0c48c4Sopenharmony_ci	* elflint.c (check_sections): Call ebl_bss_plt_p without ehdr.
2380da0c48c4Sopenharmony_ci	* findtextrel.c (process_file): Use elf_getphdrnum.
2381da0c48c4Sopenharmony_ci	* readelf.c (process_elf_file): Remove redundant ehdr->e_phoff check.
2382da0c48c4Sopenharmony_ci	(print_phdr): Check phnum.
2383da0c48c4Sopenharmony_ci	* size.c (show_segments): Use elf_getphdrnum.
2384da0c48c4Sopenharmony_ci	* strip.c (handle_elf): Likewise.
2385da0c48c4Sopenharmony_ci	* unstrip.c (copy_elf): Likewise.
2386da0c48c4Sopenharmony_ci	(copy_elided_sections): Likewise.
2387da0c48c4Sopenharmony_ci	(handle_file): Likewise.
2388da0c48c4Sopenharmony_ci
2389da0c48c4Sopenharmony_ci2014-11-18  Mark Wielaard  <mjw@redhat.com>
2390da0c48c4Sopenharmony_ci
2391da0c48c4Sopenharmony_ci	* readelf.c (print_cfa_program): Fix sanity check of DW_FORM_block
2392da0c48c4Sopenharmony_ci	length.
2393da0c48c4Sopenharmony_ci
2394da0c48c4Sopenharmony_ci2014-11-17  Mark Wielaard  <mjw@redhat.com>
2395da0c48c4Sopenharmony_ci
2396da0c48c4Sopenharmony_ci	* readelf.c (handle_verneed): Check vna_next and vn_next exist.
2397da0c48c4Sopenharmony_ci	(handle_verdef): Check vda_next and vd_next exist.
2398da0c48c4Sopenharmony_ci	(handle_versym): Check vd_next, vna_next and vn_next exist.
2399da0c48c4Sopenharmony_ci	Check vername and filename are not NULL before use.
2400da0c48c4Sopenharmony_ci
2401da0c48c4Sopenharmony_ci2014-11-17  Mark Wielaard  <mjw@redhat.com>
2402da0c48c4Sopenharmony_ci
2403da0c48c4Sopenharmony_ci	* elfcmp.c (main): Check section names are NULL before use.
2404da0c48c4Sopenharmony_ci	* objdump.c (section_match): Likewise.
2405da0c48c4Sopenharmony_ci	* size.c (show_sysv): Likewise.
2406da0c48c4Sopenharmony_ci
2407da0c48c4Sopenharmony_ci2014-11-17  Mark Wielaard  <mjw@redhat.com>
2408da0c48c4Sopenharmony_ci
2409da0c48c4Sopenharmony_ci	* readelf.c (print_debug_frame_section): Warn if ptr_size is not 4
2410da0c48c4Sopenharmony_ci	or 8 instead of just calling print_cfa_program.
2411da0c48c4Sopenharmony_ci
2412da0c48c4Sopenharmony_ci2014-11-16  Mark Wielaard  <mjw@redhat.com>
2413da0c48c4Sopenharmony_ci
2414da0c48c4Sopenharmony_ci	* readelf (process_elf_file): Set phnum to zero if there aren't
2415da0c48c4Sopenharmony_ci	actually any pheaders.
2416da0c48c4Sopenharmony_ci	(print_phdr): Check there actually is a phdr.
2417da0c48c4Sopenharmony_ci
2418da0c48c4Sopenharmony_ci2014-11-16  Mark Wielaard  <mjw@redhat.com>
2419da0c48c4Sopenharmony_ci
2420da0c48c4Sopenharmony_ci	* readelf.c (print_cfa_program): Check block len before calling
2421da0c48c4Sopenharmony_ci	print_ops.
2422da0c48c4Sopenharmony_ci
2423da0c48c4Sopenharmony_ci2014-11-14  Mark Wielaard  <mjw@redhat.com>
2424da0c48c4Sopenharmony_ci
2425da0c48c4Sopenharmony_ci	* readelf.c (print_debug_frame_section): Sanity Check CIE
2426da0c48c4Sopenharmony_ci	unit_length and augmentationlen.
2427da0c48c4Sopenharmony_ci
2428da0c48c4Sopenharmony_ci2014-11-14  Mark Wielaard  <mjw@redhat.com>
2429da0c48c4Sopenharmony_ci
2430da0c48c4Sopenharmony_ci	* readelf.c (handle_versym): Check def == NULL before use.
2431da0c48c4Sopenharmony_ci
2432da0c48c4Sopenharmony_ci2014-11-08  Mark Wielaard  <mjw@redhat.com>
2433da0c48c4Sopenharmony_ci
2434da0c48c4Sopenharmony_ci	* readelf.c (handle_versym): Initialize vername and filename array
2435da0c48c4Sopenharmony_ci	elements.
2436da0c48c4Sopenharmony_ci
2437da0c48c4Sopenharmony_ci2014-11-07  Mark Wielaard  <mjw@redhat.com>
2438da0c48c4Sopenharmony_ci
2439da0c48c4Sopenharmony_ci	* readelf.c (handle_sysv_hash): Sanity check section contents.
2440da0c48c4Sopenharmony_ci	(handle_sysv_hash64): Likewise.
2441da0c48c4Sopenharmony_ci	(handle_gnu_hash): Likewise.
2442da0c48c4Sopenharmony_ci
2443da0c48c4Sopenharmony_ci2014-09-14  Petr Machata  <pmachata@redhat.com>
2444da0c48c4Sopenharmony_ci
2445da0c48c4Sopenharmony_ci	* readelf.c (handle_relocs_rela): Typo fix, test DESTSHDR properly.
2446da0c48c4Sopenharmony_ci
2447da0c48c4Sopenharmony_ci2014-09-12  Petr Machata  <pmachata@redhat.com>
2448da0c48c4Sopenharmony_ci
2449da0c48c4Sopenharmony_ci	* readelf.c (encoded_ptr_size): In the switch statement, change
2450da0c48c4Sopenharmony_ci	magic constants 3 and 4 to DW_EH_PE_* counterparts.  Still accept
2451da0c48c4Sopenharmony_ci	0.  Print diagnostic for anything else.
2452da0c48c4Sopenharmony_ci
2453da0c48c4Sopenharmony_ci2014-08-25  Josh Stone  <jistone@redhat.com>
2454da0c48c4Sopenharmony_ci
2455da0c48c4Sopenharmony_ci	* Makefile.am: Prevent premature @AR@ replacement in a sed expression.
2456da0c48c4Sopenharmony_ci
2457da0c48c4Sopenharmony_ci2014-07-04  Menanteau Guy  <menantea@linux.vnet.ibm.com>
2458da0c48c4Sopenharmony_ci	    Mark Wielaard  <mjw@redhat.com>
2459da0c48c4Sopenharmony_ci
2460da0c48c4Sopenharmony_ci	* elflint (check_symtab): Add ".TOC." to the list of possibly
2461da0c48c4Sopenharmony_ci	dangling symbols because of sourceware PR13621.
2462da0c48c4Sopenharmony_ci
2463da0c48c4Sopenharmony_ci2014-06-14  Mark Wielaard  <mjw@redhat.com>
2464da0c48c4Sopenharmony_ci
2465da0c48c4Sopenharmony_ci	* elflint (check_symtab): Use ebl_func_addr_mask on st_value.
2466da0c48c4Sopenharmony_ci
2467da0c48c4Sopenharmony_ci2014-05-27  Mark Wielaard  <mjw@redhat.com>
2468da0c48c4Sopenharmony_ci
2469da0c48c4Sopenharmony_ci	* readelf.c (print_debug): Skip section if name is NULL.
2470da0c48c4Sopenharmony_ci
2471da0c48c4Sopenharmony_ci2014-05-26  Mark Wielaard  <mjw@redhat.com>
2472da0c48c4Sopenharmony_ci
2473da0c48c4Sopenharmony_ci	* readelf.c (handle_relocs_rela): Print header like handle_relocs_rel
2474da0c48c4Sopenharmony_ci	does, when sh_info == 0.
2475da0c48c4Sopenharmony_ci
2476da0c48c4Sopenharmony_ci2014-05-26  Mark Wielaard  <mjw@redhat.com>
2477da0c48c4Sopenharmony_ci
2478da0c48c4Sopenharmony_ci	* unstrip.c (find_alloc_sections_prelink): Allow non-split .bss
2479da0c48c4Sopenharmony_ci	section when sh_size of the original and undo .bss section are equal.
2480da0c48c4Sopenharmony_ci
2481da0c48c4Sopenharmony_ci2014-05-26  Mark Wielaard  <mjw@redhat.com>
2482da0c48c4Sopenharmony_ci
2483da0c48c4Sopenharmony_ci	* unstrip.c (options): Add --force, -F.
2484da0c48c4Sopenharmony_ci	(struct arg_info): Add bool force.
2485da0c48c4Sopenharmony_ci	(parse_opt): Handle 'F', set force.
2486da0c48c4Sopenharmony_ci	(handle_explicit_files): Add force argument, add warn function,
2487da0c48c4Sopenharmony_ci	separate check ehdr field checks, use warn.
2488da0c48c4Sopenharmony_ci	(handle_dwfl_module): Add force argument, pass on to
2489da0c48c4Sopenharmony_ci	handle_explicit_files.
2490da0c48c4Sopenharmony_ci	(handle_output_dir_module): Add force argument, pass on to
2491da0c48c4Sopenharmony_ci	handle_dwfl_module.
2492da0c48c4Sopenharmony_ci	(handle_implicit_modules): Pass info->force to handle_dwfl_module and
2493da0c48c4Sopenharmony_ci	handle_output_dir_module.
2494da0c48c4Sopenharmony_ci	(main): Pass info.force to handle_explicit_files.
2495da0c48c4Sopenharmony_ci
2496da0c48c4Sopenharmony_ci2014-05-19  Mark Wielaard  <mjw@redhat.com>
2497da0c48c4Sopenharmony_ci
2498da0c48c4Sopenharmony_ci	* elflint.c (check_reloc_shdr): Check ebl_check_reloc_target_type.
2499da0c48c4Sopenharmony_ci
2500da0c48c4Sopenharmony_ci2014-05-01  Mark Wielaard  <mjw@redhat.com>
2501da0c48c4Sopenharmony_ci
2502da0c48c4Sopenharmony_ci	* readelf.c (find_no_debuginfo): Call dwfl_standard_find_debuginfo
2503da0c48c4Sopenharmony_ci	if looking for alternate debug file.
2504da0c48c4Sopenharmony_ci
2505da0c48c4Sopenharmony_ci2014-04-11  Mark Wielaard  <mjw@redhat.com>
2506da0c48c4Sopenharmony_ci
2507da0c48c4Sopenharmony_ci	* Makefile.am (AM_CPPFLAGS): Add -I libdwelf.
2508da0c48c4Sopenharmony_ci
2509da0c48c4Sopenharmony_ci2014-04-22  Mark Wielaard  <mjw@redhat.com>
2510da0c48c4Sopenharmony_ci
2511da0c48c4Sopenharmony_ci	* readelf.c (handle_core_item): Make sure variable length array
2512da0c48c4Sopenharmony_ci	contains at least enough space for terminating zero char.
2513da0c48c4Sopenharmony_ci
2514da0c48c4Sopenharmony_ci2014-04-22  Mark Wielaard  <mjw@redhat.com>
2515da0c48c4Sopenharmony_ci
2516da0c48c4Sopenharmony_ci	* readelf.c (print_gdb_index_section): Use unsigned int for 31 bits
2517da0c48c4Sopenharmony_ci	left shift.
2518da0c48c4Sopenharmony_ci
2519da0c48c4Sopenharmony_ci2014-03-13  Mark Wielaard  <mjw@redhat.com>
2520da0c48c4Sopenharmony_ci
2521da0c48c4Sopenharmony_ci	* Makefile.am: Remove no_mudflap.os. Remove libmudflap from all
2522da0c48c4Sopenharmony_ci	LDADD lines.
2523da0c48c4Sopenharmony_ci	* strings.c (process_chunk): Remove _MUDFLAP condition.
2524da0c48c4Sopenharmony_ci
2525da0c48c4Sopenharmony_ci2014-04-09  Mark Wielaard  <mjw@redhat.com>
2526da0c48c4Sopenharmony_ci
2527da0c48c4Sopenharmony_ci	* readelf.c (print_debug_aranges_section): Don't get the raw section
2528da0c48c4Sopenharmony_ci	data, use the possibly decompressed .[z]debug sectiondata.
2529da0c48c4Sopenharmony_ci	(print_debug_ranges_section): Likewise.
2530da0c48c4Sopenharmony_ci	(print_debug_frame_section): Likewise.
2531da0c48c4Sopenharmony_ci	(print_debug_line_section): Likewise.
2532da0c48c4Sopenharmony_ci	(print_debug_loc_section): Likewise.
2533da0c48c4Sopenharmony_ci	(print_debug_macinfo_section): Likewise.
2534da0c48c4Sopenharmony_ci	(print_debug_macro_section): Likewise.
2535da0c48c4Sopenharmony_ci
2536da0c48c4Sopenharmony_ci2014-04-10  Mark Wielaard  <mjw@redhat.com>
2537da0c48c4Sopenharmony_ci
2538da0c48c4Sopenharmony_ci	* readelf.c (buf_read_ulong): Pass actual long size to convert.
2539da0c48c4Sopenharmony_ci
2540da0c48c4Sopenharmony_ci2014-03-05  Mark Wielaard  <mjw@redhat.com>
2541da0c48c4Sopenharmony_ci
2542da0c48c4Sopenharmony_ci	* readelf.c (attr_callback): Print DW_FORM_sdata values as signed
2543da0c48c4Sopenharmony_ci	numbers.
2544da0c48c4Sopenharmony_ci
2545da0c48c4Sopenharmony_ci2014-02-24  Mark Wielaard  <mjw@redhat.com>
2546da0c48c4Sopenharmony_ci
2547da0c48c4Sopenharmony_ci	* readelf (print_phdr): Check there is a SHT_PROGBITS section at the
2548da0c48c4Sopenharmony_ci	offset given by p_offsets for a PT_INTERP segment before trying to
2549da0c48c4Sopenharmony_ci	display the interpreter string.
2550da0c48c4Sopenharmony_ci
2551da0c48c4Sopenharmony_ci2014-02-07  Mark Wielaard  <mjw@redhat.com>
2552da0c48c4Sopenharmony_ci
2553da0c48c4Sopenharmony_ci	* readelf.c (print_phdr): Check phdr->p_filesz and make sure
2554da0c48c4Sopenharmony_ci	interpreter string is zero terminated before calling printf.
2555da0c48c4Sopenharmony_ci
2556da0c48c4Sopenharmony_ci2014-01-22  Mark Wielaard  <mjw@redhat.com>
2557da0c48c4Sopenharmony_ci
2558da0c48c4Sopenharmony_ci	* Makefile.am (nm_no_Wformat): Removed.
2559da0c48c4Sopenharmony_ci	(size_no_Wformat): Likewise.
2560da0c48c4Sopenharmony_ci	(strings_no_Wformat): Likewise.
2561da0c48c4Sopenharmony_ci	(addr2line_no_Wformat): Likewise.
2562da0c48c4Sopenharmony_ci	* size.c (show_sysv): Use fmtstr directly as literal in printf.
2563da0c48c4Sopenharmony_ci	(show_sysv_one_line): Likewise.
2564da0c48c4Sopenharmony_ci	* strings.c (locfmt): Removed.
2565da0c48c4Sopenharmony_ci	(radix): New static enum.
2566da0c48c4Sopenharmony_ci	(parse_opt): Set radix, not locfmt.
2567da0c48c4Sopenharmony_ci	(process_chunk_mb): Use fmtstr directly as literal in printf based
2568da0c48c4Sopenharmony_ci	on radix.
2569da0c48c4Sopenharmony_ci	(process_chunk): Likewise.
2570da0c48c4Sopenharmony_ci	* nm.c (show_symbols_sysv): Use fmtstr directly as literal in printf.
2571da0c48c4Sopenharmony_ci	(show_symbols_bsd): Likewise.
2572da0c48c4Sopenharmony_ci	(show_symbols_posix): Likewise.
2573da0c48c4Sopenharmony_ci
2574da0c48c4Sopenharmony_ci2014-01-21  Mark Wielaard  <mjw@redhat.com>
2575da0c48c4Sopenharmony_ci
2576da0c48c4Sopenharmony_ci	* stack.c (show_inlines): New static boolean.
2577da0c48c4Sopenharmony_ci	(print_frame): New function split out from...
2578da0c48c4Sopenharmony_ci	(print_frames): ..here. If show_inlines is true and we found a
2579da0c48c4Sopenharmony_ci	DIE for the frame address, call print_inline_frames otherwise
2580da0c48c4Sopenharmony_ci	call print_frame. Keep track of and track frame_nr.
2581da0c48c4Sopenharmony_ci	(print_inline_frames): New function.
2582da0c48c4Sopenharmony_ci	(parse_opt): Handle '-i'.
2583da0c48c4Sopenharmony_ci	(main): Add 'i' to options.
2584da0c48c4Sopenharmony_ci
2585da0c48c4Sopenharmony_ci2014-01-27  Mark Wielaard  <mjw@redhat.com>
2586da0c48c4Sopenharmony_ci
2587da0c48c4Sopenharmony_ci	* stack.c (maxframes): Initialize to 256.
2588da0c48c4Sopenharmony_ci	(main): Document new default in options. Document magic number
2589da0c48c4Sopenharmony_ci	used in frames.allocated initialization.
2590da0c48c4Sopenharmony_ci
2591da0c48c4Sopenharmony_ci2014-01-20  Mark Wielaard  <mjw@redhat.com>
2592da0c48c4Sopenharmony_ci
2593da0c48c4Sopenharmony_ci	* stack.c (show_debugname): New static boolean.
2594da0c48c4Sopenharmony_ci	(die_name): New function.
2595da0c48c4Sopenharmony_ci	(print_frames): If show_debugname is true set symname to the
2596da0c48c4Sopenharmony_ci	first function-like DIE with a name in scope for the address in
2597da0c48c4Sopenharmony_ci	the debuginfo.
2598da0c48c4Sopenharmony_ci	(parse_opt): Handle '-d'.
2599da0c48c4Sopenharmony_ci	(main): Add 'd' to options.
2600da0c48c4Sopenharmony_ci
2601da0c48c4Sopenharmony_ci2014-01-20  Mark Wielaard  <mjw@redhat.com>
2602da0c48c4Sopenharmony_ci
2603da0c48c4Sopenharmony_ci	* addr2line.c (handle_address): Initialize scopes to NULL.
2604da0c48c4Sopenharmony_ci
2605da0c48c4Sopenharmony_ci2014-01-17  Roland McGrath  <roland@redhat.com>
2606da0c48c4Sopenharmony_ci
2607da0c48c4Sopenharmony_ci	* strip.c (handle_elf): Check for bogus values in sh_link, sh_info,
2608da0c48c4Sopenharmony_ci	st_shndx, e_shstrndx, and SHT_GROUP or SHT_SYMTAB_SHNDX data.
2609da0c48c4Sopenharmony_ci	Don't use assert on input values, instead bail with "illformed" error.
2610da0c48c4Sopenharmony_ci
2611da0c48c4Sopenharmony_ci2014-01-17  Roland McGrath  <roland@redhat.com>
2612da0c48c4Sopenharmony_ci
2613da0c48c4Sopenharmony_ci	* readelf.c (handle_dynamic, handle_symtab): Check for bogus sh_link.
2614da0c48c4Sopenharmony_ci	(handle_verneed, handle_verdef, handle_versym, handle_hash): Likewise.
2615da0c48c4Sopenharmony_ci	(handle_scngrp): Check for bogus sh_info.
2616da0c48c4Sopenharmony_ci
2617da0c48c4Sopenharmony_ci2014-01-17  Jakub Jelinek  <jakub@redhat.com>
2618da0c48c4Sopenharmony_ci
2619da0c48c4Sopenharmony_ci	* elflint.c (section_name): Return "<invalid>" instead of
2620da0c48c4Sopenharmony_ci	crashing on invalid section name.
2621da0c48c4Sopenharmony_ci	(check_symtab, is_rel_dyn, check_rela, check_rel, check_dynamic,
2622da0c48c4Sopenharmony_ci	check_symtab_shndx, check_hash, check_versym): Robustify.
2623da0c48c4Sopenharmony_ci	(check_hash): Don't check entries beyond end of section.
2624da0c48c4Sopenharmony_ci	(check_note): Don't crash if gelf_rawchunk fails.
2625da0c48c4Sopenharmony_ci
2626da0c48c4Sopenharmony_ci2014-01-17  Petr Machata  <pmachata@redhat.com>
2627da0c48c4Sopenharmony_ci
2628da0c48c4Sopenharmony_ci	* readelf.c (handle_dynamic, handle_relocs_rel)
2629da0c48c4Sopenharmony_ci	(handle_relocs_rela, handle_versym, print_liblist):
2630da0c48c4Sopenharmony_ci	Use gelf_fsize instead of relying on shdr->sh_entsize.
2631da0c48c4Sopenharmony_ci
2632da0c48c4Sopenharmony_ci2014-01-14  Mark Wielaard  <mjw@redhat.com>
2633da0c48c4Sopenharmony_ci
2634da0c48c4Sopenharmony_ci	* readelf.c (print_debug_macro_section): Clear vendor array before
2635da0c48c4Sopenharmony_ci	use.
2636da0c48c4Sopenharmony_ci
2637da0c48c4Sopenharmony_ci2014-01-15  Jan Kratochvil  <jan.kratochvil@redhat.com>
2638da0c48c4Sopenharmony_ci
2639da0c48c4Sopenharmony_ci	Fix corruption of non-C++ symbols by the demangler.
2640da0c48c4Sopenharmony_ci	* nm.c (show_symbols_sysv, show_symbols_bsd, show_symbols_posix)
2641da0c48c4Sopenharmony_ci	(show_symbols): Check for _Z.
2642da0c48c4Sopenharmony_ci	* stack.c (print_frames) <USE_DEMANGLE>: Check for _Z.
2643da0c48c4Sopenharmony_ci
2644da0c48c4Sopenharmony_ci2014-01-02  Mark Wielaard  <mjw@redhat.com>
2645da0c48c4Sopenharmony_ci
2646da0c48c4Sopenharmony_ci	* stack.c (show_raw): Declare unconditionally.
2647da0c48c4Sopenharmony_ci	(parse_opt): Handle '-r' unconditionally.
2648da0c48c4Sopenharmony_ci	(main): Show "raw" option even without USE_DEMANGLE.
2649da0c48c4Sopenharmony_ci
2650da0c48c4Sopenharmony_ci2014-01-02  Mark Wielaard  <mjw@redhat.com>
2651da0c48c4Sopenharmony_ci
2652da0c48c4Sopenharmony_ci	* stack.c (print_frames): Print 0x before build-id hex-offset.
2653da0c48c4Sopenharmony_ci
2654da0c48c4Sopenharmony_ci2014-01-02  Mark Wielaard  <mjw@redhat.com>
2655da0c48c4Sopenharmony_ci
2656da0c48c4Sopenharmony_ci	* stack.c (maxframes): Increase to 2048.
2657da0c48c4Sopenharmony_ci	(struct frames): Add allocated field.
2658da0c48c4Sopenharmony_ci	(frame_callback): If frames used is frames allocated, realloc.
2659da0c48c4Sopenharmony_ci	(print_frames): Show an error if maxframes has been reached.
2660da0c48c4Sopenharmony_ci	(parse_opt): Allow -n 0 for unlimited frames.
2661da0c48c4Sopenharmony_ci	(main): Document -n 0 and new default 2048 frames. Allocate initial
2662da0c48c4Sopenharmony_ci	number of frames with malloc.
2663da0c48c4Sopenharmony_ci
2664da0c48c4Sopenharmony_ci2013-12-30  Mark Wielaard  <mjw@redhat.com>
2665da0c48c4Sopenharmony_ci
2666da0c48c4Sopenharmony_ci	* stack.c (parse_opt): Explicitly call dwfl_linux_proc_attach
2667da0c48c4Sopenharmony_ci	or dwfl_core_file_attach and check for errors.
2668da0c48c4Sopenharmony_ci
2669da0c48c4Sopenharmony_ci2013-12-28  Mark Wielaard  <mjw@redhat.com>
2670da0c48c4Sopenharmony_ci
2671da0c48c4Sopenharmony_ci	* stack.c (print_frames): Remove address width code and use...
2672da0c48c4Sopenharmony_ci	(get_addr_width): ...this new function.
2673da0c48c4Sopenharmony_ci	(show_modules): New static boolean.
2674da0c48c4Sopenharmony_ci	(module_callback): New static function.
2675da0c48c4Sopenharmony_ci	(parse_opt): Handle '-l'.
2676da0c48c4Sopenharmony_ci	(main): Add 'l' to options. If show_modules then use dwfl_getmodules
2677da0c48c4Sopenharmony_ci	with module_callback to show all detected modules and possible
2678da0c48c4Sopenharmony_ci	build_id, elf and dwarf files.
2679da0c48c4Sopenharmony_ci
2680da0c48c4Sopenharmony_ci2013-12-27  Mark Wielaard  <mjw@redhat.com>
2681da0c48c4Sopenharmony_ci
2682da0c48c4Sopenharmony_ci	* stack.c (frames_shown): New static boolean.
2683da0c48c4Sopenharmony_ci	(EXIT_OK,EXIT_ERROR,EXIT_BAD,EXIT_USAGES): New defines.
2684da0c48c4Sopenharmony_ci	(frame_callback): Return -1 on error. Don't print error.
2685da0c48c4Sopenharmony_ci	(print_frames): Add arguments, tid, dwflerr and what. Print tid.
2686da0c48c4Sopenharmony_ci	If there was an error report it with address and module if possible.
2687da0c48c4Sopenharmony_ci	Record whether any frames were actually printed.
2688da0c48c4Sopenharmony_ci	(thread_callback): Collect tid and err, pass it to print_frames.
2689da0c48c4Sopenharmony_ci	(parse_opt): Use EXIT_BAD for errors. On ARGP_KEY_END print errno
2690da0c48c4Sopenharmony_ci	if dwfl_linux_proc_report returned it. Check whether we are properly
2691da0c48c4Sopenharmony_ci	attached with dwfl_pid.
2692da0c48c4Sopenharmony_ci	(main): Document exit status. Don't report DWARF_CB_ABORT from
2693da0c48c4Sopenharmony_ci	callbacks as error. Pass real errors to print_frames. Return
2694da0c48c4Sopenharmony_ci	EXIT_BAD if no frames could be shown. Return EXIT_ERROR if there
2695da0c48c4Sopenharmony_ci	were any non-fatal errors.
2696da0c48c4Sopenharmony_ci
2697da0c48c4Sopenharmony_ci2013-12-23  Mark Wielaard  <mjw@redhat.com>
2698da0c48c4Sopenharmony_ci
2699da0c48c4Sopenharmony_ci	* Makefile.am (stack_LDADD): Add demanglelib.
2700da0c48c4Sopenharmony_ci	* stack.c (show_quiet): New static boolean, default false.
2701da0c48c4Sopenharmony_ci	(show_raw): Likewise.
2702da0c48c4Sopenharmony_ci	(demangle_buffer_len): New static size_t.
2703da0c48c4Sopenharmony_ci	(demangle_buffer): New static char *.
2704da0c48c4Sopenharmony_ci	(print_frames): Don't resolve pc name if show_quiet. Demangle name
2705da0c48c4Sopenharmony_ci	unless show_raw.
2706da0c48c4Sopenharmony_ci	(parse_opt): Handle '-q' and '-r'.
2707da0c48c4Sopenharmony_ci	(main): Add 'q' and 'r' to options. Free demangle_buffer.
2708da0c48c4Sopenharmony_ci
2709da0c48c4Sopenharmony_ci2013-12-23  Mark Wielaard  <mjw@redhat.com>
2710da0c48c4Sopenharmony_ci
2711da0c48c4Sopenharmony_ci	* stack.c (OPT_DEBUGINFO): New define.
2712da0c48c4Sopenharmony_ci	(OPT_COREFILE): Likewise.
2713da0c48c4Sopenharmony_ci	(pid): New static.
2714da0c48c4Sopenharmony_ci	(core_fd): Likewise.
2715da0c48c4Sopenharmony_ci	(core): Likewise.
2716da0c48c4Sopenharmony_ci	(exec): Likewise.
2717da0c48c4Sopenharmony_ci	(debuginfo_path): Likewise.
2718da0c48c4Sopenharmony_ci	(parse_opt): Handle '-p', '--core', '-e' and '--debuginfo-path'.
2719da0c48c4Sopenharmony_ci	Do argument sanity checking. Setup Dwfl.
2720da0c48c4Sopenharmony_ci	(main): Add 'p', 'core', 'e' and 'debuginfo-path' to options.
2721da0c48c4Sopenharmony_ci	Remove argp_child children, simplify argp doc, remove custom
2722da0c48c4Sopenharmony_ci	usage message and construction of dwfl with dwfl_standard_argp.
2723da0c48c4Sopenharmony_ci	Use pid directly as tid. close core and core_fd if opened. Print
2724da0c48c4Sopenharmony_ci	pid of process or core.
2725da0c48c4Sopenharmony_ci
2726da0c48c4Sopenharmony_ci2013-12-23  Mark Wielaard  <mjw@redhat.com>
2727da0c48c4Sopenharmony_ci
2728da0c48c4Sopenharmony_ci	* stack.c (show_build_id): New static boolean.
2729da0c48c4Sopenharmony_ci	(print_frames): Print module build-id, load address and pc offset
2730da0c48c4Sopenharmony_ci	if show_build_id is true.
2731da0c48c4Sopenharmony_ci	(parse_opt): Handle '-b'.
2732da0c48c4Sopenharmony_ci	(main): Add -b to options.
2733da0c48c4Sopenharmony_ci
2734da0c48c4Sopenharmony_ci2013-12-22  Mark Wielaard  <mjw@redhat.com>
2735da0c48c4Sopenharmony_ci
2736da0c48c4Sopenharmony_ci	* stack.c (maxframes): New static unsigned. Initialize to 64.
2737da0c48c4Sopenharmony_ci	(struct frame): New struct.
2738da0c48c4Sopenharmony_ci	(struct frames): Likewise.
2739da0c48c4Sopenharmony_ci	(dwfl): New static Dwfl pointer.
2740da0c48c4Sopenharmony_ci	(frame_callback): Use arg as struct frames and fill it next frame.
2741da0c48c4Sopenharmony_ci	Return DWARF_CB_ABORT when maxframes has been reached. Move
2742da0c48c4Sopenharmony_ci	printing of frame to...
2743da0c48c4Sopenharmony_ci	(print_frames): ...here. New function.
2744da0c48c4Sopenharmony_ci	(thread_callback): Use arg as struct frames and set frames to zero.
2745da0c48c4Sopenharmony_ci	Call print_frames.
2746da0c48c4Sopenharmony_ci	(parse_opt): Handle '-n'.
2747da0c48c4Sopenharmony_ci	(main): Add -n to options. Allocate frames using maxframes. Pass
2748da0c48c4Sopenharmony_ci	frames to frame_callback and thread_callback.
2749da0c48c4Sopenharmony_ci
2750da0c48c4Sopenharmony_ci2013-12-20  Mark Wielaard  <mjw@redhat.com>
2751da0c48c4Sopenharmony_ci
2752da0c48c4Sopenharmony_ci	* stack.c (show_one_tid): New static boolean.
2753da0c48c4Sopenharmony_ci	(parse_opt): Handle '-1'.
2754da0c48c4Sopenharmony_ci	(main): Add -1 to options. Call dwfl_getthread_frames when
2755da0c48c4Sopenharmony_ci	show_one_tid is true.
2756da0c48c4Sopenharmony_ci
2757da0c48c4Sopenharmony_ci2013-12-18  Mark Wielaard  <mjw@redhat.com>
2758da0c48c4Sopenharmony_ci
2759da0c48c4Sopenharmony_ci	* addr2line.c (options): Add symbol-sections, 'x'.
2760da0c48c4Sopenharmony_ci	(show_symbol_sections): New static bool.
2761da0c48c4Sopenharmony_ci	(parse_opt): Handle 'x'.
2762da0c48c4Sopenharmony_ci	(print_addrsym): Use dwfl_module_addrinfo value.r
2763da0c48c4Sopenharmony_ci	Also show section of address with show_symbol_sections.
2764da0c48c4Sopenharmony_ci	(find_symbol): Use dwfl_module_getsym_info and set value.
2765da0c48c4Sopenharmony_ci	(handle_address): Request value and use it instead of sym.st_value.
2766da0c48c4Sopenharmony_ci	* readelf.c (format_dwarf_addr): Use dwfl_module_addrinfo to get
2767da0c48c4Sopenharmony_ci	name and offset.
2768da0c48c4Sopenharmony_ci
2769da0c48c4Sopenharmony_ci2013-12-17  Masatake YAMATO  <yamato@redhat.com>
2770da0c48c4Sopenharmony_ci	    Mark Wielaard  <mjw@redhat.com>
2771da0c48c4Sopenharmony_ci
2772da0c48c4Sopenharmony_ci	* stack.c (show_activation, show_module, show_source): New variables.
2773da0c48c4Sopenharmony_ci	(parse_opt): Set show_activation if -a option is given.
2774da0c48c4Sopenharmony_ci	Set show_module if -m option is given. Set show_source if -s option
2775da0c48c4Sopenharmony_ci	is given. Set all show booleans when -v option is given.
2776da0c48c4Sopenharmony_ci	(main): Added `-a', `-m', `-s', and `-v' to the help message.
2777da0c48c4Sopenharmony_ci	(frame_callback): Print module and source file information.
2778da0c48c4Sopenharmony_ci
2779da0c48c4Sopenharmony_ci2013-11-25  Petr Machata  <pmachata@redhat.com>
2780da0c48c4Sopenharmony_ci
2781da0c48c4Sopenharmony_ci	* elflint.c (valid_e_machine): Add EM_AARCH64.
2782da0c48c4Sopenharmony_ci
2783da0c48c4Sopenharmony_ci2013-11-14  Petr Machata  <pmachata@redhat.com>
2784da0c48c4Sopenharmony_ci
2785da0c48c4Sopenharmony_ci	* readelf.c (handle_core_item) <'h'>: New branch for handling
2786da0c48c4Sopenharmony_ci	fields that shouldn't be displayed.
2787da0c48c4Sopenharmony_ci
2788da0c48c4Sopenharmony_ci2013-11-10  Mark Wielaard  <mjw@redhat.com>
2789da0c48c4Sopenharmony_ci
2790da0c48c4Sopenharmony_ci	* stack.c: Use ARGP_PROGRAM_VERSION_HOOK_DEF and
2791da0c48c4Sopenharmony_ci	ARGP_PROGRAM_BUG_ADDRESS_DEF.
2792da0c48c4Sopenharmony_ci	(print_version): New function.
2793da0c48c4Sopenharmony_ci
2794da0c48c4Sopenharmony_ci2013-11-09  Mark Wielaard  <mjw@redhat.com>
2795da0c48c4Sopenharmony_ci
2796da0c48c4Sopenharmony_ci	* arlib.c (arlib_init): Call snprintf before using the result
2797da0c48c4Sopenharmony_ci	with memcpy.
2798da0c48c4Sopenharmony_ci	(arlib_finalize): Likewise.
2799da0c48c4Sopenharmony_ci	* nm.c (show_symbols_sysv): Don't modify cnt inside assert.
2800da0c48c4Sopenharmony_ci
2801da0c48c4Sopenharmony_ci2013-11-07  Jan Kratochvil  <jan.kratochvil@redhat.com>
2802da0c48c4Sopenharmony_ci
2803da0c48c4Sopenharmony_ci	* Makefile.am (bin_PROGRAMS): Add stack.
2804da0c48c4Sopenharmony_ci	(stack_LDADD): New.
2805da0c48c4Sopenharmony_ci	* stack.c: New file.
2806da0c48c4Sopenharmony_ci
2807da0c48c4Sopenharmony_ci2013-11-05  Mark Wielaard  <mjw@redhat.com>
2808da0c48c4Sopenharmony_ci
2809da0c48c4Sopenharmony_ci	* readelf.c (print_debug_ranges_section): Cast address to size_t
2810da0c48c4Sopenharmony_ci	before comparison.
2811da0c48c4Sopenharmony_ci	(print_debug_loc_section): Likewise.
2812da0c48c4Sopenharmony_ci
2813da0c48c4Sopenharmony_ci2013-10-18  Mark Wielaard  <mjw@redhat.com>
2814da0c48c4Sopenharmony_ci
2815da0c48c4Sopenharmony_ci	* ar.c (main): Correct operation check when instance_specifed is set.
2816da0c48c4Sopenharmony_ci
2817da0c48c4Sopenharmony_ci2013-09-26  Petr Machata  <pmachata@redhat.com>
2818da0c48c4Sopenharmony_ci
2819da0c48c4Sopenharmony_ci	* readelf.c (handle_file_note): New function.
2820da0c48c4Sopenharmony_ci	(handle_notes_data): Call it to handle NT_FILE notes.
2821da0c48c4Sopenharmony_ci
2822da0c48c4Sopenharmony_ci2013-09-26  Petr Machata  <pmachata@redhat.com>
2823da0c48c4Sopenharmony_ci
2824da0c48c4Sopenharmony_ci	* readelf.c (handle_siginfo_note): New function.
2825da0c48c4Sopenharmony_ci	(handle_notes_data): Call it to handle NT_SIGINFO notes.
2826da0c48c4Sopenharmony_ci	(buf_read_int, buf_read_ulong, buf_has_data): New functions.
2827da0c48c4Sopenharmony_ci
2828da0c48c4Sopenharmony_ci2013-08-13  Mark Wielaard  <mjw@redhat.com>
2829da0c48c4Sopenharmony_ci
2830da0c48c4Sopenharmony_ci	* addr2line.c (options): Add "inlines", 'i'.
2831da0c48c4Sopenharmony_ci	(show_inlines): New bool.
2832da0c48c4Sopenharmony_ci	(parse_opt): Handle 'i'.
2833da0c48c4Sopenharmony_ci	(print_diesym): New static function.
2834da0c48c4Sopenharmony_ci	(print_src): New function taking code from...
2835da0c48c4Sopenharmony_ci	(handle_address): here. Call print_src. Print inlines.
2836da0c48c4Sopenharmony_ci
2837da0c48c4Sopenharmony_ci2013-08-12  Mark Wielaard  <mjw@redhat.com>
2838da0c48c4Sopenharmony_ci
2839da0c48c4Sopenharmony_ci	* addr2line.c (main): If there is a newline char at end of buf,
2840da0c48c4Sopenharmony_ci	then remove it.
2841da0c48c4Sopenharmony_ci
2842da0c48c4Sopenharmony_ci2013-07-05  Mark Wielaard  <mjw@redhat.com>
2843da0c48c4Sopenharmony_ci
2844da0c48c4Sopenharmony_ci	* readelf.c (print_ops): Take CU as argument, use it to print
2845da0c48c4Sopenharmony_ci	parameter_ref DIE offset.
2846da0c48c4Sopenharmony_ci	(struct listptr): Replace base field with cu.
2847da0c48c4Sopenharmony_ci	(listptr_base): New function.
2848da0c48c4Sopenharmony_ci	(compare_listptr): Use listptr_base.
2849da0c48c4Sopenharmony_ci	(notice_listptr): Take CU as argument.
2850da0c48c4Sopenharmony_ci	(skip_listptr_hole): Likewise.
2851da0c48c4Sopenharmony_ci	(print_debug_ranges_section): Pass NULL as CU to skip_listptr_hole.
2852da0c48c4Sopenharmony_ci	(print_cfa_program): Pass NULL as CU to print_ops.
2853da0c48c4Sopenharmony_ci	(struct attrcb_args): Replace cu_base field with cu.
2854da0c48c4Sopenharmony_ci	(attr_callback): Pass cu not cu_base to notice_listptr.
2855da0c48c4Sopenharmony_ci	(print_debug_units): Don't calculate base, just set cu.
2856da0c48c4Sopenharmony_ci	(print_debug_loc_section): Pass cu to skip_listptr_hole and
2857da0c48c4Sopenharmony_ci	print_ops.
2858da0c48c4Sopenharmony_ci
2859da0c48c4Sopenharmony_ci2013-05-06  Mark Wielaard  <mjw@redhat.com>
2860da0c48c4Sopenharmony_ci
2861da0c48c4Sopenharmony_ci	* readelf.c (print_ops): Format first DW_OP_GNU_implicit_pointer
2862da0c48c4Sopenharmony_ci	argument as DIE offset.
2863da0c48c4Sopenharmony_ci
2864da0c48c4Sopenharmony_ci2013-04-24  Mark Wielaard  <mjw@redhat.com>
2865da0c48c4Sopenharmony_ci
2866da0c48c4Sopenharmony_ci	* Makefile.am: Use AM_CPPFLAGS instead of INCLUDES.
2867da0c48c4Sopenharmony_ci
2868da0c48c4Sopenharmony_ci2013-03-25  Mark Wielaard  <mjw@redhat.com>
2869da0c48c4Sopenharmony_ci
2870da0c48c4Sopenharmony_ci	* readelf.c (argp_options): Add decodedline.
2871da0c48c4Sopenharmony_ci	(decodedline): New boolean initialized to false.
2872da0c48c4Sopenharmony_ci	(parse_opt): Set decodedline when arg is decodedline.
2873da0c48c4Sopenharmony_ci	(print_decoded_line_section): New function.
2874da0c48c4Sopenharmony_ci	(print_debug_line_section): Call print_decoded_line_section when
2875da0c48c4Sopenharmony_ci	decodedline is true.
2876da0c48c4Sopenharmony_ci
2877da0c48c4Sopenharmony_ci2013-03-25  Mark Wielaard  <mjw@redhat.com>
2878da0c48c4Sopenharmony_ci
2879da0c48c4Sopenharmony_ci	* readelf.c (argp_option): Add decodedaranges.
2880da0c48c4Sopenharmony_ci	(decodedaranges): New boolean initialized to false.
2881da0c48c4Sopenharmony_ci	(parse_opt): Set decodedaranges when arg is decodedaranges.
2882da0c48c4Sopenharmony_ci	(print_debug_aranges_section): Reimplemented and original
2883da0c48c4Sopenharmony_ci	implementation renamed to...
2884da0c48c4Sopenharmony_ci	(print_decoded_aranges_section): this.
2885da0c48c4Sopenharmony_ci
2886da0c48c4Sopenharmony_ci2013-03-25  Mark Wielaard  <mjw@redhat.com>
2887da0c48c4Sopenharmony_ci
2888da0c48c4Sopenharmony_ci	* readelf.c (attrcb_args): Add Dwarf_Die.
2889da0c48c4Sopenharmony_ci	(attr_callback): When highpc is in constant form also print as
2890da0c48c4Sopenharmony_ci	address.
2891da0c48c4Sopenharmony_ci	(print_debug_units): Set args.die.
2892da0c48c4Sopenharmony_ci
2893da0c48c4Sopenharmony_ci2013-03-19  Mark Wielaard  <mjw@redhat.com>
2894da0c48c4Sopenharmony_ci
2895da0c48c4Sopenharmony_ci	* readelf.c (print_gdb_index_section): Free format_dwarf_addr results.
2896da0c48c4Sopenharmony_ci
2897da0c48c4Sopenharmony_ci2013-03-18  Mark Wielaard  <mjw@redhat.com>
2898da0c48c4Sopenharmony_ci
2899da0c48c4Sopenharmony_ci	* readelf.c (print_gdb_index_section): Accept version 8.
2900da0c48c4Sopenharmony_ci
2901da0c48c4Sopenharmony_ci2013-03-01  Mark Wielaard  <mjw@redhat.com>
2902da0c48c4Sopenharmony_ci
2903da0c48c4Sopenharmony_ci	* findtextrel.c (process_file): Release ELF and close file when not
2904da0c48c4Sopenharmony_ci	text relocations are found.
2905da0c48c4Sopenharmony_ci	* strip.c (handle_elf): Track memory used for .debuglink section data
2906da0c48c4Sopenharmony_ci	and free when done.
2907da0c48c4Sopenharmony_ci
2908da0c48c4Sopenharmony_ci2013-02-24  Mark Wielaard  <mjw@redhat.com>
2909da0c48c4Sopenharmony_ci
2910da0c48c4Sopenharmony_ci	* elflint.c (check_symtab): Add __bss_start__ to the list of symbols
2911da0c48c4Sopenharmony_ci	allowed to have out of section values because of GNU ld bugs.
2912da0c48c4Sopenharmony_ci
2913da0c48c4Sopenharmony_ci2013-02-06  Mark Wielaard  <mjw@redhat.com>
2914da0c48c4Sopenharmony_ci
2915da0c48c4Sopenharmony_ci	* elflint.c (check_symtab): Add __bss_start and __TMC_END__ to the
2916da0c48c4Sopenharmony_ci	list of symbols allowed to have out of section values because of
2917da0c48c4Sopenharmony_ci	GNU ld bugs in either .symtab or .dynsym, but only when they are
2918da0c48c4Sopenharmony_ci	zero sized.
2919da0c48c4Sopenharmony_ci
2920da0c48c4Sopenharmony_ci2013-01-24  Mark Wielaard  <mjw@redhat.com>
2921da0c48c4Sopenharmony_ci
2922da0c48c4Sopenharmony_ci	* readelf.c (argp_option): Add unresolved-address-offsets, U.
2923da0c48c4Sopenharmony_ci	(print_unresolved_addresses): New static.
2924da0c48c4Sopenharmony_ci	(parse_opt): Handle 'U', set print_unprocessed_values.
2925da0c48c4Sopenharmony_ci	(format_dwarf_addr): Take and handle new raw argument.
2926da0c48c4Sopenharmony_ci	(print_ops): Call format_dwarf_addr with raw offset values.
2927da0c48c4Sopenharmony_ci	(print_debug_ranges_section): Likewise.
2928da0c48c4Sopenharmony_ci	(print_debug_frame_section): Likewise.
2929da0c48c4Sopenharmony_ci	(attr_callback): Likewise.
2930da0c48c4Sopenharmony_ci	(print_debug_line_section): Likewise.
2931da0c48c4Sopenharmony_ci	(print_debug_loc_section): Likewise.
2932da0c48c4Sopenharmony_ci	(print_gdb_index_section): Likewise.
2933da0c48c4Sopenharmony_ci
2934da0c48c4Sopenharmony_ci2013-01-18  Mark Wielaard  <mjw@redhat.com>
2935da0c48c4Sopenharmony_ci
2936da0c48c4Sopenharmony_ci	* readelf.c (struct listptr): Add base Dwarf_Addr field.
2937da0c48c4Sopenharmony_ci	(compare_listptr): Warn for same offset with different base.
2938da0c48c4Sopenharmony_ci	(notice_listptr): Take base argument and set it.
2939da0c48c4Sopenharmony_ci	(skip_listptr_hole): Likewise.
2940da0c48c4Sopenharmony_ci	(struct attrcb_args): Removed unused cu_offset field.
2941da0c48c4Sopenharmony_ci	Add cu_base Dwarf_Addr field.
2942da0c48c4Sopenharmony_ci	(attr_callback): Call notice_listptr with cbargs->cu_base.
2943da0c48c4Sopenharmony_ci	(print_debug_units): Set args.cu_base.
2944da0c48c4Sopenharmony_ci	(print_debug_ranges_section): Get base and use for format_dwarf_addr.
2945da0c48c4Sopenharmony_ci	(print_debug_loc_section): Likewise.
2946da0c48c4Sopenharmony_ci
2947da0c48c4Sopenharmony_ci2013-01-29  Jan Kratochvil  <jan.kratochvil@redhat.com>
2948da0c48c4Sopenharmony_ci
2949da0c48c4Sopenharmony_ci	* readelf.c (handle_core_items): Limit special repeated items handling
2950da0c48c4Sopenharmony_ci	to single-item formats '\n', 'b' and 'B', assert OFFSET 0 there.
2951da0c48c4Sopenharmony_ci
2952da0c48c4Sopenharmony_ci2012-12-18  Mark Wielaard  <mark@bordewijk.wildebeest.org>
2953da0c48c4Sopenharmony_ci
2954da0c48c4Sopenharmony_ci	* readelf.c (ELF_INPUT_SECTION): New argp key value.
2955da0c48c4Sopenharmony_ci	(argp_option): Add elf-section.
2956da0c48c4Sopenharmony_ci	(elf_input_section): New static.
2957da0c48c4Sopenharmony_ci	(parse_opt): Handle ELF_INPUT_SECTION and set elf_input_section.
2958da0c48c4Sopenharmony_ci	(open_input_section): New function.
2959da0c48c4Sopenharmony_ci	(process_file): Call open_input_section if elf_input_section set.
2960da0c48c4Sopenharmony_ci
2961da0c48c4Sopenharmony_ci2013-01-13  David Abdurachmanov  <David.Abdurachmanov@cern.ch>
2962da0c48c4Sopenharmony_ci
2963da0c48c4Sopenharmony_ci	ar.c (do_oper_delete): Fix num passed to memset.
2964da0c48c4Sopenharmony_ci
2965da0c48c4Sopenharmony_ci2012-12-21  Mark Wielaard  <mjw@redhat.com>
2966da0c48c4Sopenharmony_ci
2967da0c48c4Sopenharmony_ci	* readelf.c (print_debug_frame_section): Adjust FDE start address
2968da0c48c4Sopenharmony_ci	if pcrel before feeding it to format_dwarf_addr.
2969da0c48c4Sopenharmony_ci
2970da0c48c4Sopenharmony_ci2012-12-21  Mark Wielaard  <mjw@redhat.com>
2971da0c48c4Sopenharmony_ci
2972da0c48c4Sopenharmony_ci	* addr2line.c (main): Call dwfl_end.
2973da0c48c4Sopenharmony_ci
2974da0c48c4Sopenharmony_ci2012-12-11  Roland McGrath  <roland@hack.frob.com>
2975da0c48c4Sopenharmony_ci
2976da0c48c4Sopenharmony_ci	* nm.c (show_symbols_sysv): Fix size passed to snprintf for invalid
2977da0c48c4Sopenharmony_ci	sh_name case.
2978da0c48c4Sopenharmony_ci	Reported by David Abdurachmanov <David.Abdurachmanov@cern.ch>.
2979da0c48c4Sopenharmony_ci
2980da0c48c4Sopenharmony_ci2012-10-16  Mark Wielaard  <mjw@redhat.com>
2981da0c48c4Sopenharmony_ci
2982da0c48c4Sopenharmony_ci	* readelf.c (print_ops): DW_OP_skip and DW_OP_bra targets are
2983da0c48c4Sopenharmony_ci	calculated beginning after the operand and 2-byte constant.
2984da0c48c4Sopenharmony_ci
2985da0c48c4Sopenharmony_ci2012-10-12  Jan Kratochvil  <jan.kratochvil@redhat.com>
2986da0c48c4Sopenharmony_ci
2987da0c48c4Sopenharmony_ci	* readelf.c (ITEM_WRAP_COLUMN, REGISTER_WRAP_COLUMN): Merge to ...
2988da0c48c4Sopenharmony_ci	(WRAP_COLUMN): ... here.
2989da0c48c4Sopenharmony_ci	(print_core_item): Remove parameter format_max.  Update function
2990da0c48c4Sopenharmony_ci	comment.  Replace FORMAT_MAX by the real output width.
2991da0c48c4Sopenharmony_ci	(handle_core_item): Remove the FORMAT_MAX values in TYPES, DO_TYPE,
2992da0c48c4Sopenharmony_ci	calls of print_core_item, remove variable maxfmt, change
2993da0c48c4Sopenharmony_ci	ITEM_WRAP_COLUMN to WRAP_COLUMN.
2994da0c48c4Sopenharmony_ci	(handle_core_register): Remove the FORMAT_MAX values in TYPES, BITS,
2995da0c48c4Sopenharmony_ci	calls of print_core_item, change REGISTER_WRAP_COLUMN to WRAP_COLUMN.
2996da0c48c4Sopenharmony_ci
2997da0c48c4Sopenharmony_ci2012-10-11  Jan Kratochvil  <jan.kratochvil@redhat.com>
2998da0c48c4Sopenharmony_ci
2999da0c48c4Sopenharmony_ci	* readelf.c (handle_core_item) <b>: Make run an outer block variable.
3000da0c48c4Sopenharmony_ci	Increase run only if LASTBIT != 0.  Print last element only if RUN > 0.
3001da0c48c4Sopenharmony_ci
3002da0c48c4Sopenharmony_ci2012-08-27  Mark Wielaard  <mjw@redhat.com>
3003da0c48c4Sopenharmony_ci
3004da0c48c4Sopenharmony_ci	* readelf.c (print_debug_macro_section): Print offset as PRIx64.
3005da0c48c4Sopenharmony_ci
3006da0c48c4Sopenharmony_ci2012-08-27  Mark Wielaard  <mjw@redhat.com>
3007da0c48c4Sopenharmony_ci
3008da0c48c4Sopenharmony_ci	* readelf.c (register_info): Handle loc == NULL.
3009da0c48c4Sopenharmony_ci
3010da0c48c4Sopenharmony_ci2012-08-22  Jeff Kenton  <jkenton@tilera.com>
3011da0c48c4Sopenharmony_ci
3012da0c48c4Sopenharmony_ci	* elflint.c (valid_e_machine): Add EM_TILEGX and EM_TILEPRO.
3013da0c48c4Sopenharmony_ci
3014da0c48c4Sopenharmony_ci2012-08-16  Mark Wielaard  <mjw@redhat.com>
3015da0c48c4Sopenharmony_ci
3016da0c48c4Sopenharmony_ci	* readelf.c (dwarf_tag_name): Renamed from dwarf_tag_string.
3017da0c48c4Sopenharmony_ci	Uses new dwarf_tag_string or adds ??? or lo_user+%#x when
3018da0c48c4Sopenharmony_ci	appropriate.
3019da0c48c4Sopenharmony_ci	(dwarf_attr_name): Likewise.
3020da0c48c4Sopenharmony_ci	(dwarf_form_name): Likewise.
3021da0c48c4Sopenharmony_ci	(dwarf_lang_name): Likewise.
3022da0c48c4Sopenharmony_ci	(dwarf_inline_name): Likewise.
3023da0c48c4Sopenharmony_ci	(dwarf_encoding_name): Likewise.
3024da0c48c4Sopenharmony_ci	(dwarf_access_name): Likewise.
3025da0c48c4Sopenharmony_ci	(dwarf_visibility_name): Likewise.
3026da0c48c4Sopenharmony_ci	(dwarf_virtuality_name): Likewise.
3027da0c48c4Sopenharmony_ci	(dwarf_identifier_case_name): Likewise.
3028da0c48c4Sopenharmony_ci	(dwarf_calling_convention_name): Likewise.
3029da0c48c4Sopenharmony_ci	(dwarf_ordering_name): Likewise.
3030da0c48c4Sopenharmony_ci	(dwarf_discr_list_name): Likewise.
3031da0c48c4Sopenharmony_ci	(print_ops): Remove KNOWN.  Use dwarf_locexpr_opcode_string.
3032da0c48c4Sopenharmony_ci	(attr_callback): Call new dwarf_foobar_name instead of old
3033da0c48c4Sopenharmony_ci	dwarf_foobar_string functions.
3034da0c48c4Sopenharmony_ci	(dwarf_tag_string): New function using known-dwarf.h macros.
3035da0c48c4Sopenharmony_ci	(dwarf_attr_string): Likewise.
3036da0c48c4Sopenharmony_ci	(dwarf_form_string): Likewise.
3037da0c48c4Sopenharmony_ci	(dwarf_lang_string): Likewise.
3038da0c48c4Sopenharmony_ci	(dwarf_inline_string): Likewise.
3039da0c48c4Sopenharmony_ci	(dwarf_encoding_string): Likewise.
3040da0c48c4Sopenharmony_ci	(dwarf_access_string): Likewise.
3041da0c48c4Sopenharmony_ci	(dwarf_visibility_string): Likewise.
3042da0c48c4Sopenharmony_ci	(dwarf_virtuality_string): Likewise.
3043da0c48c4Sopenharmony_ci	(dwarf_identifier_case_string): Likewise.
3044da0c48c4Sopenharmony_ci	(dwarf_calling_convention_string): Likewise.
3045da0c48c4Sopenharmony_ci	(dwarf_ordering_string): Likewise.
3046da0c48c4Sopenharmony_ci	(dwarf_discr_list_string): Likewise.
3047da0c48c4Sopenharmony_ci	(dwarf_locexpr_opcode_string): Likewise.
3048da0c48c4Sopenharmony_ci
3049da0c48c4Sopenharmony_ci2012-06-27  Mark Wielaard  <mjw@redhat.com>
3050da0c48c4Sopenharmony_ci
3051da0c48c4Sopenharmony_ci	* readelf.c (dwarf_form_string): Handle DW_FORM_GNU_ref_alt and
3052da0c48c4Sopenharmony_ci	DW_FORM_GNU_strp_alt.
3053da0c48c4Sopenharmony_ci	(attr_callback): Likewise.
3054da0c48c4Sopenharmony_ci
3055da0c48c4Sopenharmony_ci2012-07-30  Petr Machata  <pmachata@redhat.com>
3056da0c48c4Sopenharmony_ci
3057da0c48c4Sopenharmony_ci	* nm.c (show_symbols_bsd): Reorder arguments in {S,}FMTSTRS (and
3058da0c48c4Sopenharmony_ci	corresponding printf) so that those that are referenced by only
3059da0c48c4Sopenharmony_ci	one of the formatting strings are at the end.
3060da0c48c4Sopenharmony_ci
3061da0c48c4Sopenharmony_ci2012-07-29  Mark Wielaard  <mjw@redhat.com>
3062da0c48c4Sopenharmony_ci
3063da0c48c4Sopenharmony_ci	* readelf.c (dwarf_lang_string): Use DW_LANG_ObjC, not DW_LANG_Objc.
3064da0c48c4Sopenharmony_ci	(print_ops): Use known[op], not op_name, for DW_OP_GNU_parameter_ref.
3065da0c48c4Sopenharmony_ci
3066da0c48c4Sopenharmony_ci2012-07-19  Mark Wielaard  <mjw@redhat.com>
3067da0c48c4Sopenharmony_ci
3068da0c48c4Sopenharmony_ci	* readelf.c (print_ops): Handle DW_OP_GNU_parameter_ref.
3069da0c48c4Sopenharmony_ci
3070da0c48c4Sopenharmony_ci2012-07-11  Mark Wielaard  <mjw@redhat.com>
3071da0c48c4Sopenharmony_ci
3072da0c48c4Sopenharmony_ci	* readelf.c (options): Add macro to help of debug-dump.
3073da0c48c4Sopenharmony_ci	(section_e): Add section_macro.
3074da0c48c4Sopenharmony_ci	(section_all): Add section_macro.
3075da0c48c4Sopenharmony_ci	(parse_opt): Handle macro.
3076da0c48c4Sopenharmony_ci	(print_debug_macro_section): New function.
3077da0c48c4Sopenharmony_ci	(print_debug): Add NEW_SECTION (macro).
3078da0c48c4Sopenharmony_ci
3079da0c48c4Sopenharmony_ci2012-07-10  Mark Wielaard  <mjw@redhat.com>
3080da0c48c4Sopenharmony_ci
3081da0c48c4Sopenharmony_ci	* readelf.c (print_gdb_index_section): Add version 7 support.
3082da0c48c4Sopenharmony_ci	Keep track of cu_nr. Print kind and static/global flag for each
3083da0c48c4Sopenharmony_ci	symbol. When a symbol is in the TU list add 'T'.
3084da0c48c4Sopenharmony_ci
3085da0c48c4Sopenharmony_ci2012-06-26  Mark Wielaard  <mjw@redhat.com>
3086da0c48c4Sopenharmony_ci
3087da0c48c4Sopenharmony_ci	* readelf.c (dwarf_attr_string): Add DW_AT_GNU_macros.
3088da0c48c4Sopenharmony_ci
3089da0c48c4Sopenharmony_ci2012-06-22  Mark Wielaard  <mjw@redhat.com>
3090da0c48c4Sopenharmony_ci
3091da0c48c4Sopenharmony_ci	* readelf.c (print_ops): Cast printf PRIu/x64 arguments to uint64_t
3092da0c48c4Sopenharmony_ci	for gcc 4.7 -Wformat.
3093da0c48c4Sopenharmony_ci
3094da0c48c4Sopenharmony_ci2012-05-09  Roland McGrath  <roland@hack.frob.com>
3095da0c48c4Sopenharmony_ci
3096da0c48c4Sopenharmony_ci	* elflint (check_sections): Allow zero sized sections at (filesz) end
3097da0c48c4Sopenharmony_ci	of segment. And make check overflow-proofed.
3098da0c48c4Sopenharmony_ci
3099da0c48c4Sopenharmony_ci2012-04-24  Mark Wielaard  <mjw@redhat.com>
3100da0c48c4Sopenharmony_ci
3101da0c48c4Sopenharmony_ci	* readelf.c (print_ops): Add DW_OP_GNU_push_tls_address,
3102da0c48c4Sopenharmony_ci	DW_OP_GNU_uinit and DW_OP_GNU_encoded_addr.
3103da0c48c4Sopenharmony_ci
3104da0c48c4Sopenharmony_ci2012-03-28  Roland McGrath  <roland@hack.frob.com>
3105da0c48c4Sopenharmony_ci
3106da0c48c4Sopenharmony_ci	* elflint.c (special_sections): Accept SHF_INFO_LINK for reloc sections.
3107da0c48c4Sopenharmony_ci
3108da0c48c4Sopenharmony_ci2012-03-28  Mark Wielaard  <mjw@redhat.com>
3109da0c48c4Sopenharmony_ci
3110da0c48c4Sopenharmony_ci	* readelf.c (print_debug_abbrev_section): Check there is Dwarf
3111da0c48c4Sopenharmony_ci	section data.
3112da0c48c4Sopenharmony_ci	(print_debug_str_section): Likewise.
3113da0c48c4Sopenharmony_ci
3114da0c48c4Sopenharmony_ci2012-03-21  Mark Wielaard  <mjw@redhat.com>
3115da0c48c4Sopenharmony_ci
3116da0c48c4Sopenharmony_ci	* readelf.c (print_gdb_index_section): Accept version 6.
3117da0c48c4Sopenharmony_ci
3118da0c48c4Sopenharmony_ci2012-01-31  Mark Wielaard  <mjw@redhat.com>
3119da0c48c4Sopenharmony_ci
3120da0c48c4Sopenharmony_ci	* readelf.c (attr_callback): Don't special case DW_FORM_sec_offset.
3121da0c48c4Sopenharmony_ci
3122da0c48c4Sopenharmony_ci2012-01-21  Ulrich Drepper  <drepper@gmail.com>
3123da0c48c4Sopenharmony_ci
3124da0c48c4Sopenharmony_ci	* addr2line.c: Update copyright year.
3125da0c48c4Sopenharmony_ci	* ar.c: Likewise.
3126da0c48c4Sopenharmony_ci	* elfcmp.c: Likewise.
3127da0c48c4Sopenharmony_ci	* elflint.c: Likewise.
3128da0c48c4Sopenharmony_ci	* findtextrel.c: Likewise.
3129da0c48c4Sopenharmony_ci	* ld.c: Likewise.
3130da0c48c4Sopenharmony_ci	* nm.c: Likewise.
3131da0c48c4Sopenharmony_ci	* objdump.c: Likewise.
3132da0c48c4Sopenharmony_ci	* ranlib.c: Likewise.
3133da0c48c4Sopenharmony_ci	* readelf.c: Likewise.
3134da0c48c4Sopenharmony_ci	* size.c: Likewise.
3135da0c48c4Sopenharmony_ci	* strings.c: Likewise.
3136da0c48c4Sopenharmony_ci	* strip.c: Likewise.
3137da0c48c4Sopenharmony_ci	* unstrip.c: Likewise.
3138da0c48c4Sopenharmony_ci
3139da0c48c4Sopenharmony_ci	* nm.c (argp_children): Define.
3140da0c48c4Sopenharmony_ci	(argp): Hook up argp_children.
3141da0c48c4Sopenharmony_ci	(handle_ar): Optimize puts call.
3142da0c48c4Sopenharmony_ci	(show_symbols_bsd): Use positional parameters to also print color
3143da0c48c4Sopenharmony_ci	codes.  Don't print STT_FILE symbols.
3144da0c48c4Sopenharmony_ci	* objdump.c (options): Improve help text.
3145da0c48c4Sopenharmony_ci	(argp_children): Define.
3146da0c48c4Sopenharmony_ci	(argp): Hook up argp_children.
3147da0c48c4Sopenharmony_ci	(disasm_info): Add elements for color codes.
3148da0c48c4Sopenharmony_ci	(disasm_output): Print color codes as well.
3149da0c48c4Sopenharmony_ci	(show_disasm): Set up disasm_info data for callback.
3150da0c48c4Sopenharmony_ci
3151da0c48c4Sopenharmony_ci2012-01-20  Roland McGrath  <roland@hack.frob.com>
3152da0c48c4Sopenharmony_ci
3153da0c48c4Sopenharmony_ci	* arlib-argp.c (arlib_deterministic_output): Initialize from
3154da0c48c4Sopenharmony_ci	configured value.
3155da0c48c4Sopenharmony_ci	(help_filter): New function.
3156da0c48c4Sopenharmony_ci	(argp): Use it.
3157da0c48c4Sopenharmony_ci
3158da0c48c4Sopenharmony_ci	* ar.c (main): Handle oper_none as usage error.
3159da0c48c4Sopenharmony_ci
3160da0c48c4Sopenharmony_ci	* arlib-argp.c (options, parse_opt): Grok -U as inverse of -D.
3161da0c48c4Sopenharmony_ci
3162da0c48c4Sopenharmony_ci	* ranlib.c (argp): Use arlib_argp_children.
3163da0c48c4Sopenharmony_ci
3164da0c48c4Sopenharmony_ci	* arlib.c (arlib_init): Obey arlib_deterministic_output.
3165da0c48c4Sopenharmony_ci
3166da0c48c4Sopenharmony_ci	* arlib-argp.c: New file.
3167da0c48c4Sopenharmony_ci	* Makefile.am (libar_a_SOURCES): Add it.
3168da0c48c4Sopenharmony_ci	* arlib.h (arlib_deterministic_output, arlib_argp_children):
3169da0c48c4Sopenharmony_ci	Declare new variables.
3170da0c48c4Sopenharmony_ci	* ar.c (deterministic_output): Variable removed.
3171da0c48c4Sopenharmony_ci	(do_oper_insert): Use arlib_deterministic_output instead.
3172da0c48c4Sopenharmony_ci	(options, parse_opt): Don't handle -D here.  Add group numbers.
3173da0c48c4Sopenharmony_ci	(argp): Use arlib_argp_children.
3174da0c48c4Sopenharmony_ci
3175da0c48c4Sopenharmony_ci2011-12-20  Roland McGrath  <roland@hack.frob.com>
3176da0c48c4Sopenharmony_ci
3177da0c48c4Sopenharmony_ci	* readelf.c (print_debug): Initialize DUMMY_DBG.elf.
3178da0c48c4Sopenharmony_ci	Reported by Karel Klic <kklic@redhat.com>.
3179da0c48c4Sopenharmony_ci
3180da0c48c4Sopenharmony_ci2011-11-05  Roland McGrath  <roland@hack.frob.com>
3181da0c48c4Sopenharmony_ci
3182da0c48c4Sopenharmony_ci	* ar.c (deterministic_output): New flag variable.
3183da0c48c4Sopenharmony_ci	(options, parse_opt): Grok -D to set it.
3184da0c48c4Sopenharmony_ci	(do_oper_insert): When set, use zero from mtime, uid, and gid.
3185da0c48c4Sopenharmony_ci
3186da0c48c4Sopenharmony_ci	* ar.c (do_oper_insert): Fix check on elf_rawfile return value.
3187da0c48c4Sopenharmony_ci
3188da0c48c4Sopenharmony_ci2011-10-04  Marek Polacek  <mpolacek@redhat.com>
3189da0c48c4Sopenharmony_ci
3190da0c48c4Sopenharmony_ci	* readelf.c (register_info): Assume the right size of an array.
3191da0c48c4Sopenharmony_ci
3192da0c48c4Sopenharmony_ci2011-10-03  Ulrich Drepper  <drepper@gmail.com>
3193da0c48c4Sopenharmony_ci
3194da0c48c4Sopenharmony_ci	* nm.c: Recognize option --mark-special.  Still recognize --mark-weak
3195da0c48c4Sopenharmony_ci	but don't show it in help anymore.
3196da0c48c4Sopenharmony_ci	(mark_special): Renamed from mark_weak.
3197da0c48c4Sopenharmony_ci	(parse_opt): Adjust.
3198da0c48c4Sopenharmony_ci	(class_type_char): Take additional parameters for ELF file and ELF
3199da0c48c4Sopenharmony_ci	header.  Treat TLS symbols like objects.
3200da0c48c4Sopenharmony_ci	In case of D symbols, show u for unique symbols, R for symbols in
3201da0c48c4Sopenharmony_ci	read-only sections, B for symbols in BSS sections.
3202da0c48c4Sopenharmony_ci	(show_symbols_bsd): Take additional parameters for ELF file and ELF
3203da0c48c4Sopenharmony_ci	header.  Adjust for class_type_char change.  Show TLS symbols with
3204da0c48c4Sopenharmony_ci	@ after them in case --mark-special is selected.
3205da0c48c4Sopenharmony_ci	(show_symbols_posix): Likewise.
3206da0c48c4Sopenharmony_ci	(show_symbols): Adjust calls to show_symbols_bsd and
3207da0c48c4Sopenharmony_ci	show_symbols_posix.
3208da0c48c4Sopenharmony_ci	(show_symbols_sysv): Avoid printing address and size for undefined
3209da0c48c4Sopenharmony_ci	symbols.  Don't print initial special entry and section entries.
3210da0c48c4Sopenharmony_ci
3211da0c48c4Sopenharmony_ci2011-10-02  Ulrich Drepper  <drepper@gmail.com>
3212da0c48c4Sopenharmony_ci
3213da0c48c4Sopenharmony_ci	* Makefile.am (demanglelib): Define.
3214da0c48c4Sopenharmony_ci	(nm_LDADD): Add demanglelib.
3215da0c48c4Sopenharmony_ci	* nm.c (options): Add -C option.
3216da0c48c4Sopenharmony_ci	(demangle): Define as global variable.
3217da0c48c4Sopenharmony_ci	(parse_opt): Recognize -C.
3218da0c48c4Sopenharmony_ci	(show_symbols_sysv): Handle demangling.
3219da0c48c4Sopenharmony_ci	(show_symbols_bad): Likewise.
3220da0c48c4Sopenharmony_ci	(show_symbols_posix): Likewise.
3221da0c48c4Sopenharmony_ci	(show_symbols): Likewise.
3222da0c48c4Sopenharmony_ci
3223da0c48c4Sopenharmony_ci2011-07-09  Roland McGrath  <roland@hack.frob.com>
3224da0c48c4Sopenharmony_ci
3225da0c48c4Sopenharmony_ci	* readelf.c (options, parse_opt): Grok -W/--wide and ignore it.
3226da0c48c4Sopenharmony_ci
3227da0c48c4Sopenharmony_ci	* ar.c (parse_opt): Grok -u.
3228da0c48c4Sopenharmony_ci
3229da0c48c4Sopenharmony_ci2011-05-30  Mark Wielaard  <mjw@redhat.com>
3230da0c48c4Sopenharmony_ci
3231da0c48c4Sopenharmony_ci	* strip.c (relocate): Make offset check overflow-proof.
3232da0c48c4Sopenharmony_ci
3233da0c48c4Sopenharmony_ci2011-05-23  Mark Wielaard  <mjw@redhat.com>
3234da0c48c4Sopenharmony_ci
3235da0c48c4Sopenharmony_ci	* strip.c (relocate): Take new arguments is_rela to indicate
3236da0c48c4Sopenharmony_ci	whether the relocation is from a SHT_REL or SHT_RELA section.
3237da0c48c4Sopenharmony_ci	Relocate against any debug section symbol, not just STT_SECTION
3238da0c48c4Sopenharmony_ci	symbols. For SHT_REL relocations, fetch addend from offset and
3239da0c48c4Sopenharmony_ci	add it to symbol value if not zero.
3240da0c48c4Sopenharmony_ci
3241da0c48c4Sopenharmony_ci2011-05-23  Mark Wielaard  <mjw@redhat.com>
3242da0c48c4Sopenharmony_ci
3243da0c48c4Sopenharmony_ci	* strip.c (OPT_RELOC_DEBUG): New option.
3244da0c48c4Sopenharmony_ci	(argp_option): Add new --reloc-debug-sections option.
3245da0c48c4Sopenharmony_ci	(main): Check new option.
3246da0c48c4Sopenharmony_ci	(parse_opt): Likewise.
3247da0c48c4Sopenharmony_ci	(handle_elf): Remove any relocations between debug sections
3248da0c48c4Sopenharmony_ci	in ET_REL for the debug file when requested.
3249da0c48c4Sopenharmony_ci
3250da0c48c4Sopenharmony_ci2011-05-18  Mark Wielaard  <mjw@redhat.com>
3251da0c48c4Sopenharmony_ci
3252da0c48c4Sopenharmony_ci	* strip.c (handle_elf): Make sure all sections of a removed group
3253da0c48c4Sopenharmony_ci	section are removed too. Don't discard SHT_GROUP sections, copy
3254da0c48c4Sopenharmony_ci	section table before it gets modified. Section group signature
3255da0c48c4Sopenharmony_ci	symbols don't have to be retained.
3256da0c48c4Sopenharmony_ci
3257da0c48c4Sopenharmony_ci2011-05-16  Jakub Jelinek  <jakub@redhat.com>
3258da0c48c4Sopenharmony_ci
3259da0c48c4Sopenharmony_ci	* readelf.c (print_ops): Handle DW_OP_GNU_const_type,
3260da0c48c4Sopenharmony_ci	DW_OP_GNU_regval_type, DW_OP_GNU_deref_type, DW_OP_GNU_convert
3261da0c48c4Sopenharmony_ci	and DW_OP_GNU_reinterpret.
3262da0c48c4Sopenharmony_ci
3263da0c48c4Sopenharmony_ci2011-05-17  Mark Wielaard  <mjw@redhat.com>
3264da0c48c4Sopenharmony_ci
3265da0c48c4Sopenharmony_ci	* readelf.c (dwarf_tag_string): Fixup DW_TAG_GNU_call_site and
3266da0c48c4Sopenharmony_ci	DW_TAG_GNU_call_site_parameter return strings.
3267da0c48c4Sopenharmony_ci
3268da0c48c4Sopenharmony_ci2011-05-11  Marek Polacek  <mpolacek@redhat.com>
3269da0c48c4Sopenharmony_ci
3270da0c48c4Sopenharmony_ci	* nm.c (show_symbols_sysv): Remove unused if/else, remove
3271da0c48c4Sopenharmony_ci	unused `prefix' and `fname' parameters.
3272da0c48c4Sopenharmony_ci
3273da0c48c4Sopenharmony_ci2011-05-07  Marek Polacek  <mpolacek@redhat.com>
3274da0c48c4Sopenharmony_ci
3275da0c48c4Sopenharmony_ci	* unstrip.c (compare_sections_nonrel): Mark this function as static.
3276da0c48c4Sopenharmony_ci
3277da0c48c4Sopenharmony_ci2011-04-26  Mark Wielaard  <mjw@redhat.com>
3278da0c48c4Sopenharmony_ci
3279da0c48c4Sopenharmony_ci	* readelf.c (handle_notes_data): Call ebl_object_note_type_name
3280da0c48c4Sopenharmony_ci	with note name.
3281da0c48c4Sopenharmony_ci
3282da0c48c4Sopenharmony_ci2011-04-14  Mark Wielaard  <mjw@redhat.com>
3283da0c48c4Sopenharmony_ci
3284da0c48c4Sopenharmony_ci	* readelf.c (options): Add gdb_index.
3285da0c48c4Sopenharmony_ci	(section_e): Define section_gdb_index.
3286da0c48c4Sopenharmony_ci	(parse_opt): Recognize gdb_index debug-dump argument.
3287da0c48c4Sopenharmony_ci	(print_gdb_index_section): New function.
3288da0c48c4Sopenharmony_ci	(print_debug): Add gdb_index to debug_sections.
3289da0c48c4Sopenharmony_ci
3290da0c48c4Sopenharmony_ci2011-03-24  Petr Machata  <pmachata@redhat.com>
3291da0c48c4Sopenharmony_ci
3292da0c48c4Sopenharmony_ci	* readelf.c (print_debug_line_section): Emit initial space for all
3293da0c48c4Sopenharmony_ci	opcode lines.  Print offset in front of each opcode.
3294da0c48c4Sopenharmony_ci
3295da0c48c4Sopenharmony_ci2011-03-22  Marek Polacek  <mpolacek@redhat.com>
3296da0c48c4Sopenharmony_ci
3297da0c48c4Sopenharmony_ci	* readelf.c (handle_dynamic): Don't segfault at DT_PLTREL case.
3298da0c48c4Sopenharmony_ci
3299da0c48c4Sopenharmony_ci2011-03-22  Mark Wielaard  <mjw@redhat.com>
3300da0c48c4Sopenharmony_ci
3301da0c48c4Sopenharmony_ci	* readelf.c (dwarf_tag_string): Support DW_TAG_GNU_call_site
3302da0c48c4Sopenharmony_ci	and DW_TAG_GNU_call_site_parameter.
3303da0c48c4Sopenharmony_ci	(dwarf_attr_string): Support DW_AT_GNU_call_site_value,
3304da0c48c4Sopenharmony_ci	DW_AT_GNU_call_site_data_value,
3305da0c48c4Sopenharmony_ci	DW_AT_GNU_call_site_target,
3306da0c48c4Sopenharmony_ci	DW_AT_GNU_call_site_target_clobbered,
3307da0c48c4Sopenharmony_ci	DW_AT_GNU_tail_call,
3308da0c48c4Sopenharmony_ci	DW_AT_GNU_all_tail_call_sites,
3309da0c48c4Sopenharmony_ci	DW_AT_GNU_all_call_sites,
3310da0c48c4Sopenharmony_ci	and DW_AT_GNU_all_source_call_sites.
3311da0c48c4Sopenharmony_ci	(print_ops): Handle DW_OP_GNU_entry_value.
3312da0c48c4Sopenharmony_ci	(attr_callback): Handle DW_AT_GNU_call_site_value,
3313da0c48c4Sopenharmony_ci	DW_AT_GNU_call_site_data_value,
3314da0c48c4Sopenharmony_ci	DW_AT_GNU_call_site_target,
3315da0c48c4Sopenharmony_ci	and DW_AT_GNU_call_site_target_clobbered.
3316da0c48c4Sopenharmony_ci
3317da0c48c4Sopenharmony_ci2011-03-10  Mark Wielaard  <mjw@redhat.com>
3318da0c48c4Sopenharmony_ci
3319da0c48c4Sopenharmony_ci	* elflint.c (check_symtab): Use ebl_check_st_other_bits.
3320da0c48c4Sopenharmony_ci
3321da0c48c4Sopenharmony_ci2011-02-27  Jan Kratochvil  <jan.kratochvil@redhat.com>
3322da0c48c4Sopenharmony_ci
3323da0c48c4Sopenharmony_ci	* readelf.c (reset_listptr): Clear TABLE->TABLE.
3324da0c48c4Sopenharmony_ci
3325da0c48c4Sopenharmony_ci2011-02-25  Mark Wielaard  <mjw@redhat.com>
3326da0c48c4Sopenharmony_ci
3327da0c48c4Sopenharmony_ci	* readelf.c (dwarf_attr_string): Add DW_AT_GNU_* handling.
3328da0c48c4Sopenharmony_ci	(dwarf_form_string): Properly format and return unknown form.
3329da0c48c4Sopenharmony_ci
3330da0c48c4Sopenharmony_ci2011-02-23  Roland McGrath  <roland@redhat.com>
3331da0c48c4Sopenharmony_ci
3332da0c48c4Sopenharmony_ci	* readelf.c (section_name): New function.
3333da0c48c4Sopenharmony_ci	(print_debug_abbrev_section): Use it instead of constant.
3334da0c48c4Sopenharmony_ci	(print_debug_aranges_section): Likewise.
3335da0c48c4Sopenharmony_ci	(print_debug_ranges_section): Likewise.
3336da0c48c4Sopenharmony_ci	(print_debug_units): Likewise.
3337da0c48c4Sopenharmony_ci	(print_debug_line_section): Likewise.
3338da0c48c4Sopenharmony_ci	(print_debug_loc_section): Likewise.
3339da0c48c4Sopenharmony_ci	(print_debug_macinfo_section): Likewise.
3340da0c48c4Sopenharmony_ci	(print_debug_pubnames_section): Likewise.
3341da0c48c4Sopenharmony_ci	(print_debug_str_section): Likewise.
3342da0c48c4Sopenharmony_ci	(print_debug) [USE_ZLIB]: Match .zdebug_* sections too.
3343da0c48c4Sopenharmony_ci	(print_debug_abbrev_section): Use decoded d_size, not sh_size.
3344da0c48c4Sopenharmony_ci	(print_debug_str_section): Likewise.
3345da0c48c4Sopenharmony_ci
3346da0c48c4Sopenharmony_ci	* readelf.c (dwarf_attr_string): Grok DW_AT_GNU_odr_signature.
3347da0c48c4Sopenharmony_ci
3348da0c48c4Sopenharmony_ci2011-02-11  Roland McGrath  <roland@redhat.com>
3349da0c48c4Sopenharmony_ci
3350da0c48c4Sopenharmony_ci	* elfcmp.c (verbose): New variable.
3351da0c48c4Sopenharmony_ci	(options, parse_opt): Grok -l/--verbose to set it.
3352da0c48c4Sopenharmony_ci	(main): Under -l, keep going after first difference.
3353da0c48c4Sopenharmony_ci
3354da0c48c4Sopenharmony_ci	* elfcmp.c (ignore_build_id): New variable.
3355da0c48c4Sopenharmony_ci	(options, parse_opt): Grok --ignore-build-id to set it.
3356da0c48c4Sopenharmony_ci	(main): For SHT_NOTE sections, compare note details rather than raw
3357da0c48c4Sopenharmony_ci	bytes.  Under --ignore-build-id, don't complain about differing build
3358da0c48c4Sopenharmony_ci	ID contents if lengths match.
3359da0c48c4Sopenharmony_ci
3360da0c48c4Sopenharmony_ci2011-02-08  Roland McGrath  <roland@redhat.com>
3361da0c48c4Sopenharmony_ci
3362da0c48c4Sopenharmony_ci	* ldscript.y (filename_id_star): Remove unused variable.
3363da0c48c4Sopenharmony_ci
3364da0c48c4Sopenharmony_ci	* unstrip.c (copy_elided_sections): Remove unused variable.
3365da0c48c4Sopenharmony_ci
3366da0c48c4Sopenharmony_ci	* elflint.c (check_dynamic): Remove unused variables.
3367da0c48c4Sopenharmony_ci
3368da0c48c4Sopenharmony_ci	* elflint.c (check_symtab): Warn about missing xndx section only once.
3369da0c48c4Sopenharmony_ci
3370da0c48c4Sopenharmony_ci	* ldgeneric.c (check_for_duplicate2): Remove unused variable.
3371da0c48c4Sopenharmony_ci
3372da0c48c4Sopenharmony_ci2011-01-06  Roland McGrath  <roland@redhat.com>
3373da0c48c4Sopenharmony_ci
3374da0c48c4Sopenharmony_ci	* strip.c (handle_elf): Under --strip-sections, remove all
3375da0c48c4Sopenharmony_ci	non-allocated sections and never generate .gnu_debuglink.
3376da0c48c4Sopenharmony_ci
3377da0c48c4Sopenharmony_ci2011-01-04  Roland McGrath  <roland@redhat.com>
3378da0c48c4Sopenharmony_ci
3379da0c48c4Sopenharmony_ci	* strip.c (remove_shdrs): New variable.
3380da0c48c4Sopenharmony_ci	(options, parse_opt): Grok --strip-sections to set it.
3381da0c48c4Sopenharmony_ci	(handle_elf): When that's set, truncate off .shstrtab and shdrs.
3382da0c48c4Sopenharmony_ci
3383da0c48c4Sopenharmony_ci2010-11-10  Roland McGrath  <roland@redhat.com>
3384da0c48c4Sopenharmony_ci
3385da0c48c4Sopenharmony_ci	* findtextrel.c (process_file): Don't assume order of sections.
3386da0c48c4Sopenharmony_ci	Reported by Mike Hommey <mh@glandium.org>.
3387da0c48c4Sopenharmony_ci
3388da0c48c4Sopenharmony_ci2010-07-26  Roland McGrath  <roland@redhat.com>
3389da0c48c4Sopenharmony_ci
3390da0c48c4Sopenharmony_ci	* readelf.c (print_ops): Handle DW_OP_GNU_implicit_pointer.
3391da0c48c4Sopenharmony_ci
3392da0c48c4Sopenharmony_ci2010-08-30  Roland McGrath  <roland@redhat.com>
3393da0c48c4Sopenharmony_ci
3394da0c48c4Sopenharmony_ci	Print .debug_loc/.debug_ranges with cognizance of actual DIE uses.
3395da0c48c4Sopenharmony_ci	* readelf.c (parse_opt): Add section_info to implicit_debug_sections
3396da0c48c4Sopenharmony_ci	for ranges, loc.
3397da0c48c4Sopenharmony_ci	(struct listptr, struct listptr_table): New types.
3398da0c48c4Sopenharmony_ci	(compare_listptr, reset_listptr, sort_listptr): New functions.
3399da0c48c4Sopenharmony_ci	(notice_listptr, skip_listptr_hole): New functions.
3400da0c48c4Sopenharmony_ci	(struct attrcb_args): Add silent member.
3401da0c48c4Sopenharmony_ci	(attr_callback): Call notice_listptr for loclistptr and rangelistptr.
3402da0c48c4Sopenharmony_ci	Suppress output if silent, but still call notice_listptr.
3403da0c48c4Sopenharmony_ci	(print_debug_units): Suppress output if section_info not requested.
3404da0c48c4Sopenharmony_ci	(print_debug_loc_section): Call sort_listptr, skip_listptr_hole.
3405da0c48c4Sopenharmony_ci	(print_debug_ranges_section): Likewise.
3406da0c48c4Sopenharmony_ci	(print_debug): Call reset_listptr on both tables.
3407da0c48c4Sopenharmony_ci
3408da0c48c4Sopenharmony_ci	* readelf.c (print_debug_ranges_section): Print empty list.
3409da0c48c4Sopenharmony_ci	(print_debug_loc_section): Likewise.
3410da0c48c4Sopenharmony_ci
3411da0c48c4Sopenharmony_ci	* readelf.c (print_debug_loc_section): Check for bogus length
3412da0c48c4Sopenharmony_ci	before calling print_ops.
3413da0c48c4Sopenharmony_ci	(print_ops): Check harder for bogus data that would read off end.
3414da0c48c4Sopenharmony_ci
3415da0c48c4Sopenharmony_ci2010-08-11  Roland McGrath  <roland@redhat.com>
3416da0c48c4Sopenharmony_ci
3417da0c48c4Sopenharmony_ci	* readelf.c (for_each_section_argument): Process all sections with
3418da0c48c4Sopenharmony_ci	matching name, not just the first.
3419da0c48c4Sopenharmony_ci
3420da0c48c4Sopenharmony_ci2010-07-26  Roland McGrath  <roland@redhat.com>
3421da0c48c4Sopenharmony_ci
3422da0c48c4Sopenharmony_ci	* readelf.c (print_ops): Take new argument for CU version.
3423da0c48c4Sopenharmony_ci	Fix DW_OP_call_ref decoding to depend on it.
3424da0c48c4Sopenharmony_ci	(print_debug_loc_section): Update caller.
3425da0c48c4Sopenharmony_ci	(print_cfa_program): Take new argument, pass it down.
3426da0c48c4Sopenharmony_ci	(print_debug_frame_section): Update caller.
3427da0c48c4Sopenharmony_ci	(struct attrcb_args): New member version.
3428da0c48c4Sopenharmony_ci	(print_debug_units): Initialize it.
3429da0c48c4Sopenharmony_ci
3430da0c48c4Sopenharmony_ci2010-07-02  Roland McGrath  <roland@redhat.com>
3431da0c48c4Sopenharmony_ci
3432da0c48c4Sopenharmony_ci	* readelf.c (print_debug_frame_section): Use format_dwarf_addr for
3433da0c48c4Sopenharmony_ci	initial_location.
3434da0c48c4Sopenharmony_ci
3435da0c48c4Sopenharmony_ci2010-06-30  Roland McGrath  <roland@redhat.com>
3436da0c48c4Sopenharmony_ci
3437da0c48c4Sopenharmony_ci	* strings.c (main): Use STDIN_FILENO, not STDOUT_FILENO.
3438da0c48c4Sopenharmony_ci	Ignore st_size for a non-S_ISREG file descriptor.
3439da0c48c4Sopenharmony_ci	(read_block): Move assert after no-mmap bail-out.
3440da0c48c4Sopenharmony_ci	(read_block_no_mmap): Fix size calculations for moving buffer remnant.
3441da0c48c4Sopenharmony_ci
3442da0c48c4Sopenharmony_ci2010-06-22  Roland McGrath  <roland@redhat.com>
3443da0c48c4Sopenharmony_ci
3444da0c48c4Sopenharmony_ci	* readelf.c (print_debug_line_section): Fix braino in DW_LNS_set_isa.
3445da0c48c4Sopenharmony_ci
3446da0c48c4Sopenharmony_ci2010-06-21  Roland McGrath  <roland@redhat.com>
3447da0c48c4Sopenharmony_ci
3448da0c48c4Sopenharmony_ci	* readelf.c (dwarf_tag_string): Handle new v4 tags.
3449da0c48c4Sopenharmony_ci	(dwarf_attr_string): Add new attributes.
3450da0c48c4Sopenharmony_ci	(dwarf_tag_string): Handle DW_TAG_GNU_*.
3451da0c48c4Sopenharmony_ci
3452da0c48c4Sopenharmony_ci	* readelf.c (print_ops): Use 64-bit types for LEB128 operands.
3453da0c48c4Sopenharmony_ci	(print_cfa_program): Likewise.
3454da0c48c4Sopenharmony_ci
3455da0c48c4Sopenharmony_ci2010-06-20  Roland McGrath  <roland@redhat.com>
3456da0c48c4Sopenharmony_ci
3457da0c48c4Sopenharmony_ci	* readelf.c (print_debug_units): New function, broken out of ...
3458da0c48c4Sopenharmony_ci	(print_debug_info_section): ... here.  Call it.
3459da0c48c4Sopenharmony_ci	(print_debug_types_section): New function.
3460da0c48c4Sopenharmony_ci	(enum section_e): Add section_types alias for section_info.
3461da0c48c4Sopenharmony_ci	(print_debug): Add types to the sections table.
3462da0c48c4Sopenharmony_ci
3463da0c48c4Sopenharmony_ci	* readelf.c (print_debug_frame_section): Handle version 4 format.
3464da0c48c4Sopenharmony_ci
3465da0c48c4Sopenharmony_ci	* readelf.c (print_debug_line_section): Handle version 4 format.
3466da0c48c4Sopenharmony_ci
3467da0c48c4Sopenharmony_ci2010-06-14  Roland McGrath  <roland@redhat.com>
3468da0c48c4Sopenharmony_ci
3469da0c48c4Sopenharmony_ci	* unstrip.c (copy_elided_sections): Make sure all sections' data have
3470da0c48c4Sopenharmony_ci	been read in before we write anything out.
3471da0c48c4Sopenharmony_ci
3472da0c48c4Sopenharmony_ci2010-06-04  Roland McGrath  <roland@redhat.com>
3473da0c48c4Sopenharmony_ci
3474da0c48c4Sopenharmony_ci	* unstrip.c (update_shdr): New function.
3475da0c48c4Sopenharmony_ci	(update_sh_size): Call it instead of gelf_update_shdr.
3476da0c48c4Sopenharmony_ci	(adjust_relocs, add_new_section_symbols): Likewise.
3477da0c48c4Sopenharmony_ci	(new_shstrtab, copy_elided_sections): Likewise.
3478da0c48c4Sopenharmony_ci
3479da0c48c4Sopenharmony_ci	* unstrip.c (copy_elided_sections): Bail if stripped file has more
3480da0c48c4Sopenharmony_ci	sections than unstripped file, rather than getting confused later.
3481da0c48c4Sopenharmony_ci
3482da0c48c4Sopenharmony_ci2010-06-01  Roland McGrath  <roland@redhat.com>
3483da0c48c4Sopenharmony_ci
3484da0c48c4Sopenharmony_ci	* readelf.c (dwarf_form_string): Handle DWARF 4 forms.
3485da0c48c4Sopenharmony_ci	(attr_callback): Handle DW_FORM_flag_present, DW_FORM_exprloc,
3486da0c48c4Sopenharmony_ci	DW_FORM_sec_offset, DW_FORM_ref_sig8.
3487da0c48c4Sopenharmony_ci
3488da0c48c4Sopenharmony_ci	* readelf.c (print_debug): Don't bail if libdw setup fails.
3489da0c48c4Sopenharmony_ci	Suppress complaint if we only want .eh_frame anyway.
3490da0c48c4Sopenharmony_ci
3491da0c48c4Sopenharmony_ci2010-05-28  Ulrich Drepper  <drepper@redhat.com>
3492da0c48c4Sopenharmony_ci
3493da0c48c4Sopenharmony_ci	* readelf.c (attr_callback): Also print form information.
3494da0c48c4Sopenharmony_ci
3495da0c48c4Sopenharmony_ci2010-05-19  Roland McGrath  <roland@redhat.com>
3496da0c48c4Sopenharmony_ci
3497da0c48c4Sopenharmony_ci	* addr2line.c (find_symbol): Short-circuit on empty name.
3498da0c48c4Sopenharmony_ci	(handle_address): Handle SYMBOL with no +OFFSET.
3499da0c48c4Sopenharmony_ci
3500da0c48c4Sopenharmony_ci2010-05-08  Roland McGrath  <roland@redhat.com>
3501da0c48c4Sopenharmony_ci
3502da0c48c4Sopenharmony_ci	* readelf.c (print_ops): Take new arg OFFSET_SIZE.
3503da0c48c4Sopenharmony_ci	Use that for DW_OP_call_ref, not ADDRSIZE.
3504da0c48c4Sopenharmony_ci	(print_cfa_program): Update caller.
3505da0c48c4Sopenharmony_ci	(struct attrcb_args): Add offset_size field.
3506da0c48c4Sopenharmony_ci	(attr_callback): Use it for print_ops call.
3507da0c48c4Sopenharmony_ci	(print_debug_info_section): Initialize it.
3508da0c48c4Sopenharmony_ci	(print_ops): Likewise.
3509da0c48c4Sopenharmony_ci
3510da0c48c4Sopenharmony_ci2010-04-14  Roland McGrath  <roland@redhat.com>
3511da0c48c4Sopenharmony_ci
3512da0c48c4Sopenharmony_ci	* readelf.c (handle_core_item): Fix bitmask printing.
3513da0c48c4Sopenharmony_ci
3514da0c48c4Sopenharmony_ci2010-04-06  Roland McGrath  <roland@redhat.com>
3515da0c48c4Sopenharmony_ci
3516da0c48c4Sopenharmony_ci	* ld.c (options): Fix some typos in messages.
3517da0c48c4Sopenharmony_ci	* elflint.c (check_scn_group, check_group): Likewise.
3518da0c48c4Sopenharmony_ci	* ldscript.y (add_id_list): Likewise.
3519da0c48c4Sopenharmony_ci	* readelf.c (print_hash_info): Add xgettext:no-c-format magic comment
3520da0c48c4Sopenharmony_ci	before translated string containing a literal %.
3521da0c48c4Sopenharmony_ci
3522da0c48c4Sopenharmony_ci2010-02-26  Roland McGrath  <roland@redhat.com>
3523da0c48c4Sopenharmony_ci
3524da0c48c4Sopenharmony_ci	* readelf.c (process_file): Don't leak an fd in failure case.
3525da0c48c4Sopenharmony_ci
3526da0c48c4Sopenharmony_ci2010-02-15  Roland McGrath  <roland@redhat.com>
3527da0c48c4Sopenharmony_ci
3528da0c48c4Sopenharmony_ci	* Makefile.am: Use config/eu.am for common stuff.
3529da0c48c4Sopenharmony_ci
3530da0c48c4Sopenharmony_ci	* readelf.c (print_debug_frame_section): Add a cast to avoid sign
3531da0c48c4Sopenharmony_ci	mismatch in comparison.
3532da0c48c4Sopenharmony_ci
3533da0c48c4Sopenharmony_ci2010-02-02  Roland McGrath  <roland@redhat.com>
3534da0c48c4Sopenharmony_ci
3535da0c48c4Sopenharmony_ci	* readelf.c (print_encoding_base): Handle DW_EH_PE_absptr (zero).
3536da0c48c4Sopenharmony_ci	(read_encoded): Likewise.
3537da0c48c4Sopenharmony_ci	(print_debug_frame_section): Check for bogus augmentation length.
3538da0c48c4Sopenharmony_ci	For P augmentation, use read_encoded, print the encoding description,
3539da0c48c4Sopenharmony_ci	and use hex for unsigned values.
3540da0c48c4Sopenharmony_ci
3541da0c48c4Sopenharmony_ci2010-01-15  Roland McGrath  <roland@redhat.com>
3542da0c48c4Sopenharmony_ci
3543da0c48c4Sopenharmony_ci	* ar.c: Include <sys/stat.h>.
3544da0c48c4Sopenharmony_ci	* elflint.c: Likewise.
3545da0c48c4Sopenharmony_ci	* readelf.c: Likewise.
3546da0c48c4Sopenharmony_ci	* strip.c: Likewise.
3547da0c48c4Sopenharmony_ci	* unstrip.c: Likewise
3548da0c48c4Sopenharmony_ci
3549da0c48c4Sopenharmony_ci2010-01-07  Roland McGrath  <roland@redhat.com>
3550da0c48c4Sopenharmony_ci
3551da0c48c4Sopenharmony_ci	* readelf.c (print_ehdr): Handle PN_XNUM.
3552da0c48c4Sopenharmony_ci	(phnum): New static variable.
3553da0c48c4Sopenharmony_ci	(process_elf_file): Set it with elf_getphdrnum.
3554da0c48c4Sopenharmony_ci	(print_phdr): Use phnum instead of EHDR->e_phnum.
3555da0c48c4Sopenharmony_ci	(print_dynamic, handle_notes): Likewise.
3556da0c48c4Sopenharmony_ci	(handle_relocs_rel, handle_relocs_rela): Likewise.
3557da0c48c4Sopenharmony_ci
3558da0c48c4Sopenharmony_ci	* elfcmp.c (main): Use elf_getshdrnum and elf_getphdrnum.
3559da0c48c4Sopenharmony_ci
3560da0c48c4Sopenharmony_ci	* elflint.c (phnum): New static variable.
3561da0c48c4Sopenharmony_ci	(check_elf_header): Set it, handling PN_XNUM.
3562da0c48c4Sopenharmony_ci	Use that in place of EHDR->e_phnum throughout.
3563da0c48c4Sopenharmony_ci	(check_symtab, check_reloc_shdr, check_dynamic): Likewise.
3564da0c48c4Sopenharmony_ci	(unknown_dependency_p, check_sections, check_program_header): Likewise.
3565da0c48c4Sopenharmony_ci
3566da0c48c4Sopenharmony_ci2010-01-05  Roland McGrath  <roland@redhat.com>
3567da0c48c4Sopenharmony_ci
3568da0c48c4Sopenharmony_ci	* readelf.c (dwarf_attr_string): Match DW_AT_GNU_vector and
3569da0c48c4Sopenharmony_ci	DW_AT_GNU_template_name.
3570da0c48c4Sopenharmony_ci
3571da0c48c4Sopenharmony_ci2010-01-04  Roland McGrath  <roland@redhat.com>
3572da0c48c4Sopenharmony_ci
3573da0c48c4Sopenharmony_ci	* readelf.c (handle_notes_data): Grab NT_AUXV only for name "CORE".
3574da0c48c4Sopenharmony_ci	(handle_core_note): Pass NHDR and NAME to ebl_core_note.
3575da0c48c4Sopenharmony_ci	(handle_core_item): Handle .format of '\n' as \n-separated strings.
3576da0c48c4Sopenharmony_ci
3577da0c48c4Sopenharmony_ci	* readelf.c (implicit_debug_sections): New variable.
3578da0c48c4Sopenharmony_ci	(parse_opt): Set it instead of print_debug_sections for -a.
3579da0c48c4Sopenharmony_ci	OR them together for print_debug check.
3580da0c48c4Sopenharmony_ci	(print_debug): OR them together for section check.
3581da0c48c4Sopenharmony_ci
3582da0c48c4Sopenharmony_ci	* readelf.c (options): Repartition into set implied by -a and others.
3583da0c48c4Sopenharmony_ci	Correct -a text to match reality.
3584da0c48c4Sopenharmony_ci
3585da0c48c4Sopenharmony_ci	* readelf.c (struct section_argument): Add bool member 'implicit'.
3586da0c48c4Sopenharmony_ci	(parse_opt): Set it for -a cases, clear it for -x args.
3587da0c48c4Sopenharmony_ci	(for_each_section_argument): Don't complain about a missing section by
3588da0c48c4Sopenharmony_ci	name if it's implicit.
3589da0c48c4Sopenharmony_ci
3590da0c48c4Sopenharmony_ci2009-11-16  Roland McGrath  <roland@redhat.com>
3591da0c48c4Sopenharmony_ci
3592da0c48c4Sopenharmony_ci	* readelf.c (print_string_section): Punt SHT_NOBITS like empty
3593da0c48c4Sopenharmony_ci	sections, just as dump_data_section already does.
3594da0c48c4Sopenharmony_ci
3595da0c48c4Sopenharmony_ci2009-09-21  Ulrich Drepper  <drepper@redhat.com>
3596da0c48c4Sopenharmony_ci
3597da0c48c4Sopenharmony_ci	* elflint.c (special_sections): Allow MERGE and STRINGS flags to be
3598da0c48c4Sopenharmony_ci	set for .comment section.
3599da0c48c4Sopenharmony_ci	Patch by Mark Wielaard <mjw@redhat.com>.
3600da0c48c4Sopenharmony_ci
3601da0c48c4Sopenharmony_ci2009-09-08  Roland McGrath  <roland@redhat.com>
3602da0c48c4Sopenharmony_ci
3603da0c48c4Sopenharmony_ci	* ar.c (main): Fix typo in message format.
3604da0c48c4Sopenharmony_ci
3605da0c48c4Sopenharmony_ci2009-08-21  Roland McGrath  <roland@redhat.com>
3606da0c48c4Sopenharmony_ci
3607da0c48c4Sopenharmony_ci	* readelf.c (attr_callback): Use print_block only when we don't use
3608da0c48c4Sopenharmony_ci	print_ops.
3609da0c48c4Sopenharmony_ci
3610da0c48c4Sopenharmony_ci2009-08-14  Roland McGrath  <roland@redhat.com>
3611da0c48c4Sopenharmony_ci
3612da0c48c4Sopenharmony_ci	* ar.c (do_oper_extract): Use pathconf instead of statfs.
3613da0c48c4Sopenharmony_ci
3614da0c48c4Sopenharmony_ci2009-08-01  Ulrich Drepper  <drepper@redhat.com>
3615da0c48c4Sopenharmony_ci
3616da0c48c4Sopenharmony_ci	* debugpred.h: Add two most const.
3617da0c48c4Sopenharmony_ci
3618da0c48c4Sopenharmony_ci2009-07-26  Mark Wielaard  <mjw@redhat.com>
3619da0c48c4Sopenharmony_ci
3620da0c48c4Sopenharmony_ci	* elflint.c (check_note_data): Recognize NT_GNU_GOLD_VERSION.
3621da0c48c4Sopenharmony_ci
3622da0c48c4Sopenharmony_ci2009-07-25  Mark Wielaard  <mjw@redhat.com>
3623da0c48c4Sopenharmony_ci
3624da0c48c4Sopenharmony_ci	* Makefile.am (addr2line_LDADD): Add $(libelf).
3625da0c48c4Sopenharmony_ci
3626da0c48c4Sopenharmony_ci2009-07-24  Roland McGrath  <roland@redhat.com>
3627da0c48c4Sopenharmony_ci
3628da0c48c4Sopenharmony_ci	* readelf.c (print_block): New function.
3629da0c48c4Sopenharmony_ci	(print_ops): Use it.
3630da0c48c4Sopenharmony_ci	(attr_callback): Use it for DW_FORM_block* forms.
3631da0c48c4Sopenharmony_ci
3632da0c48c4Sopenharmony_ci2009-07-20  Mark Wielaard  <mjw@redhat.com>
3633da0c48c4Sopenharmony_ci
3634da0c48c4Sopenharmony_ci	* readelf.c (print_ops): Add handling of DW_OP_implicit_value
3635da0c48c4Sopenharmony_ci	and DW_OP_stack_value.
3636da0c48c4Sopenharmony_ci
3637da0c48c4Sopenharmony_ci2009-07-14  Ulrich Drepper  <drepper@redhat.com>
3638da0c48c4Sopenharmony_ci
3639da0c48c4Sopenharmony_ci	* elflint.c (check_elf_header): Allow Linux ABI.
3640da0c48c4Sopenharmony_ci	(check_symtab): Handle STB_GNU_UNIQUE.
3641da0c48c4Sopenharmony_ci
3642da0c48c4Sopenharmony_ci2009-07-08  Mark Wielaard  <mjw@redhat.com>
3643da0c48c4Sopenharmony_ci
3644da0c48c4Sopenharmony_ci	* readelf.c (attr_callback): Handle DW_Form constants for
3645da0c48c4Sopenharmony_ci	DW_AT_data_member_location.
3646da0c48c4Sopenharmony_ci
3647da0c48c4Sopenharmony_ci2009-07-06  Roland McGrath  <roland@redhat.com>
3648da0c48c4Sopenharmony_ci
3649da0c48c4Sopenharmony_ci	* readelf.c (register_info): New function.  Handle unknown register #s.
3650da0c48c4Sopenharmony_ci	(print_cfa_program): Use it.
3651da0c48c4Sopenharmony_ci	(handle_core_register, handle_core_registers): Likewise.
3652da0c48c4Sopenharmony_ci
3653da0c48c4Sopenharmony_ci2009-06-28  Roland McGrath  <roland@redhat.com>
3654da0c48c4Sopenharmony_ci
3655da0c48c4Sopenharmony_ci	* readelf.c (print_address_names): New static variable.
3656da0c48c4Sopenharmony_ci	(options, parse_opt): Grok -N/--numeric-addresses to clear it.
3657da0c48c4Sopenharmony_ci	(format_dwarf_addr): Don't look up name if !print_address_names.
3658da0c48c4Sopenharmony_ci
3659da0c48c4Sopenharmony_ci2009-06-13  Ulrich Drepper  <drepper@redhat.com>
3660da0c48c4Sopenharmony_ci
3661da0c48c4Sopenharmony_ci	* ldgeneric.c: Don't use deprecated libelf functions.
3662da0c48c4Sopenharmony_ci	* nm.c: Likewise.
3663da0c48c4Sopenharmony_ci	* objdump.c: Likewise.
3664da0c48c4Sopenharmony_ci	* readelf.c: Likewise.
3665da0c48c4Sopenharmony_ci	* size.c: Likewise.
3666da0c48c4Sopenharmony_ci	* strip.c: Likewise.
3667da0c48c4Sopenharmony_ci	* unstrip.c: Likewise.
3668da0c48c4Sopenharmony_ci	* ld.h: Fix up comment.
3669da0c48c4Sopenharmony_ci
3670da0c48c4Sopenharmony_ci2009-06-01  Ulrich Drepper  <drepper@redhat.com>
3671da0c48c4Sopenharmony_ci
3672da0c48c4Sopenharmony_ci	* readelf.c (print_relocs): Expect ELF header argument and pass on
3673da0c48c4Sopenharmony_ci	to handle_relocs_rel* functions. Adjust caller.
3674da0c48c4Sopenharmony_ci	(handle_relocs_rel): Add ELF header argument.  Add special case for
3675da0c48c4Sopenharmony_ci	the IRELATIVE relocations in statically linked executables.
3676da0c48c4Sopenharmony_ci	(handle_relocs_rela): Likewise.
3677da0c48c4Sopenharmony_ci
3678da0c48c4Sopenharmony_ci2009-04-29  Ulrich Drepper  <drepper@redhat.com>
3679da0c48c4Sopenharmony_ci
3680da0c48c4Sopenharmony_ci	* elflint.c (check_symtab): Add tests of st_other field.
3681da0c48c4Sopenharmony_ci
3682da0c48c4Sopenharmony_ci2009-04-23  Ulrich Drepper  <drepper@redhat.com>
3683da0c48c4Sopenharmony_ci
3684da0c48c4Sopenharmony_ci	* Makefile [BUILD_STATIC] (libdw): Add $(zip_LIBS).
3685da0c48c4Sopenharmony_ci
3686da0c48c4Sopenharmony_ci2009-04-20  Roland McGrath  <roland@redhat.com>
3687da0c48c4Sopenharmony_ci
3688da0c48c4Sopenharmony_ci	* addr2line.c (print_dwarf_function): Honor -s and -A for file names
3689da0c48c4Sopenharmony_ci	of inline call sites.
3690da0c48c4Sopenharmony_ci
3691da0c48c4Sopenharmony_ci	* addr2line.c (just_section): New variable.
3692da0c48c4Sopenharmony_ci	(adjust_to_section): New function, broken out of ...
3693da0c48c4Sopenharmony_ci	(handle_address): ... here.
3694da0c48c4Sopenharmony_ci	(options, parse_opt): Add -j/--section=NAME to set it.
3695da0c48c4Sopenharmony_ci
3696da0c48c4Sopenharmony_ci2009-04-15  Roland McGrath  <roland@redhat.com>
3697da0c48c4Sopenharmony_ci
3698da0c48c4Sopenharmony_ci	* readelf.c (print_debug_frame_section): Check for DW_CIE_ID_64 in
3699da0c48c4Sopenharmony_ci	64-bit format header, DW_CIE_ID_32 in 32-bit format header.
3700da0c48c4Sopenharmony_ci
3701da0c48c4Sopenharmony_ci2009-04-14  Roland McGrath  <roland@redhat.com>
3702da0c48c4Sopenharmony_ci
3703da0c48c4Sopenharmony_ci	* readelf.c (print_attributes): Treat SHT_ARM_ATTRIBUTES on EM_ARM
3704da0c48c4Sopenharmony_ci	like SHT_GNU_ATTRIBUTES.
3705da0c48c4Sopenharmony_ci
3706da0c48c4Sopenharmony_ci	* readelf.c (handle_core_registers): Fix error message.
3707da0c48c4Sopenharmony_ci
3708da0c48c4Sopenharmony_ci	* strip.c (handle_elf: check_preserved): Don't note any change when
3709da0c48c4Sopenharmony_ci	.debug_data is already filled from a previous pass.
3710da0c48c4Sopenharmony_ci
3711da0c48c4Sopenharmony_ci2009-02-05  Ulrich Drepper  <drepper@redhat.com>
3712da0c48c4Sopenharmony_ci
3713da0c48c4Sopenharmony_ci	* objdump.c (show_relocs_x): Minor cleanups.
3714da0c48c4Sopenharmony_ci
3715da0c48c4Sopenharmony_ci	* readelf.c (print_cfa_program): Correct a few labels.
3716da0c48c4Sopenharmony_ci	Print first DW_CFA_expression and DW_CFA_val_expression parameter
3717da0c48c4Sopenharmony_ci	as register.
3718da0c48c4Sopenharmony_ci
3719da0c48c4Sopenharmony_ci2009-02-01  Ulrich Drepper  <drepper@redhat.com>
3720da0c48c4Sopenharmony_ci
3721da0c48c4Sopenharmony_ci	* objdump.c (show_relocs_rel, show_relocs_rela): Split common parts
3722da0c48c4Sopenharmony_ci	into ...
3723da0c48c4Sopenharmony_ci	(show_relocs_x): ...here.  New function.
3724da0c48c4Sopenharmony_ci	(show_relocs): Better spacing in output.
3725da0c48c4Sopenharmony_ci
3726da0c48c4Sopenharmony_ci	* objdump.c (show_relocs_rela): Show offsets as signed values.
3727da0c48c4Sopenharmony_ci
3728da0c48c4Sopenharmony_ci	* ar.c (main): Fix recognition of invalid modes for a, b, i modifiers.
3729da0c48c4Sopenharmony_ci	Improve some error messages.
3730da0c48c4Sopenharmony_ci	Use program_invocation_short_name instead of AR macro.
3731da0c48c4Sopenharmony_ci	* Makefile.am (CFLAGS_ar): Remove.
3732da0c48c4Sopenharmony_ci	* elflint.c (parse_opt): ARGP_HELP_EXIT_ERR does nothing for argp_help.
3733da0c48c4Sopenharmony_ci	* objdump.c (parse_opt): Likewise.
3734da0c48c4Sopenharmony_ci	* readelf.c (parse_opt): Likewise.
3735da0c48c4Sopenharmony_ci
3736da0c48c4Sopenharmony_ci2009-01-27  Roland McGrath  <roland@redhat.com>
3737da0c48c4Sopenharmony_ci
3738da0c48c4Sopenharmony_ci	* readelf.c (print_ops): Notice short length, don't overrun buffer
3739da0c48c4Sopenharmony_ci	(still need to fix LEB128).
3740da0c48c4Sopenharmony_ci
3741da0c48c4Sopenharmony_ci	* readelf.c (print_ops): Fix DW_OP_call[24] decoding.
3742da0c48c4Sopenharmony_ci
3743da0c48c4Sopenharmony_ci	* readelf.c (print_ops): Print (empty)\n when LEN == 0.
3744da0c48c4Sopenharmony_ci
3745da0c48c4Sopenharmony_ci2009-01-24  Ulrich Drepper  <drepper@redhat.com>
3746da0c48c4Sopenharmony_ci
3747da0c48c4Sopenharmony_ci	* readelf.c (print_debug_frame_section): Fix computation of vma_base
3748da0c48c4Sopenharmony_ci	for PC-relative mode.
3749da0c48c4Sopenharmony_ci
3750da0c48c4Sopenharmony_ci2009-01-23  Ulrich Drepper  <drepper@redhat.com>
3751da0c48c4Sopenharmony_ci
3752da0c48c4Sopenharmony_ci	* size.c (process_file): When handling archive, close file descriptor
3753da0c48c4Sopenharmony_ci	here.  For unknown file format also close file descriptor.
3754da0c48c4Sopenharmony_ci	(handle_ar): Don't close file descriptor here.
3755da0c48c4Sopenharmony_ci
3756da0c48c4Sopenharmony_ci	* readelf.c (parse_opt): Move code to add to dump_data_sections and
3757da0c48c4Sopenharmony_ci	string_sections list in local function add_dump_section.  Adjust 'x'
3758da0c48c4Sopenharmony_ci	key handling.  For 'a' key add .strtab, .dynstr, and .comment section
3759da0c48c4Sopenharmony_ci	to string_sections list.
3760da0c48c4Sopenharmony_ci
3761da0c48c4Sopenharmony_ci2009-01-22  Roland McGrath  <roland@redhat.com>
3762da0c48c4Sopenharmony_ci
3763da0c48c4Sopenharmony_ci	* readelf.c (print_phdr): Don't print section mapping when no sections.
3764da0c48c4Sopenharmony_ci
3765da0c48c4Sopenharmony_ci	* Makefile.am (AM_CFLAGS): Pass -Wno-format for *_no_Wformat.
3766da0c48c4Sopenharmony_ci
3767da0c48c4Sopenharmony_ci	* readelf.c (print_debug_frame_section): Initialize IS_SIGNED to false
3768da0c48c4Sopenharmony_ci	and reset it only for the 'true' cases.
3769da0c48c4Sopenharmony_ci
3770da0c48c4Sopenharmony_ci	* Makefile.am (addr2line_no_Wformat): New variable.
3771da0c48c4Sopenharmony_ci
3772da0c48c4Sopenharmony_ci	* readelf.c (print_debug_frame_section): Use t instead of j formats
3773da0c48c4Sopenharmony_ci	for ptrdiff_t OFFSET.
3774da0c48c4Sopenharmony_ci
3775da0c48c4Sopenharmony_ci2009-01-21  Ulrich Drepper  <drepper@redhat.com>
3776da0c48c4Sopenharmony_ci
3777da0c48c4Sopenharmony_ci	* elflint.c (check_program_header): Fix typo in .eh_frame_hdr section
3778da0c48c4Sopenharmony_ci	test.  Handle debuginfo files.
3779da0c48c4Sopenharmony_ci	(check_exception_data): First sanity test.
3780da0c48c4Sopenharmony_ci
3781da0c48c4Sopenharmony_ci2009-01-17  Ulrich Drepper  <drepper@redhat.com>
3782da0c48c4Sopenharmony_ci
3783da0c48c4Sopenharmony_ci	* readelf.c (print_debug_exception_table): Show target of ar_disp
3784da0c48c4Sopenharmony_ci	field.
3785da0c48c4Sopenharmony_ci
3786da0c48c4Sopenharmony_ci	* elflint.c (check_program_header): Add most consistency checks for
3787da0c48c4Sopenharmony_ci	PT_GNU_EH_FRAME entry.
3788da0c48c4Sopenharmony_ci
3789da0c48c4Sopenharmony_ci	* addr2line.c: Use ARGP_PROGRAM_VERSION_HOOK_DEF and
3790da0c48c4Sopenharmony_ci	ARGP_PROGRAM_BUG_ADDRESS_DEF.
3791da0c48c4Sopenharmony_ci	* ar.c: Likewise.
3792da0c48c4Sopenharmony_ci	* elfcmp.c: Likewise.
3793da0c48c4Sopenharmony_ci	* elflint.c: Likewise.
3794da0c48c4Sopenharmony_ci	* findtextrel.c: Likewise.
3795da0c48c4Sopenharmony_ci	* ld.c: Likewise.
3796da0c48c4Sopenharmony_ci	* nm.c: Likewise.
3797da0c48c4Sopenharmony_ci	* objdump.c: Likewise.
3798da0c48c4Sopenharmony_ci	* ranlib.c: Likewise.
3799da0c48c4Sopenharmony_ci	* readelf.c: Likewise.
3800da0c48c4Sopenharmony_ci
3801da0c48c4Sopenharmony_ci	* size.c: Likewise.
3802da0c48c4Sopenharmony_ci	* strings.c: Likewise.
3803da0c48c4Sopenharmony_ci	* strip.c: Likewise.
3804da0c48c4Sopenharmony_ci	* unstrip.c: Likewise.
3805da0c48c4Sopenharmony_ci
3806da0c48c4Sopenharmony_ci2009-01-16  Ulrich Drepper  <drepper@redhat.com>
3807da0c48c4Sopenharmony_ci
3808da0c48c4Sopenharmony_ci	* elflint.c (check_program_header): Check that PT_GNU_EH_FRAME entry
3809da0c48c4Sopenharmony_ci	matches .eh_frame_hdr section, if it is available.  Also check that
3810da0c48c4Sopenharmony_ci	the segment is allocated, not writable, not executable.
3811da0c48c4Sopenharmony_ci
3812da0c48c4Sopenharmony_ci	* readelf.c: Add -e option.  Dump exception and unwind related
3813da0c48c4Sopenharmony_ci	sections.  Add -e to -a.
3814da0c48c4Sopenharmony_ci	(print_encoding_base): Handle DW_EH_PE_omit.
3815da0c48c4Sopenharmony_ci	(print_debug_exception_table): Beginning of support.
3816da0c48c4Sopenharmony_ci	(print_debug): Hook up print_debug_exception_table for
3817da0c48c4Sopenharmony_ci	.gcc_except_table sections.
3818da0c48c4Sopenharmony_ci
3819da0c48c4Sopenharmony_ci	* readelf.c (print_debug_frame_section): Some fixes for last change.
3820da0c48c4Sopenharmony_ci
3821da0c48c4Sopenharmony_ci2009-01-15  Ulrich Drepper  <drepper@redhat.com>
3822da0c48c4Sopenharmony_ci
3823da0c48c4Sopenharmony_ci	* readelf.c (print_encoding): Now a toplevel function.
3824da0c48c4Sopenharmony_ci	(print_relinfo): Likewise.
3825da0c48c4Sopenharmony_ci	(print_encoding_base): Broken out of print_debug_frame_section.
3826da0c48c4Sopenharmony_ci	(print_debug_frame_section): Print different header for .eh_frame
3827da0c48c4Sopenharmony_ci	sections.  Fix recognition of matching CIEs in .debug_frame sections.
3828da0c48c4Sopenharmony_ci	Print absolute offset for PC-relative FDE locations.  Don't print
3829da0c48c4Sopenharmony_ci	table header for FDEs if the table is empty.
3830da0c48c4Sopenharmony_ci	(read_encoded): New function.
3831da0c48c4Sopenharmony_ci	(print_debug_frame_hdr_section): New function.
3832da0c48c4Sopenharmony_ci	(print_debug): Hook up print_debug_frame_hdr_section for .eh_frame_hdr
3833da0c48c4Sopenharmony_ci	sections.
3834da0c48c4Sopenharmony_ci
3835da0c48c4Sopenharmony_ci	* readelf.c (handle_relocs_rel): Print section number.
3836da0c48c4Sopenharmony_ci	(print_debug_abbrev_section): Likewise.
3837da0c48c4Sopenharmony_ci	(print_debug_aranges_section): Likewise.
3838da0c48c4Sopenharmony_ci	(print_debug_ranges_section): Likewise.
3839da0c48c4Sopenharmony_ci	(print_debug_info_section): Likewise.
3840da0c48c4Sopenharmony_ci	(print_debug_line_section): Likewise.
3841da0c48c4Sopenharmony_ci	(print_debug_loc_section): Likewise.
3842da0c48c4Sopenharmony_ci	(print_debug_macinfo_section): Likewise.
3843da0c48c4Sopenharmony_ci	(print_debug_pubnames_section): Likewise.
3844da0c48c4Sopenharmony_ci	(print_debug_str_section): Likewise.
3845da0c48c4Sopenharmony_ci
3846da0c48c4Sopenharmony_ci2009-01-10  Ulrich Drepper  <drepper@redhat.com>
3847da0c48c4Sopenharmony_ci
3848da0c48c4Sopenharmony_ci	* strings.c (read_block): Fix typo in error message string.
3849da0c48c4Sopenharmony_ci
3850da0c48c4Sopenharmony_ci2009-01-07  Ulrich Drepper  <drepper@redhat.com>
3851da0c48c4Sopenharmony_ci
3852da0c48c4Sopenharmony_ci	* ld.c (ld_new_searchdir): Fix adding to search path list.
3853da0c48c4Sopenharmony_ci
3854da0c48c4Sopenharmony_ci2009-01-06  Ulrich Drepper  <drepper@redhat.com>
3855da0c48c4Sopenharmony_ci
3856da0c48c4Sopenharmony_ci	* readelf.c: Implement call frame debug section dumping.
3857da0c48c4Sopenharmony_ci
3858da0c48c4Sopenharmony_ci2009-01-05  Roland McGrath  <roland@redhat.com>
3859da0c48c4Sopenharmony_ci
3860da0c48c4Sopenharmony_ci	* elfcmp.c: Exit with status 2 for errors (like cmp, diff, grep).
3861da0c48c4Sopenharmony_ci	Status 1 (aka EXIT_FAILURE) is only for completed OK but not equal.
3862da0c48c4Sopenharmony_ci
3863da0c48c4Sopenharmony_ci2009-01-01  Ulrich Drepper  <drepper@redhat.com>
3864da0c48c4Sopenharmony_ci
3865da0c48c4Sopenharmony_ci	* addr2line.c: Update copyright year.
3866da0c48c4Sopenharmony_ci	* ar.c: Likewise.
3867da0c48c4Sopenharmony_ci	* elfcmp.c: Likewise.
3868da0c48c4Sopenharmony_ci	* elflint.c: Likewise.
3869da0c48c4Sopenharmony_ci	* findtextrel.c: Likewise.
3870da0c48c4Sopenharmony_ci	* ld.c: Likewise.
3871da0c48c4Sopenharmony_ci	* nm.c: Likewise.
3872da0c48c4Sopenharmony_ci	* objdump.c: Likewise.
3873da0c48c4Sopenharmony_ci	* ranlib.c: Likewise.
3874da0c48c4Sopenharmony_ci	* readelf.c: Likewise.
3875da0c48c4Sopenharmony_ci	* size.c: Likewise.
3876da0c48c4Sopenharmony_ci	* strings.c: Likewise.
3877da0c48c4Sopenharmony_ci	* strip.c: Likewise.
3878da0c48c4Sopenharmony_ci	* unstrip.c: Likewise.
3879da0c48c4Sopenharmony_ci
3880da0c48c4Sopenharmony_ci2008-12-11  Roland McGrath  <roland@redhat.com>
3881da0c48c4Sopenharmony_ci
3882da0c48c4Sopenharmony_ci	* nm.c (sym_name): New function.
3883da0c48c4Sopenharmony_ci	(show_symbols_sysv): Use it in place of elf_strptr.
3884da0c48c4Sopenharmony_ci	(show_symbols_bsd, show_symbols_posix): Likewise.
3885da0c48c4Sopenharmony_ci	Fixes RHBZ#476136.
3886da0c48c4Sopenharmony_ci
3887da0c48c4Sopenharmony_ci	* nm.c (show_symbols_sysv): Use an alloca'd backup section name when
3888da0c48c4Sopenharmony_ci	elf_strptr fails.
3889da0c48c4Sopenharmony_ci
3890da0c48c4Sopenharmony_ci2008-12-02  Roland McGrath  <roland@redhat.com>
3891da0c48c4Sopenharmony_ci
3892da0c48c4Sopenharmony_ci	* readelf.c (count_dwflmod, process_file): Don't presume encoding of
3893da0c48c4Sopenharmony_ci	nonzero OFFSET argument to dwfl_getmodules.
3894da0c48c4Sopenharmony_ci
3895da0c48c4Sopenharmony_ci2008-08-07  Roland McGrath  <roland@redhat.com>
3896da0c48c4Sopenharmony_ci
3897da0c48c4Sopenharmony_ci	* addr2line.c (main): Pass string to handle_address.
3898da0c48c4Sopenharmony_ci	(see_one_module): New function, subroutine of handle_address.
3899da0c48c4Sopenharmony_ci	(find_symbol): Likewise.
3900da0c48c4Sopenharmony_ci	(handle_address): Take string argument rather than address.
3901da0c48c4Sopenharmony_ci	Convert plain number, or handle strings like "(section)+offset"
3902da0c48c4Sopenharmony_ci	or "symbol+offset".
3903da0c48c4Sopenharmony_ci
3904da0c48c4Sopenharmony_ci2008-08-01  Roland McGrath  <roland@redhat.com>
3905da0c48c4Sopenharmony_ci
3906da0c48c4Sopenharmony_ci	* readelf.c (handle_core_item): Handle 'B' type for 1-origin bitset.
3907da0c48c4Sopenharmony_ci	For 'b' and 'B', print <x-y,z> or ~<x,y-z> rather than 1/0 string.
3908da0c48c4Sopenharmony_ci
3909da0c48c4Sopenharmony_ci	* readelf.c (convert): Take new argument SIZE.
3910da0c48c4Sopenharmony_ci	(handle_core_register, handle_core_item): Update callers.
3911da0c48c4Sopenharmony_ci	(handle_core_item): Take new arg REPEATED_SIZE.
3912da0c48c4Sopenharmony_ci	(handle_core_items): Special case for a singleton item,
3913da0c48c4Sopenharmony_ci	let handle_core_item handle repeats if it wants to.
3914da0c48c4Sopenharmony_ci
3915da0c48c4Sopenharmony_ci	* readelf.c (handle_core_items): Give abridged output
3916da0c48c4Sopenharmony_ci	for identical groups repeated more than twice.
3917da0c48c4Sopenharmony_ci
3918da0c48c4Sopenharmony_ci2008-07-04  Roland McGrath  <roland@redhat.com>
3919da0c48c4Sopenharmony_ci
3920da0c48c4Sopenharmony_ci	* readelf.c (handle_core_items): Handle ELF_T_ADDR.
3921da0c48c4Sopenharmony_ci
3922da0c48c4Sopenharmony_ci2008-04-10  Roland McGrath  <roland@redhat.com>
3923da0c48c4Sopenharmony_ci
3924da0c48c4Sopenharmony_ci	* strip.c (handle_elf): Don't keep sections that kept symbol tables
3925da0c48c4Sopenharmony_ci	refer to.  Instead, just be sure to preserve the original symbol
3926da0c48c4Sopenharmony_ci	table in the debug file so those symbols go with their sections and
3927da0c48c4Sopenharmony_ci	can be elided from the stripped version of the symbol table.
3928da0c48c4Sopenharmony_ci
3929da0c48c4Sopenharmony_ci	* strip.c (handle_elf): When a discarded section kept in the debug
3930da0c48c4Sopenharmony_ci	file refers to a nondiscard section via sh_link/sh_info, preserve
3931da0c48c4Sopenharmony_ci	that nondiscarded section unmodified in the debug file as well.
3932da0c48c4Sopenharmony_ci	Skip adjustment of discarded sections symbol table references when
3933da0c48c4Sopenharmony_ci	that symbol table is copied in this way.
3934da0c48c4Sopenharmony_ci
3935da0c48c4Sopenharmony_ci	* elflint.c (check_symtab): Don't crash from missing symbol names
3936da0c48c4Sopenharmony_ci	after diagnosing bogus strtab.
3937da0c48c4Sopenharmony_ci
3938da0c48c4Sopenharmony_ci	* strip.c (handle_elf): Cosmetic cleanup in special section contents
3939da0c48c4Sopenharmony_ci	adjustment for symtab changes.
3940da0c48c4Sopenharmony_ci
3941da0c48c4Sopenharmony_ci2008-03-31  Roland McGrath  <roland@redhat.com>
3942da0c48c4Sopenharmony_ci
3943da0c48c4Sopenharmony_ci	* elflint.c (check_sections): Add checks on SHF_EXECINSTR sections:
3944da0c48c4Sopenharmony_ci	must be SHT_PROGBITS, must not be SHF_WRITE.  Let backend hook
3945da0c48c4Sopenharmony_ci	excuse a special section.
3946da0c48c4Sopenharmony_ci
3947da0c48c4Sopenharmony_ci2008-03-27  Roland McGrath  <roland@redhat.com>
3948da0c48c4Sopenharmony_ci
3949da0c48c4Sopenharmony_ci	* elflint.c (check_sections): Check that executability and writability
3950da0c48c4Sopenharmony_ci	of sections is reflected in segment p_flags.
3951da0c48c4Sopenharmony_ci
3952da0c48c4Sopenharmony_ci2008-03-26  Roland McGrath  <roland@redhat.com>
3953da0c48c4Sopenharmony_ci
3954da0c48c4Sopenharmony_ci	* elflint.c (check_program_header): Accept PT_GNU_RELRO p_flags
3955da0c48c4Sopenharmony_ci	that matches its PT_LOAD's p_flags &~ PF_W.  On sparc, PF_X really
3956da0c48c4Sopenharmony_ci	is valid in RELRO.
3957da0c48c4Sopenharmony_ci
3958da0c48c4Sopenharmony_ci2008-02-29  Roland McGrath  <roland@redhat.com>
3959da0c48c4Sopenharmony_ci
3960da0c48c4Sopenharmony_ci	* readelf.c (print_attributes): Add a cast.
3961da0c48c4Sopenharmony_ci	* elflint.c (check_attributes): Likewise.
3962da0c48c4Sopenharmony_ci
3963da0c48c4Sopenharmony_ci	* unaligned.h (add_8ubyte_unaligned): Cast PTR argument for parity
3964da0c48c4Sopenharmony_ci	with [UNALIGNED_ACCESS_CLASS == BYTE_ORDER] definition.
3965da0c48c4Sopenharmony_ci	(add_4ubyte_unaligned, add_2ubyte_unaligned): Likewise.
3966da0c48c4Sopenharmony_ci
3967da0c48c4Sopenharmony_ci2008-02-03  Ulrich Drepper  <drepper@redhat.com>
3968da0c48c4Sopenharmony_ci
3969da0c48c4Sopenharmony_ci	* i386_ld.c (elf_i386_count_relocations): Implement R_386_TLS_GD
3970da0c48c4Sopenharmony_ci	when linked into executable.
3971da0c48c4Sopenharmony_ci	(elf_i386_create_relocations): Likewise.
3972da0c48c4Sopenharmony_ci
3973da0c48c4Sopenharmony_ci2008-02-20  Roland McGrath  <roland@redhat.com>
3974da0c48c4Sopenharmony_ci
3975da0c48c4Sopenharmony_ci	* readelf.c (print_attributes): New function.
3976da0c48c4Sopenharmony_ci	(process_elf_file): Call it under -A.
3977da0c48c4Sopenharmony_ci
3978da0c48c4Sopenharmony_ci	* elflint.c (check_attributes): Implement it for real.
3979da0c48c4Sopenharmony_ci
3980da0c48c4Sopenharmony_ci2008-02-19  Roland McGrath  <roland@redhat.com>
3981da0c48c4Sopenharmony_ci
3982da0c48c4Sopenharmony_ci	* elflint.c (special_sections): Handle .gnu.attributes section.
3983da0c48c4Sopenharmony_ci	(check_sections): Likewise.
3984da0c48c4Sopenharmony_ci	(check_attributes): New function.
3985da0c48c4Sopenharmony_ci
3986da0c48c4Sopenharmony_ci2008-02-10  Roland McGrath  <roland@redhat.com>
3987da0c48c4Sopenharmony_ci
3988da0c48c4Sopenharmony_ci	* elfcmp.c (main): Ignore sh_offset differences in non-SHF_ALLOC
3989da0c48c4Sopenharmony_ci	sections and ET_REL files.
3990da0c48c4Sopenharmony_ci
3991da0c48c4Sopenharmony_ci2008-02-02  Ulrich Drepper  <drepper@redhat.com>
3992da0c48c4Sopenharmony_ci
3993da0c48c4Sopenharmony_ci	* elf32-i386.script: Add .eh_frame_hdr, .tdata, and .tbss sections.
3994da0c48c4Sopenharmony_ci	* i386_ld.c (elf_i386_count_relocations): Handle R_386_TLS_LDO_32
3995da0c48c4Sopenharmony_ci	and R_386_TLS_LE.
3996da0c48c4Sopenharmony_ci	(elf_i386_create_relocations): Likewise.
3997da0c48c4Sopenharmony_ci	* ld.h (struct ld_state): Add need_tls, tls_start, and tls_tcb
3998da0c48c4Sopenharmony_ci	elements.
3999da0c48c4Sopenharmony_ci	* ldgeneric.c (add_section): If TLS section is used, set need_tls flag.
4000da0c48c4Sopenharmony_ci	(ld_generic_create_outfile): Add PT_TLS entry to program  header.
4001da0c48c4Sopenharmony_ci	Fix generation of PT_GNU_STACK entry.
4002da0c48c4Sopenharmony_ci
4003da0c48c4Sopenharmony_ci2008-02-01  Ulrich Drepper  <drepper@redhat.com>
4004da0c48c4Sopenharmony_ci
4005da0c48c4Sopenharmony_ci	* ld.c (replace_args): Prevent loop over replacements if the parameter
4006da0c48c4Sopenharmony_ci	is only two characters long.
4007da0c48c4Sopenharmony_ci
4008da0c48c4Sopenharmony_ci	* ld.c: Recognize sha1 argument for --build-id parameter.
4009da0c48c4Sopenharmony_ci	* ldgeneric.c (create_build_id_section): Handle sha1.
4010da0c48c4Sopenharmony_ci	(compute_hash_sum): New function.  Broken out of compute_build_id.
4011da0c48c4Sopenharmony_ci	Take hash function and context as parameters.
4012da0c48c4Sopenharmony_ci	(compute_build_id): Use compute_hash_sum for md5 and the new sha1
4013da0c48c4Sopenharmony_ci	implementation.
4014da0c48c4Sopenharmony_ci
4015da0c48c4Sopenharmony_ci2008-01-31  Ulrich Drepper  <drepper@redhat.com>
4016da0c48c4Sopenharmony_ci
4017da0c48c4Sopenharmony_ci	* elf32-i386.script: Add .note.ABI-tag and .note.gnu.build-id sections.
4018da0c48c4Sopenharmony_ci	* ld.c: Recognize --build-id command line parameter.
4019da0c48c4Sopenharmony_ci	* ld.h: Define scn_dot_note_gnu_build_id.
4020da0c48c4Sopenharmony_ci	(struct ld_state): Add build_id and buildidscnidx elements.
4021da0c48c4Sopenharmony_ci	* ldgeneric.c: Implement --build-id command line parameter.
4022da0c48c4Sopenharmony_ci	* ldlex.l (ID): Recognize - as valid character after the first one.
4023da0c48c4Sopenharmony_ci
4024da0c48c4Sopenharmony_ci2008-01-29  Ulrich Drepper  <drepper@redhat.com>
4025da0c48c4Sopenharmony_ci
4026da0c48c4Sopenharmony_ci	* ld.c (replace_args): New function.
4027da0c48c4Sopenharmony_ci	(main): Use it to rewrite old-style parameters.
4028da0c48c4Sopenharmony_ci
4029da0c48c4Sopenharmony_ci	* elf32-i386.script: Add .gnu.hash section.
4030da0c48c4Sopenharmony_ci	* ldgeneric.c (optimal_bucket_size): A tiny bit more efficient.
4031da0c48c4Sopenharmony_ci	(fillin_special_symbol): Initialize st_size.
4032da0c48c4Sopenharmony_ci	(sortfct_hashval): New function.
4033da0c48c4Sopenharmony_ci	(create_gnu_hash): New function.
4034da0c48c4Sopenharmony_ci	(create_hash): New function.
4035da0c48c4Sopenharmony_ci	(ld_generic_create_outfile): Use the new functions to create the
4036da0c48c4Sopenharmony_ci	hash tables.
4037da0c48c4Sopenharmony_ci
4038da0c48c4Sopenharmony_ci	* elflint.c (check_gnu_hash): Fix index value printed in error message.
4039da0c48c4Sopenharmony_ci
4040da0c48c4Sopenharmony_ci2008-01-24  Ulrich Drepper  <drepper@redhat.com>
4041da0c48c4Sopenharmony_ci
4042da0c48c4Sopenharmony_ci	* elflint.c (check_group): Check that signature symbol for section
4043da0c48c4Sopenharmony_ci	group is not an empty string.
4044da0c48c4Sopenharmony_ci	* ldgeneric.c: Remove magic assignment of indices in the dynsym
4045da0c48c4Sopenharmony_ci	section.  Start implementation of --hash-style.
4046da0c48c4Sopenharmony_ci	* i386_ld.c: Likewise.
4047da0c48c4Sopenharmony_ci	* ld.c: Recognize --hash-style.
4048da0c48c4Sopenharmony_ci	* ld.h (struct scninfo): Add comdat_group.
4049da0c48c4Sopenharmony_ci	Add additional parameter to finalize_plt callback.
4050da0c48c4Sopenharmony_ci
4051da0c48c4Sopenharmony_ci2008-01-22  Ulrich Drepper  <drepper@redhat.com>
4052da0c48c4Sopenharmony_ci
4053da0c48c4Sopenharmony_ci	* ld.h (struct callbacks): Add initialize_gotplt.
4054da0c48c4Sopenharmony_ci	(struct scnhead): Add scn_dot_gotplt.
4055da0c48c4Sopenharmony_ci	(struct ld_state): Add gotpltscnidx.
4056da0c48c4Sopenharmony_ci	* i386_ld.c (elf_i386_initialize_plt): Minor optimization.
4057da0c48c4Sopenharmony_ci	(elf_i386_initialize_pltrel): Likewise.
4058da0c48c4Sopenharmony_ci	(elf_i386_initialize_got): There is now a separate .got.plt, so
4059da0c48c4Sopenharmony_ci	don't do the PLT-related work here.  Initialize d_type.
4060da0c48c4Sopenharmony_ci	(elf_i386_initialize_gotplt): New function.
4061da0c48c4Sopenharmony_ci	(elf_i386_plt0): Use ud2a after indirect jump.
4062da0c48c4Sopenharmony_ci	(elf_i386_pic_plt0_entry): Likewise.
4063da0c48c4Sopenharmony_ci	(elf_i386_finalize_plt): Reference now .got.plt.
4064da0c48c4Sopenharmony_ci	(elf_i386_count_relocations): For GOT entries which need no relocation
4065da0c48c4Sopenharmony_ci	don't bump nrel_got.
4066da0c48c4Sopenharmony_ci	(elf_i386_create_relocations): Also get .got.plt.  Rewrite R-386_GOT32
4067da0c48c4Sopenharmony_ci	handling for split .got/.got.plt.
4068da0c48c4Sopenharmony_ci	(elf_i386_ld_init): Initialize callbacks.initialize_gotplt.
4069da0c48c4Sopenharmony_ci	* elf32-i386.script: Sort sections for security.  There are no .got
4070da0c48c4Sopenharmony_ci	input sections.  Add .got.plt.
4071da0c48c4Sopenharmony_ci	* ldgeneric.c (ld_generic_generate_sections): Add .got.plt section.
4072da0c48c4Sopenharmony_ci	(ld_generic_create_outfile): Initialize .got.plt section.
4073da0c48c4Sopenharmony_ci	Use .got.plt address for _GLOBAL_OFFSET_TABLE_ symbol and DT_PLTGOT.
4074da0c48c4Sopenharmony_ci
4075da0c48c4Sopenharmony_ci2008-01-19  Ulrich Drepper  <drepper@redhat.com>
4076da0c48c4Sopenharmony_ci
4077da0c48c4Sopenharmony_ci	* i386_ld.c (elf_i386_count_relocations): PLT relocations for undefined
4078da0c48c4Sopenharmony_ci	symbols are not carried over into statically linked output files.
4079da0c48c4Sopenharmony_ci	Add dummy entries for more TLS relocations.
4080da0c48c4Sopenharmony_ci
4081da0c48c4Sopenharmony_ci	* ld.c (options): Add long names for -( and -).
4082da0c48c4Sopenharmony_ci
4083da0c48c4Sopenharmony_ci	* ldgeneric.c (check_definition): For newly found definitions don't
4084da0c48c4Sopenharmony_ci	mark section as used if symbol is absolute.
4085da0c48c4Sopenharmony_ci	(extract_from_archive): Only assign archive sequence number the first
4086da0c48c4Sopenharmony_ci	time the archive is handled.  Update ld_state.last_archive_used
4087da0c48c4Sopenharmony_ci	if any symbol was used.  Remove nround variable.
4088da0c48c4Sopenharmony_ci	(file_process2): When using symbol from an archive, update
4089da0c48c4Sopenharmony_ci	ld_state.group_start_archive, ld_state.archives, and
4090da0c48c4Sopenharmony_ci	ld_state.tailarchives.
4091da0c48c4Sopenharmony_ci	(ld_generic_file_process): If group is not handled anymore, after
4092da0c48c4Sopenharmony_ci	freeing ELF handles for the archives, clear ld_state.archives and
4093da0c48c4Sopenharmony_ci	*nextp.  Fix wrong logic in recognizing first iteration of group
4094da0c48c4Sopenharmony_ci	loop.  When clearing flags, also clear ld_state.group_start_archive.
4095da0c48c4Sopenharmony_ci
4096da0c48c4Sopenharmony_ci2008-01-11  Ulrich Drepper  <drepper@redhat.com>
4097da0c48c4Sopenharmony_ci
4098da0c48c4Sopenharmony_ci	* objdump.c (show_disasm): Adjust disassembler format string for
4099da0c48c4Sopenharmony_ci	removal of %e.
4100da0c48c4Sopenharmony_ci
4101da0c48c4Sopenharmony_ci2008-01-04  Roland McGrath  <roland@redhat.com>
4102da0c48c4Sopenharmony_ci
4103da0c48c4Sopenharmony_ci	* readelf.c (handle_core_items): Take new arg DESCSZ; if nonzero,
4104da0c48c4Sopenharmony_ci	a size greater than the items cover means multiple sets of items.
4105da0c48c4Sopenharmony_ci	(handle_core_note): Update caller.
4106da0c48c4Sopenharmony_ci
4107da0c48c4Sopenharmony_ci2008-01-04  Roland McGrath  <roland@redhat.com>
4108da0c48c4Sopenharmony_ci
4109da0c48c4Sopenharmony_ci	* strip.c (handle_elf): Move SHDRIDX defn to silence gcc warning.
4110da0c48c4Sopenharmony_ci
4111da0c48c4Sopenharmony_ci2008-01-03  Roland McGrath  <roland@redhat.com>
4112da0c48c4Sopenharmony_ci
4113da0c48c4Sopenharmony_ci	* ld.h (linked_from_dso_p): Use __attribute__ ((__gnu_inline__)).
4114da0c48c4Sopenharmony_ci
4115da0c48c4Sopenharmony_ci	* elflint.c (check_dynamic): Remove duplicate initializer.
4116da0c48c4Sopenharmony_ci
4117da0c48c4Sopenharmony_ci2008-01-02  Ulrich Drepper  <drepper@redhat.com>
4118da0c48c4Sopenharmony_ci
4119da0c48c4Sopenharmony_ci	* addr2line.c: Update copyright year.
4120da0c48c4Sopenharmony_ci	* ar.c: Likewise.
4121da0c48c4Sopenharmony_ci	* elfcmp.c: Likewise.
4122da0c48c4Sopenharmony_ci	* elflint.c: Likewise.
4123da0c48c4Sopenharmony_ci	* findtextrel.c: Likewise.
4124da0c48c4Sopenharmony_ci	* ld.c: Likewise.
4125da0c48c4Sopenharmony_ci	* nm.c: Likewise.
4126da0c48c4Sopenharmony_ci	* objdump.c: Likewise.
4127da0c48c4Sopenharmony_ci	* ranlib.c: Likewise.
4128da0c48c4Sopenharmony_ci	* readelf.c: Likewise.
4129da0c48c4Sopenharmony_ci	* size.c: Likewise.
4130da0c48c4Sopenharmony_ci	* strings.c: Likewise.
4131da0c48c4Sopenharmony_ci	* strip.c: Likewise.
4132da0c48c4Sopenharmony_ci	* unstrip.c: Likewise.
4133da0c48c4Sopenharmony_ci
4134da0c48c4Sopenharmony_ci2007-12-30  Ulrich Drepper  <drepper@redhat.com>
4135da0c48c4Sopenharmony_ci
4136da0c48c4Sopenharmony_ci	* objdump (show_disasm): Use %e after third parameter.
4137da0c48c4Sopenharmony_ci
4138da0c48c4Sopenharmony_ci2007-12-21  Ulrich Drepper  <drepper@redhat.com>
4139da0c48c4Sopenharmony_ci
4140da0c48c4Sopenharmony_ci	* strip.c: Fix wrong parenthesis in a few branch predictions.
4141da0c48c4Sopenharmony_ci	* strings.c: Likewise.
4142da0c48c4Sopenharmony_ci
4143da0c48c4Sopenharmony_ci2007-12-20  Ulrich Drepper  <drepper@redhat.com>
4144da0c48c4Sopenharmony_ci
4145da0c48c4Sopenharmony_ci	* Makefile.am (DEFS): Add DEBUGPRED.
4146da0c48c4Sopenharmony_ci	* addr2line.c: Include debugpred.h.
4147da0c48c4Sopenharmony_ci	* ar.c: Likewise.
4148da0c48c4Sopenharmony_ci	* elfcmp.c: Likewise.
4149da0c48c4Sopenharmony_ci	* elflint.c: Likewise.
4150da0c48c4Sopenharmony_ci	* findtextrel.c: Likewise.
4151da0c48c4Sopenharmony_ci	* nm.c: Likewise.
4152da0c48c4Sopenharmony_ci	* objdump.c: Likewise.
4153da0c48c4Sopenharmony_ci	* ranlib.c: Likewise.
4154da0c48c4Sopenharmony_ci	* readelf.c: Likewise.
4155da0c48c4Sopenharmony_ci	* size.c: Likewise.
4156da0c48c4Sopenharmony_ci	* strings.c: Likewise.
4157da0c48c4Sopenharmony_ci	* strip.c: Likewise.
4158da0c48c4Sopenharmony_ci	* unstrip.c: Likewise.
4159da0c48c4Sopenharmony_ci	* debugpred.h: New file.
4160da0c48c4Sopenharmony_ci
4161da0c48c4Sopenharmony_ci	* readelf.c (handle_relocs_rel): Use elf_scnshndx.
4162da0c48c4Sopenharmony_ci	(handle_relocs_rela): Likewise.
4163da0c48c4Sopenharmony_ci
4164da0c48c4Sopenharmony_ci	* readelf.c: Add lots of likely/unlikely.
4165da0c48c4Sopenharmony_ci
4166da0c48c4Sopenharmony_ci	* elflint.c: Minor cleanups.
4167da0c48c4Sopenharmony_ci
4168da0c48c4Sopenharmony_ci2007-11-19  Roland McGrath  <roland@redhat.com>
4169da0c48c4Sopenharmony_ci
4170da0c48c4Sopenharmony_ci	* readelf.c (print_ops): Handle all bad op codes gracefully.
4171da0c48c4Sopenharmony_ci	Print their numbers instead of just ???.
4172da0c48c4Sopenharmony_ci
4173da0c48c4Sopenharmony_ci2007-11-09  Roland McGrath  <roland@redhat.com>
4174da0c48c4Sopenharmony_ci
4175da0c48c4Sopenharmony_ci	* readelf.c (attr_callback): Handle DW_AT_data_location.
4176da0c48c4Sopenharmony_ci	Handle block forms to mean a DWARF expression for DW_AT_allocated,
4177da0c48c4Sopenharmony_ci	DW_AT_associated, DW_AT_bit_size, DW_AT_bit_offset, DW_AT_bit_stride,
4178da0c48c4Sopenharmony_ci	DW_AT_byte_size, DW_AT_byte_stride, DW_AT_count, DW_AT_lower_bound,
4179da0c48c4Sopenharmony_ci	DW_AT_upper_bound.
4180da0c48c4Sopenharmony_ci
4181da0c48c4Sopenharmony_ci2007-10-20  Roland McGrath  <roland@redhat.com>
4182da0c48c4Sopenharmony_ci
4183da0c48c4Sopenharmony_ci	* unstrip.c (options): Update -R description.
4184da0c48c4Sopenharmony_ci	(struct symbol): Put symbol details a union with a size_t pointer
4185da0c48c4Sopenharmony_ci	`duplicate'.
4186da0c48c4Sopenharmony_ci	(compare_symbols_output): Use null ->name as marker for discard
4187da0c48c4Sopenharmony_ci	symbols, not zero *->map.
4188da0c48c4Sopenharmony_ci	(copy_elided_sections): Record forwarding pointers for discarded
4189da0c48c4Sopenharmony_ci	duplicates and fill SYMNDX_MAP elements through them.
4190da0c48c4Sopenharmony_ci
4191da0c48c4Sopenharmony_ci	* readelf.c (process_file): Set offline_next_address to 0 at start.
4192da0c48c4Sopenharmony_ci	(struct process_dwflmod_args): New type.
4193da0c48c4Sopenharmony_ci	(process_dwflmod): Take args in it, pass fd to process_elf_file.
4194da0c48c4Sopenharmony_ci	(process_file): Update caller; dup FD for passing to libdwfl.
4195da0c48c4Sopenharmony_ci	(process_elf_file): Take new arg FD.  For ET_REL file when
4196da0c48c4Sopenharmony_ci	displaying data affected by libdwfl relocation, open a new Elf handle.
4197da0c48c4Sopenharmony_ci
4198da0c48c4Sopenharmony_ci2007-10-17  Roland McGrath  <roland@redhat.com>
4199da0c48c4Sopenharmony_ci
4200da0c48c4Sopenharmony_ci	* readelf.c (print_debug_line_section): For invalid data inside a
4201da0c48c4Sopenharmony_ci	unit with plausible length, keep printing at the next unit boundary.
4202da0c48c4Sopenharmony_ci
4203da0c48c4Sopenharmony_ci	* readelf.c (attr_callback): Use dwarf_formref_die, not dwarf_formref.
4204da0c48c4Sopenharmony_ci
4205da0c48c4Sopenharmony_ci2007-10-16  Roland McGrath  <roland@redhat.com>
4206da0c48c4Sopenharmony_ci
4207da0c48c4Sopenharmony_ci	* readelf.c (hex_dump): Fix rounding error in whitespace calculation.
4208da0c48c4Sopenharmony_ci
4209da0c48c4Sopenharmony_ci2007-10-15  Roland McGrath  <roland@redhat.com>
4210da0c48c4Sopenharmony_ci
4211da0c48c4Sopenharmony_ci	* make-debug-archive.in: New file.
4212da0c48c4Sopenharmony_ci	* Makefile.am (EXTRA_DIST): Add it.
4213da0c48c4Sopenharmony_ci	(make-debug-archive): New target.
4214da0c48c4Sopenharmony_ci	(bin_SCRIPTS, CLEANFILES): Add it.
4215da0c48c4Sopenharmony_ci
4216da0c48c4Sopenharmony_ci2007-10-10  Roland McGrath  <roland@redhat.com>
4217da0c48c4Sopenharmony_ci
4218da0c48c4Sopenharmony_ci	* elflint.c (special_sections): Add new attrflag value exact_or_gnuld.
4219da0c48c4Sopenharmony_ci	Use it to check MERGE|STRINGS for .debug_str.
4220da0c48c4Sopenharmony_ci	(check_sections): Handle exact_or_gnuld.
4221da0c48c4Sopenharmony_ci
4222da0c48c4Sopenharmony_ci2007-10-08  Roland McGrath  <roland@redhat.com>
4223da0c48c4Sopenharmony_ci
4224da0c48c4Sopenharmony_ci	* readelf.c (handle_core_item): Handle 'T'|0x80 to indicate
4225da0c48c4Sopenharmony_ci	64-bit struct timeval with 32-bit tv_usec.
4226da0c48c4Sopenharmony_ci
4227da0c48c4Sopenharmony_ci2007-10-07  Roland McGrath  <roland@redhat.com>
4228da0c48c4Sopenharmony_ci
4229da0c48c4Sopenharmony_ci	* readelf.c (check_archive_index): New function.
4230da0c48c4Sopenharmony_ci	(process_file): Call it.  Change signature to take only fd and name.
4231da0c48c4Sopenharmony_ci	Use libdwfl to open the file, then iterate on its modules (multiple
4232da0c48c4Sopenharmony_ci	for an archive) to print file name and call process_elf_file.
4233da0c48c4Sopenharmony_ci	(main): Update caller.  Let process_file do elf_begin.
4234da0c48c4Sopenharmony_ci	(count_dwflmod, process_dwflmod, find_no_debuginfo): New functions.
4235da0c48c4Sopenharmony_ci	(process_elf_file): Take only Dwfl_Module * argument.
4236da0c48c4Sopenharmony_ci	Don't print the file name here.
4237da0c48c4Sopenharmony_ci	(print_debug_*_section): Take Dwfl_Module * argument.
4238da0c48c4Sopenharmony_ci	(print_debug): Likewise.  Update caller.
4239da0c48c4Sopenharmony_ci	(format_dwarf_addr): New function.
4240da0c48c4Sopenharmony_ci	(print_debug_ranges_section): Use it.
4241da0c48c4Sopenharmony_ci	(attr_callback): Likewise.
4242da0c48c4Sopenharmony_ci	(print_debug_line_section, print_debug_loc_section): Likewise.
4243da0c48c4Sopenharmony_ci
4244da0c48c4Sopenharmony_ci	* readelf.c (print_debug_ranges_section): Translate all strings.
4245da0c48c4Sopenharmony_ci	(print_debug_loc_section): Likewise.
4246da0c48c4Sopenharmony_ci
4247da0c48c4Sopenharmony_ci	* unstrip.c (copy_elided_sections): Initialize SEC.
4248da0c48c4Sopenharmony_ci
4249da0c48c4Sopenharmony_ci	* ar.c (do_oper_insert): Put trailing / on short names.
4250da0c48c4Sopenharmony_ci
4251da0c48c4Sopenharmony_ci	* arlib.h (MAX_AR_NAME_LEN): Decrease by one.
4252da0c48c4Sopenharmony_ci
4253da0c48c4Sopenharmony_ci	* arlib2.c (arlib_add_long_name): Adjust for header size.
4254da0c48c4Sopenharmony_ci
4255da0c48c4Sopenharmony_ci	* arlib.c (arlib_finalize): Pad long name table to keep size even.
4256da0c48c4Sopenharmony_ci
4257da0c48c4Sopenharmony_ci	* ar.c (do_oper_insert): Use write_retry for padding write.
4258da0c48c4Sopenharmony_ci
4259da0c48c4Sopenharmony_ci	* ar.c (do_oper_insert): Initialize CUR_OFF in no_old case.
4260da0c48c4Sopenharmony_ci	Unconditionally set FOUND[CNT]->elf when setting ->mem.
4261da0c48c4Sopenharmony_ci	(remember_long_name): New function.
4262da0c48c4Sopenharmony_ci	(do_oper_insert): Call it.  Correctly use length of basename,
4263da0c48c4Sopenharmony_ci	not original name.  Don't store long name twice for new member.
4264da0c48c4Sopenharmony_ci
4265da0c48c4Sopenharmony_ci2007-10-06  Roland McGrath  <roland@redhat.com>
4266da0c48c4Sopenharmony_ci
4267da0c48c4Sopenharmony_ci	* elflint.c (check_note): Skip empty segment.
4268da0c48c4Sopenharmony_ci	(check_note_section): Skip empty section.
4269da0c48c4Sopenharmony_ci
4270da0c48c4Sopenharmony_ci	* unstrip.c (options, parse_opt, struct arg_info): Grok -R/--relocate.
4271da0c48c4Sopenharmony_ci	(handle_output_dir_module, handle_implicit_modules): Pass it down.
4272da0c48c4Sopenharmony_ci	(handle_dwfl_module): When set, use ET_REL already loaded by Dwfl.
4273da0c48c4Sopenharmony_ci	(compare_alloc_sections): Take new arg REL, ignore address if true.
4274da0c48c4Sopenharmony_ci	(compare_sections): Likewise, pass it down.
4275da0c48c4Sopenharmony_ci	(compare_sections_rel, compare_sections_nonrel): New functions.
4276da0c48c4Sopenharmony_ci	(find_alloc_sections_prelink, copy_elided_sections): Use them
4277da0c48c4Sopenharmony_ci	instead of compare_sections.
4278da0c48c4Sopenharmony_ci	(sections_match): New function, broken out of ...
4279da0c48c4Sopenharmony_ci	(find_alloc_section): ... here.
4280da0c48c4Sopenharmony_ci	(copy_elided_sections): Reorganize section match-up logic.
4281da0c48c4Sopenharmony_ci	Use sections_match for SHF_ALLOC in ET_REL.
4282da0c48c4Sopenharmony_ci	For ET_REL, let the nonzero sh_addr from the debug file dominate.
4283da0c48c4Sopenharmony_ci
4284da0c48c4Sopenharmony_ci	* unstrip.c (add_new_section_symbols): Take new arg REL.
4285da0c48c4Sopenharmony_ci	When true, do not update section symbol values.
4286da0c48c4Sopenharmony_ci	(collect_symbols): Likewise.  Update section symbols with address
4287da0c48c4Sopenharmony_ci	of chosen output section, not original section.
4288da0c48c4Sopenharmony_ci	(check_symtab_section_symbols, copy_elided_sections): Update callers.
4289da0c48c4Sopenharmony_ci
4290da0c48c4Sopenharmony_ci	* unstrip.c (compare_alloc_sections): At the same address, preserve
4291da0c48c4Sopenharmony_ci	original section order.
4292da0c48c4Sopenharmony_ci
4293da0c48c4Sopenharmony_ci	* elflint.c (special_sections): Don't require MERGE|STRINGS for
4294da0c48c4Sopenharmony_ci	.debug_str, it didn't always have them with older tools.
4295da0c48c4Sopenharmony_ci
4296da0c48c4Sopenharmony_ci	* elflint.c (check_symtab, check_one_reloc): Ignore sh_addr in ET_REL.
4297da0c48c4Sopenharmony_ci
4298da0c48c4Sopenharmony_ci2007-10-05  Roland McGrath  <roland@redhat.com>
4299da0c48c4Sopenharmony_ci
4300da0c48c4Sopenharmony_ci	* elflint.c (check_symtab): Allow SHN_UNDEF _GLOBAL_OFFSET_TABLE_ in
4301da0c48c4Sopenharmony_ci	ET_REL file.
4302da0c48c4Sopenharmony_ci
4303da0c48c4Sopenharmony_ci	* elflint.c (check_symtab): For _GLOBAL_OFFSET_TABLE_, diagnose
4304da0c48c4Sopenharmony_ci	SHN_UNDEF as "bad section".  Use shndx value in messages.
4305da0c48c4Sopenharmony_ci
4306da0c48c4Sopenharmony_ci	* elflint.c (special_sections): Add ".debug_str".  Decrement namelen
4307da0c48c4Sopenharmony_ci	for ".debug" so it matches as a prefix.
4308da0c48c4Sopenharmony_ci	(IS_KNOWN_SPECIAL): New macro.
4309da0c48c4Sopenharmony_ci	(check_sections): Use it for ".plt" match.  Cite wrong SHT_NOBITS
4310da0c48c4Sopenharmony_ci	type even under -d, for a .debug* or .shstrtab section.
4311da0c48c4Sopenharmony_ci
4312da0c48c4Sopenharmony_ci	* readelf.c (print_ops): Use hex for address operand.
4313da0c48c4Sopenharmony_ci
4314da0c48c4Sopenharmony_ci2007-10-04  Roland McGrath  <roland@redhat.com>
4315da0c48c4Sopenharmony_ci
4316da0c48c4Sopenharmony_ci	* unstrip.c (copy_elided_sections): Initialize NDX_SECTION element for
4317da0c48c4Sopenharmony_ci	.gnu_debuglink section to SHN_UNDEF.  Drop STT_SECTION symbols for
4318da0c48c4Sopenharmony_ci	sections mapped to SHN_UNDEF.
4319da0c48c4Sopenharmony_ci
4320da0c48c4Sopenharmony_ci2007-10-04  Ulrich Drepper  <drepper@redhat.com>
4321da0c48c4Sopenharmony_ci
4322da0c48c4Sopenharmony_ci	* readelf.c (dump_archive_index): Avoid warning about uninitialized
4323da0c48c4Sopenharmony_ci	variable with older glibc versions.
4324da0c48c4Sopenharmony_ci	Add some branch prediction.
4325da0c48c4Sopenharmony_ci
4326da0c48c4Sopenharmony_ci2007-10-04  Roland McGrath  <roland@redhat.com>
4327da0c48c4Sopenharmony_ci
4328da0c48c4Sopenharmony_ci	* readelf.c (print_archive_index): New variable.
4329da0c48c4Sopenharmony_ci	(options, parse_opt): Accept -c/--archive-index to set it.
4330da0c48c4Sopenharmony_ci	(dump_archive_index): New function.
4331da0c48c4Sopenharmony_ci	(process_file): Take new arg WILL_PRINT_ARCHIVE_INDEX.
4332da0c48c4Sopenharmony_ci	Call dump_archive_index on archives if set.
4333da0c48c4Sopenharmony_ci	(main): Update caller.
4334da0c48c4Sopenharmony_ci	(any_control_option): Give it file scope, moved out of ...
4335da0c48c4Sopenharmony_ci	(parse_opt): ... here.
4336da0c48c4Sopenharmony_ci
4337da0c48c4Sopenharmony_ci2007-10-03  Roland McGrath  <roland@redhat.com>
4338da0c48c4Sopenharmony_ci
4339da0c48c4Sopenharmony_ci	* unstrip.c (struct arg_info): Add `list' flag.
4340da0c48c4Sopenharmony_ci	(options, parse_opt): Grok -n/--list to set it.
4341da0c48c4Sopenharmony_ci	(list_module): New function.
4342da0c48c4Sopenharmony_ci	(handle_implicit_modules): Call it under -n.
4343da0c48c4Sopenharmony_ci
4344da0c48c4Sopenharmony_ci	* elflint.c (check_note_section): New function.
4345da0c48c4Sopenharmony_ci	(check_sections): Call it for SHT_NOTE.
4346da0c48c4Sopenharmony_ci
4347da0c48c4Sopenharmony_ci	* readelf.c (handle_notes): Use sections when available.
4348da0c48c4Sopenharmony_ci
4349da0c48c4Sopenharmony_ci	* elflint.c (check_note_data): New function, broken out of ...
4350da0c48c4Sopenharmony_ci	(check_note): ... here.  Call it and elf_getdata_rawchunk.
4351da0c48c4Sopenharmony_ci
4352da0c48c4Sopenharmony_ci	* readelf.c (handle_auxv_note): Take offset as argument, not buffer.
4353da0c48c4Sopenharmony_ci	Use elf_getdata_rawchunk and gelf_getauxv.
4354da0c48c4Sopenharmony_ci	(handle_notes_data): New function, broken out of ...
4355da0c48c4Sopenharmony_ci	(handle_notes): ... here.  Call it and elf_getdata_rawchunk.
4356da0c48c4Sopenharmony_ci
4357da0c48c4Sopenharmony_ci2007-10-01  Roland McGrath  <roland@redhat.com>
4358da0c48c4Sopenharmony_ci
4359da0c48c4Sopenharmony_ci	* readelf.c (hex_dump): Fix transposed subtraction generating spaces.
4360da0c48c4Sopenharmony_ci
4361da0c48c4Sopenharmony_ci	* readelf.c (hex_dump): Fix line header to be hex instead of decimal.
4362da0c48c4Sopenharmony_ci
4363da0c48c4Sopenharmony_ci2007-09-10  Roland McGrath  <roland@redhat.com>
4364da0c48c4Sopenharmony_ci
4365da0c48c4Sopenharmony_ci	* readelf.c (options): Give -p optional argument, alias --string-dump.
4366da0c48c4Sopenharmony_ci	(string_sections, string_sections_tail): New static variables.
4367da0c48c4Sopenharmony_ci	(parse_opt): Set them when -p has an argument.
4368da0c48c4Sopenharmony_ci	(print_string_section): New function, broken out of ...
4369da0c48c4Sopenharmony_ci	(print_strings): ... here.  Call it.
4370da0c48c4Sopenharmony_ci	(dump_data_section): New function, broken out of ...
4371da0c48c4Sopenharmony_ci	(dump_data): ... here.  Call it.
4372da0c48c4Sopenharmony_ci	(for_each_section_argument): New function, broken out of ...
4373da0c48c4Sopenharmony_ci	(dump_data): ... here.  Call it.
4374da0c48c4Sopenharmony_ci	(dump_strings): New function.
4375da0c48c4Sopenharmony_ci
4376da0c48c4Sopenharmony_ci2007-08-31  Roland McGrath  <roland@redhat.com>
4377da0c48c4Sopenharmony_ci
4378da0c48c4Sopenharmony_ci	* readelf.c (print_strings): Typo fix.
4379da0c48c4Sopenharmony_ci
4380da0c48c4Sopenharmony_ci2007-08-23  Roland McGrath  <roland@redhat.com>
4381da0c48c4Sopenharmony_ci
4382da0c48c4Sopenharmony_ci	* readelf.c (printf_with_wrap): Function removed.
4383da0c48c4Sopenharmony_ci	(REGISTER_WRAP_COLUMN): New macro.
4384da0c48c4Sopenharmony_ci	(handle_core_register): Use print_core_item instead.
4385da0c48c4Sopenharmony_ci	(struct register_info): New type.
4386da0c48c4Sopenharmony_ci	(compare_registers, compare_register_sets): New functions.
4387da0c48c4Sopenharmony_ci	(register_bitpos, compare_sets_by_info): New functions.
4388da0c48c4Sopenharmony_ci	(handle_core_registers): Use those to segregate and sort registers
4389da0c48c4Sopenharmony_ci	for display.
4390da0c48c4Sopenharmony_ci
4391da0c48c4Sopenharmony_ci	* readelf.c (ITEM_WRAP_COLUMN): New macro.
4392da0c48c4Sopenharmony_ci	(print_core_item): New function.
4393da0c48c4Sopenharmony_ci	(handle_core_item): Use it instead of printf_with_wrap.
4394da0c48c4Sopenharmony_ci	(compare_core_items, compare_core_item_groups): New functions.
4395da0c48c4Sopenharmony_ci	(handle_core_items): Use them.  Sort by group and force line breaks
4396da0c48c4Sopenharmony_ci	between groups.
4397da0c48c4Sopenharmony_ci
4398da0c48c4Sopenharmony_ci	* readelf.c (handle_core_registers, handle_core_items): New functions,
4399da0c48c4Sopenharmony_ci	broken out of ...
4400da0c48c4Sopenharmony_ci	(handle_core_note): ... here.   Call them.
4401da0c48c4Sopenharmony_ci
4402da0c48c4Sopenharmony_ci2007-08-22  Roland McGrath  <roland@redhat.com>
4403da0c48c4Sopenharmony_ci
4404da0c48c4Sopenharmony_ci	* unstrip.c (new_shstrtab): New function, broken out of ...
4405da0c48c4Sopenharmony_ci	(copy_elided_sections): ... here.
4406da0c48c4Sopenharmony_ci
4407da0c48c4Sopenharmony_ci2007-08-20  Roland McGrath  <roland@redhat.com>
4408da0c48c4Sopenharmony_ci
4409da0c48c4Sopenharmony_ci	Avoid local function trampolines in nm binary.
4410da0c48c4Sopenharmony_ci	* nm.c (sort_by_address): Move to a static function instead of local
4411da0c48c4Sopenharmony_ci	inside show_symbols.
4412da0c48c4Sopenharmony_ci	(sort_by_name_strtab): New static variable.
4413da0c48c4Sopenharmony_ci	(sort_by_name): Use it.  Move to a static function instead of local
4414da0c48c4Sopenharmony_ci	inside show_symbols.
4415da0c48c4Sopenharmony_ci	(show_symbols): Set sort_by_name_strtab.
4416da0c48c4Sopenharmony_ci
4417da0c48c4Sopenharmony_ci2007-08-19  Roland McGrath  <roland@redhat.com>
4418da0c48c4Sopenharmony_ci
4419da0c48c4Sopenharmony_ci	* readelf.c (handle_auxv_note): New function.
4420da0c48c4Sopenharmony_ci	(handle_notes): Call it.
4421da0c48c4Sopenharmony_ci
4422da0c48c4Sopenharmony_ci	* readelf.c (printf_with_wrap, convert): New functions.
4423da0c48c4Sopenharmony_ci	(handle_core_item, (handle_core_register): New functions.
4424da0c48c4Sopenharmony_ci	(handle_notes): Call those with details from ebl_core_note.
4425da0c48c4Sopenharmony_ci
4426da0c48c4Sopenharmony_ci2007-08-12  Roland McGrath  <roland@redhat.com>
4427da0c48c4Sopenharmony_ci
4428da0c48c4Sopenharmony_ci	* elflint.c (check_note): Accept type 0 with name "Linux".
4429da0c48c4Sopenharmony_ci
4430da0c48c4Sopenharmony_ci	* elflint.c (special_sections): Accept SHF_ALLOC for ".note".
4431da0c48c4Sopenharmony_ci
4432da0c48c4Sopenharmony_ci	* elflint.c (section_flags_string): Return "none" for 0, not "".
4433da0c48c4Sopenharmony_ci
4434da0c48c4Sopenharmony_ci2007-08-11  Roland McGrath  <roland@redhat.com>
4435da0c48c4Sopenharmony_ci
4436da0c48c4Sopenharmony_ci	* elflint.c (check_note): Accept NT_GNU_HWCAP, NT_GNU_BUILD_ID.
4437da0c48c4Sopenharmony_ci
4438da0c48c4Sopenharmony_ci2007-08-04  Ulrich Drepper  <drepper@redhat.com>
4439da0c48c4Sopenharmony_ci
4440da0c48c4Sopenharmony_ci	* readelf.c (hex_dump): Use isprint to determine whether to print
4441da0c48c4Sopenharmony_ci	character itself or full stop character.
4442da0c48c4Sopenharmony_ci	(dump_data): No need to check endp for NULL after strtol call.
4443da0c48c4Sopenharmony_ci
4444da0c48c4Sopenharmony_ci2007-08-03  Roland McGrath  <roland@redhat.com>
4445da0c48c4Sopenharmony_ci
4446da0c48c4Sopenharmony_ci	* readelf.c (print_string_sections): New variable.
4447da0c48c4Sopenharmony_ci	(options, parse_opt): Handle --strings/-p to set it.
4448da0c48c4Sopenharmony_ci	(print_strings): New function.
4449da0c48c4Sopenharmony_ci	(process_elf_file): Call it under -p.
4450da0c48c4Sopenharmony_ci
4451da0c48c4Sopenharmony_ci	* readelf.c (options): Add hidden aliases --segments, --sections,
4452da0c48c4Sopenharmony_ci	as taken by binutils readelf.
4453da0c48c4Sopenharmony_ci
4454da0c48c4Sopenharmony_ci2007-08-01  Roland McGrath  <roland@redhat.com>
4455da0c48c4Sopenharmony_ci
4456da0c48c4Sopenharmony_ci	* readelf.c (dump_data_sections, dump_data_sections_tail):
4457da0c48c4Sopenharmony_ci	New variables.
4458da0c48c4Sopenharmony_ci	(options, parse_opt): Handle --hex-dump/-x, set them.
4459da0c48c4Sopenharmony_ci	(hex_dump): New function.
4460da0c48c4Sopenharmony_ci	(dump_data): New function, call it.
4461da0c48c4Sopenharmony_ci	(process_elf_file): Call it.
4462da0c48c4Sopenharmony_ci
4463da0c48c4Sopenharmony_ci2007-07-25  Roland McGrath  <roland@redhat.com>
4464da0c48c4Sopenharmony_ci
4465da0c48c4Sopenharmony_ci	* addr2line.c (show_symbols): New variable.
4466da0c48c4Sopenharmony_ci	(print_addrsym): New function.
4467da0c48c4Sopenharmony_ci	(handle_address): Call it.
4468da0c48c4Sopenharmony_ci	(options, parse_opt): Handle -S/--symbols.
4469da0c48c4Sopenharmony_ci
4470da0c48c4Sopenharmony_ci2007-06-05  Ulrich Drepper  <drepper@redhat.com>
4471da0c48c4Sopenharmony_ci
4472da0c48c4Sopenharmony_ci	* addr2line.c: Update for latest autoconf header.
4473da0c48c4Sopenharmony_ci	* ar.c: Likewise.
4474da0c48c4Sopenharmony_ci	* elfcmp.c: Likewise.
4475da0c48c4Sopenharmony_ci	* elflint.c: Likewise.
4476da0c48c4Sopenharmony_ci	* findtextrel.c: Likewise.
4477da0c48c4Sopenharmony_ci	* ld.c: Likewise.
4478da0c48c4Sopenharmony_ci	* ldgeneric.c: Likewise.
4479da0c48c4Sopenharmony_ci	* nm.c: Likewise.
4480da0c48c4Sopenharmony_ci	* objdump.c: Likewise.
4481da0c48c4Sopenharmony_ci	* ranlib.c: Likewise.
4482da0c48c4Sopenharmony_ci	* readelf.c: Likewise.
4483da0c48c4Sopenharmony_ci	* size.c: Likewise.
4484da0c48c4Sopenharmony_ci	* strings.c: Likewise.
4485da0c48c4Sopenharmony_ci	* strip.c: Likewise.
4486da0c48c4Sopenharmony_ci	* unstrip.c: Likewise.
4487da0c48c4Sopenharmony_ci
4488da0c48c4Sopenharmony_ci2007-05-18  Roland McGrath  <roland@redhat.com>
4489da0c48c4Sopenharmony_ci
4490da0c48c4Sopenharmony_ci	* unstrip.c (copy_elided_sections): Match up non-NOBITS sections with
4491da0c48c4Sopenharmony_ci	stripped file, so as not to duplicate a section copied in both.
4492da0c48c4Sopenharmony_ci
4493da0c48c4Sopenharmony_ci	* strip.c (handle_elf): Keep SHT_NOTE section copies in the debug file.
4494da0c48c4Sopenharmony_ci
4495da0c48c4Sopenharmony_ci2007-05-17  Roland McGrath  <roland@redhat.com>
4496da0c48c4Sopenharmony_ci
4497da0c48c4Sopenharmony_ci	* unstrip.c (copy_elided_sections): Don't call gelf_newphdr for 0.
4498da0c48c4Sopenharmony_ci
4499da0c48c4Sopenharmony_ci	* unstrip.c (handle_file): Tweak BIAS != 0 warning.
4500da0c48c4Sopenharmony_ci
4501da0c48c4Sopenharmony_ci	* unstrip.c (handle_file): Take new arg CREATE_DIRS.  If set,
4502da0c48c4Sopenharmony_ci	call make_directories here.
4503da0c48c4Sopenharmony_ci	(handle_explicit_files): Take new arg CREATE_DIRS, pass it down.
4504da0c48c4Sopenharmony_ci	(handle_dwfl_module): Likewise.
4505da0c48c4Sopenharmony_ci	(handle_implicit_modules): Update callers.
4506da0c48c4Sopenharmony_ci	(handle_output_dir_module): Likewise.  Don't do make_directories here.
4507da0c48c4Sopenharmony_ci
4508da0c48c4Sopenharmony_ci	* unstrip.c (get_section_name): New function, broken out of ...
4509da0c48c4Sopenharmony_ci	(copy_elided_sections): here.  Update callers.
4510da0c48c4Sopenharmony_ci	(find_alloc_section): Broken out of ...
4511da0c48c4Sopenharmony_ci	(copy_elided_sections): ... here.  Update caller.
4512da0c48c4Sopenharmony_ci	(symtab_count_leading_section_symbols): Take new arg NEWSYMDATA,
4513da0c48c4Sopenharmony_ci	update STT_SECTION symbols' st_value fields as a side effect.
4514da0c48c4Sopenharmony_ci	(check_symtab_section_symbols): Update caller.
4515da0c48c4Sopenharmony_ci	(add_new_section_symbols): Set st_value in symbols added.
4516da0c48c4Sopenharmony_ci	(collect_symbols): Reset S->value for STT_SECTION symbols recorded.
4517da0c48c4Sopenharmony_ci	Take new arg SPLIT_BSS.  Adjust S->shndx recorded for symbols moved
4518da0c48c4Sopenharmony_ci	from .bss to .dynbss.
4519da0c48c4Sopenharmony_ci	(find_alloc_sections_prelink): New function.  Associate debug file
4520da0c48c4Sopenharmony_ci	allocated SHT_NOBITS shdrs with stripped moved by prelink via
4521da0c48c4Sopenharmony_ci	.gnu.prelink_undo information.
4522da0c48c4Sopenharmony_ci	(copy_elided_sections): Call it when we couldn't find every allocated
4523da0c48c4Sopenharmony_ci	section.  Don't use a debug file non-NOBITS section if SHF_ALLOC.
4524da0c48c4Sopenharmony_ci	Take STRIPPED_EHDR arg instead of E_TYPE and PHNUM.
4525da0c48c4Sopenharmony_ci	(handle_file): Update callers.
4526da0c48c4Sopenharmony_ci
4527da0c48c4Sopenharmony_ci	* unstrip.c (copy_elided_sections): Ignore unfound unallocated section
4528da0c48c4Sopenharmony_ci	named ".comment".
4529da0c48c4Sopenharmony_ci
4530da0c48c4Sopenharmony_ci	* elflint.c (check_sections): Fix association of segments with
4531da0c48c4Sopenharmony_ci	sections when p_memsz > p_filesz.
4532da0c48c4Sopenharmony_ci
4533da0c48c4Sopenharmony_ci2007-04-29  Roland McGrath  <roland@redhat.com>
4534da0c48c4Sopenharmony_ci
4535da0c48c4Sopenharmony_ci	* addr2line.c (options, main): Tweak argp group settings to fix
4536da0c48c4Sopenharmony_ci	usage output.
4537da0c48c4Sopenharmony_ci
4538da0c48c4Sopenharmony_ci2007-04-28  Roland McGrath  <roland@redhat.com>
4539da0c48c4Sopenharmony_ci
4540da0c48c4Sopenharmony_ci	* strip.c (handle_elf): Update debug file's SHT_NOBITS sections'
4541da0c48c4Sopenharmony_ci	sizes to match sections adjusted in the stripped file.
4542da0c48c4Sopenharmony_ci
4543da0c48c4Sopenharmony_ci2007-04-24  Roland McGrath  <roland@redhat.com>
4544da0c48c4Sopenharmony_ci
4545da0c48c4Sopenharmony_ci	* elfcmp.c (OPT_HASH_INEXACT): New macro.
4546da0c48c4Sopenharmony_ci	(hash_inexact): New variable.
4547da0c48c4Sopenharmony_ci	(options, parse_opt): Add --hash-inexact option to set it.
4548da0c48c4Sopenharmony_ci	(hash_content_equivalent): New function.
4549da0c48c4Sopenharmony_ci	(main): Call it for differing SHT_HASH sections under --hash-inexact.
4550da0c48c4Sopenharmony_ci
4551da0c48c4Sopenharmony_ci2007-04-23  Roland McGrath  <roland@redhat.com>
4552da0c48c4Sopenharmony_ci
4553da0c48c4Sopenharmony_ci	* unstrip.c: New file.
4554da0c48c4Sopenharmony_ci	* Makefile.am (bin_PROGRAMS): Add it.
4555da0c48c4Sopenharmony_ci	(unstrip_LDADD): New variable.
4556da0c48c4Sopenharmony_ci
4557da0c48c4Sopenharmony_ci	* strip.c (options): Allow --output for -o.
4558da0c48c4Sopenharmony_ci
4559da0c48c4Sopenharmony_ci2007-02-15  Ulrich Drepper  <drepper@redhat.com>
4560da0c48c4Sopenharmony_ci
4561da0c48c4Sopenharmony_ci	* readelf.c: Remove unused code.  Add a few consts.
4562da0c48c4Sopenharmony_ci
4563da0c48c4Sopenharmony_ci2007-02-15  Roland McGrath  <roland@redhat.com>
4564da0c48c4Sopenharmony_ci
4565da0c48c4Sopenharmony_ci	* readelf.c (print_debug): Fix brainos in SHDR test.
4566da0c48c4Sopenharmony_ci
4567da0c48c4Sopenharmony_ci2007-02-05  Roland McGrath  <roland@redhat.com>
4568da0c48c4Sopenharmony_ci
4569da0c48c4Sopenharmony_ci	* ar.c: Include <limits.h>, since we use LONG_MAX.
4570da0c48c4Sopenharmony_ci
4571da0c48c4Sopenharmony_ci2007-02-05  Ulrich Drepper  <drepper@redhat.com>
4572da0c48c4Sopenharmony_ci
4573da0c48c4Sopenharmony_ci	* ar.c: Add ugly hack to work around gcc complaining that we
4574da0c48c4Sopenharmony_ci	ignore fchown's return value.
4575da0c48c4Sopenharmony_ci	(do_oper_insert): Handle error when writing padding.
4576da0c48c4Sopenharmony_ci	* ranlib.c: Add fchown complain work around.
4577da0c48c4Sopenharmony_ci
4578da0c48c4Sopenharmony_ci	* arlib.c: Make symtab a global variable.  Change all users.
4579da0c48c4Sopenharmony_ci	* arlib2.c: Likewise.
4580da0c48c4Sopenharmony_ci	* ranlib.c: Likewise.
4581da0c48c4Sopenharmony_ci	* ar.c: Likewise.
4582da0c48c4Sopenharmony_ci	* arlib.h: Declare it.
4583da0c48c4Sopenharmony_ci
4584da0c48c4Sopenharmony_ci2007-01-11  Roland McGrath  <roland@redhat.com>
4585da0c48c4Sopenharmony_ci
4586da0c48c4Sopenharmony_ci	* elflint.c (check_sections): Use ebl_machine_section_flag_check on
4587da0c48c4Sopenharmony_ci	SHF_MASKPROC bits separately from generic sh_flags validation.
4588da0c48c4Sopenharmony_ci
4589da0c48c4Sopenharmony_ci2007-02-04  Ulrich Drepper  <drepper@redhat.com>
4590da0c48c4Sopenharmony_ci
4591da0c48c4Sopenharmony_ci	* ar.c: New file.
4592da0c48c4Sopenharmony_ci	* arlib.c: New file.
4593da0c48c4Sopenharmony_ci	* arlib2.c: New file.
4594da0c48c4Sopenharmony_ci	* arlib.h: New file.
4595da0c48c4Sopenharmony_ci	* Makefile (noinst_LIBRARIES): Add libar.
4596da0c48c4Sopenharmony_ci	(libar_a_SOURCES): Define.
4597da0c48c4Sopenharmony_ci	(ar_LDADD): Define.
4598da0c48c4Sopenharmony_ci	(CFLAGS_ar): Define.
4599da0c48c4Sopenharmony_ci	* ranlib.c: Change to use arlib.
4600da0c48c4Sopenharmony_ci
4601da0c48c4Sopenharmony_ci	* elflint.c (check_symtab): Work around GNU ld bug which omits
4602da0c48c4Sopenharmony_ci	sections but not symbols in those sections.
4603da0c48c4Sopenharmony_ci
4604da0c48c4Sopenharmony_ci2007-01-10  Ulrich Drepper  <drepper@redhat.com>
4605da0c48c4Sopenharmony_ci
4606da0c48c4Sopenharmony_ci	* addr2line.c: Update copyright year.
4607da0c48c4Sopenharmony_ci	* elfcmp.c: Likewise.
4608da0c48c4Sopenharmony_ci	* elflint.c: Likewise.
4609da0c48c4Sopenharmony_ci	* findtextrel.c: Likewise.
4610da0c48c4Sopenharmony_ci	* ld.c: Likewise.
4611da0c48c4Sopenharmony_ci	* nm.c: Likewise.
4612da0c48c4Sopenharmony_ci	* objdump.c: Likewise.
4613da0c48c4Sopenharmony_ci	* ranlib.c:  Likewise.
4614da0c48c4Sopenharmony_ci	* readelf.c: Likewise.
4615da0c48c4Sopenharmony_ci	* size.c: Likewise.
4616da0c48c4Sopenharmony_ci	* strings.c: Likewise.
4617da0c48c4Sopenharmony_ci	* strip.c: Likewise.
4618da0c48c4Sopenharmony_ci
4619da0c48c4Sopenharmony_ci2006-12-09  Ulrich Drepper  <drepper@redhat.com>
4620da0c48c4Sopenharmony_ci
4621da0c48c4Sopenharmony_ci	* elflint.c (compare_hash_gnu_hash): New function.  Report if the
4622da0c48c4Sopenharmony_ci	two hash tables have different content (module expected omission
4623da0c48c4Sopenharmony_ci	of undefined symbols).
4624da0c48c4Sopenharmony_ci
4625da0c48c4Sopenharmony_ci2006-10-31  Roland McGrath  <roland@redhat.com>
4626da0c48c4Sopenharmony_ci
4627da0c48c4Sopenharmony_ci	* elflint.c (check_program_header): Don't complain about
4628da0c48c4Sopenharmony_ci	p_filesz > p_memsz if p_memsz is zero and p_type is PT_NOTE.
4629da0c48c4Sopenharmony_ci
4630da0c48c4Sopenharmony_ci2006-09-19  Jakub Jelinek  <jakub@redhat.com>
4631da0c48c4Sopenharmony_ci
4632da0c48c4Sopenharmony_ci	* strip.c (process_file): Disallow -f on archives.
4633da0c48c4Sopenharmony_ci
4634da0c48c4Sopenharmony_ci2006-10-09  Roland McGrath  <roland@redhat.com>
4635da0c48c4Sopenharmony_ci
4636da0c48c4Sopenharmony_ci	* Makefile.am (libld_elf_i386.so): Use $(LINK), not $(CC).
4637da0c48c4Sopenharmony_ci
4638da0c48c4Sopenharmony_ci2006-08-29  Roland McGrath  <roland@redhat.com>
4639da0c48c4Sopenharmony_ci
4640da0c48c4Sopenharmony_ci	* Makefile.am (MAINTAINERCLEANFILES): New variable.
4641da0c48c4Sopenharmony_ci
4642da0c48c4Sopenharmony_ci	* readelf.c (handle_relocs_rel): Typo fix, test DESTSHDR properly.
4643da0c48c4Sopenharmony_ci	Reported by Christian Aichinger <Greek0@gmx.net>.
4644da0c48c4Sopenharmony_ci
4645da0c48c4Sopenharmony_ci	* elflint.c (valid_e_machine): Add EM_ALPHA.
4646da0c48c4Sopenharmony_ci	Reported by Christian Aichinger <Greek0@gmx.net>.
4647da0c48c4Sopenharmony_ci
4648da0c48c4Sopenharmony_ci2006-08-08  Ulrich Drepper  <drepper@redhat.com>
4649da0c48c4Sopenharmony_ci
4650da0c48c4Sopenharmony_ci	* elflint.c (check_dynamic): Don't require DT_HASH for DT_SYMTAB.
4651da0c48c4Sopenharmony_ci	Keep track of which "high DT" entries are present.
4652da0c48c4Sopenharmony_ci	Check that either old or GNU-style hash table is present.
4653da0c48c4Sopenharmony_ci	If GNU-style hash table is used a symbol table is mandatory.
4654da0c48c4Sopenharmony_ci	Check that if any prelink entry is present all of them are.
4655da0c48c4Sopenharmony_ci	(check_gnu_hash): Only fail for undefined symbols in GNU-style hash
4656da0c48c4Sopenharmony_ci	table if they don't refer to functions.
4657da0c48c4Sopenharmony_ci
4658da0c48c4Sopenharmony_ci2006-07-17  Roland McGrath  <roland@redhat.com>
4659da0c48c4Sopenharmony_ci
4660da0c48c4Sopenharmony_ci	* elflint.c (struct version_namelist): Use GElf_Versym for `ndx' field.
4661da0c48c4Sopenharmony_ci	(add_version): Likewise for argument.
4662da0c48c4Sopenharmony_ci	(check_versym): Cast constant to GElf_Versym for comparison.
4663da0c48c4Sopenharmony_ci
4664da0c48c4Sopenharmony_ci2006-07-12  Roland McGrath  <roland@redhat.com>
4665da0c48c4Sopenharmony_ci
4666da0c48c4Sopenharmony_ci	* readelf.c (handle_gnu_hash): Add casts for machines where
4667da0c48c4Sopenharmony_ci	Elf32_Word != unsigned int.
4668da0c48c4Sopenharmony_ci
4669da0c48c4Sopenharmony_ci2006-07-12  Ulrich Drepper  <drepper@redhat.com>
4670da0c48c4Sopenharmony_ci
4671da0c48c4Sopenharmony_ci	* elflint.c (check_sysv_hash64): Fix printf format.
4672da0c48c4Sopenharmony_ci
4673da0c48c4Sopenharmony_ci2006-07-11  Roland McGrath  <roland@redhat.com>
4674da0c48c4Sopenharmony_ci
4675da0c48c4Sopenharmony_ci	* addr2line.c (options): English fix in -f doc string.
4676da0c48c4Sopenharmony_ci
4677da0c48c4Sopenharmony_ci	* addr2line.c (use_comp_dir): New variable.
4678da0c48c4Sopenharmony_ci	(options, parse_opt): Grok -A/--absolute to set it.
4679da0c48c4Sopenharmony_ci	(handle_address): If set, prepend dwfl_line_comp_dir results to
4680da0c48c4Sopenharmony_ci	relative file names.
4681da0c48c4Sopenharmony_ci
4682da0c48c4Sopenharmony_ci2006-07-06  Ulrich Drepper  <drepper@redhat.com>
4683da0c48c4Sopenharmony_ci
4684da0c48c4Sopenharmony_ci	* elflint.c: Adjust for latest new hash table format.
4685da0c48c4Sopenharmony_ci	* readelf.c: Likewise.
4686da0c48c4Sopenharmony_ci
4687da0c48c4Sopenharmony_ci	* elflint.c (check_versym): Ignore hidden bit when comparing version
4688da0c48c4Sopenharmony_ci	numbers.
4689da0c48c4Sopenharmony_ci
4690da0c48c4Sopenharmony_ci2006-07-05  Ulrich Drepper  <drepper@redhat.com>
4691da0c48c4Sopenharmony_ci
4692da0c48c4Sopenharmony_ci	* ldgeneric.c (ld_generic_create_outfile): Correctly recognize
4693da0c48c4Sopenharmony_ci	discarded COMDAT symbols.
4694da0c48c4Sopenharmony_ci
4695da0c48c4Sopenharmony_ci	* i386_ld.c (elf_i386_count_relocations): Lot of corrections.
4696da0c48c4Sopenharmony_ci	(elf_i386_create_relocations): Likewise.
4697da0c48c4Sopenharmony_ci	* ld.h (struct symbol): Add local and hidden bits.
4698da0c48c4Sopenharmony_ci	* ld.c (create_special_section_symbol): These synthsized symbols
4699da0c48c4Sopenharmony_ci	are local and hidden.
4700da0c48c4Sopenharmony_ci	* ldgeneric.c (file_process2): Check whether input file matches
4701da0c48c4Sopenharmony_ci	the emulation.
4702da0c48c4Sopenharmony_ci	(fillin_special_symbol): Create symbols as local and/or hidden
4703da0c48c4Sopenharmony_ci	if requested.
4704da0c48c4Sopenharmony_ci	(ld_generic_create_outfile): Make local copy of symbol.
4705da0c48c4Sopenharmony_ci	Don't hide global, defined symbols in dynamic symbol table unless
4706da0c48c4Sopenharmony_ci	requested.  Synthetic symbols have no version information.
4707da0c48c4Sopenharmony_ci
4708da0c48c4Sopenharmony_ci	* elflint.c: Add support for checking 64-bit SysV-style hash tables.
4709da0c48c4Sopenharmony_ci	* readelf.c: Add support for printing 64-bit SysV-style hash tables.
4710da0c48c4Sopenharmony_ci
4711da0c48c4Sopenharmony_ci2006-07-04  Ulrich Drepper  <drepper@redhat.com>
4712da0c48c4Sopenharmony_ci
4713da0c48c4Sopenharmony_ci	* elflint.c (is_rel_dyn): Fix and extend DT_RELCOUNT/DT_RELACOUNT
4714da0c48c4Sopenharmony_ci	testing.
4715da0c48c4Sopenharmony_ci
4716da0c48c4Sopenharmony_ci2006-07-03  Ulrich Drepper  <drepper@redhat.com>
4717da0c48c4Sopenharmony_ci
4718da0c48c4Sopenharmony_ci	* elflint.c: Add testing of DT_GNU_HASH.
4719da0c48c4Sopenharmony_ci	* readelf.c: Implement showing histogram for DT_GNU_HASH section.
4720da0c48c4Sopenharmony_ci
4721da0c48c4Sopenharmony_ci	* Makefile.am: Add hacks to create dependency files for non-generic
4722da0c48c4Sopenharmony_ci	linker.
4723da0c48c4Sopenharmony_ci
4724da0c48c4Sopenharmony_ci2006-06-12  Ulrich Drepper  <drepper@redhat.com>
4725da0c48c4Sopenharmony_ci
4726da0c48c4Sopenharmony_ci	* ldgeneric.c (ld_generic_generate_sections): Don't create .interp
4727da0c48c4Sopenharmony_ci	section if creating a DSO and no interpreter is given.
4728da0c48c4Sopenharmony_ci	(ld_generic_create_outfile): Don't store reference to symbols in
4729da0c48c4Sopenharmony_ci	discarded COMDAT groups.  Don't create PHDR and INTERP program header
4730da0c48c4Sopenharmony_ci	for DSO if no interpreter is specified.
4731da0c48c4Sopenharmony_ci	(create_verneed_data): Pretty printing.
4732da0c48c4Sopenharmony_ci
4733da0c48c4Sopenharmony_ci	* ldscript.y (content): If a DSO is created don't set default
4734da0c48c4Sopenharmony_ci	interpreter from linker script.
4735da0c48c4Sopenharmony_ci
4736da0c48c4Sopenharmony_ci	* i386_ld.c (elf_i386_count_relocations): Do not add relocations
4737da0c48c4Sopenharmony_ci	for symbols in discarded COMDAT groups.
4738da0c48c4Sopenharmony_ci	(elf_i386_create_relocations): Likewise.
4739da0c48c4Sopenharmony_ci	* ld.h (struct scninfo): Add unused_comdat.
4740da0c48c4Sopenharmony_ci	* ldgeneric.c (add_section): Also check group signature when
4741da0c48c4Sopenharmony_ci	matching COMDAT sections.
4742da0c48c4Sopenharmony_ci	(add_relocatable_file): Ignore symbols in COMDAT group which are
4743da0c48c4Sopenharmony_ci	discarded.
4744da0c48c4Sopenharmony_ci
4745da0c48c4Sopenharmony_ci	* elflint.c (check_one_reloc): For *_NONE relocs only check type
4746da0c48c4Sopenharmony_ci	and symbol reference.
4747da0c48c4Sopenharmony_ci
4748da0c48c4Sopenharmony_ci2006-06-11  Ulrich Drepper  <drepper@redhat.com>
4749da0c48c4Sopenharmony_ci
4750da0c48c4Sopenharmony_ci	* elflint.c (check_dynamic): Fix checking value of tags which are
4751da0c48c4Sopenharmony_ci	offsets in the string section.  Make sure DT_STRTAB points to the
4752da0c48c4Sopenharmony_ci	section referenced in sh_link.
4753da0c48c4Sopenharmony_ci
4754da0c48c4Sopenharmony_ci	* ld.c (options): Add headers.  Add short option 'R' for '--rpath'.
4755da0c48c4Sopenharmony_ci
4756da0c48c4Sopenharmony_ci	* ld.c: Recognize --eh-frame-hdr option.
4757da0c48c4Sopenharmony_ci	* ld.h (struct ld_state): Add eh_frame_hdr field.
4758da0c48c4Sopenharmony_ci	* ldgeneric.c (struct unw_eh_frame_hdr): Define.
4759da0c48c4Sopenharmony_ci
4760da0c48c4Sopenharmony_ci	* ldgeneric.c (add_section): Use ebl_sh_flags_combine instead of
4761da0c48c4Sopenharmony_ci	SH_FLAGS_COMBINE.
4762da0c48c4Sopenharmony_ci	(add_relocatable_file): Minor optimization of last change.
4763da0c48c4Sopenharmony_ci	(match_section): Don't preserve SHF_GROUP flag any longer.
4764da0c48c4Sopenharmony_ci
4765da0c48c4Sopenharmony_ci2006-06-10  Ulrich Drepper  <drepper@redhat.com>
4766da0c48c4Sopenharmony_ci
4767da0c48c4Sopenharmony_ci	* ld.c (parse_z_option): Recognize execstack and noexecstack.
4768da0c48c4Sopenharmony_ci	Handle record and ignore as position dependent options.
4769da0c48c4Sopenharmony_ci	(parse_z_option_2): Handle ignore and record here.
4770da0c48c4Sopenharmony_ci	* ld.h (struct ld_state): Add execstack field.
4771da0c48c4Sopenharmony_ci	* ldgeneric.c (add_relocatable_file): Recognize .note.GNU-stack
4772da0c48c4Sopenharmony_ci	sections.
4773da0c48c4Sopenharmony_ci	(ld_generic_create_outfile): Fix program header creation in native
4774da0c48c4Sopenharmony_ci	linker.  Add PT_GNU_STACK program header.
4775da0c48c4Sopenharmony_ci
4776da0c48c4Sopenharmony_ci2006-06-09  Ulrich Drepper  <drepper@redhat.com>
4777da0c48c4Sopenharmony_ci
4778da0c48c4Sopenharmony_ci	* i386_ld.c (elf_i386_finalize_plt): Don't change symbol table entries
4779da0c48c4Sopenharmony_ci	for PLT entries if there is no local definition.
4780da0c48c4Sopenharmony_ci
4781da0c48c4Sopenharmony_ci	* ld.c (parse_option): Handle -z ignore like --as-needed and
4782da0c48c4Sopenharmony_ci	-z record like --no-as-needed.
4783da0c48c4Sopenharmony_ci	* ld.h (struct ld_state): Remove ignore_unused_dsos field.
4784da0c48c4Sopenharmony_ci	* ldgeneric.c (new_generated_scn): Always compute ndt_needed by
4785da0c48c4Sopenharmony_ci	looping over DSOs.  When deciding about adding DT_NEEDED entries
4786da0c48c4Sopenharmony_ci	use ->as_needed instead of ignore_unused_dsos.
4787da0c48c4Sopenharmony_ci
4788da0c48c4Sopenharmony_ci2006-05-31  Ulrich Drepper  <drepper@redhat.com>
4789da0c48c4Sopenharmony_ci
4790da0c48c4Sopenharmony_ci	* ld.c: Recognize --as-needed and --no-as-needed options.
4791da0c48c4Sopenharmony_ci	* ld.h (struct usedfile): Add as_needed field.
4792da0c48c4Sopenharmony_ci	(struct ld_state): Likewise.
4793da0c48c4Sopenharmony_ci	* ldgeneric.c (ld_handle_filename_list): Copy as_needed flag from
4794da0c48c4Sopenharmony_ci	the list.
4795da0c48c4Sopenharmony_ci	* ldscript.y (filename_id_list): Split to correctly parse all
4796da0c48c4Sopenharmony_ci	combinations.
4797da0c48c4Sopenharmony_ci	(mark_as_needed): Fix loop.
4798da0c48c4Sopenharmony_ci
4799da0c48c4Sopenharmony_ci2006-05-28  Ulrich Drepper  <drepper@redhat.com>
4800da0c48c4Sopenharmony_ci
4801da0c48c4Sopenharmony_ci	* addr2line.c (print_dwarf_function): Use unsigned type for lineno
4802da0c48c4Sopenharmony_ci	and colno.
4803da0c48c4Sopenharmony_ci
4804da0c48c4Sopenharmony_ci2006-05-27  Ulrich Drepper  <drepper@redhat.com>
4805da0c48c4Sopenharmony_ci
4806da0c48c4Sopenharmony_ci	* readelf.c (handle_relocs_rela): Better notations for addon value.
4807da0c48c4Sopenharmony_ci	(print_ehdr): Distinguish e_ident[EI_VERSION] from e_version.
4808da0c48c4Sopenharmony_ci
4809da0c48c4Sopenharmony_ci2006-04-04  Ulrich Drepper  <drepper@redhat.com>
4810da0c48c4Sopenharmony_ci
4811da0c48c4Sopenharmony_ci	* addr2line.c: Update copyright year.
4812da0c48c4Sopenharmony_ci	* elfcmp.c: Likewise.
4813da0c48c4Sopenharmony_ci	* elflint.c: Likewise.
4814da0c48c4Sopenharmony_ci	* findtextrel.c: Likewise.
4815da0c48c4Sopenharmony_ci	* ld.c: Likewise.
4816da0c48c4Sopenharmony_ci	* nm.c: Likewise.
4817da0c48c4Sopenharmony_ci	* objdump.c: Likewise.
4818da0c48c4Sopenharmony_ci	* ranlib.c: Likewise.
4819da0c48c4Sopenharmony_ci	* readelf.c: Likewise.
4820da0c48c4Sopenharmony_ci	* size.c: Likewise.
4821da0c48c4Sopenharmony_ci	* strings.c: Likewise.
4822da0c48c4Sopenharmony_ci	* strip.c: Likewise.
4823da0c48c4Sopenharmony_ci
4824da0c48c4Sopenharmony_ci2006-03-09  Roland McGrath  <roland@redhat.com>
4825da0c48c4Sopenharmony_ci
4826da0c48c4Sopenharmony_ci	* Makefile.am (AM_LDFLAGS): New variable.
4827da0c48c4Sopenharmony_ci
4828da0c48c4Sopenharmony_ci2006-03-01  Roland McGrath  <roland@redhat.com>
4829da0c48c4Sopenharmony_ci
4830da0c48c4Sopenharmony_ci	* readelf.c (dwarf_tag_string, dwarf_attr_string): Update name tables
4831da0c48c4Sopenharmony_ci	for dwarf.h changes matching 3.0 spec.
4832da0c48c4Sopenharmony_ci	(dwarf_encoding_string, dwarf_lang_string, print_ops): Likewise.
4833da0c48c4Sopenharmony_ci
4834da0c48c4Sopenharmony_ci2005-12-04  Ulrich Drepper  <drepper@redhat.com>
4835da0c48c4Sopenharmony_ci
4836da0c48c4Sopenharmony_ci	* elflint.c (check_one_reloc): If relocation section is not loaded,
4837da0c48c4Sopenharmony_ci	don't check whether the relocations modify read-only sections or
4838da0c48c4Sopenharmony_ci	loaded and unloaded sections.
4839da0c48c4Sopenharmony_ci
4840da0c48c4Sopenharmony_ci2005-11-28  Ulrich Drepper  <drepper@redhat.com>
4841da0c48c4Sopenharmony_ci
4842da0c48c4Sopenharmony_ci	* elflint.c (check_one_reloc): Take additional parameters.  Use
4843da0c48c4Sopenharmony_ci	them to determine whether relocation is valid in this type of
4844da0c48c4Sopenharmony_ci	file.  DSOs and executables can contain relocation sections in
4845da0c48c4Sopenharmony_ci	unloaded sections which just show the relocations the linker
4846da0c48c4Sopenharmony_ci	applied.  Adjust all callers.
4847da0c48c4Sopenharmony_ci	(check_program_header): Check that PT_PHDR is loaded and that offset
4848da0c48c4Sopenharmony_ci	matches the one in the ELF header.
4849da0c48c4Sopenharmony_ci
4850da0c48c4Sopenharmony_ci2005-10-26  Roland McGrath  <roland@redhat.com>
4851da0c48c4Sopenharmony_ci
4852da0c48c4Sopenharmony_ci	* nm.c (get_var_range): dwarf_getloclist -> dwarf_getlocation.
4853da0c48c4Sopenharmony_ci
4854da0c48c4Sopenharmony_ci2005-09-03  Ulrich Drepper  <drepper@redhat.com>
4855da0c48c4Sopenharmony_ci
4856da0c48c4Sopenharmony_ci	* strip.c (handle_elf): Unify some error messages.
4857da0c48c4Sopenharmony_ci	* ld.c (main): Likewise.
4858da0c48c4Sopenharmony_ci	* ldgeneric.c (open_elf): Likewise.
4859da0c48c4Sopenharmony_ci	* elfcmp.c (main): Likewise.
4860da0c48c4Sopenharmony_ci	* elflint.c (check_elf_header): Likewise.
4861da0c48c4Sopenharmony_ci
4862da0c48c4Sopenharmony_ci	* size.c (process_file): Fix typo in error message.
4863da0c48c4Sopenharmony_ci
4864da0c48c4Sopenharmony_ci	* readelf.c: Lots of little cleanups.  Use _unlocked functions.
4865da0c48c4Sopenharmony_ci
4866da0c48c4Sopenharmony_ci2005-09-02  Ulrich Drepper  <drepper@redhat.com>
4867da0c48c4Sopenharmony_ci
4868da0c48c4Sopenharmony_ci	* strings.c (main): Reset elfmap variable after munmap call.
4869da0c48c4Sopenharmony_ci	[_MUDFLAP] (map_file): Simplify mudflap debugging by not using mmap.
4870da0c48c4Sopenharmony_ci
4871da0c48c4Sopenharmony_ci2005-08-28  Ulrich Drepper  <drepper@redhat.com>
4872da0c48c4Sopenharmony_ci
4873da0c48c4Sopenharmony_ci	* ranlib.c: Don't define pread_retry and write_retry here.
4874da0c48c4Sopenharmony_ci
4875da0c48c4Sopenharmony_ci	* Makefile.an [BUILD_STATIC] (libdw): Add -ldl.
4876da0c48c4Sopenharmony_ci	(CLEANFILES): Add *.gcno *.gcda *.gconv.
4877da0c48c4Sopenharmony_ci
4878da0c48c4Sopenharmony_ci	* strings.c (process_chunk): Reorder expressions in conditional
4879da0c48c4Sopenharmony_ci	(process_chunk_mb): Likewise.
4880da0c48c4Sopenharmony_ci
4881da0c48c4Sopenharmony_ci	* strings.c: New file.
4882da0c48c4Sopenharmony_ci	* Makefile.am (bin_PROGRAMS): Add strings.
4883da0c48c4Sopenharmony_ci	(strings_no_Wstring): Define.
4884da0c48c4Sopenharmony_ci	(strings_LDADD): Define.
4885da0c48c4Sopenharmony_ci
4886da0c48c4Sopenharmony_ci2005-08-27  Roland McGrath  <roland@redhat.com>
4887da0c48c4Sopenharmony_ci
4888da0c48c4Sopenharmony_ci	* addr2line.c (dwarf_diename_integrate): Function removed.
4889da0c48c4Sopenharmony_ci	(print_dwarf_function): Use plain dwarf_diename.
4890da0c48c4Sopenharmony_ci
4891da0c48c4Sopenharmony_ci2005-08-24  Ulrich Drepper  <drepper@redhat.com>
4892da0c48c4Sopenharmony_ci
4893da0c48c4Sopenharmony_ci	* elflint.c (check_versym): Versioned symbols should not have
4894da0c48c4Sopenharmony_ci	local binding.
4895da0c48c4Sopenharmony_ci
4896da0c48c4Sopenharmony_ci2005-08-15  Ulrich Drepper  <drepper@redhat.com>
4897da0c48c4Sopenharmony_ci
4898da0c48c4Sopenharmony_ci	* elflint.c (check_versym): Allow VER_NDX_LOCAL symbols to be
4899da0c48c4Sopenharmony_ci	undefined.
4900da0c48c4Sopenharmony_ci
4901da0c48c4Sopenharmony_ci	* Makefile.am: Add rules to build ranlib.
4902da0c48c4Sopenharmony_ci	* ranlib.c: New file.
4903da0c48c4Sopenharmony_ci
4904da0c48c4Sopenharmony_ci2005-08-14  Roland McGrath  <roland@redhat.com>
4905da0c48c4Sopenharmony_ci
4906da0c48c4Sopenharmony_ci	* elflint.c (check_sections): Use ebl_section_type_name and allow any
4907da0c48c4Sopenharmony_ci	sh_type it recognizes.
4908da0c48c4Sopenharmony_ci
4909da0c48c4Sopenharmony_ci	* elflint.c (check_sections): Print unknown flags in hex, don't
4910da0c48c4Sopenharmony_ci	truncate high bits.  Print section number and name for unknown type.
4911da0c48c4Sopenharmony_ci
4912da0c48c4Sopenharmony_ci2005-08-13  Roland McGrath  <roland@redhat.com>
4913da0c48c4Sopenharmony_ci
4914da0c48c4Sopenharmony_ci	* elflint.c (check_program_header): Use ebl_segment_type_name and
4915da0c48c4Sopenharmony_ci	allow any p_type it recognizes.  Include p_type value in error
4916da0c48c4Sopenharmony_ci	message for unknown type.
4917da0c48c4Sopenharmony_ci
4918da0c48c4Sopenharmony_ci2005-08-13  Ulrich Drepper  <drepper@redhat.com>
4919da0c48c4Sopenharmony_ci
4920da0c48c4Sopenharmony_ci	* elflint.c (check_symtab): Simplify last change a bit.  Pass ehdr
4921da0c48c4Sopenharmony_ci	to ebl_check_special_symbol.
4922da0c48c4Sopenharmony_ci	(check_sections): Pass ehdr to ebl_bss_plt_p.
4923da0c48c4Sopenharmony_ci
4924da0c48c4Sopenharmony_ci2005-08-12  Roland McGrath  <roland@redhat.com>
4925da0c48c4Sopenharmony_ci
4926da0c48c4Sopenharmony_ci	* elflint.c (check_symtab): Check that _GLOBAL_OFFSET_TABLE_ st_shndx
4927da0c48c4Sopenharmony_ci	refers to the right section if it's not SHN_ABS.
4928da0c48c4Sopenharmony_ci	Let ebl_check_special_symbol override _G_O_T_ value and size checks.
4929da0c48c4Sopenharmony_ci
4930da0c48c4Sopenharmony_ci	* elflint.c (check_sections): Don't complain about a non-NOBITS
4931da0c48c4Sopenharmony_ci	section taking no segment space, if it's sh_size is 0.
4932da0c48c4Sopenharmony_ci
4933da0c48c4Sopenharmony_ci	* elflint.c (check_sections): Use ebl_bss_plt_p to see if .plt should
4934da0c48c4Sopenharmony_ci	be PROGBITS or NOBITS.
4935da0c48c4Sopenharmony_ci
4936da0c48c4Sopenharmony_ci	* elflint.c (check_symtab): Use ebl_check_special_symbol to override
4937da0c48c4Sopenharmony_ci	standard st_value and st_size checks.
4938da0c48c4Sopenharmony_ci
4939da0c48c4Sopenharmony_ci2005-07-28  Roland McGrath  <roland@redhat.com>
4940da0c48c4Sopenharmony_ci
4941da0c48c4Sopenharmony_ci	* addr2line.c (options, parse_opt): Don't handle -e here.
4942da0c48c4Sopenharmony_ci	(executable): Variable removed.
4943da0c48c4Sopenharmony_ci	(argp_children): New static variable.
4944da0c48c4Sopenharmony_ci	(argp): Use it.  Make const.
4945da0c48c4Sopenharmony_ci	(main): Fill in argp_children from dwfl_standard_argp ().
4946da0c48c4Sopenharmony_ci	Let libdwfl handle file selection, pass Dwfl handle to handle_address.
4947da0c48c4Sopenharmony_ci	(print_dwarf_function): New function.  Try to figure out inline chain.
4948da0c48c4Sopenharmony_ci	(elf_getname): Function removed, libdwfl does it for us.
4949da0c48c4Sopenharmony_ci	(handle_address): Take Dwfl handle instead of Elf, Dwarf handles.
4950da0c48c4Sopenharmony_ci	Use dwfl_module_addrname instead of elf_getname.
4951da0c48c4Sopenharmony_ci	Use dwfl_module_getsrc and dwfl_lineinfo instead of libdw calls.
4952da0c48c4Sopenharmony_ci	* Makefile.am (INCLUDES): Add libdwfl directory to path.
4953da0c48c4Sopenharmony_ci
4954da0c48c4Sopenharmony_ci2005-08-10  Ulrich Drepper  <drepper@redhat.com>
4955da0c48c4Sopenharmony_ci
4956da0c48c4Sopenharmony_ci	* strip.c (parse_opt): STATE parameter is now used.
4957da0c48c4Sopenharmony_ci	Various little cleanups.
4958da0c48c4Sopenharmony_ci
4959da0c48c4Sopenharmony_ci	* readelf.c (print_debug_line_section): Correct fallout of renaming
4960da0c48c4Sopenharmony_ci	of DW_LNS_set_epilog_begin.
4961da0c48c4Sopenharmony_ci
4962da0c48c4Sopenharmony_ci2005-08-08  Roland McGrath  <roland@redhat.com>
4963da0c48c4Sopenharmony_ci
4964da0c48c4Sopenharmony_ci	* strip.c (options, parse_opt): Grok -R .comment for compatibility
4965da0c48c4Sopenharmony_ci	with binutils strip.  Likewise -d, -S, as aliases for -g.
4966da0c48c4Sopenharmony_ci	Likewise ignore -s/--strip-all.
4967da0c48c4Sopenharmony_ci
4968da0c48c4Sopenharmony_ci2005-08-07  Roland McGrath  <roland@redhat.com>
4969da0c48c4Sopenharmony_ci
4970da0c48c4Sopenharmony_ci	* strip.c (process_file): Open read-only when using a different output
4971da0c48c4Sopenharmony_ci	file.
4972da0c48c4Sopenharmony_ci
4973da0c48c4Sopenharmony_ci2005-08-06  Ulrich Drepper  <drepper@redhat.com>
4974da0c48c4Sopenharmony_ci
4975da0c48c4Sopenharmony_ci	* elflint.c (in_nobits_scn): New function.
4976da0c48c4Sopenharmony_ci	(check_versym): Allow references for defined symbols against versions
4977da0c48c4Sopenharmony_ci	of other DSOs also for symbols in nobits sections.
4978da0c48c4Sopenharmony_ci	Move a few variables around.
4979da0c48c4Sopenharmony_ci
4980da0c48c4Sopenharmony_ci	* Makefile.am (AM_CFLAGS): Avoid duplication.
4981da0c48c4Sopenharmony_ci	Link with statis libs if BUILD_STATIC.
4982da0c48c4Sopenharmony_ci
4983da0c48c4Sopenharmony_ci2005-08-05  Ulrich Drepper  <drepper@redhat.com>
4984da0c48c4Sopenharmony_ci
4985da0c48c4Sopenharmony_ci	* elflint.c: Many, many more tests.  Mostly related to symbol
4986da0c48c4Sopenharmony_ci	versioning.  Those sections should now be completely checked.
4987da0c48c4Sopenharmony_ci
4988da0c48c4Sopenharmony_ci	* readelf.c (print_dynamic): Use gelf_offscn.
4989da0c48c4Sopenharmony_ci
4990da0c48c4Sopenharmony_ci2005-08-04  Ulrich Drepper  <drepper@redhat.com>
4991da0c48c4Sopenharmony_ci
4992da0c48c4Sopenharmony_ci	* elflint.c: Add lots more tests: more extension symbol table sanity,
4993da0c48c4Sopenharmony_ci	versioning section tests, hash table tests.  General cleanup.
4994da0c48c4Sopenharmony_ci
4995da0c48c4Sopenharmony_ci2005-08-02  Ulrich Drepper  <drepper@redhat.com>
4996da0c48c4Sopenharmony_ci
4997da0c48c4Sopenharmony_ci	* objdump.c: New file.
4998da0c48c4Sopenharmony_ci	* Makefile.am (bin_PROGRAMS): Add objdump.
4999da0c48c4Sopenharmony_ci	(objdump_LDADD): Define.
5000da0c48c4Sopenharmony_ci
5001da0c48c4Sopenharmony_ci	* elflint.c (check_reloc_shdr): New function split out from check_rela
5002da0c48c4Sopenharmony_ci	and check_rel.
5003da0c48c4Sopenharmony_ci	(check_one_reloc): New function.  Likewise.
5004da0c48c4Sopenharmony_ci	(check_rela): Use check_reloc_shdr and check_one_reloc.
5005da0c48c4Sopenharmony_ci	(check_rel): Likewise.
5006da0c48c4Sopenharmony_ci	(check_program_header): Check that PT_DYNAMIC entry matches .dynamic
5007da0c48c4Sopenharmony_ci	section.
5008da0c48c4Sopenharmony_ci	Add checks that relocations against read-only segments are flagged,
5009da0c48c4Sopenharmony_ci	that the text relocation flag is not set unnecessarily, and that
5010da0c48c4Sopenharmony_ci	relocations in one section are either against loaded or not-loaded
5011da0c48c4Sopenharmony_ci	segments.
5012da0c48c4Sopenharmony_ci
5013da0c48c4Sopenharmony_ci2005-08-01  Ulrich Drepper  <drepper@redhat.com>
5014da0c48c4Sopenharmony_ci
5015da0c48c4Sopenharmony_ci	* elfcmp.c (main): Ignore section count and section name string table
5016da0c48c4Sopenharmony_ci	section index.
5017da0c48c4Sopenharmony_ci
5018da0c48c4Sopenharmony_ci2005-07-27  Roland McGrath  <roland@redhat.com>
5019da0c48c4Sopenharmony_ci
5020da0c48c4Sopenharmony_ci	* elfcmp.c: Include <locale.h>.
5021da0c48c4Sopenharmony_ci
5022da0c48c4Sopenharmony_ci2005-07-27  Ulrich Drepper  <drepper@redhat.com>
5023da0c48c4Sopenharmony_ci
5024da0c48c4Sopenharmony_ci	* elfcmp.c: Print name and index of differing section.
5025da0c48c4Sopenharmony_ci
5026da0c48c4Sopenharmony_ci2005-07-24  Ulrich Drepper  <drepper@redhat.com>
5027da0c48c4Sopenharmony_ci
5028da0c48c4Sopenharmony_ci	* elfcmp.c: Implement comparing gaps between sections.
5029da0c48c4Sopenharmony_ci
5030da0c48c4Sopenharmony_ci2005-07-23  Ulrich Drepper  <drepper@redhat.com>
5031da0c48c4Sopenharmony_ci
5032da0c48c4Sopenharmony_ci	* elflint.c: Include libeblP.h instead of libebl.h.
5033da0c48c4Sopenharmony_ci	* nm.c: Likewise.
5034da0c48c4Sopenharmony_ci	* readelf.c: Likewise.
5035da0c48c4Sopenharmony_ci	* elfcmp.c: Likewise.
5036da0c48c4Sopenharmony_ci
5037da0c48c4Sopenharmony_ci	* elfcmp.c (main): Compare individual ELF header fields, excluding
5038da0c48c4Sopenharmony_ci	e_shoff instead of the whole struct at once.
5039da0c48c4Sopenharmony_ci	Use ebl_section_strip_p instead of SECTION_STRIP_P.
5040da0c48c4Sopenharmony_ci	* strip.c: Use ebl_section_strip_p instead of SECTION_STRIP_P.
5041da0c48c4Sopenharmony_ci
5042da0c48c4Sopenharmony_ci2005-07-22  Ulrich Drepper  <drepper@redhat.com>
5043da0c48c4Sopenharmony_ci
5044da0c48c4Sopenharmony_ci	* elfcmp.c (main): Take empty section into account when comparing
5045da0c48c4Sopenharmony_ci	section content.
5046da0c48c4Sopenharmony_ci
5047da0c48c4Sopenharmony_ci	* elflint.c (check_dynamic): Check that d_tag value is >= 0 before
5048da0c48c4Sopenharmony_ci	using it.
5049da0c48c4Sopenharmony_ci
5050da0c48c4Sopenharmony_ci2005-07-21  Ulrich Drepper  <drepper@redhat.com>
5051da0c48c4Sopenharmony_ci
5052da0c48c4Sopenharmony_ci	* elfcmp.c: New file.
5053da0c48c4Sopenharmony_ci	* Makefile.am (bin_PROGRAMS): Add elfcmp.
5054da0c48c4Sopenharmony_ci	(elfcmp_LDADD): Define.
5055da0c48c4Sopenharmony_ci
5056da0c48c4Sopenharmony_ci	* elflint.c (check_rela): Check that copy relocations only reference
5057da0c48c4Sopenharmony_ci	object symbols or symbols with unknown type.
5058da0c48c4Sopenharmony_ci	(check_rel): Likewise.
5059da0c48c4Sopenharmony_ci
5060da0c48c4Sopenharmony_ci2005-06-08  Roland McGrath  <roland@redhat.com>
5061da0c48c4Sopenharmony_ci
5062da0c48c4Sopenharmony_ci	* readelf.c (print_ops): Add consts.
5063da0c48c4Sopenharmony_ci
5064da0c48c4Sopenharmony_ci2005-05-31  Roland McGrath  <roland@redhat.com>
5065da0c48c4Sopenharmony_ci
5066da0c48c4Sopenharmony_ci	* readelf.c (print_debug_abbrev_section): Don't bail after first CU's
5067da0c48c4Sopenharmony_ci	abbreviations.  Print a header line before each CU section.
5068da0c48c4Sopenharmony_ci
5069da0c48c4Sopenharmony_ci	* readelf.c (print_debug_loc_section): Fix indentation for larger
5070da0c48c4Sopenharmony_ci	address size.
5071da0c48c4Sopenharmony_ci
5072da0c48c4Sopenharmony_ci2005-05-30  Roland McGrath  <roland@redhat.com>
5073da0c48c4Sopenharmony_ci
5074da0c48c4Sopenharmony_ci	* readelf.c (print_debug_line_section): Print section offset of each
5075da0c48c4Sopenharmony_ci	CU's table, so they are easy to find from seeing the stmt_list value.
5076da0c48c4Sopenharmony_ci
5077da0c48c4Sopenharmony_ci	* readelf.c (dwarf_attr_string): Add all attributes in <dwarf.h>.
5078da0c48c4Sopenharmony_ci	(attr_callback): Grok DW_AT_ranges and print offset in hex.
5079da0c48c4Sopenharmony_ci
5080da0c48c4Sopenharmony_ci	* readelf.c (attr_callback): Add 2 to addrsize * 2 for %#0* format.
5081da0c48c4Sopenharmony_ci	(print_debug_ranges_section, print_debug_loc_section): Likewise.
5082da0c48c4Sopenharmony_ci
5083da0c48c4Sopenharmony_ci	* readelf.c (print_ops): Take different args for indentation control.
5084da0c48c4Sopenharmony_ci	(attr_callback): Caller updated.
5085da0c48c4Sopenharmony_ci	Grok several more block-form attributes as being location expressions.
5086da0c48c4Sopenharmony_ci	For those same attributes with udata forms, format output differently
5087da0c48c4Sopenharmony_ci	for location list offset.
5088da0c48c4Sopenharmony_ci	(print_debug_loc_section): Implement it for real.
5089da0c48c4Sopenharmony_ci
5090da0c48c4Sopenharmony_ci	* readelf.c (options): Mention ranges for --debug-dump.
5091da0c48c4Sopenharmony_ci	(enum section_e): Add section_ranges.
5092da0c48c4Sopenharmony_ci	(parse_opt): Grok "ranges" for -w/--debug-dump.
5093da0c48c4Sopenharmony_ci	(print_debug_ranges_section): New function.
5094da0c48c4Sopenharmony_ci	(print_debug): Handle .debug_ranges section.
5095da0c48c4Sopenharmony_ci
5096da0c48c4Sopenharmony_ci2005-05-30  Ulrich Drepper  <drepper@redhat.com>
5097da0c48c4Sopenharmony_ci
5098da0c48c4Sopenharmony_ci	* readelf.c (handle_notes): At least x86-64 need not have the note
5099da0c48c4Sopenharmony_ci	section values aligned to 8 bytes.
5100da0c48c4Sopenharmony_ci
5101da0c48c4Sopenharmony_ci2005-05-18  Ulrich Drepper  <drepper@redhat.com>
5102da0c48c4Sopenharmony_ci
5103da0c48c4Sopenharmony_ci	* readelf.c (dwarf_tag_string): Add new tags.
5104da0c48c4Sopenharmony_ci
5105da0c48c4Sopenharmony_ci2005-05-08  Roland McGrath  <roland@redhat.com>
5106da0c48c4Sopenharmony_ci
5107da0c48c4Sopenharmony_ci	* strip.c (handle_elf): Don't translate hash and versym data formats,
5108da0c48c4Sopenharmony_ci	elf_getdata already did it for us.
5109da0c48c4Sopenharmony_ci
5110da0c48c4Sopenharmony_ci2005-05-07  Ulrich Drepper  <drepper@redhat.com>
5111da0c48c4Sopenharmony_ci
5112da0c48c4Sopenharmony_ci	* Makefile.am (findtextrel_LDADD): Add $(libmudflap).
5113da0c48c4Sopenharmony_ci	(addr2line_LDADD): Likewise.
5114da0c48c4Sopenharmony_ci
5115da0c48c4Sopenharmony_ci2005-05-03  Roland McGrath  <roland@redhat.com>
5116da0c48c4Sopenharmony_ci
5117da0c48c4Sopenharmony_ci	* strip.c (handle_elf): Apply symbol table fixups to discarded
5118da0c48c4Sopenharmony_ci	relocation sections when they are being saved in the debug file.
5119da0c48c4Sopenharmony_ci
5120da0c48c4Sopenharmony_ci	* strip.c (handle_elf): Pass EHDR->e_ident[EI_DATA] to gelf_xlatetom
5121da0c48c4Sopenharmony_ci	and gelf_xlatetof, not the native byte order.
5122da0c48c4Sopenharmony_ci
5123da0c48c4Sopenharmony_ci	* strip.c (parse_opt): Give error if -f or -o is repeated.
5124da0c48c4Sopenharmony_ci	(main): Exit if argp_parse returns nonzero.
5125da0c48c4Sopenharmony_ci
5126da0c48c4Sopenharmony_ci	* strip.c (debug_fname_embed): New variable.
5127da0c48c4Sopenharmony_ci	(options, parse_opt): New option -F to set it.
5128da0c48c4Sopenharmony_ci
5129da0c48c4Sopenharmony_ci2005-05-07  Ulrich Drepper  <drepper@redhat.com>
5130da0c48c4Sopenharmony_ci
5131da0c48c4Sopenharmony_ci	* readelf.c (parse_opt): Make any_control_option variable
5132da0c48c4Sopenharmony_ci	local.  Simplify some tests.
5133da0c48c4Sopenharmony_ci
5134da0c48c4Sopenharmony_ci2005-05-03  Roland McGrath  <roland@redhat.com>
5135da0c48c4Sopenharmony_ci
5136da0c48c4Sopenharmony_ci	* strip.c (crc32_file): Function removed (now in ../lib).
5137da0c48c4Sopenharmony_ci
5138da0c48c4Sopenharmony_ci2005-05-03  Roland McGrath  <roland@redhat.com>
5139da0c48c4Sopenharmony_ci
5140da0c48c4Sopenharmony_ci	* elflint.c (is_debuginfo): New variable.
5141da0c48c4Sopenharmony_ci	(options, parse_opt): New option --debuginfo/-d to set it.
5142da0c48c4Sopenharmony_ci	(check_sections): If is_debuginfo, don't complain about SHT_NOBITS.
5143da0c48c4Sopenharmony_ci	(check_note): If is_debuginfo, don't try to get note contents.
5144da0c48c4Sopenharmony_ci
5145da0c48c4Sopenharmony_ci2005-04-24  Ulrich Drepper  <drepper@redhat.com>
5146da0c48c4Sopenharmony_ci
5147da0c48c4Sopenharmony_ci	* readelf.c (print_debug_abbrev_section): Don't print error when end of
5148da0c48c4Sopenharmony_ci	section reached.
5149da0c48c4Sopenharmony_ci
5150da0c48c4Sopenharmony_ci2005-04-14  Ulrich Drepper  <drepper@redhat.com>
5151da0c48c4Sopenharmony_ci
5152da0c48c4Sopenharmony_ci	* readelf.c (dwarf_encoding_string): New function.
5153da0c48c4Sopenharmony_ci	(dwarf_inline_string): New function.
5154da0c48c4Sopenharmony_ci	(dwarf_access_string): New function.
5155da0c48c4Sopenharmony_ci	(dwarf_visibility_string): New function.
5156da0c48c4Sopenharmony_ci	(dwarf_virtuality_string): New function.
5157da0c48c4Sopenharmony_ci	(dwarf_identifier_case_string): New function.
5158da0c48c4Sopenharmony_ci	(dwarf_calling_convention_string): New function.
5159da0c48c4Sopenharmony_ci	(dwarf_ordering_string): New function.
5160da0c48c4Sopenharmony_ci	(dwarf_discr_list_string): New function.
5161da0c48c4Sopenharmony_ci	(attr_callback): Decode man more attribute values.
5162da0c48c4Sopenharmony_ci
5163da0c48c4Sopenharmony_ci2005-04-01  Ulrich Drepper  <drepper@redhat.com>
5164da0c48c4Sopenharmony_ci
5165da0c48c4Sopenharmony_ci	* addr2line.c: Finish implementation of -f option.
5166da0c48c4Sopenharmony_ci
5167da0c48c4Sopenharmony_ci2005-03-29  Ulrich Drepper  <drepper@redhat.com>
5168da0c48c4Sopenharmony_ci
5169da0c48c4Sopenharmony_ci	* addr2line.c: New file.
5170da0c48c4Sopenharmony_ci	* Makefile.am (bin_PROGRAMS): Add addr2line.
5171da0c48c4Sopenharmony_ci	Define addr2line_LDADD.
5172da0c48c4Sopenharmony_ci
5173da0c48c4Sopenharmony_ci	* findtextrel.c: Use new dwarf_addrdie function.
5174da0c48c4Sopenharmony_ci
5175da0c48c4Sopenharmony_ci	* findtextrel.c: Fix usage message and re-add accidentally removed
5176da0c48c4Sopenharmony_ci	line.
5177da0c48c4Sopenharmony_ci
5178da0c48c4Sopenharmony_ci2005-03-28  Ulrich Drepper  <drepper@redhat.com>
5179da0c48c4Sopenharmony_ci
5180da0c48c4Sopenharmony_ci	* findtextrel.c: New file.
5181da0c48c4Sopenharmony_ci	* Makefile: Add rules to build findtextrel.
5182da0c48c4Sopenharmony_ci
5183da0c48c4Sopenharmony_ci2005-02-15  Ulrich Drepper  <drepper@redhat.com>
5184da0c48c4Sopenharmony_ci
5185da0c48c4Sopenharmony_ci	* ldlex.l: Provide ECHO definition to avoid warning.
5186da0c48c4Sopenharmony_ci
5187da0c48c4Sopenharmony_ci	* elflint.c (check_program_header): Fix typo in RELRO test.
5188da0c48c4Sopenharmony_ci
5189da0c48c4Sopenharmony_ci	* Makefile.am (AM_CFLAGS): Add more warning options.
5190da0c48c4Sopenharmony_ci	* elflint.c: Fix warnings introduced by the new warning options.
5191da0c48c4Sopenharmony_ci	* i386_ld.c: Likewise.
5192da0c48c4Sopenharmony_ci	* ld.c: Likewise.
5193da0c48c4Sopenharmony_ci	* ld.h: Likewise.
5194da0c48c4Sopenharmony_ci	* ldgeneric.c: Likewise.
5195da0c48c4Sopenharmony_ci	* nm.c: Likewise.
5196da0c48c4Sopenharmony_ci	* readelf.c: Likewise.
5197da0c48c4Sopenharmony_ci	* sectionhash.c: Likewise.
5198da0c48c4Sopenharmony_ci	* size.c: Likewise.
5199da0c48c4Sopenharmony_ci	* string.c: Likewise.
5200da0c48c4Sopenharmony_ci
5201da0c48c4Sopenharmony_ci2005-02-05  Ulrich Drepper  <drepper@redhat.com>
5202da0c48c4Sopenharmony_ci
5203da0c48c4Sopenharmony_ci	* Makefile.am: Check for text relocations in constructed DSOs.
5204da0c48c4Sopenharmony_ci
5205da0c48c4Sopenharmony_ci	* Makefile.am [MUDFLAP] (AM_CFLAGS): Add -fmudflap.  Link all apps
5206da0c48c4Sopenharmony_ci	with -lmudflap.
5207da0c48c4Sopenharmony_ci
5208da0c48c4Sopenharmony_ci	* ldscript.y: Add as_needed handling.
5209da0c48c4Sopenharmony_ci	* ldlex.l: Recognize AS_NEEDED token.
5210da0c48c4Sopenharmony_ci	* ld.h (struct filename_list): Add as_needed flag.
5211da0c48c4Sopenharmony_ci
5212da0c48c4Sopenharmony_ci2005-02-04  Ulrich Drepper  <drepper@redhat.com>
5213da0c48c4Sopenharmony_ci
5214da0c48c4Sopenharmony_ci	* elflint.c (check_symtab): Correctly determine size of GOT section.
5215da0c48c4Sopenharmony_ci
5216da0c48c4Sopenharmony_ci2005-01-19  Ulrich Drepper  <drepper@redhat.com>
5217da0c48c4Sopenharmony_ci
5218da0c48c4Sopenharmony_ci	* ld.c: Remove unnecessary more_help function.  Print bug report
5219da0c48c4Sopenharmony_ci	address using argp.
5220da0c48c4Sopenharmony_ci	* strip.c: Likewise.
5221da0c48c4Sopenharmony_ci	* size.c: Likewise.
5222da0c48c4Sopenharmony_ci	* nm.c: Likewise.
5223da0c48c4Sopenharmony_ci	* readelf.c: Likewise.
5224da0c48c4Sopenharmony_ci	* elflint.c: Likewise.
5225da0c48c4Sopenharmony_ci
5226da0c48c4Sopenharmony_ci	* elflint.c (main): Don't check for parameter problems here.
5227da0c48c4Sopenharmony_ci	(parse_opt): Do it here, where we get informed about some of them
5228da0c48c4Sopenharmony_ci	anyway.
5229da0c48c4Sopenharmony_ci
5230da0c48c4Sopenharmony_ci	* readelf.c (main): Don't check for parameter problems here.
5231da0c48c4Sopenharmony_ci	(parse_opt): Do it here, where we get informed about some of them
5232da0c48c4Sopenharmony_ci	anyway.
5233da0c48c4Sopenharmony_ci
5234da0c48c4Sopenharmony_ci2005-01-11  Ulrich Drepper  <drepper@redhat.com>
5235da0c48c4Sopenharmony_ci
5236da0c48c4Sopenharmony_ci	* strip.c: Update copyright year.
5237da0c48c4Sopenharmony_ci	* readelf.c: Likewise.
5238da0c48c4Sopenharmony_ci	* size.c: Likewise.
5239da0c48c4Sopenharmony_ci	* nm.c: Likewise.
5240da0c48c4Sopenharmony_ci	* ld.c: Likewise.
5241da0c48c4Sopenharmony_ci	* elflint.c: Likewise.
5242da0c48c4Sopenharmony_ci
5243da0c48c4Sopenharmony_ci	* elflint.c (check_symtab): Don't warn about wrong size for
5244da0c48c4Sopenharmony_ci	_DYNAMIC and __GLOBAL_OFFSET_TABLE__ for --gnu-ld.
5245da0c48c4Sopenharmony_ci
5246da0c48c4Sopenharmony_ci2004-10-05  Ulrich Drepper  <drepper@redhat.com>
5247da0c48c4Sopenharmony_ci
5248da0c48c4Sopenharmony_ci	* readelf.c (print_phdr): In section mapping, also indicate
5249da0c48c4Sopenharmony_ci	sections in read-only segments.
5250da0c48c4Sopenharmony_ci
5251da0c48c4Sopenharmony_ci2004-09-25  Ulrich Drepper  <drepper@redhat.com>
5252da0c48c4Sopenharmony_ci
5253da0c48c4Sopenharmony_ci	* readelf.c: Make compile with gcc 4.0.
5254da0c48c4Sopenharmony_ci	* strip.c: Likewise.
5255da0c48c4Sopenharmony_ci
5256da0c48c4Sopenharmony_ci2004-08-16  Ulrich Drepper  <drepper@redhat.com>
5257da0c48c4Sopenharmony_ci
5258da0c48c4Sopenharmony_ci	* strip.c (handle_elf): Rewrite dynamic memory handling to use of
5259da0c48c4Sopenharmony_ci	allocate to work around gcc 3.4 bug.
5260da0c48c4Sopenharmony_ci
5261da0c48c4Sopenharmony_ci2004-01-25  Ulrich Drepper  <drepper@redhat.com>
5262da0c48c4Sopenharmony_ci
5263da0c48c4Sopenharmony_ci	* ldlex.l (invalid_char): Better error message.
5264da0c48c4Sopenharmony_ci
5265da0c48c4Sopenharmony_ci2004-01-23  Ulrich Drepper  <drepper@redhat.com>
5266da0c48c4Sopenharmony_ci
5267da0c48c4Sopenharmony_ci	* readelf.c: Print SHT_GNU_LIBLIST sections.
5268da0c48c4Sopenharmony_ci
5269da0c48c4Sopenharmony_ci	* none_ld.c: New file.
5270da0c48c4Sopenharmony_ci
5271da0c48c4Sopenharmony_ci2004-01-21  Ulrich Drepper  <drepper@redhat.com>
5272da0c48c4Sopenharmony_ci
5273da0c48c4Sopenharmony_ci	* Makefile.am: Enable building of machine specific linker.
5274da0c48c4Sopenharmony_ci
5275da0c48c4Sopenharmony_ci2004-01-20  Ulrich Drepper  <drepper@redhat.com>
5276da0c48c4Sopenharmony_ci
5277da0c48c4Sopenharmony_ci	* Makefile.am: Support building with mudflap.
5278da0c48c4Sopenharmony_ci
5279da0c48c4Sopenharmony_ci	* i386_ld.c: Fix warnings gcc 3.4 spits out.
5280da0c48c4Sopenharmony_ci	* ldgeneric.c: Likewise.
5281da0c48c4Sopenharmony_ci	* ldscript.y: Likewise.
5282da0c48c4Sopenharmony_ci	* readelf.c: Likewise.
5283da0c48c4Sopenharmony_ci	* strip.c: Likewise.
5284da0c48c4Sopenharmony_ci
5285da0c48c4Sopenharmony_ci	* readelf.c (print_debug_line_section): Determine address size
5286da0c48c4Sopenharmony_ci	correctly.
5287da0c48c4Sopenharmony_ci
5288da0c48c4Sopenharmony_ci2004-01-19  Ulrich Drepper  <drepper@redhat.com>
5289da0c48c4Sopenharmony_ci
5290da0c48c4Sopenharmony_ci	* readelf.c (print_phdr): Show which sections are covered by the
5291da0c48c4Sopenharmony_ci	PT_GNU_RELRO entry.
5292da0c48c4Sopenharmony_ci
5293da0c48c4Sopenharmony_ci	* elflint.c (check_program_header): Check PT_GNU_RELRO entry.
5294da0c48c4Sopenharmony_ci
5295da0c48c4Sopenharmony_ci	* readelf.c (print_debug_macinfo_section): Implement.
5296da0c48c4Sopenharmony_ci
5297da0c48c4Sopenharmony_ci2004-01-18  Ulrich Drepper  <drepper@redhat.com>
5298da0c48c4Sopenharmony_ci
5299da0c48c4Sopenharmony_ci	* readelf.c (print_debug_line_section): Implement.
5300da0c48c4Sopenharmony_ci
5301da0c48c4Sopenharmony_ci2004-01-17  Ulrich Drepper  <drepper@redhat.com>
5302da0c48c4Sopenharmony_ci
5303da0c48c4Sopenharmony_ci	* src/elflint.c: Use PACKAGE_NAME instead of PACKAGE.
5304da0c48c4Sopenharmony_ci	* src/ld.c: Likewise.
5305da0c48c4Sopenharmony_ci	* src/nm.c: Likewise.
5306da0c48c4Sopenharmony_ci	* src/readelf.c: Likewise.
5307da0c48c4Sopenharmony_ci	* src/size.c: Likewise.
5308da0c48c4Sopenharmony_ci	* src/strip.c: Likewise.
5309da0c48c4Sopenharmony_ci
5310da0c48c4Sopenharmony_ci	* strip.c: Add a few more unlikely.  Reduce scope of some variables.
5311da0c48c4Sopenharmony_ci
5312da0c48c4Sopenharmony_ci	* Makefile.am: Support building with mudflap.
5313da0c48c4Sopenharmony_ci
5314da0c48c4Sopenharmony_ci2004-01-16  Ulrich Drepper  <drepper@redhat.com>
5315da0c48c4Sopenharmony_ci
5316da0c48c4Sopenharmony_ci	* readelf.c (print_debug_info_section): Free dies memory.
5317da0c48c4Sopenharmony_ci
5318da0c48c4Sopenharmony_ci	* readelf.c: Print .debug_info section content.
5319da0c48c4Sopenharmony_ci
5320da0c48c4Sopenharmony_ci2004-01-13  Ulrich Drepper  <drepper@redhat.com>
5321da0c48c4Sopenharmony_ci
5322da0c48c4Sopenharmony_ci	* readelf.c (print_shdr): Add support for SHF_ORDERED and SHF_EXCLUDE.
5323da0c48c4Sopenharmony_ci
5324da0c48c4Sopenharmony_ci2004-01-12  Ulrich Drepper  <drepper@redhat.com>
5325da0c48c4Sopenharmony_ci
5326da0c48c4Sopenharmony_ci	* readelf.c (print_debug_aranges): Implement using libdw.
5327da0c48c4Sopenharmony_ci
5328da0c48c4Sopenharmony_ci2004-01-11  Ulrich Drepper  <drepper@redhat.com>
5329da0c48c4Sopenharmony_ci
5330da0c48c4Sopenharmony_ci	* nm.c: Adjust for Dwarf_Files type and dwarf_lineno interface change.
5331da0c48c4Sopenharmony_ci
5332da0c48c4Sopenharmony_ci	* readelf.c: Use libdw instead of libdwarf.  Not all of the old
5333da0c48c4Sopenharmony_ci	behavior is available yet.
5334da0c48c4Sopenharmony_ci	* Makefile.am: Link readelf with libdw.  Remove libdwarf include path.
5335da0c48c4Sopenharmony_ci
5336da0c48c4Sopenharmony_ci2004-01-09  Ulrich Drepper  <drepper@redhat.com>
5337da0c48c4Sopenharmony_ci
5338da0c48c4Sopenharmony_ci	* nm.c (get_local_names): Adjust call to dwarf_nextcu.
5339da0c48c4Sopenharmony_ci
5340da0c48c4Sopenharmony_ci	* nm.c: Implement getting information about local variables.
5341da0c48c4Sopenharmony_ci
5342da0c48c4Sopenharmony_ci2004-01-07  Ulrich Drepper  <drepper@redhat.com>
5343da0c48c4Sopenharmony_ci
5344da0c48c4Sopenharmony_ci	* nm.c: Read also debug information for local symbols.
5345da0c48c4Sopenharmony_ci
5346da0c48c4Sopenharmony_ci2004-01-05  Ulrich Drepper  <drepper@redhat.com>
5347da0c48c4Sopenharmony_ci
5348da0c48c4Sopenharmony_ci	* nm.c: Shuffle dwarf handling code around so the maximum column
5349da0c48c4Sopenharmony_ci	width can be computed ahead of printing.  Avoid collection symbols
5350da0c48c4Sopenharmony_ci	which are not printed anyway.
5351da0c48c4Sopenharmony_ci
5352da0c48c4Sopenharmony_ci	* nm.c: Rewrite dwarf handling to use libdw.
5353da0c48c4Sopenharmony_ci	* Makefile.am (AM_CFLAGS): Add -std parameter.
5354da0c48c4Sopenharmony_ci	(INCLUDES): Find header in libdw subdir.
5355da0c48c4Sopenharmony_ci	(nm_LDADD): Replace libdwarf with libdw.
5356da0c48c4Sopenharmony_ci
5357da0c48c4Sopenharmony_ci	* elflint.c: Update copyright year.
5358da0c48c4Sopenharmony_ci	* readelf.c: Likewise.
5359da0c48c4Sopenharmony_ci	* size.c: Likewise.
5360da0c48c4Sopenharmony_ci	* strip.c: Likewise.
5361da0c48c4Sopenharmony_ci	* nm.c: Likewise.
5362da0c48c4Sopenharmony_ci
5363da0c48c4Sopenharmony_ci2003-12-31  Ulrich Drepper  <drepper@redhat.com>
5364da0c48c4Sopenharmony_ci
5365da0c48c4Sopenharmony_ci	* strip.c (process_file): Close file before returning.
5366da0c48c4Sopenharmony_ci
5367da0c48c4Sopenharmony_ci2003-11-19  Ulrich Drepper  <drepper@redhat.com>
5368da0c48c4Sopenharmony_ci
5369da0c48c4Sopenharmony_ci	* readelf.c (handle_dynamic): Make column for tag name wider.
5370da0c48c4Sopenharmony_ci
5371da0c48c4Sopenharmony_ci2003-09-29  Ulrich Drepper  <drepper@redhat.com>
5372da0c48c4Sopenharmony_ci
5373da0c48c4Sopenharmony_ci	* readelf.c (handle_dynamic): Always terminate tag name with a space.
5374da0c48c4Sopenharmony_ci
5375da0c48c4Sopenharmony_ci2003-09-25  Ulrich Drepper  <drepper@redhat.com>
5376da0c48c4Sopenharmony_ci
5377da0c48c4Sopenharmony_ci	* strip.c (process_file): Don't mmap the input file, we modify the
5378da0c48c4Sopenharmony_ci	data structures and don't want the change end up on disk.
5379da0c48c4Sopenharmony_ci
5380da0c48c4Sopenharmony_ci2003-09-23  Jakub Jelinek  <jakub@redhat.com>
5381da0c48c4Sopenharmony_ci
5382da0c48c4Sopenharmony_ci	* unaligned.h (union u_2ubyte_unaligned,
5383da0c48c4Sopenharmony_ci	union u_4ubyte_unaligned, union u_8ubyte_unaligned): Add
5384da0c48c4Sopenharmony_ci	packed attribute.
5385da0c48c4Sopenharmony_ci	(add_2ubyte_unaligned, add_4ubyte_unaligned,
5386da0c48c4Sopenharmony_ci	add_8ubyte_unaligned): Avoid nesting bswap_NN macros.
5387da0c48c4Sopenharmony_ci	Read/store value through _ptr->u instead of *_ptr.
5388da0c48c4Sopenharmony_ci
5389da0c48c4Sopenharmony_ci2003-09-22  Ulrich Drepper  <drepper@redhat.com>
5390da0c48c4Sopenharmony_ci
5391da0c48c4Sopenharmony_ci	* size.c (show_sysv): Change type of maxlen to int.
5392da0c48c4Sopenharmony_ci
5393da0c48c4Sopenharmony_ci	* strip.c (handle_elf): Handle the 64-bit archs which is 64-bit
5394da0c48c4Sopenharmony_ci	buckets.
5395da0c48c4Sopenharmony_ci
5396da0c48c4Sopenharmony_ci	* i386_ld.c: Many many fixes and extensions.
5397da0c48c4Sopenharmony_ci	* ld.c: Likewise.
5398da0c48c4Sopenharmony_ci	* ldgeneric.c: Likewise.
5399da0c48c4Sopenharmony_ci
5400da0c48c4Sopenharmony_ci2003-08-16  Ulrich Drepper  <drepper@redhat.com>
5401da0c48c4Sopenharmony_ci
5402da0c48c4Sopenharmony_ci	* ldgeneric.c (check_definition): Don't add symbol on dso_list if
5403da0c48c4Sopenharmony_ci	the reference is from another DSO.
5404da0c48c4Sopenharmony_ci
5405da0c48c4Sopenharmony_ci2003-08-15  Ulrich Drepper  <drepper@redhat.com>
5406da0c48c4Sopenharmony_ci
5407da0c48c4Sopenharmony_ci	* ldgeneric.c (find_entry_point): It is no fatal error if no entry
5408da0c48c4Sopenharmony_ci	point is found when creating a DSO.
5409da0c48c4Sopenharmony_ci
5410da0c48c4Sopenharmony_ci2003-08-14  Ulrich Drepper  <drepper@redhat.com>
5411da0c48c4Sopenharmony_ci
5412da0c48c4Sopenharmony_ci	* ld.c (main): Always call FLAG_UNRESOLVED.
5413da0c48c4Sopenharmony_ci	* ldgeneric.c (ld_generic_flag_unresolved): Only complain about
5414da0c48c4Sopenharmony_ci	undefined symbols if not creating DSO or ld_state.nodefs is not set.
5415da0c48c4Sopenharmony_ci
5416da0c48c4Sopenharmony_ci2003-08-13  Ulrich Drepper  <drepper@redhat.com>
5417da0c48c4Sopenharmony_ci
5418da0c48c4Sopenharmony_ci	* Makefile.in: Depend on libebl.a, not libebl.so.
5419da0c48c4Sopenharmony_ci
5420da0c48c4Sopenharmony_ci	* ld.c (main): Mark stream for linker script as locked by caller.
5421da0c48c4Sopenharmony_ci	(read_version_script): Likewise.
5422da0c48c4Sopenharmony_ci	* ldlex.c: Define fread and fwrite to _unlocked variant.
5423da0c48c4Sopenharmony_ci
5424da0c48c4Sopenharmony_ci	* i386_ld.c (elf_i386_finalize_plt): Replace #ifdefs with uses of
5425da0c48c4Sopenharmony_ci	target_bswap_32.
5426da0c48c4Sopenharmony_ci	* unaligned.h: Define target_bswap_16, target_bswap_32, and
5427da0c48c4Sopenharmony_ci	target_bswap_64.
5428da0c48c4Sopenharmony_ci	(store_2ubyte_unaligned, store_4ubyte_unaligned,
5429da0c48c4Sopenharmony_ci	store_8ubyte_unaligned): Define using new macros.
5430da0c48c4Sopenharmony_ci
5431da0c48c4Sopenharmony_ci2003-08-12  Ulrich Drepper  <drepper@redhat.com>
5432da0c48c4Sopenharmony_ci
5433da0c48c4Sopenharmony_ci	* i386_ld.c (elf_i386_finalize_plt): Use packed structs to access
5434da0c48c4Sopenharmony_ci	possibly unaligned memory.  Support use of big endian machines.
5435da0c48c4Sopenharmony_ci
5436da0c48c4Sopenharmony_ci2003-08-11  Ulrich Drepper  <drepper@redhat.com>
5437da0c48c4Sopenharmony_ci
5438da0c48c4Sopenharmony_ci	* Moved to CVS archive.
5439