Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package xorg-x11-server for openSUSE:Factory
checked in at 2022-02-23 16:25:58
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/xorg-x11-server (Old)
and /work/SRC/openSUSE:Factory/.xorg-x11-server.new.1958 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "xorg-x11-server"
Wed Feb 23 16:25:58 2022 rev:404 rq:956864 version:21.1.3
Changes:
--------
--- /work/SRC/openSUSE:Factory/xorg-x11-server/xorg-x11-server.changes
2022-02-14 22:35:53.513370023 +0100
+++
/work/SRC/openSUSE:Factory/.xorg-x11-server.new.1958/xorg-x11-server.changes
2022-02-23 16:26:41.203509338 +0100
@@ -1,0 +2,6 @@
+Tue Feb 22 18:24:20 UTC 2022 - Bj??rn Lie <[email protected]>
+
+- U_Fix-build-with-gcc-12.patch
+ * render: Fix build with gcc 12 (glfdo#xorg/xserver!853).
+
+-------------------------------------------------------------------
New:
----
U_Fix-build-with-gcc-12.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ xorg-x11-server.spec ++++++
--- /var/tmp/diff_new_pack.x3niR3/_old 2022-02-23 16:26:42.243509375 +0100
+++ /var/tmp/diff_new_pack.x3niR3/_new 2022-02-23 16:26:42.247509376 +0100
@@ -244,6 +244,8 @@
Patch1940: U_xephyr-Don-t-check-for-SeatId-anymore.patch
+Patch1950: U_Fix-build-with-gcc-12.patch
+
%description
This package contains the X.Org Server.
@@ -399,6 +401,7 @@
%patch1920 -p1
%patch1930 -p1
%patch1940 -p1
+%patch1950 -p1
%build
%global _lto_cflags %{?_lto_cflags} -ffat-lto-objects
++++++ U_Fix-build-with-gcc-12.patch ++++++
>From c6b0dcb82d4db07a2f32c09a8c09c85a5f57248e Mon Sep 17 00:00:00 2001
From: Olivier Fourdan <[email protected]>
Date: Thu, 20 Jan 2022 10:20:38 +0100
Subject: [PATCH] render: Fix build with gcc 12
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
The xserver fails to compile with the latest gcc 12:
render/picture.c: In function ???CreateSolidPicture???:
render/picture.c:874:26: error: array subscript ???union _SourcePict[0]??? is
partly outside array bounds of ???unsigned char[16]??? [-Werror=array-bounds]
874 | pPicture->pSourcePict->type = SourcePictTypeSolidFill;
| ^~
render/picture.c:868:45: note: object of size 16 allocated by ???malloc???
868 | pPicture->pSourcePict = (SourcePictPtr)
malloc(sizeof(PictSolidFill));
|
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
render/picture.c: In function ???CreateLinearGradientPicture???:
render/picture.c:906:26: error: array subscript ???union _SourcePict[0]??? is
partly outside array bounds of ???unsigned char[32]??? [-Werror=array-bounds]
906 | pPicture->pSourcePict->linear.type = SourcePictTypeLinear;
| ^~
render/picture.c:899:45: note: object of size 32 allocated by ???malloc???
899 | pPicture->pSourcePict = (SourcePictPtr)
malloc(sizeof(PictLinearGradient));
|
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
render/picture.c: In function ???CreateConicalGradientPicture???:
render/picture.c:989:26: error: array subscript ???union _SourcePict[0]??? is
partly outside array bounds of ???unsigned char[32]??? [-Werror=array-bounds]
989 | pPicture->pSourcePict->conical.type = SourcePictTypeConical;
| ^~
render/picture.c:982:45: note: object of size 32 allocated by ???malloc???
982 | pPicture->pSourcePict = (SourcePictPtr)
malloc(sizeof(PictConicalGradient));
|
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
ninja: build stopped: subcommand failed.
This is because gcc 12 has become stricter and raises a warning now.
Fix the warning/error by allocating enough memory to store the union
struct.
Signed-off-by: Olivier Fourdan <[email protected]>
Acked-by: Michel D??nzer <[email protected]>
Closes: https://gitlab.freedesktop.org/xorg/xserver/-/issues/1256
---
render/picture.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/render/picture.c b/render/picture.c
index afa0d258f..2be4b1954 100644
--- a/render/picture.c
+++ b/render/picture.c
@@ -865,7 +865,7 @@ CreateSolidPicture(Picture pid, xRenderColor * color, int
*error)
}
pPicture->id = pid;
- pPicture->pSourcePict = (SourcePictPtr) malloc(sizeof(PictSolidFill));
+ pPicture->pSourcePict = (SourcePictPtr) malloc(sizeof(SourcePict));
if (!pPicture->pSourcePict) {
*error = BadAlloc;
free(pPicture);
@@ -896,7 +896,7 @@ CreateLinearGradientPicture(Picture pid, xPointFixed * p1,
xPointFixed * p2,
}
pPicture->id = pid;
- pPicture->pSourcePict = (SourcePictPtr) malloc(sizeof(PictLinearGradient));
+ pPicture->pSourcePict = (SourcePictPtr) malloc(sizeof(SourcePict));
if (!pPicture->pSourcePict) {
*error = BadAlloc;
free(pPicture);
@@ -936,7 +936,7 @@ CreateRadialGradientPicture(Picture pid, xPointFixed *
inner,
}
pPicture->id = pid;
- pPicture->pSourcePict = (SourcePictPtr) malloc(sizeof(PictRadialGradient));
+ pPicture->pSourcePict = (SourcePictPtr) malloc(sizeof(SourcePict));
if (!pPicture->pSourcePict) {
*error = BadAlloc;
free(pPicture);
@@ -979,7 +979,7 @@ CreateConicalGradientPicture(Picture pid, xPointFixed *
center, xFixed angle,
}
pPicture->id = pid;
- pPicture->pSourcePict = (SourcePictPtr)
malloc(sizeof(PictConicalGradient));
+ pPicture->pSourcePict = (SourcePictPtr) malloc(sizeof(SourcePict));
if (!pPicture->pSourcePict) {
*error = BadAlloc;
free(pPicture);
--
GitLab