Debian Patches

Status for llvm-toolchain-23/1:23.1.0-rc3-1~exp1

Patch Description Author Forwarded Bugs Origin Last update
test-keep-alive.diff =================================================================== no
scan-build-clang-path.diff no
scan-view-fix-path.diff =================================================================== no
fix-scan-view-path.diff =================================================================== no
clang-format-version.diff Make scripts/editor integrations use versioned clang-format Wrapper scripts and editor integrations assume that clang-format is
non-versioned, but since Debian uses versioned naming the the files
must be patched to guarantee they're referencing the matching
clang-format version.
Sylvestre Ledru <sylvestre@debian.org> not-needed 2026-06-05
clang-analyzer-force-version.diff # Force the version of clang in the analyzer
# This was causing the static analyzer to fail silently if the clang & clang++ are
# not installed
===================================================================
no
23-strlcpy_strlcat_warning_removed.diff no
declare_clear_cache.diff no
unwind-chain-inclusion.diff # Without this patch, the first local include of unwind.h might, with the
# __has_include_next, try to include the one from the system.
# It might be /usr/include/clang/3.4/include/unwind.h
# Because of the #ifndef __CLANG_UNWIND_H, it might never include any declaration
# from the system.
no
python-clangpath.diff no
fix-clang-path-and-build.diff =================================================================== no
0048-Set-html_static_path-_static-everywhere.patch Set html_static_path = ['_static'] everywhere. Nicholas D Steeves <nsteeves@gmail.com> no 2018-02-10
symbolizer-path.diff =================================================================== no
clang-tidy-run-bin.diff =================================================================== no
debug-jit-path.diff =================================================================== no
do-not-fail-on-unexpected-pass.diff =================================================================== no
0044-soname.diff no
lldb/lldb-soname.diff no
openmp-soname.diff Add versioning to installed libomp shared library This match adds the ABI version to the installed OpenMP runtime in
order to allow multiple different ABI versions to be installed on the
system simultaneously.
Reshabh Sharma <reshabhsh@gmail.com> not-needed 2026-06-05
silent-gold-test.diff fails on debian unstable amd64 Command Output (stderr):
--
/build/llvm-toolchain-snapshot-4.0~svn279916/llvm/test/tools/gold/X86/start-lib-common.ll:22:10: error: expected string not found in input
; CHECK: @x = common global i32 0, align 8
^
<stdin>:1:1: note: scanning from here
; ModuleID = '/build/llvm-toolchain-snapshot-4.0~svn279916/build-llvm/llvm/test/tools/gold/X86/Output/start-lib-common.ll.tmp3.o'
^
<stdin>:4:1: note: possible intended match here
@x = common global i32 0, align 4
^


===================================================================
no
silent-MCJIIT-tests.diff no
silent-gold-utils.diff no
silent-test-failing-codeverage.diff =================================================================== no
silent-test-macho.diff =================================================================== no
silent-llvm-isel-fuzzer.diff =================================================================== no
remove-test-freezing.diff =================================================================== no
disable-llvm-symbolizer-test.diff Silent a test failing on yakkety amd64 /tmp/buildd/llvm-toolchain-snapshot-4.0~svn279801/llvm/test/tools/llvm-symbolizer/print_context.c:16:11: error: expected string not found in input
// CHECK: inc
^
<stdin>:1:1: note: scanning from here
_fini
^
<stdin>:1:3: note: possible intended match here
_fini
^

===================================================================
Sylvestre <sylvestre@debian.org> no 2016-08-26
disable-path-test-failing.diff =================================================================== no
lldb/lldb-addversion-suffix-to-llvm-server-exec.patch lldb-server exec users always /usr/bin/lldb-server. Server is required
for any debugging with lldb which makes it unusable unless default version
package has been installed. Small changes to code and debian/rules allows
a workaround for lldb-server start up.

To use this one needs to add cmake definition during configure. eg
-DDEBIAN_VERSION_SUFFIX=-$(LLVM_VERSION)

Better implementation would be to use /usr/share/llvm-$(VERSION)/bin but
that change seems to require a big change to the path handling code
which could then break something else.

This probably should have upstream bug but I couldn't find any existing report.

