blob: 96f70ff8d83e46cb7ea75b6fb9f43373e65dd622 [file] [log] [blame]
Roland McGrath804e9ca2010-07-07 16:06:12 -070012010-07-07 Roland McGrath <roland@redhat.com>
2
3 * eblopenbackend.c (default_debugscn_p): Match .gdb_index section.
4
Roland McGrath22359e22010-02-15 15:57:03 -080052010-02-15 Roland McGrath <roland@redhat.com>
6
7 * Makefile.am: Use config/eu.am for common stuff.
8
Roland McGrath0ccbbcd2010-01-04 21:59:07 -080092010-01-04 Roland McGrath <roland@redhat.com>
10
11 * eblcorenote.c (ebl_core_note): Take GElf_Nhdr * and name data
12 pointer instead of only n_type and n_descsz.
13 * libebl.h: Update declaration.
14 * ebl-hooks.h: Update core_note hook signature.
15 * eblopenbackend.c (default_core_note): Likewise.
16
Roland McGrathf80c9072009-10-14 12:35:47 -0700172009-10-14 Roland McGrath <roland@redhat.com>
18
19 * eblobjnote.c (ebl_object_note): Clean up NT_GNU_GOLD_VERSION printing.
20
Roland McGratha14b4eb2009-10-05 11:32:26 -0700212009-10-05 Roland McGrath <roland@redhat.com>
22
23 * eblopenbackend.c (default_debugscn_p): Match .debug_pubtypes and
24 .debug_types too.
25
Petr Machatad3a8b2d2009-09-02 20:46:08 +0200262009-09-02 Petr Machata <pmachata@redhat.com>
27
28 * libebl/eblstrtab.c (morememory): Allocate memory in multiples of
29 pagesize.
30
Petr Machata077a7082009-08-06 18:45:08 +0200312009-08-06 Petr Machata <pmachata@redhat.com>
32
33 * libebl/eblstrtab.c (ebl_strtabfinalize): Only call copystrings
34 if we have any strings to copy.
35
Mark Wielaardbc1b92e2009-07-26 08:33:18 -0700362009-07-26 Mark Wielaard <mjw@redhat.com>
37
Mark Wielaard2f5b79e2009-07-26 14:49:26 -070038 * eblobjnote.c (ebl_object_note): Handle NT_GNU_GOLD_VERSION.
39
Mark Wielaardbc1b92e2009-07-26 08:33:18 -070040 * eblobjnotetypename.c (ebl_object_note_type_name): Recognize
41 NT_GNU_GOLD_VERSION.
42
Roland McGrath3c84db32009-06-24 17:41:40 -0700432009-07-08 Roland McGrath <roland@redhat.com>
44
45 * ebl-hooks.h: Add abi_cfi hook.
46 * eblopenbackend.c (default_abi_cfi): New function.
47 (fill_defaults): Add initializer.
48 * eblabicfi.c: New file.
49 * Makefile.am (gen_SOURCES): Add it.
50 * libebl.h: Declare ebl_abi_cfi.
51
Ulrich Drepper70c442c2009-07-08 00:53:24 -0700522009-07-08 Ulrich Drepper <drepper@redhat.com>
53
54 * eblsymbolbindingname.c (ebl_symbol_binding_name): Handle
55 STB_GNU_UNIQUE.
56
57 * eblsymboltypename.c (ebl_symbol_type_name): Only handle STT_GNU_IFUNC
58 if the binary is marked as being for Linux.
59
Roland McGrathd5ff6672009-04-01 18:28:41 -0700602009-04-01 Roland McGrath <roland@redhat.com>
61
62 * eblsymboltypename.c (ebl_symbol_type_name): Add STT_GNU_IFUNC.
63
64 * eblauxvinfo.c (AUXV_TYPES): Add RANDOM and BASE_PLATFORM.
65
Ulrich Drepper95fa15e2009-02-01 19:06:10 -0800662009-02-01 Ulrich Drepper <drepper@redhat.com>
67
68 * eblreloctypename.c (ebl_reloc_type_name): Return "<INVALID RELOC>"
69 instead of "???" for invalid relocations.
70
Roland McGratha845f682008-12-03 03:41:58 +0000712008-08-01 Roland McGrath <roland@redhat.com>
72
73 * eblcorenotetypename.c: Handle NT_386_IOPERM.
74
Roland McGrath1d8bb252008-08-07 08:39:41 +0000752008-07-28 Roland McGrath <roland@redhat.com>
76
77 * eblauxvinfo.c (AUXV_TYPES): Add EXECFN.
78
79 * eblauxvinfo.c (ebl_auxv_info): Handle missing elements of standard
80 table.
81
822008-07-04 Roland McGrath <roland@redhat.com>
83
84 * libebl.h: Declare ebl_syscall_abi.
85 * ebl_syscall_abi.c: New file.
86 * Makefile.am (gen_SOURCES): Add it.
87 * ebl-hooks.h: New hook syscall_abi.
88 * eblopenbackend.c (default_syscall_abi): New function.
89 (fill_defaults): Use it.
90
Roland McGrath13b69602008-04-01 02:30:05 +0000912008-03-31 Roland McGrath <roland@redhat.com>
92
93 * ebldynamictagname.c (ebl_dynamic_tag_name): Use hex for unknown tag.
94
95 * ebl-hooks.h: Add check_special_section hook.
96 * eblopenbackend.c (fill_defaults): Set new hook to ...
97 (default_check_special_section): ... this, new function.
98 * ebl_check_special_section.c: New file.
99 * Makefile.am (gen_SOURCES): Add it.
100 * libebl.h: Declare it.
101
Roland McGrath059c83e2008-02-21 06:19:39 +00001022008-02-20 Roland McGrath <roland@redhat.com>
103
104 * libebl.h: Declare ebl_check_object_attribute.
105 * eblcheckobjattr.c: New file.
106 * Makefile.am (gen_SOURCES): Add it.
107 * ebl-hooks.h: Add check_object_attribute hook.
108 * eblopenbackend.c (default_check_object_attribute): New function.
109 (fill_defaults): Initialize pointer to it.
110
1112008-02-19 Roland McGrath <roland@redhat.com>
112
113 * eblsectiontypename.c (ebl_section_type_name):
114 Handle SHT_GNU_ATTRIBUTES.
115
1162008-02-08 Roland McGrath <roland@redhat.com>
117
118 * eblcorenotetypename.c (ebl_core_note_type_name): Handle NT_PPC_SPE.
119
1202008-01-30 Roland McGrath <roland@redhat.com>
121
122 * eblcorenotetypename.c (ebl_core_note_type_name): Handle NT_386_TLS.
123
Roland McGrathe4c22ea2007-10-23 13:07:39 +00001242007-10-18 Roland McGrath <roland@redhat.com>
125
126 * eblcorenotetypename.c (ebl_core_note_type_name): Handle NT_PPC_VMX.
127
Ulrich Drepperb597dfa2007-10-16 05:21:27 +00001282007-10-11 Roland McGrath <roland@redhat.com>
129
130 * eblobjnote.c (ebl_object_note): Translate target format (byte-swap)
131 for NT_GNU_ABI_TAG contents.
132
Roland McGrathcb6d8652007-08-23 08:10:54 +00001332007-08-22 Roland McGrath <roland@redhat.com>
134
135 * libebl.h (Ebl_Core_Item): New member `group'.
136
1372007-08-19 Roland McGrath <roland@redhat.com>
138
139 * ebl-hooks.h: Add new hook auxv_info.
140 * eblopenbackend.c (default_auxv_info): New function.
141 (fill_defaults): Initialize auxv_info hook.
142 * eblauxvinfo.c : New file.
143 * Makefile.am (gen_SOURCES): Add it.
144 * libebl.h: Declare ebl_auxv_info.
145
146 * eblcorenote.c: Rewritten with new signature.
147 * Makefile.am (gen_SOURCES): Add it.
148 * libebl.h (Ebl_Register_Location, Ebl_Core_Item): New types.
149 (ebl_core_note_info): Completely revamp signature.
150 * ebl-hooks.h: Update decl.
151 * eblopenbackend.c (default_core_note): Update signature.
152
Roland McGrath87d47802007-07-16 22:23:37 +00001532007-07-09 Roland McGrath <roland@redhat.com>
154
155 * eblobjnotetypename.c (ebl_object_note_type_name): Handle
156 NT_GNU_HWCAP, NT_GNU_BUILD_ID.
157
158 * eblobjnote.c (ebl_object_note): Handle NT_GNU_BUILD_ID.
159
Roland McGrath4be15242007-04-25 03:09:33 +00001602007-04-22 Roland McGrath <roland@redhat.com>
161
162 * eblcorenotetypename.c (ebl_core_note_type_name): Handle NT_PRXFPREG.
163
Ulrich Drepperc07fbb32007-03-30 19:14:59 +00001642007-03-10 Roland McGrath <roland@redhat.com>
165
166 * eblcorenote.c (ebl_core_note): For normally-zero types,
167 print in hex if not zero.
168
Ulrich Drepperaa915fd2007-02-05 07:25:33 +00001692007-01-11 Roland McGrath <roland@redhat.com>
170
171 * ebl-hooks.h (machine_section_flag_check): New hook.
172 * libebl.h: Declare ebl_machine_section_flag_check.
173 * eblmachinesectionflagcheck.c: New file.
174 * Makefile.am (gen_SOURCES): Add it.
175 * eblopenbackend.c (default_machine_section_flag_check): New function.
176 (fill_defaults): Use it.
177
Roland McGrathc373d852006-10-10 00:25:21 +00001782006-09-04 Roland McGrath <roland@redhat.com>
179
180 * ebl-hooks.h: Replace register_name hook with register_info.
181 Also yield natural bit width and base type encoding.
182 * eblopenbackend.c (default_register_name): Renamed
183 default_register_info, new args added.
184 (fill_defaults): Update initialization.
185 * eblregname.c: File renamed ...
186 * eblreginfo.c: ... to this.
187 (ebl_register_name): Renamed to ebl_register_info, new args added.
188 * libebl.h: Update decl.
189
190 * Makefile.am (gen_SOURCES): Update list.
191
Ulrich Drepper28ed8952006-07-07 03:43:47 +00001922006-07-06 Ulrich Drepper <drepper@redhat.com>
193
194 * ebldynamictagname.c: Add support for DT_GNU_HASH.
195 * ebldynamictagcheck.c: Likewise.
196 * eblsectiontypename.c: Add support for SHT_GNU_HASH.
197
1982006-07-05 Ulrich Drepper <drepper@redhat.com>
199
200 * Makefile.am (gen_SOURCES): Add eblsysvhashentrysize.c.
201 * libeblP.h (struct ebl): Add sysvhash_entrysize element.
202 * eblopenbackend.c (fill_defaults): Initialize sysvhash_entrysize.
203
204 * eblopenbackend.c (openbackend): If possible, fill machine, class,
205 and data values in from the ELF file.
206
2072006-07-04 Ulrich Drepper <drepper@redhat.com>
208
209 * Makefile.am (gen_SOURCES): Add eblrelativerelocp.c.
210 * eblrelativerelocp.c: New file.
211 * ebl-hooks.c: Add relative_reloc_p.
212 * eblopenbackend.c (default_relative_reloc_p): New function.
213 (fill_defaults): Hook it up.
214 * libebl.h: Declare ebl_relative_reloc_p.
215
Ulrich Drepper6ca46002006-06-12 22:40:23 +00002162006-06-12 Ulrich Drepper <drepper@redhat.com>
217
218 * Makefile.am (gen_SOURCES): Add eblnonerelocp.c.
219 * eblnonerelocp.c: New file.
220 * ebl-hooks.c: Add none_reloc_p.
221 * eblopenbackend.c (default_none_reloc_p): New function.
222 (fill_defaults): Hook it up.
223 * libebl.h: Declare ebl_none_reloc_p.
224
Ulrich Drepper41cbd762006-05-27 18:19:23 +00002252006-05-27 Ulrich Drepper <drepper@redhat.com>
226
227 * libebl.h: Add extern "C".
228
Roland McGrath994b4892005-12-05 22:46:21 +00002292005-11-25 Roland McGrath <roland@redhat.com>
230
231 * eblregname.c: New file.
232 * Makefile.am (gen_SOURCES): Add it.
233 * ebl-hooks.h: Declare register_name hook.
234 * libebl.h: Declare ebl_register_name.
235 * eblopenbackend.c (default_register_name): New function.
236 (fill_defaults): Use it.
237
Roland McGrath215c6322005-11-16 22:46:04 +00002382005-11-16 Roland McGrath <roland@redhat.com>
239
240 * libebl.h: Use "" for elf-knowledge.h, not <>.
241
Roland McGrathe47ab762005-11-17 03:16:00 +00002422005-11-15 Roland McGrath <roland@redhat.com>
243
244 * Makefile.am: Removed everything for building libebl_*.so modules,
245 now in ../backends/Makefile.am instead.
246 * alpha_init.c: Moved to ../backends.
247 * alpha_reloc.def: Likewise.
248 * alpha_retval.c: Likewise.
249 * alpha_symbol.c: Likewise.
250 * arm_init.c: Likewise.
251 * arm_reloc.def: Likewise.
252 * arm_symbol.c: Likewise.
253 * common-reloc.c: Likewise.
254 * i386_corenote.c: Likewise.
255 * i386_init.c: Likewise.
256 * i386_reloc.def: Likewise.
257 * i386_retval.c: Likewise.
258 * i386_symbol.c: Likewise.
259 * ia64_init.c: Likewise.
260 * ia64_reloc.def: Likewise.
261 * ia64_symbol.c: Likewise.
262 * libebl_CPU.h: Likewise.
263 * ppc64_init.c: Likewise.
264 * ppc64_reloc.def: Likewise.
265 * ppc64_retval.c: Likewise.
266 * ppc64_symbol.c: Likewise.
267 * ppc_init.c: Likewise.
268 * ppc_reloc.def: Likewise.
269 * ppc_retval.c: Likewise.
270 * ppc_symbol.c: Likewise.
271 * s390_init.c: Likewise.
272 * s390_reloc.def: Likewise.
273 * s390_symbol.c: Likewise.
274 * sh_init.c: Likewise.
275 * sh_reloc.def: Likewise.
276 * sh_symbol.c: Likewise.
277 * sparc_init.c: Likewise.
278 * sparc_reloc.def: Likewise.
279 * sparc_symbol.c: Likewise.
280 * x86_64_corenote.c: Likewise.
281 * x86_64_init.c: Likewise.
282 * x86_64_reloc.def: Likewise.
283 * x86_64_retval.c: Likewise.
284 * x86_64_symbol.c: Likewise.
285
286 * libebl.h: Comment fixes.
287
288 * alpha_retval.c: New file.
289 * Makefile.am (alpha_SRCS): Add it.
290 * alpha_init.c (alpha_init): Initialize return_value_location hook.
291
292 * ppc64_retval.c: New file.
293 * Makefile.am (ppc64_SRCS): Add it.
294 * ppc64_init.c (ppc64_init): Initialize return_value_location hook.
295
296 * ppc_retval.c: New file.
297 * Makefile.am (ppc_SRCS): Add it.
298 * ppc_init.c (ppc_init): Initialize return_value_location hook.
299
Roland McGrathcd60ea82005-11-16 01:57:40 +00003002005-11-14 Roland McGrath <roland@redhat.com>
301
302 * ia64_init.c (ia64_init): Initialize EH->reloc_simple_type.
303 * sh_init.c (sh_init): Likewise.
304 * x86_64_init.c (x86_64_init): Likewise.
305
306 * sparc_symbol.c (sparc_reloc_simple_type): New function.
307 * sparc_init.c (sparc_init): Use it.
308
309 * arm_symbol.c (arm_reloc_simple_type): New function.
310 * arm_init.c (arm_init): Use it.
311
312 * alpha_symbol.c (alpha_reloc_simple_type): New function.
313 * alpha_init.c (alpha_init): Use it.
314
315 * ia64_reloc.def: Update bits per H. J. Lu <hjl@lucon.org>.
316
317 * arm_reloc.def: Update bits per Daniel Jacobowitz <drow@false.org>.
318
319 * alpha_reloc.def: Update bits per Richard Henderson <rth@redhat.com>.
320
Roland McGrathe47ab762005-11-17 03:16:00 +00003212005-11-13 Roland McGrath <roland@redhat.com>
322
323 * x86_64_retval.c: New file.
324 * Makefile.am (x86_64_SRCS): Add it.
325 * x86_64_init.c (x86_64_init): Use x86_64_return_value_location.
326
327 * i386_retval.c: New file.
328 * Makefile.am (i386_SRCS): Add it.
329 (libdw): New variable.
330 (libebl_%.so): Use $(libdw) in link; use --as-needed.
331 * i386_init.c (i386_init): Use i386_return_value_location.
332
333 * eblretval.c: New file.
334 * Makefile.am (gen_SOURCES): Add it.
335 (INCLUDES): Search in libdw.
336 * libebl.h: Include <libdw.h>. Declare ebl_return_value_location.
337 * ebl-hooks.h: Declare return_value_location hook.
338 * eblopenbackend.c (default_return_value_location): New function.
339 (fill_defaults): Use it.
340
Roland McGrathcd60ea82005-11-16 01:57:40 +00003412005-11-10 Roland McGrath <roland@redhat.com>
342
343 * s390_init.c: New file.
344 * s390_reloc.def: New file.
345 * s390_symbol.c: New file.
346 * Makefile.am (modules, libebl_pic): Add s390.
347 (s390_SRCS, libebl_s390_pic_a_SOURCES): New variables.
348 (am_libebl_s390_pic_a_OBJECTS): New variable.
349
350 * ppc64_init.c: Use common-reloc.c.
351 * ppc64_symbol.c (ppc64_backend_name): Removed.
352 (ppc64_reloc_type_check, ppc64_reloc_type_name): Likewise.
353 (ppc64_copy_reloc_p, ppc64_reloc_valid_use): Likewise.
354
355 * ppc_init.c: Use common-reloc.c.
356 * ppc_symbol.c (ppc_backend_name): Removed.
357 (ppc_reloc_type_name, ppc_reloc_type_check): Likewise.
358 (ppc_reloc_valid_use, ppc_copy_reloc_p): Likewise.
359
360 * sparc_init.c: Use common-reloc.c.
361 * sparc_symbol.c (sparc_backend_name): Removed.
362 (sparc_reloc_type_name, sparc_reloc_type_check): Likewise.
363 (sparc_copy_reloc_p): Likewise.
364
365 * arm_init.c: Use common-reloc.c.
366 * arm_symbol.c (arm_backend_name): Removed.
367 (arm_reloc_type_name, arm_reloc_type_check, arm_copy_reloc_p): Removed.
368
369 * alpha_init.c: Use common-reloc.c.
370 * alpha_symbol.c (alpha_backend_name): Removed.
371 (alpha_reloc_type_name, alpha_reloc_type_check): Likewise.
372 (alpha_copy_reloc_p): Likewise.
373
374 * ia64_symbol.c (ia64_backend_name): Removed.
375 (ia64_reloc_type_name, ia64_reloc_type_check): Likewise.
376 (ia64_copy_reloc_p): Likewise.
377
378 * x86_64_init.c: Use common-reloc.c.
379 * x86_64_symbol.c (x86_64_backend_name): Removed.
380 (x86_64_copy_reloc_p, x86_64_reloc_valid_use): Likewise.
381 (x86_64_reloc_type_check, x86_64_reloc_type_name): Likewise.
382
383 * sh_init.c: Use common-reloc.c.
384 * sh_symbol.c: All functions removed.
385 (sh_reloc_simple_type): New function.
386 (sh_gotpc_reloc_check): New function.
387
388 * common-reloc.c: New file.
389 * Makefile.am (noinst_HEADERS): Add it.
390 * i386_init.c: Include it.
391
392 * sh_reloc.def: New file.
393 * i386_reloc.def: New file.
394 * alpha_reloc.def: New file.
395 * arm_reloc.def: New file.
396 * i386_reloc.def: New file.
397 * ia64_reloc.def: New file.
398 * ppc64_reloc.def: New file.
399 * ppc_reloc.def: New file.
400 * sh_reloc.def: New file.
401 * sparc_reloc.def: New file.
402 * x86_64_reloc.def: New file.
403 * Makefile.am (EXTRA_DIST): Add $(modules:=_reloc.def).
404
405 * libebl_alpha.map: Removed.
406 * libebl_ia64.map: Removed.
407 * libebl_ppc.map: Removed.
408 * libebl_sparc.map: Removed.
409 * libebl_arm.map: Removed.
410 * libebl_i386.map: Removed.
411 * libebl_ppc64.map: Removed.
412 * libebl_sh.map: Removed.
413 * libebl_x86_64.map: Removed.
414 * Makefile.am (EXTRA_DIST): Remove them.
415 (libebl_%.map, libebl_%.so): New pattern rules.
416
417 * libebl_alpha.h: Removed.
418 * libebl_ia64.h: Removed.
419 * libebl_ppc.h: Removed.
420 * libebl_sparc.h: Removed.
421 * libebl_arm.h: Removed.
422 * libebl_i386.h: Removed.
423 * libebl_ppc64.h: Removed.
424 * libebl_sh.h: Removed.
425 * libebl_x86_64.h: Removed.
426 * Makefile.am (noinst_HEADERS): Remove them.
427
428 * x86_64_corenote.c: Use libebl_CPU.h instead.
429 * x86_64_symbol.c: Likewise.
430 * i386_corenote.c: Likewise.
431
4322005-11-09 Roland McGrath <roland@redhat.com>
433
434 * ia64_symbol.c (ia64_reloc_simple_type): New function.
435
436 * ebl-hooks.h (reloc_simple_type): Take the Ebl handle, not Elf handle.
437 * eblrelocsimpletype.c (ebl_reloc_simple_type): Update caller.
438 * eblopenbackend.c (default_reloc_simple_type): Update signature.
439 * i386_symbol.c (i386_reloc_simple_type): Likewise.
440 * ppc64_symbol.c (ppc64_reloc_simple_type): Likewise.
441 * ppc_symbol.c (ppc_reloc_simple_type): Likewise.
442 * x86_64_symbol.c (x86_64_reloc_simple_type): Likewise.
443
444 * i386_symbol.c (i386_backend_name): Removed.
445 (i386_reloc_type_name, i386_reloc_type_check): Likewise.
446 (i386_reloc_valid_use): Removed.
447 (i386_copy_reloc_p): Removed.
448
449 * alpha_destr.c: Removed.
450 * arm_destr.c: Removed.
451 * i386_destr.c: Removed.
452 * ia64_destr.c: Removed.
453 * ppc64_destr.c: Removed.
454 * ppc_destr.c: Removed.
455 * sh_destr.c: Removed.
456 * sparc_destr.c: Removed.
457 * x86_64_destr.c: Removed.
458
459 * ebl-hooks.h: New file, broken out of ...
460 * libeblP.h (struct ebl): ... here. #include that for hook
461 declarations, after defining EBLHOOK macro.
462 * libebl_CPU.h: New file.
463 * Makefile.am (noinst_HEADERS): Add them.
464
465 * libeblP.h (struct ebl): Use uint_fast16_t for machine,
466 and uint_fast8_t for class and data.
467
4682005-08-14 Roland McGrath <roland@redhat.com>
469
470 * ia64_symbol.c (ia64_section_type_name): New function.
471 (ia64_dynamic_tag_check): New function.
472 (ia64_reloc_valid_use): New function.
473 * libebl_ia64.h: Declare them.
474 * ia64_init.c (ia64_init): Use them.
475 * Makefile.am (libebl_ia64.so): Link with libelf.
476
Ulrich Drepperfbe998a2005-08-29 16:27:10 +00004772005-08-28 Ulrich Drepper <drepper@redhat.com>
478
479 * Makefile.am: Use $(LINK) not $(CC) when creating DSOs.
480
Roland McGrathe53d04a2005-08-13 20:56:07 +00004812005-08-13 Roland McGrath <roland@redhat.com>
482
483 * ia64_symbol.c (ia64_machine_flag_check): New function.
484 * libebl_ia64.h: Declare it.
485 * ia64_init.c (ia64_init): Use it.
486
Ulrich Drepperc5c33a62005-08-13 17:50:47 +00004872005-08-13 Ulrich Drepper <drepper@redhat.com>
488
489 * libebl.h: Add ehdr parameter to ebl_bss_plt_p and
490 ebl_check_special_symbol.
491 * libeblP.h (struct ebl): Adjust callback functions.
492 * eblopenbackend.c: Adjust dummy functions.
493 * ebl_check_special_symbol.c: Add parameter and pass it on.
494 * eblbsspltp.c: Likewise.
495 * ppc_symbol.c (find_dyn_got): With ehdr passed, simplify search for
496 the dynamic section entry.
497 (ppc_check_special_symbol): Add ehdr parameter.
498 (ppc_bss_plt_p): Likewise.
499 * libebl_ppc.h: Adjust prototypes.
500 * ppc64_symbol.c (ppc_check_special_symbol): Add ehdr parameter.
501 (ppc_bss_plt_p): Likewise.
502 * libebl_ppc64.h: Adjust prototypes.
503
Roland McGrath653d3762005-08-13 01:59:10 +00005042005-08-12 Roland McGrath <roland@redhat.com>
505
Roland McGrathf8873cb2005-08-13 03:26:06 +0000506 * ppc_symbol.c (find_dyn_got): New function, broken out of ...
507 (ppc_bss_plt_p): ... here. Call that.
508 (ppc_check_special_symbol): Use find_dyn_got to fetch value to check
509 against _GLOBAL_OFFSET_TABLE_.
510
Roland McGrath653d3762005-08-13 01:59:10 +0000511 * libeblP.h (struct ebl): Add bss_plt_p hook.
512 * eblopenbackend.c (default_bss_plt_p): New function.
513 (fill_defaults): Use it.
514 * eblbsspltp.c: New file.
515 * Makefile.am (gen_SOURCES): Add it.
516 * libebl.h: Declare ebl_bss_plt_p.
517 * ppc_symbol.c (ppc_bss_plt_p): New function.
518 * libebl_ppc.h: Declare it.
519 * ppc_init.c (ppc_init): Use it.
520 * ppc64_symbol.c (ppc64_bss_plt_p): New function.
521 * libebl_ppc64.h: Declare it.
522 * ppc64_init.c (ppc64_init): Use it.
523
524 * ebl_check_special_symbol.c: New file.
525 * Makefile.am (gen_SOURCES): Add it.
526 * libebl.h: Declare ebl_check_special_symbol.
527 * libeblP.h (struct ebl): Add check_special_symbol hook.
528 * eblopenbackend.c (default_check_special_symbol): New function.
529 (fill_defaults): Use it.
530 * ppc_symbol.c (ppc_check_special_symbol): New function.
531 * libebl_ppc.h: Add prototype.
532 * ppc_init.c (ppc_init): Use it.
533 * ppc64_symbol.c (ppc64_check_special_symbol): New function.
534 * libebl_ppc64.h: Add prototype.
535 * ppc64_init.c (ppc64_init): Use it.
536
Ulrich Drepperb03b0572005-08-07 08:12:22 +00005372005-08-07 Ulrich Drepper <drepper@redhat.com>
538
539 * ppc_init.c: Add support for new DT_PPC_* and R_PPC_* values.
540 * ppc_symbol.c: Likewise.
541 * libebl_ppc.h: Likewise.
542 * ppc64_init.c: There is now also a dynamic_tag_check functions
543 * ppc64_symbol.c: Add dynamic_tag_check.
544 * libebl_ppc64.h: Add prototype.
545 * alpha_init.c: Add support for new DT_ALPHA_* value.
546 * alpha_symbol.c: Likewise.
547 * libebl_alpha.h: Likewise.
548
Ulrich Drepper6fcb3832005-08-03 21:10:49 +00005492005-08-03 Ulrich Drepper <drepper@redhat.com>
550
551 * libebl_alpha.map: Remove unnecessary exports.
552 * libebl_arm.map: Likewise.
553 * libebl_i386.map: Likewise.
554 * libebl_ia64.map: Likewise.
555 * libebl_ppc.map: Likewise.
556 * libebl_ppc64.map: Likewise.
557 * libebl_sh.map: Likewise.
558 * libebl_sparc.map: Likewise.
559 * libebl_x86_64.map: Likewise.
560
Ulrich Dreppera38998e2005-08-03 02:05:39 +00005612005-08-02 Ulrich Drepper <drepper@redhat.com>
562
563 * Makefile.am (libebl_a_SOURCES): Add eblelfclass.c, eblelfdata.c,
564 and eblelfmachine.c.
565 * elbopenbackend.c (machines): Add class and data fields. Initialize
566 them.
567 (ebl_openbackend): Initialize machine, class, data fields in result.
568 * libebl.h: Declare Add eblelfclass, eblelfdata, and eblelfmachine.
569 * libeblP.h (Ebl): Add machine, class, data fields.
570
Ulrich Drepperb08d5a82005-07-26 05:00:05 +00005712005-07-23 Ulrich Drepper <drepper@redhat.com>
572
573 * eblsectionstripp.c: New file.
574 * Makefile.am (gen_SOURCES): Add eblsectionstripp.c.
575 * i386_init.c (i386_init): Install specific debugscn_p callback.
576 * i386_symbol.c (i386_debugscn_p): New function.
577 * libebl.h: Declare ebl_section_strip_p.
578 * libebl_i386.h: Declare i386_debugscn_p.
579
580 * libebl.h: Move Ebl definition to...
581 * libeblP.h: ...here.
582
5832005-07-21 Roland McGrath <roland@redhat.com>
584
585 * Makefile.am (install-ebl-modules): New target, commands from ...
586 (install): ... here. Make this depend on it.
587 (LIBEBL_SUBDIR): New variable, substituted by configure.
588 (install-ebl-modules): Install in $(libdir)/$(LIBEBL_SUBDIR).
589 * eblopenbackend.c (openbackend): Use LIBEBL_SUBDIR in module name.
590
5912005-07-21 Ulrich Drepper <drepper@redhat.com>
592
593 * eblcopyrelocp.c: New file.
594 * Makefile.am (gen_SOURCES): Add eblcopyrelocp.c.
595 * libebl.h: Declare ebl_copy_reloc_p.
596 * eblopenbackend.c (fill_defaults): Fill in copy_reloc_p.
597 (default_copy_reloc_p): New function.
598 * alpha_init.c: Define and use arch-specific copy_reloc_p function.
599 * alpha_symbol.c: Likewise.
600 * arm_init.c: Likewise.
601 * arm_symbol.c: Likewise.
602 * i386_init.c: Likewise.
603 * i386_symbol.c: Likewise.
604 * ia64_init.c: Likewise.
605 * ia64_symbol.c: Likewise.
606 * ppc64_init.c: Likewise.
607 * ppc64_symbol.c: Likewise.
608 * ppc_init.c: Likewise.
609 * ppc_symbol.c: Likewise.
610 * sh_init.c: Likewise.
611 * sh_symbol.c: Likewise.
612 * sparc_init.c: Likewise.
613 * sparc_symbol.c: Likewise.
614 * x86_64_init.c: Likewise.
615 * x86_64_symbol.c: Likewise.
616 * libebl_alpha.h: Declare the copy_reloc_p function.
617 * libebl_arm.h: Likewise.
618 * libebl_i386.h: Likewise.
619 * libebl_ia64.h: Likewise.
620 * libebl_ppc.h: Likewise.
621 * libebl_ppc64.h: Likewise.
622 * libebl_sh.h: Likewise.
623 * libebl_sparc.h: Likewise.
624 * libebl_x86_64.h: Likewise.
625
6262005-05-31 Roland McGrath <roland@redhat.com>
627
628 * Makefile.am (libebl_*_so_SOURCES): Set to $(*_SRCS) so dependency
629 tracking works right.
630
6312005-05-21 Ulrich Drepper <drepper@redhat.com>
632
633 * libebl_x86_64.map: Add x86_64_core_note.
634
6352005-05-19 Roland McGrath <roland@redhat.com>
636
637 * libebl_i386.map: Add i386_reloc_valid_use, i386_reloc_simple_type.
638 * libebl_ppc.map: Add ppc_reloc_simple_type.
639 * libebl_ppc64.map: Add ppc64_reloc_simple_type.
640 * libebl_x86_64.map: Add x86_64_reloc_simple_type.
641
6422005-05-11 Ulrich Drepper <drepper@redhat.com>
643
644 * eblcorenote.c: Handle new AT_* values and files with different
645 endianess.
646 * Makefile.am (x86_64_SRCS): Add x86_64_corenote.c.
647 * x86-64_corenote.c: New file.
648 * x86_64_init.c: Hook in x86_64_corenote.
649 * i386_corenote.c: Make file usable on 64-bit platforms.
650
651 * eblopenbackend.c: If modules version comparison fails, reinitialize
652 hooks.
653
6542005-05-10 Ulrich Drepper <drepper@redhat.com>
655
656 * eblopenbackend.c: Require the init function to return a string.
657 Compare it with MODVERSION from config.h.
658 * alpha_init.c: Change return type. Return MODVERSION or NULL.
659 * arm_init.c: Likewise.
660 * eblopenbackend.c: Likewise.
661 * i386_init.c: Likewise.
662 * ia64_init.c: Likewise.
663 * ppc64_init.c: Likewise.
664 * ppc_init.c: Likewise.
665 * sh_init.c: Likewise.
666 * sparc_init.c: Likewise.
667 * x86_64_init.c: Likewise.
668 * libeblP.h: Adjust ebl_bhinit_t.
669 * libebl_alpha.h: Adjust init function prototype.
670 * libebl_arm.h: Likewise.
671 * libebl_i386.h: Likewise.
672 * libebl_ia64.h: Likewise.
673 * libebl_ppc.h: Likewise.
674 * libebl_ppc64.h: Likewise.
675 * libebl_sh.h: Likewise.
676 * libebl_sparc.h: Likewise.
677 * libebl_x86_64.h: Likewise.
678
679 * mips_destr.c: Removed.
680 * mips_init.c: Removed.
681 * mips_symbol.c: Removed.
682 * libebl_mips.h: Removed.
683 * libebl_mips.map: Removed.
684
6852005-05-03 Roland McGrath <roland@redhat.com>
686
687 * libebl.h (Ebl): Add `reloc_simple_type' member.
688 * eblopenbackend.c (default_reloc_simple_type): New function.
689 (openbackend): Use that as default reloc_simple_type callback.
690 * eblrelocsimpletype.c: New file.
691 * Makefile.am (gen_SOURCES): Add it.
692 * i386_symbol.c (i386_reloc_simple_type): New function.
693 * libebl_i386.h: Declare it.
694 * i386_init.c (i386_init): Use it.
695 * x86_64_symbol.c (x86_64_reloc_simple_type): New function.
696 * libebl_x86_64.h: Declare it.
697 * x86_64_init.c (x86_64_init): Use it.
698 * ppc_symbol.c (ppc_reloc_simple_type): New function.
699 * libebl_ppc.h: Declare it.
700 * ppc_init.c (ppc_init): Use it.
701 * ppc64_symbol.c (ppc64_reloc_simple_type): New function.
702 * libebl_ppc64.h: Declare it.
703 * ppc64_init.c (ppc64_init): Use it.
704
7052005-03-17 Ulrich Drepper <drepper@redhat.com>
706
707 * eblcorenote.c (ebl_core_note): Add support for AT_SECURE.
708
7092005-02-15 Ulrich Drepper <drepper@redhat.com>
710
711 * Makefile.am (AM_CFLAGS): Add -Wformat=2.
712
7132005-02-14 Ulrich Drepper <drepper@redhat.com>
714
715 * alpha_destr.c: Add __attribute__((unused)) where needed.
716 * alpha_init.c: Likewise.
717 * alpha_symbol.c: Likewise.
718 * arm_destr.c: Likewise.
719 * arm_init.c: Likewise.
720 * arm_symbol.c: Likewise.
721 * i386_corenote.c: Likewise.
722 * i386_destr.c: Likewise.
723 * i386_init.c: Likewise.
724 * i386_symbol.c: Likewise.
725 * ia64_destr.c: Likewise.
726 * ia64_init.c: Likewise.
727 * ia64_symbol.c: Likewise.
728 * mips_destr.c: Likewise.
729 * mips_init.c: Likewise.
730 * mips_symbol.c: Likewise.
731 * ppc64_destr.c: Likewise.
732 * ppc64_init.c: Likewise.
733 * ppc64_symbol.c: Likewise.
734 * ppc_destr.c: Likewise.
735 * ppc_init.c: Likewise.
736 * ppc_symbol.c: Likewise.
737 * sh_destr.c: Likewise.
738 * sh_init.c: Likewise.
739 * sh_symbol.c: Likewise.
740 * sparc_destr.c: Likewise.
741 * sparc_init.c: Likewise.
742 * sparc_symbol.c: Likewise.
743 * x86_64_destr.c: Likewise.
744 * x86_64_init.c: Likewise.
745 * x86_64_symbol.c: Likewise.
746
747 * x86_64_symbol.c (reloc_map_table): Fix entries for R_X86_64_64
748 and R_X86_64_32..
749
7502005-02-06 Ulrich Drepper <drepper@redhat.com>
751
752 * eblstrtab.c: A few cleanups.
753
754 * eblopenbackend.c: Mark unused parameters.
755
756 * eblgstrtab.c: Cleanups a few printf format strings.
757
758 * Makefile.am: Cleanup AM_CFLAGS handling. Add -Wunused -Wextra.
759
7602005-02-05 Ulrich Drepper <drepper@redhat.com>
761
762 * Makefile.am: Check for text relocations in constructed DSOs.
763
764 * eblstrtab.c: Minor cleanups.
765
766 * Makefile.am (AM_CFLAGS): Add -std=gnu99 and -fmudflap for MUDFLAP.
767
7682004-08-16 Ulrich Drepper <drepper@redhat.com>
769
770 * Makefile.am (AM_CFLAGS): Add LIBSTR definition with base name of
771 the lib directory.
772 * eblopenbackend.c (openbackend): Use LIBSTR instead of hardcoded
773 lib in path to ebl modules.
774
7752004-04-01 Ulrich Drepper <drepper@redhat.com>
776
777 * Makefile.am: Add rules for ppc and ppc64 ebl module.
778 * ppc_init..c: New file.
779 * ppc_destr.c: New file.
780 * ppc_symbol.c: New file.
781 * libebl_ppc.h: New file.
782 * libebl_ppc.map: New file.
783 * ppc64_init..c: New file.
784 * ppc64_destr.c: New file.
785 * ppc64_symbol.c: New file.
786 * libebl_ppc64.h: New file.
787 * libebl_ppc64.map: New file.
788
7892004-01-20 Ulrich Drepper <drepper@redhat.com>
790
791 * Makefile.am: Support building with mudflap.
792
7932004-01-18 Ulrich Drepper <drepper@redhat.com>
794
795 * libeblP.h (_): Use elfutils domain.
796
7972004-01-16 Ulrich Drepper <drepper@redhat.com>
798
799 * eblsectionname.c: Add support for SHN_BEFORE and SHN_AFTER.
800
8012004-01-13 Ulrich Drepper <drepper@redhat.com>
802
803 * eblsegmenttypename.c ((ebl_segment_type_name): Add support for
804 PT_GNU_RELRO.
805
8062004-01-08 Ulrich Drepper <drepper@redhat.com>
807
808 * libebl.h: Remove last traces of libtool.
809
8102004-01-05 Ulrich Drepper <drepper@redhat.com>
811
812 * elf-knowledge.h: Move to libelf subdir.
813
814 * Makefile.am (EXTRA_DIST): Remove libebl.map.
815 * libebl.map: Removed.
816
8172003-12-08 Ulrich Drepper <drepper@redhat.com>
818
819 * eblsectiontypename.c (ebl_section_type_name): Add support for
820 SHT_SUNW_move, SHT_CHECKSUM, and SHT_GNU_LIBLIST.
821
8222003-11-19 Ulrich Drepper <drepper@redhat.com>
823
824 * ia64_symbol.c (ia64_dynamic_tag_name): New function.
825 * libebl_ia64.h (ia64_dynamic_tag_name): Declare.
826 * ia64_init.c (ia64_init): Register i164_dynamic_tag_name.
827
8282003-09-24 Ulrich Drepper <drepper@redhat.com>
829
830 * ia64_init.c (ia64_init): Initialize segment_type_name callback.
831 * ia64_symbol.c (ia64_segment_type_name): Define.
832 * libebl_ia64.h (ia64_segment_type_name): Declare.
833
8342003-09-22 Ulrich Drepper <drepper@redhat.com>
835
836 * Makefile.am (AM_CFLAGS): Add -fpic.
837
8382003-08-14 Ulrich Drepper <drepper@redhat.com>
839
840 * Makefile.am (install): Remove dependency on libebl.so.
841
8422003-08-13 Ulrich Drepper <drepper@redhat.com>
843
844 * eblopenbackend.c: Adjust relative path to arch-specific DSOs
845 assuming the code ends up in the application. Add second dlopen()
846 try without any path, just the filename.
847 * Makefile.in: Remove rules to build and install libebl.so.
848
8492003-08-11 Ulrich Drepper <drepper@redhat.com>
850
851 * Moved to CVS archive.