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