blob: fc6bdd569001623cb5a9f1db23a9db0a6fddd741 [file] [log] [blame]
Mark Wielaard159ac522013-12-18 11:05:54 +010012013-12-18 Mark Wielaard <mjw@redhat.com>
2
3 * Makefile.am (gen_SOURCES): Add eblresolvesym.c.
4 * ebl-hooks.h (resolve_sym_value): New entry.
5 * eblresolvesym.c: New file.
6 * libebl.h (ebl_resolve_sym_value): New definition.
7 * libeblP.h (fd_addr): New field.
8 (fd_data): Likewise.
9
Jan Kratochvilc6a41482013-12-17 18:49:54 +0100102013-12-18 Jan Kratochvil <jan.kratochvil@redhat.com>
11
12 unwinder: s390 and s390x
13 * Makefile.am (gen_SOURCES): Add eblnormalizepc.c and eblunwind.c.
14 * ebl-hooks.h (normalize_pc, unwind): New.
15 * eblnormalizepc.c: New file.
16 * eblunwind.c: New file.
17 * libebl.h (Ebl_Register_Location): Add field pc_register.
18 (ebl_normalize_pc): New declaration.
19 (ebl_tid_registers_get_t, ebl_pid_memory_read_t): New definitions.
20 (ebl_unwind): New declaration.
21
Jan Kratochvil5cbf42a2013-12-15 18:56:17 +0100222013-12-15 Jan Kratochvil <jan.kratochvil@redhat.com>
23
24 unwinder: ppc and ppc64
25 * Makefile.am (gen_SOURCES): Add ebldwarftoregno.c.
26 * ebl-hooks.h (dwarf_to_regno): New.
27 * ebldwarftoregno.c: New file.
28 * libebl.h (Ebl_Core_Item): New field pc_register.
29 (ebl_tid_registers_t): Add FIRSTREG -1 to the comment.
30 (ebl_dwarf_to_regno): New.
31
Petr Machata98c8a732013-11-26 03:10:31 +0100322013-11-25 Petr Machata <pmachata@redhat.com>
33
34 * eblopenbackend.c (machines): Add entry for AArch64.
35
Jan Kratochvil1c1a53b2013-11-14 20:55:41 +0100362013-11-14 Jan Kratochvil <jan.kratochvil@redhat.com>
37
38 Code cleanup: Remove const in prototype
39 * libebl.h (ebl_tid_registers_t): Remove const from firstreg.
40
Jan Kratochvil0b867462013-05-30 14:37:38 +0200412013-11-07 Jan Kratochvil <jan.kratochvil@redhat.com>
42 Mark Wielaard <mjw@redhat.com>
43
44 * Makefile.am (gen_SOURCES): Add eblinitreg.c.
45 * ebl-hooks.h (set_initial_registers_tid): New entry.
46 * eblinitreg.c: New file.
47 * libebl.h (ebl_tid_registers_t): New definition.
48 (ebl_set_initial_registers_tid, ebl_frame_nregs): New declarations.
49 * libeblP.h (struct ebl): New entry frame_nregs.
50
Mark Wielaard3dec3e12013-10-06 17:04:07 +0200512013-10-06 Mark Wielaard <mjw@redhat.com>
52
53 * libebl.h (ebl_abi_cfi): Document restrictions using register
54 rules.
55
Petr Machatab43bcfe2013-09-26 00:38:37 +0200562013-09-26 Petr Machata <pmachata@redhat.com>
57
58 * eblcorenotetypename.c: Handle NT_ARM_TLS, NT_ARM_HW_BREAK,
59 NT_ARM_HW_WATCH, NT_SIGINFO, NT_FILE.
60
Mark Wielaard2cfec292013-09-25 13:02:53 +0200612013-09-25 Mark Wielaard <mjw@redhat.com>
62
63 * eblsectionstripp.c (ebl_section_strip_p): Check shdr_l is not NULL.
64
Mark Wielaardcdaaf212013-04-25 16:50:11 -0400652013-04-24 Mark Wielaard <mjw@redhat.com>
66
67 * Makefile.am: Use AM_CPPFLAGS instead of INCLUDES.
68
Jan Kratochvil0631d1f2012-10-12 20:43:21 +0200692012-10-12 Jan Kratochvil <jan.kratochvil@redhat.com>
70
71 * ebl-hooks.h (abi_cfi): Extend its comment for return value.
72 * eblopenbackend.c (default_abi_cfi): Return -1.
73 * libebl.h (ebl_abi_cfi): Extend its comment for return value.
74
Petr Machata96896012012-08-30 16:01:02 +0200752012-08-30 Petr Machata <pmachata@redhat.com>
76
77 * eblcorenotetypename.c: Handle PPC_VSX, X86_XSTATE,
78 S390_HIGH_GPRS, S390_TIMER, S390_TODCMP, S390_TODPREG, S390_CTRS,
79 S390_PREFIX, S390_LAST_BREAK, S390_SYSTEM_CALL, and ARM_VFP.
80
Jeff Kenton257dcf42012-08-22 09:00:03 -0400812012-08-22 Jeff Kenton <jkenton@tilera.com>
82
83 * eblopenbackend.c (machines): Add tilegx.
84
Mark Wielaarda0172d72012-06-25 17:18:53 +0200852011-06-26 Mark Wielaard <mjw@redhat.com>
86
87 * eblopenbackend.c (default_debugscn_p): Add .debug_macro.
88
Mark Wielaardbb9d1b42011-04-24 17:53:38 +0200892011-04-26 Mark Wielaard <mjw@redhat.com>
90
91 * libebl.h (ebl_object_note_type_name): Add const char *name arg.
92 * eblhooks.h (object_note_type_name): Likewise.
93 * eblopenbackend.c (default_object_note_type_name): Likewise.
94 * eblobjnotetypename.c (ebl_object_note_type_name): Likewise.
95 And print version if name is "stapsdt".
96 * eblobjnote.c (ebl_object_note): Add output for "stapsdt" notes.
97
Marek Polacekcde0b272011-03-21 23:46:56 +0100982011-03-21 Marek Polacek <mpolacek@redhat.com>
99
100 * ebldynamictagname.c: Fix typo in TLSDESC_GOT.
101
Mark Wielaarda062b6b2011-03-10 13:02:32 +01001022011-03-10 Mark Wielaard <mjw@redhat.com>
103
104 * Makefile.am (gen_SOURCES): Add eblstother.c.
105 * eblstother.c: New file.
106 * ebl-hooks.h: Add check_st_other_bits hook.
107 * eblopenbackend.c (default_check_st_other_bits): New function.
108 (fill_defaults): Hook default_check_st_other_bits.
109 * libebl.h (ebl_check_st_other_bits): New prototype.
110
Roland McGrath804e9ca2010-07-07 16:06:12 -07001112010-07-07 Roland McGrath <roland@redhat.com>
112
113 * eblopenbackend.c (default_debugscn_p): Match .gdb_index section.
114
Roland McGrath22359e22010-02-15 15:57:03 -08001152010-02-15 Roland McGrath <roland@redhat.com>
116
117 * Makefile.am: Use config/eu.am for common stuff.
118
Roland McGrath0ccbbcd2010-01-04 21:59:07 -08001192010-01-04 Roland McGrath <roland@redhat.com>
120
121 * eblcorenote.c (ebl_core_note): Take GElf_Nhdr * and name data
122 pointer instead of only n_type and n_descsz.
123 * libebl.h: Update declaration.
124 * ebl-hooks.h: Update core_note hook signature.
125 * eblopenbackend.c (default_core_note): Likewise.
126
Roland McGrathf80c9072009-10-14 12:35:47 -07001272009-10-14 Roland McGrath <roland@redhat.com>
128
129 * eblobjnote.c (ebl_object_note): Clean up NT_GNU_GOLD_VERSION printing.
130
Roland McGratha14b4eb2009-10-05 11:32:26 -07001312009-10-05 Roland McGrath <roland@redhat.com>
132
133 * eblopenbackend.c (default_debugscn_p): Match .debug_pubtypes and
134 .debug_types too.
135
Petr Machatad3a8b2d2009-09-02 20:46:08 +02001362009-09-02 Petr Machata <pmachata@redhat.com>
137
138 * libebl/eblstrtab.c (morememory): Allocate memory in multiples of
139 pagesize.
140
Petr Machata077a7082009-08-06 18:45:08 +02001412009-08-06 Petr Machata <pmachata@redhat.com>
142
143 * libebl/eblstrtab.c (ebl_strtabfinalize): Only call copystrings
144 if we have any strings to copy.
145
Mark Wielaardbc1b92e2009-07-26 08:33:18 -07001462009-07-26 Mark Wielaard <mjw@redhat.com>
147
Mark Wielaard2f5b79e2009-07-26 14:49:26 -0700148 * eblobjnote.c (ebl_object_note): Handle NT_GNU_GOLD_VERSION.
149
Mark Wielaardbc1b92e2009-07-26 08:33:18 -0700150 * eblobjnotetypename.c (ebl_object_note_type_name): Recognize
151 NT_GNU_GOLD_VERSION.
152
Roland McGrath3c84db32009-06-24 17:41:40 -07001532009-07-08 Roland McGrath <roland@redhat.com>
154
155 * ebl-hooks.h: Add abi_cfi hook.
156 * eblopenbackend.c (default_abi_cfi): New function.
157 (fill_defaults): Add initializer.
158 * eblabicfi.c: New file.
159 * Makefile.am (gen_SOURCES): Add it.
160 * libebl.h: Declare ebl_abi_cfi.
161
Ulrich Drepper70c442c2009-07-08 00:53:24 -07001622009-07-08 Ulrich Drepper <drepper@redhat.com>
163
164 * eblsymbolbindingname.c (ebl_symbol_binding_name): Handle
165 STB_GNU_UNIQUE.
166
167 * eblsymboltypename.c (ebl_symbol_type_name): Only handle STT_GNU_IFUNC
168 if the binary is marked as being for Linux.
169
Roland McGrathd5ff6672009-04-01 18:28:41 -07001702009-04-01 Roland McGrath <roland@redhat.com>
171
172 * eblsymboltypename.c (ebl_symbol_type_name): Add STT_GNU_IFUNC.
173
174 * eblauxvinfo.c (AUXV_TYPES): Add RANDOM and BASE_PLATFORM.
175
Ulrich Drepper95fa15e2009-02-01 19:06:10 -08001762009-02-01 Ulrich Drepper <drepper@redhat.com>
177
178 * eblreloctypename.c (ebl_reloc_type_name): Return "<INVALID RELOC>"
179 instead of "???" for invalid relocations.
180
Roland McGratha845f682008-12-03 03:41:58 +00001812008-08-01 Roland McGrath <roland@redhat.com>
182
183 * eblcorenotetypename.c: Handle NT_386_IOPERM.
184
Roland McGrath1d8bb252008-08-07 08:39:41 +00001852008-07-28 Roland McGrath <roland@redhat.com>
186
187 * eblauxvinfo.c (AUXV_TYPES): Add EXECFN.
188
189 * eblauxvinfo.c (ebl_auxv_info): Handle missing elements of standard
190 table.
191
1922008-07-04 Roland McGrath <roland@redhat.com>
193
194 * libebl.h: Declare ebl_syscall_abi.
195 * ebl_syscall_abi.c: New file.
196 * Makefile.am (gen_SOURCES): Add it.
197 * ebl-hooks.h: New hook syscall_abi.
198 * eblopenbackend.c (default_syscall_abi): New function.
199 (fill_defaults): Use it.
200
Roland McGrath13b69602008-04-01 02:30:05 +00002012008-03-31 Roland McGrath <roland@redhat.com>
202
203 * ebldynamictagname.c (ebl_dynamic_tag_name): Use hex for unknown tag.
204
205 * ebl-hooks.h: Add check_special_section hook.
206 * eblopenbackend.c (fill_defaults): Set new hook to ...
207 (default_check_special_section): ... this, new function.
208 * ebl_check_special_section.c: New file.
209 * Makefile.am (gen_SOURCES): Add it.
210 * libebl.h: Declare it.
211
Roland McGrath059c83e2008-02-21 06:19:39 +00002122008-02-20 Roland McGrath <roland@redhat.com>
213
214 * libebl.h: Declare ebl_check_object_attribute.
215 * eblcheckobjattr.c: New file.
216 * Makefile.am (gen_SOURCES): Add it.
217 * ebl-hooks.h: Add check_object_attribute hook.
218 * eblopenbackend.c (default_check_object_attribute): New function.
219 (fill_defaults): Initialize pointer to it.
220
2212008-02-19 Roland McGrath <roland@redhat.com>
222
223 * eblsectiontypename.c (ebl_section_type_name):
224 Handle SHT_GNU_ATTRIBUTES.
225
2262008-02-08 Roland McGrath <roland@redhat.com>
227
228 * eblcorenotetypename.c (ebl_core_note_type_name): Handle NT_PPC_SPE.
229
2302008-01-30 Roland McGrath <roland@redhat.com>
231
232 * eblcorenotetypename.c (ebl_core_note_type_name): Handle NT_386_TLS.
233
Roland McGrathe4c22ea2007-10-23 13:07:39 +00002342007-10-18 Roland McGrath <roland@redhat.com>
235
236 * eblcorenotetypename.c (ebl_core_note_type_name): Handle NT_PPC_VMX.
237
Ulrich Drepperb597dfa2007-10-16 05:21:27 +00002382007-10-11 Roland McGrath <roland@redhat.com>
239
240 * eblobjnote.c (ebl_object_note): Translate target format (byte-swap)
241 for NT_GNU_ABI_TAG contents.
242
Roland McGrathcb6d8652007-08-23 08:10:54 +00002432007-08-22 Roland McGrath <roland@redhat.com>
244
245 * libebl.h (Ebl_Core_Item): New member `group'.
246
2472007-08-19 Roland McGrath <roland@redhat.com>
248
249 * ebl-hooks.h: Add new hook auxv_info.
250 * eblopenbackend.c (default_auxv_info): New function.
251 (fill_defaults): Initialize auxv_info hook.
252 * eblauxvinfo.c : New file.
253 * Makefile.am (gen_SOURCES): Add it.
254 * libebl.h: Declare ebl_auxv_info.
255
256 * eblcorenote.c: Rewritten with new signature.
257 * Makefile.am (gen_SOURCES): Add it.
258 * libebl.h (Ebl_Register_Location, Ebl_Core_Item): New types.
259 (ebl_core_note_info): Completely revamp signature.
260 * ebl-hooks.h: Update decl.
261 * eblopenbackend.c (default_core_note): Update signature.
262
Roland McGrath87d47802007-07-16 22:23:37 +00002632007-07-09 Roland McGrath <roland@redhat.com>
264
265 * eblobjnotetypename.c (ebl_object_note_type_name): Handle
266 NT_GNU_HWCAP, NT_GNU_BUILD_ID.
267
268 * eblobjnote.c (ebl_object_note): Handle NT_GNU_BUILD_ID.
269
Roland McGrath4be15242007-04-25 03:09:33 +00002702007-04-22 Roland McGrath <roland@redhat.com>
271
272 * eblcorenotetypename.c (ebl_core_note_type_name): Handle NT_PRXFPREG.
273
Ulrich Drepperc07fbb32007-03-30 19:14:59 +00002742007-03-10 Roland McGrath <roland@redhat.com>
275
276 * eblcorenote.c (ebl_core_note): For normally-zero types,
277 print in hex if not zero.
278
Ulrich Drepperaa915fd2007-02-05 07:25:33 +00002792007-01-11 Roland McGrath <roland@redhat.com>
280
281 * ebl-hooks.h (machine_section_flag_check): New hook.
282 * libebl.h: Declare ebl_machine_section_flag_check.
283 * eblmachinesectionflagcheck.c: New file.
284 * Makefile.am (gen_SOURCES): Add it.
285 * eblopenbackend.c (default_machine_section_flag_check): New function.
286 (fill_defaults): Use it.
287
Roland McGrathc373d852006-10-10 00:25:21 +00002882006-09-04 Roland McGrath <roland@redhat.com>
289
290 * ebl-hooks.h: Replace register_name hook with register_info.
291 Also yield natural bit width and base type encoding.
292 * eblopenbackend.c (default_register_name): Renamed
293 default_register_info, new args added.
294 (fill_defaults): Update initialization.
295 * eblregname.c: File renamed ...
296 * eblreginfo.c: ... to this.
297 (ebl_register_name): Renamed to ebl_register_info, new args added.
298 * libebl.h: Update decl.
299
300 * Makefile.am (gen_SOURCES): Update list.
301
Ulrich Drepper28ed8952006-07-07 03:43:47 +00003022006-07-06 Ulrich Drepper <drepper@redhat.com>
303
304 * ebldynamictagname.c: Add support for DT_GNU_HASH.
305 * ebldynamictagcheck.c: Likewise.
306 * eblsectiontypename.c: Add support for SHT_GNU_HASH.
307
3082006-07-05 Ulrich Drepper <drepper@redhat.com>
309
310 * Makefile.am (gen_SOURCES): Add eblsysvhashentrysize.c.
311 * libeblP.h (struct ebl): Add sysvhash_entrysize element.
312 * eblopenbackend.c (fill_defaults): Initialize sysvhash_entrysize.
313
314 * eblopenbackend.c (openbackend): If possible, fill machine, class,
315 and data values in from the ELF file.
316
3172006-07-04 Ulrich Drepper <drepper@redhat.com>
318
319 * Makefile.am (gen_SOURCES): Add eblrelativerelocp.c.
320 * eblrelativerelocp.c: New file.
321 * ebl-hooks.c: Add relative_reloc_p.
322 * eblopenbackend.c (default_relative_reloc_p): New function.
323 (fill_defaults): Hook it up.
324 * libebl.h: Declare ebl_relative_reloc_p.
325
Ulrich Drepper6ca46002006-06-12 22:40:23 +00003262006-06-12 Ulrich Drepper <drepper@redhat.com>
327
328 * Makefile.am (gen_SOURCES): Add eblnonerelocp.c.
329 * eblnonerelocp.c: New file.
330 * ebl-hooks.c: Add none_reloc_p.
331 * eblopenbackend.c (default_none_reloc_p): New function.
332 (fill_defaults): Hook it up.
333 * libebl.h: Declare ebl_none_reloc_p.
334
Ulrich Drepper41cbd762006-05-27 18:19:23 +00003352006-05-27 Ulrich Drepper <drepper@redhat.com>
336
337 * libebl.h: Add extern "C".
338
Roland McGrath994b4892005-12-05 22:46:21 +00003392005-11-25 Roland McGrath <roland@redhat.com>
340
341 * eblregname.c: New file.
342 * Makefile.am (gen_SOURCES): Add it.
343 * ebl-hooks.h: Declare register_name hook.
344 * libebl.h: Declare ebl_register_name.
345 * eblopenbackend.c (default_register_name): New function.
346 (fill_defaults): Use it.
347
Roland McGrath215c6322005-11-16 22:46:04 +00003482005-11-16 Roland McGrath <roland@redhat.com>
349
350 * libebl.h: Use "" for elf-knowledge.h, not <>.
351
Roland McGrathe47ab762005-11-17 03:16:00 +00003522005-11-15 Roland McGrath <roland@redhat.com>
353
354 * Makefile.am: Removed everything for building libebl_*.so modules,
355 now in ../backends/Makefile.am instead.
356 * alpha_init.c: Moved to ../backends.
357 * alpha_reloc.def: Likewise.
358 * alpha_retval.c: Likewise.
359 * alpha_symbol.c: Likewise.
360 * arm_init.c: Likewise.
361 * arm_reloc.def: Likewise.
362 * arm_symbol.c: Likewise.
363 * common-reloc.c: Likewise.
364 * i386_corenote.c: Likewise.
365 * i386_init.c: Likewise.
366 * i386_reloc.def: Likewise.
367 * i386_retval.c: Likewise.
368 * i386_symbol.c: Likewise.
369 * ia64_init.c: Likewise.
370 * ia64_reloc.def: Likewise.
371 * ia64_symbol.c: Likewise.
372 * libebl_CPU.h: Likewise.
373 * ppc64_init.c: Likewise.
374 * ppc64_reloc.def: Likewise.
375 * ppc64_retval.c: Likewise.
376 * ppc64_symbol.c: Likewise.
377 * ppc_init.c: Likewise.
378 * ppc_reloc.def: Likewise.
379 * ppc_retval.c: Likewise.
380 * ppc_symbol.c: Likewise.
381 * s390_init.c: Likewise.
382 * s390_reloc.def: Likewise.
383 * s390_symbol.c: Likewise.
384 * sh_init.c: Likewise.
385 * sh_reloc.def: Likewise.
386 * sh_symbol.c: Likewise.
387 * sparc_init.c: Likewise.
388 * sparc_reloc.def: Likewise.
389 * sparc_symbol.c: Likewise.
390 * x86_64_corenote.c: Likewise.
391 * x86_64_init.c: Likewise.
392 * x86_64_reloc.def: Likewise.
393 * x86_64_retval.c: Likewise.
394 * x86_64_symbol.c: Likewise.
395
396 * libebl.h: Comment fixes.
397
398 * alpha_retval.c: New file.
399 * Makefile.am (alpha_SRCS): Add it.
400 * alpha_init.c (alpha_init): Initialize return_value_location hook.
401
402 * ppc64_retval.c: New file.
403 * Makefile.am (ppc64_SRCS): Add it.
404 * ppc64_init.c (ppc64_init): Initialize return_value_location hook.
405
406 * ppc_retval.c: New file.
407 * Makefile.am (ppc_SRCS): Add it.
408 * ppc_init.c (ppc_init): Initialize return_value_location hook.
409
Roland McGrathcd60ea82005-11-16 01:57:40 +00004102005-11-14 Roland McGrath <roland@redhat.com>
411
412 * ia64_init.c (ia64_init): Initialize EH->reloc_simple_type.
413 * sh_init.c (sh_init): Likewise.
414 * x86_64_init.c (x86_64_init): Likewise.
415
416 * sparc_symbol.c (sparc_reloc_simple_type): New function.
417 * sparc_init.c (sparc_init): Use it.
418
419 * arm_symbol.c (arm_reloc_simple_type): New function.
420 * arm_init.c (arm_init): Use it.
421
422 * alpha_symbol.c (alpha_reloc_simple_type): New function.
423 * alpha_init.c (alpha_init): Use it.
424
425 * ia64_reloc.def: Update bits per H. J. Lu <hjl@lucon.org>.
426
427 * arm_reloc.def: Update bits per Daniel Jacobowitz <drow@false.org>.
428
429 * alpha_reloc.def: Update bits per Richard Henderson <rth@redhat.com>.
430
Roland McGrathe47ab762005-11-17 03:16:00 +00004312005-11-13 Roland McGrath <roland@redhat.com>
432
433 * x86_64_retval.c: New file.
434 * Makefile.am (x86_64_SRCS): Add it.
435 * x86_64_init.c (x86_64_init): Use x86_64_return_value_location.
436
437 * i386_retval.c: New file.
438 * Makefile.am (i386_SRCS): Add it.
439 (libdw): New variable.
440 (libebl_%.so): Use $(libdw) in link; use --as-needed.
441 * i386_init.c (i386_init): Use i386_return_value_location.
442
443 * eblretval.c: New file.
444 * Makefile.am (gen_SOURCES): Add it.
445 (INCLUDES): Search in libdw.
446 * libebl.h: Include <libdw.h>. Declare ebl_return_value_location.
447 * ebl-hooks.h: Declare return_value_location hook.
448 * eblopenbackend.c (default_return_value_location): New function.
449 (fill_defaults): Use it.
450
Roland McGrathcd60ea82005-11-16 01:57:40 +00004512005-11-10 Roland McGrath <roland@redhat.com>
452
453 * s390_init.c: New file.
454 * s390_reloc.def: New file.
455 * s390_symbol.c: New file.
456 * Makefile.am (modules, libebl_pic): Add s390.
457 (s390_SRCS, libebl_s390_pic_a_SOURCES): New variables.
458 (am_libebl_s390_pic_a_OBJECTS): New variable.
459
460 * ppc64_init.c: Use common-reloc.c.
461 * ppc64_symbol.c (ppc64_backend_name): Removed.
462 (ppc64_reloc_type_check, ppc64_reloc_type_name): Likewise.
463 (ppc64_copy_reloc_p, ppc64_reloc_valid_use): Likewise.
464
465 * ppc_init.c: Use common-reloc.c.
466 * ppc_symbol.c (ppc_backend_name): Removed.
467 (ppc_reloc_type_name, ppc_reloc_type_check): Likewise.
468 (ppc_reloc_valid_use, ppc_copy_reloc_p): Likewise.
469
470 * sparc_init.c: Use common-reloc.c.
471 * sparc_symbol.c (sparc_backend_name): Removed.
472 (sparc_reloc_type_name, sparc_reloc_type_check): Likewise.
473 (sparc_copy_reloc_p): Likewise.
474
475 * arm_init.c: Use common-reloc.c.
476 * arm_symbol.c (arm_backend_name): Removed.
477 (arm_reloc_type_name, arm_reloc_type_check, arm_copy_reloc_p): Removed.
478
479 * alpha_init.c: Use common-reloc.c.
480 * alpha_symbol.c (alpha_backend_name): Removed.
481 (alpha_reloc_type_name, alpha_reloc_type_check): Likewise.
482 (alpha_copy_reloc_p): Likewise.
483
484 * ia64_symbol.c (ia64_backend_name): Removed.
485 (ia64_reloc_type_name, ia64_reloc_type_check): Likewise.
486 (ia64_copy_reloc_p): Likewise.
487
488 * x86_64_init.c: Use common-reloc.c.
489 * x86_64_symbol.c (x86_64_backend_name): Removed.
490 (x86_64_copy_reloc_p, x86_64_reloc_valid_use): Likewise.
491 (x86_64_reloc_type_check, x86_64_reloc_type_name): Likewise.
492
493 * sh_init.c: Use common-reloc.c.
494 * sh_symbol.c: All functions removed.
495 (sh_reloc_simple_type): New function.
496 (sh_gotpc_reloc_check): New function.
497
498 * common-reloc.c: New file.
499 * Makefile.am (noinst_HEADERS): Add it.
500 * i386_init.c: Include it.
501
502 * sh_reloc.def: New file.
503 * i386_reloc.def: New file.
504 * alpha_reloc.def: New file.
505 * arm_reloc.def: New file.
506 * i386_reloc.def: New file.
507 * ia64_reloc.def: New file.
508 * ppc64_reloc.def: New file.
509 * ppc_reloc.def: New file.
510 * sh_reloc.def: New file.
511 * sparc_reloc.def: New file.
512 * x86_64_reloc.def: New file.
513 * Makefile.am (EXTRA_DIST): Add $(modules:=_reloc.def).
514
515 * libebl_alpha.map: Removed.
516 * libebl_ia64.map: Removed.
517 * libebl_ppc.map: Removed.
518 * libebl_sparc.map: Removed.
519 * libebl_arm.map: Removed.
520 * libebl_i386.map: Removed.
521 * libebl_ppc64.map: Removed.
522 * libebl_sh.map: Removed.
523 * libebl_x86_64.map: Removed.
524 * Makefile.am (EXTRA_DIST): Remove them.
525 (libebl_%.map, libebl_%.so): New pattern rules.
526
527 * libebl_alpha.h: Removed.
528 * libebl_ia64.h: Removed.
529 * libebl_ppc.h: Removed.
530 * libebl_sparc.h: Removed.
531 * libebl_arm.h: Removed.
532 * libebl_i386.h: Removed.
533 * libebl_ppc64.h: Removed.
534 * libebl_sh.h: Removed.
535 * libebl_x86_64.h: Removed.
536 * Makefile.am (noinst_HEADERS): Remove them.
537
538 * x86_64_corenote.c: Use libebl_CPU.h instead.
539 * x86_64_symbol.c: Likewise.
540 * i386_corenote.c: Likewise.
541
5422005-11-09 Roland McGrath <roland@redhat.com>
543
544 * ia64_symbol.c (ia64_reloc_simple_type): New function.
545
546 * ebl-hooks.h (reloc_simple_type): Take the Ebl handle, not Elf handle.
547 * eblrelocsimpletype.c (ebl_reloc_simple_type): Update caller.
548 * eblopenbackend.c (default_reloc_simple_type): Update signature.
549 * i386_symbol.c (i386_reloc_simple_type): Likewise.
550 * ppc64_symbol.c (ppc64_reloc_simple_type): Likewise.
551 * ppc_symbol.c (ppc_reloc_simple_type): Likewise.
552 * x86_64_symbol.c (x86_64_reloc_simple_type): Likewise.
553
554 * i386_symbol.c (i386_backend_name): Removed.
555 (i386_reloc_type_name, i386_reloc_type_check): Likewise.
556 (i386_reloc_valid_use): Removed.
557 (i386_copy_reloc_p): Removed.
558
559 * alpha_destr.c: Removed.
560 * arm_destr.c: Removed.
561 * i386_destr.c: Removed.
562 * ia64_destr.c: Removed.
563 * ppc64_destr.c: Removed.
564 * ppc_destr.c: Removed.
565 * sh_destr.c: Removed.
566 * sparc_destr.c: Removed.
567 * x86_64_destr.c: Removed.
568
569 * ebl-hooks.h: New file, broken out of ...
570 * libeblP.h (struct ebl): ... here. #include that for hook
571 declarations, after defining EBLHOOK macro.
572 * libebl_CPU.h: New file.
573 * Makefile.am (noinst_HEADERS): Add them.
574
575 * libeblP.h (struct ebl): Use uint_fast16_t for machine,
576 and uint_fast8_t for class and data.
577
5782005-08-14 Roland McGrath <roland@redhat.com>
579
580 * ia64_symbol.c (ia64_section_type_name): New function.
581 (ia64_dynamic_tag_check): New function.
582 (ia64_reloc_valid_use): New function.
583 * libebl_ia64.h: Declare them.
584 * ia64_init.c (ia64_init): Use them.
585 * Makefile.am (libebl_ia64.so): Link with libelf.
586
Ulrich Drepperfbe998a2005-08-29 16:27:10 +00005872005-08-28 Ulrich Drepper <drepper@redhat.com>
588
589 * Makefile.am: Use $(LINK) not $(CC) when creating DSOs.
590
Roland McGrathe53d04a2005-08-13 20:56:07 +00005912005-08-13 Roland McGrath <roland@redhat.com>
592
593 * ia64_symbol.c (ia64_machine_flag_check): New function.
594 * libebl_ia64.h: Declare it.
595 * ia64_init.c (ia64_init): Use it.
596
Ulrich Drepperc5c33a62005-08-13 17:50:47 +00005972005-08-13 Ulrich Drepper <drepper@redhat.com>
598
599 * libebl.h: Add ehdr parameter to ebl_bss_plt_p and
600 ebl_check_special_symbol.
601 * libeblP.h (struct ebl): Adjust callback functions.
602 * eblopenbackend.c: Adjust dummy functions.
603 * ebl_check_special_symbol.c: Add parameter and pass it on.
604 * eblbsspltp.c: Likewise.
605 * ppc_symbol.c (find_dyn_got): With ehdr passed, simplify search for
606 the dynamic section entry.
607 (ppc_check_special_symbol): Add ehdr parameter.
608 (ppc_bss_plt_p): Likewise.
609 * libebl_ppc.h: Adjust prototypes.
610 * ppc64_symbol.c (ppc_check_special_symbol): Add ehdr parameter.
611 (ppc_bss_plt_p): Likewise.
612 * libebl_ppc64.h: Adjust prototypes.
613
Roland McGrath653d3762005-08-13 01:59:10 +00006142005-08-12 Roland McGrath <roland@redhat.com>
615
Roland McGrathf8873cb2005-08-13 03:26:06 +0000616 * ppc_symbol.c (find_dyn_got): New function, broken out of ...
617 (ppc_bss_plt_p): ... here. Call that.
618 (ppc_check_special_symbol): Use find_dyn_got to fetch value to check
619 against _GLOBAL_OFFSET_TABLE_.
620
Roland McGrath653d3762005-08-13 01:59:10 +0000621 * libeblP.h (struct ebl): Add bss_plt_p hook.
622 * eblopenbackend.c (default_bss_plt_p): New function.
623 (fill_defaults): Use it.
624 * eblbsspltp.c: New file.
625 * Makefile.am (gen_SOURCES): Add it.
626 * libebl.h: Declare ebl_bss_plt_p.
627 * ppc_symbol.c (ppc_bss_plt_p): New function.
628 * libebl_ppc.h: Declare it.
629 * ppc_init.c (ppc_init): Use it.
630 * ppc64_symbol.c (ppc64_bss_plt_p): New function.
631 * libebl_ppc64.h: Declare it.
632 * ppc64_init.c (ppc64_init): Use it.
633
634 * ebl_check_special_symbol.c: New file.
635 * Makefile.am (gen_SOURCES): Add it.
636 * libebl.h: Declare ebl_check_special_symbol.
637 * libeblP.h (struct ebl): Add check_special_symbol hook.
638 * eblopenbackend.c (default_check_special_symbol): New function.
639 (fill_defaults): Use it.
640 * ppc_symbol.c (ppc_check_special_symbol): New function.
641 * libebl_ppc.h: Add prototype.
642 * ppc_init.c (ppc_init): Use it.
643 * ppc64_symbol.c (ppc64_check_special_symbol): New function.
644 * libebl_ppc64.h: Add prototype.
645 * ppc64_init.c (ppc64_init): Use it.
646
Ulrich Drepperb03b0572005-08-07 08:12:22 +00006472005-08-07 Ulrich Drepper <drepper@redhat.com>
648
649 * ppc_init.c: Add support for new DT_PPC_* and R_PPC_* values.
650 * ppc_symbol.c: Likewise.
651 * libebl_ppc.h: Likewise.
652 * ppc64_init.c: There is now also a dynamic_tag_check functions
653 * ppc64_symbol.c: Add dynamic_tag_check.
654 * libebl_ppc64.h: Add prototype.
655 * alpha_init.c: Add support for new DT_ALPHA_* value.
656 * alpha_symbol.c: Likewise.
657 * libebl_alpha.h: Likewise.
658
Ulrich Drepper6fcb3832005-08-03 21:10:49 +00006592005-08-03 Ulrich Drepper <drepper@redhat.com>
660
661 * libebl_alpha.map: Remove unnecessary exports.
662 * libebl_arm.map: Likewise.
663 * libebl_i386.map: Likewise.
664 * libebl_ia64.map: Likewise.
665 * libebl_ppc.map: Likewise.
666 * libebl_ppc64.map: Likewise.
667 * libebl_sh.map: Likewise.
668 * libebl_sparc.map: Likewise.
669 * libebl_x86_64.map: Likewise.
670
Ulrich Dreppera38998e2005-08-03 02:05:39 +00006712005-08-02 Ulrich Drepper <drepper@redhat.com>
672
673 * Makefile.am (libebl_a_SOURCES): Add eblelfclass.c, eblelfdata.c,
674 and eblelfmachine.c.
675 * elbopenbackend.c (machines): Add class and data fields. Initialize
676 them.
677 (ebl_openbackend): Initialize machine, class, data fields in result.
678 * libebl.h: Declare Add eblelfclass, eblelfdata, and eblelfmachine.
679 * libeblP.h (Ebl): Add machine, class, data fields.
680
Ulrich Drepperb08d5a82005-07-26 05:00:05 +00006812005-07-23 Ulrich Drepper <drepper@redhat.com>
682
683 * eblsectionstripp.c: New file.
684 * Makefile.am (gen_SOURCES): Add eblsectionstripp.c.
685 * i386_init.c (i386_init): Install specific debugscn_p callback.
686 * i386_symbol.c (i386_debugscn_p): New function.
687 * libebl.h: Declare ebl_section_strip_p.
688 * libebl_i386.h: Declare i386_debugscn_p.
689
690 * libebl.h: Move Ebl definition to...
691 * libeblP.h: ...here.
692
6932005-07-21 Roland McGrath <roland@redhat.com>
694
695 * Makefile.am (install-ebl-modules): New target, commands from ...
696 (install): ... here. Make this depend on it.
697 (LIBEBL_SUBDIR): New variable, substituted by configure.
698 (install-ebl-modules): Install in $(libdir)/$(LIBEBL_SUBDIR).
699 * eblopenbackend.c (openbackend): Use LIBEBL_SUBDIR in module name.
700
7012005-07-21 Ulrich Drepper <drepper@redhat.com>
702
703 * eblcopyrelocp.c: New file.
704 * Makefile.am (gen_SOURCES): Add eblcopyrelocp.c.
705 * libebl.h: Declare ebl_copy_reloc_p.
706 * eblopenbackend.c (fill_defaults): Fill in copy_reloc_p.
707 (default_copy_reloc_p): New function.
708 * alpha_init.c: Define and use arch-specific copy_reloc_p function.
709 * alpha_symbol.c: Likewise.
710 * arm_init.c: Likewise.
711 * arm_symbol.c: Likewise.
712 * i386_init.c: Likewise.
713 * i386_symbol.c: Likewise.
714 * ia64_init.c: Likewise.
715 * ia64_symbol.c: Likewise.
716 * ppc64_init.c: Likewise.
717 * ppc64_symbol.c: Likewise.
718 * ppc_init.c: Likewise.
719 * ppc_symbol.c: Likewise.
720 * sh_init.c: Likewise.
721 * sh_symbol.c: Likewise.
722 * sparc_init.c: Likewise.
723 * sparc_symbol.c: Likewise.
724 * x86_64_init.c: Likewise.
725 * x86_64_symbol.c: Likewise.
726 * libebl_alpha.h: Declare the copy_reloc_p function.
727 * libebl_arm.h: Likewise.
728 * libebl_i386.h: Likewise.
729 * libebl_ia64.h: Likewise.
730 * libebl_ppc.h: Likewise.
731 * libebl_ppc64.h: Likewise.
732 * libebl_sh.h: Likewise.
733 * libebl_sparc.h: Likewise.
734 * libebl_x86_64.h: Likewise.
735
7362005-05-31 Roland McGrath <roland@redhat.com>
737
738 * Makefile.am (libebl_*_so_SOURCES): Set to $(*_SRCS) so dependency
739 tracking works right.
740
7412005-05-21 Ulrich Drepper <drepper@redhat.com>
742
743 * libebl_x86_64.map: Add x86_64_core_note.
744
7452005-05-19 Roland McGrath <roland@redhat.com>
746
747 * libebl_i386.map: Add i386_reloc_valid_use, i386_reloc_simple_type.
748 * libebl_ppc.map: Add ppc_reloc_simple_type.
749 * libebl_ppc64.map: Add ppc64_reloc_simple_type.
750 * libebl_x86_64.map: Add x86_64_reloc_simple_type.
751
7522005-05-11 Ulrich Drepper <drepper@redhat.com>
753
754 * eblcorenote.c: Handle new AT_* values and files with different
755 endianess.
756 * Makefile.am (x86_64_SRCS): Add x86_64_corenote.c.
757 * x86-64_corenote.c: New file.
758 * x86_64_init.c: Hook in x86_64_corenote.
759 * i386_corenote.c: Make file usable on 64-bit platforms.
760
761 * eblopenbackend.c: If modules version comparison fails, reinitialize
762 hooks.
763
7642005-05-10 Ulrich Drepper <drepper@redhat.com>
765
766 * eblopenbackend.c: Require the init function to return a string.
767 Compare it with MODVERSION from config.h.
768 * alpha_init.c: Change return type. Return MODVERSION or NULL.
769 * arm_init.c: Likewise.
770 * eblopenbackend.c: Likewise.
771 * i386_init.c: Likewise.
772 * ia64_init.c: Likewise.
773 * ppc64_init.c: Likewise.
774 * ppc_init.c: Likewise.
775 * sh_init.c: Likewise.
776 * sparc_init.c: Likewise.
777 * x86_64_init.c: Likewise.
778 * libeblP.h: Adjust ebl_bhinit_t.
779 * libebl_alpha.h: Adjust init function prototype.
780 * libebl_arm.h: Likewise.
781 * libebl_i386.h: Likewise.
782 * libebl_ia64.h: Likewise.
783 * libebl_ppc.h: Likewise.
784 * libebl_ppc64.h: Likewise.
785 * libebl_sh.h: Likewise.
786 * libebl_sparc.h: Likewise.
787 * libebl_x86_64.h: Likewise.
788
789 * mips_destr.c: Removed.
790 * mips_init.c: Removed.
791 * mips_symbol.c: Removed.
792 * libebl_mips.h: Removed.
793 * libebl_mips.map: Removed.
794
7952005-05-03 Roland McGrath <roland@redhat.com>
796
797 * libebl.h (Ebl): Add `reloc_simple_type' member.
798 * eblopenbackend.c (default_reloc_simple_type): New function.
799 (openbackend): Use that as default reloc_simple_type callback.
800 * eblrelocsimpletype.c: New file.
801 * Makefile.am (gen_SOURCES): Add it.
802 * i386_symbol.c (i386_reloc_simple_type): New function.
803 * libebl_i386.h: Declare it.
804 * i386_init.c (i386_init): Use it.
805 * x86_64_symbol.c (x86_64_reloc_simple_type): New function.
806 * libebl_x86_64.h: Declare it.
807 * x86_64_init.c (x86_64_init): Use it.
808 * ppc_symbol.c (ppc_reloc_simple_type): New function.
809 * libebl_ppc.h: Declare it.
810 * ppc_init.c (ppc_init): Use it.
811 * ppc64_symbol.c (ppc64_reloc_simple_type): New function.
812 * libebl_ppc64.h: Declare it.
813 * ppc64_init.c (ppc64_init): Use it.
814
8152005-03-17 Ulrich Drepper <drepper@redhat.com>
816
817 * eblcorenote.c (ebl_core_note): Add support for AT_SECURE.
818
8192005-02-15 Ulrich Drepper <drepper@redhat.com>
820
821 * Makefile.am (AM_CFLAGS): Add -Wformat=2.
822
8232005-02-14 Ulrich Drepper <drepper@redhat.com>
824
825 * alpha_destr.c: Add __attribute__((unused)) where needed.
826 * alpha_init.c: Likewise.
827 * alpha_symbol.c: Likewise.
828 * arm_destr.c: Likewise.
829 * arm_init.c: Likewise.
830 * arm_symbol.c: Likewise.
831 * i386_corenote.c: Likewise.
832 * i386_destr.c: Likewise.
833 * i386_init.c: Likewise.
834 * i386_symbol.c: Likewise.
835 * ia64_destr.c: Likewise.
836 * ia64_init.c: Likewise.
837 * ia64_symbol.c: Likewise.
838 * mips_destr.c: Likewise.
839 * mips_init.c: Likewise.
840 * mips_symbol.c: Likewise.
841 * ppc64_destr.c: Likewise.
842 * ppc64_init.c: Likewise.
843 * ppc64_symbol.c: Likewise.
844 * ppc_destr.c: Likewise.
845 * ppc_init.c: Likewise.
846 * ppc_symbol.c: Likewise.
847 * sh_destr.c: Likewise.
848 * sh_init.c: Likewise.
849 * sh_symbol.c: Likewise.
850 * sparc_destr.c: Likewise.
851 * sparc_init.c: Likewise.
852 * sparc_symbol.c: Likewise.
853 * x86_64_destr.c: Likewise.
854 * x86_64_init.c: Likewise.
855 * x86_64_symbol.c: Likewise.
856
857 * x86_64_symbol.c (reloc_map_table): Fix entries for R_X86_64_64
858 and R_X86_64_32..
859
8602005-02-06 Ulrich Drepper <drepper@redhat.com>
861
862 * eblstrtab.c: A few cleanups.
863
864 * eblopenbackend.c: Mark unused parameters.
865
866 * eblgstrtab.c: Cleanups a few printf format strings.
867
868 * Makefile.am: Cleanup AM_CFLAGS handling. Add -Wunused -Wextra.
869
8702005-02-05 Ulrich Drepper <drepper@redhat.com>
871
872 * Makefile.am: Check for text relocations in constructed DSOs.
873
874 * eblstrtab.c: Minor cleanups.
875
876 * Makefile.am (AM_CFLAGS): Add -std=gnu99 and -fmudflap for MUDFLAP.
877
8782004-08-16 Ulrich Drepper <drepper@redhat.com>
879
880 * Makefile.am (AM_CFLAGS): Add LIBSTR definition with base name of
881 the lib directory.
882 * eblopenbackend.c (openbackend): Use LIBSTR instead of hardcoded
883 lib in path to ebl modules.
884
8852004-04-01 Ulrich Drepper <drepper@redhat.com>
886
887 * Makefile.am: Add rules for ppc and ppc64 ebl module.
888 * ppc_init..c: New file.
889 * ppc_destr.c: New file.
890 * ppc_symbol.c: New file.
891 * libebl_ppc.h: New file.
892 * libebl_ppc.map: New file.
893 * ppc64_init..c: New file.
894 * ppc64_destr.c: New file.
895 * ppc64_symbol.c: New file.
896 * libebl_ppc64.h: New file.
897 * libebl_ppc64.map: New file.
898
8992004-01-20 Ulrich Drepper <drepper@redhat.com>
900
901 * Makefile.am: Support building with mudflap.
902
9032004-01-18 Ulrich Drepper <drepper@redhat.com>
904
905 * libeblP.h (_): Use elfutils domain.
906
9072004-01-16 Ulrich Drepper <drepper@redhat.com>
908
909 * eblsectionname.c: Add support for SHN_BEFORE and SHN_AFTER.
910
9112004-01-13 Ulrich Drepper <drepper@redhat.com>
912
913 * eblsegmenttypename.c ((ebl_segment_type_name): Add support for
914 PT_GNU_RELRO.
915
9162004-01-08 Ulrich Drepper <drepper@redhat.com>
917
918 * libebl.h: Remove last traces of libtool.
919
9202004-01-05 Ulrich Drepper <drepper@redhat.com>
921
922 * elf-knowledge.h: Move to libelf subdir.
923
924 * Makefile.am (EXTRA_DIST): Remove libebl.map.
925 * libebl.map: Removed.
926
9272003-12-08 Ulrich Drepper <drepper@redhat.com>
928
929 * eblsectiontypename.c (ebl_section_type_name): Add support for
930 SHT_SUNW_move, SHT_CHECKSUM, and SHT_GNU_LIBLIST.
931
9322003-11-19 Ulrich Drepper <drepper@redhat.com>
933
934 * ia64_symbol.c (ia64_dynamic_tag_name): New function.
935 * libebl_ia64.h (ia64_dynamic_tag_name): Declare.
936 * ia64_init.c (ia64_init): Register i164_dynamic_tag_name.
937
9382003-09-24 Ulrich Drepper <drepper@redhat.com>
939
940 * ia64_init.c (ia64_init): Initialize segment_type_name callback.
941 * ia64_symbol.c (ia64_segment_type_name): Define.
942 * libebl_ia64.h (ia64_segment_type_name): Declare.
943
9442003-09-22 Ulrich Drepper <drepper@redhat.com>
945
946 * Makefile.am (AM_CFLAGS): Add -fpic.
947
9482003-08-14 Ulrich Drepper <drepper@redhat.com>
949
950 * Makefile.am (install): Remove dependency on libebl.so.
951
9522003-08-13 Ulrich Drepper <drepper@redhat.com>
953
954 * eblopenbackend.c: Adjust relative path to arch-specific DSOs
955 assuming the code ends up in the application. Add second dlopen()
956 try without any path, just the filename.
957 * Makefile.in: Remove rules to build and install libebl.so.
958
9592003-08-11 Ulrich Drepper <drepper@redhat.com>
960
961 * Moved to CVS archive.