From ae06d951b9775c39b92913417c902eae0775e4b6 Mon Sep 17 00:00:00 2001 From: Mark Wielaard Date: Fri, 2 Oct 2009 00:28:46 +0200 Subject: PR10678 vta-gcc: module debuginfo: relocation refers to undefined symbol libdwfl tries to resolve all relocations in a module debuginfo file and if it cannot find a symbol used in a relocation it will fail when dwfl_module_getdwarf() is called. So we must make sure all possible dependencies of the module are also in the dwfl. We do this by trying to find and parse the modules.dep file and insert all dependencies into the dwfl. * setupdwfl.cxx (elfutils_kernel_path): Lift from setup_dwfl_kernel and make static. (is_comma_dash): New function. (modname_from_path): Likewise. (setup_mod_deps): Likewise. (setup_dwfl_report_kernel_p): Call setup_mod_deps(). * testsuite/buildok/pr10678.stp: New test. --- testsuite/buildok/pr10678.stp | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 testsuite/buildok/pr10678.stp (limited to 'testsuite') diff --git a/testsuite/buildok/pr10678.stp b/testsuite/buildok/pr10678.stp new file mode 100644 index 00000000..4ce8fb99 --- /dev/null +++ b/testsuite/buildok/pr10678.stp @@ -0,0 +1,4 @@ +#! stap -p4 + +# The ne2k_pci module dwarf refers to both kernel and 8390 module symbols +probe module("ne2k_pci").function("ne2k_pci_open") { log($$parms); } \ No newline at end of file -- cgit