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