Issue 17599: mingw: detect REPARSE_DATA_BUFFER (original) (raw)

Created on 2013-03-31 19:59 by rpetrov, last changed 2022-04-11 14:57 by admin. This issue is now closed.

Files
File name Uploaded Description Edit
0010-MINGW-detect-REPARSE_DATA_BUFFER.patch rpetrov,2013-03-31 19:59
0009-MINGW-detect-REPARSE_DATA_BUFFER.patch rpetrov,2014-08-03 06:13 status on 2014-08-02
Py_REPARSE.patch martin.panter,2016-07-27 04:18 review
Py_REPARSE.v2.patch martin.panter,2016-07-29 04:28 review
Messages (9)
msg185660 - (view) Author: Roumen Petrov (rpetrov) * Date: 2013-03-31 19:59
split of .
msg266050 - (view) Author: Martin Panter (martin.panter) * (Python committer) Date: 2016-05-22 05:15
Would it be better to define all the things in "winreparse.h" with names that are less likely to conflict, say Py_REPARSE_DATA_BUFFER etc? This would be a more general way to avoid conflicts, and also avoid hacking the configure script. Also, is the “#ifndef MAXIMUM_REPARSE_DATA_BUFFER_SIZE” condition necessary?
msg271432 - (view) Author: Martin Panter (martin.panter) * (Python committer) Date: 2016-07-27 04:18
Here is a patch implementing my suggestion to unconditionally define everything, prefixed with Py_ instead. Not tested on a normal Windows build.
msg271449 - (view) Author: Steve Dower (steve.dower) * (Python committer) Date: 2016-07-27 13:42
Worth checking if the headers in VC14 have the structure now, as it may simplify the whole thing. If not, I'd add a leading underscore to the name so nobody confuses it for public API in the future.
msg271602 - (view) Author: Martin Panter (martin.panter) * (Python committer) Date: 2016-07-29 04:28
Leading underscore is a good idea. I have no idea if VC14 includes the structure, but I suspect if it was added with this name, we would know because it would cause the same conflict that Min GW caused.
msg271605 - (view) Author: Eryk Sun (eryksun) * (Python triager) Date: 2016-07-29 05:46
REPARSE_DATA_BUFFER is defined in the WDK filesystem header, km\ntifs.h. It's not defined in the user-mode SDK.
msg271632 - (view) Author: Steve Dower (steve.dower) * (Python committer) Date: 2016-07-29 14:54
I think the WDK is still separate from the Windows SDK, so probably best to keep the custom definition with a comment specifying which file it came from (so whoever diagnoses an obscure issue in the future can find it quickly). With the comment, I'm fine with the patch. If you haven't built on MSVC then keep an eye on the build bots until it goes through in case something unpredictable happens.
msg271941 - (view) Author: Roundup Robot (python-dev) (Python triager) Date: 2016-08-04 03:03
New changeset e4ddfa61199c by Martin Panter in branch 'default': Issue #17599: Use unique _Py_REPARSE_DATA_BUFFER etc names to avoid conflict https://hg.python.org/cpython/rev/e4ddfa61199c
msg271957 - (view) Author: Martin Panter (martin.panter) * (Python committer) Date: 2016-08-04 08:33
Thanks for your feedback. I add a reference to km\ntifs.h in the comment. The buildbots seem generally happy with the change. (One timed out in the tests, but that seems to be an existing intermittent problem.)
History
Date User Action Args
2022-04-11 14:57:43 admin set github: 61799
2016-08-04 08:33:14 martin.panter set status: open -> closedresolution: fixedmessages: + stage: patch review -> resolved
2016-08-04 03:03:46 python-dev set nosy: + python-devmessages: +
2016-07-29 14:54:41 steve.dower set messages: +
2016-07-29 05:46:55 eryksun set nosy: + eryksunmessages: +
2016-07-29 04:28:40 martin.panter set files: + Py_REPARSE.v2.patchmessages: +
2016-07-27 13:42:00 steve.dower set messages: +
2016-07-27 04🔞24 martin.panter set files: + Py_REPARSE.patchmessages: + versions: + Python 3.6, - Python 3.4
2016-05-22 05:15:20 martin.panter set nosy: + paul.moore, tim.golden, martin.panter, zach.ware, steve.dowermessages: + components: + Windows, - Cross-Buildstage: patch review
2016-03-19 08:27:52 martin.panter link issue17605 dependencies
2014-08-03 06:13:17 rpetrov set files: + 0009-MINGW-detect-REPARSE_DATA_BUFFER.patch
2013-03-31 19:59:37 rpetrov create