summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--NEWS6
-rw-r--r--libdw/ChangeLog8
-rw-r--r--libdw/dwarf_child.c4
-rw-r--r--libdw/dwarf_getabbrev.c4
-rw-r--r--libdw/dwarf_tag.c4
-rw-r--r--libdw/libdw_form.c4
-rw-r--r--libdw/memory-access.c6
-rw-r--r--libdwfl/=ideas16
-rw-r--r--libdwfl/=oops88
-rw-r--r--libdwfl/ChangeLog9
-rw-r--r--libdwfl/cu.c4
-rw-r--r--libdwfl/dwfl_error.c6
-rw-r--r--libdwfl/dwfl_module.c2
-rw-r--r--libdwfl/dwfl_module_getdwarf.c2
-rw-r--r--libdwfl/lines.c4
-rw-r--r--libdwfl/relocate.c4
-rw-r--r--libelf/ChangeLog7
-rw-r--r--libelf/elf32_updatefile.c4
-rw-r--r--libelf/elf32_updatenull.c2
-rw-r--r--libelf/elf_begin.c6
-rw-r--r--libelf/elf_getdata.c2
-rw-r--r--src/ChangeLog17
-rw-r--r--src/addr2line.c4
-rw-r--r--tests/Makefile.am4
24 files changed, 148 insertions, 69 deletions
diff --git a/NEWS b/NEWS
index a4d7c988..8d7685c9 100644
--- a/NEWS
+++ b/NEWS
@@ -1,8 +1,6 @@
Version 0.122:
-libdwfl: New functions dwfl_module_getsymtab, dwfl_module_getsym.
-
-libebl:add function to test for relative relocation
+libebl: add function to test for relative relocation
elflint: fix and extend DT_RELCOUNT/DT_RELACOUNT checks
@@ -11,6 +9,8 @@ libelf: add elf_gnu_hash
elflint, readelf: add support for 64-bit SysV-style hash tables
+libdwfl: new functions dwfl_module_getsymtab, dwfl_module_getsym.
+
Version 0.121:
libelf: bug fixes for rewriting existing files when using mmap.
diff --git a/libdw/ChangeLog b/libdw/ChangeLog
index 69c160a2..d1b2dc6d 100644
--- a/libdw/ChangeLog
+++ b/libdw/ChangeLog
@@ -1,11 +1,3 @@
-2006-07-12 Ulrich Drepper <drepper@redhat.com>
-
- * dwarf_child.c: Adjust for internal_function_def removal.
- * dwarf_getabbrev.c: Likewise.
- * dwarf_tag.c: Likewise.
- * libdw_form.c: Likewise.
- * memory-access.c: Likewise.
-
2006-06-28 Roland McGrath <roland@redhat.com>
* libdw.map: Export dwfl_linecu, dwfl_line_comp_dir.
diff --git a/libdw/dwarf_child.c b/libdw/dwarf_child.c
index 42b38137..30151e81 100644
--- a/libdw/dwarf_child.c
+++ b/libdw/dwarf_child.c
@@ -1,5 +1,5 @@
/* Return vhild of current DIE.
- Copyright (C) 2003, 2004, 2005, 2006 Red Hat, Inc.
+ Copyright (C) 2003, 2004, 2005 Red Hat, Inc.
This file is part of Red Hat elfutils.
Written by Ulrich Drepper <drepper@redhat.com>, 2003.
@@ -60,7 +60,7 @@
unsigned char *
-internal_function
+internal_function_def
__libdw_find_attr (Dwarf_Die *die, unsigned int search_name,
unsigned int *codep, unsigned int *formp)
{
diff --git a/libdw/dwarf_getabbrev.c b/libdw/dwarf_getabbrev.c
index 07bf6dfc..7fdbf81c 100644
--- a/libdw/dwarf_getabbrev.c
+++ b/libdw/dwarf_getabbrev.c
@@ -1,5 +1,5 @@
/* Get abbreviation at given offset.
- Copyright (C) 2003, 2004, 2005, 2006 Red Hat, Inc.
+ Copyright (C) 2003, 2004, 2005 Red Hat, Inc.
This file is part of Red Hat elfutils.
Written by Ulrich Drepper <drepper@redhat.com>, 2003.
@@ -58,7 +58,7 @@
Dwarf_Abbrev *
-internal_function
+internal_function_def
__libdw_getabbrev (dbg, cu, offset, lengthp, result)
Dwarf *dbg;
struct Dwarf_CU *cu;
diff --git a/libdw/dwarf_tag.c b/libdw/dwarf_tag.c
index 05222821..80d19510 100644
--- a/libdw/dwarf_tag.c
+++ b/libdw/dwarf_tag.c
@@ -1,5 +1,5 @@
/* Return tag of given DIE.
- Copyright (C) 2003, 2004, 2005, 2006 Red Hat, Inc.
+ Copyright (C) 2003, 2004, 2005 Red Hat, Inc.
This file is part of Red Hat elfutils.
Written by Ulrich Drepper <drepper@redhat.com>, 2003.
@@ -56,7 +56,7 @@
Dwarf_Abbrev *
-internal_function
+internal_function_def
__libdw_findabbrev (struct Dwarf_CU *cu, unsigned int code)
{
Dwarf_Abbrev *abb;
diff --git a/libdw/libdw_form.c b/libdw/libdw_form.c
index 779b6c0e..bf76fcda 100644
--- a/libdw/libdw_form.c
+++ b/libdw/libdw_form.c
@@ -1,5 +1,5 @@
/* Helper functions for form handling.
- Copyright (C) 2003, 2004, 2006 Red Hat, Inc.
+ Copyright (C) 2003, 2004 Red Hat, Inc.
This file is part of Red Hat elfutils.
Written by Ulrich Drepper <drepper@redhat.com>, 2003.
@@ -59,7 +59,7 @@
size_t
-internal_function
+internal_function_def
__libdw_form_val_len (Dwarf *dbg, struct Dwarf_CU *cu, unsigned int form,
const unsigned char *valp)
{
diff --git a/libdw/memory-access.c b/libdw/memory-access.c
index c9a0ca76..0b361a03 100644
--- a/libdw/memory-access.c
+++ b/libdw/memory-access.c
@@ -1,5 +1,5 @@
/* Out of line functions for memory-access.h macros.
- Copyright (C) 2005, 2006 Red Hat, Inc.
+ Copyright (C) 2005 Red Hat, Inc.
This file is part of Red Hat elfutils.
Red Hat elfutils is free software; you can redistribute it and/or modify
@@ -54,7 +54,7 @@
#include "memory-access.h"
uint64_t
-internal_function
+internal_function_def
__libdw_get_uleb128 (uint64_t acc, unsigned int i, const unsigned char **addrp)
{
unsigned char __b;
@@ -62,7 +62,7 @@ __libdw_get_uleb128 (uint64_t acc, unsigned int i, const unsigned char **addrp)
}
int64_t
-internal_function
+internal_function_def
__libdw_get_sleb128 (int64_t acc, unsigned int i, const unsigned char **addrp)
{
unsigned char __b;
diff --git a/libdwfl/=ideas b/libdwfl/=ideas
new file mode 100644
index 00000000..bdce3253
--- /dev/null
+++ b/libdwfl/=ideas
@@ -0,0 +1,16 @@
+* dev+ino+mtime hash table, global
+** share fd; if !isrel, share Elf*,Ebl*,Dwarf*
+
+* find_debuginfo
+ When local search fails, try "yum install-debugfor elf-file".
+ i.e., yum install `rpm -qf elffile --qf '%{SOURCERPM} %{V}-%{R} %{ARCH}\n' | awk '{ print substr($1, 1, length($1)-length("-" $2 ".src.rpm")) "-debuginfo-" $2 "." $3 }' `
+ done in rpm-python inside yum(?)
+** all yum ops should have a -qf mode, means `rpm -qf --qf %{name}.%{arch}`
+ plus debug-of modifier to name.arch or -qf *
+
+* libdw_findcu reads all cu hdrs from beginning
+** good for dwarf_offdie: find cu containing that offset
+** bad for dwarf_addrdie: reads in whole debuginfo file
+** when from aranges (dwarf_addrdie), could read cuhdr offset directly w/o scan
+*** aranges really store cu header offset, but libdw adds in header size to
+ get cu die offset; but libdw_findcu interning should start with header
diff --git a/libdwfl/=oops b/libdwfl/=oops
new file mode 100644
index 00000000..bba65b08
--- /dev/null
+++ b/libdwfl/=oops
@@ -0,0 +1,88 @@
+* regexp on multiple formats to yield records (pc, mod, sym, offset, size?)
+
+glibc backtrace_symbols_fd:
+
+foo.so(sym+0x123)[0x345]
+foo.so(sym-0x123)[0x345]
+foobar[0x12345678]
+
+ ======= Backtrace: =========
+ /lib/libc.so.6[0x715124]
+ /lib/libc.so.6(__libc_free+0x77)[0x71565f]
+ ./loser[0x80483f8]
+ /lib/libc.so.6(__libc_start_main+0xdf)[0x6c6d5f]
+ ./loser[0x804832d]
+
+-->
+ (0x715124, "/lib/libc.so.6", , , )
+ (0x71565f, "/lib/libc.so.6", "__libc_free", +0x77, )
+ (0x80483f8, "./loser", , , )
+ (0x6c6d5f, "/lib/libc.so.6", "__libc_start_main", +0xdf, )
+ (0x804832d, "./loser", , , )
+
+
+i386 kernel oops:
+
+ st_size
+[<%x>] sym+0x123/0x32
+[<%x>] sym-0x123/0x32
+[<%x>] sym+0x123/0x32 [mod]
+
+ <1>Unable to handle kernel NULL pointer dereference at virtual address 00000000
+ printing eip:
+ f8c54000
+ *pde = 2f36a001
+ Oops: 0002 [#2]
+ SMP
+ last sysfs file: /block/hdc/removable
+ Modules linked in: oopsmod2(U) oopsmod(U) nfs lockd nfs_acl ipv6 lp ppdev autofs4 rfcomm l2cap bluetooth sunrpc video button battery ac parport_pc parport floppy ohci1394 ieee1394 hw_random e1000 snd_intel8x0 snd_ac97_codec snd_ac97_bus snd_seq_dummy snd_seq_oss snd_seq_midi_event snd_seq snd_seq_device snd_pcm_oss snd_mixer_oss snd_pcm snd_timer i2c_i801 snd soundcore i2c_core ehci_hcd snd_page_alloc shpchp uhci_hcd dm_snapshot dm_zero dm_mirror dm_mod ext3 jbd ata_piix libata sd_mod scsi_mod
+ CPU: 0
+ EIP: 0060:[<f8c54000>] Not tainted VLI
+ EFLAGS: 00010286 (2.6.14-1.1773_FC5smp)
+ EIP is at crasher+0x0/0xc [oopsmod2]
+ eax: f8bd2000 ebx: f8c54380 ecx: f8c54380 edx: 00000001
+ esi: 00000000 edi: 00000000 ebp: eecb8000 esp: eecb8fa8
+ ds: 007b es: 007b ss: 0068
+ Process insmod (pid: 3454, threadinfo=eecb8000 task=f768eaa0)
+ Stack: f8bd2006 c01393d7 083d8018 00000000 c0103f19 083d8018 000109ca 083d8008
+ 00000000 00000000 bfc73888 ffffffda 0000007b c010007b 00000080 0059a402
+ 00000073 00000206 bfc7381c 0000007b 00000000 00000000
+ Call Trace:
+ [<f8bd2006>] init_crash+0x6/0x9 [oopsmod2] [<c01393d7>] sys_init_module+0xe2/0x205
+ [<c0103f19>] syscall_call+0x7/0xb
+
+-->
+ kernel-release "2.6.14-1.1773_FC5smp"
+ (0xf8c54000, "oopsmod2", "crasher", 0x0, 0xc)
+ (0xf8bd2006, "oopsmod2", "init_crash", +0x6, 0x9)
+ (0xc01393d7, "kernel", "sys_init_module", +0xe2, 0x205)
+ (0xc0103f19, "kernel", "syscall_call", +0x7, 0xb)
+
+
+x86-64 oops:
+
+[<%x>]
+<%x>{sym+%d}
+<%x>{sym-%d}
+<%x>{:mod:sym+%d}
+<%x>{:mod:sym-%d}
+
+kernel `uname -r`:
+
+... Not tainted (%s)
+... Tainted: [A-Z]* (%s)
+
+
+* guess mod loadbase from sym+ofs==pc -> pc-(symval+ofs)==bias
+
+* for kernel
+** seen-modules = "kernel", "mod", ...
+** dwfl_linux_kernel_report_offline with predicate = member seen-modules
+** intuit mod bases
+** dwfl_report_end, dwfl_report_begin, dwfl_report_elf on seen-modules w/bases
+
+* for user
+** seen-modules = files
+** dwfl_report_offline on seen-modules
+** intuit mod bases
+** dwfl_report_end, dwfl_report_begin, dwfl_report_elf on seen-modules w/bases
diff --git a/libdwfl/ChangeLog b/libdwfl/ChangeLog
index dafa98c8..dd0b9b69 100644
--- a/libdwfl/ChangeLog
+++ b/libdwfl/ChangeLog
@@ -1,12 +1,3 @@
-2006-07-12 Ulrich Drepper <drepper@redhat.com>
-
- * cu.c: Adjust for internal_function_def removal.
- * dwfl_error.c: Likewise.
- * dwfl_module.c: Likewise.
- * dwfl_module_getdwarf.c: Likewise.
- * lines.c: Likewise.
- * relocate.c: Likewise.
-
2006-07-11 Ulrich Drepper <drepper@redhat.com>
* dwfl_module.c (compare_modules): Don't return GElf_Sxword value,
diff --git a/libdwfl/cu.c b/libdwfl/cu.c
index 8f01ea6b..4c6d876e 100644
--- a/libdwfl/cu.c
+++ b/libdwfl/cu.c
@@ -248,7 +248,7 @@ intern_cu (Dwfl_Module *mod, Dwarf_Off cuoff, struct dwfl_cu **result)
/* Traverse all the CUs in the module. */
Dwfl_Error
-internal_function
+internal_function_def
__libdwfl_nextcu (Dwfl_Module *mod, struct dwfl_cu *lastcu,
struct dwfl_cu **cu)
{
@@ -315,7 +315,7 @@ arangecu (Dwfl_Module *mod, struct dwfl_arange *arange, struct dwfl_cu **cu)
}
Dwfl_Error
-internal_function
+internal_function_def
__libdwfl_addrcu (Dwfl_Module *mod, Dwarf_Addr addr, struct dwfl_cu **cu)
{
struct dwfl_arange *arange;
diff --git a/libdwfl/dwfl_error.c b/libdwfl/dwfl_error.c
index 414fbaf4..891fbf71 100644
--- a/libdwfl/dwfl_error.c
+++ b/libdwfl/dwfl_error.c
@@ -1,5 +1,5 @@
/* Error handling in libdwfl.
- Copyright (C) 2005, 2006 Red Hat, Inc.
+ Copyright (C) 2005 Red Hat, Inc.
This file is part of Red Hat elfutils.
Red Hat elfutils is free software; you can redistribute it and/or modify
@@ -162,14 +162,14 @@ canonicalize (Dwfl_Error error)
}
int
-internal_function
+internal_function_def
__libdwfl_canon_error (Dwfl_Error error)
{
return canonicalize (error);
}
void
-internal_function
+internal_function_def
__libdwfl_seterrno (Dwfl_Error error)
{
int value = canonicalize (error);
diff --git a/libdwfl/dwfl_module.c b/libdwfl/dwfl_module.c
index 3ccf8b16..e3db1e06 100644
--- a/libdwfl/dwfl_module.c
+++ b/libdwfl/dwfl_module.c
@@ -64,7 +64,7 @@ nofree (void *arg __attribute__ ((unused)))
}
void
-internal_function
+internal_function_def
__libdwfl_module_free (Dwfl_Module *mod)
{
if (mod->lazy_cu_root != NULL)
diff --git a/libdwfl/dwfl_module_getdwarf.c b/libdwfl/dwfl_module_getdwarf.c
index 07248bf7..1688f1e4 100644
--- a/libdwfl/dwfl_module_getdwarf.c
+++ b/libdwfl/dwfl_module_getdwarf.c
@@ -319,7 +319,7 @@ find_symtab (Dwfl_Module *mod)
/* Try to open a libebl backend for MOD. */
Dwfl_Error
-internal_function
+internal_function_def
__libdwfl_module_getebl (Dwfl_Module *mod)
{
if (mod->ebl == NULL)
diff --git a/libdwfl/lines.c b/libdwfl/lines.c
index ed4267fc..49005a0d 100644
--- a/libdwfl/lines.c
+++ b/libdwfl/lines.c
@@ -1,5 +1,5 @@
/* Fetch source line info for CU.
- Copyright (C) 2005, 2006 Red Hat, Inc.
+ Copyright (C) 2005 Red Hat, Inc.
This file is part of Red Hat elfutils.
Red Hat elfutils is free software; you can redistribute it and/or modify
@@ -51,7 +51,7 @@
#include "../libdw/libdwP.h"
Dwfl_Error
-internal_function
+internal_function_def
__libdwfl_cu_getsrclines (struct dwfl_cu *cu)
{
if (cu->lines == NULL)
diff --git a/libdwfl/relocate.c b/libdwfl/relocate.c
index 96cedcc3..f0013e3b 100644
--- a/libdwfl/relocate.c
+++ b/libdwfl/relocate.c
@@ -55,7 +55,7 @@ typedef uint8_t GElf_Byte;
We update the section header in place to cache the result. */
Dwfl_Error
-internal_function
+internal_function_def
__libdwfl_relocate_value (Dwfl_Module *mod, size_t symshstrndx,
Elf32_Word shndx, GElf_Addr *value)
{
@@ -97,7 +97,7 @@ __libdwfl_relocate_value (Dwfl_Module *mod, size_t symshstrndx,
}
Dwfl_Error
-internal_function
+internal_function_def
__libdwfl_relocate (Dwfl_Module *mod, Elf *debugfile)
{
assert (mod->e_type == ET_REL);
diff --git a/libelf/ChangeLog b/libelf/ChangeLog
index 77bafae3..baf58974 100644
--- a/libelf/ChangeLog
+++ b/libelf/ChangeLog
@@ -1,10 +1,3 @@
-2006-07-12 Ulrich Drepper <drepper@redhat.com>
-
- * elf32_updatefile.c: Adjust for internal_function_def removal.
- * elf32_updatenull.c: Likewise.
- * elf_begin.c: Likewise.
- * elf_getdata.c: Likewise.
-
2006-07-11 Ulrich Drepper <drepper@redhat.com>
* libelf.h: Define ELF_T_GNUHASH.
diff --git a/libelf/elf32_updatefile.c b/libelf/elf32_updatefile.c
index 68253651..6eab3cf0 100644
--- a/libelf/elf32_updatefile.c
+++ b/libelf/elf32_updatefile.c
@@ -112,7 +112,7 @@ sort_sections (Elf_Scn **scns, Elf_ScnList *list)
int
-internal_function
+internal_function_def
__elfw2(LIBELFBITS,updatemmap) (Elf *elf, int change_bo, size_t shnum)
{
ElfW2(LIBELFBITS,Ehdr) *ehdr;
@@ -444,7 +444,7 @@ fill (int fd, off_t pos, size_t len, char *fillbuf, size_t *filledp)
int
-internal_function
+internal_function_def
__elfw2(LIBELFBITS,updatefile) (Elf *elf, int change_bo, size_t shnum)
{
char fillbuf[FILLBUFSIZE];
diff --git a/libelf/elf32_updatenull.c b/libelf/elf32_updatenull.c
index 3b926c1f..3516c091 100644
--- a/libelf/elf32_updatenull.c
+++ b/libelf/elf32_updatenull.c
@@ -132,7 +132,7 @@ ELFW(default_ehdr,LIBELFBITS) (Elf *elf, ElfW2(LIBELFBITS,Ehdr) *ehdr,
off_t
-internal_function
+internal_function_def
__elfw2(LIBELFBITS,updatenull) (Elf *elf, int *change_bop, size_t shnum)
{
ElfW2(LIBELFBITS,Ehdr) *ehdr = INTUSE(elfw2(LIBELFBITS,getehdr)) (elf);
diff --git a/libelf/elf_begin.c b/libelf/elf_begin.c
index be52f464..c6ef7947 100644
--- a/libelf/elf_begin.c
+++ b/libelf/elf_begin.c
@@ -1,5 +1,5 @@
/* Create descriptor for processing file.
- Copyright (C) 1998-2005, 2006 Red Hat, Inc.
+ Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 Red Hat, Inc.
This file is part of Red Hat elfutils.
Written by Ulrich Drepper <drepper@redhat.com>, 1998.
@@ -434,7 +434,7 @@ file_read_elf (int fildes, void *map_address, unsigned char *e_ident,
Elf *
-internal_function
+internal_function_def
__libelf_read_mmaped_file (int fildes, void *map_address, off_t offset,
size_t maxsize, Elf_Cmd cmd, Elf *parent)
{
@@ -702,7 +702,7 @@ read_long_names (Elf *elf)
/* Read the next archive header. */
int
-internal_function
+internal_function_def
__libelf_next_arhdr (elf)
Elf *elf;
{
diff --git a/libelf/elf_getdata.c b/libelf/elf_getdata.c
index 1fa4a17f..5e37cbeb 100644
--- a/libelf/elf_getdata.c
+++ b/libelf/elf_getdata.c
@@ -215,7 +215,7 @@ convert_data (Elf_Scn *scn, int version __attribute__ ((unused)), int eclass,
/* Store the information for the raw data in the `rawdata' element. */
int
-internal_function
+internal_function_def
__libelf_set_rawdata (Elf_Scn *scn)
{
size_t offset;
diff --git a/src/ChangeLog b/src/ChangeLog
index 3432dce6..38d9341f 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,7 +1,11 @@
-2006-07-11 Ulrich Drepper <drepper@redhat.com>
+2006-07-11 Roland McGrath <roland@redhat.com>
- * readelf.c (handle_gnu_hash): Adjust for final form of .gnu.hash.
- * elflint.c (check_gnu_hash): Likewise.
+ * addr2line.c (options): English fix in -f doc string.
+
+ * addr2line.c (use_comp_dir): New variable.
+ (options, parse_opt): Grok -A/--absolute to set it.
+ (handle_address): If set, prepend dwfl_line_comp_dir results to
+ relative file names.
2006-07-06 Ulrich Drepper <drepper@redhat.com>
@@ -45,13 +49,6 @@
* Makefile.am: Add hacks to create dependency files for non-generic
linker.
-2006-06-28 Roland McGrath <roland@redhat.com>
-
- * addr2line.c (use_comp_dir): New variable.
- (options, parse_opt): Grok -A/--absolute to set it.
- (handle_address): If set, prepend dwfl_line_comp_dir results to
- relative file names.
-
2006-06-12 Ulrich Drepper <drepper@redhat.com>
* ldgeneric.c (ld_generic_generate_sections): Don't create .interp
diff --git a/src/addr2line.c b/src/addr2line.c
index c849ec79..e2ea4b4d 100644
--- a/src/addr2line.c
+++ b/src/addr2line.c
@@ -64,8 +64,8 @@ static const struct argp_option options[] =
{ NULL, 0, NULL, 0, N_("Output Selection:"), 0 },
{ "basenames", 's', NULL, 0, N_("Show only base names of source files"), 0 },
{ "absolute", 'A', NULL, 0,
- N_("Show absolute file names using compilation directory"), 0 },
- { "functions", 'f', NULL, 0, N_("Additional show function names"), 0 },
+ N_("Show absolute directory names of source files"), 0 },
+ { "functions", 'f', NULL, 0, N_("Also show function names"), 0 },
{ NULL, 0, NULL, 0, N_("Miscellaneous:"), 0 },
/* Unsupported options. */
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 0ceef1b9..b608a2bd 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -57,7 +57,8 @@ noinst_PROGRAMS = arextract arsymtest newfile saridx scnnames sectiondump \
show-die-info get-files get-lines get-pubnames \
get-aranges allfcts line2addr addrscopes funcscopes \
show-abbrev hash newscn ecp dwflmodtest \
- find-prologues funcretval allregs rdwrmmap
+ find-prologues funcretval allregs rdwrmmap \
+ countcu
# get-ciefde
asm_TESTS = asm-tst1 asm-tst2 asm-tst3 asm-tst4 asm-tst5 \
asm-tst6 asm-tst7 asm-tst8 asm-tst9
@@ -183,6 +184,7 @@ addrscopes_LDADD = $(libdw) $(libmudflap)
funcscopes_LDADD = $(libdw) $(libmudflap)
funcretval_LDADD = $(libdw) $(libmudflap)
allregs_LDADD = $(libdw) $(libmudflap)
+countcu_LDADD = $(libdw) $(libmudflap)
find_prologues_LDADD = $(libdw) $(libmudflap)
#show_ciefde_LDADD = ../libdwarf/libdwarf.so $(libelf) $(libmudflap)
asm_tst1_LDADD = $(libasm) $(libebl) $(libelf) $(libmudflap) -ldl