diff --git a/SOURCES/0001-loader-aarch64-attempt-to-avoid-text-relocations-in-.patch b/SOURCES/0001-loader-aarch64-attempt-to-avoid-text-relocations-in-.patch new file mode 100644 index 0000000..98e7623 --- /dev/null +++ b/SOURCES/0001-loader-aarch64-attempt-to-avoid-text-relocations-in-.patch @@ -0,0 +1,34 @@ +From fb93d3ff8b63bdfdf88a8f25a715f816a52d5dd8 Mon Sep 17 00:00:00 2001 +From: Dave Airlie +Date: Mon, 13 Dec 2021 14:50:06 +1000 +Subject: [PATCH] loader/aarch64: attempt to avoid text relocations in the + unknown code + +The commit below added a TEXTREL into the loader library, TEXTRELs +and security people don't get on well, so we'd like to avoid that. + +This is my attempt at fixing it, I'm not an aarch64 expert at all, +so I'd really appreciate someone who is to take a look. + +Fixes: 4f78f14c0533 ("loader: Add aarch64 unknown ext chain implementation") +--- + loader/unknown_ext_chain_gas_aarch64.S | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/loader/unknown_ext_chain_gas_aarch64.S b/loader/unknown_ext_chain_gas_aarch64.S +index 1e065007d..a1fa46205 100644 +--- a/loader/unknown_ext_chain_gas_aarch64.S ++++ b/loader/unknown_ext_chain_gas_aarch64.S +@@ -50,7 +50,8 @@ terminError\num: + mov x0, x11 // Vulkan instance pointer (first arg) + mov x1, VK_DEBUG_REPORT_ERROR_BIT_EXT // The error logging bit (second arg) + mov x2, #0 // Zero (third arg) +- ldr x3, =termin_error_string // The error string (fourth arg) ++ adrp x9, termin_error_string ++ ldr x3, [x9, #:lo12:termin_error_string] // The error string (fourth arg) + ldr x4, [x11, x10] // The function name (fifth arg) + bl loader_log // Log the error message before we crash + mov x0, #0 +-- +2.33.1 + diff --git a/SPECS/vulkan-loader.spec b/SPECS/vulkan-loader.spec index 06218ce..632bb8c 100644 --- a/SPECS/vulkan-loader.spec +++ b/SPECS/vulkan-loader.spec @@ -1,6 +1,6 @@ Name: vulkan-loader Version: 1.2.198.0 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Vulkan ICD desktop loader License: ASL 2.0 @@ -10,6 +10,8 @@ Source0: %url/archive/sdk-%{version}.tar.gz#/Vulkan-Loader-sdk-%{version} # hard code adding notes to the one asm file compilation. Patch1: add-notes.patch +Patch2: 0001-loader-aarch64-attempt-to-avoid-text-relocations-in-.patch + BuildRequires: gcc BuildRequires: gcc-c++ BuildRequires: cmake @@ -94,6 +96,9 @@ mkdir -p %{buildroot}%{_sysconfdir}/vulkan/{explicit,implicit}_layer.d/ \ %changelog +* Mon Dec 13 2021 Dave Airlie - 1.2.198.0-2 +- Fix aarch64 TEXTREL + * Wed Dec 01 2021 Dave Airlie - 1.2.198.0-1 - Update to 1.2.198.0