<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/4e3a41145acc1b391d129db113ed67afb97abdd0">https://github.com/macports/macports-ports/commit/4e3a41145acc1b391d129db113ed67afb97abdd0</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit 4e3a41145acc1b391d129db113ed67afb97abdd0
</span>Author: Gleb Mazovetskiy <glex.spb@gmail.com>
AuthorDate: Sun Nov 24 15:11:52 2024 +0000
<span style='display:block; white-space:pre;color:#404040;'> gcc14: Patches for Tiger
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> Adds 2 patches to make gcc14 build on Tiger.
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> The patches correspond to the following upstream bugs:
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> 1. https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117834
</span><span style='display:block; white-space:pre;color:#404040;'> 2. https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117857
</span>---
lang/gcc14/Portfile | 8 +++
...darwin8-define-PTHREAD_RWLOCK_INITIALIZER.patch | 33 ++++++++++++
lang/gcc14/files/darwin8-ttyname_r.patch | 62 ++++++++++++++++++++++
3 files changed, 103 insertions(+)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/gcc14/Portfile b/lang/gcc14/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 9782d8a1872..499cb67e15d 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/gcc14/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/gcc14/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -208,6 +208,14 @@ if { ${os.platform} eq "darwin" } {
</span> # This patch has been merged upstream in https://github.com/gcc-mirror/gcc/commit/1cfe4a4d0d4447b364815d5e5c889deb2e533669
# Remove it when upgrading gcc to a version that has it.
patchfiles-append darwin-ppc-fpu.patch
<span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if { ${os.major} == 8 } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117834
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ patchfiles-append darwin8-define-PTHREAD_RWLOCK_INITIALIZER.patch
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117857
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ patchfiles-append darwin8-ttyname_r.patch
</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.
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/gcc14/files/darwin8-define-PTHREAD_RWLOCK_INITIALIZER.patch b/lang/gcc14/files/darwin8-define-PTHREAD_RWLOCK_INITIALIZER.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..f2abf8feb95
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/gcc14/files/darwin8-define-PTHREAD_RWLOCK_INITIALIZER.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,33 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From c86f77d40e74cbbd6bc2bb4b2d8aaa30bac04f23 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: Gleb Mazovetskiy <glex.spb@gmail.com>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Thu, 28 Nov 2024 16:00:06 +0000
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH] define PTHREAD_RWLOCK_INITIALIZER
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Per https://github.com/macports/macports-ports/pull/26655#issuecomment-2506351012
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Remove this patch once
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117834 is resolved
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libgcc/gthr-posix.h | 6 ++++++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 1 file changed, 6 insertions(+)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git libgcc/gthr-posix.h libgcc/gthr-posix.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 82e8f9ffcf6..f87283cb0e4 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libgcc/gthr-posix.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libgcc/gthr-posix.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -62,6 +62,12 @@ typedef struct timespec __gthread_time_t;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define __GTHREAD_MUTEX_INIT PTHREAD_MUTEX_INITIALIZER
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define __GTHREAD_MUTEX_INIT_FUNCTION __gthread_mutex_init_function
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #ifndef __cplusplus
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#ifndef PTHREAD_RWLOCK_INITIALIZER
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#ifndef _PTHREAD_RWLOCK_SIG_init
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define _PTHREAD_RWLOCK_SIG_init 0x2DA8B3B4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define PTHREAD_RWLOCK_INITIALIZER {_PTHREAD_RWLOCK_SIG_init, {0}}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define __GTHREAD_RWLOCK_INIT PTHREAD_RWLOCK_INITIALIZER
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define __GTHREAD_ONCE_INIT PTHREAD_ONCE_INIT
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+2.43.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/gcc14/files/darwin8-ttyname_r.patch b/lang/gcc14/files/darwin8-ttyname_r.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..68341c13548
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/gcc14/files/darwin8-ttyname_r.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,62 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From 7abb2866863471eb6252ebec67ac2de56abda0db Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: Gleb Mazovetskiy <glex.spb@gmail.com>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Sat, 30 Nov 2024 08:57:43 +0000
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH] darwin8 ttyname_r patch
</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;'>+ libgfortran/io/unix.c | 7 +++++++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ .../sanitizer_common_interceptors.inc | 12 ++++++++++++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 2 files changed, 19 insertions(+)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git libgfortran/io/unix.c libgfortran/io/unix.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 16600c855f2..80d2fad7ef8 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libgfortran/io/unix.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libgfortran/io/unix.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -2094,7 +2094,14 @@ stream_ttyname (stream *s __attribute__ ((unused)),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size_t buflen __attribute__ ((unused)))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #ifdef HAVE_TTYNAME_R
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if __DARWIN_UNIX03
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return ttyname_r (((unix_stream *)s)->fd, buf, buflen);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ char *p = ttyname_r (((unix_stream *)s)->fd, buf, buflen);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (!p)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ return errno;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ return 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #elif defined HAVE_TTYNAME
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ char *p;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size_t plen;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 607ecae6808..2d2fceedf79 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -5036,6 +5036,7 @@ INTERCEPTOR(char *, ttyname, int fd) {
</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;'>+ #if SANITIZER_INTERCEPT_TTYNAME_R
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if __DARWIN_UNIX03
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ INTERCEPTOR(int, ttyname_r, int fd, char *name, SIZE_T namesize) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ void *ctx;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ COMMON_INTERCEPTOR_ENTER(ctx, ttyname_r, fd, name, namesize);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -5044,6 +5045,17 @@ INTERCEPTOR(int, ttyname_r, int fd, char *name, SIZE_T namesize) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ COMMON_INTERCEPTOR_WRITE_RANGE(ctx, name, internal_strlen(name) + 1);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return res;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++INTERCEPTOR(char*, ttyname_r, int fd, char *name, SIZE_T namesize) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ void *ctx;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ COMMON_INTERCEPTOR_ENTER(ctx, ttyname_r, fd, name, namesize);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ char *res = REAL(ttyname_r)(fd, name, namesize);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (res != nullptr)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ COMMON_INTERCEPTOR_WRITE_RANGE(ctx, name, internal_strlen(name) + 1);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ return res;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++}
</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;'>+ #define INIT_TTYNAME_R COMMON_INTERCEPT_FUNCTION(ttyname_r);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define INIT_TTYNAME_R
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+2.43.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span></pre><pre style='margin:0'>
</pre>