On Mon, 2025-11-17 at 14:13 -0500, David Malcolm wrote: > From: Evgeny Karpov <[email protected]>
Evgeny: I wrote a ChangeLog entry, and have pushed your patch. I took the liberty of rewriting the subject line, and slightly rewording the blurb; hope that's OK. Thanks for the patch; sorry again for the breakage. Dave > > The commit "diagnostics: add experimental SARIF JSON-RPC > notifications > for IDEs [PR115970]" > > https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=8a155c170b443e332b3db4922f0f0d588a17604f > > introduces a regression when building the toolchain for the > aarch64-w64-mingw32 host, at least. It is most likely the same for > *-*-mingw32 targets. > > This patch resolves the issue when using sockets for SARIF JSON-RPC > notifications on MinGW host and adds the required socket library to > the > host file for *-*-mingw. > > Successfully bootstrapped & regrtested on x86_64-pc-linux-gnu. > Pushed to trunk as r16-5362-g5ce13174c0cf82. > > Signed-off-by: Evgeny Karpov <[email protected]> > > gcc/ChangeLog: > PR diagnostics/122666 > * config/i386/x-mingw32 (LIBS): Add -lws2_32 > * diagnostics/sarif-sink.cc: Move sockets includes to before > config.h and support __MINGW32__. > > Signed-off-by: David Malcolm <[email protected]> > --- > gcc/config/i386/x-mingw32 | 3 +++ > gcc/diagnostics/sarif-sink.cc | 9 +++++++-- > 2 files changed, 10 insertions(+), 2 deletions(-) > > diff --git a/gcc/config/i386/x-mingw32 b/gcc/config/i386/x-mingw32 > index 8900bfccb6cbe..5ebe0882f4d88 100644 > --- a/gcc/config/i386/x-mingw32 > +++ b/gcc/config/i386/x-mingw32 > @@ -21,6 +21,9 @@ > # > local_includedir=$(libsubdir)/$(unlibsubdir)/..`echo $(exec_prefix) > | sed -e 's|^$(prefix)||' -e 's|/[^/]*|/..|g'`/include > > +# Add Windows socket library. > +LIBS += -lws2_32 > + > # On MinGW, we use "%IA64d" to print 64-bit integers, and the > format-checking > # code does not handle that, so we have to disable checking here. > WERROR_FLAGS += -Wno-format > diff --git a/gcc/diagnostics/sarif-sink.cc b/gcc/diagnostics/sarif- > sink.cc > index 0595074829f5b..01de2297b851f 100644 > --- a/gcc/diagnostics/sarif-sink.cc > +++ b/gcc/diagnostics/sarif-sink.cc > @@ -18,6 +18,13 @@ You should have received a copy of the GNU General > Public License > along with GCC; see the file COPYING3. If not see > <http://www.gnu.org/licenses/>. */ > > +#ifdef __MINGW32__ > +#include <winsock2.h> > +#include <afunix.h> > +#else > +#include <sys/un.h> > +#include <sys/socket.h> > +#endif > > #include "config.h" > #define INCLUDE_LIST > @@ -55,8 +62,6 @@ along with GCC; see the file COPYING3. If not see > #include "backtrace.h" > #include "xml.h" > #include "intl.h" > -#include <sys/un.h> > -#include <sys/socket.h> > > namespace diagnostics { >
