<pre style='margin:0'>
Perry E. Metzger (pmetzger) pushed a commit to branch master
in repository macports-ports.
</pre>
<p><a href="https://github.com/macports/macports-ports/commit/da6e8a5fe3828baab38b7ec728339302074d2ac5">https://github.com/macports/macports-ports/commit/da6e8a5fe3828baab38b7ec728339302074d2ac5</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 da6e8a5fe38 msp430-elf-gcc: update to version 9.3.1.2
</span>da6e8a5fe38 is described below
<span style='display:block; white-space:pre;color:#808000;'>commit da6e8a5fe3828baab38b7ec728339302074d2ac5
</span>Author: Edil Medeiros <jose.edil@gmail.com>
AuthorDate: Sun Jun 9 03:22:12 2024 -0300
<span style='display:block; white-space:pre;color:#404040;'> msp430-elf-gcc: update to version 9.3.1.2
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> TI's versioning is a mess. The website reports 9.3.1.2, the release notes say
</span><span style='display:block; white-space:pre;color:#404040;'> 9.3.1.11 and everything is based on gcc 9.3.0. I kept the former as it is what I
</span><span style='display:block; white-space:pre;color:#404040;'> would expect after visiting TI's website. But that required a hack to make
</span><span style='display:block; white-space:pre;color:#404040;'> newlib compile.
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> The patches are backports of official gcc patches (see port comments with links
</span><span style='display:block; white-space:pre;color:#404040;'> to the issue trackers).
</span>---
cross/msp430-elf-gcc/Portfile | 40 ++++++++++++----
cross/msp430-elf-gcc/files/gcc_config_host.diff | 13 ++++++
cross/msp430-elf-gcc/files/gcc_system.diff | 62 +++++++++++++++++++++++++
3 files changed, 106 insertions(+), 9 deletions(-)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/cross/msp430-elf-gcc/Portfile b/cross/msp430-elf-gcc/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 6b3685e9915..34c4a2c543f 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/cross/msp430-elf-gcc/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/cross/msp430-elf-gcc/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -3,24 +3,32 @@
</span> PortSystem 1.0
PortGroup crossgcc 1.0
<span style='display:block; white-space:pre;background:#ffe0e0;'>-crossgcc.setup msp430-elf 8.3.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+crossgcc.setup msp430-elf 9.3.0
</span> crossgcc.setup_libc newlib 2.4.0
<span style='display:block; white-space:pre;background:#ffe0e0;'>-revision 2
</span>
<span style='display:block; white-space:pre;background:#ffe0e0;'>-set vers_patch 8.3.0.16
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Align with TI's versioning
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+version 9.3.1.2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set vers_patch 9.3.1.11
</span> set name_patch msp430-gcc-${vers_patch}-source-patches
set file_patch ${name_patch}.tar.bz2
<span style='display:block; white-space:pre;background:#ffe0e0;'>-maintainers nomaintainer
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+maintainers {@edilmedeiros gmail.com:jose.edil+macports} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ openmaintainer
</span>
homepage http://www.ti.com/tool/msp430-gcc-opensource
<span style='display:block; white-space:pre;background:#ffe0e0;'>-master_sites-append http://software-dl.ti.com/msp430/msp430_public_sw/mcu/msp430/MSPGCC/latest/exports/:patch
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+master_sites-append https://dr-download.ti.com/software-development/ide-configuration-compiler-or-debugger/MD-LlCjWuAbzH/${version}/:patch
</span>
distfiles-append ${file_patch}:patch
checksums-append ${file_patch} \
<span style='display:block; white-space:pre;background:#ffe0e0;'>- rmd160 fa0c6ddd1d9e7a44ad470671c5c5be9a61a0051a \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- sha256 2732abaf76e1da9e224b25d442c2f764c487087603ae1d954d6e980e48f37af7 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- size 143805
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ md5 8f305461a3b32fc8d1155bf18685f53b \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rmd160 a8e5a2ddb2adf4ed9370ec632d361b2e6b2c4613 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha256 ec6472b034e11e8cfdeb3934b218e5bafbb7a03f3afc0e76536bd9c42653525b \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size 283677
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Bump back version so that newlib will compile correctly.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+pre-extract {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ version 9.3.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span>
depends_run port:msp430-gcc-support-files
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -31,10 +39,24 @@ post-extract {
</span> system -W ${workpath} "${prefix}/bin/bzip2 -dc ${distpath}/${file_patch} | /usr/bin/tar xf -"
}
pre-patch {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- system -W ${worksrcpath} "/usr/bin/patch -p0 < ${workpath}/${name_patch}/gcc-8_3_0-release.patch"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ system -W ${worksrcpath} "/usr/bin/patch -p0 < ${workpath}/${name_patch}/gcc-${version}.patch"
</span> system -W ${workpath}/newlib-2.4.0 "/usr/bin/patch -p0 < ${workpath}/${name_patch}/newlib-2_4_0.patch"
}
<span style='display:block; white-space:pre;background:#e0ffe0;'>+# gcc_system.diff: See https://gcc.gnu.org/bugzilla/show_bug.cgi?format=multiple&id=111632
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# gcc_config_host.diff: See https://github.com/riscv-software-src/homebrew-riscv/issues/47
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles gcc_system.diff \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gcc_config_host.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Use the same flags as TI's build script
</span> configure.args-append \
<span style='display:block; white-space:pre;background:#e0ffe0;'>+ --target=msp430-elf \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-languages=c,c++ \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --disable-nls \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --enable-initfini-array \
</span> --enable-target-optspace \
--enable-newlib-nano-formatted-io
<span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Required to build the patched newlib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.cflags-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -Wno-error=int-conversion
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/cross/msp430-elf-gcc/files/gcc_config_host.diff b/cross/msp430-elf-gcc/files/gcc_config_host.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..00ca4560fb7
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/cross/msp430-elf-gcc/files/gcc_config_host.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,13 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/config.host.orig 2020-03-12 08:07:21
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/config.host 2024-06-07 01:30:56
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -93,8 +93,8 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ case ${host} in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ *-darwin*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Generic darwin host support.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- out_host_hook_obj=host-darwin.o
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- host_xmake_file="${host_xmake_file} x-darwin"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # out_host_hook_obj=host-darwin.o
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ # host_xmake_file="${host_xmake_file} x-darwin"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ esac
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/cross/msp430-elf-gcc/files/gcc_system.diff b/cross/msp430-elf-gcc/files/gcc_system.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..e7fa8ecb1fc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/cross/msp430-elf-gcc/files/gcc_system.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,62 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gcc/system.h.orig 2020-03-12 08:07:21
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gcc/system.h 2024-06-07 00:58:02
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -194,27 +194,8 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #undef fread_unlocked
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #undef fwrite_unlocked
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-/* Include <string> before "safe-ctype.h" to avoid GCC poisoning
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- the ctype macros through safe-ctype.h */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#ifdef __cplusplus
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#ifdef INCLUDE_STRING
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# include <string>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#endif
</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;'>+-/* There are an extraordinary number of issues with <ctype.h>.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- The last straw is that it varies with the locale. Use libiberty's
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- replacement instead. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#include "safe-ctype.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#include <sys/types.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#include <errno.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#if !defined (errno) && defined (HAVE_DECL_ERRNO) && !HAVE_DECL_ERRNO
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-extern int errno;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* Include C++ standard headers before "safe-ctype.h" to avoid GCC
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ poisoning the ctype macros through safe-ctype.h */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #ifdef __cplusplus
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #if defined (INCLUDE_ALGORITHM) || !defined (HAVE_SWAP_IN_UTILITY)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -229,6 +210,9 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #ifdef INCLUDE_SET
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # include <set>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#ifdef INCLUDE_STRING
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# include <string>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #ifdef INCLUDE_VECTOR
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # include <vector>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -237,6 +221,19 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # include <utility>
</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;'>++/* There are an extraordinary number of issues with <ctype.h>.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ The last straw is that it varies with the locale. Use libiberty's
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ replacement instead. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include "safe-ctype.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include <sys/types.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include <errno.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if !defined (errno) && defined (HAVE_DECL_ERRNO) && !HAVE_DECL_ERRNO
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++extern int errno;
</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;'>+ /* Some of glibc's string inlines cause warnings. Plus we'd rather
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rely on (and therefore test) GCC's string builtins. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define __NO_STRING_INLINES
</span></pre><pre style='margin:0'>
</pre>