[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Emacs .gdbinit incompatible with latest GDB

From: Nick Roberts
Subject: Re: Emacs .gdbinit incompatible with latest GDB
Date: Sun, 25 Feb 2007 17:13:47 +1300

 > Due to applied GDB patch
 > http://sources.redhat.com/ml/gdb-patches/2007-01/msg00533.html
 > the recent GDB has problems running GDB `xbacktrace' on EMACS
 > http://sources.redhat.com/ml/gdb/2007-02/msg00252.html
 > provided the following patch fixing the problem, either in
 > http://sources.redhat.com/ml/gdb/2007-02/msg00257.html
 > or an alternative one herein:

I've already made this change but perhaps we can generalise the subject, as the
incompatibility is with GDB in the CVS repository and not the latest GDB,
i.e. this GDB patch could still be reverted.

In Jan's words, the patch in GDB does:

    currently all these types are printed as strings:
            signed char
            unsigned char
    the patch will reduce the printed strings only to
    and the signed/unsigned version gets printed as an array of byte values
    (characters).  I hope nobody uses sign-specification for strings.
    On the other hand byte arrays become unreadable if printed as strings.

The functions in xbacktrace (xsymbol etc) were then printed as arrays of
character because in lisp.h:

struct Lisp_String
    EMACS_INT size;
    EMACS_INT size_byte;
    INTERVAL intervals;         /* text properties in this string */
    unsigned char *data;

which has been this way since:

2000-01-04  Gerd Moellmann  <address@hidden>

        * lisp.h (struct Lisp_String): Make DATA member `unsigned char *'.

I guess the questions to ask are:

1) Why was this change made?

2) Are there other strings in Emacs which are of type `unsigned char *' where
   this change will cause a problem?

Nick                                           http://www.inet.net.nz/~nickrob

reply via email to

[Prev in Thread] Current Thread [Next in Thread]