Thanks Pedro. Committed the attached patch. Best regards, Thomas On 06/04/17 16:05, Pedro Alves wrote: > On 04/06/2017 03:28 PM, Thomas Preudhomme wrote: >> >> >> GDB fails to build for Windows host with python support enabled due to > > Uppercase "Python", and would be a good idea to mention that this is > Python 2. > >> python_file's second argument > > It's actually PyFile_FromString's second parameter, not python_file's. > "python_file" is a reference that is being initialized from the result > of PyFile_FromString. > >> being of type char * and being passed a >> string litteral. > > Typo "literal". > >> This patch takes the conservative assumptions that the >> function might indeed modify the character string and use a local char >> array to pass the mode instead. > > The Python API is notoriously buggy wrt to const-correctness when > it comes to string parameters. > > Note that in gdb/python/python-internal.h, we have fixups for all of: > > PyObject_GetAttrString > PyObject_HasAttrString > PyObject_CallMethod > PyErr_NewException > PySys_GetObject > PySys_SetPath > PyGetSetDef > PyArg_ParseTupleAndKeywords > > Over the years it's been getting better. > > A few of those were added just yesterday, but I didn't build Windows > with Python so I missed this one. > > Now, this API in particular seems to have been removed completely > in Python 3, so there's no "it was fixed in 3.x" that we could put > in a comment. Anyway, since this is just one single place, let's just > not bother with anything fancy. > > Please just add a cast instead (and update the commit log accordingly): > > PyFile_FromString (full_path.get (), (char *) "r") > > OK with that change. > > Thanks, > Pedro Alves >