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

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/b13f302ad2da716562911ede97da52892bfcafe1">https://github.com/macports/macports-ports/commit/b13f302ad2da716562911ede97da52892bfcafe1</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 b13f302ad2d {lib}gcc-devel: Port changes from gcc13
</span>b13f302ad2d is described below

<span style='display:block; white-space:pre;color:#808000;'>commit b13f302ad2da716562911ede97da52892bfcafe1
</span>Author: Chris Jones <jonesc@macports.org>
AuthorDate: Tue Mar 12 10:01:04 2024 +0000

<span style='display:block; white-space:pre;color:#404040;'>    {lib}gcc-devel: Port changes from gcc13
</span>---
 lang/gcc-devel/Portfile                            | 57 ++++++++++++++--------
 .../files/patch-OSX10.14-ucred-atomic-define.diff  | 27 ++++++++++
 .../patch-disable-sys-header-missing-abort.diff    | 11 +++++
 3 files changed, 74 insertions(+), 21 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/gcc-devel/Portfile b/lang/gcc-devel/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index ba83d32fdf7..b90225485b3 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/gcc-devel/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/gcc-devel/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -141,10 +141,10 @@ if { ${subport} ne ${libcxxname} && ${os.platform} eq "darwin" } {
</span>     # gcc has build issues on macOS 11.3 with the use of Xcode 12.5 clang via cctools for ld
     # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100340
     # https://trac.macports.org/ticket/62775
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    # Extend skipping comparison to Darwin 14 and older.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # Update for gcc13 - Similar issues on macOS 10.6, 10.13 ...
</span>     if { ([vercmp ${xcodeversion} >= 12.5] && [vercmp ${xcodeversion} < 13]) || \
          ([vercmp ${xcodecltversion} >= 12.5] && [vercmp ${xcodecltversion} < 13]) || \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-         ${os.major} < 15 } \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             ${os.major} < 11 || ${os.major} == 17 } \
