This is the mail archive of the
gdb@sourceware.org
mailing list for the GDB project.
Re: GDB Python extension on AIX
- From: David Edelsohn <dje dot gcc at gmail dot com>
- To: Andreas Schwab <schwab at suse dot de>, Joel Brobecker <brobecker at adacore dot com>
- Cc: "gdb at sourceware dot org" <gdb at sourceware dot org>
- Date: Thu, 11 Aug 2016 09:56:23 -0400
- Subject: Re: GDB Python extension on AIX
- Authentication-results: sourceware.org; auth=none
- References: <CAGWvnynYHy9zMHYN6m=WL5wm7WRnBsLJop5Z8zsuoaVcbrySfQ@mail.gmail.com> <mvmk2fnsr0a.fsf@hawking.suse.de>
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