Roland McGrath [Sat, 27 Aug 2005 10:33:26 +0000 (10:33 +0000)]
libdw/
2005-08-27 Roland McGrath <roland@redhat.com>
* dwarf_getscopes.c (dwarf_getscopes): Rewritten using
__libdw_visit_scopes.
* dwarf_getscopes_die.c: New file.
* Makefile.am (libdw_a_SOURCES): Add it.
* libdw.h: Declare dwarf_getscopes_die.
* libdw.map: Bump to 0.115 and add it.
* libdw_visit_scopes.c (__libdw_visit_scopes): Pass a struct
containing a DIE and its parent pointer, instead of just Dwarf_Die.
Take two functions for both preorder and postorder visitors.
* libdwP.h: Update decl.
(struct Dwarf_Die_Chain): New type.
* dwarf_func_inline.c: Update uses.
* dwarf_diename.c (dwarf_diename): Use dwarf_attr_integrate.
Add INTDEF.
* libdwP.h: Add INTDECL.
* dwarf_func_name.c (dwarf_func_name): Use dwarf_diename.
src/
2005-08-27 Roland McGrath <roland@redhat.com>
* addr2line.c (dwarf_diename_integrate): Function removed.
(print_dwarf_function): Use plain dwarf_diename.
tests/
2005-08-27 Roland McGrath <roland@redhat.com>
* run-funcscopes.sh: New file.
* testfile25.bz2: New data file.
* Makefile.am (TESTS, EXTRA_DIST): Add them.
2005-08-26 Roland McGrath <roland@redhat.com>
* addrscopes.c (dwarf_diename_integrate): Removed.
(print_vars, handle_address): Use plain dwarf_diename.
2005-08-25 Roland McGrath <roland@redhat.com>
* funcscopes.c: New file.
* Makefile.am (noinst_PROGRAMS): Add it.
(funcscopes_LDADD): New variable.
* run-addrscopes.sh: Add another case.
* testfile24.bz2: New data file.
* Makefile.am (EXTRA_DIST): Add it.
* addrscopes.c (handle_address): Take new argument IGNORE_INLINES,
pass it to dwarf_getscopes.
(main): Pass it, true when '=' follows an address.
Roland McGrath [Mon, 15 Aug 2005 09:53:04 +0000 (09:53 +0000)]
libdw/
2005-08-15 Roland McGrath <roland@redhat.com>
* dwarf_func_inline.c: New file.
* Makefile.am (libdw_a_SOURCES): Add it.
* libdw.h: Declare dwarf_func_inline, dwarf_func_inline_instances.
* libdw.map: Add them.
* dwarf_func_die.c: New file.
* Makefile.am (libdw_a_SOURCES): Add it.
* libdw.h: Declare dwarf_func_die.
* libdw.map: Add it. Bump version to ELFUTILS_0.114.
tests/
2005-08-15 Roland McGrath <roland@redhat.com>
Roland McGrath [Sat, 13 Aug 2005 20:56:52 +0000 (20:56 +0000)]
2005-08-13 Roland McGrath <roland@redhat.com>
* elflint.c (check_program_header): Use ebl_segment_type_name and
allow any p_type it recognizes. Include p_type value in error
message for unknown type.
Roland McGrath [Sat, 13 Aug 2005 03:26:06 +0000 (03:26 +0000)]
libebl/
2005-08-12 Roland McGrath <roland@redhat.com>
* ppc_symbol.c (find_dyn_got): New function, broken out of ...
(ppc_bss_plt_p): ... here. Call that.
(ppc_check_special_symbol): Use find_dyn_got to fetch value to check
against _GLOBAL_OFFSET_TABLE_.
Roland McGrath [Sat, 13 Aug 2005 01:59:10 +0000 (01:59 +0000)]
libebl/
2005-08-12 Roland McGrath <roland@redhat.com>
* libeblP.h (struct ebl): Add bss_plt_p hook.
* eblopenbackend.c (default_bss_plt_p): New function.
(fill_defaults): Use it.
* eblbsspltp.c: New file.
* Makefile.am (gen_SOURCES): Add it.
* libebl.h: Declare ebl_bss_plt_p.
* ppc_symbol.c (ppc_bss_plt_p): New function.
* libebl_ppc.h: Declare it.
* ppc_init.c (ppc_init): Use it.
* ppc64_symbol.c (ppc64_bss_plt_p): New function.
* libebl_ppc64.h: Declare it.
* ppc64_init.c (ppc64_init): Use it.
* ebl_check_special_symbol.c: New file.
* Makefile.am (gen_SOURCES): Add it.
* libebl.h: Declare ebl_check_special_symbol.
* libeblP.h (struct ebl): Add check_special_symbol hook.
* eblopenbackend.c (default_check_special_symbol): New function.
(fill_defaults): Use it.
* ppc_symbol.c (ppc_check_special_symbol): New function.
* libebl_ppc.h: Add prototype.
* ppc_init.c (ppc_init): Use it.
* ppc64_symbol.c (ppc64_check_special_symbol): New function.
* libebl_ppc64.h: Add prototype.
* ppc64_init.c (ppc64_init): Use it.
src/
2005-08-12 Roland McGrath <roland@redhat.com>
* elflint.c (check_symtab): Check that _GLOBAL_OFFSET_TABLE_ st_shndx
refers to the right section if it's not SHN_ABS.
Let ebl_check_special_symbol override _G_O_T_ value and size checks.
* elflint.c (check_sections): Don't complain about a non-NOBITS
section taking no segment space, if it's sh_size is 0.
* elflint.c (check_sections): Use ebl_bss_plt_p to see if .plt should
be PROGBITS or NOBITS.
* elflint.c (check_symtab): Use ebl_check_special_symbol to override
standard st_value and st_size checks.
Ulrich Drepper [Wed, 3 Aug 2005 00:02:56 +0000 (00:02 +0000)]
Add several more elflint tests:
- check whether dynamic section matches PT_DYNAMIC program header entry
- make sure text relocation flag is used correctly
Merge all of libdwfl.a into libdw.a. libdwfl.a is not installed.
Fix building of libdwfl. libdwfl.a must not depend on libwu.a
since the latter is not available after installation. Add copies
of the crc32 files to libdwfl.