Gentle ping. This has been merged into MSYS2 at
https://github.com/msys2/MINGW-packages/commit/fc4afbaccc4fc855b2c96a881cc1a5bc81ab41d2,
and no regression till now.

On 2026/08/08 01:19, Zhongteng Gui wrote:
> When --with-build-sysroot is used, most target compiler invocations
> receive SYSROOT_CFLAGS_FOR_TARGET through XGCC_FLAGS_FOR_TARGET.
> GCC_FOR_TARGET and the post-stage1 C++ compiler are assembled
> separately, however, and therefore miss the configured sysroot.
> gnattools similarly constructs its native and rebuild CC and CXX
> commands directly.
> 
> Without these flags, configure tests performed in later bootstrap
> stages can fail to find the target headers or startup files, reporting
> that the C++ compiler cannot create executables.  Native gnattools can
> also invoke xg++ without the build sysroot when linking its programs,
> causing the target linker to fail to find crt2.o and
> default-manifest.o.
> 
> Add SYSROOT_CFLAGS_FOR_TARGET to GCC_FOR_TARGET and the post-stage1 C++
> compiler.  Pass XGCC_FLAGS_FOR_TARGET to the compiler commands used by
> native and rebuilt gnattools.
> 
> ChangeLog:
> 
>       PR bootstrap/126722
>       * Makefile.tpl (POSTSTAGE1_CXX_EXPORT): Add
>       SYSROOT_CFLAGS_FOR_TARGET.
>       (GCC_FOR_TARGET): Likewise.
>       * Makefile.in: Regenerate.
> 
> gnattools/ChangeLog:
> 
>       PR bootstrap/126722
>       * Makefile.in (TOOLS_FLAGS_TO_PASS_NATIVE): Add
>       XGCC_FLAGS_FOR_TARGET to CC and CXX.
>       (TOOLS_FLAGS_TO_PASS_RE): Likewise.
> 
> Signed-off-by: Zhongteng Gui <[email protected]>
> ---
>  Makefile.in           | 3 ++-
>  Makefile.tpl          | 3 ++-
>  gnattools/Makefile.in | 8 ++++----
>  3 files changed, 8 insertions(+), 6 deletions(-)
> 
> diff --git a/Makefile.in b/Makefile.in
> index 110fa63c10c..74055159008 100644
> --- a/Makefile.in
> +++ b/Makefile.in
> @@ -266,6 +266,7 @@ POSTSTAGE1_CXX_EXPORT = \
>         `if $(LEAN); then echo ' -isystem '; else echo ' -I'; 
> fi`$$r/prev-$(TARGET_SUBDIR)/libstdc++-v3/include/$(TARGET_SUBDIR) \
>         `if $(LEAN); then echo ' -isystem '; else echo ' -I'; 
> fi`$$r/prev-$(TARGET_SUBDIR)/libstdc++-v3/include \
>         `if $(LEAN); then echo ' -isystem '; else echo ' -I'; 
> fi`$$s/libstdc++-v3/libsupc++ \
> +       $(SYSROOT_CFLAGS_FOR_TARGET) \
>         -L$$r/prev-$(TARGET_SUBDIR)/libstdc++-v3/src/.libs \
>         -L$$r/prev-$(TARGET_SUBDIR)/libstdc++-v3/libsupc++/.libs"; \
>         export CXX; \
> @@ -715,7 +716,7 @@ CC_FOR_TARGET=$(STAGE_CC_WRAPPER) @CC_FOR_TARGET@
>  # variable is passed down to the gcc Makefile, where it is used to
>  # build libgcc2.a.  We define it here so that it can itself be
>  # overridden on the command line.
> -GCC_FOR_TARGET=$(STAGE_CC_WRAPPER) @GCC_FOR_TARGET@
> +GCC_FOR_TARGET=$(STAGE_CC_WRAPPER) @GCC_FOR_TARGET@ 
> $(SYSROOT_CFLAGS_FOR_TARGET)
>  CXX_FOR_TARGET=$(STAGE_CC_WRAPPER) @CXX_FOR_TARGET@
>  RAW_CXX_FOR_TARGET=$(STAGE_CC_WRAPPER) @RAW_CXX_FOR_TARGET@
>  GFORTRAN_FOR_TARGET=$(STAGE_CC_WRAPPER) @GFORTRAN_FOR_TARGET@
> diff --git a/Makefile.tpl b/Makefile.tpl
> index a5ff44e3dbc..8d2131846b8 100644
> --- a/Makefile.tpl
> +++ b/Makefile.tpl
> @@ -269,6 +269,7 @@ POSTSTAGE1_CXX_EXPORT = \
>         `if $(LEAN); then echo ' -isystem '; else echo ' -I'; 
> fi`$$r/prev-$(TARGET_SUBDIR)/libstdc++-v3/include/$(TARGET_SUBDIR) \
>         `if $(LEAN); then echo ' -isystem '; else echo ' -I'; 
> fi`$$r/prev-$(TARGET_SUBDIR)/libstdc++-v3/include \
>         `if $(LEAN); then echo ' -isystem '; else echo ' -I'; 
> fi`$$s/libstdc++-v3/libsupc++ \
> +       $(SYSROOT_CFLAGS_FOR_TARGET) \
>         -L$$r/prev-$(TARGET_SUBDIR)/libstdc++-v3/src/.libs \
>         -L$$r/prev-$(TARGET_SUBDIR)/libstdc++-v3/libsupc++/.libs"; \
>         export CXX; \
> @@ -622,7 +623,7 @@ CC_FOR_TARGET=$(STAGE_CC_WRAPPER) @CC_FOR_TARGET@
>  # variable is passed down to the gcc Makefile, where it is used to
>  # build libgcc2.a.  We define it here so that it can itself be
>  # overridden on the command line.
> -GCC_FOR_TARGET=$(STAGE_CC_WRAPPER) @GCC_FOR_TARGET@
> +GCC_FOR_TARGET=$(STAGE_CC_WRAPPER) @GCC_FOR_TARGET@ 
> $(SYSROOT_CFLAGS_FOR_TARGET)
>  CXX_FOR_TARGET=$(STAGE_CC_WRAPPER) @CXX_FOR_TARGET@
>  RAW_CXX_FOR_TARGET=$(STAGE_CC_WRAPPER) @RAW_CXX_FOR_TARGET@
>  GFORTRAN_FOR_TARGET=$(STAGE_CC_WRAPPER) @GFORTRAN_FOR_TARGET@
> diff --git a/gnattools/Makefile.in b/gnattools/Makefile.in
> index 98f1f75bdcc..14c74ea6c53 100644
> --- a/gnattools/Makefile.in
> +++ b/gnattools/Makefile.in
> @@ -81,8 +81,8 @@ CXX_LFLAGS = \
>  
>  # Variables for gnattools, native
>  TOOLS_FLAGS_TO_PASS_NATIVE= \
> -     "CC=../../xgcc -B../../" \
> -     "CXX=../../xg++ -B../../ $(CXX_LFLAGS)" \
> +     "CC=../../xgcc -B../../ $(XGCC_FLAGS_FOR_TARGET)" \
> +     "CXX=../../xg++ -B../../ $(CXX_LFLAGS) $(XGCC_FLAGS_FOR_TARGET)" \
>       "CFLAGS=$(CFLAGS) $(WARN_CFLAGS) $(PICFLAG)" \
>       "LDFLAGS=$(LDFLAGS) $(LD_PICFLAG)" \
>       "ADAFLAGS=$(ADAFLAGS)" \
> @@ -99,8 +99,8 @@ TOOLS_FLAGS_TO_PASS_NATIVE= \
>  
>  # Variables for regnattools
>  TOOLS_FLAGS_TO_PASS_RE= \
> -     "CC=../../xgcc -B../../" \
> -     "CXX=../../xg++ -B../../ $(CXX_LFLAGS)" \
> +     "CC=../../xgcc -B../../ $(XGCC_FLAGS_FOR_TARGET)" \
> +     "CXX=../../xg++ -B../../ $(CXX_LFLAGS) $(XGCC_FLAGS_FOR_TARGET)" \
>       "CFLAGS=$(CFLAGS) $(WARN_CFLAGS) $(PICFLAG)" \
>       "LDFLAGS=$(LDFLAGS) $(LD_PICFLAG)" \
>       "ADAFLAGS=$(ADAFLAGS)" \

Reply via email to