Compare commits

...

5 Commits

Author SHA256 Message Date
Dominique Leuenberger
56a97a1764 Accepting request 1190943 from X11:XOrg
- Added U_xorg-xserver-e89edec497ba.patch to fix incompatible pointer
  type error with GCC 14.

OBS-URL: https://build.opensuse.org/request/show/1190943
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/xorg-x11-server?expand=0&rev=433
2024-08-02 15:25:34 +00:00
54057616e4 rename latest patch according to our X11:XOrg patch guidelines
OBS-URL: https://build.opensuse.org/package/show/X11:XOrg/xorg-x11-server?expand=0&rev=892
2024-08-01 10:34:24 +00:00
6ff43929b0 Accepting request 1189636 from home:jamborm:gcc14test-m
- Added xorg-xserver-e89edec497ba.patch to fix incompatible pointer
  type error with GCC 14.

If the request is OK, please forward it to Factory soon too so that we
can switch the default compiler.  Thanks!

OBS-URL: https://build.opensuse.org/request/show/1189636
OBS-URL: https://build.opensuse.org/package/show/X11:XOrg/xorg-x11-server?expand=0&rev=891
2024-08-01 10:31:47 +00:00
Ana Guerrero
5e96e458ad Accepting request 1188381 from X11:XOrg
- 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)

OBS-URL: https://build.opensuse.org/request/show/1188381
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/xorg-x11-server?expand=0&rev=432
2024-07-19 13:25:43 +00:00
d1a7e7ee12 - 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)

OBS-URL: https://build.opensuse.org/package/show/X11:XOrg/xorg-x11-server?expand=0&rev=889
2024-07-18 11:00:29 +00:00
4 changed files with 120 additions and 1 deletions

View 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

View 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;

View File

@ -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>

View File

@ -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):