===================================================================
no
lldb/lldb-missing-install.diff =================================================================== no
disable-error-xray.diff =================================================================== no
openmp/openmp-check-execstack.diff =================================================================== no
libcxx/libcxxabi-test-don-t-fail-extended-long-double.patch Powerpc has extended double that doesn't match x86 coding. Power format would
need special tests to verify correctness but for now it is enough to prevent
incorrect test from running.

===================================================================
no
libcxx/libcxxabi-arm-ehabi-fix.patch Fix arm EHABI code to work. armhf had exception test failing without EHABI support.

No known upstream bug about this. Actual code change is more like workaround than
something that upstream would accept. Proper fix would be adding _Unwind_Control_Block
to clang unwind.h. _Unwind_Control_Block should also extend _Unwind_Exception to make
sure their ABI stays in sync.

No known upstream bug about this.

===================================================================
no
libcxx/libcxx-silent-test-libcxx.diff =================================================================== no
libcxx/libcxx-silent-failure-ppc64el.diff =================================================================== no
libcxx/libcxx-silent-failure-arm64.diff =================================================================== no
libcxx/libcxx-libatomic-only-with-gcc-rtlib.diff if libatomic is found only link it if libgcc is the rtlib
===================================================================
no
libcxx/libcxxabi-fix-link-builtins.diff if LIBCXXABI_USE_COMPILER_RT=ON, add builtins to libcxxabi library
flags, otherwise add libgcc following how libunwind does the same
===================================================================
no
libcxx/libcxx-armhf-ftbfs.diff =================================================================== no
mips/mips-fpxx-enable.diff =================================================================== no
mips/mips-force-nomadd4.patch The MIPS port aims to support the Loongson 3 family of CPUs in addition
of the other MIPS CPUs. On the Loongson 3 family the MADD4 instructions
are fused, while they are not fused on the other MIPS CPUs. In order to
support both, we have to disabled those instructions.

For that, the patch below basically corresponds to the --with-madd4=no
used on the GCC side.

===================================================================
no
mips/syscall-mips64el-def.diff =================================================================== no
26-set-correct-float-abi.diff set correct float abi settings for armel and armhf debian armel supports systems that don't have a fpu so should use a "float abi"
setting of soft by default.

Debian armhf needs a float abi setting of "hard"
Peter Michael Green <plugwash@debian.org> no
clang-baseline-fix-i386.patch Fix Clang baseline violation Upstream Clang on i386 defaults to -march=pentium4, which violates the
current i386 baseline.
.
This patch changes Clang to default to -march=i686, which matches the
current Debian baseline.
Fanael Linithien <fanael4@gmail.com> not-needed 2026-06-05
disable-sse2-old-x86.diff =================================================================== no
clang-arm-default-vfp3-on-armv7a.patch Ensure armv7-a target complies with Debian armhf baseline Currently, Debian's armhf architecture baseline is armv7 with VFPv3-D16
floating point, while NEON is not guaranteed[1].
.
However, upstream Clang assumes that features such as NEON are
available on the armv7-a target. This patch ensures that the Debian
armhf baseline is respected by disabling NEON generation by default on
armv7-a.
.
[1]: https://wiki.debian.org/ArchitectureSpecificsMemo#armhf
Sylvestre Ledru <sylvestre@debian.org> not-needed debian 2026-06-05
clangd-atomic-cmake.patch =================================================================== no
remove-apple-clang-manpage.diff =================================================================== no
0049-Use-Debian-provided-MathJax-everywhere.patch Use Debian-provided MathJax everywhere. Nicholas D Steeves <nsteeves@gmail.com> no 2018-02-10
hurd/hurd-pathmax.diff =================================================================== no
930008-arm.diff =================================================================== no
bootstrap-fix-include-next.diff When doing a bootstrap, we use a newly built clang.
When this one is used, if already installed on the system,
we have clang header in two places:
llvm-toolchain-7-7/build-llvm/lib/clang/7.0.0/include/inttypes.h
and
/usr/include/clang/7.0.0/include/inttypes.h

Because clang expects only one of his headers to be available, it uses
include_next to get the glibc (libc6-dev package) header.

However, in the previous example, because we have inttypes.h twice in the
include search path, clang's header will call itself without any effect.
Therefore, it will do include_next until the define from the libc is existing (ex: _INTTYPES_H)


