)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":1000716,"name":"Chris Head","email":"chead@zaber.com","username":"Hawk777"},"change_message_id":"0f7d3bbfc7c225ab5cf6bd5a69f07ec0fe9a5d38","unresolved":true,"context_lines":[{"line_number":10,"context_line":"reasons:"},{"line_number":11,"context_line":"- \"-Wextra\", which is enabled for OpenOCD builds by default,"},{"line_number":12,"context_line":"  causes on clang that \"-Wsign-compare\" gets also enabled."},{"line_number":13,"context_line":"- Socket descriptors on Windows are signed, causing"},{"line_number":14,"context_line":"  -Wsign-compare warnings on each invocation of FD_SET."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Possible workaround: ./configure [...] --disable-werror"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"05e54cfc_1888f6fd","line":13,"updated":"2026-05-27 18:27:05.000000000","message":"According to \u003chttps://learn.microsoft.com/en-us/windows/win32/winsock/socket-data-type-2\u003e, the SOCKET typedef on Windows is for an *unsigned* type. So it makes sense you would see comparison warnings, because on Linux they’re “int”, and OpenOCD just uses “int” everywhere, but I think the commit message has it backwards.\n\nFurthermore, according to this Stack Overflow post \u003chttps://stackoverflow.com/questions/78462872/windows-networking-are-sockets-and-file-descriptors-the-same-thing-such-that\u003e (though I haven’t actually verified it), SOCKET is a synonym for UINT_PTR; if that’s the case, then in a 64-bit process it’s actually a 64-bit integer, which won’t even fit in an “int”, the type used all over OpenOCD to hold descriptors. Is Windows OpenOCD only expected to build as a 32-bit program for now? Or does this work for a reason I don’t understand?","commit_id":"636f43d28aca8d49b9b7c81d4cafdc27aab5b302"},{"author":{"_account_id":1001667,"name":"Jan Matyas","email":"jan.matyas@codasip.com","username":"JanMatCodasip"},"change_message_id":"34eb79cc9906319b3fde17b5fe02ab7c3b67e42d","unresolved":true,"context_lines":[{"line_number":10,"context_line":"reasons:"},{"line_number":11,"context_line":"- \"-Wextra\", which is enabled for OpenOCD builds by default,"},{"line_number":12,"context_line":"  causes on clang that \"-Wsign-compare\" gets also enabled."},{"line_number":13,"context_line":"- Socket descriptors on Windows are signed, causing"},{"line_number":14,"context_line":"  -Wsign-compare warnings on each invocation of FD_SET."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Possible workaround: ./configure [...] --disable-werror"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"345ad891_fa866ee7","line":13,"in_reply_to":"05e54cfc_1888f6fd","updated":"2026-05-28 07:23:36.000000000","message":"Hi Chris,\n\n\u003e Chris: SOCKET typedef on Windows is for an unsigned type (...) I think the commit message has it backwards.\n\nYes, thanks for the typo catch. I have just fixed the commit message.\n\n\u003e Chris: Is Windows OpenOCD only expected to build as a 32-bit program for now?\n\nNo, OpenOCD is commonly built as a 64-bit program on all supported OSes.\n\n\u003e Chris: SOCKET is a synonym for UINT_PTR; if that’s the case, then in a 64-bit process it’s actually a 64-bit integer, which won’t even fit in an “int” (...) Or does this work for a reason I don’t understand?\n\nI assume that on Windows, the 64-bit socket descriptors are silently truncated to 32 bits, but since the descriptor values most likely fit onto 32 bits, no visible issue occurs. \n\nCompilers do not warn us about these narrowing conversions because OpenOCD does not have that type of warning enabled (`-Wconversion`).","commit_id":"636f43d28aca8d49b9b7c81d4cafdc27aab5b302"},{"author":{"_account_id":1001667,"name":"Jan Matyas","email":"jan.matyas@codasip.com","username":"JanMatCodasip"},"change_message_id":"9fce98f468899be22d34d3a48af51478744e4558","unresolved":false,"context_lines":[{"line_number":10,"context_line":"reasons:"},{"line_number":11,"context_line":"- \"-Wextra\", which is enabled for OpenOCD builds by default,"},{"line_number":12,"context_line":"  causes on clang that \"-Wsign-compare\" gets also enabled."},{"line_number":13,"context_line":"- Socket descriptors on Windows are signed, causing"},{"line_number":14,"context_line":"  -Wsign-compare warnings on each invocation of FD_SET."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Possible workaround: ./configure [...] --disable-werror"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"06a0300d_f158f9b4","line":13,"in_reply_to":"345ad891_fa866ee7","updated":"2026-05-29 06:57:24.000000000","message":"Done","commit_id":"636f43d28aca8d49b9b7c81d4cafdc27aab5b302"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":1001667,"name":"Jan Matyas","email":"jan.matyas@codasip.com","username":"JanMatCodasip"},"change_message_id":"613db0aedf0cee7d25fe65c6bc28805872901081","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"a196bbb7_c77acf9c","updated":"2026-03-13 09:15:02.000000000","message":"Also note that if we build OpenOCD with the deprecated option `--enable-internal-libjaylink` (and `--enable-jaylink`), the build on Windows + Clang will still fail due to the same FD_SET issue in the code of Libjaylink.\n\nI have notified Marc (Libjaylink maintaner) and sent [a trivial patch](https://github.com/JanMatCodasip/libjaylink/commit/880fec55d4f2a9e957b89c4206f43c6b08c01c35) for Libjaylink, too.","commit_id":"636f43d28aca8d49b9b7c81d4cafdc27aab5b302"},{"author":{"_account_id":1001803,"name":"Samuel Obuch","email":"samuel.obuch@espressif.com","username":"sobuch"},"change_message_id":"e47e825fd9c324f7a0121e13f20262a1c9ee5829","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"a1e6b9a3_f57434c8","updated":"2026-03-23 10:37:24.000000000","message":"Hi Honzo, thanks for fixing this! We also have a patch in our fork, but yours is more complete.\n\nTested this on my end, works well.","commit_id":"636f43d28aca8d49b9b7c81d4cafdc27aab5b302"},{"author":{"_account_id":1001667,"name":"Jan Matyas","email":"jan.matyas@codasip.com","username":"JanMatCodasip"},"change_message_id":"1cc921623df86712980bd8a40bc0b9551441ce36","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":4,"id":"9953dc9e_80529fc2","in_reply_to":"0d92a0ec_b23bb128","updated":"2026-03-16 06:57:54.000000000","message":"Thanks for testing this patch and for merging the same type of fix to libjaylink!","commit_id":"636f43d28aca8d49b9b7c81d4cafdc27aab5b302"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"49322f1974caa65f180fce474615c504e5b57cdd","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"c02a7350_3bcee95b","in_reply_to":"1832946d_e507bd17","updated":"2026-05-28 08:42:53.000000000","message":"Off topic :) ! I was thinking to propose an OpenOCD meeting beside embedded world 2027. Do you think it would make sense?","commit_id":"636f43d28aca8d49b9b7c81d4cafdc27aab5b302"},{"author":{"_account_id":1000853,"name":"zapb","display_name":"Marc Schink","email":"dev@zapb.de","username":"zapb"},"change_message_id":"943795f39bcd9d3f9c4774c80a2cbe6c0d53a169","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"1c154b21_9859b126","in_reply_to":"22a2abb1_7178d257","updated":"2026-05-28 10:49:57.000000000","message":"Yes, please send all meetups opportunities on the mailing list 😊\n\n\u003e Off topic :) ! I was thinking to propose an OpenOCD meeting beside embedded world 2027. Do you think it would make sense?\n\nYes, I will there probably. Let\u0027s use the mailing list for announcements / planning.","commit_id":"636f43d28aca8d49b9b7c81d4cafdc27aab5b302"},{"author":{"_account_id":1001667,"name":"Jan Matyas","email":"jan.matyas@codasip.com","username":"JanMatCodasip"},"change_message_id":"34eb79cc9906319b3fde17b5fe02ab7c3b67e42d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"72b7fffe_cfe97b63","in_reply_to":"9953dc9e_80529fc2","updated":"2026-05-28 07:23:36.000000000","message":"Done","commit_id":"636f43d28aca8d49b9b7c81d4cafdc27aab5b302"},{"author":{"_account_id":1000853,"name":"zapb","display_name":"Marc Schink","email":"dev@zapb.de","username":"zapb"},"change_message_id":"2e65b99842b0e18ac38a8ed04bf6fadeba417603","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":4,"id":"0d92a0ec_b23bb128","in_reply_to":"a196bbb7_c77acf9c","updated":"2026-03-13 18:31:48.000000000","message":"Tested the patch on MINGW64 with Clang and GCC - works as expected. libjaylink is already fixed in Git master.","commit_id":"636f43d28aca8d49b9b7c81d4cafdc27aab5b302"},{"author":{"_account_id":1001667,"name":"Jan Matyas","email":"jan.matyas@codasip.com","username":"JanMatCodasip"},"change_message_id":"0688dc47b111d4b113e81d8743ff13c1b7c2a209","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"1832946d_e507bd17","in_reply_to":"a1e6b9a3_f57434c8","updated":"2026-03-23 10:41:02.000000000","message":"Thanks for re-testing it after me, Sam, appreciated.\n\nBTW, we could grab a beer and make a little OpenOCD meetup in Brno. 😊","commit_id":"636f43d28aca8d49b9b7c81d4cafdc27aab5b302"},{"author":{"_account_id":1001667,"name":"Jan Matyas","email":"jan.matyas@codasip.com","username":"JanMatCodasip"},"change_message_id":"4ead3204d131f141f898c3d67a3889c918efcb59","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"22a2abb1_7178d257","in_reply_to":"c02a7350_3bcee95b","updated":"2026-05-28 10:15:11.000000000","message":"\u003cofftopic\u003e\n\nThat sounds like a nice opportunity that may work well for many people from around the embedded area. (I myself am unsure whether I\u0027ll visit EW 2027, though.)\n\nWe have had a little informal OpenOCD meetup with Erhan and Sam from Expressif at the end of April in Brno, CZ. If we happen to have a second meetup sometime, \u0027ll post a message on the maillist. If someone from our area is interested in joining, that is always welcome. 😊\n\n\u003c/offtopic\u003e","commit_id":"636f43d28aca8d49b9b7c81d4cafdc27aab5b302"},{"author":{"_account_id":1000716,"name":"Chris Head","email":"chead@zaber.com","username":"Hawk777"},"change_message_id":"1fa62ea023d212c02c68049ce826d040c5258677","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"6afb0e83_35d4e64f","updated":"2026-05-28 22:49:58.000000000","message":"OK, I think ideally it would be better to replace all the “int”s that hold socket descriptors with some typedef that is either “int” on UNIX or “SOCKET” on Windows, but that is probably a larger, more invasive change. Given that it works in practice, even if it is sketchy in theory, I’m OK with this to going in now, and the larger change happening later (if ever).","commit_id":"343f44a1bc8ee53269c2815bf52c9301ae9fff3d"}],"src/helper/replacements.c":[{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"49322f1974caa65f180fce474615c504e5b57cdd","unresolved":true,"context_lines":[{"line_number":128,"context_line":""},{"line_number":129,"context_line":"#ifdef _WIN32"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"static inline bool safe_fd_isset(int fd, fd_set *set)"},{"line_number":132,"context_line":"{"},{"line_number":133,"context_line":"\treturn set \u0026\u0026 OCD_FD_ISSET(fd, set);"},{"line_number":134,"context_line":"}"}],"source_content_type":"text/x-csrc","patch_set":5,"id":"002da42d_8b6373ca","line":131,"updated":"2026-05-28 08:42:53.000000000","message":"Don\u0027t use `inline` for normal function, let the compiler to decide depending on the optimization level.\nInstead, `static inline` is mandatory for helper functions fully declared in an include file.","commit_id":"b81810a1a697493a55a0df37058f935d39d75466"},{"author":{"_account_id":1001667,"name":"Jan Matyas","email":"jan.matyas@codasip.com","username":"JanMatCodasip"},"change_message_id":"0a07b97e617214dfc34bce6088fba60fd1db940a","unresolved":true,"context_lines":[{"line_number":128,"context_line":""},{"line_number":129,"context_line":"#ifdef _WIN32"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"static inline bool safe_fd_isset(int fd, fd_set *set)"},{"line_number":132,"context_line":"{"},{"line_number":133,"context_line":"\treturn set \u0026\u0026 OCD_FD_ISSET(fd, set);"},{"line_number":134,"context_line":"}"}],"source_content_type":"text/x-csrc","patch_set":5,"id":"1571ecac_9d73dac8","line":131,"in_reply_to":"002da42d_8b6373ca","updated":"2026-05-28 10:08:20.000000000","message":"Done - `inline` removed.\n\n(I had `inline` there perhaps because this function was created instead of a former.)","commit_id":"b81810a1a697493a55a0df37058f935d39d75466"},{"author":{"_account_id":1001667,"name":"Jan Matyas","email":"jan.matyas@codasip.com","username":"JanMatCodasip"},"change_message_id":"a9b3628f4bebd2af57d15a05155a068c34352a07","unresolved":false,"context_lines":[{"line_number":128,"context_line":""},{"line_number":129,"context_line":"#ifdef _WIN32"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"static inline bool safe_fd_isset(int fd, fd_set *set)"},{"line_number":132,"context_line":"{"},{"line_number":133,"context_line":"\treturn set \u0026\u0026 OCD_FD_ISSET(fd, set);"},{"line_number":134,"context_line":"}"}],"source_content_type":"text/x-csrc","patch_set":5,"id":"da4a22c2_7d9d30f3","line":131,"in_reply_to":"1571ecac_9d73dac8","updated":"2026-05-29 06:58:45.000000000","message":"Done","commit_id":"b81810a1a697493a55a0df37058f935d39d75466"}]}
