This is the mail archive of the gdb@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: GDB Python extension on AIX


On Thu, Aug 11, 2016 at 3:29 AM, Andreas Schwab <schwab@suse.de> wrote:
> On Aug 11 2016, David Edelsohn <dje.gcc@gmail.com> 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 <brobecker@gnat.com>
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  <brobecker@adacore.com>

            * 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


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