</span>     {
         # Skip bootstrap comparison entirely
         configure.args-replace --with-build-config=bootstrap-debug --without-build-config
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -158,6 +158,15 @@ if { ${subport} ne ${libcxxname} && ${os.platform} eq "darwin" } {
</span>     }
 }
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+if { ${os.platform} eq "darwin" } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # Do not abort if 'system' headers in /opt/local/include/gcc are missing
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    patchfiles-append      patch-disable-sys-header-missing-abort.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # GCC fixinc work-around for sys/ucred.h on OSX10.14.4 no longer seems to work ???
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if { ${os.major} == 18 } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        patchfiles-append  patch-OSX10.14-ucred-atomic-define.diff
</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;'>+
</span> # Since GCC 7.4.0, during configure, it detects features supported by target-as.
 # On the other hand, MacPorts cctools contain a proxy for 'as' that runs system
 # 'as' or one of the supported MacPorts clang's 'as' if it is installed. Here,
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -234,7 +243,7 @@ subport ${libcxxname} {
</span>         if { ${os.platform} eq "darwin" && ${os.major} < 11 } {
             default_variants-append +clang11
         } else {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-            default_variants-append +clang14
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            default_variants-append +clang16
</span>         }
     }
     revision                [ expr ${revision} + 0 ]
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -305,6 +314,20 @@ compiler.blacklist-append {clang < 800} gcc-4.0 *gcc-4.2 {llvm-gcc-4.2 < 2336.1}
</span> # c++/v1/functional:1408:2: error: no member named 'fancy_abort' in namespace 'std::__1'; did you mean simply 'fancy_abort'?
 compiler.blacklist-append {clang < 1001}
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+platform darwin {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # gcc can't be built by Xcode Clang 14.0.x
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # https://trac.macports.org/ticket/67416
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # https://github.com/iains/gcc-12-branch/issues/6
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if { ([vercmp ${xcodeversion} >= 14.0] && [vercmp ${xcodeversion} < 14.1]) || \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ([vercmp ${xcodecltversion} >= 14.0] && [vercmp ${xcodecltversion} < 14.1]) } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        pre-fetch {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ui_error "${name} cannot be built with Xcode/CLT 14.0.x"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ui_error "Either upgrade both Xcode and the Command Line Tools to 14.1 or later, or downgrade to 13.4."
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            return -code error "incompatible Xcode/CLT version"
</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;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> # "-stdlib" would be passed on to the bootstrap compiler if present
 configure.cxx_stdlib
 
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -316,14 +339,13 @@ destroot.target     install install-info-host
</span> # gcc cannot build if libunwind-headers is active
 conflicts_build-append libunwind-headers
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# List of dylibs to be installed
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# Note that we really don't want to include libgcc_ext.10.[45].dylib here, but install_name_tool
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# doesn't know how to change the id of stubs, and it's easier than recreating them for each
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# gcc port.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-set dylibs {libgcc_ext.10.4.dylib libgcc_ext.10.5.dylib libgcc_s.1.dylib libgcc_s.1.1.dylib \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                libgcc_s.2.dylib libgfortran.5.dylib libquadmath.0.dylib libstdc++.6.dylib \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                libobjc-gnu.4.dylib libgomp.1.dylib libitm.1.dylib libssp.0.dylib libasan.6.dylib \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                libubsan.1.dylib libatomic.1.dylib libgcc_ehs.1.1.dylib}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Find dylibs at a given location
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+proc dylib_list {location} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # Note *.*.dylib is to only match versioned dylibs, not the versionless sym links
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set dylibs [glob -directory ${location} -tails *.*.dylib]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    ui_debug "Found at ${location} dylibs : ${dylibs}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    return ${dylibs}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span> 
 # Moving libgccjit.0.dylib to libgcc failed for some reason
 # https://github.com/macports/macports-ports/commit/ce950c5729c9178cd6c61f9f4096888a026bb87f#commitcomment-78932371
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -367,21 +389,13 @@ if {${subport} eq ${libgccname}} {
</span>         --with-gxx-include-dir=${prefix}/include/${name}/c++/ \
         --with-gxx-include-dir=${prefix}/include/gcc/c++/
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    # TODO: Possibly disable bootstrap with appropriate configure flags.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    #       the problem is that libstdc++'s configure script tests for tls support
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    #       using the running compiler (not gcc for which libstdc++ is being built).
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    #       Thus when we build with clang, we get a mismatch
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # http://trac.macports.org/ticket/36116
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    #compiler.blacklist-append {clang < 425}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    #configure.args-append --disable-bootstrap
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    #build.target        all
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span>     post-destroot {
 
         # Temporary working dir for dylibs
         file mkdir ${destroot}${prefix}/lib/libgcc.merged
 
         # loop over libs to install
<span style='display:block; white-space:pre;background:#e0ffe0;'>+        set dylibs [dylib_list ${destroot}${prefix}/lib/libgcc]
</span>         foreach dylib ${dylibs} {
 
             # Different OS versions (e.g. Leopard) or architectures (e.g. PPC) don't produce all the dylibs
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -391,7 +405,7 @@ if {${subport} eq ${libgccname}} {
</span>                 continue
             }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-            # Move dylib to it to temp area
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            # Move dylib to temp area
</span>             move ${destroot}${prefix}/lib/libgcc/${dylib} ${destroot}${prefix}/lib/libgcc.merged
 
             # If needed create versionless sym link to dylib
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -454,6 +468,7 @@ if {${subport} eq ${name}} {
</span>         }
 
         # loop over libs to install
<span style='display:block; white-space:pre;background:#e0ffe0;'>+        set dylibs [dylib_list ${destroot}${prefix}/lib/${name}]
</span>         foreach dylib ${dylibs} {
             # Different OS versions (e.g. Leopard) or architectures (e.g. PPC) don't produce all the dylibs
             # https://trac.macports.org/ticket/40098
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/gcc-devel/files/patch-OSX10.14-ucred-atomic-define.diff b/lang/gcc-devel/files/patch-OSX10.14-ucred-atomic-define.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..fe70dc377f9
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/gcc-devel/files/patch-OSX10.14-ucred-atomic-define.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,27 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/config/darwin-driver.cc.orig       2023-10-02 12:36:04
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/config/darwin-driver.cc    2023-10-02 13:30:34
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -17,6 +17,10 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ You should have received a copy of the GNU General Public License
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ along with GCC; see the file COPYING3.  If not see
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <http://www.gnu.org/licenses/>.  */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#ifndef _Atomic
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define _Atomic volatile
</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;'>+ #include "config.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "libiberty.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libsanitizer/sanitizer_common/sanitizer_platform.h.orig        2023-10-02 20:27:40
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libsanitizer/sanitizer_common/sanitizer_platform.h     2023-10-02 20:28:52
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -444,6 +444,10 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #  define SANITIZER_START_BACKGROUND_THREAD_IN_ASAN_INTERNAL 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #  define SANITIZER_START_BACKGROUND_THREAD_IN_ASAN_INTERNAL 0
</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;'>++#ifndef _Atomic
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define _Atomic volatile
</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;'>+ #endif  // SANITIZER_PLATFORM_H
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/gcc-devel/files/patch-disable-sys-header-missing-abort.diff b/lang/gcc-devel/files/patch-disable-sys-header-missing-abort.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..880bb1cc19c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/gcc-devel/files/patch-disable-sys-header-missing-abort.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,11 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/Makefile.in.orig   2023-09-27 12:34:24
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/Makefile.in        2023-09-27 12:35:59
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -3280,7 +3280,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         echo "  ${BUILD_SYSTEM_HEADER_DIR}" >&2 ; \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         tooldir_sysinc=`echo "${gcc_tooldir}/sys-include" | sed -e :a -e "s,[^/]*/\.\.\/,," -e ta`; \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         if test "x${BUILD_SYSTEM_HEADER_DIR}" = "x$${tooldir_sysinc}"; \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        then sleep 1; else exit 1; fi; \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        then sleep 1; else exit 0; fi; \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       fi; \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       $(mkinstalldirs) $${fix_dir}; \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       chmod a+rx $${fix_dir} || true; \
</span></pre><pre style='margin:0'>

</pre>