===================================================================
no
python3-shebang.patch change all shebangs to Python3 find . -name "*.py" -exec sed "s|\!/usr/bin/env python$|\!/usr/bin/env python3|g" -i {} \;
===================================================================
no
lldb/print-lldb-path.patch =================================================================== Gianfranco Costamagna <locutusofborg@debian.org> no 2023-01-19
lower-python-dep.diff =================================================================== no
scan-build-py-fix-default-bin.diff =================================================================== no
omp-riscv64.patch Define the affinity for riscv64
===================================================================
no 2021-08-27
lldb/test-disable-lldb-i386.diff =================================================================== no
llvm-fix-lld-linker-check.diff remove regex anchor in lld linker detection to account for vendor, if
specified, being prepended to lld version string
===================================================================
no
openmp-fix-runtimes-build.diff include required runtimes as dependencies to openmp targets to make sure
they are built first when included as part of a runtimes build since openmp
can depend on them
===================================================================
no
llvm-runtimes-builtins-build-check.diff add a check and only set up and build compiler-rt builtins if they have
not been disabled
===================================================================
no
compiler-rt/compilerrt-builtins-arch-fix-armhf.diff fix builtins armhf default arch detection by adding the same armhf triple
handling use for compiler-rt
===================================================================
no
compiler-rt/compilerrt-build-scudo-standalone-option.diff add option to disable compiler-rt scudo standalone allocator as it is
not always supported by all arch profiles such as arm5vt of ARM32 arch
===================================================================
no
compiler-rt/emutls-win32-winnt-vista.diff Fix emutls.c build for mingw-w64 targets: InitOnceExecuteOnce requires
_WIN32_WINNT >= 0x0600 (Vista), but mingw-w64 defaults to 0x0502 (XP SP2).
Ensure the minimum version is set before including windows.h.

===================================================================
no
wasm/wasm-ld-path.diff =================================================================== no
wasm/wasm-compiler-rt-default.diff =================================================================== no
wasm/wasm-sysroot-usr.diff =================================================================== no
wasm/wasm-libcxx-ibm-skip-wasi.diff Skip libcxx ibm.h fallback declarations of strtod_l/strtof_l/strtold_l/vasprintf on WASI The libcxx ibm.h header (used as a fallback when no platform-specific
locale_base_api support exists) provides inline replacements for
strtod_l, strtof_l, strtold_l and vasprintf, marked with
_LIBCPP_HIDE_FROM_ABI which adds the __abi_tag__ attribute. These
functions are already declared in the WASI sysroot's libc headers
(/usr/include/wasm32-wasi/stdlib.h and stdio.h) without that attribute,
and clang rejects redeclarations that add abi_tag:
error: cannot add 'abi_tag' attribute in a redeclaration
Skip the fallback definitions on WASI since libc already provides them.

===================================================================
Sylvestre Ledru <sylvestre@debian.org> no 2026-05-26
wasm/fix-wasi-path-search.patch Fix path lookup for WASI previews getOS() returns the wrong path for WASI preview targets (wasm-wasip1,
wasm-wasip2, and wasm-wasip3). For example, passing
--target=wasm32-wasip1 returns "wasip1". However,
libclang-rt-22-dev-wasm32 installs wasm32 compiler-rt builtins under
the "wasi" directory, not the "wasip1" directory, meaning that the
toolchain is unable to find the builtins it needs.
.
This patch makes getOS() return the "wasi" directory when any WASI
preview target is used, allowing the toolchain to find the proper wasi
builtins.
Max Gilmour <max.gilmour@canonical.com> yes upstream 2026-05-29
revert-update-doc.diff commit e80c52986e1bb3afa6a92c58b1cb897877923a66

[docs] Remove hard-coded version numbers from sphinx configs

This updates all the non-runtime project release notes to use the
version number from CMake instead of the hard-coded version numbers
in conf.py.

It also hides warnings about pre-releases when the git suffix
is dropped from the LLVM version in CMake.

Reviewed By: MaskRay

Differential Revision: https://reviews.llvm.org/D112181

===================================================================
Tom Stellard <tstellar@redhat.com> no 2022-02-01
unwind-force-pthread-dl.diff =================================================================== no
compiler-rt-float16-arch-check.diff Move FLOAT16 check to use proper target flags The FLOAT16 check in builtin-config-ix.cmake runs without architecture-specific
flags, so on x86_64 host building for i386, it incorrectly detects _Float16
support. Move the check into CMakeLists.txt where CMAKE_REQUIRED_FLAGS are
properly set for each architecture (similar to how BFLOAT16 is checked).

