Synchronizing C6X DSBT bits between uClibc/Kernel and GDB.

Luis Machado lgustavo at codesourcery.com
Tue May 28 11:13:44 UTC 2013


<re-sending as my registration had not been processed yet. I cc-ed Mark 
Salter in the original mail>

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.

Luis


More information about the uClibc mailing list