On Tue, 2013-05-28 at 13:09 +0200, Luis Machado wrote: > Hi, > > C6X uses a DSBT scheme for shared libraries. Seeing how it is quite > similar to FDPIC, it seems all the targets doing DSBT have migrated to > using FDPIC structures and code. > > C6X has done that in this patch by Mark Salter: > http://lists.uclibc.org/pipermail/uclibc/2012-June/046906.html > > Since the layout of the loadmap structure has been changed to match > FDPIC's one, this structure went out of synch with GDB's own definition > of the loadmap. > > We need backwards compatibility though (let me know if this is not the > case) and GDB conditionally defines the old loadmap based on the > existence of PT_GETDSBT (defined in libc/sysdeps/linux/c6x/sys/ptrace.h). > > My proposal is to drop this definition in uClibc and use the more common > PTRACE_GETFDPIC instead (already used in the kernel, Mark can correct me > if i'm wrong). > > This way we guarantee GDB will use the correct loadmap for C6X. > > I still expect GDB to be confused if it uses recent uClibc code that > still defines PT_GETDSBT though, but it doesn't look like we can solve > that easily. > > Thoughts? Let me know what you think and i can come up with a patch.
This all sounds reasonable to me. PTRACE_GETDSBT is not used internally by uClibc and it has the same value as PTRACE_GETFDPIC. This all came about when kernel switched from a separate loader to using the fdpic loader when c6x kernel was pushed upstream. At that point, the uClibc bits were already in place. --Mark _______________________________________________ uClibc mailing list uClibc@uclibc.org http://lists.busybox.net/mailman/listinfo/uclibc