Compare commits
5 Commits
Author | SHA256 | Date | |
---|---|---|---|
|
56a97a1764 | ||
54057616e4 | |||
6ff43929b0 | |||
|
5e96e458ad | ||
d1a7e7ee12 |
54
U_xorg-xserver-e89edec497ba.patch
Normal file
54
U_xorg-xserver-e89edec497ba.patch
Normal file
@ -0,0 +1,54 @@
|
||||
From e89edec497bac581ca9b614fb00c25365580f045 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Jos=C3=A9=20Exp=C3=B3sito?= <jexposit@redhat.com>
|
||||
Date: Fri, 19 Jan 2024 13:05:51 +0100
|
||||
Subject: [PATCH] ephyr: Fix incompatible pointer type build error
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Fix a compilation error on 32 bits architectures with gcc 14:
|
||||
|
||||
ephyr_glamor_xv.c: In function ‘ephyr_glamor_xv_init’:
|
||||
ephyr_glamor_xv.c:154:31: error: assignment to ‘SetPortAttributeFuncPtr’ {aka ‘int (*)(struct _KdScreenInfo *, long unsigned int, int, void *)’} from incompatible pointer type ‘int (*)(KdScreenInfo *, Atom, INT32, void *)’ {aka ‘int (*)(struct _KdScreenInfo *, long unsigned int, long int, void *)’} [-Wincompatible-pointer-types]
|
||||
154 | adaptor->SetPortAttribute = ephyr_glamor_xv_set_port_attribute;
|
||||
| ^
|
||||
ephyr_glamor_xv.c:155:31: error: assignment to ‘GetPortAttributeFuncPtr’ {aka ‘int (*)(struct _KdScreenInfo *, long unsigned int, int *, void *)’} from incompatible pointer type ‘int (*)(KdScreenInfo *, Atom, INT32 *, void *)’ {aka ‘int (*)(struct _KdScreenInfo *, long unsigned int, long int *, void *)’} [-Wincompatible-pointer-types]
|
||||
155 | adaptor->GetPortAttribute = ephyr_glamor_xv_get_port_attribute;
|
||||
| ^
|
||||
|
||||
Build error logs:
|
||||
https://koji.fedoraproject.org/koji/taskinfo?taskID=111964273
|
||||
|
||||
Signed-off-by: José Expósito <jexposit@redhat.com>
|
||||
---
|
||||
hw/kdrive/ephyr/ephyr_glamor_xv.c | 8 ++++----
|
||||
1 file changed, 4 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/hw/kdrive/ephyr/ephyr_glamor_xv.c b/hw/kdrive/ephyr/ephyr_glamor_xv.c
|
||||
index 4dd15cf417..b5eae48c85 100644
|
||||
--- a/hw/kdrive/ephyr/ephyr_glamor_xv.c
|
||||
+++ b/hw/kdrive/ephyr/ephyr_glamor_xv.c
|
||||
@@ -50,16 +50,16 @@ ephyr_glamor_xv_stop_video(KdScreenInfo *screen, void *data, Bool cleanup)
|
||||
|
||||
static int
|
||||
ephyr_glamor_xv_set_port_attribute(KdScreenInfo *screen,
|
||||
- Atom attribute, INT32 value, void *data)
|
||||
+ Atom attribute, int value, void *data)
|
||||
{
|
||||
- return glamor_xv_set_port_attribute(data, attribute, value);
|
||||
+ return glamor_xv_set_port_attribute(data, attribute, (INT32)value);
|
||||
}
|
||||
|
||||
static int
|
||||
ephyr_glamor_xv_get_port_attribute(KdScreenInfo *screen,
|
||||
- Atom attribute, INT32 *value, void *data)
|
||||
+ Atom attribute, int *value, void *data)
|
||||
{
|
||||
- return glamor_xv_get_port_attribute(data, attribute, value);
|
||||
+ return glamor_xv_get_port_attribute(data, attribute, (INT32 *)value);
|
||||
}
|
||||
|
||||
static void
|
||||
--
|
||||
GitLab
|
||||
|
45
u_fbdevhw_kernel6.9_break_fbdev_open.patch
Normal file
45
u_fbdevhw_kernel6.9_break_fbdev_open.patch
Normal file
@ -0,0 +1,45 @@
|
||||
Linux kernel v6.9 has changed the symlink to point to the parent device.
|
||||
This breaks fbdev_open() detection logic. Change it to use the subsystem
|
||||
symlink instead which will remain stable.
|
||||
|
||||
Kernel v6.8:
|
||||
|
||||
[ 14.067] (II) fbdev_open() sysfs_path=/sys/class/graphics/fb0
|
||||
[ 14.067] (II) fbdev_open() buf=../../devices/platform/vesa-framebuffer.0/graphics/fb0
|
||||
|
||||
Kernel v6.9:
|
||||
|
||||
[ 15.609] (II) fbdev_open() sysfs_path=/sys/class/graphics/fb0
|
||||
[ 15.609] (II) fbdev_open() buf=../../devices/pci0000:00/0000:00:01.0/vesa-framebuffer.0/graphics/fb0
|
||||
|
||||
Originally found in automated Debian ISO QA testing [0] and confirmed in Linux [1].
|
||||
|
||||
Tested on kernels v6.9.7 and v6.8.12
|
||||
|
||||
[0] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=3D1075713
|
||||
[1] https://lore.kernel.org/lkml/lLyvPFC_APGHNfyGNHRpQy5izBikkaTPOpHooZIT3f=
|
||||
FAoJPquSI31ZMueA99XTdr8ysir3X7O7IMdc6za-0m79vr_claeparHhoRouVgHOI=3D@proton=
|
||||
.me/
|
||||
|
||||
Fixes: https://gitlab.freedesktop.org/xorg/xserver/-/issues/1714
|
||||
Signed-off-by: Tj <tj.iam.tj@proton.me>
|
||||
---
|
||||
hw/xfree86/fbdevhw/fbdevhw.c | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
Index: xorg-server-21.1.12/hw/xfree86/fbdevhw/fbdevhw.c
|
||||
===================================================================
|
||||
--- xorg-server-21.1.12.orig/hw/xfree86/fbdevhw/fbdevhw.c
|
||||
+++ xorg-server-21.1.12/hw/xfree86/fbdevhw/fbdevhw.c
|
||||
@@ -335,9 +335,9 @@ fbdev_open(int scrnIndex, const char *de
|
||||
char *sysfs_path = NULL;
|
||||
char *node = strrchr(dev, '/') + 1;
|
||||
|
||||
- if (asprintf(&sysfs_path, "/sys/class/graphics/%s", node) < 0 ||
|
||||
+ if (asprintf(&sysfs_path, "/sys/class/graphics/%s/device/subsystem", node) < 0 ||
|
||||
readlink(sysfs_path, buf, sizeof(buf) - 1) < 0 ||
|
||||
- strstr(buf, "devices/pci")) {
|
||||
+ strstr(buf, "bus/pci")) {
|
||||
free(sysfs_path);
|
||||
close(fd);
|
||||
return -1;
|
@ -1,3 +1,18 @@
|
||||
-------------------------------------------------------------------
|
||||
Thu Jul 25 16:04:30 UTC 2024 - Martin Jambor <mjambor@suse.com>
|
||||
|
||||
- Added U_xorg-xserver-e89edec497ba.patch to fix incompatible pointer
|
||||
type error with GCC 14.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Jul 18 10:44:59 UTC 2024 - Stefan Dirsch <sndirsch@suse.com>
|
||||
|
||||
- u_fbdevhw_kernel6.9_break_fbdev_open.patch
|
||||
* Linux kernel v6.9 has changed the symlink to point to the
|
||||
parent device. This breaks fbdev_open() detection logic.
|
||||
Change it to use the subsystem symlink instead which will
|
||||
remain stable (gitlab xserver issue#1714)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Jun 12 09:08:15 UTC 2024 - Daniel Garcia <daniel.garcia@suse.com>
|
||||
|
||||
|
@ -147,7 +147,7 @@ Requires: libpixman-1-0 >= 0.24
|
||||
Requires: Mesa
|
||||
%if 0%{?suse_version} >= 1315
|
||||
Requires(post): update-alternatives
|
||||
Requires(postun): update-alternatives
|
||||
Requires(postun):update-alternatives
|
||||
%endif
|
||||
Provides: xorg-x11-server-glx
|
||||
Obsoletes: xorg-x11-server-glx
|
||||
@ -240,8 +240,11 @@ Patch1930: u_xfree86-activate-GPU-screens-on-autobind.patch
|
||||
|
||||
Patch1960: u_sync-pci-ids-with-Mesa.patch
|
||||
|
||||
Patch2000: u_fbdevhw_kernel6.9_break_fbdev_open.patch
|
||||
|
||||
Patch1218176: u_miCloseScreen_check_for_null_pScreen_dev_private.patch
|
||||
Patch1222442: U_render-Avoid-possible-double-free-in-ProcRenderAddGl.patch
|
||||
Patch1222443: U_xorg-xserver-e89edec497ba.patch
|
||||
|
||||
%description
|
||||
This package contains the X.Org Server.
|
||||
@ -397,10 +400,12 @@ sh %{SOURCE92} --verify . %{SOURCE91}
|
||||
%patch -P 1921 -p1
|
||||
%patch -P 1930 -p1
|
||||
%patch -P 1960 -p1
|
||||
%patch -P 2000 -p1
|
||||
|
||||
%patch -P 1218176 -p1
|
||||
|
||||
%patch -P 1222442 -p1
|
||||
%patch -P 1222443 -p1
|
||||
|
||||
%build
|
||||
# We have some -z now related errors during X default startup (boo#1197994):
|
||||
|
Loading…
Reference in New Issue
Block a user