diff options
author | Edgar E. Iglesias <edgar.iglesias@gmail.com> | 2012-10-01 12:43:34 +0200 |
---|---|---|
committer | Petr Machata <pmachata@redhat.com> | 2012-10-01 15:05:32 +0200 |
commit | f97b187598192f4c1f0ea47369f4e1dd4c08c392 (patch) | |
tree | 17794fbd22419ec03e796b8a30567ee748c437c8 /proc.c | |
parent | 85761852f44864ba3f92be2cfdd67af2e02f093e (diff) | |
download | ltrace-f97b187598192f4c1f0ea47369f4e1dd4c08c392.tar.gz |
mipsel: Replace LS_TOPLT_GOTONLY with delayed syms
Signed-off-by: Edgar E. Iglesias <edgar@axis.com>
Diffstat (limited to 'proc.c')
-rw-r--r-- | proc.c | 17 |
1 files changed, 2 insertions, 15 deletions
@@ -635,25 +635,12 @@ breakpoint_for_symbol(struct library_symbol *libsym, struct Process *proc) arch_addr_t bp_addr; assert(proc->leader == proc); - bp_addr = sym2addr(proc, libsym); - - /* For external function pointers, MIPS brings in stub-less funcs - * that point to zero at startup. These symbols get resolved by - * the dynamic linker and are ready to use at arch_dynlink_done(). - * - * Allow the backend to add these into the process representation - * but don't put breakpoints at this point. Let the backend fix that - * up later. - * - * XXX This should be changed to delayed symbols. */ - if (bp_addr == 0 && libsym->plt_type == LS_TOPLT_GOTONLY) { - /* Don't add breakpoints yet. */ - return CBS_CONT; - } /* Don't enable latent or delayed symbols. */ if (libsym->latent || libsym->delayed) return 0; + bp_addr = sym2addr(proc, libsym); + /* If there is an artificial breakpoint on the same address, * its libsym will be NULL, and we can smuggle our libsym * there. That artificial breakpoint is there presumably for |