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