Accepting request 749849 from home:dimstar:Factory

- Add 174.patch
  (https://patch-diff.githubusercontent.com/raw/linuxwacom/libwacom/pull/174.patch):
  + Disable deprecated symbol test when using LTO.

OBS-URL: https://build.opensuse.org/request/show/749849
OBS-URL: https://build.opensuse.org/package/show/hardware/libwacom?expand=0&rev=9
This commit is contained in:
Tomáš Chvátal 2019-11-20 10:44:19 +00:00 committed by Git OBS Bridge
parent 1550a2ed53
commit aa3b36e39a
3 changed files with 61 additions and 0 deletions

52
174.patch Normal file
View File

@ -0,0 +1,52 @@
From b81ab0fec2273f2ff20664660fe5e9b58dc67a9c Mon Sep 17 00:00:00 2001
From: Peter Hutterer <peter.hutterer@who-t.net>
Date: Mon, 4 Nov 2019 14:55:24 +1000
Subject: [PATCH] meson.build: disable the deprecated symbols test with LTO
If I understand this correctly:
- our deprecated symbols are remapped into a specific library version
- nothing in the test calls those symbols, so they're optimized away (they end
up as local symbols)
- our test uses asm to link to those functions but by then they're already
gone
Rather than fixing this let's just disable the test, it doesn't provide us
with anything useful in the LTO condition anyway.
Fixes #152
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
---
meson.build | 19 ++++++++++++-------
1 file changed, 12 insertions(+), 7 deletions(-)
diff --git a/meson.build b/meson.build
index 8283613..28d93a3 100644
--- a/meson.build
+++ b/meson.build
@@ -543,13 +543,18 @@ if get_option('tests')
message('valgrind not found, disabling valgrind test suite')
endif
- test_deprecated = executable('test-deprecated',
- 'test/test-deprecated.c',
- dependencies: [dep_libwacom, dep_dl],
- include_directories: [includes_src],
- c_args: tests_cflags,
- install: false)
- test('test-deprecated', test_deprecated, suite: ['all'])
+ # because of the tricks we use in calling the function and exposing
+ # it to begin with, LTO gets confused and this fails to link.
+ # Let's just disable it here.
+ if not get_option('b_lto')
+ test_deprecated = executable('test-deprecated',
+ 'test/test-deprecated.c',
+ dependencies: [dep_libwacom, dep_dl],
+ include_directories: [includes_src],
+ c_args: tests_cflags,
+ install: false)
+ test('test-deprecated', test_deprecated, suite: ['all'])
+ endif
endif
# This is a non-optional test

View File

@ -1,3 +1,10 @@
-------------------------------------------------------------------
Wed Nov 20 10:06:24 UTC 2019 - Dominique Leuenberger <dimstar@opensuse.org>
- Add 174.patch
(https://patch-diff.githubusercontent.com/raw/linuxwacom/libwacom/pull/174.patch):
+ Disable deprecated symbol test when using LTO.
------------------------------------------------------------------- -------------------------------------------------------------------
Thu Nov 14 00:46:28 UTC 2019 - Michael Gorse <mgorse@suse.com> Thu Nov 14 00:46:28 UTC 2019 - Michael Gorse <mgorse@suse.com>

View File

@ -32,6 +32,7 @@ Source: https://github.com/linuxwacom/libwacom/releases/download/%{name}
Source2: https://github.com/linuxwacom/libwacom/releases/download/%{name}-%{version}/%{name}-%{version}.tar.bz2.sig Source2: https://github.com/linuxwacom/libwacom/releases/download/%{name}-%{version}/%{name}-%{version}.tar.bz2.sig
Source3: %{name}.keyring Source3: %{name}.keyring
Source99: baselibs.conf Source99: baselibs.conf
Patch0: https://patch-diff.githubusercontent.com/raw/linuxwacom/libwacom/pull/174.patch
%if %{with meson} %if %{with meson}
BuildRequires: meson >= 0.47.0 BuildRequires: meson >= 0.47.0
%endif %endif
@ -85,6 +86,7 @@ built-in on-screen tablet", "what is the size of this model", etc.
%prep %prep
%setup -q %setup -q
%patch0 -p1
%build %build
%if %{with meson} %if %{with meson}