Imported Upstream version 0.153
[platform/upstream/elfutils.git] / libelf / ChangeLog
1 2011-01-05  Jan Kratochvil  <jan.kratochvil@redhat.com>
2
3         * elf_getdata_rawchunk.c (elf_getdata_rawchunk): Fix off64_t overflow
4         when MAXIMUM_SIZE == ~0.
5
6 2010-08-18  Roland McGrath  <roland@redhat.com>
7
8         * gelf_fsize.c (__libelf_type_sizes): Add entries for ELF_T_LIB
9         and ELF_T_GNUHASH.
10         Reported by Mark Hatle <mark.hatle@windriver.com>.
11
12         * exttypes.h: Add cases for ElfNN_Lib.
13         Reported by Mark Hatle <mark.hatle@windriver.com>.
14
15 2010-06-14  Ulrich Drepper  <drepper@redhat.com>
16
17         * gelf_update_shdr.c: Implicitly set ELF_F_DIRTY bit.
18         * gelf_update_phdr.c: Likewise.
19         * gelf_update_ehdr.c: Likewise.
20
21 2010-04-14  Roland McGrath  <roland@redhat.com>
22
23         * elf32_getphdr.c: Check for e_phoff/size outside the file bounds.
24         * elf_begin.c (file_read_elf): Don't set .phdr here.
25
26 2010-04-13  Roland McGrath  <roland@redhat.com>
27
28         * elf.h: Update from glibc.
29
30 2010-04-06  Roland McGrath  <roland@redhat.com>
31
32         * elf_error.c (ELF_E_FD_MISMATCH_IDX): Avoid nonobvious abbreviation
33         in error message.
34
35 2010-04-01  Petr Machata  <pmachata@redhat.com>
36
37         * elf_getdata.c (__elf_getdata_rdlock): Initialize data.s for data
38         that do not need a conversion.
39
40 2010-03-11  Roland McGrath  <roland@redhat.com>
41
42         * elf.h: Update from glibc.
43
44 2010-03-04  Ulrich Drepper  <drepper@redhat.com>
45
46         * elf.h: Update from glibc.
47
48 2010-02-17  Roland McGrath  <roland@redhat.com>
49
50         * elf_begin.c (file_read_elf): Leave section rawdata_base and
51         data_base pointers null when [sh_offset,sh_size) points outside
52         the mapped file.
53
54 2010-02-15  Roland McGrath  <roland@redhat.com>
55
56         * Makefile.am: Use config/eu.am for common stuff.
57
58 2010-01-07  Roland McGrath  <roland@redhat.com>
59
60         * elf32_getphdr.c: Use __elf_getphdrnum_rdlock.
61         * gelf_getphdr.c: Likewise.
62         * gelf_update_phdr.c: Likewise.
63         * elf32_updatefile.c (__elf32_updatemmap, __elf32_updatefile): Likewise.
64         * elf32_updatenull.c (__elf32_updatenull_wrlock): Likewise.
65         * elf32_newphdr.c: Clear section 0's sh_info when resetting e_phnum.
66         If COUNT is too large, use store PN_XNUM instead and set sh_info.
67         * elf_begin.c (file_read_elf): Always allocate space we can use later
68         for section 0 if doing RDWR.
69
70         * elf_getphdrnum.c: New file.
71         * Makefile.am (libelf_a_SOURCES): Add it.
72         * libelf.h: Declare elf_getphdrnum.
73         * libelfP.h: Declare __elf_getphdrnum_rdlock.
74         * libelf.map (ELFUTILS_1.6): New set, add elf_getphdrnum.
75
76         * elf.h: Update from glibc.
77
78 2009-10-23  Lubomir Rintel  <lkundrak@v3.sk>
79
80         * elf32_updatefile.c (fill_mmap): When starting past shdr_end, start
81         filling from section start, not shdr_end.
82
83 2009-11-10  Roland McGrath  <roland@redhat.com>
84
85         * elf_readall.c (__libelf_readall): Fetch file size if not yet known.
86
87 2009-11-06  Mark Wielaard  <mjw@redhat.com>
88
89         * elf_next.c (elf_next): Mark the archive header as unusable when
90         there is no next ar element.
91
92 2009-08-12  Mark Wielaard  <mjw@redhat.com>
93
94         * Makefile.am (libelf.so): Use -Wl,-z,defs not -defs.
95
96 2009-07-26  Ulrich Drepper  <drepper@redhat.com>
97
98         * elf.h: Update from glibc.
99
100 2009-07-21  Ulrich Drepper  <drepper@redhat.com>
101
102         * elf32_updatefile.c (__elfXX_updatemmap): Fix handling of gaps between
103         sections.  Patch by Lubomir Rintel <lkundrak@v3.sk>.
104
105 2009-07-08  Roland McGrath  <roland@redhat.com>
106
107         * libelfP.h (struct Elf): Remove unused ar.has_index field.
108         Reorder various members for optimal packing.
109
110 2009-07-08  Ulrich Drepper  <drepper@redhat.com>
111
112         * elf.h: Update from glibc.
113
114 2009-06-13  Ulrich Drepper  <drepper@redhat.com>
115
116         * Makefile.am (libelf_a_SOURCES): Replace elf_getshnum.c and
117         elf_getshstrndx.c with elf_getshdrnum.c and elf_getshdrstrndx.c.
118         * elf_getshnum.c: Renamed to...
119         * elf_getshdrnum.c: ...this.  Rename function and add old name as
120         alias.  Likewise for internal functions with derived names.
121         * elf_getshstrndx.c: Renamed to...
122         * elf_getshdrstrndx.c: ...this.  Rename function and add old name as
123         alias.  Likewise for internal functions with derived names.
124         * libelf.h: Add prototypes for new names.  Make old names as
125         deprecated.
126         * libelfP.h: Rename internal function prototypes.
127         * libelf.map: Export for names.
128         * elf32_checksum.c: Don't use deprecated functions.
129         * elf32_getshdr.c: Likewise.
130
131 2009-06-01  Ulrich Drepper  <drepper@redhat.com>
132
133         * elf.h: Update from glibc.
134
135 2009-04-14  Roland McGrath  <roland@redhat.com>
136
137         * elf.h: Update from glibc.
138
139 2009-04-01  Roland McGrath  <roland@redhat.com>
140
141         * elf.h: Update from glibc.
142
143 2009-02-10  Ulrich Drepper  <drepper@redhat.com>
144
145         * elf32_updatefile.c (updatefile): For the zeroth section we still
146         have to copy the section header.
147
148 2009-02-01  Ulrich Drepper  <drepper@redhat.com>
149
150         * elf_strptr.c: Add comment re possible problem.
151
152 2009-01-26  Ulrich Drepper  <drepper@redhat.com>
153
154         * elf32_updatenull.c (updatenull_wrlock): Fix comment of
155         ELF_F_LAYOUT behaviour re section header table.
156
157 2009-01-22  Ulrich Drepper  <drepper@redhat.com>
158
159         * elf32_updatefile.c (__elfXX_updatemmap): Fill the gap between
160         sections even if only the section at the start of the gap has been
161         changed.
162         (__elfXX_updatefile): Likewise.
163
164 2009-01-21  Ulrich Drepper  <drepper@redhat.com>
165
166         * elf32_updatefile.c (__elfXX_updatemmap): Skip most of the loop to
167         handle sections for NOBITS sections.
168         (elfXX_updatefile): Likewise.
169
170         * elf32_updatefile.c (__elfXX_updatemmap): When skipping non-NOBITS
171         sections we haven't loaded, update last_position based on scn_start,
172         not based on old value.  Don't run the loop for the dummy section 0.
173         (elfXX_updatefile): Don't run the loop for the dummy section 0.
174
175 2009-01-10  Ulrich Drepper  <drepper@redhat.com>
176
177         * libelfP.h (_): We only have one translation domain, elfutils.
178
179         * Makefile.am: Use USE_LOCKS instead of USE_TLS.
180         * elf_error.c: Always use __thread.  Remove all !USE_TLS code.
181
182 2009-01-04  Roland McGrath  <roland@redhat.com>
183
184         * note_xlate.h (elf_cvt_note): Don't examine a size too small to
185         container a note header.
186
187 2008-12-11  Roland McGrath  <roland@redhat.com>
188
189         * elf32_updatefile.c (__elfw2(LIBELFBITS,updatemmap)): Handle
190         placement offset going backwards, for out-of-order or overlapping
191         (bogus) sh_offset layouts.  It's a dumb use, but should not crash.
192         (__elfw2(LIBELFBITS,updatefile)): Likewise.
193         Fixes RHBZ#476136.
194
195         * libelf.h (Elf_Data): Whitespace fix.
196
197 2008-12-10  Roland McGrath  <roland@redhat.com>
198
199         * elf_getarhdr.c (elf_getarhdr): Fix missing rename in last change.
200
201 2008-10-22  Petr Machata  <pmachata@redhat.com>
202
203         * elf_rawfile.c (elf_rawfile): Lock around elf-> references.
204
205 2008-10-21  Petr Machata  <pmachata@redhat.com>
206
207         * libelfP.h: Rename getehdr_rdlock to getehdr_wrlock.
208         * elf32_getehdr.c (getehdr_rdlock): Move the code to new function
209         getehdr_impl and make it a wrapper.  Rename to getehdr_wrlock.
210         (getehdr_impl): Guard elf->class init with wrlock.
211         (getehdr): Also make it a wrapper of getehdr_impl.
212         * elf32_updatenull.c (updatenull_wrlock): Call getehdr_wrlock.
213
214 2008-10-20  Petr Machata  <pmachata@redhat.com>
215
216         * elf_getdata_rawchunk.c (elf_getdata_rawchunk): Lock around the
217         code that reads mutable elf state.  Relock to write lock to chain
218         the new chunk on the elf rawchunks list.
219
220 2008-10-20  Petr Machata  <pmachata@redhat.com>
221
222         * elf32_checksum.c (checksum): Place a lock around the code that
223         processes data.  Make it wrlock if the code needs to xlate the
224         data before processing.
225
226 2008-10-16  Petr Machata  <pmachata@redhat.com>
227
228         * elf_begin.c
229         (__libelf_next_arhdr): Rename to __libelf_next_arhdr_wrlock.
230         (dup_elf): Adjust the call.
231         (elf_begin): New local function lock_dup_elf.  Relocks the elf if
232         necessary before calling dup.  Call this instead of dup_elf.
233         * elf_getarhdr.c
234         (elf_getarhdr): Lock before calling __libelf_next_arhdr_wrlock.
235         * elf_next.c (elf_next): Likewise.
236         * elf_rand.c (elf_rand): Likewise.
237
238 2008-10-14  Petr Machata  <pmachata@redhat.com>
239
240         * elf_getdata.c (__elf_getdata_rdlock): Lock before converting.
241
242 2008-11-26  Roland McGrath  <roland@redhat.com>
243
244         * elf.h: Update from glibc.
245
246 2008-10-06  Roland McGrath  <roland@redhat.com>
247
248         * elf_getarhdr.c (elf_getarhdr): Return NULL when passed NULL.
249
250 2008-08-27  Roland McGrath  <roland@redhat.com>
251
252         * elf_begin.c (get_shnum): Avoid misaligned reads for matching endian.
253
254         * libelfP.h [!ALLOW_UNALIGNED] (__libelf_type_align): Fix CLASS index.
255
256 2008-08-25  Roland McGrath  <roland@redhat.com>
257
258         * Makefile.am (libelf_so_LDLIBS): New variable.
259         (libelf.so): Use it in the link.
260
261 2008-08-21  Petr Machata  <pmachata@redhat.com>
262
263         * elf_getdata.c, libelfP.h
264         (__elf_getdata_internal): Rename to __elf_getdata_rdlock.
265         (__libelf_set_rawdata_wrlock): New function.
266         (__libelf_set_rawdata): Make it a wrapper that calls *_wrlock.
267         * elf32_updatenull.c, libelfP.h
268         (__elfNN_updatenull): Rename to __elfNN_updatenull_wrlock.
269
270 2008-08-21  Petr Machata  <pmachata@redhat.com>
271
272         * elf32_getphdr.c, libelfP.h
273         (__elfNN_getphdr_internal): Drop.  Move __elfNN_getphdr_internal
274         code to __elfNN_getphdr_wrlock.
275         (__elfNN_getphdr_rdlock, __elfNN_getphdr_wrlock): New functions.
276         (__elfNN_getphdr_rdlock, __elfNN_getphdr_wrlock): Make these
277         wrappers of getphdr_impl.
278
279 2008-08-21  Petr Machata  <pmachata@redhat.com>
280
281         * elf32_getehdr.c, libelfP.h
282         (__elfNN_getehdr_internal): Rename to __elfNN_getehdr_rdlock.
283         * gelf_getehdr, libelfP.h:
284         (__gelf_getehdr_internal): Rename to __gelf_getehdr_rdlock.
285
286 2008-08-21  Petr Machata  <pmachata@redhat.com>
287
288         * elf32_getshdr.c
289         (__elfNN_getshdr_internal): Drop.
290         (load_shdr_wrlock, scn_valid): New functions, contain bits of
291         behaviour from __elfNN_getshdr_internal.
292         (__elfNN_getshdr_rdlock, __elfNN_getshdr_wrlock): Replacements for
293         dropped _internal functions above.
294         * elf_getshnum.c
295         (__elf_getshnum_internal): Rename to __elf_getshnum_rdlock.
296
297 2008-08-04  Petr Machata  <pmachata@redhat.com>
298
299         * libelfP.h (RWLOCK_RDLOCK, RWLOCK_WRLOCK, RWLOCK_UNLOCK): New macros.
300
301 2008-07-28  Roland McGrath  <roland@redhat.com>
302
303         * elf.h: Update from glibc.
304
305 2008-03-31  Roland McGrath  <roland@redhat.com>
306
307         * elf32_offscn.c: Make sure shdrs have been read in.
308
309 2008-02-19  Roland McGrath  <roland@redhat.com>
310
311         * elf.h: Update from glibc.
312
313 2008-02-08  Roland McGrath  <roland@redhat.com>
314
315         * elf.h: Update from glibc.
316
317 2008-01-31  Ulrich Drepper  <drepper@redhat.com>
318
319         * elf_strptr.c (elf_strptr): Don't fail if the ELF file is currently
320         under construction and no raw data can be read from disk.
321
322 2008-01-30  Roland McGrath  <roland@redhat.com>
323
324         * elf.h: Update from glibc.
325
326 2008-01-26  Roland McGrath  <roland@redhat.com>
327
328         * elf_begin.c (__libelf_next_arhdr): Rewrite conversions using a macro.
329         Fixes various pastos in wrong type in sizeof, wrong string parsed.
330
331 2008-01-20  Roland McGrath  <roland@redhat.com>
332
333         * elf_getaroff.c: Calculate from start_offset, instead of using
334         parent's state.ar.offset field.
335
336 2008-01-08  Roland McGrath  <roland@redhat.com>
337
338         * Makefile.am (euinclude): Variable removed.
339         (pkginclude_HEADERS): Set this instead of euinclude_HEADERS.
340
341 2008-01-03  Roland McGrath  <roland@redhat.com>
342
343         * common.h: Add __attribute__ ((unused)) to static functions.
344
345 2007-12-20  Ulrich Drepper  <drepper@redhat.com>
346
347         * Makefile.am (libelf_a_SOURCES): Add elf_scnshndx.
348         * libelfP.h (struct Elf_Scn): Add shndx_index field.
349         Declare __elf_scnshndx_internal.
350         * elf32_getshdr.c: Record location of extended section header.
351         * elf_begin.c (file_read_elf): Likewise.
352         * elf_scnshndx.c: New file.
353         * libelf.h: Declare elf_scnshndx.
354         * libelf.map: Add elf_scnshndx to version ELFUTILS_1.4.
355
356 2007-11-12  Roland McGrath  <roland@redhat.com>
357
358         * libelf.h: Replace off64_t with loff_t throughout.
359         Only that type name is unconditionally defined by <sys/types.h>
360
361 2007-11-03  Roland McGrath  <roland@redhat.com>
362
363         * libelf.h (Elf_Data): Comment fix.
364
365 2007-10-18  Roland McGrath  <roland@redhat.com>
366
367         * elf.h: Update from glibc.
368
369 2007-10-07  Roland McGrath  <roland@redhat.com>
370
371         * elf_begin.c (__libelf_next_arhdr): Fix fencepost error and wrong
372         member access in terminating name with no trailing /.  Trim trailing
373         spaces when there is no /.
374
375 2007-10-04  Roland McGrath  <roland@redhat.com>
376
377         * elf_end.c (elf_end): Don't free ELF->state.ar.ar_sym when it's -1l.
378
379 2007-10-03  Roland McGrath  <roland@redhat.com>
380
381         * libelf.h (Elf_Data): Use off64_t for d_off.
382         (Elf_Arhdr): Use off64_t for ar_size.
383         (elf_update, elf_getbase, elf_getaroff): Return off64_t.
384
385         * gelf_rawchunk.c: File removed.
386         * gelf_freechunk.c: File removed.
387         * Makefile.am (libelf_a_SOURCES): Remove them.
388         * libelf.map (ELFUTILS_1.0): Remove exports.
389         * gelf.h: Remove decls.
390
391         * elf_getdata_rawchunk.c: New file.
392         * Makefile.am (libelf_a_SOURCES): Add it.
393         * libelf.map (ELFUTILS_1.3): Add elf_getdata_rawchunk.
394         * libelf.h: Declare it.
395         * libelfP.h (Elf_Data_Chunk): New type.
396         (struct Elf.elf): New member `rawchunks'.
397         * elf_end.c (elf_end): Free recorded rawchunk buffers.
398
399 2007-08-24  Roland McGrath  <roland@redhat.com>
400
401         * gelf_getnote.c: New file.
402         * Makefile.am (libelf_a_SOURCES): Add it.
403         * gelf.h: Declare gelf_getnote.
404         * libelf.map (ELFUTILS_1.3): Add gelf_getnote.
405
406         * libelfP.h (NOTE_ALIGN): New macro.
407         * note_xlate.h: New file.
408         * Makefile.am (noinst_HEADERS): Add it.
409         * gelf_xlate.c: Include it.
410         (__elf_xfctstom): Use elf_cvt_note.
411         * elf_getdata.c (shtype_map, __libelf_type_align): Handle SHT_NOTE.
412         (__libelf_set_rawdata): Likewise.
413
414 2007-08-19  Roland McGrath  <roland@redhat.com>
415
416         * gelf_update_auxv.c: New file.
417         * gelf_getauxv.c: New file.
418         * Makefile.am (libelf_a_SOURCES): Add them.
419         * gelf.h: Declare gelf_getauxv, gelf_update_auxv.
420         * libelf.map (ELFUTILS_1.3): New set, inherits fom ELFUTILS_1.2.
421         Export gelf_getauxv, gelf_update_auxv.
422
423         * libelf.h (Elf_Type): Add ELF_T_AUXV.
424         * abstract.h: Add auxv_t entries.
425         * exttypes.h: Likewise.
426         * gelf_xlate.h: Likewise.
427         * gelf_xlate.c (__elf_xfctstom): Add ELF_T_AUXV entries.
428         * gelf_fsize.c (__libelf_type_sizes): Likewise.
429
430 2007-08-12  Roland McGrath  <roland@redhat.com>
431
432         * elf32_updatefile.c (compare_sections): Sort secondarily on sh_size,
433         and only tertiarily on index.
434
435 2007-07-09  Roland McGrath  <roland@redhat.com>
436
437         * elf.h: Update from glibc.
438
439 2007-04-22  Roland McGrath  <roland@redhat.com>
440
441         * elf.h: Update from glibc.
442
443 2007-03-18  Roland McGrath  <roland@redhat.com>
444
445         * elf_begin.c (get_shnum): Fix test for e_shoff being out of bounds.
446         Return zero when the section headers do not fit within MAXSIZE.
447
448 2007-03-09  Roland McGrath  <roland@redhat.com>
449
450         * libelfP.h (LIBELF_EV_IDX): New macro.
451         (__libelf_type_align): New macro.
452         [! ALLOW_UNALIGNED]: Declare __libc_type_aligns array.
453         * elf_getdata.c (shtype_map): Convert to just Elf_Type[][].
454         (convert_data, __libelf_set_rawdata): Use that, __libelf_type_align,
455         and __libelf_type_sizes, in place of old table.
456         (__libc_type_aligns): New const variable.
457
458 2007-02-04  Ulrich Drepper  <drepper@redhat.com>
459
460         * Makefile (libelf.so): Build with -z relro.
461
462         * elf_begin.c (read_file): When using ELF_C_READ_MMAP use MAP_PRIVATE.
463
464 2007-01-30  Ulrich Drepper  <drepper@redhat.com>
465
466         * nlist.c: Close file descriptor before returning.
467
468 2007-01-20  Roland McGrath  <roland@redhat.com>
469
470         * gnuhash_xlate.h (elf_cvt_gnuhash): Fix fence-post error so we
471         convert the final word.
472
473         * elf32_getshdr.c: Don't byteswap shdr fields when EI_DATA matches
474         MY_ELFDATA on !ALLOW_UNALIGNED machines.
475
476 2007-01-18  Roland McGrath  <roland@redhat.com>
477
478         * gelf_rawchunk.c (gelf_rawchunk): Clear RESULT pointer after freeing
479         it on read error.
480
481 2006-10-13  Roland McGrath  <roland@redhat.com>
482
483         * elf32_updatenull.c: Look for and accept phdr also for ET_CORE.
484         * elf_error.c (msgstr): Change ELF_E_INVALID_PHDR string.
485
486 2006-08-29  Roland McGrath  <roland@redhat.com>
487
488         * elf32_getphdr.c: Don't byteswap phdr fields when EI_DATA matches
489         MY_ELFDATA on !ALLOW_UNALIGNED machines.
490         Reported by Christian Aichinger <Greek0@gmx.net>.
491
492         * Makefile.am (CLEANFILES): Add libelf.so.$(VERSION).
493
494 2006-08-08  Ulrich Drepper  <drepper@redhat.com>
495
496         * elf.h (DT_VALNUM): Update.
497         (DT_ADDRNUM): Likewise.
498
499 2006-07-12  Ulrich Drepper  <drepper@redhat.com>
500
501         * elf32_updatefile.c: Adjust for internal_function_def removal.
502         * elf32_updatenull.c: Likewise.
503         * elf_begin.c: Likewise.
504         * elf_getdata.c: Likewise.
505
506 2006-07-11  Ulrich Drepper  <drepper@redhat.com>
507
508         * libelf.h: Define ELF_T_GNUHASH.
509         * elf_getdata.c (TYPEIDX): Handle SHT_GNU_HASH.
510         (shtype_map): Add SHT_GNU_HASH entries.
511         * gelf_xlate.c (__elf_xfctstom): Add ELF_T_GNUHASH entries.
512         * gnuhash_xlate.h: New file.
513         * Makefile.am (noinst_HEADERS): Add gnuhash_xlate.h.
514
515 2006-07-06  Ulrich Drepper  <drepper@redhat.com>
516
517         * elf_gnu_hash.c: New file.
518         * libelf.h: Declare elf_gnu_hash.
519         * Makefile.am (libelf_a_SOURCES): Add elf_gnu_hash.
520         * libelf.map: Add elf_gnu_map for version ELFUTILS_1.2.
521
522 2006-06-15  Roland McGrath  <roland@redhat.com>
523
524         * libelf.h (elf_getarsym): Fix comment typo.
525         Rename second parameter to be more explanatory.
526         (elf_getident, elf_rawhide): Likewise.
527
528 2006-05-28  Ulrich Drepper  <drepper@redhat.com>
529
530         * elf32_updatefile.c (updatemmap): Preserve section content if
531         copying would overwrite them.
532         Fix msync paramters.
533
534 2006-04-04  Roland McGrath  <roland@redhat.com>
535
536         * elf32_updatefile.c (updatemmap): Handle other-endian case.
537
538 2006-04-04  Ulrich Drepper  <drepper@redhat.com>
539
540         * elf32_updatefile.c (updatemmap): Cleanups.  Remove shdr_dest
541         variable.  Before writing sections, make a copy of the section
542         header data if necessary.  Don't write section header while
543         writing the section constent, it might overwrite some sections.
544         Restore the pointer afterwards.
545         * elf32_updatenull.c (updatenull): If the offset of a section in a
546         file changed make sure we read the section so that it'll be written
547         out.
548
549         * elf_update.c: Remove debug message.
550
551 2005-12-07  Roland McGrath  <roland@redhat.com>
552
553         * gelf_xlate.c [! ALLOW_UNALIGNED] (union unaligned): New type.
554         (FETCH, STORE): New macros.
555         (INLINE3): Use those to do alignment-friendly conversion.
556
557         * elf32_getshdr.c: Include map_address and start_offset in alignment
558         calculations.
559         * elf32_getphdr.c: Likewise.
560
561 2005-11-19  Roland McGrath  <roland@redhat.com>
562
563         * elf.h: Update from glibc.
564
565 2005-11-17  Roland McGrath  <roland@redhat.com>
566
567         * elf.h: Update from glibc.
568
569 2005-11-10  Roland McGrath  <roland@redhat.com>
570
571         * elf.h: Update from glibc.
572
573 2005-09-09  Roland McGrath  <roland@redhat.com>
574
575         * elf_update.c (write_file): Stat the file and fchmod it after update
576         if its mode had S_ISUID or S_ISGID bits set.
577
578 2005-08-28  Ulrich Drepper  <drepper@redhat.com>
579
580         * elf32_getphdr.c: Include <system.h>.  Use pread_retry instead of
581         pread.  And branch prediction where useful.
582         * elf_begin.c: Likewise.
583         * elf_getdata.c: Likewise.
584         * elf_getshstrndx.c: Likewise.
585         * elf_readall.c: Likewise.
586         * gelf_rawchunk.c: Likewise.
587         * elf32_updatefile.c: Include <system.h>.  Use pread_retry instead of
588         pread.  And branch prediction where useful.
589         * elf_getarsym.c: Don't define pread_retry here.
590
591         * Makefile.am: Use $(LINK) not $(CC) when creating DSO.
592         (%.os): Use COMPILE.os.
593         (COMPILE.os): Filter out gconv options.
594
595 2005-08-27  Ulrich Drepper  <drepper@redhat.com>
596
597         * elf_begin.c (file_read_elf): Avoid reading ELF header from file
598         again.  Instead accept additional parameter which points to it if we
599         don't use mmap.
600         (get_shnum): Use passed in e_ident value as source of ELF header.
601
602 2005-08-15  Ulrich Drepper  <drepper@redhat.com>
603
604         * elf_begin.c (__libelf_next_arhdr): Use TEMP_FAILURE_RETRY.
605
606         * Makefile (libelf_a_SOURCES): Add elf_getaroff.c.
607         * libelf.map: Export elf_getaroff.
608         * libelf.h: Declare elf_getaroff.
609         * elf_getaroff.c: New file.
610
611 2005-08-13  Ulrich Drepper  <drepper@redhat.com>
612
613         * elf_begin.c (get_shnum): Optimize memory handling.  Always read from
614         mapped file if available.  Fix access to 64-bit sh_size.  Recognize
615         overflow.
616         (file_read_elf): Likewise.
617
618 2005-08-12  Roland McGrath  <roland@redhat.com>
619
620         * elf32_offscn.c: Do not match empty sections at OFFSET unless
621         there are no nonempty sections at that offset.
622
623 2005-08-07  Ulrich Drepper  <drepper@redhat.com>
624
625         * elf.h: Update from glibc.
626
627 2005-08-06  Ulrich Drepper  <drepper@redhat.com>
628
629         * Makefile.am (AM_CFLAGS): Add -fpic when BUILD_STATIC.
630
631 2005-08-03  Ulrich Drepper  <drepper@redhat.com>
632
633         * libelf.map: Move elf32_offscn, elf64_offscn, and gelf_offscn in
634         new version ELFUTILS_1.1.1.
635
636 2005-08-02  Ulrich Drepper  <drepper@redhat.com>
637
638         * elf_error.c: Add handling of ELF_E_INVALID_OFFSET.
639         * elf32_offscn.c: New file.
640         * elf64_offscn.c: New file.
641         * gelf_offscn.c: New file.
642         * Makefile.am (libelf_a_SOURCES): Add elf32_offscn.c, elf64_offscn.c,
643         and gelf_offscn.c.
644         * libelf.sym: Export new symbols.
645
646 2005-07-23  Ulrich Drepper  <drepper@redhat.com>
647
648         * elf-knowledge.h (SECTION_STRIP_P): Don't handle removal of debug
649         sections here anymore.
650         * elf32_checksum.c: Adjust for change in SECTION_STRIP_P interface.
651
652         * elf_update.c (elf_update): Get write lock, not read lock.
653
654         * elf32_updatenull.c (updatenull): Get section headers if necessary
655         and possible.
656
657 2005-07-22  Ulrich Drepper  <drepper@redhat.com>
658
659         * elf32_updatenull.c (updatenull): If program header hasn't been loaded
660         yet, try to do it now.
661         Don't unnecessarily update overflow of section count in zeroth section
662         sh_size field.
663         If section content hasn't been read yet, do it before looking for the
664         block size.  If no section data present, infer size of section header.
665
666 2005-05-11  Ulrich Drepper  <drepper@redhat.com>
667
668         * elf.h: Update again.
669
670 2005-05-09  Ulrich Drepper  <drepper@redhat.com>
671
672         * elf.h: Update from glibc.
673
674 2005-05-08  Roland McGrath  <roland@redhat.com>
675
676         * elf_begin.c (read_file) [_MUDFLAP]: Don't use mmap for now.
677         * elf_update.c (write_file) [_MUDFLAP]: Likewise.
678
679 2005-03-29  Ulrich Drepper  <drepper@redhat.com>
680
681         * elf32_checksum.c: Use INTUSE and INTDEF to avoid PLTs.
682         * elf_end.c: Likewise.
683         * elf_getdata.c: Likewise.
684         * gelf_getehdr.c: Likewise.
685         * nlist.c: Likewise.
686         * libelfP.h: Add declarations of internal functions.
687
688 2005-02-15  Ulrich Drepper  <drepper@redhat.com>
689
690         * common.h (CONVERT): Make sure all values are unsigned.
691         (CONVERT_TO): Likewise.
692
693         * Makefile.am (AM_CFLAGS): Add -Wformat=2.
694         Fix rule to build libelf.so.
695
696 2005-02-06  Ulrich Drepper  <drepper@redhat.com>
697
698         * Makefile.am: Cleanup AM_CFLAGS handling.  Add -Wunused -Wextra.
699         Remove lint handling.
700         * elf32_getphdr.c: Minor cleanups.
701         * elf32_getshdr.c: Likewise.
702         * elf32_updatefile.c: Likewise.
703         * elf32_updatenull.c: Likewise.
704         * elf_begin.c: Likewise.
705         * elf_error.c: Likewise.
706         * elf_getarsym.c: Likewise.
707         * elf_getdata.c: Likewise.
708         * elf_update.c: Likewise.
709         * gelf_xlate.c: Likewise.
710
711 2005-02-05  Ulrich Drepper  <drepper@redhat.com>
712
713         * Makefile.am: Check for text relocations in constructed DSO.
714
715         * Makefile.am [MUDFLAP] (AM_CFLAGS): Add -Werror -fpic -fmudflap.
716
717 2005-02-04  Ulrich Drepper  <drepper@redhat.com>
718
719         * gelf_getehdr.c (gelf_getehdr): Slight optimization.
720
721         * elf32_checksum.c (checksum): Do not look at NOBITS sections.
722
723         * gelf.h: Add gelf_checksum prototype.
724
725 2004-09-25  Ulrich Drepper  <drepper@redhat.com>
726
727         * elf32_checksum.c: Make compile with gcc 4.0.
728         * elf32_updatefile.c: Likewise.
729         * elf32_updatenull.c: Likewise.
730         * elf_begin.c: Likewise.
731         * elf_error.c: Likewise.
732         * elf_getdata.c: Likewise.
733         * elf_getident.c: Likewise.
734
735 2004-04-01  Ulrich Drepper  <drepper@redhat.com>
736
737         * elf.h: Update from glibc.
738
739 2004-01-23  Ulrich Drepper  <drepper@redhat.com>
740
741         * elf_update.c: Fix locking.
742         * elf_clone.c: Likewise.
743
744         * libelf.h: Define ELF_T_LIB.
745         * gelf_getlib.c: New file.
746         * gelf_update_lib.c: New file.
747         * gelf.h: Declare the new functions.  Define GElf_Lib.
748         * abstract.h: Define Lib, Lib32, Lib64.
749         * gelf_xlate.c (__elf_xfctstom): Add ELF_T_LIB entry.
750         * gelf_xlate.h: Add entry for ElfXX_Lib.
751         * elf_getdata.c: Recognize SHT_GNU_LIBLIST as a known section type.
752         * libelf.map: Add new symbols to ELFUTILS_1.1.
753         * Makefile.am (libelf_a_SOURCES): Add gelf_getlib.c and
754         gelf_update_lib.c.
755
756 2004-01-17  Ulrich Drepper  <drepper@redhat.com>
757
758         * Makefile.am: Support building with mudflap.
759
760         * gelf_xlate.c (INLINE3): Avoid using cast as lvalue.
761         * dl-hash.h (_dl_elf_hash): Likewise.
762
763 2004-01-05  Ulrich Drepper  <drepper@redhat.com>
764
765         * elf-knowledge.h: New file.  From libelf subdir.
766         * Makefile.am (euincludedir): Define.
767         (euinclude_HEADERS): Add elf-knowledge.h.
768
769 2003-09-24  Ulrich Drepper  <drepper@redhat.com>
770
771         * elf.h: Define some PT_IA_64_HP_* constants.
772
773 2003-09-23  Jakub Jelinek  <jakub@redhat.com>
774
775         * libelfP.h (struct Elf): Move state.elf64.sizestr_offset after
776         state.elf64.scnincr to match state.elf{,32}.
777
778 2003-08-12  Ulrich Drepper  <drepper@redhat.com>
779
780         * elf32_updatefile.c (__updatemmap): When writing back file where
781         some sections have not been read in, count their sizes based on
782         the section header.
783
784 2003-08-11  Ulrich Drepper  <drepper@redhat.com>
785
786         * Moved to CVS archive.