9GATEE4X4 fCEpJ3ekOA/AhiHxfJvFr1FwTzqOnJEzBNkxuTYtzIP7dt9BL9EEsCBN/0ZAWSWwkxHGhB zMDn+iEwmzRxAxn5Ke+WbaZciHVSApngjT0xhL0wBdDPROnZKsyRfIXYgRSxTqmV19S7OG JtyZkgfN+0FZvQMHVses/0U1Q4jr4HmJGA7jPsIYCMNMheNF6G/zmvuwK7T1KA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768403380; a=rsa-sha256; cv=none; b=cR2SE8W6SCACim48OLHUsb8rCpFdGRgkof5P0cTj76Ymy0zyG+ch0NHxZgc1bpiBLrcPpQ FyAqWdbjp7wjkJkDAvR+UbkEY8FX4eI2tquScIqVAGdtZRRU44JWoUI7rieCXN+S7Z3BJL jVGT3tmAjc32lJE5k+hL/VPz1y1bLhH3/G8dEZHNfzxqHhKO/b4d6JijyOoh87jYNdYgQG TyY6q6Qu87Ts3hmEea8Z+eEirW7QzX+pt+xTE12lmJiTChVTXNAj/AZGqwpbV77XZs8IAW 0YgnJcLpqMFbJDD0V6esn9cWpaQH5Oewmkbr1FZWsiKjBHDn4TprDX3DkkMaKQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4drqKJ4DDqz131Q for ; Wed, 14 Jan 2026 15:09:40 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id cf4b by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 14 Jan 2026 15:09:40 +0000 To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org From: Brooks Davis Subject: git: d5c827648ead - main - devel/llvm1[4567]: keep backport patches local List-Id: Commit messages for all branches of the ports repository List-Archive: https://lists.freebsd.org/archives/dev-commits-ports-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-ports-all@freebsd.org Sender: owner-dev-commits-ports-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: brooks X-Git-Repository: ports X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: d5c827648ead25c364859541c957a09ba0c276fb Auto-Submitted: auto-generated Date: Wed, 14 Jan 2026 15:09:40 +0000 Message-Id: <6967b1b4.cf4b.6bc749c@gitrepo.freebsd.org> The branch main has been updated by brooks: URL: https://cgit.FreeBSD.org/ports/commit/?id=d5c827648ead25c364859541c957a09ba0c276fb commit d5c827648ead25c364859541c957a09ba0c276fb Author: Brooks Davis AuthorDate: 2026-01-14 15:09:14 +0000 Commit: Brooks Davis CommitDate: 2026-01-14 15:09:14 +0000 devel/llvm1[4567]: keep backport patches local The patches generated by adding .patch to a github commit URL are unstable and the output of some of them changed recently. It's concivable this will be fixed, but they probably won't make any long term guarantees so store the patches in the ports tree instead of downloading them. PR: 292291 MFH: 2026Q1 Sponsored by: DARPA, AFRL See also: https://github.com/orgs/community/discussions/184094 --- devel/llvm14/Makefile | 5 --- devel/llvm14/distinfo | 8 +--- ...ch-backport-llvmorg-18-init-15199-gb9935bb02a50 | 52 ++++++++++++++++++++++ ...ch-backport-llvmorg-18-init-15680-g966d564e43e6 | 32 +++++++++++++ ...tch-backport-llvmorg-18-init-1760-g68744ffbdd7d | 31 +++++++++++++ devel/llvm15/Makefile | 5 --- devel/llvm15/distinfo | 8 +--- ...ch-backport-llvmorg-18-init-15199-gb9935bb02a50 | 52 ++++++++++++++++++++++ ...ch-backport-llvmorg-18-init-15680-g966d564e43e6 | 32 +++++++++++++ ...tch-backport-llvmorg-18-init-1760-g68744ffbdd7d | 31 +++++++++++++ devel/llvm16/Makefile | 5 --- devel/llvm16/distinfo | 8 +--- ...ch-backport-llvmorg-18-init-15199-gb9935bb02a50 | 52 ++++++++++++++++++++++ ...ch-backport-llvmorg-18-init-15680-g966d564e43e6 | 32 +++++++++++++ ...tch-backport-llvmorg-18-init-1760-g68744ffbdd7d | 31 +++++++++++++ devel/llvm17/Makefile | 5 --- devel/llvm17/distinfo | 10 +---- ...ch-backport-llvmorg-18-init-15199-gb9935bb02a50 | 52 ++++++++++++++++++++++ ...ch-backport-llvmorg-18-init-15680-g966d564e43e6 | 32 +++++++++++++ ...tch-backport-llvmorg-18-init-1760-g68744ffbdd7d | 31 +++++++++++++ 20 files changed, 464 insertions(+), 50 deletions(-) diff --git a/devel/llvm14/Makefile b/devel/llvm14/Makefile index ff9ad76a61e3..ef1896238fb4 100644 --- a/devel/llvm14/Makefile +++ b/devel/llvm14/Makefile @@ -8,11 +8,6 @@ PKGNAMESUFFIX= ${LLVM_SUFFIX} DISTNAME= llvm-project-${DISTVERSION}.src DISTFILES= llvm-project-${DISTVERSION}.src${EXTRACT_SUFX} -PATCH_SITES= https://github.com/llvm/llvm-project/commit/ -PATCHFILES+= llvmorg-18-init-1760-g68744ffbdd7d.patch:-p1 # https://reviews.llvm.org/D157589 -PATCHFILES+= llvmorg-18-init-15199-gb9935bb02a50.patch:-p1 # https://github.com/llvm/llvm-project/pull/75748 -PATCHFILES+= llvmorg-18-init-15680-g966d564e43e6.patch:-p1 # https://github.com/llvm/llvm-project/pull/76185 - MAINTAINER= brooks@FreeBSD.org COMMENT= LLVM and Clang WWW= https://llvm.org/ diff --git a/devel/llvm14/distinfo b/devel/llvm14/distinfo index 37e3d0cb3e6a..6e3ca6dfa7d3 100644 --- a/devel/llvm14/distinfo +++ b/devel/llvm14/distinfo @@ -1,9 +1,3 @@ -TIMESTAMP = 1722603694 +TIMESTAMP = 1768385123 SHA256 (llvm-project-14.0.6.src.tar.xz) = 8b3cfd7bc695bd6cea0f37f53f0981f34f87496e79e2529874fd03a2f9dd3a8a SIZE (llvm-project-14.0.6.src.tar.xz) = 105618228 -SHA256 (llvmorg-18-init-1760-g68744ffbdd7d.patch) = ad9ad1613491f69b010dbbd6a9d90d5dd505e46d9537a6e533f36dacd552d0f7 -SIZE (llvmorg-18-init-1760-g68744ffbdd7d.patch) = 1491 -SHA256 (llvmorg-18-init-15199-gb9935bb02a50.patch) = b0805cba765084c7bef426fa1235dd887c61ae0c1fd5e3fad5c8742cdd6ee8b0 -SIZE (llvmorg-18-init-15199-gb9935bb02a50.patch) = 1893 -SHA256 (llvmorg-18-init-15680-g966d564e43e6.patch) = 3abf92d4a788ff2f74fa9fc627a113f04d9fb72cd7e47344a8c4dce06140a163 -SIZE (llvmorg-18-init-15680-g966d564e43e6.patch) = 1297 diff --git a/devel/llvm14/files/patch-backport-llvmorg-18-init-15199-gb9935bb02a50 b/devel/llvm14/files/patch-backport-llvmorg-18-init-15199-gb9935bb02a50 new file mode 100644 index 000000000000..2459b80609d7 --- /dev/null +++ b/devel/llvm14/files/patch-backport-llvmorg-18-init-15199-gb9935bb02a50 @@ -0,0 +1,52 @@ +From b9935bb02a506e9142ae79b6c58303cb2e1ffb08 Mon Sep 17 00:00:00 2001 +From: Fangrui Song +Date: Mon, 18 Dec 2023 13:48:46 -0800 +Subject: [PATCH] asan_static x86-64: Support 64-bit ASAN_SHADOW_OFFSET_CONST + (#75748) + +Fix #57086: when ASAN_SHADOW_OFFSET_CONST >= 0x80000000 (FreeBSD, +NetBSD, etc), `movsbl ASAN_SHADOW_OFFSET_CONST(%r10),%r10d` has an +invalid displacement (not representable as a signed 32-bit integer), +which will be diagnosed by GNU assembler. + +``` +% cat a.s +movsbl 0x80000000(%r10),%r10d +% as a.s +a.s: Assembler messages: +a.s:1: Error: 0x80000000 out of range of signed 32bit displacement +% clang -c a.s +``` + +The integrated assembler after #75747 will diagnose the invalid +displacement as well. +``` +% clang -c a.s +a.s:1:19: error: displacement 2147483648 is not within [-2147483648, 2147483647] +movsbl 0x80000000(%r10),%r10d + ^ +``` + +If ASAN_SHADOW_OFFSET_CONST cannot be encoded as a displacement, switch +to `movabsq+movsbl`. +--- + compiler-rt/lib/asan/asan_rtl_x86_64.S | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git compiler-rt/lib/asan/asan_rtl_x86_64.S compiler-rt/lib/asan/asan_rtl_x86_64.S +index 0b7363018f425f..e44587ac4331c7 100644 +--- compiler-rt/lib/asan/asan_rtl_x86_64.S ++++ compiler-rt/lib/asan/asan_rtl_x86_64.S +@@ -27,7 +27,12 @@ FNAME(reg, op, s, i): ;\ + #define ASAN_MEMORY_ACCESS_INITIAL_CHECK_ADD(reg, op, s) \ + mov %##reg,%r10 ;\ + shr $0x3,%r10 ;\ ++ .if ASAN_SHADOW_OFFSET_CONST < 0x80000000 ;\ + movsbl ASAN_SHADOW_OFFSET_CONST(%r10),%r10d ;\ ++ .else ;\ ++ movabsq $ASAN_SHADOW_OFFSET_CONST,%r11 ;\ ++ movsbl (%r10,%r11),%r10d ;\ ++ .endif ;\ + test %r10d,%r10d ;\ + jne CLABEL(reg, op, s, add) ;\ + RLABEL(reg, op, s, add): ;\ diff --git a/devel/llvm14/files/patch-backport-llvmorg-18-init-15680-g966d564e43e6 b/devel/llvm14/files/patch-backport-llvmorg-18-init-15680-g966d564e43e6 new file mode 100644 index 000000000000..424e5f9eeea3 --- /dev/null +++ b/devel/llvm14/files/patch-backport-llvmorg-18-init-15680-g966d564e43e6 @@ -0,0 +1,32 @@ +From 966d564e43e650b9c34f9c67829d3947f52add91 Mon Sep 17 00:00:00 2001 +From: Dan McGregor +Date: Sun, 24 Dec 2023 22:37:35 -0600 +Subject: [PATCH] asan_static x86-64: Support 64-bit ASAN_SHADOW_OFFSET_CONST + redux (#76185) + +Similar to b9935bb02a50, but also apply a similar change to +ACCESS_CHECK_ADD. + +If ASAN_SHADOW_OFFSET_CONST cannot be encoded as a displacement, switch +to `movabsq` and the register offset variant of cmp. +--- + compiler-rt/lib/asan/asan_rtl_x86_64.S | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git compiler-rt/lib/asan/asan_rtl_x86_64.S compiler-rt/lib/asan/asan_rtl_x86_64.S +index e44587ac4331c7..9c5289856d8ae6 100644 +--- compiler-rt/lib/asan/asan_rtl_x86_64.S ++++ compiler-rt/lib/asan/asan_rtl_x86_64.S +@@ -89,7 +89,12 @@ ENDF + #define ASAN_MEMORY_ACCESS_CHECK_ADD(reg, op, s, c) \ + mov %##reg,%r10 ;\ + shr $0x3,%r10 ;\ ++ .if ASAN_SHADOW_OFFSET_CONST < 0x80000000 ;\ + ##c $0x0,ASAN_SHADOW_OFFSET_CONST(%r10) ;\ ++ .else ;\ ++ movabsq $ASAN_SHADOW_OFFSET_CONST,%r11 ;\ ++ ##c $0x0,(%r10,%r11) ;\ ++ .endif ;\ + jne FLABEL(reg, op, s, add) ;\ + retq ;\ + diff --git a/devel/llvm14/files/patch-backport-llvmorg-18-init-1760-g68744ffbdd7d b/devel/llvm14/files/patch-backport-llvmorg-18-init-1760-g68744ffbdd7d new file mode 100644 index 000000000000..58ff453d8a06 --- /dev/null +++ b/devel/llvm14/files/patch-backport-llvmorg-18-init-1760-g68744ffbdd7d @@ -0,0 +1,31 @@ +From 68744ffbdd7daac41da274eef9ac0d191e11c16d Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Martin=20Storsj=C3=B6?= +Date: Thu, 10 Aug 2023 11:09:36 +0300 +Subject: [PATCH] [lldb] Fix building with latest libc++ + +Since https://reviews.llvm.org/D157058 in libc++, +the base template for char_traits has been removed - it is only +provided for char, wchar_t, char8_t, char16_t and char32_t. +(Thus, to use basic_string with a type other than those, we'd need +to supply suitable traits ourselves.) + +For this particular use, a vector works just as well as basic_string. + +Differential Revision: https://reviews.llvm.org/D157589 +--- + .../Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp +index 4efc454967a12..f9d95fc5d2a66 100644 +--- lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp ++++ lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp +@@ -631,7 +631,7 @@ static void WriteRegisterValueInHexFixedWidth( + } else { + // Zero-out any unreadable values. + if (reg_info.byte_size > 0) { +- std::basic_string zeros(reg_info.byte_size, '\0'); ++ std::vector zeros(reg_info.byte_size, '\0'); + AppendHexValue(response, zeros.data(), zeros.size(), false); + } + } diff --git a/devel/llvm15/Makefile b/devel/llvm15/Makefile index 156426834d94..9ff045804255 100644 --- a/devel/llvm15/Makefile +++ b/devel/llvm15/Makefile @@ -8,11 +8,6 @@ PKGNAMESUFFIX= ${LLVM_SUFFIX} DISTNAME= llvm-project-${DISTVERSION}.src DISTFILES= llvm-project-${DISTVERSION}.src${EXTRACT_SUFX} -PATCH_SITES= https://github.com/llvm/llvm-project/commit/ -PATCHFILES+= llvmorg-18-init-1760-g68744ffbdd7d.patch:-p1 # https://reviews.llvm.org/D157589 -PATCHFILES+= llvmorg-18-init-15199-gb9935bb02a50.patch:-p1 # https://github.com/llvm/llvm-project/pull/75748 -PATCHFILES+= llvmorg-18-init-15680-g966d564e43e6.patch:-p1 # https://github.com/llvm/llvm-project/pull/76185 - MAINTAINER= brooks@FreeBSD.org COMMENT= LLVM and Clang WWW= https://llvm.org/ diff --git a/devel/llvm15/distinfo b/devel/llvm15/distinfo index 31cb67814ddc..5f89327ea3c6 100644 --- a/devel/llvm15/distinfo +++ b/devel/llvm15/distinfo @@ -1,9 +1,3 @@ -TIMESTAMP = 1722603701 +TIMESTAMP = 1768386286 SHA256 (llvm-project-15.0.7.src.tar.xz) = 8b5fcb24b4128cf04df1b0b9410ce8b1a729cb3c544e6da885d234280dedeac6 SIZE (llvm-project-15.0.7.src.tar.xz) = 110936452 -SHA256 (llvmorg-18-init-1760-g68744ffbdd7d.patch) = ad9ad1613491f69b010dbbd6a9d90d5dd505e46d9537a6e533f36dacd552d0f7 -SIZE (llvmorg-18-init-1760-g68744ffbdd7d.patch) = 1491 -SHA256 (llvmorg-18-init-15199-gb9935bb02a50.patch) = b0805cba765084c7bef426fa1235dd887c61ae0c1fd5e3fad5c8742cdd6ee8b0 -SIZE (llvmorg-18-init-15199-gb9935bb02a50.patch) = 1893 -SHA256 (llvmorg-18-init-15680-g966d564e43e6.patch) = 3abf92d4a788ff2f74fa9fc627a113f04d9fb72cd7e47344a8c4dce06140a163 -SIZE (llvmorg-18-init-15680-g966d564e43e6.patch) = 1297 diff --git a/devel/llvm15/files/patch-backport-llvmorg-18-init-15199-gb9935bb02a50 b/devel/llvm15/files/patch-backport-llvmorg-18-init-15199-gb9935bb02a50 new file mode 100644 index 000000000000..2459b80609d7 --- /dev/null +++ b/devel/llvm15/files/patch-backport-llvmorg-18-init-15199-gb9935bb02a50 @@ -0,0 +1,52 @@ +From b9935bb02a506e9142ae79b6c58303cb2e1ffb08 Mon Sep 17 00:00:00 2001 +From: Fangrui Song +Date: Mon, 18 Dec 2023 13:48:46 -0800 +Subject: [PATCH] asan_static x86-64: Support 64-bit ASAN_SHADOW_OFFSET_CONST + (#75748) + +Fix #57086: when ASAN_SHADOW_OFFSET_CONST >= 0x80000000 (FreeBSD, +NetBSD, etc), `movsbl ASAN_SHADOW_OFFSET_CONST(%r10),%r10d` has an +invalid displacement (not representable as a signed 32-bit integer), +which will be diagnosed by GNU assembler. + +``` +% cat a.s +movsbl 0x80000000(%r10),%r10d +% as a.s +a.s: Assembler messages: +a.s:1: Error: 0x80000000 out of range of signed 32bit displacement +% clang -c a.s +``` + +The integrated assembler after #75747 will diagnose the invalid +displacement as well. +``` +% clang -c a.s +a.s:1:19: error: displacement 2147483648 is not within [-2147483648, 2147483647] +movsbl 0x80000000(%r10),%r10d + ^ +``` + +If ASAN_SHADOW_OFFSET_CONST cannot be encoded as a displacement, switch +to `movabsq+movsbl`. +--- + compiler-rt/lib/asan/asan_rtl_x86_64.S | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git compiler-rt/lib/asan/asan_rtl_x86_64.S compiler-rt/lib/asan/asan_rtl_x86_64.S +index 0b7363018f425f..e44587ac4331c7 100644 +--- compiler-rt/lib/asan/asan_rtl_x86_64.S ++++ compiler-rt/lib/asan/asan_rtl_x86_64.S +@@ -27,7 +27,12 @@ FNAME(reg, op, s, i): ;\ + #define ASAN_MEMORY_ACCESS_INITIAL_CHECK_ADD(reg, op, s) \ + mov %##reg,%r10 ;\ + shr $0x3,%r10 ;\ ++ .if ASAN_SHADOW_OFFSET_CONST < 0x80000000 ;\ + movsbl ASAN_SHADOW_OFFSET_CONST(%r10),%r10d ;\ ++ .else ;\ ++ movabsq $ASAN_SHADOW_OFFSET_CONST,%r11 ;\ ++ movsbl (%r10,%r11),%r10d ;\ ++ .endif ;\ + test %r10d,%r10d ;\ + jne CLABEL(reg, op, s, add) ;\ + RLABEL(reg, op, s, add): ;\ diff --git a/devel/llvm15/files/patch-backport-llvmorg-18-init-15680-g966d564e43e6 b/devel/llvm15/files/patch-backport-llvmorg-18-init-15680-g966d564e43e6 new file mode 100644 index 000000000000..424e5f9eeea3 --- /dev/null +++ b/devel/llvm15/files/patch-backport-llvmorg-18-init-15680-g966d564e43e6 @@ -0,0 +1,32 @@ +From 966d564e43e650b9c34f9c67829d3947f52add91 Mon Sep 17 00:00:00 2001 +From: Dan McGregor +Date: Sun, 24 Dec 2023 22:37:35 -0600 +Subject: [PATCH] asan_static x86-64: Support 64-bit ASAN_SHADOW_OFFSET_CONST + redux (#76185) + +Similar to b9935bb02a50, but also apply a similar change to +ACCESS_CHECK_ADD. + +If ASAN_SHADOW_OFFSET_CONST cannot be encoded as a displacement, switch +to `movabsq` and the register offset variant of cmp. +--- + compiler-rt/lib/asan/asan_rtl_x86_64.S | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git compiler-rt/lib/asan/asan_rtl_x86_64.S compiler-rt/lib/asan/asan_rtl_x86_64.S +index e44587ac4331c7..9c5289856d8ae6 100644 +--- compiler-rt/lib/asan/asan_rtl_x86_64.S ++++ compiler-rt/lib/asan/asan_rtl_x86_64.S +@@ -89,7 +89,12 @@ ENDF + #define ASAN_MEMORY_ACCESS_CHECK_ADD(reg, op, s, c) \ + mov %##reg,%r10 ;\ + shr $0x3,%r10 ;\ ++ .if ASAN_SHADOW_OFFSET_CONST < 0x80000000 ;\ + ##c $0x0,ASAN_SHADOW_OFFSET_CONST(%r10) ;\ ++ .else ;\ ++ movabsq $ASAN_SHADOW_OFFSET_CONST,%r11 ;\ ++ ##c $0x0,(%r10,%r11) ;\ ++ .endif ;\ + jne FLABEL(reg, op, s, add) ;\ + retq ;\ + diff --git a/devel/llvm15/files/patch-backport-llvmorg-18-init-1760-g68744ffbdd7d b/devel/llvm15/files/patch-backport-llvmorg-18-init-1760-g68744ffbdd7d new file mode 100644 index 000000000000..58ff453d8a06 --- /dev/null +++ b/devel/llvm15/files/patch-backport-llvmorg-18-init-1760-g68744ffbdd7d @@ -0,0 +1,31 @@ +From 68744ffbdd7daac41da274eef9ac0d191e11c16d Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Martin=20Storsj=C3=B6?= +Date: Thu, 10 Aug 2023 11:09:36 +0300 +Subject: [PATCH] [lldb] Fix building with latest libc++ + +Since https://reviews.llvm.org/D157058 in libc++, +the base template for char_traits has been removed - it is only +provided for char, wchar_t, char8_t, char16_t and char32_t. +(Thus, to use basic_string with a type other than those, we'd need +to supply suitable traits ourselves.) + +For this particular use, a vector works just as well as basic_string. + +Differential Revision: https://reviews.llvm.org/D157589 +--- + .../Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp +index 4efc454967a12..f9d95fc5d2a66 100644 +--- lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp ++++ lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp +@@ -631,7 +631,7 @@ static void WriteRegisterValueInHexFixedWidth( + } else { + // Zero-out any unreadable values. + if (reg_info.byte_size > 0) { +- std::basic_string zeros(reg_info.byte_size, '\0'); ++ std::vector zeros(reg_info.byte_size, '\0'); + AppendHexValue(response, zeros.data(), zeros.size(), false); + } + } diff --git a/devel/llvm16/Makefile b/devel/llvm16/Makefile index 3a71b032b9ee..5d392446e2ec 100644 --- a/devel/llvm16/Makefile +++ b/devel/llvm16/Makefile @@ -8,11 +8,6 @@ PKGNAMESUFFIX= ${LLVM_SUFFIX} DISTNAME= llvm-project-${DISTVERSION}.src DISTFILES= llvm-project-${DISTVERSION}.src${EXTRACT_SUFX} -PATCH_SITES= https://github.com/llvm/llvm-project/commit/ -PATCHFILES+= llvmorg-18-init-1760-g68744ffbdd7d.patch:-p1 # https://reviews.llvm.org/D157589 -PATCHFILES+= llvmorg-18-init-15199-gb9935bb02a50.patch:-p1 # https://github.com/llvm/llvm-project/pull/75748 -PATCHFILES+= llvmorg-18-init-15680-g966d564e43e6.patch:-p1 # https://github.com/llvm/llvm-project/pull/76185 - MAINTAINER= brooks@FreeBSD.org COMMENT= LLVM and Clang WWW= https://llvm.org/ diff --git a/devel/llvm16/distinfo b/devel/llvm16/distinfo index 9cf157883e23..34235f1cf972 100644 --- a/devel/llvm16/distinfo +++ b/devel/llvm16/distinfo @@ -1,9 +1,3 @@ -TIMESTAMP = 1722603709 +TIMESTAMP = 1768386129 SHA256 (llvm-project-16.0.6.src.tar.xz) = ce5e71081d17ce9e86d7cbcfa28c4b04b9300f8fb7e78422b1feb6bc52c3028e SIZE (llvm-project-16.0.6.src.tar.xz) = 118013488 -SHA256 (llvmorg-18-init-1760-g68744ffbdd7d.patch) = ad9ad1613491f69b010dbbd6a9d90d5dd505e46d9537a6e533f36dacd552d0f7 -SIZE (llvmorg-18-init-1760-g68744ffbdd7d.patch) = 1491 -SHA256 (llvmorg-18-init-15199-gb9935bb02a50.patch) = b0805cba765084c7bef426fa1235dd887c61ae0c1fd5e3fad5c8742cdd6ee8b0 -SIZE (llvmorg-18-init-15199-gb9935bb02a50.patch) = 1893 -SHA256 (llvmorg-18-init-15680-g966d564e43e6.patch) = 3abf92d4a788ff2f74fa9fc627a113f04d9fb72cd7e47344a8c4dce06140a163 -SIZE (llvmorg-18-init-15680-g966d564e43e6.patch) = 1297 diff --git a/devel/llvm16/files/patch-backport-llvmorg-18-init-15199-gb9935bb02a50 b/devel/llvm16/files/patch-backport-llvmorg-18-init-15199-gb9935bb02a50 new file mode 100644 index 000000000000..2459b80609d7 --- /dev/null +++ b/devel/llvm16/files/patch-backport-llvmorg-18-init-15199-gb9935bb02a50 @@ -0,0 +1,52 @@ +From b9935bb02a506e9142ae79b6c58303cb2e1ffb08 Mon Sep 17 00:00:00 2001 +From: Fangrui Song +Date: Mon, 18 Dec 2023 13:48:46 -0800 +Subject: [PATCH] asan_static x86-64: Support 64-bit ASAN_SHADOW_OFFSET_CONST + (#75748) + +Fix #57086: when ASAN_SHADOW_OFFSET_CONST >= 0x80000000 (FreeBSD, +NetBSD, etc), `movsbl ASAN_SHADOW_OFFSET_CONST(%r10),%r10d` has an +invalid displacement (not representable as a signed 32-bit integer), +which will be diagnosed by GNU assembler. + +``` +% cat a.s +movsbl 0x80000000(%r10),%r10d +% as a.s +a.s: Assembler messages: +a.s:1: Error: 0x80000000 out of range of signed 32bit displacement +% clang -c a.s +``` + +The integrated assembler after #75747 will diagnose the invalid +displacement as well. +``` +% clang -c a.s +a.s:1:19: error: displacement 2147483648 is not within [-2147483648, 2147483647] +movsbl 0x80000000(%r10),%r10d + ^ +``` + +If ASAN_SHADOW_OFFSET_CONST cannot be encoded as a displacement, switch +to `movabsq+movsbl`. +--- + compiler-rt/lib/asan/asan_rtl_x86_64.S | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git compiler-rt/lib/asan/asan_rtl_x86_64.S compiler-rt/lib/asan/asan_rtl_x86_64.S +index 0b7363018f425f..e44587ac4331c7 100644 +--- compiler-rt/lib/asan/asan_rtl_x86_64.S ++++ compiler-rt/lib/asan/asan_rtl_x86_64.S +@@ -27,7 +27,12 @@ FNAME(reg, op, s, i): ;\ + #define ASAN_MEMORY_ACCESS_INITIAL_CHECK_ADD(reg, op, s) \ + mov %##reg,%r10 ;\ + shr $0x3,%r10 ;\ ++ .if ASAN_SHADOW_OFFSET_CONST < 0x80000000 ;\ + movsbl ASAN_SHADOW_OFFSET_CONST(%r10),%r10d ;\ ++ .else ;\ ++ movabsq $ASAN_SHADOW_OFFSET_CONST,%r11 ;\ ++ movsbl (%r10,%r11),%r10d ;\ ++ .endif ;\ + test %r10d,%r10d ;\ + jne CLABEL(reg, op, s, add) ;\ + RLABEL(reg, op, s, add): ;\ diff --git a/devel/llvm16/files/patch-backport-llvmorg-18-init-15680-g966d564e43e6 b/devel/llvm16/files/patch-backport-llvmorg-18-init-15680-g966d564e43e6 new file mode 100644 index 000000000000..424e5f9eeea3 --- /dev/null +++ b/devel/llvm16/files/patch-backport-llvmorg-18-init-15680-g966d564e43e6 @@ -0,0 +1,32 @@ +From 966d564e43e650b9c34f9c67829d3947f52add91 Mon Sep 17 00:00:00 2001 +From: Dan McGregor +Date: Sun, 24 Dec 2023 22:37:35 -0600 +Subject: [PATCH] asan_static x86-64: Support 64-bit ASAN_SHADOW_OFFSET_CONST + redux (#76185) + +Similar to b9935bb02a50, but also apply a similar change to +ACCESS_CHECK_ADD. + +If ASAN_SHADOW_OFFSET_CONST cannot be encoded as a displacement, switch +to `movabsq` and the register offset variant of cmp. +--- + compiler-rt/lib/asan/asan_rtl_x86_64.S | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git compiler-rt/lib/asan/asan_rtl_x86_64.S compiler-rt/lib/asan/asan_rtl_x86_64.S +index e44587ac4331c7..9c5289856d8ae6 100644 +--- compiler-rt/lib/asan/asan_rtl_x86_64.S ++++ compiler-rt/lib/asan/asan_rtl_x86_64.S +@@ -89,7 +89,12 @@ ENDF + #define ASAN_MEMORY_ACCESS_CHECK_ADD(reg, op, s, c) \ + mov %##reg,%r10 ;\ + shr $0x3,%r10 ;\ ++ .if ASAN_SHADOW_OFFSET_CONST < 0x80000000 ;\ + ##c $0x0,ASAN_SHADOW_OFFSET_CONST(%r10) ;\ ++ .else ;\ ++ movabsq $ASAN_SHADOW_OFFSET_CONST,%r11 ;\ ++ ##c $0x0,(%r10,%r11) ;\ ++ .endif ;\ + jne FLABEL(reg, op, s, add) ;\ + retq ;\ + diff --git a/devel/llvm16/files/patch-backport-llvmorg-18-init-1760-g68744ffbdd7d b/devel/llvm16/files/patch-backport-llvmorg-18-init-1760-g68744ffbdd7d new file mode 100644 index 000000000000..58ff453d8a06 --- /dev/null +++ b/devel/llvm16/files/patch-backport-llvmorg-18-init-1760-g68744ffbdd7d @@ -0,0 +1,31 @@ +From 68744ffbdd7daac41da274eef9ac0d191e11c16d Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Martin=20Storsj=C3=B6?= +Date: Thu, 10 Aug 2023 11:09:36 +0300 +Subject: [PATCH] [lldb] Fix building with latest libc++ + +Since https://reviews.llvm.org/D157058 in libc++, +the base template for char_traits has been removed - it is only +provided for char, wchar_t, char8_t, char16_t and char32_t. +(Thus, to use basic_string with a type other than those, we'd need +to supply suitable traits ourselves.) + +For this particular use, a vector works just as well as basic_string. + +Differential Revision: https://reviews.llvm.org/D157589 +--- + .../Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp +index 4efc454967a12..f9d95fc5d2a66 100644 +--- lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp ++++ lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp +@@ -631,7 +631,7 @@ static void WriteRegisterValueInHexFixedWidth( + } else { + // Zero-out any unreadable values. + if (reg_info.byte_size > 0) { +- std::basic_string zeros(reg_info.byte_size, '\0'); ++ std::vector zeros(reg_info.byte_size, '\0'); + AppendHexValue(response, zeros.data(), zeros.size(), false); + } + } diff --git a/devel/llvm17/Makefile b/devel/llvm17/Makefile index c7e7f02ddf95..40ce82ecc6d5 100644 --- a/devel/llvm17/Makefile +++ b/devel/llvm17/Makefile @@ -8,11 +8,6 @@ PKGNAMESUFFIX= ${LLVM_SUFFIX} DISTNAME= llvm-project-${DISTVERSION}.src DISTFILES= llvm-project-${DISTVERSION}.src${EXTRACT_SUFX} -PATCH_SITES= https://github.com/llvm/llvm-project/commit/ -PATCHFILES+= llvmorg-18-init-1760-g68744ffbdd7d.patch:-p1 # https://reviews.llvm.org/D157589 -PATCHFILES+= llvmorg-18-init-15199-gb9935bb02a50.patch:-p1 # https://github.com/llvm/llvm-project/pull/75748 -PATCHFILES+= llvmorg-18-init-15680-g966d564e43e6.patch:-p1 # https://github.com/llvm/llvm-project/pull/76185 - MAINTAINER= brooks@FreeBSD.org COMMENT= LLVM and Clang WWW= https://llvm.org/ diff --git a/devel/llvm17/distinfo b/devel/llvm17/distinfo index a3690faf6fce..1ae367e96951 100644 --- a/devel/llvm17/distinfo +++ b/devel/llvm17/distinfo @@ -1,11 +1,3 @@ -TIMESTAMP = 1722603078 +TIMESTAMP = 1768385988 SHA256 (llvm-project-17.0.6.src.tar.xz) = 58a8818c60e6627064f312dbf46c02d9949956558340938b71cf731ad8bc0813 SIZE (llvm-project-17.0.6.src.tar.xz) = 127838860 -SHA256 (llvmorg-18-init-1760-g68744ffbdd7d.patch) = ad9ad1613491f69b010dbbd6a9d90d5dd505e46d9537a6e533f36dacd552d0f7 -SIZE (llvmorg-18-init-1760-g68744ffbdd7d.patch) = 1491 -SHA256 (llvmorg-18-init-2919-g7549cde6bd52.patch) = 3c388e7c79949ba16f8587316cfb5ef7cd4c7e231941b3513e1950260a490e5f -SIZE (llvmorg-18-init-2919-g7549cde6bd52.patch) = 1737 -SHA256 (llvmorg-18-init-15199-gb9935bb02a50.patch) = b0805cba765084c7bef426fa1235dd887c61ae0c1fd5e3fad5c8742cdd6ee8b0 -SIZE (llvmorg-18-init-15199-gb9935bb02a50.patch) = 1893 -SHA256 (llvmorg-18-init-15680-g966d564e43e6.patch) = 3abf92d4a788ff2f74fa9fc627a113f04d9fb72cd7e47344a8c4dce06140a163 -SIZE (llvmorg-18-init-15680-g966d564e43e6.patch) = 1297 diff --git a/devel/llvm17/files/patch-backport-llvmorg-18-init-15199-gb9935bb02a50 b/devel/llvm17/files/patch-backport-llvmorg-18-init-15199-gb9935bb02a50 new file mode 100644 index 000000000000..2459b80609d7 --- /dev/null +++ b/devel/llvm17/files/patch-backport-llvmorg-18-init-15199-gb9935bb02a50 @@ -0,0 +1,52 @@ +From b9935bb02a506e9142ae79b6c58303cb2e1ffb08 Mon Sep 17 00:00:00 2001 +From: Fangrui Song +Date: Mon, 18 Dec 2023 13:48:46 -0800 +Subject: [PATCH] asan_static x86-64: Support 64-bit ASAN_SHADOW_OFFSET_CONST + (#75748) + +Fix #57086: when ASAN_SHADOW_OFFSET_CONST >= 0x80000000 (FreeBSD, +NetBSD, etc), `movsbl ASAN_SHADOW_OFFSET_CONST(%r10),%r10d` has an +invalid displacement (not representable as a signed 32-bit integer), +which will be diagnosed by GNU assembler. + +``` +% cat a.s +movsbl 0x80000000(%r10),%r10d +% as a.s +a.s: Assembler messages: +a.s:1: Error: 0x80000000 out of range of signed 32bit displacement +% clang -c a.s +``` + +The integrated assembler after #75747 will diagnose the invalid +displacement as well. +``` +% clang -c a.s +a.s:1:19: error: displacement 2147483648 is not within [-2147483648, 2147483647] +movsbl 0x80000000(%r10),%r10d + ^ +``` + +If ASAN_SHADOW_OFFSET_CONST cannot be encoded as a displacement, switch +to `movabsq+movsbl`. +--- + compiler-rt/lib/asan/asan_rtl_x86_64.S | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git compiler-rt/lib/asan/asan_rtl_x86_64.S compiler-rt/lib/asan/asan_rtl_x86_64.S +index 0b7363018f425f..e44587ac4331c7 100644 +--- compiler-rt/lib/asan/asan_rtl_x86_64.S ++++ compiler-rt/lib/asan/asan_rtl_x86_64.S +@@ -27,7 +27,12 @@ FNAME(reg, op, s, i): ;\ + #define ASAN_MEMORY_ACCESS_INITIAL_CHECK_ADD(reg, op, s) \ + mov %##reg,%r10 ;\ + shr $0x3,%r10 ;\ ++ .if ASAN_SHADOW_OFFSET_CONST < 0x80000000 ;\ + movsbl ASAN_SHADOW_OFFSET_CONST(%r10),%r10d ;\ ++ .else ;\ ++ movabsq $ASAN_SHADOW_OFFSET_CONST,%r11 ;\ ++ movsbl (%r10,%r11),%r10d ;\ ++ .endif ;\ + test %r10d,%r10d ;\ + jne CLABEL(reg, op, s, add) ;\ + RLABEL(reg, op, s, add): ;\ diff --git a/devel/llvm17/files/patch-backport-llvmorg-18-init-15680-g966d564e43e6 b/devel/llvm17/files/patch-backport-llvmorg-18-init-15680-g966d564e43e6 new file mode 100644 index 000000000000..424e5f9eeea3 --- /dev/null +++ b/devel/llvm17/files/patch-backport-llvmorg-18-init-15680-g966d564e43e6 @@ -0,0 +1,32 @@ +From 966d564e43e650b9c34f9c67829d3947f52add91 Mon Sep 17 00:00:00 2001 +From: Dan McGregor +Date: Sun, 24 Dec 2023 22:37:35 -0600 +Subject: [PATCH] asan_static x86-64: Support 64-bit ASAN_SHADOW_OFFSET_CONST + redux (#76185) + +Similar to b9935bb02a50, but also apply a similar change to +ACCESS_CHECK_ADD. + +If ASAN_SHADOW_OFFSET_CONST cannot be encoded as a displacement, switch +to `movabsq` and the register offset variant of cmp. +--- + compiler-rt/lib/asan/asan_rtl_x86_64.S | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git compiler-rt/lib/asan/asan_rtl_x86_64.S compiler-rt/lib/asan/asan_rtl_x86_64.S +index e44587ac4331c7..9c5289856d8ae6 100644 +--- compiler-rt/lib/asan/asan_rtl_x86_64.S ++++ compiler-rt/lib/asan/asan_rtl_x86_64.S +@@ -89,7 +89,12 @@ ENDF + #define ASAN_MEMORY_ACCESS_CHECK_ADD(reg, op, s, c) \ + mov %##reg,%r10 ;\ + shr $0x3,%r10 ;\ ++ .if ASAN_SHADOW_OFFSET_CONST < 0x80000000 ;\ + ##c $0x0,ASAN_SHADOW_OFFSET_CONST(%r10) ;\ ++ .else ;\ ++ movabsq $ASAN_SHADOW_OFFSET_CONST,%r11 ;\ ++ ##c $0x0,(%r10,%r11) ;\ ++ .endif ;\ + jne FLABEL(reg, op, s, add) ;\ + retq ;\ + diff --git a/devel/llvm17/files/patch-backport-llvmorg-18-init-1760-g68744ffbdd7d b/devel/llvm17/files/patch-backport-llvmorg-18-init-1760-g68744ffbdd7d new file mode 100644 index 000000000000..58ff453d8a06 --- /dev/null +++ b/devel/llvm17/files/patch-backport-llvmorg-18-init-1760-g68744ffbdd7d @@ -0,0 +1,31 @@ +From 68744ffbdd7daac41da274eef9ac0d191e11c16d Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Martin=20Storsj=C3=B6?= +Date: Thu, 10 Aug 2023 11:09:36 +0300 +Subject: [PATCH] [lldb] Fix building with latest libc++ + +Since https://reviews.llvm.org/D157058 in libc++, +the base template for char_traits has been removed - it is only +provided for char, wchar_t, char8_t, char16_t and char32_t. +(Thus, to use basic_string with a type other than those, we'd need +to supply suitable traits ourselves.) + +For this particular use, a vector works just as well as basic_string. + +Differential Revision: https://reviews.llvm.org/D157589 +--- + .../Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp +index 4efc454967a12..f9d95fc5d2a66 100644 +--- lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp ++++ lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp +@@ -631,7 +631,7 @@ static void WriteRegisterValueInHexFixedWidth( + } else { + // Zero-out any unreadable values. + if (reg_info.byte_size > 0) { +- std::basic_string zeros(reg_info.byte_size, '\0'); ++ std::vector zeros(reg_info.byte_size, '\0'); + AppendHexValue(response, zeros.data(), zeros.size(), false); + } + }