forked from pool/libglvnd
Accepting request 1007419 from home:dirkmueller:Factory
- update to 1.5.0: * Add BTI landing pads for aarch64 * Set current thread state to NULL in teardown * Moving setspecific to before DestroyThreadState * Fix a memory leak in libGLdispatch * Use assembly stubs on armv6 - drop libglvnd-add-bti.patch (upstream) OBS-URL: https://build.opensuse.org/request/show/1007419 OBS-URL: https://build.opensuse.org/package/show/X11:XOrg/libglvnd?expand=0&rev=65
This commit is contained in:
parent
c0e8d2f391
commit
e44363041d
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:1eb5c2be8d213ad5d31cfb4efbb331d42f3d9f5617c885ce7e89f572ec2bb4b8
|
|
||||||
size 838573
|
|
3
libglvnd-1.5.0.tar.gz
Normal file
3
libglvnd-1.5.0.tar.gz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:abdf8229c86358f651e35bdc7cfced0fdf67d0a2acdf9197d08a9732ef7b53bc
|
||||||
|
size 840868
|
@ -1,44 +0,0 @@
|
|||||||
From 7107f739398cd96600b039fd748cb1c4822bb400 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Guillaume Gardet <guillaume.gardet@arm.com>
|
|
||||||
Date: Fri, 21 Jan 2022 09:26:07 +0100
|
|
||||||
Subject: [PATCH] Add BTI landing pads for aarch64
|
|
||||||
|
|
||||||
When Branch Target Identifier (BTI) is enabled on aarch64,
|
|
||||||
any software which run libglvnd will fail with SIGILL, Illegal instruction.
|
|
||||||
This is because some assembler code misses the BTI landing pads.
|
|
||||||
See: https://developer.arm.com/documentation/102433/0100/Jump-oriented-programming
|
|
||||||
|
|
||||||
"hint #34" is the same thing as "BTI C" landing pad, but keep
|
|
||||||
compatibility with systems without BTI enabled.
|
|
||||||
---
|
|
||||||
src/GLX/glvnd_genentry.c | 1 +
|
|
||||||
src/GLdispatch/vnd-glapi/entry_aarch64_tsd.c | 1 +
|
|
||||||
2 files changed, 2 insertions(+)
|
|
||||||
|
|
||||||
diff --git a/src/GLX/glvnd_genentry.c b/src/GLX/glvnd_genentry.c
|
|
||||||
index 7bbe811..b82aa14 100644
|
|
||||||
--- a/src/GLX/glvnd_genentry.c
|
|
||||||
+++ b/src/GLX/glvnd_genentry.c
|
|
||||||
@@ -90,6 +90,7 @@ extern char glx_entrypoint_end[];
|
|
||||||
|
|
||||||
#define STUB_SIZE 16
|
|
||||||
#define STUB_ASM_ARCH(slot) \
|
|
||||||
+ "hint #34\n" \
|
|
||||||
"adrp x16, entrypointFunctions + " slot "*8\n" \
|
|
||||||
"ldr x16, [x16, #:lo12:(entrypointFunctions + " slot "*8)]\n" \
|
|
||||||
"br x16\n"
|
|
||||||
diff --git a/src/GLdispatch/vnd-glapi/entry_aarch64_tsd.c b/src/GLdispatch/vnd-glapi/entry_aarch64_tsd.c
|
|
||||||
index ae80131..a4652e0 100644
|
|
||||||
--- a/src/GLdispatch/vnd-glapi/entry_aarch64_tsd.c
|
|
||||||
+++ b/src/GLdispatch/vnd-glapi/entry_aarch64_tsd.c
|
|
||||||
@@ -69,6 +69,7 @@
|
|
||||||
* table then does a branch without link to the function address.
|
|
||||||
*/
|
|
||||||
#define STUB_ASM_CODE(slot) \
|
|
||||||
+ "hint #34\n\t" \
|
|
||||||
"stp x1, x0, [sp, #-16]!\n\t" \
|
|
||||||
"adrp x0, :got:_glapi_Current\n\t" \
|
|
||||||
"ldr x0, [x0, #:got_lo12:_glapi_Current]\n\t" \
|
|
||||||
--
|
|
||||||
2.35.1
|
|
||||||
|
|
@ -1,3 +1,14 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Sat Oct 1 11:15:04 UTC 2022 - Dirk Müller <dmueller@suse.com>
|
||||||
|
|
||||||
|
- update to 1.5.0:
|
||||||
|
* Add BTI landing pads for aarch64
|
||||||
|
* Set current thread state to NULL in teardown
|
||||||
|
* Moving setspecific to before DestroyThreadState
|
||||||
|
* Fix a memory leak in libGLdispatch
|
||||||
|
* Use assembly stubs on armv6
|
||||||
|
- drop libglvnd-add-bti.patch (upstream)
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Thu Jul 14 12:09:50 UTC 2022 - Stefan Dirsch <sndirsch@suse.com>
|
Thu Jul 14 12:09:50 UTC 2022 - Stefan Dirsch <sndirsch@suse.com>
|
||||||
|
|
||||||
|
@ -19,7 +19,7 @@
|
|||||||
# Please submit bugfixes or comments via http://bugs.opensuse.org/
|
# Please submit bugfixes or comments via http://bugs.opensuse.org/
|
||||||
#
|
#
|
||||||
Name: libglvnd
|
Name: libglvnd
|
||||||
Version: 1.4.0
|
Version: 1.5.0
|
||||||
Release: 0
|
Release: 0
|
||||||
Summary: The GL Vendor-Neutral Dispatch library
|
Summary: The GL Vendor-Neutral Dispatch library
|
||||||
License: MIT
|
License: MIT
|
||||||
@ -29,8 +29,6 @@ Source: https://github.com/NVIDIA/libglvnd/archive/v%{version}.tar.gz#/%
|
|||||||
Source1: baselibs.conf
|
Source1: baselibs.conf
|
||||||
Source2: libglvnd.rpmlintrc
|
Source2: libglvnd.rpmlintrc
|
||||||
Patch1: disable-glx-tests.patch
|
Patch1: disable-glx-tests.patch
|
||||||
# PATCH-FIX-UPSTREAM - https://gitlab.freedesktop.org/glvnd/libglvnd/-/merge_requests/262
|
|
||||||
Patch2: libglvnd-add-bti.patch
|
|
||||||
BuildRequires: autoconf
|
BuildRequires: autoconf
|
||||||
BuildRequires: automake
|
BuildRequires: automake
|
||||||
BuildRequires: libtool
|
BuildRequires: libtool
|
||||||
@ -65,9 +63,7 @@ OpenGL ABI proposal. This package contains the required files for
|
|||||||
development.
|
development.
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -q
|
%autosetup -p1
|
||||||
%patch1 -p1
|
|
||||||
%patch2 -p1
|
|
||||||
# fix env shebang to call py3 directly
|
# fix env shebang to call py3 directly
|
||||||
sed -i -e "1s|#!.*|#!%{_bindir}/python3|" src/generate/*.py
|
sed -i -e "1s|#!.*|#!%{_bindir}/python3|" src/generate/*.py
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user