<pre style='margin:0'>
Ken (kencu) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/7ffd82db0cba8a030346bc360bd0685c26c1de00">https://github.com/macports/macports-ports/commit/7ffd82db0cba8a030346bc360bd0685c26c1de00</a></p>
<pre style="white-space: pre; background: #F8F8F8">The following commit(s) were added to refs/heads/master by this push:
<span style='display:block; white-space:pre;color:#404040;'>     new 7ffd82db0cb gcc11: fix 32bit clang bootstrap
</span>7ffd82db0cb is described below

<span style='display:block; white-space:pre;color:#808000;'>commit 7ffd82db0cba8a030346bc360bd0685c26c1de00
</span>Author: Ken Cunningham <kencu@macports.org>
AuthorDate: Fri Jul 2 15:02:31 2021 -0700

<span style='display:block; white-space:pre;color:#404040;'>    gcc11: fix 32bit clang bootstrap
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    closes: https://trac.macports.org/ticket/63161
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    uses upstream patch from gcc maintainer @iains
</span>---
 lang/gcc11/Portfile                                |  11 +-
 .../files/patch-iains-i686-clang-bootstrap.diff    | 131 +++++++++++++++++++++
 2 files changed, 141 insertions(+), 1 deletion(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/gcc11/Portfile b/lang/gcc11/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index e5f15e08df0..0c62a8c6129 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/gcc11/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/gcc11/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -62,6 +62,11 @@ subport             libgcc11 { revision [ expr ${revision} + 0 ] }
</span> 
 patchfiles          patch-Make-lang.in.diff
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+if { ${configure.build_arch} eq "i386" } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # fix no-pie clang bug bootstrapping gcc on i386
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    patchfiles-append patch-iains-i686-clang-bootstrap.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> depends_build-append \
                     port:texinfo
 depends_lib-append  port:cctools \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -86,7 +91,11 @@ platform darwin {
</span> 
 set gcc_configure_langs {c c++ objc obj-c++ lto fortran}
 if {${subport} eq ${name}} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    lappend gcc_configure_langs jit
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # the jit is not building on i386 systems
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # see https://trac.macports.org/ticket/61130
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {${build_arch} ne "i386"} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        lappend gcc_configure_langs jit
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span> }
 
 set gcc_as ${prefix}/bin/as
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/gcc11/files/patch-iains-i686-clang-bootstrap.diff b/lang/gcc11/files/patch-iains-i686-clang-bootstrap.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..d4438cd5617
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/gcc11/files/patch-iains-i686-clang-bootstrap.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,131 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git Makefile.in Makefile.in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 5610c3355e8..165247d5df2 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- Makefile.in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ Makefile.in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -650,6 +650,20 @@ all:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ @host_makefile_frag@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ###
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# Allow host makefile fragment to override PIE settings.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ifneq ($(STAGE1_NO_PIE_CFLAGS),)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  HOST_EXPORTS += export NO_PIE_CFLAGS="$(STAGE1_NO_PIE_CFLAGS)";
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ifneq ($(STAGE1_NO_PIE_FLAG),)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  HOST_EXPORTS += export NO_PIE_FLAG="$(STAGE1_NO_PIE_FLAG)";
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ifneq ($(BOOT_NO_PIE_CFLAGS),)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  POSTSTAGE1_HOST_EXPORTS += export NO_PIE_CFLAGS="$(BOOT_NO_PIE_CFLAGS)";
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ifneq ($(BOOT_NO_PIE_FLAG),)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  POSTSTAGE1_HOST_EXPORTS += export NO_PIE_FLAG="$(BOOT_NO_PIE_FLAG)";
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # This is the list of directories that may be needed in RPATH_ENVVAR
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # so that programs built for the target machine work.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ TARGET_LIB_PATH = $(TARGET_LIB_PATH_libstdc++-v3)$(TARGET_LIB_PATH_libsanitizer)$(TARGET_LIB_PATH_libvtv)$(TARGET_LIB_PATH_liboffloadmic)$(TARGET_LIB_PATH_libssp)$(TARGET_LIB_PATH_libphobos)$(TARGET_LIB_PATH_libgomp)$(TARGET_LIB_PATH_libitm)$(TARGET_LIB_PATH_libatomic)$(HOST_LIB_PATH_gcc)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git config/mh-darwin config/mh-darwin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 148b73038c3..08ce540b55e 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- config/mh-darwin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ config/mh-darwin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1,29 +1,33 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # The -mdynamic-no-pic ensures that the compiler executable is built without
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# position-independent-code -- the usual default on Darwin. This fix speeds
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# compiles by 3-5%.  Don't add it if the compiler doesn't also support
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# -mno-dynamic-no-pic to undo it.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-DARWIN_MDYNAMIC_NO_PIC := \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-`case ${host} in i?86-*-darwin* | powerpc-*-darwin*) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-   $(CC) -S -xc /dev/null -o /dev/null -mno-dynamic-no-pic 2>/dev/null \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-   && echo -mdynamic-no-pic ;; esac`
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-DARWIN_GCC_MDYNAMIC_NO_PIC := \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-`case ${host} in i?86-*-darwin* | powerpc-*-darwin*) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-   $(CC) -S -xc /dev/null -o /dev/null -mno-dynamic-no-pic 2>/dev/null \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-   || echo -mdynamic-no-pic ;; esac`
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# position-independent-code -- the usual default on Darwin. This speeds compiles
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# by 8-20% (measurements made against GCC-11).  Do not add it if the buulding
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# compiler doesn't also support -mno-dynamic-no-pic to undo it, since libiberty,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# at least, needs this facility
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# ld on Darwin versions >= 10.7 defaults to PIE executables. Disable this for
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# gcc components, since it is incompatible with our pch implementation.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-DARWIN_NO_PIE := `case ${host} in *-*-darwin[1][1-9]*) echo -Wl,-no_pie ;; esac;`
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# In addition, all versions of clang released to date treat -fno-PIE in -m32
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# compilations  as switching PIC code off too, which means that -fno-PIE, without
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# -mdynamic-no-pic produces broken relocations (and we cannot enable mdynamic-no-pic
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# because the inverse setting doesn't work).
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-BOOT_CFLAGS += $(DARWIN_MDYNAMIC_NO_PIC)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-BOOT_LDFLAGS += $(DARWIN_NO_PIE)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++CAN_MDYNAMIC_NO_PIC := \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++`$(CC) -S -xc /dev/null -o /dev/null -mno-dynamic-no-pic 2>/dev/null \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ && ($(CC) -E -dM -xc /dev/null | grep -q __clang__ || echo true)`
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# Similarly, for cross-compilation.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-STAGE1_CFLAGS += $(DARWIN_MDYNAMIC_NO_PIC)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-STAGE1_LDFLAGS += $(DARWIN_NO_PIE)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# Here we use STAGE1 to mean both bootstrap and for the no-bootstrap single compile.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ifeq ($(CAN_MDYNAMIC_NO_PIC),true)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++STAGE1_NO_PIE_CFLAGS = -fno-PIE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++STAGE1_NO_PIE_CFLAGS = -fno-PIE -fPIC
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# Without -mno-dynamic-no-pic support, add -mdynamic-no-pic just to later
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# stages when we know it is built with gcc.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-STAGE2_CFLAGS += $(DARWIN_GCC_MDYNAMIC_NO_PIC)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-STAGE3_CFLAGS += $(DARWIN_GCC_MDYNAMIC_NO_PIC)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-STAGE4_CFLAGS += $(DARWIN_GCC_MDYNAMIC_NO_PIC)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++@if gcc-bootstrap
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# Add -mdynamic-no-pic to later stages when we know it is built with GCC.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++STAGE2_CFLAGS += -mdynamic-no-pic
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++STAGE3_CFLAGS += -mdynamic-no-pic
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++STAGE4_CFLAGS += -mdynamic-no-pic
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# For GCC, this is compatible with mdynamic-no-pic.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++BOOT_NO_PIE_CFLAGS = -fno-PIE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++@endif gcc-bootstrap
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++STAGE1_NO_PIE_FLAG = -Wl,-no_pie
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++BOOT_NO_PIE_FLAG = -Wl,-no_pie
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/configure gcc/configure
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index cb89dd71b77..bd6b78213d0 100755
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/configure
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/configure
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -31100,7 +31100,7 @@ fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gcc_cv_c_no_fpie" >&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ $as_echo "$gcc_cv_c_no_fpie" >&6; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if test "$gcc_cv_c_no_fpie" = "yes"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  NO_PIE_CFLAGS="-fno-PIE"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  NO_PIE_CFLAGS=${NO_PIE_CFLAGS-"-fno-PIE"}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -31128,7 +31128,7 @@ fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gcc_cv_no_pie" >&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ $as_echo "$gcc_cv_no_pie" >&6; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if test "$gcc_cv_no_pie" = "yes"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  NO_PIE_FLAG="-no-pie"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  NO_PIE_FLAG=${NO_PIE_FLAG-"-no-pie"}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gcc/configure.ac gcc/configure.ac
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index d8aad32f59f..1ccd9239072 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/configure.ac
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/configure.ac
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -7002,7 +7002,7 @@ AC_CACHE_CHECK([for -fno-PIE option],
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+      [gcc_cv_c_no_fpie=no])
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    CXXFLAGS="$saved_CXXFLAGS"])
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if test "$gcc_cv_c_no_fpie" = "yes"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  NO_PIE_CFLAGS="-fno-PIE"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  NO_PIE_CFLAGS=${NO_PIE_CFLAGS-"-fno-PIE"}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ AC_SUBST([NO_PIE_CFLAGS])
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -7016,7 +7016,7 @@ AC_CACHE_CHECK([for -no-pie option],
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+      [gcc_cv_no_pie=no])
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    LDFLAGS="$saved_LDFLAGS"])
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if test "$gcc_cv_no_pie" = "yes"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  NO_PIE_FLAG="-no-pie"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  NO_PIE_FLAG=${NO_PIE_FLAG-"-no-pie"}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ AC_SUBST([NO_PIE_FLAG])
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span></pre><pre style='margin:0'>

</pre>