Rev 2969 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 2969 | Rev 2980 | ||
---|---|---|---|
Line 51... | Line 51... | ||
51 | elf_word rpath_idx; |
51 | elf_word rpath_idx; |
52 | 52 | ||
53 | printf("memset\n"); |
53 | printf("memset\n"); |
54 | memset(info, 0, sizeof(info)); |
54 | memset(info, 0, sizeof(info)); |
55 | 55 | ||
- | 56 | soname_idx = 0; |
|
- | 57 | rpath_idx = 0; |
|
- | 58 | ||
56 | printf("pass 1\n"); |
59 | printf("pass 1\n"); |
57 | while (dp->d_tag != DT_NULL) { |
60 | while (dp->d_tag != DT_NULL) { |
58 | d_ptr = (void *)((uint8_t *)dp->d_un.d_ptr + bias); |
61 | d_ptr = (void *)((uint8_t *)dp->d_un.d_ptr + bias); |
59 | d_val = dp->d_un.d_val; |
62 | d_val = dp->d_un.d_val; |
60 | 63 | ||
Line 89... | Line 92... | ||
89 | ++dp; |
92 | ++dp; |
90 | } |
93 | } |
91 | 94 | ||
92 | info->soname = info->str_tab + soname_idx; |
95 | info->soname = info->str_tab + soname_idx; |
93 | info->rpath = info->str_tab + rpath_idx; |
96 | info->rpath = info->str_tab + rpath_idx; |
- | 97 | printf("str_tab=0x%x, soname_idx=0x%x, soname=0x%x\n", |
|
- | 98 | (uintptr_t)info->soname, soname_idx, (uintptr_t)info->soname); |
|
- | 99 | printf("soname='%s'\n", info->soname); |
|
- | 100 | printf("rpath='%s'\n", info->rpath); |
|
94 | 101 | ||
95 | /* |
102 | /* |
96 | * Now that we have a pointer to the string table, |
103 | * Now that we have a pointer to the string table, |
97 | * we can parse DT_NEEDED fields (which contain offsets into it). |
104 | * we can parse DT_NEEDED fields (which contain offsets into it). |
98 | */ |
105 | */ |