From: Joel Brobecker Date: Tue, 26 Oct 2010 18:06:34 +0000 (+0000) Subject: Fix build failures with python support on sparc-solaris X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=aed1781d4015eba1f780f65e2f11ef7841be4c46;p=binutils-gdb.git Fix build failures with python support on sparc-solaris There were two types of errors, mostly compiler warnings: 1. _FILE_OFFSET_BITS being redefined in pyconfig.h; This is a problem we're familiar with, having seen similar issues on GNU/Linux systems. I used a similar solution. 2. GCC 4.5 complains that calls to PyEval_InitThreads and PyEval_ReleaseLock have no effect. This is because our Python is built without thread support, leading us to use the dummy #define in python-internal.h which just gets replaced by `0'. Since this function returns void (checked versions 2.4 and 2.7), I simply removed the 0. gdb/ChangeLog: python/python-internal.h (_FILE_OFFSET_BITS): Undefine. (PyEval_InitThreads): Remove duplicate. Define as nothing. (PyEval_ReleaseLock): Define as nothing. --- diff --git a/gdb/ChangeLog b/gdb/ChangeLog index ad3e8947648..4bfe01708e4 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,9 @@ +2010-10-26 Joel Brobecker + + * python/python-internal.h (_FILE_OFFSET_BITS): Undefine. + (PyEval_InitThreads): Remove duplicate. Define as nothing. + (PyEval_ReleaseLock): Define as nothing. + 2010-10-26 Joel Brobecker * dwarf2read.c (psymtab_include_file_name): Replace call to strcmp diff --git a/gdb/python/python-internal.h b/gdb/python/python-internal.h index d00c23e313e..e18f50ad4bb 100644 --- a/gdb/python/python-internal.h +++ b/gdb/python/python-internal.h @@ -36,6 +36,11 @@ #undef _POSIX_C_SOURCE #undef _XOPEN_SOURCE +/* On sparc-solaris, /usr/include/sys/feature_tests.h defines + _FILE_OFFSET_BITS, which pyconfig.h also defines. Same work + arount technique as above. */ +#undef _FILE_OFFSET_BITS + #if HAVE_LIBPYTHON2_4 #include "python2.4/Python.h" #include "python2.4/frameobject.h" @@ -63,10 +68,9 @@ typedef int Py_ssize_t; #ifndef WITH_THREAD #define PyGILState_Ensure() ((PyGILState_STATE) 0) #define PyGILState_Release(ARG) ((void)(ARG)) -#define PyEval_InitThreads() 0 +#define PyEval_InitThreads() #define PyThreadState_Swap(ARG) ((void)(ARG)) -#define PyEval_InitThreads() 0 -#define PyEval_ReleaseLock() 0 +#define PyEval_ReleaseLock() #endif /* In order to be able to parse symtab_and_line_to_sal_object function