1 2015-09-24 Jose E. Marchesi <jose.marchesi@oracle.com>
3 * Makefile.am (AM_CFLAGS): Use -fPIC instead of -fpic to avoid
4 relocation overflows in some platforms.
6 2015-09-22 Mark Wielaard <mjw@redhat.com>
8 * *.c: Remove old-style function definitions.
10 2015-09-09 Chih-Hung Hsieh <chh@google.com>
12 * ebldwarftoregno.c (ebl_dwarf_to_regno): Remove redundant NULL tests
13 on parameters declared with __nonnull_attribute__.
14 * eblinitreg.c (ebl_frame_nregs): Likewise.
15 * eblnormalizepc.c (ebl_normalize_pc): Likewise.
16 * eblunwind.c (ebl_unwind): Likewise.
18 2015-09-04 Chih-Hung Hsieh <chh@google.com>
20 * eblopenbackend.c (ebl_openbackend_machine): Replace K&R function
21 definition with ansi-C definitions.
22 * eblstother.c (ebl_check_st_other_bits): Likewise.
24 2015-06-12 Mark Wielaard <mjw@redhat.com>
26 * eblcheckreloctargettype.c (ebl_check_reloc_target_type): Allow
27 SHT_INIT_ARRAY, SHT_FINI_ARRAY and SHT_PREINIT_ARRAY.
29 2015-05-17 Mark Wielaard <mjw@redhat.com>
31 * eblobjnote.c (ebl_object_note): If allocation buf is large, then
32 allocate it with malloc.
34 2015-05-17 Mark Wielaard <mjw@redhat.com>
36 * eblopenbackend.c (MAX_PREFIX_LEN): New define (16).
37 (openbackend): Stack allocate symname array using MAX_PREFIX_LEN.
39 2015-01-27 Mark Wielaard <mjw@redhat.com>
41 * libebl.h: Add comment from README that this is completely
44 2014-11-22 Mark Wielaard <mjw@redhat.com>
46 * ebl-hooks.h (bss_plt_p): Remove ehdr argument.
47 * eblbsspltp.c (ebl_bss_plt_p): Likewise.
48 * eblopenbackend.c (default_bss_plt_p): Likewise.
49 * libebl.h (ebl_bss_plt_p): Likewise.
51 2014-11-17 Mark Wielaard <mjw@redhat.com>
53 * ebldebugscnp.c (ebl_debugscn_p): Check name is not NULL.
55 2014-06-17 Mark Wielaard <mjw@redhat.com>
57 * eblinitreg.c (ebl_func_addr_mask): New function.
58 * libebl.h (ebl_func_addr_mask): Define.
59 * libeblP.h (struct ebl): Add func_addr_mask.
61 2014-05-19 Mark Wielaard <mjw@redhat.com>
63 * Makefile.am (gen_SOURCES): Add eblcheckreloctargettype.c.
64 * eblcheckreloctargettype.c: New file.
65 * ebl-hooks.h (check_reloc_target_type): New hook.
66 * eblopenbackend.c (default_check_reloc_target_type): New function.
67 (fill_defaults): Assign default_check_reloc_target_type to
68 check_reloc_target_type.
69 * libebl.h (ebl_check_reloc_target_type): New function definition.
71 2013-12-18 Mark Wielaard <mjw@redhat.com>
73 * Makefile.am (gen_SOURCES): Add eblresolvesym.c.
74 * ebl-hooks.h (resolve_sym_value): New entry.
75 * eblresolvesym.c: New file.
76 * libebl.h (ebl_resolve_sym_value): New definition.
77 * libeblP.h (fd_addr): New field.
80 2013-12-18 Jan Kratochvil <jan.kratochvil@redhat.com>
82 unwinder: s390 and s390x
83 * Makefile.am (gen_SOURCES): Add eblnormalizepc.c and eblunwind.c.
84 * ebl-hooks.h (normalize_pc, unwind): New.
85 * eblnormalizepc.c: New file.
86 * eblunwind.c: New file.
87 * libebl.h (Ebl_Register_Location): Add field pc_register.
88 (ebl_normalize_pc): New declaration.
89 (ebl_tid_registers_get_t, ebl_pid_memory_read_t): New definitions.
90 (ebl_unwind): New declaration.
92 2013-12-15 Jan Kratochvil <jan.kratochvil@redhat.com>
94 unwinder: ppc and ppc64
95 * Makefile.am (gen_SOURCES): Add ebldwarftoregno.c.
96 * ebl-hooks.h (dwarf_to_regno): New.
97 * ebldwarftoregno.c: New file.
98 * libebl.h (Ebl_Core_Item): New field pc_register.
99 (ebl_tid_registers_t): Add FIRSTREG -1 to the comment.
100 (ebl_dwarf_to_regno): New.
102 2013-11-25 Petr Machata <pmachata@redhat.com>
104 * eblopenbackend.c (machines): Add entry for AArch64.
106 2013-11-14 Jan Kratochvil <jan.kratochvil@redhat.com>
108 Code cleanup: Remove const in prototype
109 * libebl.h (ebl_tid_registers_t): Remove const from firstreg.
111 2013-11-07 Jan Kratochvil <jan.kratochvil@redhat.com>
112 Mark Wielaard <mjw@redhat.com>
114 * Makefile.am (gen_SOURCES): Add eblinitreg.c.
115 * ebl-hooks.h (set_initial_registers_tid): New entry.
116 * eblinitreg.c: New file.
117 * libebl.h (ebl_tid_registers_t): New definition.
118 (ebl_set_initial_registers_tid, ebl_frame_nregs): New declarations.
119 * libeblP.h (struct ebl): New entry frame_nregs.
121 2013-10-06 Mark Wielaard <mjw@redhat.com>
123 * libebl.h (ebl_abi_cfi): Document restrictions using register
126 2013-09-26 Petr Machata <pmachata@redhat.com>
128 * eblcorenotetypename.c: Handle NT_ARM_TLS, NT_ARM_HW_BREAK,
129 NT_ARM_HW_WATCH, NT_SIGINFO, NT_FILE.
131 2013-09-25 Mark Wielaard <mjw@redhat.com>
133 * eblsectionstripp.c (ebl_section_strip_p): Check shdr_l is not NULL.
135 2013-04-24 Mark Wielaard <mjw@redhat.com>
137 * Makefile.am: Use AM_CPPFLAGS instead of INCLUDES.
139 2012-10-12 Jan Kratochvil <jan.kratochvil@redhat.com>
141 * ebl-hooks.h (abi_cfi): Extend its comment for return value.
142 * eblopenbackend.c (default_abi_cfi): Return -1.
143 * libebl.h (ebl_abi_cfi): Extend its comment for return value.
145 2012-08-30 Petr Machata <pmachata@redhat.com>
147 * eblcorenotetypename.c: Handle PPC_VSX, X86_XSTATE,
148 S390_HIGH_GPRS, S390_TIMER, S390_TODCMP, S390_TODPREG, S390_CTRS,
149 S390_PREFIX, S390_LAST_BREAK, S390_SYSTEM_CALL, and ARM_VFP.
151 2012-08-22 Jeff Kenton <jkenton@tilera.com>
153 * eblopenbackend.c (machines): Add tilegx.
155 2011-06-26 Mark Wielaard <mjw@redhat.com>
157 * eblopenbackend.c (default_debugscn_p): Add .debug_macro.
159 2011-04-26 Mark Wielaard <mjw@redhat.com>
161 * libebl.h (ebl_object_note_type_name): Add const char *name arg.
162 * eblhooks.h (object_note_type_name): Likewise.
163 * eblopenbackend.c (default_object_note_type_name): Likewise.
164 * eblobjnotetypename.c (ebl_object_note_type_name): Likewise.
165 And print version if name is "stapsdt".
166 * eblobjnote.c (ebl_object_note): Add output for "stapsdt" notes.
168 2011-03-21 Marek Polacek <mpolacek@redhat.com>
170 * ebldynamictagname.c: Fix typo in TLSDESC_GOT.
172 2011-03-10 Mark Wielaard <mjw@redhat.com>
174 * Makefile.am (gen_SOURCES): Add eblstother.c.
175 * eblstother.c: New file.
176 * ebl-hooks.h: Add check_st_other_bits hook.
177 * eblopenbackend.c (default_check_st_other_bits): New function.
178 (fill_defaults): Hook default_check_st_other_bits.
179 * libebl.h (ebl_check_st_other_bits): New prototype.
181 2010-07-07 Roland McGrath <roland@redhat.com>
183 * eblopenbackend.c (default_debugscn_p): Match .gdb_index section.
185 2010-02-15 Roland McGrath <roland@redhat.com>
187 * Makefile.am: Use config/eu.am for common stuff.
189 2010-01-04 Roland McGrath <roland@redhat.com>
191 * eblcorenote.c (ebl_core_note): Take GElf_Nhdr * and name data
192 pointer instead of only n_type and n_descsz.
193 * libebl.h: Update declaration.
194 * ebl-hooks.h: Update core_note hook signature.
195 * eblopenbackend.c (default_core_note): Likewise.
197 2009-10-14 Roland McGrath <roland@redhat.com>
199 * eblobjnote.c (ebl_object_note): Clean up NT_GNU_GOLD_VERSION printing.
201 2009-10-05 Roland McGrath <roland@redhat.com>
203 * eblopenbackend.c (default_debugscn_p): Match .debug_pubtypes and
206 2009-09-02 Petr Machata <pmachata@redhat.com>
208 * libebl/eblstrtab.c (morememory): Allocate memory in multiples of
211 2009-08-06 Petr Machata <pmachata@redhat.com>
213 * libebl/eblstrtab.c (ebl_strtabfinalize): Only call copystrings
214 if we have any strings to copy.
216 2009-07-26 Mark Wielaard <mjw@redhat.com>
218 * eblobjnote.c (ebl_object_note): Handle NT_GNU_GOLD_VERSION.
220 * eblobjnotetypename.c (ebl_object_note_type_name): Recognize
223 2009-07-08 Roland McGrath <roland@redhat.com>
225 * ebl-hooks.h: Add abi_cfi hook.
226 * eblopenbackend.c (default_abi_cfi): New function.
227 (fill_defaults): Add initializer.
228 * eblabicfi.c: New file.
229 * Makefile.am (gen_SOURCES): Add it.
230 * libebl.h: Declare ebl_abi_cfi.
232 2009-07-08 Ulrich Drepper <drepper@redhat.com>
234 * eblsymbolbindingname.c (ebl_symbol_binding_name): Handle
237 * eblsymboltypename.c (ebl_symbol_type_name): Only handle STT_GNU_IFUNC
238 if the binary is marked as being for Linux.
240 2009-04-01 Roland McGrath <roland@redhat.com>
242 * eblsymboltypename.c (ebl_symbol_type_name): Add STT_GNU_IFUNC.
244 * eblauxvinfo.c (AUXV_TYPES): Add RANDOM and BASE_PLATFORM.
246 2009-02-01 Ulrich Drepper <drepper@redhat.com>
248 * eblreloctypename.c (ebl_reloc_type_name): Return "<INVALID RELOC>"
249 instead of "???" for invalid relocations.
251 2008-08-01 Roland McGrath <roland@redhat.com>
253 * eblcorenotetypename.c: Handle NT_386_IOPERM.
255 2008-07-28 Roland McGrath <roland@redhat.com>
257 * eblauxvinfo.c (AUXV_TYPES): Add EXECFN.
259 * eblauxvinfo.c (ebl_auxv_info): Handle missing elements of standard
262 2008-07-04 Roland McGrath <roland@redhat.com>
264 * libebl.h: Declare ebl_syscall_abi.
265 * ebl_syscall_abi.c: New file.
266 * Makefile.am (gen_SOURCES): Add it.
267 * ebl-hooks.h: New hook syscall_abi.
268 * eblopenbackend.c (default_syscall_abi): New function.
269 (fill_defaults): Use it.
271 2008-03-31 Roland McGrath <roland@redhat.com>
273 * ebldynamictagname.c (ebl_dynamic_tag_name): Use hex for unknown tag.
275 * ebl-hooks.h: Add check_special_section hook.
276 * eblopenbackend.c (fill_defaults): Set new hook to ...
277 (default_check_special_section): ... this, new function.
278 * ebl_check_special_section.c: New file.
279 * Makefile.am (gen_SOURCES): Add it.
280 * libebl.h: Declare it.
282 2008-02-20 Roland McGrath <roland@redhat.com>
284 * libebl.h: Declare ebl_check_object_attribute.
285 * eblcheckobjattr.c: New file.
286 * Makefile.am (gen_SOURCES): Add it.
287 * ebl-hooks.h: Add check_object_attribute hook.
288 * eblopenbackend.c (default_check_object_attribute): New function.
289 (fill_defaults): Initialize pointer to it.
291 2008-02-19 Roland McGrath <roland@redhat.com>
293 * eblsectiontypename.c (ebl_section_type_name):
294 Handle SHT_GNU_ATTRIBUTES.
296 2008-02-08 Roland McGrath <roland@redhat.com>
298 * eblcorenotetypename.c (ebl_core_note_type_name): Handle NT_PPC_SPE.
300 2008-01-30 Roland McGrath <roland@redhat.com>
302 * eblcorenotetypename.c (ebl_core_note_type_name): Handle NT_386_TLS.
304 2007-10-18 Roland McGrath <roland@redhat.com>
306 * eblcorenotetypename.c (ebl_core_note_type_name): Handle NT_PPC_VMX.
308 2007-10-11 Roland McGrath <roland@redhat.com>
310 * eblobjnote.c (ebl_object_note): Translate target format (byte-swap)
311 for NT_GNU_ABI_TAG contents.
313 2007-08-22 Roland McGrath <roland@redhat.com>
315 * libebl.h (Ebl_Core_Item): New member `group'.
317 2007-08-19 Roland McGrath <roland@redhat.com>
319 * ebl-hooks.h: Add new hook auxv_info.
320 * eblopenbackend.c (default_auxv_info): New function.
321 (fill_defaults): Initialize auxv_info hook.
322 * eblauxvinfo.c : New file.
323 * Makefile.am (gen_SOURCES): Add it.
324 * libebl.h: Declare ebl_auxv_info.
326 * eblcorenote.c: Rewritten with new signature.
327 * Makefile.am (gen_SOURCES): Add it.
328 * libebl.h (Ebl_Register_Location, Ebl_Core_Item): New types.
329 (ebl_core_note_info): Completely revamp signature.
330 * ebl-hooks.h: Update decl.
331 * eblopenbackend.c (default_core_note): Update signature.
333 2007-07-09 Roland McGrath <roland@redhat.com>
335 * eblobjnotetypename.c (ebl_object_note_type_name): Handle
336 NT_GNU_HWCAP, NT_GNU_BUILD_ID.
338 * eblobjnote.c (ebl_object_note): Handle NT_GNU_BUILD_ID.
340 2007-04-22 Roland McGrath <roland@redhat.com>
342 * eblcorenotetypename.c (ebl_core_note_type_name): Handle NT_PRXFPREG.
344 2007-03-10 Roland McGrath <roland@redhat.com>
346 * eblcorenote.c (ebl_core_note): For normally-zero types,
347 print in hex if not zero.
349 2007-01-11 Roland McGrath <roland@redhat.com>
351 * ebl-hooks.h (machine_section_flag_check): New hook.
352 * libebl.h: Declare ebl_machine_section_flag_check.
353 * eblmachinesectionflagcheck.c: New file.
354 * Makefile.am (gen_SOURCES): Add it.
355 * eblopenbackend.c (default_machine_section_flag_check): New function.
356 (fill_defaults): Use it.
358 2006-09-04 Roland McGrath <roland@redhat.com>
360 * ebl-hooks.h: Replace register_name hook with register_info.
361 Also yield natural bit width and base type encoding.
362 * eblopenbackend.c (default_register_name): Renamed
363 default_register_info, new args added.
364 (fill_defaults): Update initialization.
365 * eblregname.c: File renamed ...
366 * eblreginfo.c: ... to this.
367 (ebl_register_name): Renamed to ebl_register_info, new args added.
368 * libebl.h: Update decl.
370 * Makefile.am (gen_SOURCES): Update list.
372 2006-07-06 Ulrich Drepper <drepper@redhat.com>
374 * ebldynamictagname.c: Add support for DT_GNU_HASH.
375 * ebldynamictagcheck.c: Likewise.
376 * eblsectiontypename.c: Add support for SHT_GNU_HASH.
378 2006-07-05 Ulrich Drepper <drepper@redhat.com>
380 * Makefile.am (gen_SOURCES): Add eblsysvhashentrysize.c.
381 * libeblP.h (struct ebl): Add sysvhash_entrysize element.
382 * eblopenbackend.c (fill_defaults): Initialize sysvhash_entrysize.
384 * eblopenbackend.c (openbackend): If possible, fill machine, class,
385 and data values in from the ELF file.
387 2006-07-04 Ulrich Drepper <drepper@redhat.com>
389 * Makefile.am (gen_SOURCES): Add eblrelativerelocp.c.
390 * eblrelativerelocp.c: New file.
391 * ebl-hooks.c: Add relative_reloc_p.
392 * eblopenbackend.c (default_relative_reloc_p): New function.
393 (fill_defaults): Hook it up.
394 * libebl.h: Declare ebl_relative_reloc_p.
396 2006-06-12 Ulrich Drepper <drepper@redhat.com>
398 * Makefile.am (gen_SOURCES): Add eblnonerelocp.c.
399 * eblnonerelocp.c: New file.
400 * ebl-hooks.c: Add none_reloc_p.
401 * eblopenbackend.c (default_none_reloc_p): New function.
402 (fill_defaults): Hook it up.
403 * libebl.h: Declare ebl_none_reloc_p.
405 2006-05-27 Ulrich Drepper <drepper@redhat.com>
407 * libebl.h: Add extern "C".
409 2005-11-25 Roland McGrath <roland@redhat.com>
411 * eblregname.c: New file.
412 * Makefile.am (gen_SOURCES): Add it.
413 * ebl-hooks.h: Declare register_name hook.
414 * libebl.h: Declare ebl_register_name.
415 * eblopenbackend.c (default_register_name): New function.
416 (fill_defaults): Use it.
418 2005-11-16 Roland McGrath <roland@redhat.com>
420 * libebl.h: Use "" for elf-knowledge.h, not <>.
422 2005-11-15 Roland McGrath <roland@redhat.com>
424 * Makefile.am: Removed everything for building libebl_*.so modules,
425 now in ../backends/Makefile.am instead.
426 * alpha_init.c: Moved to ../backends.
427 * alpha_reloc.def: Likewise.
428 * alpha_retval.c: Likewise.
429 * alpha_symbol.c: Likewise.
430 * arm_init.c: Likewise.
431 * arm_reloc.def: Likewise.
432 * arm_symbol.c: Likewise.
433 * common-reloc.c: Likewise.
434 * i386_corenote.c: Likewise.
435 * i386_init.c: Likewise.
436 * i386_reloc.def: Likewise.
437 * i386_retval.c: Likewise.
438 * i386_symbol.c: Likewise.
439 * ia64_init.c: Likewise.
440 * ia64_reloc.def: Likewise.
441 * ia64_symbol.c: Likewise.
442 * libebl_CPU.h: Likewise.
443 * ppc64_init.c: Likewise.
444 * ppc64_reloc.def: Likewise.
445 * ppc64_retval.c: Likewise.
446 * ppc64_symbol.c: Likewise.
447 * ppc_init.c: Likewise.
448 * ppc_reloc.def: Likewise.
449 * ppc_retval.c: Likewise.
450 * ppc_symbol.c: Likewise.
451 * s390_init.c: Likewise.
452 * s390_reloc.def: Likewise.
453 * s390_symbol.c: Likewise.
454 * sh_init.c: Likewise.
455 * sh_reloc.def: Likewise.
456 * sh_symbol.c: Likewise.
457 * sparc_init.c: Likewise.
458 * sparc_reloc.def: Likewise.
459 * sparc_symbol.c: Likewise.
460 * x86_64_corenote.c: Likewise.
461 * x86_64_init.c: Likewise.
462 * x86_64_reloc.def: Likewise.
463 * x86_64_retval.c: Likewise.
464 * x86_64_symbol.c: Likewise.
466 * libebl.h: Comment fixes.
468 * alpha_retval.c: New file.
469 * Makefile.am (alpha_SRCS): Add it.
470 * alpha_init.c (alpha_init): Initialize return_value_location hook.
472 * ppc64_retval.c: New file.
473 * Makefile.am (ppc64_SRCS): Add it.
474 * ppc64_init.c (ppc64_init): Initialize return_value_location hook.
476 * ppc_retval.c: New file.
477 * Makefile.am (ppc_SRCS): Add it.
478 * ppc_init.c (ppc_init): Initialize return_value_location hook.
480 2005-11-14 Roland McGrath <roland@redhat.com>
482 * ia64_init.c (ia64_init): Initialize EH->reloc_simple_type.
483 * sh_init.c (sh_init): Likewise.
484 * x86_64_init.c (x86_64_init): Likewise.
486 * sparc_symbol.c (sparc_reloc_simple_type): New function.
487 * sparc_init.c (sparc_init): Use it.
489 * arm_symbol.c (arm_reloc_simple_type): New function.
490 * arm_init.c (arm_init): Use it.
492 * alpha_symbol.c (alpha_reloc_simple_type): New function.
493 * alpha_init.c (alpha_init): Use it.
495 * ia64_reloc.def: Update bits per H. J. Lu <hjl@lucon.org>.
497 * arm_reloc.def: Update bits per Daniel Jacobowitz <drow@false.org>.
499 * alpha_reloc.def: Update bits per Richard Henderson <rth@redhat.com>.
501 2005-11-13 Roland McGrath <roland@redhat.com>
503 * x86_64_retval.c: New file.
504 * Makefile.am (x86_64_SRCS): Add it.
505 * x86_64_init.c (x86_64_init): Use x86_64_return_value_location.
507 * i386_retval.c: New file.
508 * Makefile.am (i386_SRCS): Add it.
509 (libdw): New variable.
510 (libebl_%.so): Use $(libdw) in link; use --as-needed.
511 * i386_init.c (i386_init): Use i386_return_value_location.
513 * eblretval.c: New file.
514 * Makefile.am (gen_SOURCES): Add it.
515 (INCLUDES): Search in libdw.
516 * libebl.h: Include <libdw.h>. Declare ebl_return_value_location.
517 * ebl-hooks.h: Declare return_value_location hook.
518 * eblopenbackend.c (default_return_value_location): New function.
519 (fill_defaults): Use it.
521 2005-11-10 Roland McGrath <roland@redhat.com>
523 * s390_init.c: New file.
524 * s390_reloc.def: New file.
525 * s390_symbol.c: New file.
526 * Makefile.am (modules, libebl_pic): Add s390.
527 (s390_SRCS, libebl_s390_pic_a_SOURCES): New variables.
528 (am_libebl_s390_pic_a_OBJECTS): New variable.
530 * ppc64_init.c: Use common-reloc.c.
531 * ppc64_symbol.c (ppc64_backend_name): Removed.
532 (ppc64_reloc_type_check, ppc64_reloc_type_name): Likewise.
533 (ppc64_copy_reloc_p, ppc64_reloc_valid_use): Likewise.
535 * ppc_init.c: Use common-reloc.c.
536 * ppc_symbol.c (ppc_backend_name): Removed.
537 (ppc_reloc_type_name, ppc_reloc_type_check): Likewise.
538 (ppc_reloc_valid_use, ppc_copy_reloc_p): Likewise.
540 * sparc_init.c: Use common-reloc.c.
541 * sparc_symbol.c (sparc_backend_name): Removed.
542 (sparc_reloc_type_name, sparc_reloc_type_check): Likewise.
543 (sparc_copy_reloc_p): Likewise.
545 * arm_init.c: Use common-reloc.c.
546 * arm_symbol.c (arm_backend_name): Removed.
547 (arm_reloc_type_name, arm_reloc_type_check, arm_copy_reloc_p): Removed.
549 * alpha_init.c: Use common-reloc.c.
550 * alpha_symbol.c (alpha_backend_name): Removed.
551 (alpha_reloc_type_name, alpha_reloc_type_check): Likewise.
552 (alpha_copy_reloc_p): Likewise.
554 * ia64_symbol.c (ia64_backend_name): Removed.
555 (ia64_reloc_type_name, ia64_reloc_type_check): Likewise.
556 (ia64_copy_reloc_p): Likewise.
558 * x86_64_init.c: Use common-reloc.c.
559 * x86_64_symbol.c (x86_64_backend_name): Removed.
560 (x86_64_copy_reloc_p, x86_64_reloc_valid_use): Likewise.
561 (x86_64_reloc_type_check, x86_64_reloc_type_name): Likewise.
563 * sh_init.c: Use common-reloc.c.
564 * sh_symbol.c: All functions removed.
565 (sh_reloc_simple_type): New function.
566 (sh_gotpc_reloc_check): New function.
568 * common-reloc.c: New file.
569 * Makefile.am (noinst_HEADERS): Add it.
570 * i386_init.c: Include it.
572 * sh_reloc.def: New file.
573 * i386_reloc.def: New file.
574 * alpha_reloc.def: New file.
575 * arm_reloc.def: New file.
576 * i386_reloc.def: New file.
577 * ia64_reloc.def: New file.
578 * ppc64_reloc.def: New file.
579 * ppc_reloc.def: New file.
580 * sh_reloc.def: New file.
581 * sparc_reloc.def: New file.
582 * x86_64_reloc.def: New file.
583 * Makefile.am (EXTRA_DIST): Add $(modules:=_reloc.def).
585 * libebl_alpha.map: Removed.
586 * libebl_ia64.map: Removed.
587 * libebl_ppc.map: Removed.
588 * libebl_sparc.map: Removed.
589 * libebl_arm.map: Removed.
590 * libebl_i386.map: Removed.
591 * libebl_ppc64.map: Removed.
592 * libebl_sh.map: Removed.
593 * libebl_x86_64.map: Removed.
594 * Makefile.am (EXTRA_DIST): Remove them.
595 (libebl_%.map, libebl_%.so): New pattern rules.
597 * libebl_alpha.h: Removed.
598 * libebl_ia64.h: Removed.
599 * libebl_ppc.h: Removed.
600 * libebl_sparc.h: Removed.
601 * libebl_arm.h: Removed.
602 * libebl_i386.h: Removed.
603 * libebl_ppc64.h: Removed.
604 * libebl_sh.h: Removed.
605 * libebl_x86_64.h: Removed.
606 * Makefile.am (noinst_HEADERS): Remove them.
608 * x86_64_corenote.c: Use libebl_CPU.h instead.
609 * x86_64_symbol.c: Likewise.
610 * i386_corenote.c: Likewise.
612 2005-11-09 Roland McGrath <roland@redhat.com>
614 * ia64_symbol.c (ia64_reloc_simple_type): New function.
616 * ebl-hooks.h (reloc_simple_type): Take the Ebl handle, not Elf handle.
617 * eblrelocsimpletype.c (ebl_reloc_simple_type): Update caller.
618 * eblopenbackend.c (default_reloc_simple_type): Update signature.
619 * i386_symbol.c (i386_reloc_simple_type): Likewise.
620 * ppc64_symbol.c (ppc64_reloc_simple_type): Likewise.
621 * ppc_symbol.c (ppc_reloc_simple_type): Likewise.
622 * x86_64_symbol.c (x86_64_reloc_simple_type): Likewise.
624 * i386_symbol.c (i386_backend_name): Removed.
625 (i386_reloc_type_name, i386_reloc_type_check): Likewise.
626 (i386_reloc_valid_use): Removed.
627 (i386_copy_reloc_p): Removed.
629 * alpha_destr.c: Removed.
630 * arm_destr.c: Removed.
631 * i386_destr.c: Removed.
632 * ia64_destr.c: Removed.
633 * ppc64_destr.c: Removed.
634 * ppc_destr.c: Removed.
635 * sh_destr.c: Removed.
636 * sparc_destr.c: Removed.
637 * x86_64_destr.c: Removed.
639 * ebl-hooks.h: New file, broken out of ...
640 * libeblP.h (struct ebl): ... here. #include that for hook
641 declarations, after defining EBLHOOK macro.
642 * libebl_CPU.h: New file.
643 * Makefile.am (noinst_HEADERS): Add them.
645 * libeblP.h (struct ebl): Use uint_fast16_t for machine,
646 and uint_fast8_t for class and data.
648 2005-08-14 Roland McGrath <roland@redhat.com>
650 * ia64_symbol.c (ia64_section_type_name): New function.
651 (ia64_dynamic_tag_check): New function.
652 (ia64_reloc_valid_use): New function.
653 * libebl_ia64.h: Declare them.
654 * ia64_init.c (ia64_init): Use them.
655 * Makefile.am (libebl_ia64.so): Link with libelf.
657 2005-08-28 Ulrich Drepper <drepper@redhat.com>
659 * Makefile.am: Use $(LINK) not $(CC) when creating DSOs.
661 2005-08-13 Roland McGrath <roland@redhat.com>
663 * ia64_symbol.c (ia64_machine_flag_check): New function.
664 * libebl_ia64.h: Declare it.
665 * ia64_init.c (ia64_init): Use it.
667 2005-08-13 Ulrich Drepper <drepper@redhat.com>
669 * libebl.h: Add ehdr parameter to ebl_bss_plt_p and
670 ebl_check_special_symbol.
671 * libeblP.h (struct ebl): Adjust callback functions.
672 * eblopenbackend.c: Adjust dummy functions.
673 * ebl_check_special_symbol.c: Add parameter and pass it on.
674 * eblbsspltp.c: Likewise.
675 * ppc_symbol.c (find_dyn_got): With ehdr passed, simplify search for
676 the dynamic section entry.
677 (ppc_check_special_symbol): Add ehdr parameter.
678 (ppc_bss_plt_p): Likewise.
679 * libebl_ppc.h: Adjust prototypes.
680 * ppc64_symbol.c (ppc_check_special_symbol): Add ehdr parameter.
681 (ppc_bss_plt_p): Likewise.
682 * libebl_ppc64.h: Adjust prototypes.
684 2005-08-12 Roland McGrath <roland@redhat.com>
686 * ppc_symbol.c (find_dyn_got): New function, broken out of ...
687 (ppc_bss_plt_p): ... here. Call that.
688 (ppc_check_special_symbol): Use find_dyn_got to fetch value to check
689 against _GLOBAL_OFFSET_TABLE_.
691 * libeblP.h (struct ebl): Add bss_plt_p hook.
692 * eblopenbackend.c (default_bss_plt_p): New function.
693 (fill_defaults): Use it.
694 * eblbsspltp.c: New file.
695 * Makefile.am (gen_SOURCES): Add it.
696 * libebl.h: Declare ebl_bss_plt_p.
697 * ppc_symbol.c (ppc_bss_plt_p): New function.
698 * libebl_ppc.h: Declare it.
699 * ppc_init.c (ppc_init): Use it.
700 * ppc64_symbol.c (ppc64_bss_plt_p): New function.
701 * libebl_ppc64.h: Declare it.
702 * ppc64_init.c (ppc64_init): Use it.
704 * ebl_check_special_symbol.c: New file.
705 * Makefile.am (gen_SOURCES): Add it.
706 * libebl.h: Declare ebl_check_special_symbol.
707 * libeblP.h (struct ebl): Add check_special_symbol hook.
708 * eblopenbackend.c (default_check_special_symbol): New function.
709 (fill_defaults): Use it.
710 * ppc_symbol.c (ppc_check_special_symbol): New function.
711 * libebl_ppc.h: Add prototype.
712 * ppc_init.c (ppc_init): Use it.
713 * ppc64_symbol.c (ppc64_check_special_symbol): New function.
714 * libebl_ppc64.h: Add prototype.
715 * ppc64_init.c (ppc64_init): Use it.
717 2005-08-07 Ulrich Drepper <drepper@redhat.com>
719 * ppc_init.c: Add support for new DT_PPC_* and R_PPC_* values.
720 * ppc_symbol.c: Likewise.
721 * libebl_ppc.h: Likewise.
722 * ppc64_init.c: There is now also a dynamic_tag_check functions
723 * ppc64_symbol.c: Add dynamic_tag_check.
724 * libebl_ppc64.h: Add prototype.
725 * alpha_init.c: Add support for new DT_ALPHA_* value.
726 * alpha_symbol.c: Likewise.
727 * libebl_alpha.h: Likewise.
729 2005-08-03 Ulrich Drepper <drepper@redhat.com>
731 * libebl_alpha.map: Remove unnecessary exports.
732 * libebl_arm.map: Likewise.
733 * libebl_i386.map: Likewise.
734 * libebl_ia64.map: Likewise.
735 * libebl_ppc.map: Likewise.
736 * libebl_ppc64.map: Likewise.
737 * libebl_sh.map: Likewise.
738 * libebl_sparc.map: Likewise.
739 * libebl_x86_64.map: Likewise.
741 2005-08-02 Ulrich Drepper <drepper@redhat.com>
743 * Makefile.am (libebl_a_SOURCES): Add eblelfclass.c, eblelfdata.c,
745 * elbopenbackend.c (machines): Add class and data fields. Initialize
747 (ebl_openbackend): Initialize machine, class, data fields in result.
748 * libebl.h: Declare Add eblelfclass, eblelfdata, and eblelfmachine.
749 * libeblP.h (Ebl): Add machine, class, data fields.
751 2005-07-23 Ulrich Drepper <drepper@redhat.com>
753 * eblsectionstripp.c: New file.
754 * Makefile.am (gen_SOURCES): Add eblsectionstripp.c.
755 * i386_init.c (i386_init): Install specific debugscn_p callback.
756 * i386_symbol.c (i386_debugscn_p): New function.
757 * libebl.h: Declare ebl_section_strip_p.
758 * libebl_i386.h: Declare i386_debugscn_p.
760 * libebl.h: Move Ebl definition to...
761 * libeblP.h: ...here.
763 2005-07-21 Roland McGrath <roland@redhat.com>
765 * Makefile.am (install-ebl-modules): New target, commands from ...
766 (install): ... here. Make this depend on it.
767 (LIBEBL_SUBDIR): New variable, substituted by configure.
768 (install-ebl-modules): Install in $(libdir)/$(LIBEBL_SUBDIR).
769 * eblopenbackend.c (openbackend): Use LIBEBL_SUBDIR in module name.
771 2005-07-21 Ulrich Drepper <drepper@redhat.com>
773 * eblcopyrelocp.c: New file.
774 * Makefile.am (gen_SOURCES): Add eblcopyrelocp.c.
775 * libebl.h: Declare ebl_copy_reloc_p.
776 * eblopenbackend.c (fill_defaults): Fill in copy_reloc_p.
777 (default_copy_reloc_p): New function.
778 * alpha_init.c: Define and use arch-specific copy_reloc_p function.
779 * alpha_symbol.c: Likewise.
780 * arm_init.c: Likewise.
781 * arm_symbol.c: Likewise.
782 * i386_init.c: Likewise.
783 * i386_symbol.c: Likewise.
784 * ia64_init.c: Likewise.
785 * ia64_symbol.c: Likewise.
786 * ppc64_init.c: Likewise.
787 * ppc64_symbol.c: Likewise.
788 * ppc_init.c: Likewise.
789 * ppc_symbol.c: Likewise.
790 * sh_init.c: Likewise.
791 * sh_symbol.c: Likewise.
792 * sparc_init.c: Likewise.
793 * sparc_symbol.c: Likewise.
794 * x86_64_init.c: Likewise.
795 * x86_64_symbol.c: Likewise.
796 * libebl_alpha.h: Declare the copy_reloc_p function.
797 * libebl_arm.h: Likewise.
798 * libebl_i386.h: Likewise.
799 * libebl_ia64.h: Likewise.
800 * libebl_ppc.h: Likewise.
801 * libebl_ppc64.h: Likewise.
802 * libebl_sh.h: Likewise.
803 * libebl_sparc.h: Likewise.
804 * libebl_x86_64.h: Likewise.
806 2005-05-31 Roland McGrath <roland@redhat.com>
808 * Makefile.am (libebl_*_so_SOURCES): Set to $(*_SRCS) so dependency
809 tracking works right.
811 2005-05-21 Ulrich Drepper <drepper@redhat.com>
813 * libebl_x86_64.map: Add x86_64_core_note.
815 2005-05-19 Roland McGrath <roland@redhat.com>
817 * libebl_i386.map: Add i386_reloc_valid_use, i386_reloc_simple_type.
818 * libebl_ppc.map: Add ppc_reloc_simple_type.
819 * libebl_ppc64.map: Add ppc64_reloc_simple_type.
820 * libebl_x86_64.map: Add x86_64_reloc_simple_type.
822 2005-05-11 Ulrich Drepper <drepper@redhat.com>
824 * eblcorenote.c: Handle new AT_* values and files with different
826 * Makefile.am (x86_64_SRCS): Add x86_64_corenote.c.
827 * x86-64_corenote.c: New file.
828 * x86_64_init.c: Hook in x86_64_corenote.
829 * i386_corenote.c: Make file usable on 64-bit platforms.
831 * eblopenbackend.c: If modules version comparison fails, reinitialize
834 2005-05-10 Ulrich Drepper <drepper@redhat.com>
836 * eblopenbackend.c: Require the init function to return a string.
837 Compare it with MODVERSION from config.h.
838 * alpha_init.c: Change return type. Return MODVERSION or NULL.
839 * arm_init.c: Likewise.
840 * eblopenbackend.c: Likewise.
841 * i386_init.c: Likewise.
842 * ia64_init.c: Likewise.
843 * ppc64_init.c: Likewise.
844 * ppc_init.c: Likewise.
845 * sh_init.c: Likewise.
846 * sparc_init.c: Likewise.
847 * x86_64_init.c: Likewise.
848 * libeblP.h: Adjust ebl_bhinit_t.
849 * libebl_alpha.h: Adjust init function prototype.
850 * libebl_arm.h: Likewise.
851 * libebl_i386.h: Likewise.
852 * libebl_ia64.h: Likewise.
853 * libebl_ppc.h: Likewise.
854 * libebl_ppc64.h: Likewise.
855 * libebl_sh.h: Likewise.
856 * libebl_sparc.h: Likewise.
857 * libebl_x86_64.h: Likewise.
859 * mips_destr.c: Removed.
860 * mips_init.c: Removed.
861 * mips_symbol.c: Removed.
862 * libebl_mips.h: Removed.
863 * libebl_mips.map: Removed.
865 2005-05-03 Roland McGrath <roland@redhat.com>
867 * libebl.h (Ebl): Add `reloc_simple_type' member.
868 * eblopenbackend.c (default_reloc_simple_type): New function.
869 (openbackend): Use that as default reloc_simple_type callback.
870 * eblrelocsimpletype.c: New file.
871 * Makefile.am (gen_SOURCES): Add it.
872 * i386_symbol.c (i386_reloc_simple_type): New function.
873 * libebl_i386.h: Declare it.
874 * i386_init.c (i386_init): Use it.
875 * x86_64_symbol.c (x86_64_reloc_simple_type): New function.
876 * libebl_x86_64.h: Declare it.
877 * x86_64_init.c (x86_64_init): Use it.
878 * ppc_symbol.c (ppc_reloc_simple_type): New function.
879 * libebl_ppc.h: Declare it.
880 * ppc_init.c (ppc_init): Use it.
881 * ppc64_symbol.c (ppc64_reloc_simple_type): New function.
882 * libebl_ppc64.h: Declare it.
883 * ppc64_init.c (ppc64_init): Use it.
885 2005-03-17 Ulrich Drepper <drepper@redhat.com>
887 * eblcorenote.c (ebl_core_note): Add support for AT_SECURE.
889 2005-02-15 Ulrich Drepper <drepper@redhat.com>
891 * Makefile.am (AM_CFLAGS): Add -Wformat=2.
893 2005-02-14 Ulrich Drepper <drepper@redhat.com>
895 * alpha_destr.c: Add __attribute__((unused)) where needed.
896 * alpha_init.c: Likewise.
897 * alpha_symbol.c: Likewise.
898 * arm_destr.c: Likewise.
899 * arm_init.c: Likewise.
900 * arm_symbol.c: Likewise.
901 * i386_corenote.c: Likewise.
902 * i386_destr.c: Likewise.
903 * i386_init.c: Likewise.
904 * i386_symbol.c: Likewise.
905 * ia64_destr.c: Likewise.
906 * ia64_init.c: Likewise.
907 * ia64_symbol.c: Likewise.
908 * mips_destr.c: Likewise.
909 * mips_init.c: Likewise.
910 * mips_symbol.c: Likewise.
911 * ppc64_destr.c: Likewise.
912 * ppc64_init.c: Likewise.
913 * ppc64_symbol.c: Likewise.
914 * ppc_destr.c: Likewise.
915 * ppc_init.c: Likewise.
916 * ppc_symbol.c: Likewise.
917 * sh_destr.c: Likewise.
918 * sh_init.c: Likewise.
919 * sh_symbol.c: Likewise.
920 * sparc_destr.c: Likewise.
921 * sparc_init.c: Likewise.
922 * sparc_symbol.c: Likewise.
923 * x86_64_destr.c: Likewise.
924 * x86_64_init.c: Likewise.
925 * x86_64_symbol.c: Likewise.
927 * x86_64_symbol.c (reloc_map_table): Fix entries for R_X86_64_64
930 2005-02-06 Ulrich Drepper <drepper@redhat.com>
932 * eblstrtab.c: A few cleanups.
934 * eblopenbackend.c: Mark unused parameters.
936 * eblgstrtab.c: Cleanups a few printf format strings.
938 * Makefile.am: Cleanup AM_CFLAGS handling. Add -Wunused -Wextra.
940 2005-02-05 Ulrich Drepper <drepper@redhat.com>
942 * Makefile.am: Check for text relocations in constructed DSOs.
944 * eblstrtab.c: Minor cleanups.
946 * Makefile.am (AM_CFLAGS): Add -std=gnu99 and -fmudflap for MUDFLAP.
948 2004-08-16 Ulrich Drepper <drepper@redhat.com>
950 * Makefile.am (AM_CFLAGS): Add LIBSTR definition with base name of
952 * eblopenbackend.c (openbackend): Use LIBSTR instead of hardcoded
953 lib in path to ebl modules.
955 2004-04-01 Ulrich Drepper <drepper@redhat.com>
957 * Makefile.am: Add rules for ppc and ppc64 ebl module.
958 * ppc_init..c: New file.
959 * ppc_destr.c: New file.
960 * ppc_symbol.c: New file.
961 * libebl_ppc.h: New file.
962 * libebl_ppc.map: New file.
963 * ppc64_init..c: New file.
964 * ppc64_destr.c: New file.
965 * ppc64_symbol.c: New file.
966 * libebl_ppc64.h: New file.
967 * libebl_ppc64.map: New file.
969 2004-01-20 Ulrich Drepper <drepper@redhat.com>
971 * Makefile.am: Support building with mudflap.
973 2004-01-18 Ulrich Drepper <drepper@redhat.com>
975 * libeblP.h (_): Use elfutils domain.
977 2004-01-16 Ulrich Drepper <drepper@redhat.com>
979 * eblsectionname.c: Add support for SHN_BEFORE and SHN_AFTER.
981 2004-01-13 Ulrich Drepper <drepper@redhat.com>
983 * eblsegmenttypename.c ((ebl_segment_type_name): Add support for
986 2004-01-08 Ulrich Drepper <drepper@redhat.com>
988 * libebl.h: Remove last traces of libtool.
990 2004-01-05 Ulrich Drepper <drepper@redhat.com>
992 * elf-knowledge.h: Move to libelf subdir.
994 * Makefile.am (EXTRA_DIST): Remove libebl.map.
995 * libebl.map: Removed.
997 2003-12-08 Ulrich Drepper <drepper@redhat.com>
999 * eblsectiontypename.c (ebl_section_type_name): Add support for
1000 SHT_SUNW_move, SHT_CHECKSUM, and SHT_GNU_LIBLIST.
1002 2003-11-19 Ulrich Drepper <drepper@redhat.com>
1004 * ia64_symbol.c (ia64_dynamic_tag_name): New function.
1005 * libebl_ia64.h (ia64_dynamic_tag_name): Declare.
1006 * ia64_init.c (ia64_init): Register i164_dynamic_tag_name.
1008 2003-09-24 Ulrich Drepper <drepper@redhat.com>
1010 * ia64_init.c (ia64_init): Initialize segment_type_name callback.
1011 * ia64_symbol.c (ia64_segment_type_name): Define.
1012 * libebl_ia64.h (ia64_segment_type_name): Declare.
1014 2003-09-22 Ulrich Drepper <drepper@redhat.com>
1016 * Makefile.am (AM_CFLAGS): Add -fpic.
1018 2003-08-14 Ulrich Drepper <drepper@redhat.com>
1020 * Makefile.am (install): Remove dependency on libebl.so.
1022 2003-08-13 Ulrich Drepper <drepper@redhat.com>
1024 * eblopenbackend.c: Adjust relative path to arch-specific DSOs
1025 assuming the code ends up in the application. Add second dlopen()
1026 try without any path, just the filename.
1027 * Makefile.in: Remove rules to build and install libebl.so.
1029 2003-08-11 Ulrich Drepper <drepper@redhat.com>
1031 * Moved to CVS archive.