Re: GDB Python extension on AIX

David Edelsohn <[email protected]>
Newsgroups gmane.comp.gdb.devel
Message-ID <CAGWvnykKKTeZHm9XSWc-1ensapFzQPiDd4LvNBUY55RgnYWcFw@mail.gmail.com>
On Thu, Aug 11, 2016 at 3:29 AM, Andreas Schwab <[email protected]> wrote:
> On Aug 11 2016, David Edelsohn <[email protected]> wrote:
>
>> What is the preferred way to address this?
>
> The preferred way is to arrange to include <pyconfig.h> before any
> system headers.  And file a bug with python that their use of feature
> test macros makes this necessary.

Python already is aware of the problem

https://bugs.python.org/issue17120


GDB chose to manipulate the feature test macros further to avoid build
warnings instead of re-arranging the order of headers:


commit aac63f0f2626a3fce5ee936f07ecb48ab7b12ca8
Author: Joel Brobecker <[email protected]>
Date:   Wed Jun 30 23:12:04 2010 +0000

    Fix build failure with Python installed in non-system location.

    The debugger fails to build when configure with --python-python=<path>
    where <path> is a non-system location.  The reason is a warning made
    fatal due to the definition of _XOPEN_SOURCE inside pyconfig.h.  This
    is exactly the same problem as with _POSIX_C_SOURCE, handled in
    python-internal.h as follow:

    | /* /usr/include/features.h on linux systems will define _POSIX_C_SOURCE
    |    if it sees _GNU_SOURCE (which config.h will define).
    |    pyconfig.h defines _POSIX_C_SOURCE to a different value than
    |    /usr/include/features.h does causing compilation to fail.
    |    To work around this, undef _POSIX_C_SOURCE before we include Python.h.
 */
    | #undef _POSIX_C_SOURCE

    This patch fixes this problem the same way.

    2010-06-30  Joel Brobecker  <[email protected]>

            * python/python-internal.h (_XOPEN_SOURCE): Undefine before
            including Python.h.


I think the ball is in GDB's court.

If GDB is going to intervene in these macros for some systems and
configuratino, I request a method to disable this for AIX.

Thanks, David
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.