xref: /third_party/elfutils/libelf/ChangeLog (revision da0c48c4)
1da0c48c4Sopenharmony_ci2022-10-28  Mark Wielaard  <mark@klomp.org>
2da0c48c4Sopenharmony_ci
3da0c48c4Sopenharmony_ci	* elf.h: Update from glibc.
4da0c48c4Sopenharmony_ci
5da0c48c4Sopenharmony_ci2022-10-21  Yonggang Luo  <luoyonggang@gmail.com>
6da0c48c4Sopenharmony_ci
7da0c48c4Sopenharmony_ci	* libelf_crc32.c: Remove LIB_SYSTEM_H define.
8da0c48c4Sopenharmony_ci
9da0c48c4Sopenharmony_ci2022-09-20  Yonggang Luo  <luoyonggang@gmail.com>
10da0c48c4Sopenharmony_ci
11da0c48c4Sopenharmony_ci	* elf32_checksum.c: Use BYTE_ORDER, LITTLE_ENDIAN and BIG_ENDIAN.
12da0c48c4Sopenharmony_ci	* elf32_xlatetof.c: Likewise.
13da0c48c4Sopenharmony_ci	* elf_getarsym.c: Likewise.
14da0c48c4Sopenharmony_ci
15da0c48c4Sopenharmony_ci2022-10-16  Yonggang Luo  <luoyonggang@gmail.com>
16da0c48c4Sopenharmony_ci
17da0c48c4Sopenharmony_ci	* common.h: Remove ar.h, byteswap.h and endian.h.
18da0c48c4Sopenharmony_ci	* elf32_checksum.c: Remove endian.h.
19da0c48c4Sopenharmony_ci	* elf32_getphdr.c: Remove unistd.h and system.h.
20da0c48c4Sopenharmony_ci	* elf32_getshdr.c: Remove unistd.h.h and system.h.
21da0c48c4Sopenharmony_ci	* elf32_updatefile.c: Remove unistd.h, sys/mman.h and system.h.
22da0c48c4Sopenharmony_ci	* elf32_updatenull.c: Remove endian.h and system.h.
23da0c48c4Sopenharmony_ci	* elf32_xlatetof.c: Remove endian.h.
24da0c48c4Sopenharmony_ci	* elf32_xlatetom.c: Likewise.
25da0c48c4Sopenharmony_ci	* elf_begin.c: Remove unistd.h, sys/mman.h and system.h.
26da0c48c4Sopenharmony_ci	* elf_cntl.c: Remove unistd.h.
27da0c48c4Sopenharmony_ci	* elf_compress.c: Remove system.h and unistd.h.
28da0c48c4Sopenharmony_ci	* elf_end.c: Remove sys.mman.h.
29da0c48c4Sopenharmony_ci	* elf_getarsym.c: Remove byteswap.h, endian.h, unistd.h and
30da0c48c4Sopenharmony_ci	system.h.
31da0c48c4Sopenharmony_ci	* elf_getdata.c: Remove unistd.h and system.h.
32da0c48c4Sopenharmony_ci	* elf_getdata_rawchunk.c: Remove unistd.h and system.h.
33da0c48c4Sopenharmony_ci	* elf_getshdrstrndx.c: Likewise.
34da0c48c4Sopenharmony_ci	* elf_readall.c: Likewise.
35da0c48c4Sopenharmony_ci	* elf_update.c: Remove unistd.h and sys/mman.h.
36da0c48c4Sopenharmony_ci	* gelf_xlate.c: Remove byteswap.h.
37da0c48c4Sopenharmony_ci	* libelfP.h: Add system.h.
38da0c48c4Sopenharmony_ci	* nlist.c: Remove unistd.h.
39da0c48c4Sopenharmony_ci
40da0c48c4Sopenharmony_ci2022-08-28  Mark Wielaard  <mark@klomp.org>
41da0c48c4Sopenharmony_ci
42da0c48c4Sopenharmony_ci	* elf_begin.c (__libelf_next_arhdr_wrlock): Add OCT_FIELD macro,
43da0c48c4Sopenharmony_ci	like INT_FIELD but use strtol with octal base 8. Use for ar_mode.
44da0c48c4Sopenharmony_ci
45da0c48c4Sopenharmony_ci2022-08-08  Andreas Schwab  <schwab@suse.de>
46da0c48c4Sopenharmony_ci
47da0c48c4Sopenharmony_ci	* elf.h: Update from glibc.
48da0c48c4Sopenharmony_ci
49da0c48c4Sopenharmony_ci2022-04-24  Mark Wielaard  <mark@klomp.org>
50da0c48c4Sopenharmony_ci
51da0c48c4Sopenharmony_ci	* elf_update.c (write_file): Check HAVE_MREMAP.
52da0c48c4Sopenharmony_ci
53da0c48c4Sopenharmony_ci2022-04-01  Mark Wielaard  <mark@klomp.org>
54da0c48c4Sopenharmony_ci
55da0c48c4Sopenharmony_ci	* libelfP.h (struct Elf_Data_Chunk): Add an int64_t offset field.
56da0c48c4Sopenharmony_ci	* elf_getdata_rawchunk.c (elf_getdata_rawchunk): Check whether the
57da0c48c4Sopenharmony_ci	requested chunk, offset, size and type, was already handed out.
58da0c48c4Sopenharmony_ci	Set new Elf_Data_Chunk offset field.
59da0c48c4Sopenharmony_ci
60da0c48c4Sopenharmony_ci2022-03-29  Mark Wielaard  <mark@klomp.org>
61da0c48c4Sopenharmony_ci
62da0c48c4Sopenharmony_ci	* gelf_xlate.c (START): Define and use sz variable.
63da0c48c4Sopenharmony_ci	(END): Use sz variable to decide whether to do a memmove.
64da0c48c4Sopenharmony_ci
65da0c48c4Sopenharmony_ci2022-03-24  Mark Wielaard  <mark@klomp.org>
66da0c48c4Sopenharmony_ci
67da0c48c4Sopenharmony_ci	* elf.h: Update from glibc.
68da0c48c4Sopenharmony_ci
69da0c48c4Sopenharmony_ci2022-03-22  Mark Wielaard  <mark@klomp.org>
70da0c48c4Sopenharmony_ci
71da0c48c4Sopenharmony_ci	* elf_getdata.c (__libelf_type_aligns): ELF_T_GNUHASH has different
72da0c48c4Sopenharmony_ci	alignment for ELFCLASS32 and ELFCLASS64.
73da0c48c4Sopenharmony_ci
74da0c48c4Sopenharmony_ci2022-03-20  Mark Wielaard  <mark@klomp.org>
75da0c48c4Sopenharmony_ci
76da0c48c4Sopenharmony_ci	* version_xlate.h (elf_cvt_Verdef): Make sure aux_offset and
77da0c48c4Sopenharmony_ci	def_offset don't overflow.
78da0c48c4Sopenharmony_ci	(elf_cvt_Verneed): Make sure aux_offset and need_offset don't
79da0c48c4Sopenharmony_ci	overflow.
80da0c48c4Sopenharmony_ci
81da0c48c4Sopenharmony_ci2022-03-18  Mark Wielaard  <mark@klomp.org>
82da0c48c4Sopenharmony_ci
83da0c48c4Sopenharmony_ci	* version_xlate.h (elf_cvt_Verdef): Check alignment of def_offset
84da0c48c4Sopenharmony_ci	and aux_offset.
85da0c48c4Sopenharmony_ci	(elf_cvt_Verneed): Check alignment of need_offset and aux_offset.
86da0c48c4Sopenharmony_ci
87da0c48c4Sopenharmony_ci2022-03-17  Mark Wielaard  <mark@klomp.org>
88da0c48c4Sopenharmony_ci
89da0c48c4Sopenharmony_ci	* elf_begin.c (read_long_names): Check ar_size starts with a digit.
90da0c48c4Sopenharmony_ci
91da0c48c4Sopenharmony_ci2022-03-17  Mark Wielaard  <mark@klomp.org>
92da0c48c4Sopenharmony_ci
93da0c48c4Sopenharmony_ci	* elf_begin.c (get_shnum): Take offset into account for Shdr
94da0c48c4Sopenharmony_ci	alignment check.
95da0c48c4Sopenharmony_ci
96da0c48c4Sopenharmony_ci2021-12-19  Mark Wielaard  <mark@klomp.org>
97da0c48c4Sopenharmony_ci
98da0c48c4Sopenharmony_ci	* elf_begin.c (file_read_elf): Cast ehdr to uintptr_t before e_shoff
99da0c48c4Sopenharmony_ci	alignment check. Only set shdr state when scncnt is larger than zero.
100da0c48c4Sopenharmony_ci
101da0c48c4Sopenharmony_ci2021-12-16  Mark Wielaard  <mark@klomp.org>
102da0c48c4Sopenharmony_ci
103da0c48c4Sopenharmony_ci	* libelfP.h (NOTE_ALIGN4): And with negative unsigned long.
104da0c48c4Sopenharmony_ci	(NOTE_ALIGN8): Likewise.
105da0c48c4Sopenharmony_ci
106da0c48c4Sopenharmony_ci2021-12-15  Mark Wielaard  <mark@klomp.org>
107da0c48c4Sopenharmony_ci
108da0c48c4Sopenharmony_ci	* elf_begin.c (get_shnum): Use offsetof to get field of unaligned
109da0c48c4Sopenharmony_ci	struct.
110da0c48c4Sopenharmony_ci
111da0c48c4Sopenharmony_ci2021-09-06  Dmitry V. Levin  <ldv@altlinux.org>
112da0c48c4Sopenharmony_ci
113da0c48c4Sopenharmony_ci	* common.h (allocate_elf): Remove cast of calloc return value.
114da0c48c4Sopenharmony_ci	* elf_newdata.c (elf_newdata): Likewise.
115da0c48c4Sopenharmony_ci	* elf_getscn.c (elf_getscn): Remove casts of calloc return values.
116da0c48c4Sopenharmony_ci	* elf_newscn.c (elf_newscn): Likewise.
117da0c48c4Sopenharmony_ci	* elf32_updatefile.c (__elfw2): Remove casts of malloc return values.
118da0c48c4Sopenharmony_ci	* elf_getdata.c (convert_data): Likewise.
119da0c48c4Sopenharmony_ci	(__libelf_set_rawdata_wrlock): Remove cast of malloc return value.
120da0c48c4Sopenharmony_ci	* elf_begin.c (read_long_names): Remove cast of malloc return value.
121da0c48c4Sopenharmony_ci	* elf_readall.c (__libelf_readall): Likewise.
122da0c48c4Sopenharmony_ci	* elf_getarsym.c (elf_getarsym): Remove casts of malloc and realloc
123da0c48c4Sopenharmony_ci	return values.
124da0c48c4Sopenharmony_ci
125da0c48c4Sopenharmony_ci2021-07-19  Mark Wielaard  <mark@klomp.org>
126da0c48c4Sopenharmony_ci
127da0c48c4Sopenharmony_ci	* elf_strptr.c (validate_str): Check last char is zero first before
128da0c48c4Sopenharmony_ci	calling memrchr on the whole block.
129da0c48c4Sopenharmony_ci
130da0c48c4Sopenharmony_ci2021-06-09  Andrei Homescu  <ah@immunant.com>
131da0c48c4Sopenharmony_ci
132da0c48c4Sopenharmony_ci	* elf_getdata.c: Fix d_align for sections where alignment is larger
133da0c48c4Sopenharmony_ci	than offset.
134da0c48c4Sopenharmony_ci
135da0c48c4Sopenharmony_ci2020-12-12  Mark Wielaard  <mark@klomp.org>
136da0c48c4Sopenharmony_ci
137da0c48c4Sopenharmony_ci	* elf.h: Update from glibc.
138da0c48c4Sopenharmony_ci
139da0c48c4Sopenharmony_ci2020-12-16  Dmitry V. Levin  <ldv@altlinux.org>
140da0c48c4Sopenharmony_ci
141da0c48c4Sopenharmony_ci	* libelfP.h (_): Remove.
142da0c48c4Sopenharmony_ci
143da0c48c4Sopenharmony_ci2020-12-15  Mark Wielaard  <mark@klomp.org>
144da0c48c4Sopenharmony_ci
145da0c48c4Sopenharmony_ci	* elf_begin.c (get_shnum): Make sure the full Ehdr is available.
146da0c48c4Sopenharmony_ci
147da0c48c4Sopenharmony_ci2020-12-12  Dmitry V. Levin  <ldv@altlinux.org>
148da0c48c4Sopenharmony_ci
149da0c48c4Sopenharmony_ci	* common.h: Fix spelling typo in comment.
150da0c48c4Sopenharmony_ci	* gelf.h: Likewise.
151da0c48c4Sopenharmony_ci	* libelf.h: Likewise.
152da0c48c4Sopenharmony_ci	* libelfP.h: Likewise.
153da0c48c4Sopenharmony_ci	* elf32_checksum.c (elfw2): Likewise.
154da0c48c4Sopenharmony_ci	* elf_begin.c (dup_elf, write_file): Likewise.
155da0c48c4Sopenharmony_ci	* elf_compress.c (__libelf_compress): Likewise.
156da0c48c4Sopenharmony_ci	* elf_compress_gnu.c (elf_compress_gnu): Likewise.
157da0c48c4Sopenharmony_ci
158da0c48c4Sopenharmony_ci2020-12-11  Dmitry V. Levin  <ldv@altlinux.org>
159da0c48c4Sopenharmony_ci
160da0c48c4Sopenharmony_ci	* Makefile.am (GCC_INCLUDE): Remove.
161da0c48c4Sopenharmony_ci
162da0c48c4Sopenharmony_ci2020-12-09  Dmitry V. Levin  <ldv@altlinux.org>
163da0c48c4Sopenharmony_ci
164da0c48c4Sopenharmony_ci	* Makefile.am (noinst_PROGRAMS): Rename to noinst_DATA.
165da0c48c4Sopenharmony_ci	(libelf_so_SOURCES): Remove.
166da0c48c4Sopenharmony_ci	(CLEANFILES): Add libelf.so.
167da0c48c4Sopenharmony_ci
168da0c48c4Sopenharmony_ci2020-11-30  Dmitry V. Levin  <ldv@altlinux.org>
169da0c48c4Sopenharmony_ci
170da0c48c4Sopenharmony_ci	* Makefile.am (libelf.so$(EXEEXT)): Drop $(EXEEXT) suffix.
171da0c48c4Sopenharmony_ci
172da0c48c4Sopenharmony_ci2020-11-06  Mark Wielaard  <mark@klomp.org>
173da0c48c4Sopenharmony_ci
174da0c48c4Sopenharmony_ci	* elf-knowledge.h (SH_ENTSIZE_HASH): Update comment.
175da0c48c4Sopenharmony_ci
176da0c48c4Sopenharmony_ci2020-11-01  Mark Wielaard  <mark@klomp.org>
177da0c48c4Sopenharmony_ci
178da0c48c4Sopenharmony_ci	* elf_strptr.c (elf_strptr): Check shdr is not NULL.
179da0c48c4Sopenharmony_ci
180da0c48c4Sopenharmony_ci2020-11-01  Mark Wielaard  <mark@klomp.org>
181da0c48c4Sopenharmony_ci
182da0c48c4Sopenharmony_ci	* elf_getphdrnum.c (__elf_getphdrnum_rdlock): Set *dst to zero on
183da0c48c4Sopenharmony_ci	error.
184da0c48c4Sopenharmony_ci
185da0c48c4Sopenharmony_ci2020-11-01  Mark Wielaard  <mark@klomp.org>
186da0c48c4Sopenharmony_ci
187da0c48c4Sopenharmony_ci	* libelfP.h (__libelf_data_type): Take an GElf_Ehdr instead of an
188da0c48c4Sopenharmony_ci	Elf handle.
189da0c48c4Sopenharmony_ci	* elf_getdata.c (__libelf_data_type): Likewise. And check ehdr
190da0c48c4Sopenharmony_ci	directly instead of fetching a new one.
191da0c48c4Sopenharmony_ci	(__libelf_set_rawdata_wrlock): Fetch Ehdr, report an error when that
192da0c48c4Sopenharmony_ci	fails, otherwise call __libelf_data_type.
193da0c48c4Sopenharmony_ci
194da0c48c4Sopenharmony_ci2020-10-28  Mark Wielaard  <mark@klomp.org>
195da0c48c4Sopenharmony_ci
196da0c48c4Sopenharmony_ci	* elf.h: Update from glibc.
197da0c48c4Sopenharmony_ci
198da0c48c4Sopenharmony_ci2020-08-28  Mark Wielaard  <mark@klomp.org>
199da0c48c4Sopenharmony_ci
200da0c48c4Sopenharmony_ci	* elf.h: Update from glibc.
201da0c48c4Sopenharmony_ci
202da0c48c4Sopenharmony_ci2020-08-19  Mark Wielaard  <mark@klomp.org>
203da0c48c4Sopenharmony_ci
204da0c48c4Sopenharmony_ci	* elf32_updatenull.c (updatenull_wrlock): Fixup the sh_addralign
205da0c48c4Sopenharmony_ci	of an SHF_COMPRESSED section if necessary.
206da0c48c4Sopenharmony_ci
207da0c48c4Sopenharmony_ci2020-06-04  Mark Wielaard  <mark@klomp.org>
208da0c48c4Sopenharmony_ci
209da0c48c4Sopenharmony_ci	* elf.h: Update from glibc.
210da0c48c4Sopenharmony_ci
211da0c48c4Sopenharmony_ci2020-05-08  Mark Wielaard  <mark@klomp.org>
212da0c48c4Sopenharmony_ci
213da0c48c4Sopenharmony_ci	* elf_strptr.c (elf_strptr): Check shdr is not NULL.
214da0c48c4Sopenharmony_ci
215da0c48c4Sopenharmony_ci2020-05-08  Mark Wielaard  <mark@klomp.org>
216da0c48c4Sopenharmony_ci
217da0c48c4Sopenharmony_ci	* elf_getdata.c (__libelf_set_rawdata_wrlock): Check
218da0c48c4Sopenharmony_ci	__gelf_getehdr_rdlock return value.
219da0c48c4Sopenharmony_ci
220da0c48c4Sopenharmony_ci2020-04-25  Mark Wielaard  <mark@klomp.org>
221da0c48c4Sopenharmony_ci
222da0c48c4Sopenharmony_ci	* elf_compress.c (__libelf_compress): Remove free (out_buf).
223da0c48c4Sopenharmony_ci
224da0c48c4Sopenharmony_ci2020-03-18  Omar Sandoval  <osandov@fb.com>
225da0c48c4Sopenharmony_ci
226da0c48c4Sopenharmony_ci	* elf_getphdrnum.c (__elf_getphdrnum_rdlock): Call
227da0c48c4Sopenharmony_ci	__elf{32,64}_getshdr_rdlock if the shdr is not cached.
228da0c48c4Sopenharmony_ci
229da0c48c4Sopenharmony_ci2019-03-20  Matthias Maennich  <maennich@google.com>
230da0c48c4Sopenharmony_ci
231da0c48c4Sopenharmony_ci	* elf_compress.c (__libelf_compress): Always call deflate_cleanup
232da0c48c4Sopenharmony_ci	in failure path. Call deflateEnd only once.
233da0c48c4Sopenharmony_ci	(__libelf_decompress): Call inflateEnd only once.
234da0c48c4Sopenharmony_ci
235da0c48c4Sopenharmony_ci2019-06-18  Mark Wielaard  <mark@klomp.org>
236da0c48c4Sopenharmony_ci
237da0c48c4Sopenharmony_ci	* common.h (allocate_elf): Use int64_t instead of off_t for offset.
238da0c48c4Sopenharmony_ci	* elf32_newphdr.c (newphdr): Document why Elf32/64_Word is correct.
239da0c48c4Sopenharmony_ci	* elf32_updatefile.c (fill): Use int64_t instead of off_t for pos.
240da0c48c4Sopenharmony_ci	(updatefile): Define last_offset, shdr_offset and scn_start as
241da0c48c4Sopenharmony_ci	int64_t instead of off_t.
242da0c48c4Sopenharmony_ci	* elf32_updatenull.c: Define Elf32_SizeWord and Elf64_SizeWord.
243da0c48c4Sopenharmony_ci	(updatenull_wrlock): Return int64_t instead of off_t. Define size,
244da0c48c4Sopenharmony_ci	sh_entsize, sh_align and sh_size as SizeWords. Define offset as
245da0c48c4Sopenharmony_ci	int64_t.  Cast data->d_off to SizeWord instead of GElf_Word. Drop
246da0c48c4Sopenharmony_ci	size GElf_Word cast. Cast offset to SizeWord instead of GElf_Word
247da0c48c4Sopenharmony_ci	when comparing with sh_size.
248da0c48c4Sopenharmony_ci	* elf_begin.c (get_shnum): Define offset as int64_t instead of
249da0c48c4Sopenharmony_ci	off_t. Document why use GElf_Word is correct.
250da0c48c4Sopenharmony_ci	(file_read_elf): Define offset as int64_t instead of off_t.
251da0c48c4Sopenharmony_ci	(__libelf_read_mmaped_file): Likewise.
252da0c48c4Sopenharmony_ci	(read_unmmaped_file): Likewise.
253da0c48c4Sopenharmony_ci	(read_file): Likewise.
254da0c48c4Sopenharmony_ci	* elf_getaroff.c (elf_getaroff): Return int64_t.
255da0c48c4Sopenharmony_ci	* elf_getbase.c (elf_getbase): Likewise.
256da0c48c4Sopenharmony_ci	* elf_getdata_rawchunk.c (elf_getdata_rawchunk): Define offset as
257da0c48c4Sopenharmony_ci	int64_t instead of off_t.
258da0c48c4Sopenharmony_ci	* elf_update.c (write_file): Return int64_t instead of off_t,
259da0c48c4Sopenharmony_ci	define size as int64_t instead of off_t.
260da0c48c4Sopenharmony_ci	(elf_update): Likewise.
261da0c48c4Sopenharmony_ci	* libelfP.h (struct Elf): Define start_offset, sizestr_offset and
262da0c48c4Sopenharmony_ci	offset as int64_t.
263da0c48c4Sopenharmony_ci	(__libelf_read_mmaped_file): Define offset as int64_t.
264da0c48c4Sopenharmony_ci	(__elf32_updatenull_wrlock): Return int64_t.
265da0c48c4Sopenharmony_ci	(__elf64_updatenull_wrlock): Return int64_t.
266da0c48c4Sopenharmony_ci
267da0c48c4Sopenharmony_ci2019-05-12  Mark Wielaard  <mark@klomp.org>
268da0c48c4Sopenharmony_ci
269da0c48c4Sopenharmony_ci	* elf32_updatenull.c (updatenull_wrlock): Mark shdr_flags dirty if
270da0c48c4Sopenharmony_ci	either offset or size changed.
271da0c48c4Sopenharmony_ci
272da0c48c4Sopenharmony_ci2019-05-01  Mark Wielaard  <mark@klomp.org>
273da0c48c4Sopenharmony_ci
274da0c48c4Sopenharmony_ci	* gelf_getnote.c (gelf_getnote): Check n_namesz doesn't overflow
275da0c48c4Sopenharmony_ci	offset.
276da0c48c4Sopenharmony_ci
277da0c48c4Sopenharmony_ci2019-04-30  Mark Wielaard  <mark@klomp.org>
278da0c48c4Sopenharmony_ci
279da0c48c4Sopenharmony_ci	* note_xlate.h (elf_cvt_note): Indicate we only translated the note
280da0c48c4Sopenharmony_ci	header if we ran out of data by updating len, src and dest.
281da0c48c4Sopenharmony_ci
282da0c48c4Sopenharmony_ci2019-04-01  Mao Han  <han_mao@c-sky.com>
283da0c48c4Sopenharmony_ci
284da0c48c4Sopenharmony_ci	* elf.h: Update from glibc.
285da0c48c4Sopenharmony_ci
286da0c48c4Sopenharmony_ci2019-03-07  Mark Wielaard  <mark@klomp.org>
287da0c48c4Sopenharmony_ci
288da0c48c4Sopenharmony_ci	* elf32_updatefile.c (updatemmap): Use posix_memalign instead of
289da0c48c4Sopenharmony_ci	aligned_alloc.
290da0c48c4Sopenharmony_ci
291da0c48c4Sopenharmony_ci2019-03-06  Mark Wielaard  <mark@klomp.org>
292da0c48c4Sopenharmony_ci
293da0c48c4Sopenharmony_ci	* elf32_updatefile.c (updatemmap): Free scns before returning
294da0c48c4Sopenharmony_ci	allocation failure.
295da0c48c4Sopenharmony_ci
296da0c48c4Sopenharmony_ci2019-02-24  Mark Wielaard  <mark@klomp.org>
297da0c48c4Sopenharmony_ci
298da0c48c4Sopenharmony_ci	* gelf_xlate.c (__elf_xfctstof): Remove alias.
299da0c48c4Sopenharmony_ci	* libelfP.h (__elf_xfctstof): Remove definition.
300da0c48c4Sopenharmony_ci
301da0c48c4Sopenharmony_ci2019-02-24  Mark Wielaard  <mark@klomp.org>
302da0c48c4Sopenharmony_ci
303da0c48c4Sopenharmony_ci	* elf32_fsize.c (local_strong_alias): Remove definition.
304da0c48c4Sopenharmony_ci	(msize): Remove alias.
305da0c48c4Sopenharmony_ci	* libelfP.h (__elf32_msize): Remove definition.
306da0c48c4Sopenharmony_ci	(__elf64_msize): Likewise.
307da0c48c4Sopenharmony_ci
308da0c48c4Sopenharmony_ci2019-02-21  Mark Wielaard  <mark@klomp.org>
309da0c48c4Sopenharmony_ci
310da0c48c4Sopenharmony_ci	* common.h (determine_kind): Only accept EV_CURRENT.
311da0c48c4Sopenharmony_ci	* elf32_fsize.c (fsize): Just check version is EV_CURRENT.
312da0c48c4Sopenharmony_ci	Use __libelf_type_size without version dimension.
313da0c48c4Sopenharmony_ci	* elf32_updatefile.c (updatemmap): Define fctp from __elf_xfctstom
314da0c48c4Sopenharmony_ci	without version dimension.
315da0c48c4Sopenharmony_ci	(updatefile): Likewise.
316da0c48c4Sopenharmony_ci	* elf32_updatenull.c (default_ehdr): Check e_version is EV_CURRENT.
317da0c48c4Sopenharmony_ci	(updatenull_wrlock): Check d_version is EV_CURRENT.
318da0c48c4Sopenharmony_ci	(elf32_xlatetof): Likewise. And get recsize without version
319da0c48c4Sopenharmony_ci	dimension from __elf_xfctstom.
320da0c48c4Sopenharmony_ci	(elf32_xlatetom): Likewise.
321da0c48c4Sopenharmony_ci	* elf_begin.c (elf_begin): Check __libelf_version is EV_CURRENT.
322da0c48c4Sopenharmony_ci	* elf_compress.c (__libelf_reset_rawdata): Set d_version to
323da0c48c4Sopenharmony_ci	EV_CURRENT.
324da0c48c4Sopenharmony_ci	* elf_getdata.c (shtype_map): Remove version dimension.
325da0c48c4Sopenharmony_ci	(__libelf_type_aligns): Likewise.
326da0c48c4Sopenharmony_ci	(__libelf_data_type): Use shtype_map without version dimension.
327da0c48c4Sopenharmony_ci	(convert_data): Remove unused version argument. Get fp from
328da0c48c4Sopenharmony_ci	__elf_xfctstom without version dimensions.
329da0c48c4Sopenharmony_ci	(__libelf_set_data_list_rdlock): Call convert_data without version.
330da0c48c4Sopenharmony_ci	* elf_getdata_rawchunk.c (elf_getdata_rawchunk): Call __elfcfctstom
331da0c48c4Sopenharmony_ci	conversion function without version dimensions. Set d_version to
332da0c48c4Sopenharmony_ci	EV_CURRENT.
333da0c48c4Sopenharmony_ci	* elf_newdata.c (elf_newdata): Set d_version to EV_CURRENT.
334da0c48c4Sopenharmony_ci	* elf_version.c (__libelf_version_initialized): Removed.
335da0c48c4Sopenharmony_ci	(__libelf_version): Initialized to EV_NONE.
336da0c48c4Sopenharmony_ci	(elf_version): Always return EV_CURRENT for EV_NONE version.
337da0c48c4Sopenharmony_ci	Only accept (and return) EV_CURRENT as version.
338da0c48c4Sopenharmony_ci	* gelf_fsize.c (__libelf_type_sizes): Remove version dimension.
339da0c48c4Sopenharmony_ci	(gelf_fsize): Only accept EV_CURRENT as version.
340da0c48c4Sopenharmony_ci	Use __libelf_type_sizes without version dimension.
341da0c48c4Sopenharmony_ci	* gelf_xlate.c (__elf_xftstom): Remove version dimensions.
342da0c48c4Sopenharmony_ci	* libelfP.h (__elf_xfctstom): Defined without version dimensions.
343da0c48c4Sopenharmony_ci	(__elf_xfctstof): Likewise.
344da0c48c4Sopenharmony_ci	(__libelf_type_sizes): Define without version dimension.
345da0c48c4Sopenharmony_ci	(elf_typesize): Define using __libelf_type_sizes without version
346da0c48c4Sopenharmony_ci	dimension.
347da0c48c4Sopenharmony_ci	(__libelf_version_initialized): Remove definition.
348da0c48c4Sopenharmony_ci	(__libelf_version): Add definition.
349da0c48c4Sopenharmony_ci	(LIBELF_EV_IDX): Removed define.
350da0c48c4Sopenharmony_ci	(__libelf_type_aligns): Remove version dimension.
351da0c48c4Sopenharmony_ci	* nlist.c (nlist): Call elf_version unconditionally.
352da0c48c4Sopenharmony_ci
353da0c48c4Sopenharmony_ci2019-02-19  Mark Wielaard  <mark@klomp.org>
354da0c48c4Sopenharmony_ci
355da0c48c4Sopenharmony_ci	* elf_compress.c (do_deflate_cleanup): Remove ei_data argument,
356da0c48c4Sopenharmony_ci	check cdatap is not NULL before calling free.
357da0c48c4Sopenharmony_ci	(deflate_cleanup): Add cdata as argument.
358da0c48c4Sopenharmony_ci	(__libelf_compress): Also check whether the d_size is not zero
359da0c48c4Sopenharmony_ci	before converting data. Call deflate_cleanup with an extra
360da0c48c4Sopenharmony_ci	argument depending on whether there is converted data to free.
361da0c48c4Sopenharmony_ci	Always allocate allocate at least one byte for buf_out.
362da0c48c4Sopenharmony_ci
363da0c48c4Sopenharmony_ci2019-02-14  Mark Wielaard  <mark@klomp.org>
364da0c48c4Sopenharmony_ci
365da0c48c4Sopenharmony_ci	* elf_begin.c (read_long_names): Make sure ar_size is properly
366da0c48c4Sopenharmony_ci	terminated. Sanity check len early if we can.
367da0c48c4Sopenharmony_ci
368da0c48c4Sopenharmony_ci2019-01-18  Mark Wielaard  <mark@klomp.org>
369da0c48c4Sopenharmony_ci
370da0c48c4Sopenharmony_ci	* Makefile.am (INSTALL_ELFH): Add elf.h to include_HEADERS when
371da0c48c4Sopenharmony_ci	defined, otherwise (the default) add elf.h to noinst_HEADERS.
372da0c48c4Sopenharmony_ci
373da0c48c4Sopenharmony_ci2019-01-16  Mark Wielaard  <mark@klomp.org>
374da0c48c4Sopenharmony_ci
375da0c48c4Sopenharmony_ci	* note_xlate.h (elf_cvt_note): Check n_namesz and n_descsz don't
376da0c48c4Sopenharmony_ci	overflow note_len into note header.
377da0c48c4Sopenharmony_ci
378da0c48c4Sopenharmony_ci2018-11-17  Mark Wielaard  <mark@klomp.org>
379da0c48c4Sopenharmony_ci
380da0c48c4Sopenharmony_ci	* elf32_updatefile.c (updatemmap): Make sure to call convert
381da0c48c4Sopenharmony_ci	function on a properly aligned destination.
382da0c48c4Sopenharmony_ci
383da0c48c4Sopenharmony_ci2018-11-16  Mark Wielaard  <mark@klomp.org>
384da0c48c4Sopenharmony_ci
385da0c48c4Sopenharmony_ci	* libebl.h (__elf32_msize): Mark with const attribute.
386da0c48c4Sopenharmony_ci	(__elf64_msize): Likewise.
387da0c48c4Sopenharmony_ci
388da0c48c4Sopenharmony_ci2018-11-13  Mark Wielaard  <mark@klomp.org>
389da0c48c4Sopenharmony_ci
390da0c48c4Sopenharmony_ci	* elf_getdata.c (__libelf_set_rawdata_wrlock): Explicitly set the
391da0c48c4Sopenharmony_ci	alignment of SHF_COMPRESSED data to the alignment of ELF_T_CHDR.
392da0c48c4Sopenharmony_ci	* elf_compress.c (elf_compress): After compression set sh_addralign
393da0c48c4Sopenharmony_ci	to the alignment of ELF_T_CHDR.
394da0c48c4Sopenharmony_ci
395da0c48c4Sopenharmony_ci2018-11-09  Mark Wielaard  <mark@klomp.org>
396da0c48c4Sopenharmony_ci
397da0c48c4Sopenharmony_ci	* elf_compress_gnu.c (elf_compress_gnu): Use elf_getdata.
398da0c48c4Sopenharmony_ci
399da0c48c4Sopenharmony_ci2018-11-12  Mark Wielaard  <mark@klomp.org>
400da0c48c4Sopenharmony_ci
401da0c48c4Sopenharmony_ci	* elf-knowledge.c (ELF_NOTE_GNU_BUILD_ATTRIBUTE_PREFIX): New define.
402da0c48c4Sopenharmony_ci	(NT_GNU_BUILD_ATTRIBUTE_{OPEN,FUNC}): Likewise.
403da0c48c4Sopenharmony_ci	(GNU_BUILD_ATTRIBUTE_TYPE_{NUMERIC,STRING,BOOL_TRUE,BOOL_FALSE}):
404da0c48c4Sopenharmony_ci	Likewise.
405da0c48c4Sopenharmony_ci	(GNU_BUILD_ATTRIBUTE_{VERSION,STACK_PROT,RELRO,STACK_SIZE,TOOL,ABI,
406da0c48c4Sopenharmony_ci	PIC,SHORT_ENUM}): Likewise.
407da0c48c4Sopenharmony_ci
408da0c48c4Sopenharmony_ci2018-11-09  Mark Wielaard  <mark@klomp.org>
409da0c48c4Sopenharmony_ci
410da0c48c4Sopenharmony_ci	* elf_compress.c (__libelf_reset_rawdata): Make rawdata change
411da0c48c4Sopenharmony_ci	explicit by calling __libelf_set_data_list.
412da0c48c4Sopenharmony_ci	* elf_getdata.c (convert_data): Don't convert if type is ELF_T_BYTE
413da0c48c4Sopenharmony_ci	even if endianness is different.
414da0c48c4Sopenharmony_ci
415da0c48c4Sopenharmony_ci2018-10-18  Mark Wielaard  <mark@klomp.org>
416da0c48c4Sopenharmony_ci
417da0c48c4Sopenharmony_ci	* libelf.h (Elf_Type): Add ELF_T_NHDR8.
418da0c48c4Sopenharmony_ci	* libelfP.h (__libelf_data_type): Add align argument.
419da0c48c4Sopenharmony_ci	(NOTE_ALIGN): Split into...
420da0c48c4Sopenharmony_ci	(NOTE_ALIGN4): ... and ...
421da0c48c4Sopenharmony_ci	(NOTE_ALIGN8): this.
422da0c48c4Sopenharmony_ci	* elf32_xlatetom.c (xlatetom): Recognize both ELF_T_NHDR and
423da0c48c4Sopenharmony_ci	ELF_T_NHDR8.
424da0c48c4Sopenharmony_ci	* elf_compress.c (elf_compress): Pass zdata_align to
425da0c48c4Sopenharmony_ci	__libelf_data_type.
426da0c48c4Sopenharmony_ci	* elf_compress_gnu.c (elf_compress_gnu): Pass sh_addralign to
427da0c48c4Sopenharmony_ci	__libelf_data_type.
428da0c48c4Sopenharmony_ci	* elf_getdata.c (shtype_map): Add ELF_T_NHDR8.
429da0c48c4Sopenharmony_ci	(__libelf_data_type): Take align as extra argument, use it to
430da0c48c4Sopenharmony_ci	determine Elf_Type.
431da0c48c4Sopenharmony_ci	(__libelf_set_rawdata_wrlock): Recognize ELF_T_NHDR8. Pass align to
432da0c48c4Sopenharmony_ci	__libelf_data_type.
433da0c48c4Sopenharmony_ci	* gelf_fsize.c (__libelf_type_sizes): Add ELF_T_NHDR8.
434da0c48c4Sopenharmony_ci	* gelf_getnote.c (gelf_getnote): Use Elf_Type of Elf_Data to calculate
435da0c48c4Sopenharmony_ci	padding.
436da0c48c4Sopenharmony_ci	* gelf_xlate.c (__elf_xfctstom): Set ELF_T_NHDR to elf_cvt_note4,
437da0c48c4Sopenharmony_ci	add ELF_T_NHDR8.
438da0c48c4Sopenharmony_ci	* note_xlate.h (elf_cvt_note): Take nhdr8 argument and use it to
439da0c48c4Sopenharmony_ci	determine padding.
440da0c48c4Sopenharmony_ci	(elf_cvt_note4): New function.
441da0c48c4Sopenharmony_ci	(elf_cvt_note8): Likewise.
442da0c48c4Sopenharmony_ci
443da0c48c4Sopenharmony_ci2018-09-13  Mark Wielaard  <mark@klomp.org>
444da0c48c4Sopenharmony_ci
445da0c48c4Sopenharmony_ci	* elf32_updatefile.c (updatemmap): Use shnum, not ehdr->e_shnum.
446da0c48c4Sopenharmony_ci	* elf_getscn.c (elf_getscn): Create section zero if it is requested,
447da0c48c4Sopenharmony_ci	but doesn't exist yet.
448da0c48c4Sopenharmony_ci
449da0c48c4Sopenharmony_ci2018-09-12  Mark Wielaard  <mark@klomp.org>
450da0c48c4Sopenharmony_ci
451da0c48c4Sopenharmony_ci	* elf32_updatefile.c (updatemmap): Use memmove, not memcpy.
452da0c48c4Sopenharmony_ci	* elf_update.c (write_file): Try to mremap if file needs to be
453da0c48c4Sopenharmony_ci	extended.
454da0c48c4Sopenharmony_ci
455da0c48c4Sopenharmony_ci2018-08-18  Mark Wielaard  <mark@klomp.org>
456da0c48c4Sopenharmony_ci
457da0c48c4Sopenharmony_ci	* libelf.h (elf_compress_gnu): Add documentation about
458da0c48c4Sopenharmony_ci	interaction between SHF_COMPRESED and elf_compress_gnu.
459da0c48c4Sopenharmony_ci	* elf_compress_gnu.c (elf_compress_gnu): Return error if section
460da0c48c4Sopenharmony_ci	sh_flags has SHF_COMPRESSED set.
461da0c48c4Sopenharmony_ci
462da0c48c4Sopenharmony_ci2018-07-27  Mark Wielaard  <mark@klomp.org>
463da0c48c4Sopenharmony_ci
464da0c48c4Sopenharmony_ci	* libelf.h (elf_getshdrstrndx): Fix documentation.
465da0c48c4Sopenharmony_ci	(elf_getshstrndx): Likewise.
466da0c48c4Sopenharmony_ci
467da0c48c4Sopenharmony_ci2018-06-19  Mark Wielaard  <mark@klomp.org>
468da0c48c4Sopenharmony_ci
469da0c48c4Sopenharmony_ci	* libelfP.h (__libelf_type_align): Remove !ALLOW_UNALIGNED guard.
470da0c48c4Sopenharmony_ci	* elf_getdata.c (__libelf_type_aligns): Likewise.
471da0c48c4Sopenharmony_ci	(convert_data): Remove ALLOW_UNALIGNED check.
472da0c48c4Sopenharmony_ci	* elf_getdata_rawchunk.c (elf_getdata_rawchunk): Likewise.
473da0c48c4Sopenharmony_ci
474da0c48c4Sopenharmony_ci2018-06-21  Mark Wielaard  <mark@klomp.org>
475da0c48c4Sopenharmony_ci
476da0c48c4Sopenharmony_ci	* elf.h: Update from glibc.
477da0c48c4Sopenharmony_ci
478da0c48c4Sopenharmony_ci2018-04-19  Andreas Schwab  <schwab@suse.de>
479da0c48c4Sopenharmony_ci
480da0c48c4Sopenharmony_ci	* elf.h: Update from glibc.
481da0c48c4Sopenharmony_ci
482da0c48c4Sopenharmony_ci2018-02-16  Mark Wielaard  <mark@klomp.org>
483da0c48c4Sopenharmony_ci
484da0c48c4Sopenharmony_ci	* elf.h: Update from glibc.
485da0c48c4Sopenharmony_ci
486da0c48c4Sopenharmony_ci2018-02-09  Joshua Watt  <JPEWhacker@gmail.com>
487da0c48c4Sopenharmony_ci
488da0c48c4Sopenharmony_ci	* elf32_updatenull.c (updatenull_wrlock): Use FALLTHROUGH macro
489da0c48c4Sopenharmony_ci	instead of comment.
490da0c48c4Sopenharmony_ci	* elf_begin.c (read_unmmaped_file): Likewise.
491da0c48c4Sopenharmony_ci	(elf_begin): Likewise.
492da0c48c4Sopenharmony_ci	* elf_cntl.c (elf_cntl): Likewise.
493da0c48c4Sopenharmony_ci
494da0c48c4Sopenharmony_ci2017-10-04  Mark Wielaard  <mark@klomp.org>
495da0c48c4Sopenharmony_ci
496da0c48c4Sopenharmony_ci	* elf_begin.c (file_read_elf): Skip sanity checking e_shoff if scncnt
497da0c48c4Sopenharmony_ci	is zero, we won't use it then.
498da0c48c4Sopenharmony_ci
499da0c48c4Sopenharmony_ci2017-10-04  Mark Wielaard  <mark@klomp.org>
500da0c48c4Sopenharmony_ci
501da0c48c4Sopenharmony_ci	* libelfP.h: Add ELF_E_INVALID_ELF to error values enum.
502da0c48c4Sopenharmony_ci	* elf_error.c (ELF_E_INVALID_ELF_IDX): New define. Use it as value
503da0c48c4Sopenharmony_ci	for ELF_E_INVALID_ELF in msgidx.
504da0c48c4Sopenharmony_ci	* elf_getshdrstrndx.c (elf_getshdrstrndx): Distinquish between pread
505da0c48c4Sopenharmony_ci	failing and not having enough data.
506da0c48c4Sopenharmony_ci	* elf_begin.c (get_shnum): Likewise. Explicitly set libelf errno on
507da0c48c4Sopenharmony_ci	too large value.
508da0c48c4Sopenharmony_ci	(file_read_elf): Make sure to always set libelf errno when returning
509da0c48c4Sopenharmony_ci	NULL. Distinquish between i/o file and elf data errors.
510da0c48c4Sopenharmony_ci
511da0c48c4Sopenharmony_ci2017-08-18  Ulf Hermann  <ulf.hermann@qt.io>
512da0c48c4Sopenharmony_ci
513da0c48c4Sopenharmony_ci	* gelf_xlate.c: Use attribute_packed.
514da0c48c4Sopenharmony_ci
515da0c48c4Sopenharmony_ci2017-04-27  Ulf Hermann  <ulf.hermann@qt.io>
516da0c48c4Sopenharmony_ci
517da0c48c4Sopenharmony_ci	* libelfP.h: Use attribute_hidden.
518da0c48c4Sopenharmony_ci
519da0c48c4Sopenharmony_ci2017-04-27  Ulf Hermann  <ulf.hermann@qt.io>
520da0c48c4Sopenharmony_ci
521da0c48c4Sopenharmony_ci	* Makefile.am: Use fpic_CFLAGS and dso_LDFLAGS.
522da0c48c4Sopenharmony_ci
523da0c48c4Sopenharmony_ci2017-08-15  Mark Wielaard  <mark@klomp.org>
524da0c48c4Sopenharmony_ci
525da0c48c4Sopenharmony_ci	* elf.h: Update from glibc. Add new powerpc note descriptors.
526da0c48c4Sopenharmony_ci
527da0c48c4Sopenharmony_ci2017-07-19  Gustavo Romero <gromero@linux.vnet.ibm.com>
528da0c48c4Sopenharmony_ci
529da0c48c4Sopenharmony_ci	* elf.h: Add known type in notes segment descriptor for HTM SPRs.
530da0c48c4Sopenharmony_ci
531da0c48c4Sopenharmony_ci2017-02-17  Ulf hermann  <ulf.hermann@qt.io>
532da0c48c4Sopenharmony_ci
533da0c48c4Sopenharmony_ci	* Makefile.am: Add libelf_so_DEPS, which include libeu.a,
534da0c48c4Sopenharmony_ci	libelf_so_LIBS.
535da0c48c4Sopenharmony_ci	(libelf_so_LDLIBS): Add $(libelf_so_DEPS).
536da0c48c4Sopenharmony_ci	(libelf.so$(EXEEXT): Use $(libelf_so_LIBS), require libelf.map
537da0c48c4Sopenharmony_ci	from the right directory.
538da0c48c4Sopenharmony_ci
539da0c48c4Sopenharmony_ci2017-04-20  Ulf Hermann  <ulf.hermann@qt.io>
540da0c48c4Sopenharmony_ci
541da0c48c4Sopenharmony_ci	* libelfP.h: Don't include config.h.
542da0c48c4Sopenharmony_ci
543da0c48c4Sopenharmony_ci2017-04-20  Ulf Hermann  <ulf.hermann@qt.io>
544da0c48c4Sopenharmony_ci
545da0c48c4Sopenharmony_ci	* elf_begin.c: Use F_GETFD rather than F_GETFL.
546da0c48c4Sopenharmony_ci
547da0c48c4Sopenharmony_ci2017-04-20  Ulf Hermann  <ulf.hermann@qt.io>
548da0c48c4Sopenharmony_ci
549da0c48c4Sopenharmony_ci	* libelf.h: Define macros for various function attributes and use
550da0c48c4Sopenharmony_ci	them.
551da0c48c4Sopenharmony_ci
552da0c48c4Sopenharmony_ci2017-04-20  Ulf Hermann  <ulf.hermann@qt.io>
553da0c48c4Sopenharmony_ci
554da0c48c4Sopenharmony_ci	* elf_update.c: Set ELF_F_MMAPPED flag if we mmap from elf_update.
555da0c48c4Sopenharmony_ci
556da0c48c4Sopenharmony_ci2017-04-19  Mark Wielaard  <mark@klomp.org>
557da0c48c4Sopenharmony_ci
558da0c48c4Sopenharmony_ci	* elf_getarsym.c (elf_getarsym): Initialize n to zero.
559da0c48c4Sopenharmony_ci
560da0c48c4Sopenharmony_ci2017-03-27  Mark Wielaard  <mark@klomp.org>
561da0c48c4Sopenharmony_ci
562da0c48c4Sopenharmony_ci	* elf32_updatefile.c (updatemmap): Always update last_positition.
563da0c48c4Sopenharmony_ci	(updatefile): Likewise.
564da0c48c4Sopenharmony_ci
565da0c48c4Sopenharmony_ci2017-03-24  Mark Wielaard  <mark@klomp.org>
566da0c48c4Sopenharmony_ci
567da0c48c4Sopenharmony_ci	* elf_compress.c (__libelf_decompress): Check insane compression
568da0c48c4Sopenharmony_ci	ratios before trying to allocate output buffer.
569da0c48c4Sopenharmony_ci
570da0c48c4Sopenharmony_ci2016-10-11  Akihiko Odaki  <akihiko.odaki.4i@stu.hosei.ac.jp>
571da0c48c4Sopenharmony_ci	    Mark Wielaard  <mjw@redhat.com>
572da0c48c4Sopenharmony_ci
573da0c48c4Sopenharmony_ci	* gelf.h (gelf_newehdr): Change return type to void *.
574da0c48c4Sopenharmony_ci	(gelf_newphdr): Likewise.
575da0c48c4Sopenharmony_ci	* gelf_newehdr.c (gelf_newehdr): Likewise.
576da0c48c4Sopenharmony_ci	* gelf_newphdr.c (gelf_newphdr): Likewise.
577da0c48c4Sopenharmony_ci
578da0c48c4Sopenharmony_ci2016-10-21  Mark Wielaard  <mjw@redhat.com>
579da0c48c4Sopenharmony_ci
580da0c48c4Sopenharmony_ci	* elf_getdata.c (__libelf_set_rawdata_wrlock): Sanity check
581da0c48c4Sopenharmony_ci	offset and size before trying to malloc and read data.
582da0c48c4Sopenharmony_ci
583da0c48c4Sopenharmony_ci2016-10-26  Mark Wielaard  <mjw@redhat.com>
584da0c48c4Sopenharmony_ci
585da0c48c4Sopenharmony_ci	* elf_begin.c (read_file): Always set maxsize when parent == NULL.
586da0c48c4Sopenharmony_ci
587da0c48c4Sopenharmony_ci2016-10-11  Akihiko Odaki  <akihiko.odaki.4i@stu.hosei.ac.jp>
588da0c48c4Sopenharmony_ci
589da0c48c4Sopenharmony_ci	* elf_getarsym.c (elf_getarsym): Open code rawmemchr when not
590da0c48c4Sopenharmony_ci	available.
591da0c48c4Sopenharmony_ci	* elf_strptr.c: Include stdbool.h.
592da0c48c4Sopenharmony_ci	(validate_str): New function.
593da0c48c4Sopenharmony_ci	(elf_strptr): Use validate_str instead of memrchr.
594da0c48c4Sopenharmony_ci
595da0c48c4Sopenharmony_ci2016-10-11  Akihiko Odaki  <akihiko.odaki.4i@stu.hosei.ac.jp>
596da0c48c4Sopenharmony_ci
597da0c48c4Sopenharmony_ci	* elf32_updatefile.c: Remove sys/param.h include.
598da0c48c4Sopenharmony_ci	* elf32_updatenull.c: Likewise. Add system.h include.
599da0c48c4Sopenharmony_ci	* elf_begin.c: Remove sys/param.h.
600da0c48c4Sopenharmony_ci	* elf_compress: Likewise. Add system.h include.
601da0c48c4Sopenharmony_ci	(MAX): Remove definition.
602da0c48c4Sopenharmony_ci
603da0c48c4Sopenharmony_ci2016-08-07  Mark Wielaard  <mjw@redhat.com>
604da0c48c4Sopenharmony_ci
605da0c48c4Sopenharmony_ci	* elf_compress.c (__libelf_reset_rawdata): Check scn->flags and
606da0c48c4Sopenharmony_ci	free rawdata_base when malloced. Set ELF_F_MALLOCED for scn->flags.
607da0c48c4Sopenharmony_ci	* elf_end.c (elf_end): Check scn->flags and free rawdata_base if
608da0c48c4Sopenharmony_ci	malloced.
609da0c48c4Sopenharmony_ci	* libelfP.h (struct Elf_Scn): Document flags ELF_F_MALLOCED usage.
610da0c48c4Sopenharmony_ci
611da0c48c4Sopenharmony_ci2016-07-06  Mark Wielaard  <mjw@redhat.com>
612da0c48c4Sopenharmony_ci
613da0c48c4Sopenharmony_ci	* elf-knowledge.h (SH_FLAGS_COMBINE): Removed.
614da0c48c4Sopenharmony_ci	(SH_FLAGS_IMPORTANT): Likewise.
615da0c48c4Sopenharmony_ci
616da0c48c4Sopenharmony_ci2016-07-06  Mark Wielaard  <mjw@redhat.com>
617da0c48c4Sopenharmony_ci
618da0c48c4Sopenharmony_ci	* elf32_updatenull.c (updatenull_wrlock): Ignore e_type when
619da0c48c4Sopenharmony_ci	updating phdrs.
620da0c48c4Sopenharmony_ci	* elf_getphdrnum.c (__elf_getphdrnum_chk_rdlock): Only do sanity
621da0c48c4Sopenharmony_ci	checking if phdrs haven't been read in yet.
622da0c48c4Sopenharmony_ci
623da0c48c4Sopenharmony_ci2016-06-24  John Ogness  <john.ogness@linutronix.de>
624da0c48c4Sopenharmony_ci
625da0c48c4Sopenharmony_ci	* elf32_updatenull.c (updatenull_wrlock): Find first section.
626da0c48c4Sopenharmony_ci	* elf_nextscn.c (elf_nextscn): When scn is NULL start from 0th
627da0c48c4Sopenharmony_ci	section.
628da0c48c4Sopenharmony_ci
629da0c48c4Sopenharmony_ci2016-06-28  Richard Henderson  <rth@redhat.com>
630da0c48c4Sopenharmony_ci
631da0c48c4Sopenharmony_ci	* elf.h: Update from glibc.  Add lots of new EM_* definitions.
632da0c48c4Sopenharmony_ci
633da0c48c4Sopenharmony_ci2016-04-14  Mark Wielaard  <mjw@redhat.com>
634da0c48c4Sopenharmony_ci
635da0c48c4Sopenharmony_ci	* elf_compress.c (__libelf_compress): Free out_buf if deflateInit
636da0c48c4Sopenharmony_ci	fails.
637da0c48c4Sopenharmony_ci
638da0c48c4Sopenharmony_ci2016-02-13  Mark Wielaard  <mjw@redhat.com>
639da0c48c4Sopenharmony_ci
640da0c48c4Sopenharmony_ci	* elf32_updatefile.c (updatemmap): Free scns when out of memory.
641da0c48c4Sopenharmony_ci
642da0c48c4Sopenharmony_ci2016-01-28  Mark Wielaard  <mjw@redhat.com>
643da0c48c4Sopenharmony_ci
644da0c48c4Sopenharmony_ci	* elf.h: Update from glibc. Add new i386 and x86_64 relocations.
645da0c48c4Sopenharmony_ci
646da0c48c4Sopenharmony_ci2016-02-12  Mark Wielaard  <mjw@redhat.com>
647da0c48c4Sopenharmony_ci
648da0c48c4Sopenharmony_ci	* elf.h: Update from glibc. Add NT_ARM_SYSTEM_CALL.
649da0c48c4Sopenharmony_ci
650da0c48c4Sopenharmony_ci2016-02-04  Mark Wielaard  <mjw@redhat.com>
651da0c48c4Sopenharmony_ci
652da0c48c4Sopenharmony_ci	* elf_getdata.c (__libelf_set_rawdata_wrlock): Don't adjust align
653da0c48c4Sopenharmony_ci	for SHT_NOBITS sections.
654da0c48c4Sopenharmony_ci
655da0c48c4Sopenharmony_ci2016-01-22  Chih-Hung Hsieh <chh@google.com>
656da0c48c4Sopenharmony_ci
657da0c48c4Sopenharmony_ci	* elf_compress.c (__libelf_compress): Move nested function
658da0c48c4Sopenharmony_ci	'do_deflate_cleanup' to file scope to compile with clang.
659da0c48c4Sopenharmony_ci	* elf_strptr.c (elf_strptr): Move nested function 'get_zdata'
660da0c48c4Sopenharmony_ci	to file scope to compile with clang.
661da0c48c4Sopenharmony_ci
662da0c48c4Sopenharmony_ci2016-01-13  Mark Wielaard  <mjw@redhat.com>
663da0c48c4Sopenharmony_ci
664da0c48c4Sopenharmony_ci	* libelf.h: Check SHF_COMPRESSED is defined. If not define it and the
665da0c48c4Sopenharmony_ci	associated ELF compression types/defines.
666da0c48c4Sopenharmony_ci
667da0c48c4Sopenharmony_ci2015-11-26  Mark Wielaard  <mjw@redhat.com>
668da0c48c4Sopenharmony_ci
669da0c48c4Sopenharmony_ci	* elf_compress.c (__libelf_decompress_elf): New function, extracted
670da0c48c4Sopenharmony_ci	from...
671da0c48c4Sopenharmony_ci	(elf_compress): here. Check zdata_base use __libelf_decompress_elf.
672da0c48c4Sopenharmony_ci	* elf_strptr.c (elf_strptr): If SHF_COMPRESSED check, uncompress and
673da0c48c4Sopenharmony_ci	use zdata.
674da0c48c4Sopenharmony_ci	* libelfP.h (struct Elf_Scn): Add zdata_size and zdata_align.
675da0c48c4Sopenharmony_ci	(__libelf_decompress_elf): New internal function definition.
676da0c48c4Sopenharmony_ci
677da0c48c4Sopenharmony_ci2015-10-21  Mark Wielaard  <mjw@redhat.com>
678da0c48c4Sopenharmony_ci
679da0c48c4Sopenharmony_ci	* Makefile.am (libelf_a_SOURCES): Add elf_compress.c and
680da0c48c4Sopenharmony_ci	elf_compress_gnu.c.
681da0c48c4Sopenharmony_ci	* elf_compress.c: New file.
682da0c48c4Sopenharmony_ci	* elf_compress_gnu.c: Likewise.
683da0c48c4Sopenharmony_ci	* elf_begin.c (file_read_elf): Make a writable copy of the shdrs
684da0c48c4Sopenharmony_ci	for ELF_C_READ_MMAP.
685da0c48c4Sopenharmony_ci	* elf_end.c (elf_end): Free zdata_base.
686da0c48c4Sopenharmony_ci	* elf_error.c: Add ELF_E_ALREADY_COMPRESSED,
687da0c48c4Sopenharmony_ci	ELF_E_UNKNOWN_COMPRESSION_TYPE, ELF_E_COMPRESS_ERROR and
688da0c48c4Sopenharmony_ci	ELF_E_DECOMPRESS_ERROR.
689da0c48c4Sopenharmony_ci	* elf_data.c (__libelf_data_type): New internal function extracted
690da0c48c4Sopenharmony_ci	from convert_data.
691da0c48c4Sopenharmony_ci	(convert_data): Handle SHF_COMPRESSED.
692da0c48c4Sopenharmony_ci	* elf32_updatenull.c (updatenull_wrlock): Check sh_entsize against
693da0c48c4Sopenharmony_ci	uncompressed section data size if SHF_COMPRESSED.
694da0c48c4Sopenharmony_ci	* elf32_getshdr.c (load_shdr_wrlock): Adjust assert to account for
695da0c48c4Sopenharmony_ci	ELF_C_READ_MMAP.
696da0c48c4Sopenharmony_ci	* libelf.h: Define elf_compress and elf_compress_gnu.
697da0c48c4Sopenharmony_ci	* libelf.map (ELFUTILS_1.7): Add elf_compress and elf_compress_gnu.
698da0c48c4Sopenharmony_ci	* libelfP.h: Add ELF_E_ALREADY_COMPRESSED,
699da0c48c4Sopenharmony_ci	ELF_E_UNKNOWN_COMPRESSION_TYPE, ELF_E_COMPRESS_ERROR and
700da0c48c4Sopenharmony_ci	ELF_E_DECOMPRESS_ERROR. Define __libelf_data_type.
701da0c48c4Sopenharmony_ci	(__libelf_compress): New internal function definition.
702da0c48c4Sopenharmony_ci	(__libelf_decompress): Likewise.
703da0c48c4Sopenharmony_ci	(__libelf_reset_rawdata): Likewise.
704da0c48c4Sopenharmony_ci	(__libelf_data_type): Likewise.
705da0c48c4Sopenharmony_ci	(struct Elf_Scn): Add zdata_base.
706da0c48c4Sopenharmony_ci
707da0c48c4Sopenharmony_ci2015-11-19  Mark Wielaard  <mjw@redhat.com>
708da0c48c4Sopenharmony_ci
709da0c48c4Sopenharmony_ci	* Makefile.am (libelf_a_SOURCES): Add elf32_getchdr.c,
710da0c48c4Sopenharmony_ci	elf64_getchdr.c and gelf_getchdr.c.
711da0c48c4Sopenharmony_ci	(noinst_HEADERS): Add chdr_xlate.h.
712da0c48c4Sopenharmony_ci	* abstract.h: Define Chdr32 and Chdr64.
713da0c48c4Sopenharmony_ci	* chdr_xlate.h: New file.
714da0c48c4Sopenharmony_ci	* elf32_getchdr.c: New file.
715da0c48c4Sopenharmony_ci	* elf64_getchdr.c: New file.
716da0c48c4Sopenharmony_ci	* elf_error.c: Add ELF_E_NOT_COMPRESSED, ELF_E_INVALID_SECTION_TYPE
717da0c48c4Sopenharmony_ci	and ELF_E_INVALID_SECTION_FLAGS.
718da0c48c4Sopenharmony_ci	* elf_getdata.c (__libelf_set_rawdata_wrlock): Set d_type to
719da0c48c4Sopenharmony_ci	ELF_T_CHDR for SHF_COMPRESSED sections.
720da0c48c4Sopenharmony_ci	* exttypes.h: Add Chdr32 and Chdr64.
721da0c48c4Sopenharmony_ci	* gelf.h (GElf_Chdr): New typedef.
722da0c48c4Sopenharmony_ci	(gelf_getchdr): New function definition.
723da0c48c4Sopenharmony_ci	* gelf_fsize.c (__libelf_type_sizes): Add ELF_T_CHDR.
724da0c48c4Sopenharmony_ci	* gelf_getchdr.c: New file.
725da0c48c4Sopenharmony_ci	* gelf_xlate.c (__elf_xfctstom): Add ELF_T_CHDR cvt_chdr.
726da0c48c4Sopenharmony_ci	* gelf_xlate.h: Add Chdr.
727da0c48c4Sopenharmony_ci	* libelf.h (Elf_Type): Add ELF_T_CHDR.
728da0c48c4Sopenharmony_ci	(elf32_getchdr): New function definition.
729da0c48c4Sopenharmony_ci	(elf64_getchdr): Likewise.
730da0c48c4Sopenharmony_ci	* libelf.map (ELFUTILS_1.7): New sections add elf32_getchdr,
731da0c48c4Sopenharmony_ci	elf64_getchdr and gelf_getchdr.
732da0c48c4Sopenharmony_ci	* libelfP.h: Add ELF_E_NOT_COMPRESSED, ELF_E_INVALID_SECTION_TYPE
733da0c48c4Sopenharmony_ci	and ELF_E_INVALID_SECTION_FLAGS.
734da0c48c4Sopenharmony_ci
735da0c48c4Sopenharmony_ci2015-10-16  Mark Wielaard  <mjw@redhat.com>
736da0c48c4Sopenharmony_ci
737da0c48c4Sopenharmony_ci	* Makefile.am (libelf_so_LDLIBS): Add -lz.
738da0c48c4Sopenharmony_ci
739da0c48c4Sopenharmony_ci2015-10-14  Mark Wielaard  <mjw@redhat.com>
740da0c48c4Sopenharmony_ci
741da0c48c4Sopenharmony_ci	* elf.h: Update from glibc. Add section compression constants and
742da0c48c4Sopenharmony_ci	structures.
743da0c48c4Sopenharmony_ci
744da0c48c4Sopenharmony_ci2015-10-20  Jose E. Marchesi  <jose.marchesi@oracle.com>
745da0c48c4Sopenharmony_ci
746da0c48c4Sopenharmony_ci	* elf_begin.c (get_shnum): Elf64_Shdr.sh_size is an Elf64_Xword.
747da0c48c4Sopenharmony_ci	Fix the size argument to pread_retry.
748da0c48c4Sopenharmony_ci
749da0c48c4Sopenharmony_ci2015-10-13  Chih-Hung Hsieh  <chh@google.com>
750da0c48c4Sopenharmony_ci
751da0c48c4Sopenharmony_ci	* elf32_updatefile.c (__elfw2(LIBELFBITS,updatemmap)): Move nested
752da0c48c4Sopenharmony_ci	function 'fill_mmap' to file scope.
753da0c48c4Sopenharmony_ci	* elf_begin.c (elf_begin): Move nested function 'lock_dup_elf'
754da0c48c4Sopenharmony_ci	to file scope.
755da0c48c4Sopenharmony_ci
756da0c48c4Sopenharmony_ci2015-10-09  Josh Stone  <jistone@redhat.com>
757da0c48c4Sopenharmony_ci
758da0c48c4Sopenharmony_ci	* libelf.h: Replace loff_t with int64_t throughout.
759da0c48c4Sopenharmony_ci
760da0c48c4Sopenharmony_ci2015-10-05  Mark Wielaard  <mjw@redhat.com>
761da0c48c4Sopenharmony_ci
762da0c48c4Sopenharmony_ci	* elf_update.c (write_file): Only use posix_fallocate when using
763da0c48c4Sopenharmony_ci	mmap. Only report failure when errno is ENOSPC.
764da0c48c4Sopenharmony_ci
765da0c48c4Sopenharmony_ci2015-10-09  Josh Stone  <jistone@redhat.com>
766da0c48c4Sopenharmony_ci
767da0c48c4Sopenharmony_ci	* libelfP.h (struct Elf): Replace off64_t with off_t.
768da0c48c4Sopenharmony_ci	* elf_getdata_rawchunk.c (elf_getdata_rawchunk): Likewise.
769da0c48c4Sopenharmony_ci
770da0c48c4Sopenharmony_ci2015-10-05  Chih-Hung Hsieh <chh@google.com>
771da0c48c4Sopenharmony_ci
772da0c48c4Sopenharmony_ci	* elf_getarsym.c (elf_getarsym): Do not use
773da0c48c4Sopenharmony_ci	union of variable length arrays.
774da0c48c4Sopenharmony_ci
775da0c48c4Sopenharmony_ci2015-10-05  Josh Stone  <jistone@redhat.com>
776da0c48c4Sopenharmony_ci
777da0c48c4Sopenharmony_ci	* Makefile.am (libelf.so): Add AM_V_CCLD and AM_V_at silencers.
778da0c48c4Sopenharmony_ci
779da0c48c4Sopenharmony_ci2015-09-24  Jose E. Marchesi  <jose.marchesi@oracle.com>
780da0c48c4Sopenharmony_ci
781da0c48c4Sopenharmony_ci	* Makefile.am (AM_CFLAGS): Use -fPIC instead of -fpic to avoid
782da0c48c4Sopenharmony_ci	relocation overflows in some platforms.
783da0c48c4Sopenharmony_ci
784da0c48c4Sopenharmony_ci2015-09-29  Mark Wielaard  <mjw@redhat.com>
785da0c48c4Sopenharmony_ci
786da0c48c4Sopenharmony_ci	* elf32_updatenull.c (default_ehdr): Set e_version when EV_NONE.
787da0c48c4Sopenharmony_ci	(updatenull_wrlock): Always set e_shentsize.
788da0c48c4Sopenharmony_ci
789da0c48c4Sopenharmony_ci2015-09-23  Mark Wielaard  <mjw@redhat.com>
790da0c48c4Sopenharmony_ci
791da0c48c4Sopenharmony_ci	* elf32_getehdr.c (getehdr_wrlock): Mark as internal_function.
792da0c48c4Sopenharmony_ci	* elf32_getshdr.c (getshdr_rdlock): Likewise.
793da0c48c4Sopenharmony_ci	(getshdr_wrlock): Likewise.
794da0c48c4Sopenharmony_ci	* elf_error.c (__libelf_seterrno): Likewise.
795da0c48c4Sopenharmony_ci	* elf_getphdrnum.c (__elf_getphdrnum_rdlock): Likewise.
796da0c48c4Sopenharmony_ci	(__elf_getphdrnum_chk_rdlock): Likewise.
797da0c48c4Sopenharmony_ci	* elf_getshdrnum.c (__elf_getphdrnum_rdlock): Likewise.
798da0c48c4Sopenharmony_ci	(__elf_getphdrnum_chk_rdlock): Likewise.
799da0c48c4Sopenharmony_ci	* elf_getshdrnum.c (__elf_getshdrnum_rdlock): Likewise.
800da0c48c4Sopenharmony_ci	* elf_readall.c (__libelf_readall): Likewise.
801da0c48c4Sopenharmony_ci	* gelf_getehdr.c (__gelf_getehdr_rdlock): Likewise.
802da0c48c4Sopenharmony_ci
803da0c48c4Sopenharmony_ci2015-09-22  Mark Wielaard  <mjw@redhat.com>
804da0c48c4Sopenharmony_ci
805da0c48c4Sopenharmony_ci	* *.c: Remove old-style function definitions.
806da0c48c4Sopenharmony_ci
807da0c48c4Sopenharmony_ci2015-06-22  Mark Wielaard  <mjw@redhat.com>
808da0c48c4Sopenharmony_ci
809da0c48c4Sopenharmony_ci	* dl-hash.h: Update from glibc.
810da0c48c4Sopenharmony_ci
811da0c48c4Sopenharmony_ci2015-06-18  Mark Wielaard  <mjw@redhat.com>
812da0c48c4Sopenharmony_ci
813da0c48c4Sopenharmony_ci	* elf32_updatefile.c (updatefile): Always free shdr_data and scns
814da0c48c4Sopenharmony_ci	when allocated on failure paths.
815da0c48c4Sopenharmony_ci
816da0c48c4Sopenharmony_ci2015-06-18  Mark Wielaard  <mjw@redhat.com>
817da0c48c4Sopenharmony_ci
818da0c48c4Sopenharmony_ci	* nlist.c (nlist): Check symscn shdr exists before use.
819da0c48c4Sopenharmony_ci
820da0c48c4Sopenharmony_ci2015-06-16  Mark Wielaard  <mjw@redhat.com>
821da0c48c4Sopenharmony_ci
822da0c48c4Sopenharmony_ci	* elf_update.c (write_file): Always also use ftruncate before
823da0c48c4Sopenharmony_ci	posix_fallocate to make sure file has the right size.
824da0c48c4Sopenharmony_ci
825da0c48c4Sopenharmony_ci2015-06-04  Mark Wielaard  <mjw@redhat.com>
826da0c48c4Sopenharmony_ci
827da0c48c4Sopenharmony_ci	* elf_getdata.c (__libelf_type_aligns): Add entries for ELF_T_EHDR,
828da0c48c4Sopenharmony_ci	ELF_T_OFF, ELF_T_PHDR, ELF_T_SHDR, ELF_T_SWORD, ELF_T_XWORD,
829da0c48c4Sopenharmony_ci	ELF_T_SXWORD, ELF_T_GNUHASH, ELF_T_AUXV.
830da0c48c4Sopenharmony_ci	* elf_getdata_rawchunk.c (elf_getdata_rawchunk): Check alignment
831da0c48c4Sopenharmony_ci	of rawdata against requested type.
832da0c48c4Sopenharmony_ci
833da0c48c4Sopenharmony_ci2015-06-02  Mark Wielaard  <mjw@redhat.com>
834da0c48c4Sopenharmony_ci
835da0c48c4Sopenharmony_ci	* elf_getdata.c (convert_data): Make sure source data is properly
836da0c48c4Sopenharmony_ci	aligned for type before calling actual conversion function.
837da0c48c4Sopenharmony_ci
838da0c48c4Sopenharmony_ci2015-06-04  Mark Wielaard  <mjw@redhat.com>
839da0c48c4Sopenharmony_ci
840da0c48c4Sopenharmony_ci	* elf_begin.c (get_shnum): Check alignment of Shdr, not Ehdr before
841da0c48c4Sopenharmony_ci	direct access.
842da0c48c4Sopenharmony_ci
843da0c48c4Sopenharmony_ci2015-06-02  Mark Wielaard  <mjw@redhat.com>
844da0c48c4Sopenharmony_ci
845da0c48c4Sopenharmony_ci	* elf_begin.c (file_read_elf): Split checks for ehdr and shdr
846da0c48c4Sopenharmony_ci	alignment, drop phdr alignment check.
847da0c48c4Sopenharmony_ci
848da0c48c4Sopenharmony_ci2015-05-31  Mark Wielaard  <mjw@redhat.com>
849da0c48c4Sopenharmony_ci
850da0c48c4Sopenharmony_ci	* elf32_getshdr.c (load_shdr_wrlock): Allocate shdrs with malloc,
851da0c48c4Sopenharmony_ci	not alloca and free after conversion when a copy needs to be made.
852da0c48c4Sopenharmony_ci
853da0c48c4Sopenharmony_ci2015-05-31  Mark Wielaard  <mjw@redhat.com>
854da0c48c4Sopenharmony_ci
855da0c48c4Sopenharmony_ci	* elf32_getphdr.c (getphdr_wrlock): Allocate phdrs with malloc, not
856da0c48c4Sopenharmony_ci	alloca and free after conversion when a copy needs to be made.
857da0c48c4Sopenharmony_ci
858da0c48c4Sopenharmony_ci2015-05-31  Mark Wielaard  <mjw@redhat.com>
859da0c48c4Sopenharmony_ci
860da0c48c4Sopenharmony_ci	* elf_getarsym.c (elf_getarsym): Allocate temporary file_date with
861da0c48c4Sopenharmony_ci	malloc, not alloca also in !ALLOW_UNALIGNED case.
862da0c48c4Sopenharmony_ci
863da0c48c4Sopenharmony_ci2015-05-30  Mark Wielaard  <mjw@redhat.com>
864da0c48c4Sopenharmony_ci
865da0c48c4Sopenharmony_ci	* gelf_xlate.c (elf_cvt_Byte): Only call memmove with non-zero size.
866da0c48c4Sopenharmony_ci
867da0c48c4Sopenharmony_ci2015-05-30  Mark Wielaard  <mjw@redhat.com>
868da0c48c4Sopenharmony_ci
869da0c48c4Sopenharmony_ci	* elf32_updatefile.c (updatemmap): Only call mempcpy and update
870da0c48c4Sopenharmony_ci	last_position when d_size is non-zero.
871da0c48c4Sopenharmony_ci
872da0c48c4Sopenharmony_ci2015-05-17  Mark Wielaard  <mjw@redhat.com>
873da0c48c4Sopenharmony_ci
874da0c48c4Sopenharmony_ci	* elf32_updatefile.c (updatefile): Allocate shdr_data and scns
875da0c48c4Sopenharmony_ci	with malloc, not alloca. Free after writing section headers.
876da0c48c4Sopenharmony_ci
877da0c48c4Sopenharmony_ci2015-05-16  Mark Wielaard  <mjw@redhat.com>
878da0c48c4Sopenharmony_ci
879da0c48c4Sopenharmony_ci	* elf32_updatefile.c (updatemmap): Allocate temporary shdr storage
880da0c48c4Sopenharmony_ci	with malloc, not alloca. Free after writing section header.
881da0c48c4Sopenharmony_ci
882da0c48c4Sopenharmony_ci2015-05-16  Mark Wielaard  <mjw@redhat.com>
883da0c48c4Sopenharmony_ci
884da0c48c4Sopenharmony_ci	* elf_getarsym.c (elf_getarsym): Allocate temporary file_date with
885da0c48c4Sopenharmony_ci	malloc, not alloca. Call free after out.
886da0c48c4Sopenharmony_ci
887da0c48c4Sopenharmony_ci2015-05-14  Mark Wielaard  <mjw@redhat.com>
888da0c48c4Sopenharmony_ci
889da0c48c4Sopenharmony_ci	* elf_update.c (write_file): Use posix_fallocate instead of
890da0c48c4Sopenharmony_ci	ftruncate to extend file if necessary.
891da0c48c4Sopenharmony_ci
892da0c48c4Sopenharmony_ci2015-05-13  Mark Wielaard  <mjw@redhat.com>
893da0c48c4Sopenharmony_ci
894da0c48c4Sopenharmony_ci	* elf32_updatenull.c (default_ehdr): If e_phnum is zero then set
895da0c48c4Sopenharmony_ci	e_phoff also to zero.
896da0c48c4Sopenharmony_ci
897da0c48c4Sopenharmony_ci2015-05-12  Mark Wielaard  <mjw@redhat.com>
898da0c48c4Sopenharmony_ci
899da0c48c4Sopenharmony_ci	* elf32_updatenull.c (updatenull_wrlock): Check that sh_addralign
900da0c48c4Sopenharmony_ci	is a powerof2.
901da0c48c4Sopenharmony_ci	* elf_getdata.c (__libelf_set_rawdata_wrlock): Clamp large d_aligns
902da0c48c4Sopenharmony_ci	to the elf image offset.
903da0c48c4Sopenharmony_ci
904da0c48c4Sopenharmony_ci2015-05-12  Mark Wielaard  <mjw@redhat.com>
905da0c48c4Sopenharmony_ci
906da0c48c4Sopenharmony_ci	* elf32_newphdr.c (newphdr): Call __libelf_seterrno with
907da0c48c4Sopenharmony_ci	ELF_E_INVALID_INDEX before failing. Check whether section zero shdr
908da0c48c4Sopenharmony_ci	actually exists if we need to put extended phnum in section zero.
909da0c48c4Sopenharmony_ci
910da0c48c4Sopenharmony_ci2015-05-08  Mark Wielaard  <mjw@redhat.com>
911da0c48c4Sopenharmony_ci
912da0c48c4Sopenharmony_ci	* nlist.c (nlist): Call gelf_fsize with EV_CURRENT.
913da0c48c4Sopenharmony_ci
914da0c48c4Sopenharmony_ci2015-01-03  Mark Wielaard  <mjw@redhat.com>
915da0c48c4Sopenharmony_ci
916da0c48c4Sopenharmony_ci	* version_xlate.h (elf_cvt_Verdef): Use memmove to copy src to dest.
917da0c48c4Sopenharmony_ci	(elf_cvt_Verneed): Likewise.
918da0c48c4Sopenharmony_ci
919da0c48c4Sopenharmony_ci2015-03-28  Mark Wielaard  <mjw@redhat.com>
920da0c48c4Sopenharmony_ci
921da0c48c4Sopenharmony_ci	* elf.h: Update from glibc.
922da0c48c4Sopenharmony_ci
923da0c48c4Sopenharmony_ci2015-03-23  Mark Wielaard  <mjw@redhat.com>
924da0c48c4Sopenharmony_ci
925da0c48c4Sopenharmony_ci	* elf32_updatenull.c (updatenull_wrlock): Don't extend size with
926da0c48c4Sopenharmony_ci	SHT_NOBITS sh_offset.
927da0c48c4Sopenharmony_ci
928da0c48c4Sopenharmony_ci2015-02-18  Mark Wielaard  <mjw@redhat.com>
929da0c48c4Sopenharmony_ci
930da0c48c4Sopenharmony_ci	* libelfP.h (__libelf_set_data_list_rdlock): Make internal_function.
931da0c48c4Sopenharmony_ci
932da0c48c4Sopenharmony_ci2015-02-07  Jan Kratochvil  <jan.kratochvil@redhat.com>
933da0c48c4Sopenharmony_ci
934da0c48c4Sopenharmony_ci	* elf32_updatenull.c (__elfw2(LIBELFBITS,updatenull_wrlock)): Consider
935da0c48c4Sopenharmony_ci	sh_addralign 0 as 1.
936da0c48c4Sopenharmony_ci
937da0c48c4Sopenharmony_ci2015-01-22  Mark Wielaard  <mjw@redhat.com>
938da0c48c4Sopenharmony_ci
939da0c48c4Sopenharmony_ci	* elf_strptr (elf_strptr): Make sure returned string is NUL
940da0c48c4Sopenharmony_ci	terminated.
941da0c48c4Sopenharmony_ci
942da0c48c4Sopenharmony_ci2015-01-21  Mark Wielaard  <mjw@redhat.com>
943da0c48c4Sopenharmony_ci
944da0c48c4Sopenharmony_ci	* elf_strptr.c (elf_strptr): Check data_list_rear == NULL instead
945da0c48c4Sopenharmony_ci	of rawdata_base != NULL before using rawdata directly.
946da0c48c4Sopenharmony_ci
947da0c48c4Sopenharmony_ci2015-01-20  Mark Wielaard  <mjw@redhat.com>
948da0c48c4Sopenharmony_ci
949da0c48c4Sopenharmony_ci	* libelfP.h (__elf_strptr_internal): New function declaration.
950da0c48c4Sopenharmony_ci	* elf_getdata.c (__libelf_set_data_list_rdlock): New internal
951da0c48c4Sopenharmony_ci	function extracted from...
952da0c48c4Sopenharmony_ci	(__elf_getdata_rdlock): ... here.
953da0c48c4Sopenharmony_ci	* elf_newdata.c (elf_newdata): Check scn->rawdata_base and update
954da0c48c4Sopenharmony_ci	datalist if necessary.
955da0c48c4Sopenharmony_ci
956da0c48c4Sopenharmony_ci2015-01-20  Mark Wielaard  <mjw@redhat.com>
957da0c48c4Sopenharmony_ci
958da0c48c4Sopenharmony_ci	* elf_strptr.c (elf_strptr): Call __elf[32|64]_getshdr_rdlock if
959da0c48c4Sopenharmony_ci	necessary.
960da0c48c4Sopenharmony_ci
961da0c48c4Sopenharmony_ci2014-12-30  Mark Wielaard  <mjw@redhat.com>
962da0c48c4Sopenharmony_ci
963da0c48c4Sopenharmony_ci	* elf_getphdrnum.c (__elf_getphdrnum_chk_rdlock): New function.
964da0c48c4Sopenharmony_ci	(elf_getphdrnum): Call __elf_getphdrnum_chk_rdlock.
965da0c48c4Sopenharmony_ci	* gelf_getphdr (gelf_getphdr): Call __elf_getphdrnum_chk_rdlock
966da0c48c4Sopenharmony_ci	and always check ndx against phnum.
967da0c48c4Sopenharmony_ci	* libelfP.h (__elf_getphdrnum_chk_rdlock): New internal function.
968da0c48c4Sopenharmony_ci
969da0c48c4Sopenharmony_ci2014-12-25  Mark Wielaard  <mjw@redhat.com>
970da0c48c4Sopenharmony_ci
971da0c48c4Sopenharmony_ci	* elf_begin.c (__libelf_next_arhdr_wrlock): ar_size cannot be
972da0c48c4Sopenharmony_ci	negative. Include start_offset in maxsize.
973da0c48c4Sopenharmony_ci
974da0c48c4Sopenharmony_ci2014-12-28  Alexander Cherepanov  <cherepan@mccme.ru>
975da0c48c4Sopenharmony_ci
976da0c48c4Sopenharmony_ci	* elf_begin.c (read_long_names): Don't miss '/' right after
977da0c48c4Sopenharmony_ci	another '/'. Fixes a dir traversal vuln in ar extraction.
978da0c48c4Sopenharmony_ci
979da0c48c4Sopenharmony_ci2014-12-18  Ulrich Drepper  <drepper@gmail.com>
980da0c48c4Sopenharmony_ci
981da0c48c4Sopenharmony_ci	* Makefile.am: Suppress output of textrel_check command.
982da0c48c4Sopenharmony_ci
983da0c48c4Sopenharmony_ci2014-12-16  Mark Wielaard  <mjw@redhat.com>
984da0c48c4Sopenharmony_ci
985da0c48c4Sopenharmony_ci	* elf_begin.c (read_long_names): Make sure long_names len fits
986da0c48c4Sopenharmony_ci	in mapped ELF file.
987da0c48c4Sopenharmony_ci
988da0c48c4Sopenharmony_ci2014-12-15  Mark Wielaard  <mjw@redhat.com>
989da0c48c4Sopenharmony_ci
990da0c48c4Sopenharmony_ci	* elf_getarsym.c (elf_getarsym): Check index_size doesn't overflow.
991da0c48c4Sopenharmony_ci
992da0c48c4Sopenharmony_ci2014-12-15  Mark Wielaard  <mjw@redhat.com>
993da0c48c4Sopenharmony_ci
994da0c48c4Sopenharmony_ci	* elf_begin.c (read_long_names): Clear any garbage left in the
995da0c48c4Sopenharmony_ci	name table.
996da0c48c4Sopenharmony_ci
997da0c48c4Sopenharmony_ci2014-12-11  Mark Wielaard  <mjw@redhat.com>
998da0c48c4Sopenharmony_ci
999da0c48c4Sopenharmony_ci	* elf_begin.c (file_read_elf): Correct ELF64 section offset check.
1000da0c48c4Sopenharmony_ci
1001da0c48c4Sopenharmony_ci2014-12-11  Mark Wielaard  <mjw@redhat.com>
1002da0c48c4Sopenharmony_ci
1003da0c48c4Sopenharmony_ci	* elf_begin.c (read_long_names): Check for offset overflow.
1004da0c48c4Sopenharmony_ci	(__libelf_next_arhdr_wrlock): Likewise. Sanity check the ar_size.
1005da0c48c4Sopenharmony_ci	Don't allow it to go beyond end of file.
1006da0c48c4Sopenharmony_ci
1007da0c48c4Sopenharmony_ci2014-12-09  Mark Wielaard  <mjw@redhat.com>
1008da0c48c4Sopenharmony_ci
1009da0c48c4Sopenharmony_ci	* elf_getarsym.c (elf_getarsym): Make sure n * w doesn't overflow.
1010da0c48c4Sopenharmony_ci
1011da0c48c4Sopenharmony_ci2014-11-27  Mark Wielaard  <mjw@redhat.com>
1012da0c48c4Sopenharmony_ci
1013da0c48c4Sopenharmony_ci	* Makefile.am (libelf.so): Use textrel_check.
1014da0c48c4Sopenharmony_ci
1015da0c48c4Sopenharmony_ci2014-11-23  Mark Wielaard  <mjw@redhat.com>
1016da0c48c4Sopenharmony_ci
1017da0c48c4Sopenharmony_ci	* elf_getdata_rawchunk.c (elf_getdata_rawchunk): Change signed
1018da0c48c4Sopenharmony_ci	overflow check to unsigned.
1019da0c48c4Sopenharmony_ci
1020da0c48c4Sopenharmony_ci2014-11-23  Mark Wielaard  <mjw@redhat.com>
1021da0c48c4Sopenharmony_ci
1022da0c48c4Sopenharmony_ci	* note_xlate.h (elf_cvt_note): Copy over any leftover data if
1023da0c48c4Sopenharmony_ci	src != dest. The data is probably part of truncated name/desc.
1024da0c48c4Sopenharmony_ci
1025da0c48c4Sopenharmony_ci2014-11-22  Mark Wielaard  <mjw@redhat.com>
1026da0c48c4Sopenharmony_ci
1027da0c48c4Sopenharmony_ci	* elf_getphdrnum.c (elf_getphdrnum): Sanity check the
1028da0c48c4Sopenharmony_ci	__elf_getphdrnum_rdlock result.
1029da0c48c4Sopenharmony_ci
1030da0c48c4Sopenharmony_ci2014-11-18  Mark Wielaard  <mjw@redhat.com>
1031da0c48c4Sopenharmony_ci
1032da0c48c4Sopenharmony_ci	* version_xlate.h (elf_cvt_Verdef): Check for overflow.
1033da0c48c4Sopenharmony_ci	(elf_cvt_Verneed): Likewise.
1034da0c48c4Sopenharmony_ci
1035da0c48c4Sopenharmony_ci2014-11-17  Mark Wielaard  <mjw@redhat.com>
1036da0c48c4Sopenharmony_ci
1037da0c48c4Sopenharmony_ci	* elf-knowledge.h (SECTION_STRIP_P): Check name is not NULL.
1038da0c48c4Sopenharmony_ci
1039da0c48c4Sopenharmony_ci2014-11-16  Mark Wielaard  <mjw@redhat.com>
1040da0c48c4Sopenharmony_ci
1041da0c48c4Sopenharmony_ci	* elf_getshdrstrndx.c: Check there are section headers before
1042da0c48c4Sopenharmony_ci	handling SHN_XINDEX.
1043da0c48c4Sopenharmony_ci
1044da0c48c4Sopenharmony_ci2014-11-16  Mark Wielaard  <mjw@redhat.com>
1045da0c48c4Sopenharmony_ci
1046da0c48c4Sopenharmony_ci	* elf32_getphdr.c (getphdr_wrlock): Check e_phoff isn't zero.
1047da0c48c4Sopenharmony_ci	Check for too many pheaders.
1048da0c48c4Sopenharmony_ci	* elf_getphdrnum.c (__elf_getphdrnum_rdlock): Check section zero
1049da0c48c4Sopenharmony_ci	actually exists before handling PN_XNUM.
1050da0c48c4Sopenharmony_ci
1051da0c48c4Sopenharmony_ci2014-11-16  Mark Wielaard  <mjw@redhat.com>
1052da0c48c4Sopenharmony_ci
1053da0c48c4Sopenharmony_ci	* gelf_getnote.c (gelf_getnote): Check padding overflow.
1054da0c48c4Sopenharmony_ci
1055da0c48c4Sopenharmony_ci2014-11-16  Mark Wielaard  <mjw@redhat.com>
1056da0c48c4Sopenharmony_ci
1057da0c48c4Sopenharmony_ci	* elf_getdata.c (__libelf_set_rawdata_wrlock): Declare offset, size
1058da0c48c4Sopenharmony_ci	and align as Elf64_Off and Elf64_Xword not size_t.
1059da0c48c4Sopenharmony_ci
1060da0c48c4Sopenharmony_ci2014-11-14  Mark Wielaard  <mjw@redhat.com>
1061da0c48c4Sopenharmony_ci
1062da0c48c4Sopenharmony_ci	* gelf_getnote.c (gelf_getnote): Check offset overflow.
1063da0c48c4Sopenharmony_ci
1064da0c48c4Sopenharmony_ci2014-11-13  Mark Wielaard  <mjw@redhat.com>
1065da0c48c4Sopenharmony_ci
1066da0c48c4Sopenharmony_ci	* elf_getdata.c (__libelf_set_rawdata_wrlock): Fix unsigned overflow
1067da0c48c4Sopenharmony_ci	check.
1068da0c48c4Sopenharmony_ci
1069da0c48c4Sopenharmony_ci2014-11-08  Mark Wielaard  <mjw@redhat.com>
1070da0c48c4Sopenharmony_ci
1071da0c48c4Sopenharmony_ci	* elf_begin.c (__libelf_next_arhdr_wrlock): Use mempcpy not __mempcpy.
1072da0c48c4Sopenharmony_ci
1073da0c48c4Sopenharmony_ci2014-11-07  Mark Wielaard  <mjw@redhat.com>
1074da0c48c4Sopenharmony_ci
1075da0c48c4Sopenharmony_ci	* elf_begin.c (file_read_elf): Correct sh_size check.
1076da0c48c4Sopenharmony_ci	* elf_getdata.c (__libelf_set_rawdata_wrlock): Check for unsigned
1077da0c48c4Sopenharmony_ci	overflow.
1078da0c48c4Sopenharmony_ci
1079da0c48c4Sopenharmony_ci2014-09-10  Petr Machata  <pmachata@redhat.com>
1080da0c48c4Sopenharmony_ci
1081da0c48c4Sopenharmony_ci	* elf_begin (read_unmmaped_file): Call __libelf_seterrno if the
1082da0c48c4Sopenharmony_ci	file is unreadable.
1083da0c48c4Sopenharmony_ci
1084da0c48c4Sopenharmony_ci2014-07-07  Mark Wielaard  <mjw@redhat.com>
1085da0c48c4Sopenharmony_ci
1086da0c48c4Sopenharmony_ci	* elf.h: Update from glibc.
1087da0c48c4Sopenharmony_ci
1088da0c48c4Sopenharmony_ci2014-04-13  Mark Wielaard  <mjw@redhat.com>
1089da0c48c4Sopenharmony_ci
1090da0c48c4Sopenharmony_ci	* Makefile.am: Remove !MUDFLAP conditions.
1091da0c48c4Sopenharmony_ci	* elf_begin.c (read_file): Don't clear use_mmap when _MUDFLAP is
1092da0c48c4Sopenharmony_ci	defined.
1093da0c48c4Sopenharmony_ci	* elf_update.c (write_file): Remove _MUDFLAP condition.
1094da0c48c4Sopenharmony_ci
1095da0c48c4Sopenharmony_ci2014-01-17  Jakub Jelinek  <jakub@redhat.com>
1096da0c48c4Sopenharmony_ci	    Roland McGrath  <roland@redhat.com>
1097da0c48c4Sopenharmony_ci
1098da0c48c4Sopenharmony_ci	* libelfP.h (INVALID_NDX): Define.
1099da0c48c4Sopenharmony_ci	* gelf_getdyn.c (gelf_getdyn): Use it.  Remove ndx < 0 test if any.
1100da0c48c4Sopenharmony_ci	* gelf_getlib.c (gelf_getlib): Likewise.
1101da0c48c4Sopenharmony_ci	* gelf_getmove.c (gelf_getmove): Likewise.
1102da0c48c4Sopenharmony_ci	* gelf_getrel.c (gelf_getrel): Likewise.
1103da0c48c4Sopenharmony_ci	* gelf_getrela.c (gelf_getrela): Likewise.
1104da0c48c4Sopenharmony_ci	* gelf_getsym.c (gelf_getsym): Likewise.
1105da0c48c4Sopenharmony_ci	* gelf_getsyminfo.c (gelf_getsyminfo): Likewise.
1106da0c48c4Sopenharmony_ci	* gelf_getsymshndx.c (gelf_getsymshndx): Likewise.
1107da0c48c4Sopenharmony_ci	* gelf_getversym.c (gelf_getversym): Likewise.
1108da0c48c4Sopenharmony_ci	* gelf_update_dyn.c (gelf_update_dyn): Likewise.
1109da0c48c4Sopenharmony_ci	* gelf_update_lib.c (gelf_update_lib): Likewise.
1110da0c48c4Sopenharmony_ci	* gelf_update_move.c (gelf_update_move): Likewise.
1111da0c48c4Sopenharmony_ci	* gelf_update_rel.c (gelf_update_rel): Likewise.
1112da0c48c4Sopenharmony_ci	* gelf_update_rela.c (gelf_update_rela): Likewise.
1113da0c48c4Sopenharmony_ci	* gelf_update_sym.c (gelf_update_sym): Likewise.
1114da0c48c4Sopenharmony_ci	* gelf_update_syminfo.c (gelf_update_syminfo): Likewise.
1115da0c48c4Sopenharmony_ci	* gelf_update_symshndx.c (gelf_update_symshndx): Likewise.
1116da0c48c4Sopenharmony_ci	* gelf_update_versym.c (gelf_update_versym): Likewise.
1117da0c48c4Sopenharmony_ci
1118da0c48c4Sopenharmony_ci2014-01-17  Jakub Jelinek  <jakub@redhat.com>
1119da0c48c4Sopenharmony_ci
1120da0c48c4Sopenharmony_ci	* elf32_getphdr.c (elfw2(LIBELFBITS,getphdr)): Check if program header
1121da0c48c4Sopenharmony_ci	table fits into object's bounds.
1122da0c48c4Sopenharmony_ci	* elf_getshdrstrndx.c (elf_getshstrndx): Add elf->start_offset to
1123da0c48c4Sopenharmony_ci	elf->map_address.  Check if first section header fits into object's
1124da0c48c4Sopenharmony_ci	bounds.
1125da0c48c4Sopenharmony_ci	* elf32_getshdr.c (elfw2(LIBELFBITS,getshdr)):
1126da0c48c4Sopenharmony_ci	Check if section header table fits into object's bounds.
1127da0c48c4Sopenharmony_ci	* elf_begin.c (get_shnum): Ensure section headers fits into
1128da0c48c4Sopenharmony_ci	object's bounds.
1129da0c48c4Sopenharmony_ci	(file_read_elf): Make sure scncnt is small enough to allocate both
1130da0c48c4Sopenharmony_ci	ElfXX_Shdr and Elf_Scn array.  Make sure section and program header
1131da0c48c4Sopenharmony_ci	tables fit into object's bounds.  Avoid memory leak on failure.
1132da0c48c4Sopenharmony_ci	* elf_newscn.c (elf_newscn): Check for overflow.
1133da0c48c4Sopenharmony_ci	* elf32_updatefile.c (__elfw2(LIBELFBITS,updatemmap)): Likewise.
1134da0c48c4Sopenharmony_ci	(__elfw2(LIBELFBITS,updatefile)): Likewise.
1135da0c48c4Sopenharmony_ci	* elf32_newphdr.c (elfw2(LIBELFBITS,newphdr)): Likewise.
1136da0c48c4Sopenharmony_ci	* elf_getarsym.c (elf_getarsym): Likewise.
1137da0c48c4Sopenharmony_ci
1138da0c48c4Sopenharmony_ci2013-11-08  Mark Wielaard  <mjw@redhat.com>
1139da0c48c4Sopenharmony_ci
1140da0c48c4Sopenharmony_ci	* elf32_updatefile.c (elfXX_updatemmap): Only memcpy ehdr when not
1141da0c48c4Sopenharmony_ci	already directly mmapped.
1142da0c48c4Sopenharmony_ci
1143da0c48c4Sopenharmony_ci2013-11-05  Mark Wielaard  <mjw@redhat.com>
1144da0c48c4Sopenharmony_ci
1145da0c48c4Sopenharmony_ci	* elf32_updatefile.c (elfXX_updatefile): Copy all section headers
1146da0c48c4Sopenharmony_ci	if elf->flags dirty.
1147da0c48c4Sopenharmony_ci
1148da0c48c4Sopenharmony_ci2013-11-01  Michael Forney  <mforney@mforney.org>
1149da0c48c4Sopenharmony_ci
1150da0c48c4Sopenharmony_ci	* Makefile.am: Use READELF.
1151da0c48c4Sopenharmony_ci
1152da0c48c4Sopenharmony_ci2013-10-01  Petr Machata  <pmachata@redhat.com>
1153da0c48c4Sopenharmony_ci
1154da0c48c4Sopenharmony_ci	* elf.h: Update from glibc.
1155da0c48c4Sopenharmony_ci
1156da0c48c4Sopenharmony_ci2013-06-17  Petr Machata  <pmachata@redhat.com>
1157da0c48c4Sopenharmony_ci
1158da0c48c4Sopenharmony_ci	* elf.h: Update from glibc.
1159da0c48c4Sopenharmony_ci
1160da0c48c4Sopenharmony_ci2013-08-28  Namhyung Kim  <namhyung@gmail.com>
1161da0c48c4Sopenharmony_ci
1162da0c48c4Sopenharmony_ci	* gelf.h (gelf_fsize): Fix typo in comment.
1163da0c48c4Sopenharmony_ci
1164da0c48c4Sopenharmony_ci2013-08-28  Mark Wielaard  <mjw@redhat.com>
1165da0c48c4Sopenharmony_ci
1166da0c48c4Sopenharmony_ci	* gelf_getauxv.c (gelf_getauxv): Add missing whitespace.
1167da0c48c4Sopenharmony_ci
1168da0c48c4Sopenharmony_ci2013-08-27  Mark Wielaard  <mjw@redhat.com>
1169da0c48c4Sopenharmony_ci
1170da0c48c4Sopenharmony_ci	* gelf_getauxv.c (gelf_getauxv): Remove unnecessary casts to char *.
1171da0c48c4Sopenharmony_ci
1172da0c48c4Sopenharmony_ci2013-08-25  Kurt Roeckx  <kurt@roeckx.be>
1173da0c48c4Sopenharmony_ci
1174da0c48c4Sopenharmony_ci	* gelf_getauxv.c (gelf_getauxv): Use memcpy instead of pointer
1175da0c48c4Sopenharmony_ci	dereference to avoid alignment problems.
1176da0c48c4Sopenharmony_ci
1177da0c48c4Sopenharmony_ci2013-01-07  Roland McGrath  <roland@hack.frob.com>
1178da0c48c4Sopenharmony_ci
1179da0c48c4Sopenharmony_ci	* elf_getarsym.c (elf_getarsym): Copy FILE_DATA into stack space if it
1180da0c48c4Sopenharmony_ci	would be unaligned and !ALLOW_UNALIGNED.
1181da0c48c4Sopenharmony_ci
1182da0c48c4Sopenharmony_ci	* elf_getarsym.c (read_number_entries): Use memcpy instead of pointer
1183da0c48c4Sopenharmony_ci	dereference so as not to assume the field is naturally aligned.
1184da0c48c4Sopenharmony_ci
1185da0c48c4Sopenharmony_ci2012-09-17  Petr Machata  <pmachata@redhat.com>
1186da0c48c4Sopenharmony_ci
1187da0c48c4Sopenharmony_ci	* elf.h: Update from glibc.
1188da0c48c4Sopenharmony_ci
1189da0c48c4Sopenharmony_ci2012-08-16  Roland McGrath  <roland@hack.frob.com>
1190da0c48c4Sopenharmony_ci
1191da0c48c4Sopenharmony_ci	* elf.h: Update from glibc.
1192da0c48c4Sopenharmony_ci
1193da0c48c4Sopenharmony_ci2012-08-14  Mark Wielaard  <mjw@redhat.com>
1194da0c48c4Sopenharmony_ci
1195da0c48c4Sopenharmony_ci	* elf32_checksum.c (ebl_debugscn_p): Removed unused define and
1196da0c48c4Sopenharmony_ci	confusing outdated comment.
1197da0c48c4Sopenharmony_ci
1198da0c48c4Sopenharmony_ci2012-08-01  Petr Machata  <pmachata@redhat.com>
1199da0c48c4Sopenharmony_ci
1200da0c48c4Sopenharmony_ci	* elf_getarsym (read_number_entries): New function.
1201da0c48c4Sopenharmony_ci	(elf_getarsym): Handle 64-bit symbol table, stored in special
1202da0c48c4Sopenharmony_ci	entry named "/SYM64/".
1203da0c48c4Sopenharmony_ci	* elf_begin.c (__libelf_next_arhdr_wrlock): Don't reject archive
1204da0c48c4Sopenharmony_ci	because it contains 64-bit symbol table.
1205da0c48c4Sopenharmony_ci
1206da0c48c4Sopenharmony_ci2012-07-19  Mark Wielaard  <mjw@redhat.com>
1207da0c48c4Sopenharmony_ci
1208da0c48c4Sopenharmony_ci	* elf32_getshdr.c (load_shdr_wrlock): Add elf->flags & ELF_F_MALLOCED
1209da0c48c4Sopenharmony_ci	to asserts.
1210da0c48c4Sopenharmony_ci
1211da0c48c4Sopenharmony_ci2012-07-17  Petr Machata  <pmachata@redhat.com>
1212da0c48c4Sopenharmony_ci
1213da0c48c4Sopenharmony_ci	* elf32_xlatetom.c (elfw2(LIBELFBITS, xlatetom)): Do not check for
1214da0c48c4Sopenharmony_ci	integer number of records in case of ELF_T_NHDR.
1215da0c48c4Sopenharmony_ci
1216da0c48c4Sopenharmony_ci2012-04-02  Mark Wielaard  <mjw@redhat.com>
1217da0c48c4Sopenharmony_ci
1218da0c48c4Sopenharmony_ci	* elf32_offscn.c: Do not match SHT_NOBITS sections at OFFSET unless
1219da0c48c4Sopenharmony_ci	there are no nonempty sections at that offset.
1220da0c48c4Sopenharmony_ci
1221da0c48c4Sopenharmony_ci2012-03-21  Roland McGrath  <roland@hack.frob.com>
1222da0c48c4Sopenharmony_ci
1223da0c48c4Sopenharmony_ci	* elf-knowledge.h (SECTION_STRIP_P): Remove < SHT_NUM check.
1224da0c48c4Sopenharmony_ci
1225da0c48c4Sopenharmony_ci2011-02-26  Mark Wielaard  <mjw@redhat.com>
1226da0c48c4Sopenharmony_ci
1227da0c48c4Sopenharmony_ci	* elf_end.c (elf_end): Call rwlock_unlock before rwlock_fini.
1228da0c48c4Sopenharmony_ci
1229da0c48c4Sopenharmony_ci2011-01-05  Jan Kratochvil  <jan.kratochvil@redhat.com>
1230da0c48c4Sopenharmony_ci
1231da0c48c4Sopenharmony_ci	* elf_getdata_rawchunk.c (elf_getdata_rawchunk): Fix off64_t overflow
1232da0c48c4Sopenharmony_ci	when MAXIMUM_SIZE == ~0.
1233da0c48c4Sopenharmony_ci
1234da0c48c4Sopenharmony_ci2010-08-18  Roland McGrath  <roland@redhat.com>
1235da0c48c4Sopenharmony_ci
1236da0c48c4Sopenharmony_ci	* gelf_fsize.c (__libelf_type_sizes): Add entries for ELF_T_LIB
1237da0c48c4Sopenharmony_ci	and ELF_T_GNUHASH.
1238da0c48c4Sopenharmony_ci	Reported by Mark Hatle <mark.hatle@windriver.com>.
1239da0c48c4Sopenharmony_ci
1240da0c48c4Sopenharmony_ci	* exttypes.h: Add cases for ElfNN_Lib.
1241da0c48c4Sopenharmony_ci	Reported by Mark Hatle <mark.hatle@windriver.com>.
1242da0c48c4Sopenharmony_ci
1243da0c48c4Sopenharmony_ci2010-06-14  Ulrich Drepper  <drepper@redhat.com>
1244da0c48c4Sopenharmony_ci
1245da0c48c4Sopenharmony_ci	* gelf_update_shdr.c: Implicitly set ELF_F_DIRTY bit.
1246da0c48c4Sopenharmony_ci	* gelf_update_phdr.c: Likewise.
1247da0c48c4Sopenharmony_ci	* gelf_update_ehdr.c: Likewise.
1248da0c48c4Sopenharmony_ci
1249da0c48c4Sopenharmony_ci2010-04-14  Roland McGrath  <roland@redhat.com>
1250da0c48c4Sopenharmony_ci
1251da0c48c4Sopenharmony_ci	* elf32_getphdr.c: Check for e_phoff/size outside the file bounds.
1252da0c48c4Sopenharmony_ci	* elf_begin.c (file_read_elf): Don't set .phdr here.
1253da0c48c4Sopenharmony_ci
1254da0c48c4Sopenharmony_ci2010-04-13  Roland McGrath  <roland@redhat.com>
1255da0c48c4Sopenharmony_ci
1256da0c48c4Sopenharmony_ci	* elf.h: Update from glibc.
1257da0c48c4Sopenharmony_ci
1258da0c48c4Sopenharmony_ci2010-04-06  Roland McGrath  <roland@redhat.com>
1259da0c48c4Sopenharmony_ci
1260da0c48c4Sopenharmony_ci	* elf_error.c (ELF_E_FD_MISMATCH_IDX): Avoid nonobvious abbreviation
1261da0c48c4Sopenharmony_ci	in error message.
1262da0c48c4Sopenharmony_ci
1263da0c48c4Sopenharmony_ci2010-04-01  Petr Machata  <pmachata@redhat.com>
1264da0c48c4Sopenharmony_ci
1265da0c48c4Sopenharmony_ci	* elf_getdata.c (__elf_getdata_rdlock): Initialize data.s for data
1266da0c48c4Sopenharmony_ci	that do not need a conversion.
1267da0c48c4Sopenharmony_ci
1268da0c48c4Sopenharmony_ci2010-03-11  Roland McGrath  <roland@redhat.com>
1269da0c48c4Sopenharmony_ci
1270da0c48c4Sopenharmony_ci	* elf.h: Update from glibc.
1271da0c48c4Sopenharmony_ci
1272da0c48c4Sopenharmony_ci2010-03-04  Ulrich Drepper  <drepper@redhat.com>
1273da0c48c4Sopenharmony_ci
1274da0c48c4Sopenharmony_ci	* elf.h: Update from glibc.
1275da0c48c4Sopenharmony_ci
1276da0c48c4Sopenharmony_ci2010-02-17  Roland McGrath  <roland@redhat.com>
1277da0c48c4Sopenharmony_ci
1278da0c48c4Sopenharmony_ci	* elf_begin.c (file_read_elf): Leave section rawdata_base and
1279da0c48c4Sopenharmony_ci	data_base pointers null when [sh_offset,sh_size) points outside
1280da0c48c4Sopenharmony_ci	the mapped file.
1281da0c48c4Sopenharmony_ci
1282da0c48c4Sopenharmony_ci2010-02-15  Roland McGrath  <roland@redhat.com>
1283da0c48c4Sopenharmony_ci
1284da0c48c4Sopenharmony_ci	* Makefile.am: Use config/eu.am for common stuff.
1285da0c48c4Sopenharmony_ci
1286da0c48c4Sopenharmony_ci2010-01-07  Roland McGrath  <roland@redhat.com>
1287da0c48c4Sopenharmony_ci
1288da0c48c4Sopenharmony_ci	* elf32_getphdr.c: Use __elf_getphdrnum_rdlock.
1289da0c48c4Sopenharmony_ci	* gelf_getphdr.c: Likewise.
1290da0c48c4Sopenharmony_ci	* gelf_update_phdr.c: Likewise.
1291da0c48c4Sopenharmony_ci	* elf32_updatefile.c (__elf32_updatemmap, __elf32_updatefile): Likewise.
1292da0c48c4Sopenharmony_ci	* elf32_updatenull.c (__elf32_updatenull_wrlock): Likewise.
1293da0c48c4Sopenharmony_ci	* elf32_newphdr.c: Clear section 0's sh_info when resetting e_phnum.
1294da0c48c4Sopenharmony_ci	If COUNT is too large, use store PN_XNUM instead and set sh_info.
1295da0c48c4Sopenharmony_ci	* elf_begin.c (file_read_elf): Always allocate space we can use later
1296da0c48c4Sopenharmony_ci	for section 0 if doing RDWR.
1297da0c48c4Sopenharmony_ci
1298da0c48c4Sopenharmony_ci	* elf_getphdrnum.c: New file.
1299da0c48c4Sopenharmony_ci	* Makefile.am (libelf_a_SOURCES): Add it.
1300da0c48c4Sopenharmony_ci	* libelf.h: Declare elf_getphdrnum.
1301da0c48c4Sopenharmony_ci	* libelfP.h: Declare __elf_getphdrnum_rdlock.
1302da0c48c4Sopenharmony_ci	* libelf.map (ELFUTILS_1.6): New set, add elf_getphdrnum.
1303da0c48c4Sopenharmony_ci
1304da0c48c4Sopenharmony_ci	* elf.h: Update from glibc.
1305da0c48c4Sopenharmony_ci
1306da0c48c4Sopenharmony_ci2009-10-23  Lubomir Rintel  <lkundrak@v3.sk>
1307da0c48c4Sopenharmony_ci
1308da0c48c4Sopenharmony_ci	* elf32_updatefile.c (fill_mmap): When starting past shdr_end, start
1309da0c48c4Sopenharmony_ci	filling from section start, not shdr_end.
1310da0c48c4Sopenharmony_ci
1311da0c48c4Sopenharmony_ci2009-11-10  Roland McGrath  <roland@redhat.com>
1312da0c48c4Sopenharmony_ci
1313da0c48c4Sopenharmony_ci	* elf_readall.c (__libelf_readall): Fetch file size if not yet known.
1314da0c48c4Sopenharmony_ci
1315da0c48c4Sopenharmony_ci2009-11-06  Mark Wielaard  <mjw@redhat.com>
1316da0c48c4Sopenharmony_ci
1317da0c48c4Sopenharmony_ci	* elf_next.c (elf_next): Mark the archive header as unusable when
1318da0c48c4Sopenharmony_ci	there is no next ar element.
1319da0c48c4Sopenharmony_ci
1320da0c48c4Sopenharmony_ci2009-08-12  Mark Wielaard  <mjw@redhat.com>
1321da0c48c4Sopenharmony_ci
1322da0c48c4Sopenharmony_ci	* Makefile.am (libelf.so): Use -Wl,-z,defs not -defs.
1323da0c48c4Sopenharmony_ci
1324da0c48c4Sopenharmony_ci2009-07-26  Ulrich Drepper  <drepper@redhat.com>
1325da0c48c4Sopenharmony_ci
1326da0c48c4Sopenharmony_ci	* elf.h: Update from glibc.
1327da0c48c4Sopenharmony_ci
1328da0c48c4Sopenharmony_ci2009-07-21  Ulrich Drepper  <drepper@redhat.com>
1329da0c48c4Sopenharmony_ci
1330da0c48c4Sopenharmony_ci	* elf32_updatefile.c (__elfXX_updatemmap): Fix handling of gaps between
1331da0c48c4Sopenharmony_ci	sections.  Patch by Lubomir Rintel <lkundrak@v3.sk>.
1332da0c48c4Sopenharmony_ci
1333da0c48c4Sopenharmony_ci2009-07-08  Roland McGrath  <roland@redhat.com>
1334da0c48c4Sopenharmony_ci
1335da0c48c4Sopenharmony_ci	* libelfP.h (struct Elf): Remove unused ar.has_index field.
1336da0c48c4Sopenharmony_ci	Reorder various members for optimal packing.
1337da0c48c4Sopenharmony_ci
1338da0c48c4Sopenharmony_ci2009-07-08  Ulrich Drepper  <drepper@redhat.com>
1339da0c48c4Sopenharmony_ci
1340da0c48c4Sopenharmony_ci	* elf.h: Update from glibc.
1341da0c48c4Sopenharmony_ci
1342da0c48c4Sopenharmony_ci2009-06-13  Ulrich Drepper  <drepper@redhat.com>
1343da0c48c4Sopenharmony_ci
1344da0c48c4Sopenharmony_ci	* Makefile.am (libelf_a_SOURCES): Replace elf_getshnum.c and
1345da0c48c4Sopenharmony_ci	elf_getshstrndx.c with elf_getshdrnum.c and elf_getshdrstrndx.c.
1346da0c48c4Sopenharmony_ci	* elf_getshnum.c: Renamed to...
1347da0c48c4Sopenharmony_ci	* elf_getshdrnum.c: ...this.  Rename function and add old name as
1348da0c48c4Sopenharmony_ci	alias.  Likewise for internal functions with derived names.
1349da0c48c4Sopenharmony_ci	* elf_getshstrndx.c: Renamed to...
1350da0c48c4Sopenharmony_ci	* elf_getshdrstrndx.c: ...this.  Rename function and add old name as
1351da0c48c4Sopenharmony_ci	alias.  Likewise for internal functions with derived names.
1352da0c48c4Sopenharmony_ci	* libelf.h: Add prototypes for new names.  Make old names as
1353da0c48c4Sopenharmony_ci	deprecated.
1354da0c48c4Sopenharmony_ci	* libelfP.h: Rename internal function prototypes.
1355da0c48c4Sopenharmony_ci	* libelf.map: Export for names.
1356da0c48c4Sopenharmony_ci	* elf32_checksum.c: Don't use deprecated functions.
1357da0c48c4Sopenharmony_ci	* elf32_getshdr.c: Likewise.
1358da0c48c4Sopenharmony_ci
1359da0c48c4Sopenharmony_ci2009-06-01  Ulrich Drepper  <drepper@redhat.com>
1360da0c48c4Sopenharmony_ci
1361da0c48c4Sopenharmony_ci	* elf.h: Update from glibc.
1362da0c48c4Sopenharmony_ci
1363da0c48c4Sopenharmony_ci2009-04-14  Roland McGrath  <roland@redhat.com>
1364da0c48c4Sopenharmony_ci
1365da0c48c4Sopenharmony_ci	* elf.h: Update from glibc.
1366da0c48c4Sopenharmony_ci
1367da0c48c4Sopenharmony_ci2009-04-01  Roland McGrath  <roland@redhat.com>
1368da0c48c4Sopenharmony_ci
1369da0c48c4Sopenharmony_ci	* elf.h: Update from glibc.
1370da0c48c4Sopenharmony_ci
1371da0c48c4Sopenharmony_ci2009-02-10  Ulrich Drepper  <drepper@redhat.com>
1372da0c48c4Sopenharmony_ci
1373da0c48c4Sopenharmony_ci	* elf32_updatefile.c (updatefile): For the zeroth section we still
1374da0c48c4Sopenharmony_ci	have to copy the section header.
1375da0c48c4Sopenharmony_ci
1376da0c48c4Sopenharmony_ci2009-02-01  Ulrich Drepper  <drepper@redhat.com>
1377da0c48c4Sopenharmony_ci
1378da0c48c4Sopenharmony_ci	* elf_strptr.c: Add comment re possible problem.
1379da0c48c4Sopenharmony_ci
1380da0c48c4Sopenharmony_ci2009-01-26  Ulrich Drepper  <drepper@redhat.com>
1381da0c48c4Sopenharmony_ci
1382da0c48c4Sopenharmony_ci	* elf32_updatenull.c (updatenull_wrlock): Fix comment of
1383da0c48c4Sopenharmony_ci	ELF_F_LAYOUT behaviour re section header table.
1384da0c48c4Sopenharmony_ci
1385da0c48c4Sopenharmony_ci2009-01-22  Ulrich Drepper  <drepper@redhat.com>
1386da0c48c4Sopenharmony_ci
1387da0c48c4Sopenharmony_ci	* elf32_updatefile.c (__elfXX_updatemmap): Fill the gap between
1388da0c48c4Sopenharmony_ci	sections even if only the section at the start of the gap has been
1389da0c48c4Sopenharmony_ci	changed.
1390da0c48c4Sopenharmony_ci	(__elfXX_updatefile): Likewise.
1391da0c48c4Sopenharmony_ci
1392da0c48c4Sopenharmony_ci2009-01-21  Ulrich Drepper  <drepper@redhat.com>
1393da0c48c4Sopenharmony_ci
1394da0c48c4Sopenharmony_ci	* elf32_updatefile.c (__elfXX_updatemmap): Skip most of the loop to
1395da0c48c4Sopenharmony_ci	handle sections for NOBITS sections.
1396da0c48c4Sopenharmony_ci	(elfXX_updatefile): Likewise.
1397da0c48c4Sopenharmony_ci
1398da0c48c4Sopenharmony_ci	* elf32_updatefile.c (__elfXX_updatemmap): When skipping non-NOBITS
1399da0c48c4Sopenharmony_ci	sections we haven't loaded, update last_position based on scn_start,
1400da0c48c4Sopenharmony_ci	not based on old value.  Don't run the loop for the dummy section 0.
1401da0c48c4Sopenharmony_ci	(elfXX_updatefile): Don't run the loop for the dummy section 0.
1402da0c48c4Sopenharmony_ci
1403da0c48c4Sopenharmony_ci2009-01-10  Ulrich Drepper  <drepper@redhat.com>
1404da0c48c4Sopenharmony_ci
1405da0c48c4Sopenharmony_ci	* libelfP.h (_): We only have one translation domain, elfutils.
1406da0c48c4Sopenharmony_ci
1407da0c48c4Sopenharmony_ci	* Makefile.am: Use USE_LOCKS instead of USE_TLS.
1408da0c48c4Sopenharmony_ci	* elf_error.c: Always use __thread.  Remove all !USE_TLS code.
1409da0c48c4Sopenharmony_ci
1410da0c48c4Sopenharmony_ci2009-01-04  Roland McGrath  <roland@redhat.com>
1411da0c48c4Sopenharmony_ci
1412da0c48c4Sopenharmony_ci	* note_xlate.h (elf_cvt_note): Don't examine a size too small to
1413da0c48c4Sopenharmony_ci	container a note header.
1414da0c48c4Sopenharmony_ci
1415da0c48c4Sopenharmony_ci2008-12-11  Roland McGrath  <roland@redhat.com>
1416da0c48c4Sopenharmony_ci
1417da0c48c4Sopenharmony_ci	* elf32_updatefile.c (__elfw2(LIBELFBITS,updatemmap)): Handle
1418da0c48c4Sopenharmony_ci	placement offset going backwards, for out-of-order or overlapping
1419da0c48c4Sopenharmony_ci	(bogus) sh_offset layouts.  It's a dumb use, but should not crash.
1420da0c48c4Sopenharmony_ci	(__elfw2(LIBELFBITS,updatefile)): Likewise.
1421da0c48c4Sopenharmony_ci	Fixes RHBZ#476136.
1422da0c48c4Sopenharmony_ci
1423da0c48c4Sopenharmony_ci	* libelf.h (Elf_Data): Whitespace fix.
1424da0c48c4Sopenharmony_ci
1425da0c48c4Sopenharmony_ci2008-12-10  Roland McGrath  <roland@redhat.com>
1426da0c48c4Sopenharmony_ci
1427da0c48c4Sopenharmony_ci	* elf_getarhdr.c (elf_getarhdr): Fix missing rename in last change.
1428da0c48c4Sopenharmony_ci
1429da0c48c4Sopenharmony_ci2008-10-22  Petr Machata  <pmachata@redhat.com>
1430da0c48c4Sopenharmony_ci
1431da0c48c4Sopenharmony_ci	* elf_rawfile.c (elf_rawfile): Lock around elf-> references.
1432da0c48c4Sopenharmony_ci
1433da0c48c4Sopenharmony_ci2008-10-21  Petr Machata  <pmachata@redhat.com>
1434da0c48c4Sopenharmony_ci
1435da0c48c4Sopenharmony_ci	* libelfP.h: Rename getehdr_rdlock to getehdr_wrlock.
1436da0c48c4Sopenharmony_ci	* elf32_getehdr.c (getehdr_rdlock): Move the code to new function
1437da0c48c4Sopenharmony_ci	getehdr_impl and make it a wrapper.  Rename to getehdr_wrlock.
1438da0c48c4Sopenharmony_ci	(getehdr_impl): Guard elf->class init with wrlock.
1439da0c48c4Sopenharmony_ci	(getehdr): Also make it a wrapper of getehdr_impl.
1440da0c48c4Sopenharmony_ci	* elf32_updatenull.c (updatenull_wrlock): Call getehdr_wrlock.
1441da0c48c4Sopenharmony_ci
1442da0c48c4Sopenharmony_ci2008-10-20  Petr Machata  <pmachata@redhat.com>
1443da0c48c4Sopenharmony_ci
1444da0c48c4Sopenharmony_ci	* elf_getdata_rawchunk.c (elf_getdata_rawchunk): Lock around the
1445da0c48c4Sopenharmony_ci	code that reads mutable elf state.  Relock to write lock to chain
1446da0c48c4Sopenharmony_ci	the new chunk on the elf rawchunks list.
1447da0c48c4Sopenharmony_ci
1448da0c48c4Sopenharmony_ci2008-10-20  Petr Machata  <pmachata@redhat.com>
1449da0c48c4Sopenharmony_ci
1450da0c48c4Sopenharmony_ci	* elf32_checksum.c (checksum): Place a lock around the code that
1451da0c48c4Sopenharmony_ci	processes data.  Make it wrlock if the code needs to xlate the
1452da0c48c4Sopenharmony_ci	data before processing.
1453da0c48c4Sopenharmony_ci
1454da0c48c4Sopenharmony_ci2008-10-16  Petr Machata  <pmachata@redhat.com>
1455da0c48c4Sopenharmony_ci
1456da0c48c4Sopenharmony_ci	* elf_begin.c
1457da0c48c4Sopenharmony_ci	(__libelf_next_arhdr): Rename to __libelf_next_arhdr_wrlock.
1458da0c48c4Sopenharmony_ci	(dup_elf): Adjust the call.
1459da0c48c4Sopenharmony_ci	(elf_begin): New local function lock_dup_elf.  Relocks the elf if
1460da0c48c4Sopenharmony_ci	necessary before calling dup.  Call this instead of dup_elf.
1461da0c48c4Sopenharmony_ci	* elf_getarhdr.c
1462da0c48c4Sopenharmony_ci	(elf_getarhdr): Lock before calling __libelf_next_arhdr_wrlock.
1463da0c48c4Sopenharmony_ci	* elf_next.c (elf_next): Likewise.
1464da0c48c4Sopenharmony_ci	* elf_rand.c (elf_rand): Likewise.
1465da0c48c4Sopenharmony_ci
1466da0c48c4Sopenharmony_ci2008-10-14  Petr Machata  <pmachata@redhat.com>
1467da0c48c4Sopenharmony_ci
1468da0c48c4Sopenharmony_ci	* elf_getdata.c (__elf_getdata_rdlock): Lock before converting.
1469da0c48c4Sopenharmony_ci
1470da0c48c4Sopenharmony_ci2008-11-26  Roland McGrath  <roland@redhat.com>
1471da0c48c4Sopenharmony_ci
1472da0c48c4Sopenharmony_ci	* elf.h: Update from glibc.
1473da0c48c4Sopenharmony_ci
1474da0c48c4Sopenharmony_ci2008-10-06  Roland McGrath  <roland@redhat.com>
1475da0c48c4Sopenharmony_ci
1476da0c48c4Sopenharmony_ci	* elf_getarhdr.c (elf_getarhdr): Return NULL when passed NULL.
1477da0c48c4Sopenharmony_ci
1478da0c48c4Sopenharmony_ci2008-08-27  Roland McGrath  <roland@redhat.com>
1479da0c48c4Sopenharmony_ci
1480da0c48c4Sopenharmony_ci	* elf_begin.c (get_shnum): Avoid misaligned reads for matching endian.
1481da0c48c4Sopenharmony_ci
1482da0c48c4Sopenharmony_ci	* libelfP.h [!ALLOW_UNALIGNED] (__libelf_type_align): Fix CLASS index.
1483da0c48c4Sopenharmony_ci
1484da0c48c4Sopenharmony_ci2008-08-25  Roland McGrath  <roland@redhat.com>
1485da0c48c4Sopenharmony_ci
1486da0c48c4Sopenharmony_ci	* Makefile.am (libelf_so_LDLIBS): New variable.
1487da0c48c4Sopenharmony_ci	(libelf.so): Use it in the link.
1488da0c48c4Sopenharmony_ci
1489da0c48c4Sopenharmony_ci2008-08-21  Petr Machata  <pmachata@redhat.com>
1490da0c48c4Sopenharmony_ci
1491da0c48c4Sopenharmony_ci	* elf_getdata.c, libelfP.h
1492da0c48c4Sopenharmony_ci	(__elf_getdata_internal): Rename to __elf_getdata_rdlock.
1493da0c48c4Sopenharmony_ci	(__libelf_set_rawdata_wrlock): New function.
1494da0c48c4Sopenharmony_ci	(__libelf_set_rawdata): Make it a wrapper that calls *_wrlock.
1495da0c48c4Sopenharmony_ci	* elf32_updatenull.c, libelfP.h
1496da0c48c4Sopenharmony_ci	(__elfNN_updatenull): Rename to __elfNN_updatenull_wrlock.
1497da0c48c4Sopenharmony_ci
1498da0c48c4Sopenharmony_ci2008-08-21  Petr Machata  <pmachata@redhat.com>
1499da0c48c4Sopenharmony_ci
1500da0c48c4Sopenharmony_ci	* elf32_getphdr.c, libelfP.h
1501da0c48c4Sopenharmony_ci	(__elfNN_getphdr_internal): Drop.  Move __elfNN_getphdr_internal
1502da0c48c4Sopenharmony_ci	code to __elfNN_getphdr_wrlock.
1503da0c48c4Sopenharmony_ci	(__elfNN_getphdr_rdlock, __elfNN_getphdr_wrlock): New functions.
1504da0c48c4Sopenharmony_ci	(__elfNN_getphdr_rdlock, __elfNN_getphdr_wrlock): Make these
1505da0c48c4Sopenharmony_ci	wrappers of getphdr_impl.
1506da0c48c4Sopenharmony_ci
1507da0c48c4Sopenharmony_ci2008-08-21  Petr Machata  <pmachata@redhat.com>
1508da0c48c4Sopenharmony_ci
1509da0c48c4Sopenharmony_ci	* elf32_getehdr.c, libelfP.h
1510da0c48c4Sopenharmony_ci	(__elfNN_getehdr_internal): Rename to __elfNN_getehdr_rdlock.
1511da0c48c4Sopenharmony_ci	* gelf_getehdr, libelfP.h:
1512da0c48c4Sopenharmony_ci	(__gelf_getehdr_internal): Rename to __gelf_getehdr_rdlock.
1513da0c48c4Sopenharmony_ci
1514da0c48c4Sopenharmony_ci2008-08-21  Petr Machata  <pmachata@redhat.com>
1515da0c48c4Sopenharmony_ci
1516da0c48c4Sopenharmony_ci	* elf32_getshdr.c
1517da0c48c4Sopenharmony_ci	(__elfNN_getshdr_internal): Drop.
1518da0c48c4Sopenharmony_ci	(load_shdr_wrlock, scn_valid): New functions, contain bits of
1519da0c48c4Sopenharmony_ci	behaviour from __elfNN_getshdr_internal.
1520da0c48c4Sopenharmony_ci	(__elfNN_getshdr_rdlock, __elfNN_getshdr_wrlock): Replacements for
1521da0c48c4Sopenharmony_ci	dropped _internal functions above.
1522da0c48c4Sopenharmony_ci	* elf_getshnum.c
1523da0c48c4Sopenharmony_ci	(__elf_getshnum_internal): Rename to __elf_getshnum_rdlock.
1524da0c48c4Sopenharmony_ci
1525da0c48c4Sopenharmony_ci2008-08-04  Petr Machata  <pmachata@redhat.com>
1526da0c48c4Sopenharmony_ci
1527da0c48c4Sopenharmony_ci	* libelfP.h (RWLOCK_RDLOCK, RWLOCK_WRLOCK, RWLOCK_UNLOCK): New macros.
1528da0c48c4Sopenharmony_ci
1529da0c48c4Sopenharmony_ci2008-07-28  Roland McGrath  <roland@redhat.com>
1530da0c48c4Sopenharmony_ci
1531da0c48c4Sopenharmony_ci	* elf.h: Update from glibc.
1532da0c48c4Sopenharmony_ci
1533da0c48c4Sopenharmony_ci2008-03-31  Roland McGrath  <roland@redhat.com>
1534da0c48c4Sopenharmony_ci
1535da0c48c4Sopenharmony_ci	* elf32_offscn.c: Make sure shdrs have been read in.
1536da0c48c4Sopenharmony_ci
1537da0c48c4Sopenharmony_ci2008-02-19  Roland McGrath  <roland@redhat.com>
1538da0c48c4Sopenharmony_ci
1539da0c48c4Sopenharmony_ci	* elf.h: Update from glibc.
1540da0c48c4Sopenharmony_ci
1541da0c48c4Sopenharmony_ci2008-02-08  Roland McGrath  <roland@redhat.com>
1542da0c48c4Sopenharmony_ci
1543da0c48c4Sopenharmony_ci	* elf.h: Update from glibc.
1544da0c48c4Sopenharmony_ci
1545da0c48c4Sopenharmony_ci2008-01-31  Ulrich Drepper  <drepper@redhat.com>
1546da0c48c4Sopenharmony_ci
1547da0c48c4Sopenharmony_ci	* elf_strptr.c (elf_strptr): Don't fail if the ELF file is currently
1548da0c48c4Sopenharmony_ci	under construction and no raw data can be read from disk.
1549da0c48c4Sopenharmony_ci
1550da0c48c4Sopenharmony_ci2008-01-30  Roland McGrath  <roland@redhat.com>
1551da0c48c4Sopenharmony_ci
1552da0c48c4Sopenharmony_ci	* elf.h: Update from glibc.
1553da0c48c4Sopenharmony_ci
1554da0c48c4Sopenharmony_ci2008-01-26  Roland McGrath  <roland@redhat.com>
1555da0c48c4Sopenharmony_ci
1556da0c48c4Sopenharmony_ci	* elf_begin.c (__libelf_next_arhdr): Rewrite conversions using a macro.
1557da0c48c4Sopenharmony_ci	Fixes various pastos in wrong type in sizeof, wrong string parsed.
1558da0c48c4Sopenharmony_ci
1559da0c48c4Sopenharmony_ci2008-01-20  Roland McGrath  <roland@redhat.com>
1560da0c48c4Sopenharmony_ci
1561da0c48c4Sopenharmony_ci	* elf_getaroff.c: Calculate from start_offset, instead of using
1562da0c48c4Sopenharmony_ci	parent's state.ar.offset field.
1563da0c48c4Sopenharmony_ci
1564da0c48c4Sopenharmony_ci2008-01-08  Roland McGrath  <roland@redhat.com>
1565da0c48c4Sopenharmony_ci
1566da0c48c4Sopenharmony_ci	* Makefile.am (euinclude): Variable removed.
1567da0c48c4Sopenharmony_ci	(pkginclude_HEADERS): Set this instead of euinclude_HEADERS.
1568da0c48c4Sopenharmony_ci
1569da0c48c4Sopenharmony_ci2008-01-03  Roland McGrath  <roland@redhat.com>
1570da0c48c4Sopenharmony_ci
1571da0c48c4Sopenharmony_ci	* common.h: Add __attribute__ ((unused)) to static functions.
1572da0c48c4Sopenharmony_ci
1573da0c48c4Sopenharmony_ci2007-12-20  Ulrich Drepper  <drepper@redhat.com>
1574da0c48c4Sopenharmony_ci
1575da0c48c4Sopenharmony_ci	* Makefile.am (libelf_a_SOURCES): Add elf_scnshndx.
1576da0c48c4Sopenharmony_ci	* libelfP.h (struct Elf_Scn): Add shndx_index field.
1577da0c48c4Sopenharmony_ci	Declare __elf_scnshndx_internal.
1578da0c48c4Sopenharmony_ci	* elf32_getshdr.c: Record location of extended section header.
1579da0c48c4Sopenharmony_ci	* elf_begin.c (file_read_elf): Likewise.
1580da0c48c4Sopenharmony_ci	* elf_scnshndx.c: New file.
1581da0c48c4Sopenharmony_ci	* libelf.h: Declare elf_scnshndx.
1582da0c48c4Sopenharmony_ci	* libelf.map: Add elf_scnshndx to version ELFUTILS_1.4.
1583da0c48c4Sopenharmony_ci
1584da0c48c4Sopenharmony_ci2007-11-12  Roland McGrath  <roland@redhat.com>
1585da0c48c4Sopenharmony_ci
1586da0c48c4Sopenharmony_ci	* libelf.h: Replace off64_t with loff_t throughout.
1587da0c48c4Sopenharmony_ci	Only that type name is unconditionally defined by <sys/types.h>
1588da0c48c4Sopenharmony_ci
1589da0c48c4Sopenharmony_ci2007-11-03  Roland McGrath  <roland@redhat.com>
1590da0c48c4Sopenharmony_ci
1591da0c48c4Sopenharmony_ci	* libelf.h (Elf_Data): Comment fix.
1592da0c48c4Sopenharmony_ci
1593da0c48c4Sopenharmony_ci2007-10-18  Roland McGrath  <roland@redhat.com>
1594da0c48c4Sopenharmony_ci
1595da0c48c4Sopenharmony_ci	* elf.h: Update from glibc.
1596da0c48c4Sopenharmony_ci
1597da0c48c4Sopenharmony_ci2007-10-07  Roland McGrath  <roland@redhat.com>
1598da0c48c4Sopenharmony_ci
1599da0c48c4Sopenharmony_ci	* elf_begin.c (__libelf_next_arhdr): Fix fencepost error and wrong
1600da0c48c4Sopenharmony_ci	member access in terminating name with no trailing /.  Trim trailing
1601da0c48c4Sopenharmony_ci	spaces when there is no /.
1602da0c48c4Sopenharmony_ci
1603da0c48c4Sopenharmony_ci2007-10-04  Roland McGrath  <roland@redhat.com>
1604da0c48c4Sopenharmony_ci
1605da0c48c4Sopenharmony_ci	* elf_end.c (elf_end): Don't free ELF->state.ar.ar_sym when it's -1l.
1606da0c48c4Sopenharmony_ci
1607da0c48c4Sopenharmony_ci2007-10-03  Roland McGrath  <roland@redhat.com>
1608da0c48c4Sopenharmony_ci
1609da0c48c4Sopenharmony_ci	* libelf.h (Elf_Data): Use off64_t for d_off.
1610da0c48c4Sopenharmony_ci	(Elf_Arhdr): Use off64_t for ar_size.
1611da0c48c4Sopenharmony_ci	(elf_update, elf_getbase, elf_getaroff): Return off64_t.
1612da0c48c4Sopenharmony_ci
1613da0c48c4Sopenharmony_ci	* gelf_rawchunk.c: File removed.
1614da0c48c4Sopenharmony_ci	* gelf_freechunk.c: File removed.
1615da0c48c4Sopenharmony_ci	* Makefile.am (libelf_a_SOURCES): Remove them.
1616da0c48c4Sopenharmony_ci	* libelf.map (ELFUTILS_1.0): Remove exports.
1617da0c48c4Sopenharmony_ci	* gelf.h: Remove decls.
1618da0c48c4Sopenharmony_ci
1619da0c48c4Sopenharmony_ci	* elf_getdata_rawchunk.c: New file.
1620da0c48c4Sopenharmony_ci	* Makefile.am (libelf_a_SOURCES): Add it.
1621da0c48c4Sopenharmony_ci	* libelf.map (ELFUTILS_1.3): Add elf_getdata_rawchunk.
1622da0c48c4Sopenharmony_ci	* libelf.h: Declare it.
1623da0c48c4Sopenharmony_ci	* libelfP.h (Elf_Data_Chunk): New type.
1624da0c48c4Sopenharmony_ci	(struct Elf.elf): New member `rawchunks'.
1625da0c48c4Sopenharmony_ci	* elf_end.c (elf_end): Free recorded rawchunk buffers.
1626da0c48c4Sopenharmony_ci
1627da0c48c4Sopenharmony_ci2007-08-24  Roland McGrath  <roland@redhat.com>
1628da0c48c4Sopenharmony_ci
1629da0c48c4Sopenharmony_ci	* gelf_getnote.c: New file.
1630da0c48c4Sopenharmony_ci	* Makefile.am (libelf_a_SOURCES): Add it.
1631da0c48c4Sopenharmony_ci	* gelf.h: Declare gelf_getnote.
1632da0c48c4Sopenharmony_ci	* libelf.map (ELFUTILS_1.3): Add gelf_getnote.
1633da0c48c4Sopenharmony_ci
1634da0c48c4Sopenharmony_ci	* libelfP.h (NOTE_ALIGN): New macro.
1635da0c48c4Sopenharmony_ci	* note_xlate.h: New file.
1636da0c48c4Sopenharmony_ci	* Makefile.am (noinst_HEADERS): Add it.
1637da0c48c4Sopenharmony_ci	* gelf_xlate.c: Include it.
1638da0c48c4Sopenharmony_ci	(__elf_xfctstom): Use elf_cvt_note.
1639da0c48c4Sopenharmony_ci	* elf_getdata.c (shtype_map, __libelf_type_align): Handle SHT_NOTE.
1640da0c48c4Sopenharmony_ci	(__libelf_set_rawdata): Likewise.
1641da0c48c4Sopenharmony_ci
1642da0c48c4Sopenharmony_ci2007-08-19  Roland McGrath  <roland@redhat.com>
1643da0c48c4Sopenharmony_ci
1644da0c48c4Sopenharmony_ci	* gelf_update_auxv.c: New file.
1645da0c48c4Sopenharmony_ci	* gelf_getauxv.c: New file.
1646da0c48c4Sopenharmony_ci	* Makefile.am (libelf_a_SOURCES): Add them.
1647da0c48c4Sopenharmony_ci	* gelf.h: Declare gelf_getauxv, gelf_update_auxv.
1648da0c48c4Sopenharmony_ci	* libelf.map (ELFUTILS_1.3): New set, inherits fom ELFUTILS_1.2.
1649da0c48c4Sopenharmony_ci	Export gelf_getauxv, gelf_update_auxv.
1650da0c48c4Sopenharmony_ci
1651da0c48c4Sopenharmony_ci	* libelf.h (Elf_Type): Add ELF_T_AUXV.
1652da0c48c4Sopenharmony_ci	* abstract.h: Add auxv_t entries.
1653da0c48c4Sopenharmony_ci	* exttypes.h: Likewise.
1654da0c48c4Sopenharmony_ci	* gelf_xlate.h: Likewise.
1655da0c48c4Sopenharmony_ci	* gelf_xlate.c (__elf_xfctstom): Add ELF_T_AUXV entries.
1656da0c48c4Sopenharmony_ci	* gelf_fsize.c (__libelf_type_sizes): Likewise.
1657da0c48c4Sopenharmony_ci
1658da0c48c4Sopenharmony_ci2007-08-12  Roland McGrath  <roland@redhat.com>
1659da0c48c4Sopenharmony_ci
1660da0c48c4Sopenharmony_ci	* elf32_updatefile.c (compare_sections): Sort secondarily on sh_size,
1661da0c48c4Sopenharmony_ci	and only tertiarily on index.
1662da0c48c4Sopenharmony_ci
1663da0c48c4Sopenharmony_ci2007-07-09  Roland McGrath  <roland@redhat.com>
1664da0c48c4Sopenharmony_ci
1665da0c48c4Sopenharmony_ci	* elf.h: Update from glibc.
1666da0c48c4Sopenharmony_ci
1667da0c48c4Sopenharmony_ci2007-04-22  Roland McGrath  <roland@redhat.com>
1668da0c48c4Sopenharmony_ci
1669da0c48c4Sopenharmony_ci	* elf.h: Update from glibc.
1670da0c48c4Sopenharmony_ci
1671da0c48c4Sopenharmony_ci2007-03-18  Roland McGrath  <roland@redhat.com>
1672da0c48c4Sopenharmony_ci
1673da0c48c4Sopenharmony_ci	* elf_begin.c (get_shnum): Fix test for e_shoff being out of bounds.
1674da0c48c4Sopenharmony_ci	Return zero when the section headers do not fit within MAXSIZE.
1675da0c48c4Sopenharmony_ci
1676da0c48c4Sopenharmony_ci2007-03-09  Roland McGrath  <roland@redhat.com>
1677da0c48c4Sopenharmony_ci
1678da0c48c4Sopenharmony_ci	* libelfP.h (LIBELF_EV_IDX): New macro.
1679da0c48c4Sopenharmony_ci	(__libelf_type_align): New macro.
1680da0c48c4Sopenharmony_ci	[! ALLOW_UNALIGNED]: Declare __libc_type_aligns array.
1681da0c48c4Sopenharmony_ci	* elf_getdata.c (shtype_map): Convert to just Elf_Type[][].
1682da0c48c4Sopenharmony_ci	(convert_data, __libelf_set_rawdata): Use that, __libelf_type_align,
1683da0c48c4Sopenharmony_ci	and __libelf_type_sizes, in place of old table.
1684da0c48c4Sopenharmony_ci	(__libc_type_aligns): New const variable.
1685da0c48c4Sopenharmony_ci
1686da0c48c4Sopenharmony_ci2007-02-04  Ulrich Drepper  <drepper@redhat.com>
1687da0c48c4Sopenharmony_ci
1688da0c48c4Sopenharmony_ci	* Makefile (libelf.so): Build with -z relro.
1689da0c48c4Sopenharmony_ci
1690da0c48c4Sopenharmony_ci	* elf_begin.c (read_file): When using ELF_C_READ_MMAP use MAP_PRIVATE.
1691da0c48c4Sopenharmony_ci
1692da0c48c4Sopenharmony_ci2007-01-30  Ulrich Drepper  <drepper@redhat.com>
1693da0c48c4Sopenharmony_ci
1694da0c48c4Sopenharmony_ci	* nlist.c: Close file descriptor before returning.
1695da0c48c4Sopenharmony_ci
1696da0c48c4Sopenharmony_ci2007-01-20  Roland McGrath  <roland@redhat.com>
1697da0c48c4Sopenharmony_ci
1698da0c48c4Sopenharmony_ci	* gnuhash_xlate.h (elf_cvt_gnuhash): Fix fence-post error so we
1699da0c48c4Sopenharmony_ci	convert the final word.
1700da0c48c4Sopenharmony_ci
1701da0c48c4Sopenharmony_ci	* elf32_getshdr.c: Don't byteswap shdr fields when EI_DATA matches
1702da0c48c4Sopenharmony_ci	MY_ELFDATA on !ALLOW_UNALIGNED machines.
1703da0c48c4Sopenharmony_ci
1704da0c48c4Sopenharmony_ci2007-01-18  Roland McGrath  <roland@redhat.com>
1705da0c48c4Sopenharmony_ci
1706da0c48c4Sopenharmony_ci	* gelf_rawchunk.c (gelf_rawchunk): Clear RESULT pointer after freeing
1707da0c48c4Sopenharmony_ci	it on read error.
1708da0c48c4Sopenharmony_ci
1709da0c48c4Sopenharmony_ci2006-10-13  Roland McGrath  <roland@redhat.com>
1710da0c48c4Sopenharmony_ci
1711da0c48c4Sopenharmony_ci	* elf32_updatenull.c: Look for and accept phdr also for ET_CORE.
1712da0c48c4Sopenharmony_ci	* elf_error.c (msgstr): Change ELF_E_INVALID_PHDR string.
1713da0c48c4Sopenharmony_ci
1714da0c48c4Sopenharmony_ci2006-08-29  Roland McGrath  <roland@redhat.com>
1715da0c48c4Sopenharmony_ci
1716da0c48c4Sopenharmony_ci	* elf32_getphdr.c: Don't byteswap phdr fields when EI_DATA matches
1717da0c48c4Sopenharmony_ci	MY_ELFDATA on !ALLOW_UNALIGNED machines.
1718da0c48c4Sopenharmony_ci	Reported by Christian Aichinger <Greek0@gmx.net>.
1719da0c48c4Sopenharmony_ci
1720da0c48c4Sopenharmony_ci	* Makefile.am (CLEANFILES): Add libelf.so.$(VERSION).
1721da0c48c4Sopenharmony_ci
1722da0c48c4Sopenharmony_ci2006-08-08  Ulrich Drepper  <drepper@redhat.com>
1723da0c48c4Sopenharmony_ci
1724da0c48c4Sopenharmony_ci	* elf.h (DT_VALNUM): Update.
1725da0c48c4Sopenharmony_ci	(DT_ADDRNUM): Likewise.
1726da0c48c4Sopenharmony_ci
1727da0c48c4Sopenharmony_ci2006-07-12  Ulrich Drepper  <drepper@redhat.com>
1728da0c48c4Sopenharmony_ci
1729da0c48c4Sopenharmony_ci	* elf32_updatefile.c: Adjust for internal_function_def removal.
1730da0c48c4Sopenharmony_ci	* elf32_updatenull.c: Likewise.
1731da0c48c4Sopenharmony_ci	* elf_begin.c: Likewise.
1732da0c48c4Sopenharmony_ci	* elf_getdata.c: Likewise.
1733da0c48c4Sopenharmony_ci
1734da0c48c4Sopenharmony_ci2006-07-11  Ulrich Drepper  <drepper@redhat.com>
1735da0c48c4Sopenharmony_ci
1736da0c48c4Sopenharmony_ci	* libelf.h: Define ELF_T_GNUHASH.
1737da0c48c4Sopenharmony_ci	* elf_getdata.c (TYPEIDX): Handle SHT_GNU_HASH.
1738da0c48c4Sopenharmony_ci	(shtype_map): Add SHT_GNU_HASH entries.
1739da0c48c4Sopenharmony_ci	* gelf_xlate.c (__elf_xfctstom): Add ELF_T_GNUHASH entries.
1740da0c48c4Sopenharmony_ci	* gnuhash_xlate.h: New file.
1741da0c48c4Sopenharmony_ci	* Makefile.am (noinst_HEADERS): Add gnuhash_xlate.h.
1742da0c48c4Sopenharmony_ci
1743da0c48c4Sopenharmony_ci2006-07-06  Ulrich Drepper  <drepper@redhat.com>
1744da0c48c4Sopenharmony_ci
1745da0c48c4Sopenharmony_ci	* elf_gnu_hash.c: New file.
1746da0c48c4Sopenharmony_ci	* libelf.h: Declare elf_gnu_hash.
1747da0c48c4Sopenharmony_ci	* Makefile.am (libelf_a_SOURCES): Add elf_gnu_hash.
1748da0c48c4Sopenharmony_ci	* libelf.map: Add elf_gnu_map for version ELFUTILS_1.2.
1749da0c48c4Sopenharmony_ci
1750da0c48c4Sopenharmony_ci2006-06-15  Roland McGrath  <roland@redhat.com>
1751da0c48c4Sopenharmony_ci
1752da0c48c4Sopenharmony_ci	* libelf.h (elf_getarsym): Fix comment typo.
1753da0c48c4Sopenharmony_ci	Rename second parameter to be more explanatory.
1754da0c48c4Sopenharmony_ci	(elf_getident, elf_rawhide): Likewise.
1755da0c48c4Sopenharmony_ci
1756da0c48c4Sopenharmony_ci2006-05-28  Ulrich Drepper  <drepper@redhat.com>
1757da0c48c4Sopenharmony_ci
1758da0c48c4Sopenharmony_ci	* elf32_updatefile.c (updatemmap): Preserve section content if
1759da0c48c4Sopenharmony_ci	copying would overwrite them.
1760da0c48c4Sopenharmony_ci	Fix msync paramters.
1761da0c48c4Sopenharmony_ci
1762da0c48c4Sopenharmony_ci2006-04-04  Roland McGrath  <roland@redhat.com>
1763da0c48c4Sopenharmony_ci
1764da0c48c4Sopenharmony_ci	* elf32_updatefile.c (updatemmap): Handle other-endian case.
1765da0c48c4Sopenharmony_ci
1766da0c48c4Sopenharmony_ci2006-04-04  Ulrich Drepper  <drepper@redhat.com>
1767da0c48c4Sopenharmony_ci
1768da0c48c4Sopenharmony_ci	* elf32_updatefile.c (updatemmap): Cleanups.  Remove shdr_dest
1769da0c48c4Sopenharmony_ci	variable.  Before writing sections, make a copy of the section
1770da0c48c4Sopenharmony_ci	header data if necessary.  Don't write section header while
1771da0c48c4Sopenharmony_ci	writing the section constent, it might overwrite some sections.
1772da0c48c4Sopenharmony_ci	Restore the pointer afterwards.
1773da0c48c4Sopenharmony_ci	* elf32_updatenull.c (updatenull): If the offset of a section in a
1774da0c48c4Sopenharmony_ci	file changed make sure we read the section so that it'll be written
1775da0c48c4Sopenharmony_ci	out.
1776da0c48c4Sopenharmony_ci
1777da0c48c4Sopenharmony_ci	* elf_update.c: Remove debug message.
1778da0c48c4Sopenharmony_ci
1779da0c48c4Sopenharmony_ci2005-12-07  Roland McGrath  <roland@redhat.com>
1780da0c48c4Sopenharmony_ci
1781da0c48c4Sopenharmony_ci	* gelf_xlate.c [! ALLOW_UNALIGNED] (union unaligned): New type.
1782da0c48c4Sopenharmony_ci	(FETCH, STORE): New macros.
1783da0c48c4Sopenharmony_ci	(INLINE3): Use those to do alignment-friendly conversion.
1784da0c48c4Sopenharmony_ci
1785da0c48c4Sopenharmony_ci	* elf32_getshdr.c: Include map_address and start_offset in alignment
1786da0c48c4Sopenharmony_ci	calculations.
1787da0c48c4Sopenharmony_ci	* elf32_getphdr.c: Likewise.
1788da0c48c4Sopenharmony_ci
1789da0c48c4Sopenharmony_ci2005-11-19  Roland McGrath  <roland@redhat.com>
1790da0c48c4Sopenharmony_ci
1791da0c48c4Sopenharmony_ci	* elf.h: Update from glibc.
1792da0c48c4Sopenharmony_ci
1793da0c48c4Sopenharmony_ci2005-11-17  Roland McGrath  <roland@redhat.com>
1794da0c48c4Sopenharmony_ci
1795da0c48c4Sopenharmony_ci	* elf.h: Update from glibc.
1796da0c48c4Sopenharmony_ci
1797da0c48c4Sopenharmony_ci2005-11-10  Roland McGrath  <roland@redhat.com>
1798da0c48c4Sopenharmony_ci
1799da0c48c4Sopenharmony_ci	* elf.h: Update from glibc.
1800da0c48c4Sopenharmony_ci
1801da0c48c4Sopenharmony_ci2005-09-09  Roland McGrath  <roland@redhat.com>
1802da0c48c4Sopenharmony_ci
1803da0c48c4Sopenharmony_ci	* elf_update.c (write_file): Stat the file and fchmod it after update
1804da0c48c4Sopenharmony_ci	if its mode had S_ISUID or S_ISGID bits set.
1805da0c48c4Sopenharmony_ci
1806da0c48c4Sopenharmony_ci2005-08-28  Ulrich Drepper  <drepper@redhat.com>
1807da0c48c4Sopenharmony_ci
1808da0c48c4Sopenharmony_ci	* elf32_getphdr.c: Include <system.h>.  Use pread_retry instead of
1809da0c48c4Sopenharmony_ci	pread.  And branch prediction where useful.
1810da0c48c4Sopenharmony_ci	* elf_begin.c: Likewise.
1811da0c48c4Sopenharmony_ci	* elf_getdata.c: Likewise.
1812da0c48c4Sopenharmony_ci	* elf_getshstrndx.c: Likewise.
1813da0c48c4Sopenharmony_ci	* elf_readall.c: Likewise.
1814da0c48c4Sopenharmony_ci	* gelf_rawchunk.c: Likewise.
1815da0c48c4Sopenharmony_ci	* elf32_updatefile.c: Include <system.h>.  Use pread_retry instead of
1816da0c48c4Sopenharmony_ci	pread.  And branch prediction where useful.
1817da0c48c4Sopenharmony_ci	* elf_getarsym.c: Don't define pread_retry here.
1818da0c48c4Sopenharmony_ci
1819da0c48c4Sopenharmony_ci	* Makefile.am: Use $(LINK) not $(CC) when creating DSO.
1820da0c48c4Sopenharmony_ci	(%.os): Use COMPILE.os.
1821da0c48c4Sopenharmony_ci	(COMPILE.os): Filter out gconv options.
1822da0c48c4Sopenharmony_ci
1823da0c48c4Sopenharmony_ci2005-08-27  Ulrich Drepper  <drepper@redhat.com>
1824da0c48c4Sopenharmony_ci
1825da0c48c4Sopenharmony_ci	* elf_begin.c (file_read_elf): Avoid reading ELF header from file
1826da0c48c4Sopenharmony_ci	again.  Instead accept additional parameter which points to it if we
1827da0c48c4Sopenharmony_ci	don't use mmap.
1828da0c48c4Sopenharmony_ci	(get_shnum): Use passed in e_ident value as source of ELF header.
1829da0c48c4Sopenharmony_ci
1830da0c48c4Sopenharmony_ci2005-08-15  Ulrich Drepper  <drepper@redhat.com>
1831da0c48c4Sopenharmony_ci
1832da0c48c4Sopenharmony_ci	* elf_begin.c (__libelf_next_arhdr): Use TEMP_FAILURE_RETRY.
1833da0c48c4Sopenharmony_ci
1834da0c48c4Sopenharmony_ci	* Makefile (libelf_a_SOURCES): Add elf_getaroff.c.
1835da0c48c4Sopenharmony_ci	* libelf.map: Export elf_getaroff.
1836da0c48c4Sopenharmony_ci	* libelf.h: Declare elf_getaroff.
1837da0c48c4Sopenharmony_ci	* elf_getaroff.c: New file.
1838da0c48c4Sopenharmony_ci
1839da0c48c4Sopenharmony_ci2005-08-13  Ulrich Drepper  <drepper@redhat.com>
1840da0c48c4Sopenharmony_ci
1841da0c48c4Sopenharmony_ci	* elf_begin.c (get_shnum): Optimize memory handling.  Always read from
1842da0c48c4Sopenharmony_ci	mapped file if available.  Fix access to 64-bit sh_size.  Recognize
1843da0c48c4Sopenharmony_ci	overflow.
1844da0c48c4Sopenharmony_ci	(file_read_elf): Likewise.
1845da0c48c4Sopenharmony_ci
1846da0c48c4Sopenharmony_ci2005-08-12  Roland McGrath  <roland@redhat.com>
1847da0c48c4Sopenharmony_ci
1848da0c48c4Sopenharmony_ci	* elf32_offscn.c: Do not match empty sections at OFFSET unless
1849da0c48c4Sopenharmony_ci	there are no nonempty sections at that offset.
1850da0c48c4Sopenharmony_ci
1851da0c48c4Sopenharmony_ci2005-08-07  Ulrich Drepper  <drepper@redhat.com>
1852da0c48c4Sopenharmony_ci
1853da0c48c4Sopenharmony_ci	* elf.h: Update from glibc.
1854da0c48c4Sopenharmony_ci
1855da0c48c4Sopenharmony_ci2005-08-06  Ulrich Drepper  <drepper@redhat.com>
1856da0c48c4Sopenharmony_ci
1857da0c48c4Sopenharmony_ci	* Makefile.am (AM_CFLAGS): Add -fpic when BUILD_STATIC.
1858da0c48c4Sopenharmony_ci
1859da0c48c4Sopenharmony_ci2005-08-03  Ulrich Drepper  <drepper@redhat.com>
1860da0c48c4Sopenharmony_ci
1861da0c48c4Sopenharmony_ci	* libelf.map: Move elf32_offscn, elf64_offscn, and gelf_offscn in
1862da0c48c4Sopenharmony_ci	new version ELFUTILS_1.1.1.
1863da0c48c4Sopenharmony_ci
1864da0c48c4Sopenharmony_ci2005-08-02  Ulrich Drepper  <drepper@redhat.com>
1865da0c48c4Sopenharmony_ci
1866da0c48c4Sopenharmony_ci	* elf_error.c: Add handling of ELF_E_INVALID_OFFSET.
1867da0c48c4Sopenharmony_ci	* elf32_offscn.c: New file.
1868da0c48c4Sopenharmony_ci	* elf64_offscn.c: New file.
1869da0c48c4Sopenharmony_ci	* gelf_offscn.c: New file.
1870da0c48c4Sopenharmony_ci	* Makefile.am (libelf_a_SOURCES): Add elf32_offscn.c, elf64_offscn.c,
1871da0c48c4Sopenharmony_ci	and gelf_offscn.c.
1872da0c48c4Sopenharmony_ci	* libelf.sym: Export new symbols.
1873da0c48c4Sopenharmony_ci
1874da0c48c4Sopenharmony_ci2005-07-23  Ulrich Drepper  <drepper@redhat.com>
1875da0c48c4Sopenharmony_ci
1876da0c48c4Sopenharmony_ci	* elf-knowledge.h (SECTION_STRIP_P): Don't handle removal of debug
1877da0c48c4Sopenharmony_ci	sections here anymore.
1878da0c48c4Sopenharmony_ci	* elf32_checksum.c: Adjust for change in SECTION_STRIP_P interface.
1879da0c48c4Sopenharmony_ci
1880da0c48c4Sopenharmony_ci	* elf_update.c (elf_update): Get write lock, not read lock.
1881da0c48c4Sopenharmony_ci
1882da0c48c4Sopenharmony_ci	* elf32_updatenull.c (updatenull): Get section headers if necessary
1883da0c48c4Sopenharmony_ci	and possible.
1884da0c48c4Sopenharmony_ci
1885da0c48c4Sopenharmony_ci2005-07-22  Ulrich Drepper  <drepper@redhat.com>
1886da0c48c4Sopenharmony_ci
1887da0c48c4Sopenharmony_ci	* elf32_updatenull.c (updatenull): If program header hasn't been loaded
1888da0c48c4Sopenharmony_ci	yet, try to do it now.
1889da0c48c4Sopenharmony_ci	Don't unnecessarily update overflow of section count in zeroth section
1890da0c48c4Sopenharmony_ci	sh_size field.
1891da0c48c4Sopenharmony_ci	If section content hasn't been read yet, do it before looking for the
1892da0c48c4Sopenharmony_ci	block size.  If no section data present, infer size of section header.
1893da0c48c4Sopenharmony_ci
1894da0c48c4Sopenharmony_ci2005-05-11  Ulrich Drepper  <drepper@redhat.com>
1895da0c48c4Sopenharmony_ci
1896da0c48c4Sopenharmony_ci	* elf.h: Update again.
1897da0c48c4Sopenharmony_ci
1898da0c48c4Sopenharmony_ci2005-05-09  Ulrich Drepper  <drepper@redhat.com>
1899da0c48c4Sopenharmony_ci
1900da0c48c4Sopenharmony_ci	* elf.h: Update from glibc.
1901da0c48c4Sopenharmony_ci
1902da0c48c4Sopenharmony_ci2005-05-08  Roland McGrath  <roland@redhat.com>
1903da0c48c4Sopenharmony_ci
1904da0c48c4Sopenharmony_ci	* elf_begin.c (read_file) [_MUDFLAP]: Don't use mmap for now.
1905da0c48c4Sopenharmony_ci	* elf_update.c (write_file) [_MUDFLAP]: Likewise.
1906da0c48c4Sopenharmony_ci
1907da0c48c4Sopenharmony_ci2005-03-29  Ulrich Drepper  <drepper@redhat.com>
1908da0c48c4Sopenharmony_ci
1909da0c48c4Sopenharmony_ci	* elf32_checksum.c: Use INTUSE and INTDEF to avoid PLTs.
1910da0c48c4Sopenharmony_ci	* elf_end.c: Likewise.
1911da0c48c4Sopenharmony_ci	* elf_getdata.c: Likewise.
1912da0c48c4Sopenharmony_ci	* gelf_getehdr.c: Likewise.
1913da0c48c4Sopenharmony_ci	* nlist.c: Likewise.
1914da0c48c4Sopenharmony_ci	* libelfP.h: Add declarations of internal functions.
1915da0c48c4Sopenharmony_ci
1916da0c48c4Sopenharmony_ci2005-02-15  Ulrich Drepper  <drepper@redhat.com>
1917da0c48c4Sopenharmony_ci
1918da0c48c4Sopenharmony_ci	* common.h (CONVERT): Make sure all values are unsigned.
1919da0c48c4Sopenharmony_ci	(CONVERT_TO): Likewise.
1920da0c48c4Sopenharmony_ci
1921da0c48c4Sopenharmony_ci	* Makefile.am (AM_CFLAGS): Add -Wformat=2.
1922da0c48c4Sopenharmony_ci	Fix rule to build libelf.so.
1923da0c48c4Sopenharmony_ci
1924da0c48c4Sopenharmony_ci2005-02-06  Ulrich Drepper  <drepper@redhat.com>
1925da0c48c4Sopenharmony_ci
1926da0c48c4Sopenharmony_ci	* Makefile.am: Cleanup AM_CFLAGS handling.  Add -Wunused -Wextra.
1927da0c48c4Sopenharmony_ci	Remove lint handling.
1928da0c48c4Sopenharmony_ci	* elf32_getphdr.c: Minor cleanups.
1929da0c48c4Sopenharmony_ci	* elf32_getshdr.c: Likewise.
1930da0c48c4Sopenharmony_ci	* elf32_updatefile.c: Likewise.
1931da0c48c4Sopenharmony_ci	* elf32_updatenull.c: Likewise.
1932da0c48c4Sopenharmony_ci	* elf_begin.c: Likewise.
1933da0c48c4Sopenharmony_ci	* elf_error.c: Likewise.
1934da0c48c4Sopenharmony_ci	* elf_getarsym.c: Likewise.
1935da0c48c4Sopenharmony_ci	* elf_getdata.c: Likewise.
1936da0c48c4Sopenharmony_ci	* elf_update.c: Likewise.
1937da0c48c4Sopenharmony_ci	* gelf_xlate.c: Likewise.
1938da0c48c4Sopenharmony_ci
1939da0c48c4Sopenharmony_ci2005-02-05  Ulrich Drepper  <drepper@redhat.com>
1940da0c48c4Sopenharmony_ci
1941da0c48c4Sopenharmony_ci	* Makefile.am: Check for text relocations in constructed DSO.
1942da0c48c4Sopenharmony_ci
1943da0c48c4Sopenharmony_ci	* Makefile.am [MUDFLAP] (AM_CFLAGS): Add -Werror -fpic -fmudflap.
1944da0c48c4Sopenharmony_ci
1945da0c48c4Sopenharmony_ci2005-02-04  Ulrich Drepper  <drepper@redhat.com>
1946da0c48c4Sopenharmony_ci
1947da0c48c4Sopenharmony_ci	* gelf_getehdr.c (gelf_getehdr): Slight optimization.
1948da0c48c4Sopenharmony_ci
1949da0c48c4Sopenharmony_ci	* elf32_checksum.c (checksum): Do not look at NOBITS sections.
1950da0c48c4Sopenharmony_ci
1951da0c48c4Sopenharmony_ci	* gelf.h: Add gelf_checksum prototype.
1952da0c48c4Sopenharmony_ci
1953da0c48c4Sopenharmony_ci2004-09-25  Ulrich Drepper  <drepper@redhat.com>
1954da0c48c4Sopenharmony_ci
1955da0c48c4Sopenharmony_ci	* elf32_checksum.c: Make compile with gcc 4.0.
1956da0c48c4Sopenharmony_ci	* elf32_updatefile.c: Likewise.
1957da0c48c4Sopenharmony_ci	* elf32_updatenull.c: Likewise.
1958da0c48c4Sopenharmony_ci	* elf_begin.c: Likewise.
1959da0c48c4Sopenharmony_ci	* elf_error.c: Likewise.
1960da0c48c4Sopenharmony_ci	* elf_getdata.c: Likewise.
1961da0c48c4Sopenharmony_ci	* elf_getident.c: Likewise.
1962da0c48c4Sopenharmony_ci
1963da0c48c4Sopenharmony_ci2004-04-01  Ulrich Drepper  <drepper@redhat.com>
1964da0c48c4Sopenharmony_ci
1965da0c48c4Sopenharmony_ci	* elf.h: Update from glibc.
1966da0c48c4Sopenharmony_ci
1967da0c48c4Sopenharmony_ci2004-01-23  Ulrich Drepper  <drepper@redhat.com>
1968da0c48c4Sopenharmony_ci
1969da0c48c4Sopenharmony_ci	* elf_update.c: Fix locking.
1970da0c48c4Sopenharmony_ci	* elf_clone.c: Likewise.
1971da0c48c4Sopenharmony_ci
1972da0c48c4Sopenharmony_ci	* libelf.h: Define ELF_T_LIB.
1973da0c48c4Sopenharmony_ci	* gelf_getlib.c: New file.
1974da0c48c4Sopenharmony_ci	* gelf_update_lib.c: New file.
1975da0c48c4Sopenharmony_ci	* gelf.h: Declare the new functions.  Define GElf_Lib.
1976da0c48c4Sopenharmony_ci	* abstract.h: Define Lib, Lib32, Lib64.
1977da0c48c4Sopenharmony_ci	* gelf_xlate.c (__elf_xfctstom): Add ELF_T_LIB entry.
1978da0c48c4Sopenharmony_ci	* gelf_xlate.h: Add entry for ElfXX_Lib.
1979da0c48c4Sopenharmony_ci	* elf_getdata.c: Recognize SHT_GNU_LIBLIST as a known section type.
1980da0c48c4Sopenharmony_ci	* libelf.map: Add new symbols to ELFUTILS_1.1.
1981da0c48c4Sopenharmony_ci	* Makefile.am (libelf_a_SOURCES): Add gelf_getlib.c and
1982da0c48c4Sopenharmony_ci	gelf_update_lib.c.
1983da0c48c4Sopenharmony_ci
1984da0c48c4Sopenharmony_ci2004-01-17  Ulrich Drepper  <drepper@redhat.com>
1985da0c48c4Sopenharmony_ci
1986da0c48c4Sopenharmony_ci	* Makefile.am: Support building with mudflap.
1987da0c48c4Sopenharmony_ci
1988da0c48c4Sopenharmony_ci	* gelf_xlate.c (INLINE3): Avoid using cast as lvalue.
1989da0c48c4Sopenharmony_ci	* dl-hash.h (_dl_elf_hash): Likewise.
1990da0c48c4Sopenharmony_ci
1991da0c48c4Sopenharmony_ci2004-01-05  Ulrich Drepper  <drepper@redhat.com>
1992da0c48c4Sopenharmony_ci
1993da0c48c4Sopenharmony_ci	* elf-knowledge.h: New file.  From libelf subdir.
1994da0c48c4Sopenharmony_ci	* Makefile.am (euincludedir): Define.
1995da0c48c4Sopenharmony_ci	(euinclude_HEADERS): Add elf-knowledge.h.
1996da0c48c4Sopenharmony_ci
1997da0c48c4Sopenharmony_ci2003-09-24  Ulrich Drepper  <drepper@redhat.com>
1998da0c48c4Sopenharmony_ci
1999da0c48c4Sopenharmony_ci	* elf.h: Define some PT_IA_64_HP_* constants.
2000da0c48c4Sopenharmony_ci
2001da0c48c4Sopenharmony_ci2003-09-23  Jakub Jelinek  <jakub@redhat.com>
2002da0c48c4Sopenharmony_ci
2003da0c48c4Sopenharmony_ci	* libelfP.h (struct Elf): Move state.elf64.sizestr_offset after
2004da0c48c4Sopenharmony_ci	state.elf64.scnincr to match state.elf{,32}.
2005da0c48c4Sopenharmony_ci
2006da0c48c4Sopenharmony_ci2003-08-12  Ulrich Drepper  <drepper@redhat.com>
2007da0c48c4Sopenharmony_ci
2008da0c48c4Sopenharmony_ci	* elf32_updatefile.c (__updatemmap): When writing back file where
2009da0c48c4Sopenharmony_ci	some sections have not been read in, count their sizes based on
2010da0c48c4Sopenharmony_ci	the section header.
2011da0c48c4Sopenharmony_ci
2012da0c48c4Sopenharmony_ci2003-08-11  Ulrich Drepper  <drepper@redhat.com>
2013da0c48c4Sopenharmony_ci
2014da0c48c4Sopenharmony_ci	* Moved to CVS archive.
2015