LFS-QOL -> SLFS.

This commit is contained in:
Zeckmathederg
2025-06-09 15:34:38 -06:00
parent 54c51d42f3
commit eebdfc91d7
14 changed files with 1547 additions and 25 deletions

View File

@ -1353,9 +1353,9 @@
</glossdef>
</glossentry>
<glossentry id="gLFS-QOL">
<glossentry id="gSLFS">
<glossterm>
<acronym>LFS-QOL</acronym>
<acronym>SLFS</acronym>
</glossterm>
<glossdef>
<para>

View File

@ -1 +0,0 @@
introduction/welcome/changelog.xml

948
changelog.xml Normal file
View File

@ -0,0 +1,948 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY changelogs "https://www.linuxfromscratch.org/blfs">
<!ENTITY % general-entities SYSTEM "../../general.ent">
%general-entities;
]>
<!-- vim: set expandtab: -->
<sect1 id="changelog" xreflabel="Change Log">
<?dbhtml filename="changelog.html"?>
<title>Change Log</title>
<!-- <para>Please note that the Change Log only lists which editor was
responsible for putting the changes into SVN; please read the
<xref linkend="credits"/> page in Chapter 1 for details on
who wrote what.</para> -->
<para>Current release: &version; &ndash; &releasedate;</para>
<itemizedlist>
<title>Changelog Entries:</title>
<!-- Changelog template
<listitem>
<para>MMMM DD{nd,st,th}, YYYY</para>
<itemizedlist>
<listitem>
<para>[name] - Newer entry.</para>
</listitem>
<listitem>
<para>[name] - package: ver -&gt; ver. Fixes
<ulink url="&glfs-issues;/num">#num</ulink>.</para>
</listitem>
</itemizedlist>
</listitem>
-->
<listitem>
<para>June 9th, 2025</para>
<itemizedlist>
<listitem>
<para>[zeckma] - rust-bindgen: 0.71.1 -&gt; 0.72.0.</para>
</listitem>
<listitem>
<para>[zeckma] - libdrm: 2.4.124 -&gt; 2.4.125.</para>
</listitem>
<listitem>
<para>[zeckma] - XKeyboard-Config: 2.44 -&gt; 2.45.</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>June 8th, 2025</para>
<itemizedlist>
<listitem>
<para>[zeckma] - SQLite: 3.50.0 -&gt; 3.50.1.</para>
</listitem>
<listitem>
<para>[zeckma] - libvpx: 1.15.1 -&gt; 1.15.2 (security). Fixes
<ulink url="&glfs-issues;/257">#257</ulink>.</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>June 7th, 2025</para>
<itemizedlist>
<listitem>
<para>[zeckma] - NVIDIA: Add EGL libraries.</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>June 5th, 2025</para>
<itemizedlist>
<listitem>
<para>[zeckma] - Mesa: 25.1.1 -&gt; 25.1.2.</para>
</listitem>
<listitem>
<para>[zeckma] - LLVM: 20.1.5 -&gt; 20.1.6.</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>June 4th, 2025</para>
<itemizedlist>
<listitem>
<para>[zeckma] - hwdata: 0.395 -&gt; 0.396.</para>
</listitem>
<listitem>
<para>[zeckma] - Python: 3.13.3 -&gt; 3.13.4.</para>
</listitem>
<listitem>
<para>[zeckma] - SDL2: 2.32.6 -&gt; 2.32.8.</para>
</listitem>
<listitem>
<para>[zeckma] - cURL: 8.14.0 -&gt; 8.14.1 (security). Fixes
<ulink url="&glfs-issues;/253">#253</ulink>.</para>
</listitem>
<listitem>
<para>[zeckma] - make-ca: 1.16 -&gt; 1.16.1. Fixes
<ulink url="&glfs-issues;/252">#252</ulink>.</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>June 3rd, 2025</para>
<itemizedlist>
<listitem>
<para>[zeckma] - Systemd: 257.3 -&gt; 257.6.</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>June 2nd, 2025</para>
<itemizedlist>
<listitem>
<para>[zeckma] - Wine: 10.7 -&gt; 10.9.</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>May 31st, 2025</para>
<itemizedlist>
<listitem>
<para>[zeckma] - AMDGPU PRO: Deprecate until 12.4.</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>May 30th, 2025</para>
<itemizedlist>
<listitem>
<para>[zeckma] - SQLite: 3.49.0 -&gt; 3.50.0.</para>
</listitem>
<listitem>
<para>[zeckma] - Cbindgen: 0.28.0 -&gt; 0.29.0. Fixes
<ulink url="&glfs-issues;/245">#245</ulink>.</para>
</listitem>
<listitem>
<para>[zeckma] - Gst: 1.26.1 -&gt; 1.26.2 (security). Fixes
<ulink url="&glfs-issues;/250">#250</ulink>.</para>
</listitem>
<listitem>
<para>[zeckma] - NVIDIA: Create install script.</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>May 29th, 2025</para>
<itemizedlist>
<listitem>
<para>[zeckma] - NVIDIA: 575.51.02 -&gt; 575.57.08.</para>
</listitem>
<listitem>
<para>[zeckma] - cURL: 8.13.0 -&gt; 8.14.0. Fixes
<ulink url="&glfs-issues;/249">#249</ulink>.</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>May 28th, 2025</para>
<itemizedlist>
<listitem>
<para>[zeckma] - NSS: 3.111 -&gt; 3.112. Fixes
<ulink url="&glfs-issues;/247">#247</ulink>.</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>May 27th, 2025</para>
<itemizedlist>
<listitem>
<para>[zeckma] - NVIDIA: Overhaul. Fixes
<ulink url="&glfs-issues;/248">#248</ulink>.</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>May 23rd, 2025</para>
<itemizedlist>
<listitem>
<para>[zeckma] - aboutgles -&gt; aboutgl.</para>
</listitem>
<listitem>
<para>[zeckma] - Xorg Libraries: Don't build libFS.</para>
</listitem>
<listitem>
<para>[zeckma] - libxkbcommon: 1.9.2 -&gt; 1.10.0.</para>
</listitem>
<listitem>
<para>[zeckma] - GLib: 2.84.1 -&gt; 2.84.2. Fixes
<ulink url="&glfs-issues;/241">#241</ulink>.</para>
</listitem>
<listitem>
<para>[zeckma] - Cython: 3.1.0 -&gt; 3.1.1. Fixes
<ulink url="&glfs-issues;/242">#242</ulink>.</para>
</listitem>
<listitem>
<para>[zeckma] - Mesa: 25.1.0 -&gt; 25.1.1. Fixes
<ulink url="&glfs-issues;/243">#243</ulink>.</para>
</listitem>
<listitem>
<para>[zeckma] - LLVM, libclc: 20.1.4 -&gt; 20.1.5. Fixes
<ulink url="&glfs-issues;/244">#244</ulink>.</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>May 20th, 2025</para>
<itemizedlist>
<listitem>
<para>[zeckma] - sessreg: 1.1.3 -&gt; 1.1.4;
smproxy: 1.0.7 -&gt; 1.0.8;
xcursorgen: 1.0.8 -&gt; 1.0.9 (Xorg apps).</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>May 19th, 2025</para>
<itemizedlist>
<listitem>
<para>[zeckma] - Rustc: 1.86.0 -&gt; 1.87.0. Fixes
<ulink url="&glfs-issues;/240">#240</ulink>.</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>May 14th, 2025</para>
<itemizedlist>
<listitem>
<para>[zeckma] - HarfBuzz: 11.2.0 -&gt; 11.2.1. Fixes
<ulink url="&glfs-issues;/237">#237</ulink>.</para>
</listitem>
<listitem>
<para>[zeckma] - libxml2: 2.14.2 -&gt; 2.14.3. Fixes
<ulink url="&glfs-issues;/238">#238</ulink>.</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>May 13th, 2025</para>
<itemizedlist>
<listitem>
<para>[zeckma] - Cython: 3.0.12 -&gt; 3.1.0. Fixes
<ulink url="&glfs-issues;/231">#231</ulink>.</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>May 12th, 2025</para>
<itemizedlist>
<listitem>
<para>[zeckma] - GLES: Explain the API and how to disable it.</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>May 9th, 2025</para>
<itemizedlist>
<listitem>
<para>[zeckma] - Gst*: Combine into 1 page (GStreamer Suite).</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>May 8th, 2025</para>
<itemizedlist>
<listitem>
<para>[zeckma] - SQLite: 3.49.1 -&gt; 3.49.2.</para>
</listitem>
<listitem>
<para>[zeckma] - hwdata: 0.394 -&gt; 0.395. Fixes
<ulink url="&glfs-issues;/229">#229</ulink>.</para>
</listitem>
<listitem>
<para>[zeckma] - Mesa: 25.0.5 -> 25.1.0. Fixes
<ulink url="&glfs-issues;/230">#230</ulink>.</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>May 7th, 2025</para>
<itemizedlist>
<listitem>
<para>[zeckma] - Speex: Added.</para>
</listitem>
<listitem>
<para>[zeckma] - *: Split up book into chapters.</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>May 6th, 2025</para>
<itemizedlist>
<listitem>
<para>[zeckma] - libxkbcommon: 1.9.1 -&gt; 1.9.2.</para>
</listitem>
<listitem>
<para>[zeckma] - Vulkan-*: 1.4.309 -&gt; 1.4.313. Fixes
<ulink url="&glfs-issues;/169">#169</ulink>.</para>
</listitem>
<listitem>
<para>[zeckma] - NSS: 3.110 -&gt; 3.111. Fixes
<ulink url="&glfs-issues;/218">#218</ulink>.</para>
</listitem>
<listitem>
<para>[zeckma] - LLVM, libclc: 20.1.3 -&gt; 20.1.4. Fixes
<ulink url="&glfs-issues;/224">#224</ulink>.</para>
</listitem>
<listitem>
<para>[zeckma] - CMake: 4.0.1 -&gt; 4.0.2. Fixes
<ulink url="&glfs-issues;/227">#227</ulink>.</para>
</listitem>
<listitem>
<para>[zeckma] - SDL2: 2.30.11 -&gt; 2.32.6. Fixes
<ulink url="&glfs-issues;/228">#228</ulink>.</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>May 5th, 2025</para>
<itemizedlist>
<listitem>
<para>[zeckma] - Wine: 10.6 -&gt; 10.7. Fixes
<ulink url="&glfs-issues;/226">#226</ulink>.</para>
</listitem>
<listitem>
<para>[zeckma] - Mesa: 25.0.4 -&gt; 25.0.5. Fixes
<ulink url="&glfs-issues;/223">#223</ulink>.</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>May 4th, 2025</para>
<itemizedlist>
<listitem>
<para>[zeckma] - SPIRV-LLVM-Translator: 20.1.1 -&gt; 20.1.2. Fixes
<ulink url="&glfs-issues;/225">#225</ulink>.</para>
</listitem>
<listitem>
<para>[zeckma] - libpng: 1.6.47 -&gt; 1.6.48. Fixes
<ulink url="&glfs-issues;/222">#222</ulink>.</para>
</listitem>
<listitem>
<para>[zeckma] - Pixman: 0.44.2 -&gt; 0.46.0. Fixes
<ulink url="&glfs-issues;/221">#221</ulink>.</para>
</listitem>
<listitem>
<para>[zeckma] - HarfBuzz: 11.1.0 -&gt; 11.2.0. Fixes
<ulink url="&glfs-issues;/220">#220</ulink>.</para>
</listitem>
<listitem>
<para>[zeckma] - Wayland-Protocols: 1.43 -&gt; 1.44. Fixes
<ulink url="&glfs-issues;/217">#217</ulink>.</para>
</listitem>
<listitem>
<para>[zeckma] - libxkbcommon: 1.8.1 -&gt; 1.9.1. Fixes
<ulink url="&glfs-issues;/216">#216</ulink>.</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>May 3rd, 2025</para>
<itemizedlist>
<listitem>
<para>[zeckma] - NVIDIA: Fix building with GCC-15.x.x.</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>May 2nd, 2025</para>
<itemizedlist>
<listitem>
<para>[zeckma] - GCC: 14.2.0 -&gt; 15.1.0. Fixes
<ulink url="&glfs-issues;/213">#213</ulink>.</para>
</listitem>
<listitem>
<para>[zeckma] - libsndfile; libunwind; Wine: Fix building with
GCC-15.x.x.</para>
</listitem>
<listitem>
<para>[zeckma] - Mesa: A few tweaks regarding libglvnd.</para>
</listitem>
<listitem>
<para>[zeckma] - GBM: Make PyYAML a requirement.</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>April 30th, 2025</para>
<itemizedlist>
<listitem>
<para>[zeckma] - gst*: 1.26.0 -&gt; 1.26.1 (Security). Fixes
<ulink url="&glfs-issues;/215">#215</ulink>.</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>April 27th, 2025</para>
<itemizedlist>
<listitem>
<para>[zeckma] - glslang: 15.2.0 -&gt; 15.3.0.</para>
</listitem>
<listitem>
<para>[zeckma] - Preface: Heavily tweaked.</para>
</listitem>
<listitem>
<para>[zeckma] - libgpg-error: 1.54 -&gt; 1.55.</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>April 24th, 2025</para>
<itemizedlist>
<listitem>
<para>[zeckma] - whatdriver: Reworked explanations.</para>
</listitem>
<listitem>
<para>[zeckma] - Steam: 1.0.0.82 -&gt; 1.0.0.83. Fixes
<ulink url="&glfs-issues;/212">#212</ulink>.</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>April 22nd, 2025</para>
<itemizedlist>
<listitem>
<para>[zeckma] - LLVM, libclc: 20.1.2 -&gt; 20.1.3. Fixes
<ulink url="&glfs-issues;/203">#203</ulink>.</para>
</listitem>
<listitem>
<para>[zeckma] - Wine: 10.5 -&gt; 10.6. Fixes
<ulink url="&glfs-issues;/208">#208</ulink>.</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>April 21st, 2025</para>
<itemizedlist>
<listitem>
<para>[zeckma] - LibXft: 2.3.8 -&gt; 2.3.9. Fixes
<ulink url="&glfs-issues;/209">#209</ulink>.</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>April 19th, 2025</para>
<itemizedlist>
<listitem>
<para>[zeckma] - Wine: Update installed contents.</para>
</listitem>
<listitem>
<para>[zeckma] - libxml2: 2.14.1 -&gt; 2.14.2 (security fix). Fixes
<ulink url="&glfs-issues;/205">#205</ulink>.</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>April 18th, 2025</para>
<itemizedlist>
<listitem>
<para>[zeckma] - Mesa: 25.0.3 -&gt; 25.0.4. Fixes
<ulink url="&glfs-issues;/204">#204</ulink>.</para>
</listitem>
<listitem>
<para>[zeckma] - NVIDIA: 570.133.07 -&gt; 575.51.02. Fixes
<ulink url="&glfs-issues;/206">#206</ulink>.</para>
</listitem>
<listitem>
<para>[zeckma] - HarfBuzz: 11.0.1 -&gt; 11.1.0;
libgpg-error: 1.53 -&gt; 1.54. Fixes
<ulink url="&glfs-issues;/202">#202</ulink> and
<ulink url="&glfs-issues;/207">#207</ulink>.</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>April 17th, 2025</para>
<itemizedlist>
<listitem>
<para>[zeckma] - gpuconfig: Document Xe driver.</para>
</listitem>
<listitem>
<para>[zeckma] - Rustc: Update config.toml.</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>April 16th, 2025</para>
<itemizedlist>
<listitem>
<para>[zeckma] - Fontconfig: 2.16.0 -&gt; 2.16.2. Fixes
<ulink url="&glfs-issues;/201">#201</ulink>.</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>April 15th, 2025</para>
<itemizedlist>
<listitem>
<para>[zeckma] - libaom: 3.12.0 -&gt; 3.12.1.</para>
</listitem>
<listitem>
<para>[zeckma] - CMake: 4.0.0 -&gt; 4.0.1. Fixes
<ulink url="&glfs-issues;/200">#200</ulink>.</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>April 14th, 2025</para>
<itemizedlist>
<listitem>
<para>[zeckma] - alsa-{lib,ucm-conf,utils}: * -&gt; 1.2.14.</para>
</listitem>
<listitem>
<para>[zeckma] - alsa-lib: Ensure alsa-ucm-conf is installed.</para>
</listitem>
<listitem>
<para>[zeckma] - Python3: 3.13.2 -&gt; 3.13.3.</para>
</listitem>
<listitem>
<para>[zeckma] - libvdpau-va-gl: Allow building w/ CMake-4.0.</para>
</listitem>
<listitem>
<para>[zeckma] - x265: Allow building with CMake-4.0.</para>
</listitem>
<listitem>
<para>[zeckma] - libvpx: Ensure files get updated.</para>
</listitem>
<listitem>
<para>[zeckma] - alsa-lib: Patch alsa-ucm-conf config file.</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>April 11th, 2025</para>
<itemizedlist>
<listitem>
<para>[zeckma] - mako: 1.3.8 -&gt; 1.3.10.</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>April 10th, 2025</para>
<itemizedlist>
<listitem>
<para>[zeckma] - libvpx: 1.15.0 -&gt; 1.15.1. Fixes
<ulink url="&glfs-issues;/199">#199</ulink>.</para>
</listitem>
<listitem>
<para>[zeckma] - libgpg-error: 1.51 -&gt; 1.53. Fixes
<ulink url="&glfs-issues;/198">#198</ulink>.</para>
</listitem>
<listitem>
<para>[zeckma] - Wayland-Protocols: 1.42 -&gt; 1.43. Fixes
<ulink url="&glfs-issues;/197">#197</ulink>.</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>April 8th, 2025</para>
<itemizedlist>
<listitem>
<para>[zeckma] - make-ca: 1.15 -> 1.16. Fixes
<ulink url="&glfs-issues;/196">#196</ulink>.</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>April 7th, 2025</para>
<itemizedlist>
<listitem>
<para>[zeckma] - DXVK: 2.6 -&gt; 2.6.1. Fixes
<ulink url="&glfs-issues;/195">#195</ulink>.</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>April 6th, 2025</para>
<itemizedlist>
<listitem>
<para>[zeckma] - HarfBuzz: 11.0.0 -&gt; 11.0.1. Fixes
<ulink url="&glfs-issues;/193">#193</ulink>.</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>April 4th, 2025</para>
<itemizedlist>
<listitem>
<para>[zeckma] - Wine: 10.4 -&gt; 10.5. Fixes
<ulink url="&glfs-issues;/192">#192</ulink>.</para>
</listitem>
<listitem>
<para>[zeckma] - All: Stop using .so for library suffixes. Fixes
<ulink url="&glfs-issues;/188">#188</ulink>.</para>
</listitem>
<listitem>
<para>[zeckma] - GLib: 2.84.0 -&gt; 2.84.1. Fixes
<ulink url="&glfs-issues;/191">#191</ulink>.</para>
</listitem>
<listitem>
<para>[zeckma] - Rustc: 1.85.1 -&gt; 1.86.0. Fixes
<ulink url="&glfs-issues;/186">#186</ulink>.</para>
</listitem>
<listitem>
<para>[zeckma] - p11-kit: Remove lib32 instructions.</para>
</listitem>
<listitem>
<para>[zeckma] - libxml2: 2.14.0 -&gt; 2.14.1 Fixes
<ulink url="&glfs-issues;/190">#190</ulink>.</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>April 3rd, 2025</para>
<itemizedlist>
<listitem>
<para>[zeckma] - Glslang: Ensure libSPIRV is installed.</para>
</listitem>
<listitem>
<para>[zeckma] - LLVM: 20.1.1 -> 20.1.2;
SPIRV-LLVM-Translator: 20.1.0 -> 20.1.1. Fixes
<ulink url="&glfs-issues;/181">#181</ulink> and
<ulink url="&glfs-issues;/182">#182</ulink>.</para>
</listitem>
<listitem>
<para>[zeckma] - libxml2: 1.13.6 -&gt; 1.14.0. Fixes
<ulink url="&glfs-issues;/176">#176</ulink>.</para>
</listitem>
<listitem>
<para>[zeckma] - Mesa: 25.0.2 -&gt; 25.0.3. Fixes
<ulink url="&glfs-issues;/185">#185</ulink>.</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>April 2nd, 2025</para>
<itemizedlist>
<listitem>
<para>[zeckma] - libinput: 1.28.0 -&gt; 1.28.1;
cURL: 8.12.1 -&gt; 8.13.0;
hwdata: 0.393 -&gt; 0.394. Fixes
<ulink url="&glfs-issues;/180">#180</ulink>,
<ulink url="&glfs-issues;/183">#183</ulink>, and
<ulink url="&glfs-issues;/184">#184</ulink>.</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>March 31st, 2025</para>
<itemizedlist>
<listitem>
<para>[zeckma] - shadow: 4.17.3 -&gt; 4.17.4.</para>
</listitem>
<listitem>
<para>[zeckma] - glslang: 15.1.0 -&gt; 15.2.0. Fixes
<ulink url="&glfs-issues;/179">#179</ulink>.</para>
</listitem>
<listitem>
<para>[zeckma] - NSS: 3.109 -&gt; 3.110. Fixes
<ulink url="&glfs-issues;/178">#178</ulink>.</para>
</listitem>
<listitem>
<para>[zeckma] - CMake: 3.31.6 -&gt; 4.0.0. Fixes
<ulink url="&glfs-issues;/177">#177</ulink>.</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>March 25th, 2025</para>
<itemizedlist>
<listitem>
<para>[zeckma] - libevdev: 1.13.3 -&gt; 1.13.4. Fixes
<ulink url="&glfs-issues;/174">#174</ulink>.</para>
</listitem>
<listitem>
<para>[zeckma] - Removed 32-bit CPU support. Fixes
<ulink url="&glfs-issues;/175">#175</ulink>.</para>
</listitem>
<listitem>
<para>[zeckma] - libinput: 1.27.1 -&gt; 1.28.0. Fixes
<ulink url="&glfs-issues;/172">#172</ulink>.</para>
</listitem>
<listitem>
<para>[zeckma] - HarfBuzz: 10.4.0 -&gt; 11.0.0. Fixes
<ulink url="&glfs-issues;/171">#171</ulink>.</para>
</listitem>
<listitem>
<para>[zeckma] - Wayland-Protocols: 1.41 -&gt; 1.42. Fixes
<ulink url="&glfs-issues;/173">#173</ulink>.</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>March 23rd, 2025</para>
<itemizedlist>
<listitem>
<para>[zeckma] - MinGW-w64-Binutils: Remove --disable-multilib.</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>March 22nd, 2025</para>
<itemizedlist>
<listitem>
<para>[zeckma] - Wine: 10.3 -&gt; 10.4. Fixes
<ulink url="&glfs-issues;/170">#170</ulink>.</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>March 21st, 2025</para>
<itemizedlist>
<listitem>
<para>[zeckma] - *: Made the book easier to follow for NVIDIA
users.</para>
</listitem>
<listitem>
<para>[zeckma] - libdrm: Disable building tests. Fixes
<ulink url="&glfs-issues;/168">#168</ulink>.</para>
</listitem>
<listitem>
<para>[zeckma] - GBM: Add lib32 installation instructions.</para>
</listitem>
<listitem>
<para>[zeckma] - NVIDIA: Fix other package builds without DRI.</para>
</listitem>
<listitem>
<para>[zeckma] - alsa-*: Don't use prefix for lib32.</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>March 20th, 2025</para>
<itemizedlist>
<listitem>
<para>[zeckma] - LLVM; libclc: 20.1.0 -&gt; 20.1.1. Fixes
<ulink url="&glfs-issues;/167">#167</ulink>.</para>
</listitem>
<listitem>
<para>[zeckma] - Mesa: 25.0.1 -&gt; 25.0.2. Fixes
<ulink url="&glfs-issues;/166">#166</ulink>.</para>
</listitem>
<listitem>
<para>[zeckma] - NVIDIA: 570.124.04 -&gt; 570.133.07. Fixes
<ulink url="&glfs-issues;/164">#164</ulink>.</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>March 19th, 2025</para>
<itemizedlist>
<listitem>
<para>[zeckma] - Rustc: 1.85.0 -&gt; 1.85.1. Fixes
<ulink url="&glfs-issues;/162">#162</ulink>.</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>March 18th, 2025</para>
<itemizedlist>
<listitem>
<para>[zeckma] - D-Bus: 1.16.0 -&gt; 1.16.2. Fixes
<ulink url="&glfs-issues;/131">#131</ulink>.</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>March 17th, 2025</para>
<itemizedlist>
<listitem>
<para>[zeckma] - libxkbcommon: 1.8.0 -&gt; 1.8.1. Fixes
<ulink url="&glfs-issues;/151">#151</ulink>.</para>
</listitem>
<listitem>
<para>[zeckma] - GObject-Introspection: 1.82.0 -&gt; 1.84.0. Fixes
<ulink url="&glfs-issues;/159">#159</ulink>.</para>
</listitem>
<listitem>
<para>[zeckma] - Git: 2.48.1 -&gt; 2.49.0. Fixes
<ulink url="&glfs-issues;/158">#158</ulink>.</para>
</listitem>
<listitem>
<para>[zeckma] - ICU: 76.1 -&gt; 77.1. Fixes
<ulink url="&glfs-issues;/156">#156</ulink>.</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>March 16th, 2025</para>
<itemizedlist>
<listitem>
<para>[zeckma] - NVIDIA: Document GBM.</para>
</listitem>
<listitem>
<para>[Toxikuu] - NVIDIA: 560.35.03 -&gt; 570.124.04. PR
<ulink url="&glfs-pull;/161">(#161)</ulink>. Fixes
<ulink url="&glfs-issues;/129">#129</ulink>.</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>March 15th, 2025</para>
<itemizedlist>
<listitem>
<para>[zeckma] - Updated LLVM and Vulkan related packages.
Fixes <ulink url="&glfs-issues;/136">#136</ulink>,
<ulink url="&glfs-issues;/138">#138</ulink>,
<ulink url="&glfs-issues;/153">#153</ulink>,
<ulink url="&glfs-issues;/154">#154</ulink>, and
<ulink url="&glfs-issues;/157">#157</ulink>.</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>March 14th, 2025</para>
<itemizedlist>
<listitem>
<para>[zeckma] - GLib2: 2.82.5 -&gt; 2.84.0. Fixes
<ulink url="&glfs-issues;/139">#139</ulink>.</para>
</listitem>
<listitem>
<para>[zeckma] - Gst*: 1.24.12 -&gt; 1.26.0. Fixes
<ulink url="&glfs-issues;/155">#155</ulink>.</para>
</listitem>
<listitem>
<para>[zeckma] - Wine: 10.2 -&gt; 10.3. Fixes
<ulink url="&glfs-issues;/152">#152</ulink>.</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>March 12th, 2025</para>
<itemizedlist>
<listitem>
<para>[zeckma] - Keep up with BLFS.</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>March 5th, 2025</para>
<itemizedlist>
<listitem>
<para>[zeckma] - Mesa: 24.3.4 -&gt; 25.0.1. Fixes
<ulink url="&glfs-issues;/120">#120</ulink>.</para>
</listitem>
<listitem>
<para>[zeckma] - libglvnd; NVIDIA: Unarchived.</para>
</listitem>
<listitem>
<para>[zeckma] - luit: Removed. Fixes
<ulink url="&glfs-issues;/137">#137</ulink>.</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>March 4th, 2025</para>
<itemizedlist>
<listitem>
<para>[zeckma] - SQLite; Python3: Added. Fixes
<ulink url="&glfs-issues;/91">#91</ulink>.</para>
</listitem>
<listitem>
<para>[zeckma] - NSS: 3.108 -&gt; 3.109;
CMake: 3.31.5 -&gt; 3.31.6;
Wayland-Protocols: 1.40 -&gt; 1.41;
hwdata: 0.392 -&gt; 0.393;
SPIRV-LLVM-Translator: 19.1.4 -&gt; 19.1.5. Fixes
<ulink url="&glfs-issues;/116">#116</ulink>,
<ulink url="&glfs-issues;/125">#125</ulink>,
<ulink url="&glfs-issues;/130">#130</ulink>,
<ulink url="&glfs-issues;/132">#132</ulink>, and
<ulink url="&glfs-issues;/135">#135</ulink>.</para>
</listitem>
<listitem>
<para>[zeckma] - Changelog: Cleaned for next release cycle.</para>
</listitem>
</itemizedlist>
</listitem>
</itemizedlist>
</sect1>

View File

@ -46,9 +46,9 @@
<!ENTITY maintainer-firstname "GLFS">
<!ENTITY maintainer-address "zeckma.tech@gmail.com;">
<!ENTITY lfs-website "https://www.&lfs-domainname;">
<!ENTITY glfs-website "https://&glfs-domainname;/glfs">
<!ENTITY lfs-qol-website "https://&glfs-domainname;/lfs-qol">
<!ENTITY lfs-website "https://www.&lfs-domainname;">
<!ENTITY glfs-website "https://&glfs-domainname;/glfs">
<!ENTITY slfs-website "https://&glfs-domainname;/slfs">
<!-- downloads_root must have an entity because it is needed for scripts
Note: s/_/-/ in comment to avoid grep error
It is also needed for systemd units

View File

@ -1 +0,0 @@
rustc-1.85.0-upstream_fixes_llvm-1.patch

View File

@ -0,0 +1,576 @@
Submitted By: Xi Ruoyao <xry111 at xry111 dot site>
Date: 2025-03-19
Initial Package Version: 1.85.1
Upstream Status: Applied for master but not 1.85.x
Origin: Upstream PR #135177, #135763 (only commit
97f6e4d34b7e), #136895, #135084, #135088, #135764
Description: Allow building rustc-1.85.x with llvm-20.
From fc32dd49cb70c4b113353c7a060a875f30b9af04 Mon Sep 17 00:00:00 2001
From: Matthew Maurer <mmaurer@google.com>
Date: Tue, 7 Jan 2025 00:53:42 +0000
Subject: [PATCH] llvm: Ignore error value that is always false
See llvm/llvm-project#121851
For LLVM 20+, this function (`renameModuleForThinLTO`) has no return
value. For prior versions of LLVM, this never failed, but had a
signature which allowed an error value people were handling.
---
compiler/rustc_codegen_gcc/src/back/lto.rs | 4 +---
compiler/rustc_codegen_llvm/src/back/lto.rs | 6 +-----
compiler/rustc_codegen_llvm/src/llvm/ffi.rs | 2 +-
compiler/rustc_llvm/llvm-wrapper/PassWrapper.cpp | 10 ++--------
4 files changed, 5 insertions(+), 17 deletions(-)
diff --git a/compiler/rustc_codegen_gcc/src/back/lto.rs b/compiler/rustc_codegen_gcc/src/back/lto.rs
index ed92f9c52412c..f7173d4d2ffce 100644
--- a/compiler/rustc_codegen_gcc/src/back/lto.rs
+++ b/compiler/rustc_codegen_gcc/src/back/lto.rs
@@ -660,9 +660,7 @@ pub unsafe fn optimize_thin_module(
{
let _timer =
cgcx.prof.generic_activity_with_arg("LLVM_thin_lto_rename", thin_module.name());
- if !llvm::LLVMRustPrepareThinLTORename(thin_module.shared.data.0, llmod, target) {
- return Err(write::llvm_err(&dcx, LlvmError::PrepareThinLtoModule));
- }
+ unsafe { llvm::LLVMRustPrepareThinLTORename(thin_module.shared.data.0, llmod, target) };
save_temp_bitcode(cgcx, &module, "thin-lto-after-rename");
}
diff --git a/compiler/rustc_codegen_llvm/src/back/lto.rs b/compiler/rustc_codegen_llvm/src/back/lto.rs
index 4adf99e91d08d..08b774f8d6ec0 100644
--- a/compiler/rustc_codegen_llvm/src/back/lto.rs
+++ b/compiler/rustc_codegen_llvm/src/back/lto.rs
@@ -737,11 +737,7 @@ pub(crate) unsafe fn optimize_thin_module(
{
let _timer =
cgcx.prof.generic_activity_with_arg("LLVM_thin_lto_rename", thin_module.name());
- if unsafe {
- !llvm::LLVMRustPrepareThinLTORename(thin_module.shared.data.0, llmod, target)
- } {
- return Err(write::llvm_err(dcx, LlvmError::PrepareThinLtoModule));
- }
+ unsafe { llvm::LLVMRustPrepareThinLTORename(thin_module.shared.data.0, llmod, target) };
save_temp_bitcode(cgcx, &module, "thin-lto-after-rename");
}
diff --git a/compiler/rustc_codegen_llvm/src/llvm/ffi.rs b/compiler/rustc_codegen_llvm/src/llvm/ffi.rs
index bb324ee682cdb..cb4a8c9a5f21c 100644
--- a/compiler/rustc_codegen_llvm/src/llvm/ffi.rs
+++ b/compiler/rustc_codegen_llvm/src/llvm/ffi.rs
@@ -2374,7 +2374,7 @@ unsafe extern "C" {
Data: &ThinLTOData,
Module: &Module,
Target: &TargetMachine,
- ) -> bool;
+ );
pub fn LLVMRustPrepareThinLTOResolveWeak(Data: &ThinLTOData, Module: &Module) -> bool;
pub fn LLVMRustPrepareThinLTOInternalize(Data: &ThinLTOData, Module: &Module) -> bool;
pub fn LLVMRustPrepareThinLTOImport(
diff --git a/compiler/rustc_llvm/llvm-wrapper/PassWrapper.cpp b/compiler/rustc_llvm/llvm-wrapper/PassWrapper.cpp
index de14c6d188365..6447a9362b3ab 100644
--- a/compiler/rustc_llvm/llvm-wrapper/PassWrapper.cpp
+++ b/compiler/rustc_llvm/llvm-wrapper/PassWrapper.cpp
@@ -1389,20 +1389,14 @@ static bool clearDSOLocalOnDeclarations(Module &Mod, TargetMachine &TM) {
return ClearDSOLocalOnDeclarations;
}
-extern "C" bool LLVMRustPrepareThinLTORename(const LLVMRustThinLTOData *Data,
+extern "C" void LLVMRustPrepareThinLTORename(const LLVMRustThinLTOData *Data,
LLVMModuleRef M,
LLVMTargetMachineRef TM) {
Module &Mod = *unwrap(M);
TargetMachine &Target = *unwrap(TM);
bool ClearDSOLocal = clearDSOLocalOnDeclarations(Mod, Target);
- bool error = renameModuleForThinLTO(Mod, Data->Index, ClearDSOLocal);
-
- if (error) {
- LLVMRustSetLastError("renameModuleForThinLTO failed");
- return false;
- }
- return true;
+ renameModuleForThinLTO(Mod, Data->Index, ClearDSOLocal);
}
extern "C" bool
From 97f6e4d34b7e103150c35d390e33d17041363af3 Mon Sep 17 00:00:00 2001
From: Nikita Popov <npopov@redhat.com>
Date: Mon, 3 Feb 2025 14:50:40 +0100
Subject: [PATCH] Quote embedded codeview command line arguments
The formatting of the command line arguments has been moved to the
frontend in:
https://github.com/llvm/llvm-project/commit/e190d074a0a77c9f8a7d7938a8187a7e2076e290
However, the Rust logic introduced in
https://github.com/rust-lang/rust/commit/ad0ecebf432fcb80cb666034ea44f75b81e55f95
did not replicate the previous argument quoting behavior.
---
.../rustc_llvm/llvm-wrapper/PassWrapper.cpp | 20 +++++++++++--------
1 file changed, 12 insertions(+), 8 deletions(-)
diff --git a/compiler/rustc_llvm/llvm-wrapper/PassWrapper.cpp b/compiler/rustc_llvm/llvm-wrapper/PassWrapper.cpp
index a6b2384f2d7b2..7eb11f9e6087c 100644
--- a/compiler/rustc_llvm/llvm-wrapper/PassWrapper.cpp
+++ b/compiler/rustc_llvm/llvm-wrapper/PassWrapper.cpp
@@ -22,6 +22,7 @@
#include "llvm/Passes/StandardInstrumentations.h"
#include "llvm/Support/CBindingWrapping.h"
#include "llvm/Support/FileSystem.h"
+#include "llvm/Support/Program.h"
#include "llvm/Support/TimeProfiler.h"
#include "llvm/Support/VirtualFileSystem.h"
#include "llvm/Target/TargetMachine.h"
@@ -472,16 +473,19 @@ extern "C" LLVMTargetMachineRef LLVMRustCreateTargetMachine(
assert(ArgsCstrBuff[ArgsCstrBuffLen - 1] == '\0');
auto Arg0 = std::string(ArgsCstrBuff);
buffer_offset = Arg0.size() + 1;
- auto ArgsCppStr = std::string(ArgsCstrBuff + buffer_offset,
- ArgsCstrBuffLen - buffer_offset);
- auto i = 0;
- while (i != std::string::npos) {
- i = ArgsCppStr.find('\0', i + 1);
- if (i != std::string::npos)
- ArgsCppStr.replace(i, 1, " ");
+
+ std::string CommandlineArgs;
+ raw_string_ostream OS(CommandlineArgs);
+ ListSeparator LS(" ");
+ for (StringRef Arg : split(StringRef(ArgsCstrBuff + buffer_offset,
+ ArgsCstrBuffLen - buffer_offset),
+ '\0')) {
+ OS << LS;
+ sys::printArg(OS, Arg, /*Quote=*/true);
}
+ OS.flush();
Options.MCOptions.Argv0 = Arg0;
- Options.MCOptions.CommandlineArgs = ArgsCppStr;
+ Options.MCOptions.CommandlineArgs = CommandlineArgs;
#else
int buffer_offset = 0;
assert(ArgsCstrBuff[ArgsCstrBuffLen - 1] == '\0');
From d82219a4fa06bfa47fc5aac64844c461905ae77d Mon Sep 17 00:00:00 2001
From: Matthew Maurer <mmaurer@google.com>
Date: Wed, 12 Feb 2025 00:37:33 +0000
Subject: [PATCH] debuginfo: Set bitwidth appropriately in enum variant tags
Previously, we unconditionally set the bitwidth to 128-bits, the largest
an discrimnator would possibly be. Then, LLVM would cut down the constant by
chopping off leading zeroes before emitting the DWARF. LLVM only
supported 64-bit descriminators, so this would also have occasionally
resulted in truncated data (or an assert) if more than 64-bits were
used.
LLVM added support for 128-bit enumerators in llvm/llvm-project#125578
That patchset also trusts the constant to describe how wide the variant tag is.
As a result, we went from emitting tags that looked like:
DW_AT_discr_value (0xfe)
(`form1`)
to emitting tags that looked like:
DW_AT_discr_value (<0x10> fe ff ff ff 00 00 00 00 00 00 00 00 00 00 00 00 )
This makes the `DW_AT_discr_value` encode at the bitwidth of the tag,
which:
1. Is probably closer to our intentions in terms of describing the data.
2. Doesn't invoke the 128-bit support which may not be supported by all
debuggers / downstream tools.
3. Will result in smaller debug information.
---
.../src/debuginfo/metadata/enums/native.rs | 8 +++++++-
tests/codegen/enum/enum-debug-niche-2.rs | 4 ++--
2 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/compiler/rustc_codegen_llvm/src/debuginfo/metadata/enums/native.rs b/compiler/rustc_codegen_llvm/src/debuginfo/metadata/enums/native.rs
index 11824398f243e..187d97c54c873 100644
--- a/compiler/rustc_codegen_llvm/src/debuginfo/metadata/enums/native.rs
+++ b/compiler/rustc_codegen_llvm/src/debuginfo/metadata/enums/native.rs
@@ -437,6 +437,12 @@ fn build_enum_variant_member_di_node<'ll, 'tcx>(
.source_info
.unwrap_or_else(|| (unknown_file_metadata(cx), UNKNOWN_LINE_NUMBER));
+ let discr = discr_value.opt_single_val().map(|value| {
+ let tag_base_type = tag_base_type(cx.tcx, enum_type_and_layout);
+ let size = cx.size_of(tag_base_type);
+ cx.const_uint_big(cx.type_ix(size.bits()), value)
+ });
+
unsafe {
llvm::LLVMRustDIBuilderCreateVariantMemberType(
DIB(cx),
@@ -448,7 +454,7 @@ fn build_enum_variant_member_di_node<'ll, 'tcx>(
enum_type_and_layout.size.bits(),
enum_type_and_layout.align.abi.bits() as u32,
Size::ZERO.bits(),
- discr_value.opt_single_val().map(|value| cx.const_u128(value)),
+ discr,
DIFlags::FlagZero,
variant_member_info.variant_struct_type_di_node,
)
diff --git a/tests/codegen/enum/enum-debug-niche-2.rs b/tests/codegen/enum/enum-debug-niche-2.rs
index 58f43fe3ec6bf..80a4081f15b10 100644
--- a/tests/codegen/enum/enum-debug-niche-2.rs
+++ b/tests/codegen/enum/enum-debug-niche-2.rs
@@ -5,8 +5,8 @@
//@ ignore-msvc
//
// CHECK: {{.*}}DICompositeType{{.*}}tag: DW_TAG_variant_part,{{.*}}size: 32,{{.*}}
-// CHECK: {{.*}}DIDerivedType{{.*}}tag: DW_TAG_member,{{.*}}name: "Placeholder",{{.*}}extraData: i128 4294967295{{[,)].*}}
-// CHECK: {{.*}}DIDerivedType{{.*}}tag: DW_TAG_member,{{.*}}name: "Error",{{.*}}extraData: i128 0{{[,)].*}}
+// CHECK: {{.*}}DIDerivedType{{.*}}tag: DW_TAG_member,{{.*}}name: "Placeholder",{{.*}}extraData: i32 -1{{[,)].*}}
+// CHECK: {{.*}}DIDerivedType{{.*}}tag: DW_TAG_member,{{.*}}name: "Error",{{.*}}extraData: i32 0{{[,)].*}}
#![feature(never_type)]
#[derive(Copy, Clone)]
From ed005245c64447db5bcf28c29045a3bb99dd15e0 Mon Sep 17 00:00:00 2001
From: Matthew Maurer <mmaurer@google.com>
Date: Fri, 3 Jan 2025 19:39:52 +0000
Subject: [PATCH] Update carrying_mul_add test to tolerate `nuw`
LLVM 20 adds nuw to GEP operations in this code, tolerate them.
---
tests/codegen/intrinsics/carrying_mul_add.rs | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/tests/codegen/intrinsics/carrying_mul_add.rs b/tests/codegen/intrinsics/carrying_mul_add.rs
index 174c4077f09e9..b53585a8a6ee6 100644
--- a/tests/codegen/intrinsics/carrying_mul_add.rs
+++ b/tests/codegen/intrinsics/carrying_mul_add.rs
@@ -84,7 +84,7 @@ pub unsafe fn cma_u128(a: u128, b: u128, c: u128, d: u128) -> (u128, u128) {
// RAW: [[PAIR0:%.+]] = insertvalue { i128, i128 } poison, i128 [[LOW]], 0
// RAW: [[PAIR1:%.+]] = insertvalue { i128, i128 } [[PAIR0]], i128 [[HIGH]], 1
// OPT: store i128 [[LOW]], ptr %_0
- // OPT: [[P1:%.+]] = getelementptr inbounds i8, ptr %_0, {{i32|i64}} 16
+ // OPT: [[P1:%.+]] = getelementptr inbounds{{( nuw)?}} i8, ptr %_0, {{i32|i64}} 16
// OPT: store i128 [[HIGH]], ptr [[P1]]
// CHECK: ret void
carrying_mul_add(a, b, c, d)
@@ -111,7 +111,7 @@ pub unsafe fn cma_i128(a: i128, b: i128, c: i128, d: i128) -> (u128, i128) {
// RAW: [[PAIR0:%.+]] = insertvalue { i128, i128 } poison, i128 [[LOW]], 0
// RAW: [[PAIR1:%.+]] = insertvalue { i128, i128 } [[PAIR0]], i128 [[HIGH]], 1
// OPT: store i128 [[LOW]], ptr %_0
- // OPT: [[P1:%.+]] = getelementptr inbounds i8, ptr %_0, {{i32|i64}} 16
+ // OPT: [[P1:%.+]] = getelementptr inbounds{{( nuw)?}} i8, ptr %_0, {{i32|i64}} 16
// OPT: store i128 [[HIGH]], ptr [[P1]]
// CHECK: ret void
carrying_mul_add(a, b, c, d)
From cf679e428136f7992e8c110b32365a0e0057154e Mon Sep 17 00:00:00 2001
From: Matthew Maurer <mmaurer@google.com>
Date: Fri, 3 Jan 2025 22:21:39 +0000
Subject: [PATCH] Force code generation in assembly generation smoke-tests
In llvm/llvm-project@7b23f413d1f76532825e470b523e971818d453ca , `.text`
started being suppressed from LLVM assembly in cases where it wasn't
strictly necessary. Currently, the sample functions in these two tests
are frequently decided to be IR-only functions, resulting in no code
generation, so LLVM drops the `.text` directive.
Adding `#[no_mangle]` forces these tests back to their original intent -
assembly code is generated, and so a `.text` directive is generated as
well.
---
tests/assembly/targets/targets-elf.rs | 2 ++
tests/assembly/targets/targets-macho.rs | 2 ++
2 files changed, 4 insertions(+)
diff --git a/tests/assembly/targets/targets-elf.rs b/tests/assembly/targets/targets-elf.rs
index 7d50647bed18e..59d27ed649c0f 100644
--- a/tests/assembly/targets/targets-elf.rs
+++ b/tests/assembly/targets/targets-elf.rs
@@ -676,6 +676,8 @@
#[lang = "sized"]
trait Sized {}
+// Force linkage to ensure code is actually generated
+#[no_mangle]
pub fn test() -> u8 {
42
}
diff --git a/tests/assembly/targets/targets-macho.rs b/tests/assembly/targets/targets-macho.rs
index 8095ae9029b75..25e9059afeb18 100644
--- a/tests/assembly/targets/targets-macho.rs
+++ b/tests/assembly/targets/targets-macho.rs
@@ -83,6 +83,8 @@
#[lang = "sized"]
trait Sized {}
+// Force linkage to ensure code is actually generated
+#[no_mangle]
pub fn test() -> u8 {
42
}
From aaccb71da9f0954ee5433f61ae8274b29f6da1c5 Mon Sep 17 00:00:00 2001
From: Nikita Popov <npopov@redhat.com>
Date: Mon, 20 Jan 2025 11:38:48 +0100
Subject: [PATCH 1/2] Fix sparcv8plus test on LLVM 20
Split this into two tests, one for LLVM 19 and one for LLVM 20.
---
tests/ui/abi/sparcv8plus-llvm19.rs | 43 +++++++++++++++++++
tests/ui/abi/sparcv8plus-llvm19.sparc.stderr | 8 ++++
.../sparcv8plus-llvm19.sparc_cpu_v9.stderr | 8 ++++
...-llvm19.sparc_cpu_v9_feature_v8plus.stderr | 8 ++++
...cv8plus-llvm19.sparc_feature_v8plus.stderr | 8 ++++
.../abi/sparcv8plus-llvm19.sparcv8plus.stderr | 8 ++++
tests/ui/abi/sparcv8plus.rs | 6 +--
tests/ui/abi/sparcv8plus.sparc_cpu_v9.stderr | 6 +--
...cv8plus.sparc_cpu_v9_feature_v8plus.stderr | 2 +-
.../sparcv8plus.sparc_feature_v8plus.stderr | 2 +-
tests/ui/abi/sparcv8plus.sparcv8plus.stderr | 2 +-
11 files changed, 92 insertions(+), 9 deletions(-)
create mode 100644 tests/ui/abi/sparcv8plus-llvm19.rs
create mode 100644 tests/ui/abi/sparcv8plus-llvm19.sparc.stderr
create mode 100644 tests/ui/abi/sparcv8plus-llvm19.sparc_cpu_v9.stderr
create mode 100644 tests/ui/abi/sparcv8plus-llvm19.sparc_cpu_v9_feature_v8plus.stderr
create mode 100644 tests/ui/abi/sparcv8plus-llvm19.sparc_feature_v8plus.stderr
create mode 100644 tests/ui/abi/sparcv8plus-llvm19.sparcv8plus.stderr
diff --git a/tests/ui/abi/sparcv8plus-llvm19.rs b/tests/ui/abi/sparcv8plus-llvm19.rs
new file mode 100644
index 0000000000000..a884e5ca06f10
--- /dev/null
+++ b/tests/ui/abi/sparcv8plus-llvm19.rs
@@ -0,0 +1,43 @@
+//@ revisions: sparc sparcv8plus sparc_cpu_v9 sparc_feature_v8plus sparc_cpu_v9_feature_v8plus
+//@[sparc] compile-flags: --target sparc-unknown-none-elf
+//@[sparc] needs-llvm-components: sparc
+//@[sparcv8plus] compile-flags: --target sparc-unknown-linux-gnu
+//@[sparcv8plus] needs-llvm-components: sparc
+//@[sparc_cpu_v9] compile-flags: --target sparc-unknown-none-elf -C target-cpu=v9
+//@[sparc_cpu_v9] needs-llvm-components: sparc
+//@[sparc_feature_v8plus] compile-flags: --target sparc-unknown-none-elf -C target-feature=+v8plus
+//@[sparc_feature_v8plus] needs-llvm-components: sparc
+//@[sparc_cpu_v9_feature_v8plus] compile-flags: --target sparc-unknown-none-elf -C target-cpu=v9 -C target-feature=+v8plus
+//@[sparc_cpu_v9_feature_v8plus] needs-llvm-components: sparc
+//@ exact-llvm-major-version: 19
+
+#![crate_type = "rlib"]
+#![feature(no_core, rustc_attrs, lang_items)]
+#![no_core]
+
+#[lang = "sized"]
+trait Sized {}
+#[lang = "copy"]
+trait Copy {}
+
+#[rustc_builtin_macro]
+macro_rules! compile_error {
+ () => {};
+}
+
+#[cfg(all(not(target_feature = "v8plus"), not(target_feature = "v9")))]
+compile_error!("-v8plus,-v9");
+//[sparc]~^ ERROR -v8plus,-v9
+
+// FIXME: sparc_cpu_v9 should be in "-v8plus,+v9" group (fixed in LLVM 20)
+#[cfg(all(target_feature = "v8plus", target_feature = "v9"))]
+compile_error!("+v8plus,+v9");
+//[sparcv8plus,sparc_cpu_v9_feature_v8plus,sparc_cpu_v9]~^ ERROR +v8plus,+v9
+
+// FIXME: should be rejected
+#[cfg(all(target_feature = "v8plus", not(target_feature = "v9")))]
+compile_error!("+v8plus,-v9 (FIXME)");
+//[sparc_feature_v8plus]~^ ERROR +v8plus,-v9 (FIXME)
+
+#[cfg(all(not(target_feature = "v8plus"), target_feature = "v9"))]
+compile_error!("-v8plus,+v9");
diff --git a/tests/ui/abi/sparcv8plus-llvm19.sparc.stderr b/tests/ui/abi/sparcv8plus-llvm19.sparc.stderr
new file mode 100644
index 0000000000000..7eedf26135f54
--- /dev/null
+++ b/tests/ui/abi/sparcv8plus-llvm19.sparc.stderr
@@ -0,0 +1,8 @@
+error: -v8plus,-v9
+ --> $DIR/sparcv8plus-llvm19.rs:29:1
+ |
+LL | compile_error!("-v8plus,-v9");
+ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+error: aborting due to 1 previous error
+
diff --git a/tests/ui/abi/sparcv8plus-llvm19.sparc_cpu_v9.stderr b/tests/ui/abi/sparcv8plus-llvm19.sparc_cpu_v9.stderr
new file mode 100644
index 0000000000000..ac61df3567808
--- /dev/null
+++ b/tests/ui/abi/sparcv8plus-llvm19.sparc_cpu_v9.stderr
@@ -0,0 +1,8 @@
+error: +v8plus,+v9
+ --> $DIR/sparcv8plus-llvm19.rs:34:1
+ |
+LL | compile_error!("+v8plus,+v9");
+ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+error: aborting due to 1 previous error
+
diff --git a/tests/ui/abi/sparcv8plus-llvm19.sparc_cpu_v9_feature_v8plus.stderr b/tests/ui/abi/sparcv8plus-llvm19.sparc_cpu_v9_feature_v8plus.stderr
new file mode 100644
index 0000000000000..ac61df3567808
--- /dev/null
+++ b/tests/ui/abi/sparcv8plus-llvm19.sparc_cpu_v9_feature_v8plus.stderr
@@ -0,0 +1,8 @@
+error: +v8plus,+v9
+ --> $DIR/sparcv8plus-llvm19.rs:34:1
+ |
+LL | compile_error!("+v8plus,+v9");
+ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+error: aborting due to 1 previous error
+
diff --git a/tests/ui/abi/sparcv8plus-llvm19.sparc_feature_v8plus.stderr b/tests/ui/abi/sparcv8plus-llvm19.sparc_feature_v8plus.stderr
new file mode 100644
index 0000000000000..1bf7a3ad76a83
--- /dev/null
+++ b/tests/ui/abi/sparcv8plus-llvm19.sparc_feature_v8plus.stderr
@@ -0,0 +1,8 @@
+error: +v8plus,-v9 (FIXME)
+ --> $DIR/sparcv8plus-llvm19.rs:39:1
+ |
+LL | compile_error!("+v8plus,-v9 (FIXME)");
+ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+error: aborting due to 1 previous error
+
diff --git a/tests/ui/abi/sparcv8plus-llvm19.sparcv8plus.stderr b/tests/ui/abi/sparcv8plus-llvm19.sparcv8plus.stderr
new file mode 100644
index 0000000000000..ac61df3567808
--- /dev/null
+++ b/tests/ui/abi/sparcv8plus-llvm19.sparcv8plus.stderr
@@ -0,0 +1,8 @@
+error: +v8plus,+v9
+ --> $DIR/sparcv8plus-llvm19.rs:34:1
+ |
+LL | compile_error!("+v8plus,+v9");
+ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+error: aborting due to 1 previous error
+
diff --git a/tests/ui/abi/sparcv8plus.rs b/tests/ui/abi/sparcv8plus.rs
index 108279b34949b..a78ae0cd32889 100644
--- a/tests/ui/abi/sparcv8plus.rs
+++ b/tests/ui/abi/sparcv8plus.rs
@@ -9,7 +9,7 @@
//@[sparc_feature_v8plus] needs-llvm-components: sparc
//@[sparc_cpu_v9_feature_v8plus] compile-flags: --target sparc-unknown-none-elf -C target-cpu=v9 -C target-feature=+v8plus
//@[sparc_cpu_v9_feature_v8plus] needs-llvm-components: sparc
-//@ min-llvm-version: 19
+//@ min-llvm-version: 20
#![crate_type = "rlib"]
#![feature(no_core, rustc_attrs, lang_items)]
@@ -29,10 +29,9 @@ macro_rules! compile_error {
compile_error!("-v8plus,-v9");
//[sparc]~^ ERROR -v8plus,-v9
-// FIXME: sparc_cpu_v9 should be in "-v8plus,+v9" group (fixed in LLVM 20)
#[cfg(all(target_feature = "v8plus", target_feature = "v9"))]
compile_error!("+v8plus,+v9");
-//[sparcv8plus,sparc_cpu_v9_feature_v8plus,sparc_cpu_v9]~^ ERROR +v8plus,+v9
+//[sparcv8plus,sparc_cpu_v9_feature_v8plus]~^ ERROR +v8plus,+v9
// FIXME: should be rejected
#[cfg(all(target_feature = "v8plus", not(target_feature = "v9")))]
@@ -41,3 +40,4 @@ compile_error!("+v8plus,-v9 (FIXME)");
#[cfg(all(not(target_feature = "v8plus"), target_feature = "v9"))]
compile_error!("-v8plus,+v9");
+//[sparc_cpu_v9]~^ ERROR -v8plus,+v9
diff --git a/tests/ui/abi/sparcv8plus.sparc_cpu_v9.stderr b/tests/ui/abi/sparcv8plus.sparc_cpu_v9.stderr
index 5e1e1fa5c798f..00fd7ef4ea8fb 100644
--- a/tests/ui/abi/sparcv8plus.sparc_cpu_v9.stderr
+++ b/tests/ui/abi/sparcv8plus.sparc_cpu_v9.stderr
@@ -1,7 +1,7 @@
-error: +v8plus,+v9
- --> $DIR/sparcv8plus.rs:34:1
+error: -v8plus,+v9
+ --> $DIR/sparcv8plus.rs:42:1
|
-LL | compile_error!("+v8plus,+v9");
+LL | compile_error!("-v8plus,+v9");
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: aborting due to 1 previous error
diff --git a/tests/ui/abi/sparcv8plus.sparc_cpu_v9_feature_v8plus.stderr b/tests/ui/abi/sparcv8plus.sparc_cpu_v9_feature_v8plus.stderr
index 5e1e1fa5c798f..a3c74e67f8f11 100644
--- a/tests/ui/abi/sparcv8plus.sparc_cpu_v9_feature_v8plus.stderr
+++ b/tests/ui/abi/sparcv8plus.sparc_cpu_v9_feature_v8plus.stderr
@@ -1,5 +1,5 @@
error: +v8plus,+v9
- --> $DIR/sparcv8plus.rs:34:1
+ --> $DIR/sparcv8plus.rs:33:1
|
LL | compile_error!("+v8plus,+v9");
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
diff --git a/tests/ui/abi/sparcv8plus.sparc_feature_v8plus.stderr b/tests/ui/abi/sparcv8plus.sparc_feature_v8plus.stderr
index 8a5375a46bc05..84f560d158ca9 100644
--- a/tests/ui/abi/sparcv8plus.sparc_feature_v8plus.stderr
+++ b/tests/ui/abi/sparcv8plus.sparc_feature_v8plus.stderr
@@ -1,5 +1,5 @@
error: +v8plus,-v9 (FIXME)
- --> $DIR/sparcv8plus.rs:39:1
+ --> $DIR/sparcv8plus.rs:38:1
|
LL | compile_error!("+v8plus,-v9 (FIXME)");
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
diff --git a/tests/ui/abi/sparcv8plus.sparcv8plus.stderr b/tests/ui/abi/sparcv8plus.sparcv8plus.stderr
index 5e1e1fa5c798f..a3c74e67f8f11 100644
--- a/tests/ui/abi/sparcv8plus.sparcv8plus.stderr
+++ b/tests/ui/abi/sparcv8plus.sparcv8plus.stderr
@@ -1,5 +1,5 @@
error: +v8plus,+v9
- --> $DIR/sparcv8plus.rs:34:1
+ --> $DIR/sparcv8plus.rs:33:1
|
LL | compile_error!("+v8plus,+v9");
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
From 2718710d4a505019c46ccc7db42d890f230de25e Mon Sep 17 00:00:00 2001
From: Nikita Popov <npopov@redhat.com>
Date: Mon, 20 Jan 2025 12:08:27 +0100
Subject: [PATCH 2/2] Fix x86_64-bigint-helpers test on LLVM 20
LLVM 20 choses a different unroll factor for the loop.
---
tests/assembly/x86_64-bigint-helpers.rs | 19 +++++++++++++------
1 file changed, 13 insertions(+), 6 deletions(-)
diff --git a/tests/assembly/x86_64-bigint-helpers.rs b/tests/assembly/x86_64-bigint-helpers.rs
index 198e554353909..3ad253a2bd0fe 100644
--- a/tests/assembly/x86_64-bigint-helpers.rs
+++ b/tests/assembly/x86_64-bigint-helpers.rs
@@ -2,6 +2,9 @@
//@ assembly-output: emit-asm
//@ compile-flags: --crate-type=lib -O -C target-cpu=x86-64-v4
//@ compile-flags: -C llvm-args=-x86-asm-syntax=intel
+//@ revisions: llvm-pre-20 llvm-20
+//@ [llvm-20] min-llvm-version: 20
+//@ [llvm-pre-20] max-llvm-major-version: 19
#![no_std]
#![feature(bigint_helper_methods)]
@@ -20,12 +23,16 @@ pub unsafe extern "sysv64" fn bigint_chain_carrying_add(
n: usize,
mut carry: bool,
) -> bool {
- // CHECK: mov [[TEMP:r..]], qword ptr [rsi + 8*[[IND:r..]] + 8]
- // CHECK: adc [[TEMP]], qword ptr [rdx + 8*[[IND]] + 8]
- // CHECK: mov qword ptr [rdi + 8*[[IND]] + 8], [[TEMP]]
- // CHECK: mov [[TEMP]], qword ptr [rsi + 8*[[IND]] + 16]
- // CHECK: adc [[TEMP]], qword ptr [rdx + 8*[[IND]] + 16]
- // CHECK: mov qword ptr [rdi + 8*[[IND]] + 16], [[TEMP]]
+ // llvm-pre-20: mov [[TEMP:r..]], qword ptr [rsi + 8*[[IND:r..]] + 8]
+ // llvm-pre-20: adc [[TEMP]], qword ptr [rdx + 8*[[IND]] + 8]
+ // llvm-pre-20: mov qword ptr [rdi + 8*[[IND]] + 8], [[TEMP]]
+ // llvm-pre-20: mov [[TEMP]], qword ptr [rsi + 8*[[IND]] + 16]
+ // llvm-pre-20: adc [[TEMP]], qword ptr [rdx + 8*[[IND]] + 16]
+ // llvm-pre-20: mov qword ptr [rdi + 8*[[IND]] + 16], [[TEMP]]
+ // llvm-20: adc [[TEMP:r..]], qword ptr [rdx + 8*[[IND:r..]]]
+ // llvm-20: mov qword ptr [rdi + 8*[[IND]]], [[TEMP]]
+ // llvm-20: mov [[TEMP]], qword ptr [rsi + 8*[[IND]] + 8]
+ // llvm-20: adc [[TEMP]], qword ptr [rdx + 8*[[IND]] + 8]
for i in 0..n {
(*dest.add(i), carry) = u64::carrying_add(*src1.add(i), *src2.add(i), carry);
}

View File

@ -18,9 +18,9 @@
book does not and will not go over how to get that support. However, you
can figure out how to get that support by looking at another project the
GLFS development team works on:
<ulink url="&lfs-qol-website;">LFS QOL</ulink>. The
<ulink url="&slfs-website;">SLFS</ulink>. The
specific section you will want to see to get that support is
<ulink url="&lfs-qol-website;/binary/binary.html">
<ulink url="&slfs-website;/binary/binary.html">
Binary Support</ulink>.
</para>

View File

@ -168,7 +168,7 @@
include <ulink url="https://awesomewm.org/">AwesomeWM</ulink>,
<ulink url="https://github.com/baskerville/bspwm">BSPWM</ulink>,
<ulink url="https://dwm.suckless.org/">DWM</ulink>, and
<ulink url="&lfs-qol-website;/wm/i3.html">i3</ulink>.
<ulink url="&slfs-website;/wm/i3.html">i3</ulink>.
In order to start your chosen window manager, add the following line
to <filename>~/.xinitrc</filename>:
</para>
@ -327,9 +327,9 @@
<para>
Native <application>Wayland</application> compositors include
<ulink url="&lfs-qol-website;/wm/hypr.html">Hyprland</ulink>,
<ulink url="&slfs-website;/wm/hypr.html">Hyprland</ulink>,
<ulink url="https://github.com/swaywm/sway">Sway</ulink>, and
<ulink url="&lfs-qol-website;/wm/wf.html">Wayfire</ulink>.
<ulink url="&slfs-website;/wm/wf.html">Wayfire</ulink>.
In order to start these compositors, you can start them by using
a display manager or simply running their binary.
</para>

View File

@ -146,7 +146,7 @@ chown -v root:root /usr/bin/which</userinput></screen>
Some build systems
<footnote><para>
A notable example is <ulink
url="&lfs-qol-website;/svr4/pkgsuite.html">pkgsuite</ulink>.
url="&slfs-website;/svr4/pkgsuite.html">pkgsuite</ulink>.
</para></footnote> expect <command>which</command> to support options
which can alter the string of the file path of a given program. This
installation can therefore trip up those build systems. If in doubt,

View File

@ -49,7 +49,7 @@
</para>
<bridgehead renderas="sect4">Optional</bridgehead>
<para role="optional">
<ulink url="&lfs-qol-website;/general/ncompress.html">ncompress</ulink>
<ulink url="&slfs-website;/general/ncompress.html">ncompress</ulink>
(for some tests) and
<ulink url="&w3m-url;">W3m</ulink> (to generate additional PDF or text
documentation for the libXfont package).

View File

@ -53,9 +53,9 @@
<application>CMake</application> build systems. For this book and in
BLFS, you shouldn't run into any of those issues unless you wish to use
<xref linkend="nvidia"/>, which specifically requires <xref
linkend="libglvnd"/>. LFS-QOL aims to work around issues that arise from
linkend="libglvnd"/>. SLFS aims to work around issues that arise from
packages having stubborn build systems, like in the case of <ulink
url="&lfs-qol-website;/general/obs-studio.html">OBS-Studio</ulink>.
url="&slfs-website;/general/obs-studio.html">OBS-Studio</ulink>.
For binary-only packages, it is generally hit or miss whether the
developers link against new or legacy OpenGL. A gaming example is with
ports and recompilations: the binary for <ulink

View File

@ -73,7 +73,7 @@
<bridgehead renderas="sect4">Optional</bridgehead>
<para role="optional">
<ulink url="&lfs-qol-website;/general/mesa-demos.html">Mesa-Demos</ulink>
<ulink url="&slfs-website;/general/mesa-demos.html">Mesa-Demos</ulink>
(provides more than 300 demos to test drivers)
</para>

View File

@ -290,7 +290,7 @@ ldconfig</userinput></screen>
This switch enables building for x86, the same target as the host, for
the r600 AMD GPU used by the <xref linkend="mesa"/> r600 and radeonsi
drivers, as well as NVIDIA GPUs used in tandem with <ulink
url="&lfs-qol-website;/general/cuda.html">CUDA</ulink>. The default is
url="&slfs-website;/general/cuda.html">CUDA</ulink>. The default is
all of the targets. You can use a semicolon separated list. Valid targets
are: host, AArch64, AMDGPU, ARM, AVR, BPF, Hexagon, Lanai, LoongArch,
Mips, MSP430, NVPTX, PowerPC, RISCV, Sparc, SystemZ, SystemZ, VE,

View File

@ -161,7 +161,7 @@
<!-- for libsensors according to Meson -->
<xref linkend="nettle"/>,
<ulink url="&blfs-svn;/general/valgrind.html">valgrind</ulink>,
<ulink url="&lfs-qol-website;/general/mesa-demos.html">Mesa-Demos</ulink>
<ulink url="&slfs-website;/general/mesa-demos.html">Mesa-Demos</ulink>
(provides more than 300 demos to test <application>Mesa</application>),
<ulink url="https://omxilurceforge.net/">Bellagio OpenMAX Integration
Layer</ulink> (for mobile platforms), and

View File

@ -63,7 +63,7 @@
<itemizedlist spacing="compact">
<listitem>
<para>
<ulink url="&lfs-qol-website;/general/cuda.html">CUDA</ulink>
<ulink url="&slfs-website;/general/cuda.html">CUDA</ulink>
(for NVENC, NVDEC, Optical Flow, and other hardware
acceleration not provided by VDPAU; install after following this
page)
@ -191,7 +191,7 @@ cd NVIDIA-Linux-x86_64-&nvidia-version;</userinput></screen>
There will be 5 or 6 kernel modules that will be built. Depending on your
use case, you can skip building a module or two. The UVM (Unified Virtual
Memory) module is for use with <ulink
url="&lfs-qol-website;/general/cuda.html">CUDA</ulink>. If you won't use
url="&slfs-website;/general/cuda.html">CUDA</ulink>. If you won't use
it, nor wish to use its capabilities, you can skip building the UVM
kernel module. There is also the PeerMem module which is for datacenters.
For gaming, it can safely be disabled.
@ -678,7 +678,7 @@ EOF</userinput></screen>
<para>
Add to the script if you want to use <ulink
url="&lfs-qol-website;/general/cuda.html">CUDA</ulink> or applications
url="&slfs-website;/general/cuda.html">CUDA</ulink> or applications
that use it.
</para>
@ -774,7 +774,7 @@ EOF</userinput></screen>
</sect3>
<!-- Maybe should be in LFS-QOL? -->
<!-- Maybe should be in SLFS? -->
<sect3>
<title>NVIDIA-Settings</title>

View File

@ -93,8 +93,8 @@
<bridgehead renderas="sect4">Optional for systems with NVIDIA</bridgehead>
<para role="optional">
<ulink url="&lfs-qol-website;/general/cuda.html">CUDA</ulink> and
<ulink url="&lfs-qol-website;/general/nv-codec-headers.html">nv-codec-headers</ulink>
<ulink url="&slfs-website;/general/cuda.html">CUDA</ulink> and
<ulink url="&slfs-website;/general/nv-codec-headers.html">nv-codec-headers</ulink>
</para>
<bridgehead renderas="sect4">Optional</bridgehead>