2015-07-25 0:14 GMT+02:00 Andreas Schwab <[email protected]>: > When running the attach-process-dlopen test on ppc64 or ppc64le ltrace > is receiving an endless stream of breakpoint events: > > DEBUG: events.c:336: event: BREAKPOINT: pid=17899, addr=0x3fff88d28c04 > > The last line is repeated infinitely (and ltrace is not interruptable). > The addr=0x3fff8ff98c04 is the return address from memset (the previous > insn at 0x3fff8ffa3338 was blr). > > This was uncovered by commit bf82100 (Fix address biasing in PPC > backend), but the bug is older than that. Bisecting while > cherry-picking bf82100 on every candidate identified 73b85aa (Support > tracing P_PPC64_JMP_IREL slots) as the bad commit.
That code is somewhat tricky, as we use the resolver function as a breakpoint site. And memset is an IFUNC I think. Maybe ltrace sees the same address for return-from-resolver and return-from-memset. That could lead to double-setting that breakpoint and lead to the observed endless loop. PPC is notorious for tail calls like this. Unfortunately I don't have access to PPC anymore, so can't really help out with this. Thanks, Petr _______________________________________________ Ltrace-devel mailing list [email protected] http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/ltrace-devel
