diff --git a/.gitignore b/.gitignore index 9d53370..2a1708a 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -SOURCES/Vulkan-Loader-sdk-1.2.189.0.tar.gz +SOURCES/Vulkan-Loader-sdk-1.2.198.0.tar.gz diff --git a/.vulkan-loader.metadata b/.vulkan-loader.metadata index 63db359..8bcb4bb 100644 --- a/.vulkan-loader.metadata +++ b/.vulkan-loader.metadata @@ -1 +1 @@ -0718410436d9c60d6b2041f9e11a72ebc79f4f4d SOURCES/Vulkan-Loader-sdk-1.2.189.0.tar.gz +74667806bfdf8ee66f87f411eda63ae29486062a SOURCES/Vulkan-Loader-sdk-1.2.198.0.tar.gz 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/SOURCES/add-notes.patch b/SOURCES/add-notes.patch index 2afd553..82d3c76 100644 --- a/SOURCES/add-notes.patch +++ b/SOURCES/add-notes.patch @@ -1,12 +1,12 @@ -diff -up Vulkan-Loader-sdk-1.1.114.0/loader/CMakeLists.txt.da Vulkan-Loader-sdk-1.1.114.0/loader/CMakeLists.txt ---- Vulkan-Loader-sdk-1.1.114.0/loader/CMakeLists.txt.da 2019-08-08 11:12:09.817782355 +1000 -+++ Vulkan-Loader-sdk-1.1.114.0/loader/CMakeLists.txt 2019-08-08 11:13:10.812416417 +1000 -@@ -149,7 +149,7 @@ elseif(APPLE) - add_custom_target(loader_asm_gen_files) # This causes no assembly files to be generated. - else(UNIX AND NOT APPLE) # i.e.: Linux - enable_language(ASM) -- set(CMAKE_ASM_FLAGS "${CMAKE_C_FLAGS}") -+ set(CMAKE_ASM_FLAGS "${CMAKE_C_FLAGS} -Wa,--generate-missing-build-notes=yes") +diff -up Vulkan-Loader-sdk-1.2.198.0/loader/CMakeLists.txt.da Vulkan-Loader-sdk-1.2.198.0/loader/CMakeLists.txt +--- Vulkan-Loader-sdk-1.2.198.0/loader/CMakeLists.txt.da 2021-12-01 17:26:35.417505993 +1000 ++++ Vulkan-Loader-sdk-1.2.198.0/loader/CMakeLists.txt 2021-12-01 17:26:52.270963997 +1000 +@@ -221,7 +221,7 @@ else(UNIX AND NOT APPLE) # i.e.: Linux + if(USE_GAS) + enable_language(ASM) - check_include_file("cet.h" HAVE_CET_H) - if(HAVE_CET_H) +- set(CMAKE_ASM_FLAGS "${CMAKE_C_FLAGS}") ++ set(CMAKE_ASM_FLAGS "${CMAKE_C_FLAGS} -Wa,--generate-missing-build-notes=yes") + set(CMAKE_TRY_COMPILE_TARGET_TYPE STATIC_LIBRARY) + + if (${CMAKE_HOST_SYSTEM_PROCESSOR} STREQUAL "aarch64") diff --git a/SPECS/vulkan-loader.spec b/SPECS/vulkan-loader.spec index e2e11f2..632bb8c 100644 --- a/SPECS/vulkan-loader.spec +++ b/SPECS/vulkan-loader.spec @@ -1,6 +1,6 @@ Name: vulkan-loader -Version: 1.2.189.0 -Release: 1%{?dist} +Version: 1.2.198.0 +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,12 @@ 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 + * Wed Sep 08 2021 Dave Airlie - 1.2.189.0-1 - Update to 1.2.189.0