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