package/libdrm: fix build failure
authorHeiko Thiery <heiko.thiery@gmail.com>
Sat, 6 Jun 2020 06:43:09 +0000 (08:43 +0200)
committerYann E. MORIN <yann.morin.1998@free.fr>
Sat, 6 Jun 2020 09:10:32 +0000 (11:10 +0200)
Add patch to fix build failure with Sourcery Codebench toolchain.

The patch is provided upstream:
https://gitlab.freedesktop.org/mesa/drm/-/merge_requests/75

Fixes:
http://autobuild.buildroot.net/results/b7910460015b077fcb2431da608c34f95c2f2fbb/

Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
package/libdrm/0003-xf86drm.c-fix-build-failure.patch [new file with mode: 0644]

diff --git a/package/libdrm/0003-xf86drm.c-fix-build-failure.patch b/package/libdrm/0003-xf86drm.c-fix-build-failure.patch
new file mode 100644 (file)
index 0000000..ba84114
--- /dev/null
@@ -0,0 +1,84 @@
+From c7d89412884de2dbfa543720d185027377e62f21 Mon Sep 17 00:00:00 2001
+From: Heiko Thiery <heiko.thiery@gmail.com>
+Date: Fri, 5 Jun 2020 23:46:52 +0200
+Subject: [PATCH] xf86drm.c: fix build failure
+
+./xf86drm.c: In function 'drmNodeIsDRM':
+../xf86drm.c:2825:7: error: "__FreeBSD__" is not defined [-Werror=undef]
+ #elif __FreeBSD__
+       ^
+../xf86drm.c: In function 'drmGetMinorNameForFD':
+../xf86drm.c:2938:7: error: "__FreeBSD__" is not defined [-Werror=undef]
+ #elif __FreeBSD__
+       ^
+../xf86drm.c: In function 'drmParsePciBusInfo':
+../xf86drm.c:3258:7: error: "__FreeBSD__" is not defined [-Werror=undef]
+ #elif __FreeBSD__
+       ^
+../xf86drm.c: In function 'drmParsePciDeviceInfo':
+../xf86drm.c:3427:7: error: "__FreeBSD__" is not defined [-Werror=undef]
+ #elif __FreeBSD__
+       ^
+../xf86drm.c: In function 'drmGetDeviceNameFromFd2':
+../xf86drm.c:4305:7: error: "__FreeBSD__" is not defined [-Werror=undef]
+ #elif __FreeBSD__
+       ^
+
+Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>
+[A merge-request with this fix is opened at https://gitlab.freedesktop.org/mesa/drm/-/merge_requests/75]
+---
+ xf86drm.c | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/xf86drm.c b/xf86drm.c
+index 07a18c44..50a6f092 100644
+--- a/xf86drm.c
++++ b/xf86drm.c
+@@ -2822,7 +2822,7 @@ static bool drmNodeIsDRM(int maj, int min)
+     snprintf(path, sizeof(path), "/sys/dev/char/%d:%d/device/drm",
+              maj, min);
+     return stat(path, &sbuf) == 0;
+-#elif __FreeBSD__
++#elif defined(__FreeBSD__)
+     char name[SPECNAMELEN];
+     if (!devname_r(makedev(maj, min), S_IFCHR, name, sizeof(name)))
+@@ -2935,7 +2935,7 @@ static char *drmGetMinorNameForFD(int fd, int type)
+     closedir(sysdir);
+     return NULL;
+-#elif __FreeBSD__
++#elif defined(__FreeBSD__)
+     struct stat sbuf;
+     char dname[SPECNAMELEN];
+     const char *mname;
+@@ -3255,7 +3255,7 @@ static int drmParsePciBusInfo(int maj, int min, drmPciBusInfoPtr info)
+     info->func = pinfo.func;
+     return 0;
+-#elif __FreeBSD__
++#elif defined(__FreeBSD__)
+     return get_sysctl_pci_bus_info(maj, min, info);
+ #else
+ #warning "Missing implementation of drmParsePciBusInfo"
+@@ -3424,7 +3424,7 @@ static int drmParsePciDeviceInfo(int maj, int min,
+     device->subdevice_id = pinfo.subdevice_id;
+     return 0;
+-#elif __FreeBSD__
++#elif defined(__FreeBSD__)
+     drmPciBusInfo info;
+     struct pci_conf_io pc;
+     struct pci_match_conf patterns[1];
+@@ -4302,7 +4302,7 @@ drm_public char *drmGetDeviceNameFromFd2(int fd)
+     free(value);
+     return strdup(path);
+-#elif __FreeBSD__
++#elif defined(__FreeBSD__)
+     return drmGetDeviceNameFromFd(fd);
+ #else
+     struct stat      sbuf;
+-- 
+2.20.1
+