===================================================================
Debian LLVM Team yes upstream 2026-01-24
force-sse2-compiler-rt.diff =================================================================== no
llvm-support-force-sse2-float16.diff Build LLVMSupport with SSE2 when _Float16 needs it (x86-32) llvm/lib/Support/APFloat.cpp includes libc's shared/math.h, which pulls in
the libc _Float16 support. gcc defines __FLT16_MANT_DIG__ on i386 even when
SSE2 is disabled (the Debian i386 baseline is i686), so the inline libc
helpers fail to build:
libc/src/__support/FPUtil/BasicOperations.h:63:67: error: SSE register
return with SSE2 disabled
Only LLVMSupport is affected (it is the sole user of libc/shared/math.h), so
add -msse2 to that target alone, and only when _Float16 does not build
without it but does build with it. The runtimes (compiler-rt builtins,
libc++, ...) keep their normal baseline.

===================================================================
Sylvestre Ledru <sylvestre@debian.org> no 2026-08-11
bolt-disable-emit-relocs.patch =================================================================== no
link-grpc.diff =================================================================== no
libclang-major-version-only.diff =================================================================== no
D148945-revert.diff Restore that for now, we're not GenToo ...

https://reviews.llvm.org/D148945
https://reviews.llvm.org/D122444

===================================================================
no
arm32-defaults.diff =================================================================== no
disable-openmp-per-target.diff =================================================================== no
offload-disable-static-assert.diff =================================================================== no
offload-plugins-depend-on-offloadapi.diff Ensure offload plugins depend on OffloadAPI tablegen target The plugin libraries (omptarget.rtl.host, omptarget.rtl.cuda,
omptarget.rtl.amdgpu, omptarget.rtl.level_zero) include OffloadAPI.h,
a header generated by the OffloadAPI custom target in
offload/liboffload/API. PluginCommon propagates the include path
via PUBLIC target_include_directories, but no build-order dependency
on OffloadAPI is set up, so on parallel builds rtl.cpp can be
compiled before the header has been generated, producing:
.
fatal error: 'OffloadAPI.h' file not found
.
add_subdirectory(plugins-nextgen) runs before add_subdirectory(liboffload)
in offload/CMakeLists.txt, so the OffloadAPI target does not yet exist
while the plugins are configured. Wire up the missing dependency once
both subdirectories have been processed.
.
Related upstream commit (different but related issue):
817af2ddf24bd6ef68d66d86904d0682dd5feda9

===================================================================
Sylvestre Ledru <sylvestre@debian.org> no upstream
offload-restore-soversion.diff Restore VERSION/SOVERSION on liboffload shared libraries Upstream commit 3383f0d6fe01 ("[Offload] Fix build install directory and
remove 'add_llvm_library'") replaced add_llvm_library() with plain
add_library() for the LLVMOffload and omptarget shared libraries.
add_llvm_library() implicitly set VERSION/SOVERSION to
LLVM_VERSION_MAJOR.LLVM_VERSION_MINOR (see
llvm/cmake/modules/AddLLVM.cmake), producing
libLLVMOffload.so.23.0 and libomptarget.so.23.0.
.
With that property gone, the libraries are installed without any
version suffix, breaking the Debian packaging which ships
liboffload-23 with the .so.23.0 SONAME-style files. dh_install fails:
.
dh_install: warning: Cannot find (any matches for)
"usr/lib/llvm-23/lib/libLLVMOffload.so.23.0"
dh_install: warning: Cannot find (any matches for)
"usr/lib/llvm-23/lib/libomptarget*.so.23.0"
.
Restore the previous behavior by setting VERSION and SOVERSION
explicitly on both targets.

===================================================================
Sylvestre Ledru <sylvestre@debian.org> no upstream
link-with-package-metadata.diff =================================================================== no
mips-mlir-xgot.diff =================================================================== no
bolt-disable-proc-check.diff =================================================================== no
lower-flang-py-dep.diff =================================================================== no
revert-issue-139220.diff =================================================================== no

All known versions for source package 'llvm-toolchain-23'

Links