From 9eca6b2265c408d89857491176697fe458955bd8 Mon Sep 17 00:00:00 2001
From: Costas Argyris <costas.argyris@gmail.com>
Date: Wed, 22 Mar 2023 10:28:08 +0000
Subject: [PATCH] Fix native MSYS2 build failure [PR108865, PR109188]

Don't cause an error if the symbol is not found.

When building natively as an MSYS2 package, some
executables are borrowing the $(COMPILERS) flags
and --require-defined=HOST_EXTRA_OBJS_SYMBOL is
causing them to fail.

These executables don't need that symbol, so make
it optional such that they don't error out.

The compilers will still look for it (and find it)
with the desired effect of getting UTF-8 support.
---
 gcc/config/i386/x-mingw32-utf8 | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gcc/config/i386/x-mingw32-utf8 b/gcc/config/i386/x-mingw32-utf8
index 6161dc23547..9de963d7965 100644
--- a/gcc/config/i386/x-mingw32-utf8
+++ b/gcc/config/i386/x-mingw32-utf8
@@ -53,4 +53,4 @@ utf8-mingw32.o : utf8rc-mingw32.o sym-mingw32.o
 # This is expected because the resource object is not supposed
 # to have any symbols, it just has to be linked into the
 # executable in order for Windows to use the utf8 code page.
-$(COMPILERS) : override LDFLAGS += -Wl,--require-defined=HOST_EXTRA_OBJS_SYMBOL
+$(COMPILERS) : override LDFLAGS += -Wl,--undefined=HOST_EXTRA_OBJS_SYMBOL
-- 
2.30.2

