12014-12-18  Ulrich Drepper  <drepper@gmail.com>
2
3	* Makefile.am: Suppress output of textrel_check command.
4
52014-12-16  Mark Wielaard  <mjw@redhat.com>
6
7	* elf_begin.c (read_long_names): Make sure long_names len fits
8	in mapped ELF file.
9
102014-12-15  Mark Wielaard  <mjw@redhat.com>
11
12	* elf_getarsym.c (elf_getarsym): Check index_size doesn't overflow.
13
142014-12-15  Mark Wielaard  <mjw@redhat.com>
15
16	* elf_begin.c (read_long_names): Clear any garbage left in the
17	name table.
18
192014-12-11  Mark Wielaard  <mjw@redhat.com>
20
21	* elf_begin.c (file_read_elf): Correct ELF64 section offset check.
22
232014-12-11  Mark Wielaard  <mjw@redhat.com>
24
25	* elf_begin.c (read_long_names): Check for offset overflow.
26	(__libelf_next_arhdr_wrlock): Likewise. Sanity check the ar_size.
27	Don't allow it to go beyond end of file.
28
292014-12-09  Mark Wielaard  <mjw@redhat.com>
30
31	* elf_getarsym.c (elf_getarsym): Make sure n * w doesn't overflow.
32
332014-11-27  Mark Wielaard  <mjw@redhat.com>
34
35	* Makefile.am (libelf.so): Use textrel_check.
36
372014-11-23  Mark Wielaard  <mjw@redhat.com>
38
39	* elf_getdata_rawchunk.c (elf_getdata_rawchunk): Change signed
40	overflow check to unsigned.
41
422014-11-23  Mark Wielaard  <mjw@redhat.com>
43
44	* note_xlate.h (elf_cvt_note): Copy over any leftover data if
45	src != dest. The data is probably part of truncated name/desc.
46
472014-11-22  Mark Wielaard  <mjw@redhat.com>
48
49	* elf_getphdrnum.c (elf_getphdrnum): Sanity check the
50	__elf_getphdrnum_rdlock result.
51
522014-11-18  Mark Wielaard  <mjw@redhat.com>
53
54	* version_xlate.h (elf_cvt_Verdef): Check for overflow.
55	(elf_cvt_Verneed): Likewise.
56
572014-11-17  Mark Wielaard  <mjw@redhat.com>
58
59	* elf-knowledge.h (SECTION_STRIP_P): Check name is not NULL.
60
612014-11-16  Mark Wielaard  <mjw@redhat.com>
62
63	* elf_getshdrstrndx.c: Check there are section headers before
64	handling SHN_XINDEX.
65
662014-11-16  Mark Wielaard  <mjw@redhat.com>
67
68	* elf32_getphdr.c (getphdr_wrlock): Check e_phoff isn't zero.
69	Check for too many pheaders.
70	* elf_getphdrnum.c (__elf_getphdrnum_rdlock): Check section zero
71	actually exists before handling PN_XNUM.
72
732014-11-16  Mark Wielaard  <mjw@redhat.com>
74
75	* gelf_getnote.c (gelf_getnote): Check padding overflow.
76
772014-11-16  Mark Wielaard  <mjw@redhat.com>
78
79	* elf_getdata.c (__libelf_set_rawdata_wrlock): Declare offset, size
80	and align as Elf64_Off and Elf64_Xword not size_t.
81
822014-11-14  Mark Wielaard  <mjw@redhat.com>
83
84	* gelf_getnote.c (gelf_getnote): Check offset overflow.
85
862014-11-13  Mark Wielaard  <mjw@redhat.com>
87
88	* elf_getdata.c (__libelf_set_rawdata_wrlock): Fix unsigned overflow
89	check.
90
912014-11-08  Mark Wielaard  <mjw@redhat.com>
92
93	* elf_begin.c (__libelf_next_arhdr_wrlock): Use mempcpy not __mempcpy.
94
952014-11-07  Mark Wielaard  <mjw@redhat.com>
96
97	* elf_begin.c (file_read_elf): Correct sh_size check.
98	* elf_getdata.c (__libelf_set_rawdata_wrlock): Check for unsigned
99	overflow.
100
1012014-09-10  Petr Machata  <pmachata@redhat.com>
102
103	* elf_begin (read_unmmaped_file): Call __libelf_seterrno if the
104	file is unreadable.
105
1062014-07-07  Mark Wielaard  <mjw@redhat.com>
107
108	* elf.h: Update from glibc.
109
1102014-04-13  Mark Wielaard  <mjw@redhat.com>
111
112	* Makefile.am: Remove !MUDFLAP conditions.
113	* elf_begin.c (read_file): Don't clear use_mmap when _MUDFLAP is
114	defined.
115	* elf_update.c (write_file): Remove _MUDFLAP condition.
116
1172014-01-17  Jakub Jelinek  <jakub@redhat.com>
118	    Roland McGrath  <roland@redhat.com>
119
120	* libelfP.h (INVALID_NDX): Define.
121	* gelf_getdyn.c (gelf_getdyn): Use it.  Remove ndx < 0 test if any.
122	* gelf_getlib.c (gelf_getlib): Likewise.
123	* gelf_getmove.c (gelf_getmove): Likewise.
124	* gelf_getrel.c (gelf_getrel): Likewise.
125	* gelf_getrela.c (gelf_getrela): Likewise.
126	* gelf_getsym.c (gelf_getsym): Likewise.
127	* gelf_getsyminfo.c (gelf_getsyminfo): Likewise.
128	* gelf_getsymshndx.c (gelf_getsymshndx): Likewise.
129	* gelf_getversym.c (gelf_getversym): Likewise.
130	* gelf_update_dyn.c (gelf_update_dyn): Likewise.
131	* gelf_update_lib.c (gelf_update_lib): Likewise.
132	* gelf_update_move.c (gelf_update_move): Likewise.
133	* gelf_update_rel.c (gelf_update_rel): Likewise.
134	* gelf_update_rela.c (gelf_update_rela): Likewise.
135	* gelf_update_sym.c (gelf_update_sym): Likewise.
136	* gelf_update_syminfo.c (gelf_update_syminfo): Likewise.
137	* gelf_update_symshndx.c (gelf_update_symshndx): Likewise.
138	* gelf_update_versym.c (gelf_update_versym): Likewise.
139
1402014-01-17  Jakub Jelinek  <jakub@redhat.com>
141
142	* elf32_getphdr.c (elfw2(LIBELFBITS,getphdr)): Check if program header
143	table fits into object's bounds.
144	* elf_getshdrstrndx.c (elf_getshstrndx): Add elf->start_offset to
145	elf->map_address.  Check if first section header fits into object's
146	bounds.
147	* elf32_getshdr.c (elfw2(LIBELFBITS,getshdr)):
148	Check if section header table fits into object's bounds.
149	* elf_begin.c (get_shnum): Ensure section headers fits into
150	object's bounds.
151	(file_read_elf): Make sure scncnt is small enough to allocate both
152	ElfXX_Shdr and Elf_Scn array.  Make sure section and program header
153	tables fit into object's bounds.  Avoid memory leak on failure.
154	* elf_newscn.c (elf_newscn): Check for overflow.
155	* elf32_updatefile.c (__elfw2(LIBELFBITS,updatemmap)): Likewise.
156	(__elfw2(LIBELFBITS,updatefile)): Likewise.
157	* elf32_newphdr.c (elfw2(LIBELFBITS,newphdr)): Likewise.
158	* elf_getarsym.c (elf_getarsym): Likewise.
159
1602013-11-08  Mark Wielaard  <mjw@redhat.com>
161
162	* elf32_updatefile.c (elfXX_updatemmap): Only memcpy ehdr when not
163	already directly mmapped.
164
1652013-11-05  Mark Wielaard  <mjw@redhat.com>
166
167	* elf32_updatefile.c (elfXX_updatefile): Copy all section headers
168	if elf->flags dirty.
169
1702013-11-01  Michael Forney  <mforney@mforney.org>
171
172	* Makefile.am: Use READELF.
173
1742013-10-01  Petr Machata  <pmachata@redhat.com>
175
176	* elf.h: Update from glibc.
177
1782013-06-17  Petr Machata  <pmachata@redhat.com>
179
180	* elf.h: Update from glibc.
181
1822013-08-28  Namhyung Kim  <namhyung@gmail.com>
183
184	* gelf.h (gelf_fsize): Fix typo in comment.
185
1862013-08-28  Mark Wielaard  <mjw@redhat.com>
187
188	* gelf_getauxv.c (gelf_getauxv): Add missing whitespace.
189
1902013-08-27  Mark Wielaard  <mjw@redhat.com>
191
192	* gelf_getauxv.c (gelf_getauxv): Remove unnecessary casts to char *.
193
1942013-08-25  Kurt Roeckx  <kurt@roeckx.be>
195
196	* gelf_getauxv.c (gelf_getauxv): Use memcpy instead of pointer
197	dereference to avoid alignment problems.
198
1992013-01-07  Roland McGrath  <roland@hack.frob.com>
200
201	* elf_getarsym.c (elf_getarsym): Copy FILE_DATA into stack space if it
202	would be unaligned and !ALLOW_UNALIGNED.
203
204	* elf_getarsym.c (read_number_entries): Use memcpy instead of pointer
205	dereference so as not to assume the field is naturally aligned.
206
2072012-09-17  Petr Machata  <pmachata@redhat.com>
208
209	* elf.h: Update from glibc.
210
2112012-08-16  Roland McGrath  <roland@hack.frob.com>
212
213	* elf.h: Update from glibc.
214
2152012-08-14  Mark Wielaard  <mjw@redhat.com>
216
217	* elf32_checksum.c (ebl_debugscn_p): Removed unused define and
218	confusing outdated comment.
219
2202012-08-01  Petr Machata  <pmachata@redhat.com>
221
222	* elf_getarsym (read_number_entries): New function.
223	(elf_getarsym): Handle 64-bit symbol table, stored in special
224	entry named "/SYM64/".
225	* elf_begin.c (__libelf_next_arhdr_wrlock): Don't reject archive
226	because it contains 64-bit symbol table.
227
2282012-07-19  Mark Wielaard  <mjw@redhat.com>
229
230	* elf32_getshdr.c (load_shdr_wrlock): Add elf->flags & ELF_F_MALLOCED
231	to asserts.
232
2332012-07-17  Petr Machata  <pmachata@redhat.com>
234
235	* elf32_xlatetom.c (elfw2(LIBELFBITS, xlatetom)): Do not check for
236	integer number of records in case of ELF_T_NHDR.
237
2382012-04-02  Mark Wielaard  <mjw@redhat.com>
239
240	* elf32_offscn.c: Do not match SHT_NOBITS sections at OFFSET unless
241	there are no nonempty sections at that offset.
242
2432012-03-21  Roland McGrath  <roland@hack.frob.com>
244
245	* elf-knowledge.h (SECTION_STRIP_P): Remove < SHT_NUM check.
246
2472011-02-26  Mark Wielaard  <mjw@redhat.com>
248
249	* elf_end.c (elf_end): Call rwlock_unlock before rwlock_fini.
250
2512011-01-05  Jan Kratochvil  <jan.kratochvil@redhat.com>
252
253	* elf_getdata_rawchunk.c (elf_getdata_rawchunk): Fix off64_t overflow
254	when MAXIMUM_SIZE == ~0.
255
2562010-08-18  Roland McGrath  <roland@redhat.com>
257
258	* gelf_fsize.c (__libelf_type_sizes): Add entries for ELF_T_LIB
259	and ELF_T_GNUHASH.
260	Reported by Mark Hatle <mark.hatle@windriver.com>.
261
262	* exttypes.h: Add cases for ElfNN_Lib.
263	Reported by Mark Hatle <mark.hatle@windriver.com>.
264
2652010-06-14  Ulrich Drepper  <drepper@redhat.com>
266
267	* gelf_update_shdr.c: Implicitly set ELF_F_DIRTY bit.
268	* gelf_update_phdr.c: Likewise.
269	* gelf_update_ehdr.c: Likewise.
270
2712010-04-14  Roland McGrath  <roland@redhat.com>
272
273	* elf32_getphdr.c: Check for e_phoff/size outside the file bounds.
274	* elf_begin.c (file_read_elf): Don't set .phdr here.
275
2762010-04-13  Roland McGrath  <roland@redhat.com>
277
278	* elf.h: Update from glibc.
279
2802010-04-06  Roland McGrath  <roland@redhat.com>
281
282	* elf_error.c (ELF_E_FD_MISMATCH_IDX): Avoid nonobvious abbreviation
283	in error message.
284
2852010-04-01  Petr Machata  <pmachata@redhat.com>
286
287	* elf_getdata.c (__elf_getdata_rdlock): Initialize data.s for data
288	that do not need a conversion.
289
2902010-03-11  Roland McGrath  <roland@redhat.com>
291
292	* elf.h: Update from glibc.
293
2942010-03-04  Ulrich Drepper  <drepper@redhat.com>
295
296	* elf.h: Update from glibc.
297
2982010-02-17  Roland McGrath  <roland@redhat.com>
299
300	* elf_begin.c (file_read_elf): Leave section rawdata_base and
301	data_base pointers null when [sh_offset,sh_size) points outside
302	the mapped file.
303
3042010-02-15  Roland McGrath  <roland@redhat.com>
305
306	* Makefile.am: Use config/eu.am for common stuff.
307
3082010-01-07  Roland McGrath  <roland@redhat.com>
309
310	* elf32_getphdr.c: Use __elf_getphdrnum_rdlock.
311	* gelf_getphdr.c: Likewise.
312	* gelf_update_phdr.c: Likewise.
313	* elf32_updatefile.c (__elf32_updatemmap, __elf32_updatefile): Likewise.
314	* elf32_updatenull.c (__elf32_updatenull_wrlock): Likewise.
315	* elf32_newphdr.c: Clear section 0's sh_info when resetting e_phnum.
316	If COUNT is too large, use store PN_XNUM instead and set sh_info.
317	* elf_begin.c (file_read_elf): Always allocate space we can use later
318	for section 0 if doing RDWR.
319
320	* elf_getphdrnum.c: New file.
321	* Makefile.am (libelf_a_SOURCES): Add it.
322	* libelf.h: Declare elf_getphdrnum.
323	* libelfP.h: Declare __elf_getphdrnum_rdlock.
324	* libelf.map (ELFUTILS_1.6): New set, add elf_getphdrnum.
325
326	* elf.h: Update from glibc.
327
3282009-10-23  Lubomir Rintel  <lkundrak@v3.sk>
329
330	* elf32_updatefile.c (fill_mmap): When starting past shdr_end, start
331	filling from section start, not shdr_end.
332
3332009-11-10  Roland McGrath  <roland@redhat.com>
334
335	* elf_readall.c (__libelf_readall): Fetch file size if not yet known.
336
3372009-11-06  Mark Wielaard  <mjw@redhat.com>
338
339	* elf_next.c (elf_next): Mark the archive header as unusable when
340	there is no next ar element.
341
3422009-08-12  Mark Wielaard  <mjw@redhat.com>
343
344	* Makefile.am (libelf.so): Use -Wl,-z,defs not -defs.
345
3462009-07-26  Ulrich Drepper  <drepper@redhat.com>
347
348	* elf.h: Update from glibc.
349
3502009-07-21  Ulrich Drepper  <drepper@redhat.com>
351
352	* elf32_updatefile.c (__elfXX_updatemmap): Fix handling of gaps between
353	sections.  Patch by Lubomir Rintel <lkundrak@v3.sk>.
354
3552009-07-08  Roland McGrath  <roland@redhat.com>
356
357	* libelfP.h (struct Elf): Remove unused ar.has_index field.
358	Reorder various members for optimal packing.
359
3602009-07-08  Ulrich Drepper  <drepper@redhat.com>
361
362	* elf.h: Update from glibc.
363
3642009-06-13  Ulrich Drepper  <drepper@redhat.com>
365
366	* Makefile.am (libelf_a_SOURCES): Replace elf_getshnum.c and
367	elf_getshstrndx.c with elf_getshdrnum.c and elf_getshdrstrndx.c.
368	* elf_getshnum.c: Renamed to...
369	* elf_getshdrnum.c: ...this.  Rename function and add old name as
370	alias.  Likewise for internal functions with derived names.
371	* elf_getshstrndx.c: Renamed to...
372	* elf_getshdrstrndx.c: ...this.  Rename function and add old name as
373	alias.  Likewise for internal functions with derived names.
374	* libelf.h: Add prototypes for new names.  Make old names as
375	deprecated.
376	* libelfP.h: Rename internal function prototypes.
377	* libelf.map: Export for names.
378	* elf32_checksum.c: Don't use deprecated functions.
379	* elf32_getshdr.c: Likewise.
380
3812009-06-01  Ulrich Drepper  <drepper@redhat.com>
382
383	* elf.h: Update from glibc.
384
3852009-04-14  Roland McGrath  <roland@redhat.com>
386
387	* elf.h: Update from glibc.
388
3892009-04-01  Roland McGrath  <roland@redhat.com>
390
391	* elf.h: Update from glibc.
392
3932009-02-10  Ulrich Drepper  <drepper@redhat.com>
394
395	* elf32_updatefile.c (updatefile): For the zeroth section we still
396	have to copy the section header.
397
3982009-02-01  Ulrich Drepper  <drepper@redhat.com>
399
400	* elf_strptr.c: Add comment re possible problem.
401
4022009-01-26  Ulrich Drepper  <drepper@redhat.com>
403
404	* elf32_updatenull.c (updatenull_wrlock): Fix comment of
405	ELF_F_LAYOUT behaviour re section header table.
406
4072009-01-22  Ulrich Drepper  <drepper@redhat.com>
408
409	* elf32_updatefile.c (__elfXX_updatemmap): Fill the gap between
410	sections even if only the section at the start of the gap has been
411	changed.
412	(__elfXX_updatefile): Likewise.
413
4142009-01-21  Ulrich Drepper  <drepper@redhat.com>
415
416	* elf32_updatefile.c (__elfXX_updatemmap): Skip most of the loop to
417	handle sections for NOBITS sections.
418	(elfXX_updatefile): Likewise.
419
420	* elf32_updatefile.c (__elfXX_updatemmap): When skipping non-NOBITS
421	sections we haven't loaded, update last_position based on scn_start,
422	not based on old value.  Don't run the loop for the dummy section 0.
423	(elfXX_updatefile): Don't run the loop for the dummy section 0.
424
4252009-01-10  Ulrich Drepper  <drepper@redhat.com>
426
427	* libelfP.h (_): We only have one translation domain, elfutils.
428
429	* Makefile.am: Use USE_LOCKS instead of USE_TLS.
430	* elf_error.c: Always use __thread.  Remove all !USE_TLS code.
431
4322009-01-04  Roland McGrath  <roland@redhat.com>
433
434	* note_xlate.h (elf_cvt_note): Don't examine a size too small to
435	container a note header.
436
4372008-12-11  Roland McGrath  <roland@redhat.com>
438
439	* elf32_updatefile.c (__elfw2(LIBELFBITS,updatemmap)): Handle
440	placement offset going backwards, for out-of-order or overlapping
441	(bogus) sh_offset layouts.  It's a dumb use, but should not crash.
442	(__elfw2(LIBELFBITS,updatefile)): Likewise.
443	Fixes RHBZ#476136.
444
445	* libelf.h (Elf_Data): Whitespace fix.
446
4472008-12-10  Roland McGrath  <roland@redhat.com>
448
449	* elf_getarhdr.c (elf_getarhdr): Fix missing rename in last change.
450
4512008-10-22  Petr Machata  <pmachata@redhat.com>
452
453	* elf_rawfile.c (elf_rawfile): Lock around elf-> references.
454
4552008-10-21  Petr Machata  <pmachata@redhat.com>
456
457	* libelfP.h: Rename getehdr_rdlock to getehdr_wrlock.
458	* elf32_getehdr.c (getehdr_rdlock): Move the code to new function
459	getehdr_impl and make it a wrapper.  Rename to getehdr_wrlock.
460	(getehdr_impl): Guard elf->class init with wrlock.
461	(getehdr): Also make it a wrapper of getehdr_impl.
462	* elf32_updatenull.c (updatenull_wrlock): Call getehdr_wrlock.
463
4642008-10-20  Petr Machata  <pmachata@redhat.com>
465
466	* elf_getdata_rawchunk.c (elf_getdata_rawchunk): Lock around the
467	code that reads mutable elf state.  Relock to write lock to chain
468	the new chunk on the elf rawchunks list.
469
4702008-10-20  Petr Machata  <pmachata@redhat.com>
471
472	* elf32_checksum.c (checksum): Place a lock around the code that
473	processes data.  Make it wrlock if the code needs to xlate the
474	data before processing.
475
4762008-10-16  Petr Machata  <pmachata@redhat.com>
477
478	* elf_begin.c
479	(__libelf_next_arhdr): Rename to __libelf_next_arhdr_wrlock.
480	(dup_elf): Adjust the call.
481	(elf_begin): New local function lock_dup_elf.  Relocks the elf if
482	necessary before calling dup.  Call this instead of dup_elf.
483	* elf_getarhdr.c
484	(elf_getarhdr): Lock before calling __libelf_next_arhdr_wrlock.
485	* elf_next.c (elf_next): Likewise.
486	* elf_rand.c (elf_rand): Likewise.
487
4882008-10-14  Petr Machata  <pmachata@redhat.com>
489
490	* elf_getdata.c (__elf_getdata_rdlock): Lock before converting.
491
4922008-11-26  Roland McGrath  <roland@redhat.com>
493
494	* elf.h: Update from glibc.
495
4962008-10-06  Roland McGrath  <roland@redhat.com>
497
498	* elf_getarhdr.c (elf_getarhdr): Return NULL when passed NULL.
499
5002008-08-27  Roland McGrath  <roland@redhat.com>
501
502	* elf_begin.c (get_shnum): Avoid misaligned reads for matching endian.
503
504	* libelfP.h [!ALLOW_UNALIGNED] (__libelf_type_align): Fix CLASS index.
505
5062008-08-25  Roland McGrath  <roland@redhat.com>
507
508	* Makefile.am (libelf_so_LDLIBS): New variable.
509	(libelf.so): Use it in the link.
510
5112008-08-21  Petr Machata  <pmachata@redhat.com>
512
513	* elf_getdata.c, libelfP.h
514	(__elf_getdata_internal): Rename to __elf_getdata_rdlock.
515	(__libelf_set_rawdata_wrlock): New function.
516	(__libelf_set_rawdata): Make it a wrapper that calls *_wrlock.
517	* elf32_updatenull.c, libelfP.h
518	(__elfNN_updatenull): Rename to __elfNN_updatenull_wrlock.
519
5202008-08-21  Petr Machata  <pmachata@redhat.com>
521
522	* elf32_getphdr.c, libelfP.h
523	(__elfNN_getphdr_internal): Drop.  Move __elfNN_getphdr_internal
524	code to __elfNN_getphdr_wrlock.
525	(__elfNN_getphdr_rdlock, __elfNN_getphdr_wrlock): New functions.
526	(__elfNN_getphdr_rdlock, __elfNN_getphdr_wrlock): Make these
527	wrappers of getphdr_impl.
528
5292008-08-21  Petr Machata  <pmachata@redhat.com>
530
531	* elf32_getehdr.c, libelfP.h
532	(__elfNN_getehdr_internal): Rename to __elfNN_getehdr_rdlock.
533	* gelf_getehdr, libelfP.h:
534	(__gelf_getehdr_internal): Rename to __gelf_getehdr_rdlock.
535
5362008-08-21  Petr Machata  <pmachata@redhat.com>
537
538	* elf32_getshdr.c
539	(__elfNN_getshdr_internal): Drop.
540	(load_shdr_wrlock, scn_valid): New functions, contain bits of
541	behaviour from __elfNN_getshdr_internal.
542	(__elfNN_getshdr_rdlock, __elfNN_getshdr_wrlock): Replacements for
543	dropped _internal functions above.
544	* elf_getshnum.c
545	(__elf_getshnum_internal): Rename to __elf_getshnum_rdlock.
546
5472008-08-04  Petr Machata  <pmachata@redhat.com>
548
549	* libelfP.h (RWLOCK_RDLOCK, RWLOCK_WRLOCK, RWLOCK_UNLOCK): New macros.
550
5512008-07-28  Roland McGrath  <roland@redhat.com>
552
553	* elf.h: Update from glibc.
554
5552008-03-31  Roland McGrath  <roland@redhat.com>
556
557	* elf32_offscn.c: Make sure shdrs have been read in.
558
5592008-02-19  Roland McGrath  <roland@redhat.com>
560
561	* elf.h: Update from glibc.
562
5632008-02-08  Roland McGrath  <roland@redhat.com>
564
565	* elf.h: Update from glibc.
566
5672008-01-31  Ulrich Drepper  <drepper@redhat.com>
568
569	* elf_strptr.c (elf_strptr): Don't fail if the ELF file is currently
570	under construction and no raw data can be read from disk.
571
5722008-01-30  Roland McGrath  <roland@redhat.com>
573
574	* elf.h: Update from glibc.
575
5762008-01-26  Roland McGrath  <roland@redhat.com>
577
578	* elf_begin.c (__libelf_next_arhdr): Rewrite conversions using a macro.
579	Fixes various pastos in wrong type in sizeof, wrong string parsed.
580
5812008-01-20  Roland McGrath  <roland@redhat.com>
582
583	* elf_getaroff.c: Calculate from start_offset, instead of using
584	parent's state.ar.offset field.
585
5862008-01-08  Roland McGrath  <roland@redhat.com>
587
588	* Makefile.am (euinclude): Variable removed.
589	(pkginclude_HEADERS): Set this instead of euinclude_HEADERS.
590
5912008-01-03  Roland McGrath  <roland@redhat.com>
592
593	* common.h: Add __attribute__ ((unused)) to static functions.
594
5952007-12-20  Ulrich Drepper  <drepper@redhat.com>
596
597	* Makefile.am (libelf_a_SOURCES): Add elf_scnshndx.
598	* libelfP.h (struct Elf_Scn): Add shndx_index field.
599	Declare __elf_scnshndx_internal.
600	* elf32_getshdr.c: Record location of extended section header.
601	* elf_begin.c (file_read_elf): Likewise.
602	* elf_scnshndx.c: New file.
603	* libelf.h: Declare elf_scnshndx.
604	* libelf.map: Add elf_scnshndx to version ELFUTILS_1.4.
605
6062007-11-12  Roland McGrath  <roland@redhat.com>
607
608	* libelf.h: Replace off64_t with loff_t throughout.
609	Only that type name is unconditionally defined by <sys/types.h>
610
6112007-11-03  Roland McGrath  <roland@redhat.com>
612
613	* libelf.h (Elf_Data): Comment fix.
614
6152007-10-18  Roland McGrath  <roland@redhat.com>
616
617	* elf.h: Update from glibc.
618
6192007-10-07  Roland McGrath  <roland@redhat.com>
620
621	* elf_begin.c (__libelf_next_arhdr): Fix fencepost error and wrong
622	member access in terminating name with no trailing /.  Trim trailing
623	spaces when there is no /.
624
6252007-10-04  Roland McGrath  <roland@redhat.com>
626
627	* elf_end.c (elf_end): Don't free ELF->state.ar.ar_sym when it's -1l.
628
6292007-10-03  Roland McGrath  <roland@redhat.com>
630
631	* libelf.h (Elf_Data): Use off64_t for d_off.
632	(Elf_Arhdr): Use off64_t for ar_size.
633	(elf_update, elf_getbase, elf_getaroff): Return off64_t.
634
635	* gelf_rawchunk.c: File removed.
636	* gelf_freechunk.c: File removed.
637	* Makefile.am (libelf_a_SOURCES): Remove them.
638	* libelf.map (ELFUTILS_1.0): Remove exports.
639	* gelf.h: Remove decls.
640
641	* elf_getdata_rawchunk.c: New file.
642	* Makefile.am (libelf_a_SOURCES): Add it.
643	* libelf.map (ELFUTILS_1.3): Add elf_getdata_rawchunk.
644	* libelf.h: Declare it.
645	* libelfP.h (Elf_Data_Chunk): New type.
646	(struct Elf.elf): New member `rawchunks'.
647	* elf_end.c (elf_end): Free recorded rawchunk buffers.
648
6492007-08-24  Roland McGrath  <roland@redhat.com>
650
651	* gelf_getnote.c: New file.
652	* Makefile.am (libelf_a_SOURCES): Add it.
653	* gelf.h: Declare gelf_getnote.
654	* libelf.map (ELFUTILS_1.3): Add gelf_getnote.
655
656	* libelfP.h (NOTE_ALIGN): New macro.
657	* note_xlate.h: New file.
658	* Makefile.am (noinst_HEADERS): Add it.
659	* gelf_xlate.c: Include it.
660	(__elf_xfctstom): Use elf_cvt_note.
661	* elf_getdata.c (shtype_map, __libelf_type_align): Handle SHT_NOTE.
662	(__libelf_set_rawdata): Likewise.
663
6642007-08-19  Roland McGrath  <roland@redhat.com>
665
666	* gelf_update_auxv.c: New file.
667	* gelf_getauxv.c: New file.
668	* Makefile.am (libelf_a_SOURCES): Add them.
669	* gelf.h: Declare gelf_getauxv, gelf_update_auxv.
670	* libelf.map (ELFUTILS_1.3): New set, inherits fom ELFUTILS_1.2.
671	Export gelf_getauxv, gelf_update_auxv.
672
673	* libelf.h (Elf_Type): Add ELF_T_AUXV.
674	* abstract.h: Add auxv_t entries.
675	* exttypes.h: Likewise.
676	* gelf_xlate.h: Likewise.
677	* gelf_xlate.c (__elf_xfctstom): Add ELF_T_AUXV entries.
678	* gelf_fsize.c (__libelf_type_sizes): Likewise.
679
6802007-08-12  Roland McGrath  <roland@redhat.com>
681
682	* elf32_updatefile.c (compare_sections): Sort secondarily on sh_size,
683	and only tertiarily on index.
684
6852007-07-09  Roland McGrath  <roland@redhat.com>
686
687	* elf.h: Update from glibc.
688
6892007-04-22  Roland McGrath  <roland@redhat.com>
690
691	* elf.h: Update from glibc.
692
6932007-03-18  Roland McGrath  <roland@redhat.com>
694
695	* elf_begin.c (get_shnum): Fix test for e_shoff being out of bounds.
696	Return zero when the section headers do not fit within MAXSIZE.
697
6982007-03-09  Roland McGrath  <roland@redhat.com>
699
700	* libelfP.h (LIBELF_EV_IDX): New macro.
701	(__libelf_type_align): New macro.
702	[! ALLOW_UNALIGNED]: Declare __libc_type_aligns array.
703	* elf_getdata.c (shtype_map): Convert to just Elf_Type[][].
704	(convert_data, __libelf_set_rawdata): Use that, __libelf_type_align,
705	and __libelf_type_sizes, in place of old table.
706	(__libc_type_aligns): New const variable.
707
7082007-02-04  Ulrich Drepper  <drepper@redhat.com>
709
710	* Makefile (libelf.so): Build with -z relro.
711
712	* elf_begin.c (read_file): When using ELF_C_READ_MMAP use MAP_PRIVATE.
713
7142007-01-30  Ulrich Drepper  <drepper@redhat.com>
715
716	* nlist.c: Close file descriptor before returning.
717
7182007-01-20  Roland McGrath  <roland@redhat.com>
719
720	* gnuhash_xlate.h (elf_cvt_gnuhash): Fix fence-post error so we
721	convert the final word.
722
723	* elf32_getshdr.c: Don't byteswap shdr fields when EI_DATA matches
724	MY_ELFDATA on !ALLOW_UNALIGNED machines.
725
7262007-01-18  Roland McGrath  <roland@redhat.com>
727
728	* gelf_rawchunk.c (gelf_rawchunk): Clear RESULT pointer after freeing
729	it on read error.
730
7312006-10-13  Roland McGrath  <roland@redhat.com>
732
733	* elf32_updatenull.c: Look for and accept phdr also for ET_CORE.
734	* elf_error.c (msgstr): Change ELF_E_INVALID_PHDR string.
735
7362006-08-29  Roland McGrath  <roland@redhat.com>
737
738	* elf32_getphdr.c: Don't byteswap phdr fields when EI_DATA matches
739	MY_ELFDATA on !ALLOW_UNALIGNED machines.
740	Reported by Christian Aichinger <Greek0@gmx.net>.
741
742	* Makefile.am (CLEANFILES): Add libelf.so.$(VERSION).
743
7442006-08-08  Ulrich Drepper  <drepper@redhat.com>
745
746	* elf.h (DT_VALNUM): Update.
747	(DT_ADDRNUM): Likewise.
748
7492006-07-12  Ulrich Drepper  <drepper@redhat.com>
750
751	* elf32_updatefile.c: Adjust for internal_function_def removal.
752	* elf32_updatenull.c: Likewise.
753	* elf_begin.c: Likewise.
754	* elf_getdata.c: Likewise.
755
7562006-07-11  Ulrich Drepper  <drepper@redhat.com>
757
758	* libelf.h: Define ELF_T_GNUHASH.
759	* elf_getdata.c (TYPEIDX): Handle SHT_GNU_HASH.
760	(shtype_map): Add SHT_GNU_HASH entries.
761	* gelf_xlate.c (__elf_xfctstom): Add ELF_T_GNUHASH entries.
762	* gnuhash_xlate.h: New file.
763	* Makefile.am (noinst_HEADERS): Add gnuhash_xlate.h.
764
7652006-07-06  Ulrich Drepper  <drepper@redhat.com>
766
767	* elf_gnu_hash.c: New file.
768	* libelf.h: Declare elf_gnu_hash.
769	* Makefile.am (libelf_a_SOURCES): Add elf_gnu_hash.
770	* libelf.map: Add elf_gnu_map for version ELFUTILS_1.2.
771
7722006-06-15  Roland McGrath  <roland@redhat.com>
773
774	* libelf.h (elf_getarsym): Fix comment typo.
775	Rename second parameter to be more explanatory.
776	(elf_getident, elf_rawhide): Likewise.
777
7782006-05-28  Ulrich Drepper  <drepper@redhat.com>
779
780	* elf32_updatefile.c (updatemmap): Preserve section content if
781	copying would overwrite them.
782	Fix msync paramters.
783
7842006-04-04  Roland McGrath  <roland@redhat.com>
785
786	* elf32_updatefile.c (updatemmap): Handle other-endian case.
787
7882006-04-04  Ulrich Drepper  <drepper@redhat.com>
789
790	* elf32_updatefile.c (updatemmap): Cleanups.  Remove shdr_dest
791	variable.  Before writing sections, make a copy of the section
792	header data if necessary.  Don't write section header while
793	writing the section constent, it might overwrite some sections.
794	Restore the pointer afterwards.
795	* elf32_updatenull.c (updatenull): If the offset of a section in a
796	file changed make sure we read the section so that it'll be written
797	out.
798
799	* elf_update.c: Remove debug message.
800
8012005-12-07  Roland McGrath  <roland@redhat.com>
802
803	* gelf_xlate.c [! ALLOW_UNALIGNED] (union unaligned): New type.
804	(FETCH, STORE): New macros.
805	(INLINE3): Use those to do alignment-friendly conversion.
806
807	* elf32_getshdr.c: Include map_address and start_offset in alignment
808	calculations.
809	* elf32_getphdr.c: Likewise.
810
8112005-11-19  Roland McGrath  <roland@redhat.com>
812
813	* elf.h: Update from glibc.
814
8152005-11-17  Roland McGrath  <roland@redhat.com>
816
817	* elf.h: Update from glibc.
818
8192005-11-10  Roland McGrath  <roland@redhat.com>
820
821	* elf.h: Update from glibc.
822
8232005-09-09  Roland McGrath  <roland@redhat.com>
824
825	* elf_update.c (write_file): Stat the file and fchmod it after update
826	if its mode had S_ISUID or S_ISGID bits set.
827
8282005-08-28  Ulrich Drepper  <drepper@redhat.com>
829
830	* elf32_getphdr.c: Include <system.h>.  Use pread_retry instead of
831	pread.  And branch prediction where useful.
832	* elf_begin.c: Likewise.
833	* elf_getdata.c: Likewise.
834	* elf_getshstrndx.c: Likewise.
835	* elf_readall.c: Likewise.
836	* gelf_rawchunk.c: Likewise.
837	* elf32_updatefile.c: Include <system.h>.  Use pread_retry instead of
838	pread.  And branch prediction where useful.
839	* elf_getarsym.c: Don't define pread_retry here.
840
841	* Makefile.am: Use $(LINK) not $(CC) when creating DSO.
842	(%.os): Use COMPILE.os.
843	(COMPILE.os): Filter out gconv options.
844
8452005-08-27  Ulrich Drepper  <drepper@redhat.com>
846
847	* elf_begin.c (file_read_elf): Avoid reading ELF header from file
848	again.  Instead accept additional parameter which points to it if we
849	don't use mmap.
850	(get_shnum): Use passed in e_ident value as source of ELF header.
851
8522005-08-15  Ulrich Drepper  <drepper@redhat.com>
853
854	* elf_begin.c (__libelf_next_arhdr): Use TEMP_FAILURE_RETRY.
855
856	* Makefile (libelf_a_SOURCES): Add elf_getaroff.c.
857	* libelf.map: Export elf_getaroff.
858	* libelf.h: Declare elf_getaroff.
859	* elf_getaroff.c: New file.
860
8612005-08-13  Ulrich Drepper  <drepper@redhat.com>
862
863	* elf_begin.c (get_shnum): Optimize memory handling.  Always read from
864	mapped file if available.  Fix access to 64-bit sh_size.  Recognize
865	overflow.
866	(file_read_elf): Likewise.
867
8682005-08-12  Roland McGrath  <roland@redhat.com>
869
870	* elf32_offscn.c: Do not match empty sections at OFFSET unless
871	there are no nonempty sections at that offset.
872
8732005-08-07  Ulrich Drepper  <drepper@redhat.com>
874
875	* elf.h: Update from glibc.
876
8772005-08-06  Ulrich Drepper  <drepper@redhat.com>
878
879	* Makefile.am (AM_CFLAGS): Add -fpic when BUILD_STATIC.
880
8812005-08-03  Ulrich Drepper  <drepper@redhat.com>
882
883	* libelf.map: Move elf32_offscn, elf64_offscn, and gelf_offscn in
884	new version ELFUTILS_1.1.1.
885
8862005-08-02  Ulrich Drepper  <drepper@redhat.com>
887
888	* elf_error.c: Add handling of ELF_E_INVALID_OFFSET.
889	* elf32_offscn.c: New file.
890	* elf64_offscn.c: New file.
891	* gelf_offscn.c: New file.
892	* Makefile.am (libelf_a_SOURCES): Add elf32_offscn.c, elf64_offscn.c,
893	and gelf_offscn.c.
894	* libelf.sym: Export new symbols.
895
8962005-07-23  Ulrich Drepper  <drepper@redhat.com>
897
898	* elf-knowledge.h (SECTION_STRIP_P): Don't handle removal of debug
899	sections here anymore.
900	* elf32_checksum.c: Adjust for change in SECTION_STRIP_P interface.
901
902	* elf_update.c (elf_update): Get write lock, not read lock.
903
904	* elf32_updatenull.c (updatenull): Get section headers if necessary
905	and possible.
906
9072005-07-22  Ulrich Drepper  <drepper@redhat.com>
908
909	* elf32_updatenull.c (updatenull): If program header hasn't been loaded
910	yet, try to do it now.
911	Don't unnecessarily update overflow of section count in zeroth section
912	sh_size field.
913	If section content hasn't been read yet, do it before looking for the
914	block size.  If no section data present, infer size of section header.
915
9162005-05-11  Ulrich Drepper  <drepper@redhat.com>
917
918	* elf.h: Update again.
919
9202005-05-09  Ulrich Drepper  <drepper@redhat.com>
921
922	* elf.h: Update from glibc.
923
9242005-05-08  Roland McGrath  <roland@redhat.com>
925
926	* elf_begin.c (read_file) [_MUDFLAP]: Don't use mmap for now.
927	* elf_update.c (write_file) [_MUDFLAP]: Likewise.
928
9292005-03-29  Ulrich Drepper  <drepper@redhat.com>
930
931	* elf32_checksum.c: Use INTUSE and INTDEF to avoid PLTs.
932	* elf_end.c: Likewise.
933	* elf_getdata.c: Likewise.
934	* gelf_getehdr.c: Likewise.
935	* nlist.c: Likewise.
936	* libelfP.h: Add declarations of internal functions.
937
9382005-02-15  Ulrich Drepper  <drepper@redhat.com>
939
940	* common.h (CONVERT): Make sure all values are unsigned.
941	(CONVERT_TO): Likewise.
942
943	* Makefile.am (AM_CFLAGS): Add -Wformat=2.
944	Fix rule to build libelf.so.
945
9462005-02-06  Ulrich Drepper  <drepper@redhat.com>
947
948	* Makefile.am: Cleanup AM_CFLAGS handling.  Add -Wunused -Wextra.
949	Remove lint handling.
950	* elf32_getphdr.c: Minor cleanups.
951	* elf32_getshdr.c: Likewise.
952	* elf32_updatefile.c: Likewise.
953	* elf32_updatenull.c: Likewise.
954	* elf_begin.c: Likewise.
955	* elf_error.c: Likewise.
956	* elf_getarsym.c: Likewise.
957	* elf_getdata.c: Likewise.
958	* elf_update.c: Likewise.
959	* gelf_xlate.c: Likewise.
960
9612005-02-05  Ulrich Drepper  <drepper@redhat.com>
962
963	* Makefile.am: Check for text relocations in constructed DSO.
964
965	* Makefile.am [MUDFLAP] (AM_CFLAGS): Add -Werror -fpic -fmudflap.
966
9672005-02-04  Ulrich Drepper  <drepper@redhat.com>
968
969	* gelf_getehdr.c (gelf_getehdr): Slight optimization.
970
971	* elf32_checksum.c (checksum): Do not look at NOBITS sections.
972
973	* gelf.h: Add gelf_checksum prototype.
974
9752004-09-25  Ulrich Drepper  <drepper@redhat.com>
976
977	* elf32_checksum.c: Make compile with gcc 4.0.
978	* elf32_updatefile.c: Likewise.
979	* elf32_updatenull.c: Likewise.
980	* elf_begin.c: Likewise.
981	* elf_error.c: Likewise.
982	* elf_getdata.c: Likewise.
983	* elf_getident.c: Likewise.
984
9852004-04-01  Ulrich Drepper  <drepper@redhat.com>
986
987	* elf.h: Update from glibc.
988
9892004-01-23  Ulrich Drepper  <drepper@redhat.com>
990
991	* elf_update.c: Fix locking.
992	* elf_clone.c: Likewise.
993
994	* libelf.h: Define ELF_T_LIB.
995	* gelf_getlib.c: New file.
996	* gelf_update_lib.c: New file.
997	* gelf.h: Declare the new functions.  Define GElf_Lib.
998	* abstract.h: Define Lib, Lib32, Lib64.
999	* gelf_xlate.c (__elf_xfctstom): Add ELF_T_LIB entry.
1000	* gelf_xlate.h: Add entry for ElfXX_Lib.
1001	* elf_getdata.c: Recognize SHT_GNU_LIBLIST as a known section type.
1002	* libelf.map: Add new symbols to ELFUTILS_1.1.
1003	* Makefile.am (libelf_a_SOURCES): Add gelf_getlib.c and
1004	gelf_update_lib.c.
1005
10062004-01-17  Ulrich Drepper  <drepper@redhat.com>
1007
1008	* Makefile.am: Support building with mudflap.
1009
1010	* gelf_xlate.c (INLINE3): Avoid using cast as lvalue.
1011	* dl-hash.h (_dl_elf_hash): Likewise.
1012
10132004-01-05  Ulrich Drepper  <drepper@redhat.com>
1014
1015	* elf-knowledge.h: New file.  From libelf subdir.
1016	* Makefile.am (euincludedir): Define.
1017	(euinclude_HEADERS): Add elf-knowledge.h.
1018
10192003-09-24  Ulrich Drepper  <drepper@redhat.com>
1020
1021	* elf.h: Define some PT_IA_64_HP_* constants.
1022
10232003-09-23  Jakub Jelinek  <jakub@redhat.com>
1024
1025	* libelfP.h (struct Elf): Move state.elf64.sizestr_offset after
1026	state.elf64.scnincr to match state.elf{,32}.
1027
10282003-08-12  Ulrich Drepper  <drepper@redhat.com>
1029
1030	* elf32_updatefile.c (__updatemmap): When writing back file where
1031	some sections have not been read in, count their sizes based on
1032	the section header.
1033
10342003-08-11  Ulrich Drepper  <drepper@redhat.com>
1035
1036	* Moved to CVS archive.
1037