diff options
Diffstat (limited to 'poky/meta/recipes-graphics/igt-gpu-tools')
3 files changed, 86 insertions, 2 deletions
diff --git a/poky/meta/recipes-graphics/igt-gpu-tools/igt-gpu-tools/0001-lib-igt_edid-Allocate-raw-8-bytes-for-VSDB.patch b/poky/meta/recipes-graphics/igt-gpu-tools/igt-gpu-tools/0001-lib-igt_edid-Allocate-raw-8-bytes-for-VSDB.patch new file mode 100644 index 000000000..38bd4550a --- /dev/null +++ b/poky/meta/recipes-graphics/igt-gpu-tools/igt-gpu-tools/0001-lib-igt_edid-Allocate-raw-8-bytes-for-VSDB.patch @@ -0,0 +1,42 @@ +From 606349860d27492c328752dca5a3784c0e9a6d24 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Sat, 27 Feb 2021 11:05:45 -0800 +Subject: [PATCH i-g-t] lib/igt_edid: Allocate raw 8-bytes for VSDB + +hdmi_vsdb is an element of cea_vsdb which makes the size of cea_vsdb to +be 8 ( 3bytes ieee_oui ) + ( 5bytes hdmi_vsdb struct), its true that we +only use 7 bytes technically we can only allocate 7byte array but since +we are writing to elements of hdmi_vsdb struct which is sitting at offet +4-8 in cea_vsdb, compiler thinks we have an element which is out of +array bounds since out allocated size is 7bytes + +This errors out +../git/lib/igt_edid.c:365:13: error: array subscript 'struct hdmi_vsdb[0]' is partly outside array bounds of 'char[7]' [-Werror=array-bounds] + 365 | hdmi->src_phy_addr[0] = 0x10; + | ^~ + +allocating one extra byte matches with size of cea_vsdb and compiler is +happy + +Upstream-Status: Submitted [https://lists.freedesktop.org/archives/igt-dev/2021-February/029446.html] +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + lib/igt_edid.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/lib/igt_edid.c b/lib/igt_edid.c +index 1c85486d..ce09cc47 100644 +--- a/lib/igt_edid.c ++++ b/lib/igt_edid.c +@@ -351,7 +351,7 @@ void cea_sad_init_pcm(struct cea_sad *sad, int channels, + const struct cea_vsdb *cea_vsdb_get_hdmi_default(size_t *size) + { + /* We'll generate a VSDB with 2 extension fields. */ +- static char raw[CEA_VSDB_HDMI_MIN_SIZE + 2] = {0}; ++ static char raw[CEA_VSDB_HDMI_MIN_SIZE + 3] = {0}; + struct cea_vsdb *vsdb; + struct hdmi_vsdb *hdmi; + +-- +2.30.1 + diff --git a/poky/meta/recipes-graphics/igt-gpu-tools/igt-gpu-tools/reproducibility.patch b/poky/meta/recipes-graphics/igt-gpu-tools/igt-gpu-tools/reproducibility.patch new file mode 100644 index 000000000..39e36d873 --- /dev/null +++ b/poky/meta/recipes-graphics/igt-gpu-tools/igt-gpu-tools/reproducibility.patch @@ -0,0 +1,38 @@ +meson: Allow source location to be configurable + +Hardcoding a build source path into a binary when cross compiling isn't +appropriate and breaks build reproducibility. Allow the srcdir to be +specified by an optional configuration option to meson. + +Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org> +Upstream-Status: Submitted [https://lists.freedesktop.org/archives/igt-dev/2021-February/029443.html] + +Index: git/lib/meson.build +=================================================================== +--- git.orig/lib/meson.build ++++ git/lib/meson.build +@@ -122,7 +122,11 @@ if chamelium.found() + lib_sources += 'igt_chamelium_stream.c' + endif + +-srcdir = join_paths(meson.source_root(), 'tests') ++if get_option('srcdir') != '' ++ srcdir = join_paths(get_option('srcdir'), 'tests') ++else ++ srcdir = join_paths(meson.source_root(), 'tests') ++endif + + lib_version = vcs_tag(input : 'version.h.in', output : 'version.h', + fallback : 'NO-GIT', +Index: git/meson_options.txt +=================================================================== +--- git.orig/meson_options.txt ++++ git/meson_options.txt +@@ -50,3 +50,7 @@ option('use_rpath', + type : 'boolean', + value : false, + description : 'Set runpath on installed executables for libigt.so') ++ ++option('srcdir', ++ type : 'string', ++ description : 'Path to source code to be compiled into binaries (optional)') diff --git a/poky/meta/recipes-graphics/igt-gpu-tools/igt-gpu-tools_git.bb b/poky/meta/recipes-graphics/igt-gpu-tools/igt-gpu-tools_git.bb index 89480d79d..1cc94cf99 100644 --- a/poky/meta/recipes-graphics/igt-gpu-tools/igt-gpu-tools_git.bb +++ b/poky/meta/recipes-graphics/igt-gpu-tools/igt-gpu-tools_git.bb @@ -1,5 +1,7 @@ SUMMARY = "IGT GPU Tools" DESCRIPTION = "IGT GPU Tools is a collection of tools for development and testing of the DRM drivers" +HOMEPAGE = "https://gitlab.freedesktop.org/drm/igt-gpu-tools" +BUGTRACKER = "https://gitlab.freedesktop.org/drm/igt-gpu-tools/-/issues" LIC_FILES_CHKSUM = "file://COPYING;md5=67bfee4df38fa6ecbe3a675c552d4c08" @@ -10,7 +12,9 @@ inherit meson SRCREV = "d16ad07e7f2a028e14d61f570931c87fa5ce404c" PV = "1.25+git${SRCPV}" -SRC_URI = "git://gitlab.freedesktop.org/drm/igt-gpu-tools.git;protocol=https" +SRC_URI = "git://gitlab.freedesktop.org/drm/igt-gpu-tools.git;protocol=https \ + file://0001-lib-igt_edid-Allocate-raw-8-bytes-for-VSDB.patch \ + file://reproducibility.patch" S = "${WORKDIR}/git" @@ -22,7 +26,7 @@ PACKAGE_BEFORE_PN = "${PN}-benchmarks ${PN}-tests" PACKAGECONFIG[chamelium] = "-Dchamelium=enabled,-Dchamelium=disabled,gsl xmlrpc-c" -EXTRA_OEMESON = "-Ddocs=disabled -Drunner=enabled" +EXTRA_OEMESON = "-Ddocs=disabled -Drunner=enabled -Dsrcdir=/usr/src/debug/${PN}/${PV}-${PR}/git/" COMPATIBLE_HOST = "(x86_64.*|i.86.*|arm.*|aarch64).*-linux" COMPATIBLE_HOST_libc-musl_class-target = "null" SECURITY_LDFLAGS = "${SECURITY_X_LDFLAGS}" |