summaryrefslogtreecommitdiff
blob: 3785d8820cd9e9d2d321bdd3cb95fcc367b9ec74 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
Fix build failure on ia64.
    coredump/_UPT_get_dyn_info_list_addr.c
is almost identical to
    ptrace/_UPT_get_dyn_info_list_addr.c
It's clearly an __ia64 implementation copy.
diff --git a/src/coredump/_UPT_get_dyn_info_list_addr.c b/src/coredump/_UPT_get_dyn_info_list_addr.c
index 0d11905..176b146 100644
--- a/src/coredump/_UPT_get_dyn_info_list_addr.c
+++ b/src/coredump/_UPT_get_dyn_info_list_addr.c
@@ -31,2 +31,3 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.  */
 # include "os-linux.h"
+# include "../ptrace/_UPT_internal.h"
 
@@ -40,3 +41,2 @@ get_list_addr (unw_addr_space_t as, unw_word_t *dil_addr, void *arg,
   char path[PATH_MAX];
-  unw_dyn_info_t *di;
   unw_word_t res;
@@ -50,5 +50,5 @@ get_list_addr (unw_addr_space_t as, unw_word_t *dil_addr, void *arg,
 
-      invalidate_edi (&ui->edi);
+      invalidate_edi(&ui->edi);
 
-      if (elf_map_image (&ui->ei, path) < 0)
+      if (elf_map_image (&ui->edi.ei, path) < 0)
         /* ignore unmappable stuff like "/SYSV00001b58 (deleted)" */
@@ -58,6 +58,5 @@ get_list_addr (unw_addr_space_t as, unw_word_t *dil_addr, void *arg,
 
-      di = tdep_find_unwind_table (&ui->edi, as, path, lo, off);
-      if (di)
+      if (tdep_find_unwind_table (&ui->edi, as, path, lo, off, 0) > 0)
         {
-          res = _Uia64_find_dyn_list (as, di, arg);
+          res = _Uia64_find_dyn_list (as, &ui->edi.di_cache, arg);
           if (res && count++ == 0)