This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH, gdbserver] Further cleanup of FDPIC/DSBT divergences


On 06/24/2013 10:42 AM, Yao Qi wrote:
On 06/21/2013 02:51 AM, Luis Machado wrote:
Things have changed, and c6x is now using the exact same data structures
as FDPIC-based targets in uClibc. Please refer to
http://lists.uclibc.org/pipermail/uclibc/2013-May/047789.html  for the
uClibc changes that led to this.

Mark Salter, the author of the uClibc change, has agreed with the
solution i proposed:
http://lists.uclibc.org/pipermail/uclibc/2013-May/047790.html.

It is all good, but we've been conditionalizing the c6x-specific
target_loadmap data structure based on the presence of PT_GETDSBT. This
has always been defined in uClibc and, since Mark's change, it doesn't
work as a hint of whether to use the new or the old target_loadmap data
structure anymore. Therefore we will/already have a potential problem
with backwards compatibility.

Bernhard has stated that backwards compatibility on uClibc's side is not
a problem:http://lists.uclibc.org/pipermail/uclibc/2013-June/047801.html.

With all that exposed, my proposed change to gdbserver is to drop all
the DSBT-specific bits, remove their definitions and explicitly use
FDPIC definitions instead, making things a little bit cleaner.

In the following patch i also changed the code slightly to stop defining
linux_read_loadmap to NULL and i switched to explicitly setting the
target hook to NULL in the absence of the required definition.

What do you think? Yao? Mike?

Luis,
Looks Mark S. proposed using FDPIC in tic6x port in kernel, instead of
DSBT which was used when we did the tic6x port in GDB.  I checked the
kernel log, and found that DSBT constants are never used in the official
kernel.  They only appeared in the linux-c6x.org git tree temporarily.
Since kernel and uclibc has migrated to the new scheme, I don't worry
about the compatibility issue here.


2013-06-20  Luis Machado<lgustavo@codesourcery.com>

    * linux-low.c: Remove check for PT_GETDSBT.
    (target_loadmap): Remove data structure conditionalized by
    the presence of PT_GETDSBT.
    (LINUX_LOADMAP, LINUX_LOADMAP_EXEC,
    LINUX_LOADMAP_INTERP): Remove definitions.

Not sure we can break words in parentheses into multiple lines.  I suggest:

     (LINUX_LOADMAP, LINUX_LOADMAP_EXEC): Remove definitions.
     (LINUX_LOADMAP_INTERP): Likewise.

the patch is OK to me, but we also need adjustments in solib-dsbt.c.
This patch should go in together with the changes in solib-dsbt.c.


Thanks Yao. You are correct. Let me address the solib-dsbt.c bits as well.

Luis


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]