All of lore.kernel.org
 help / color / mirror / Atom feed
* [igt-dev] [PATCH i-g-t 1/4] lib: Make libunwind optional again
@ 2018-10-29  8:10 Daniel Vetter
  2018-10-29  8:10 ` [igt-dev] [PATCH i-g-t 2/4] gitlab-ci: build test libunwind stubs Daniel Vetter
                   ` (13 more replies)
  0 siblings, 14 replies; 19+ messages in thread
From: Daniel Vetter @ 2018-10-29  8:10 UTC (permalink / raw)
  To: IGT development; +Cc: Daniel Vetter, Sean Paul

Apparently it's really not great to require it for a bunch of
platforms. Requested by Sean and Eric.

Cc: Sean Paul <sean@poorly.run>
Cc: Eric Anholt <eric@anholt.net>
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
---
 lib/meson.build                 |  7 ++++-
 lib/stubs/libunwind/libunwind.h | 46 +++++++++++++++++++++++++++++++++
 meson.build                     | 13 +++++++++-
 meson_options.txt               |  6 +++++
 4 files changed, 70 insertions(+), 2 deletions(-)
 create mode 100644 lib/stubs/libunwind/libunwind.h

diff --git a/lib/meson.build b/lib/meson.build
index 7e2c9b7a98e0..8961ca494af8 100644
--- a/lib/meson.build
+++ b/lib/meson.build
@@ -59,7 +59,6 @@ lib_deps = [
 	libkmod,
 	libprocps,
 	libudev,
-	libunwind,
 	libdw,
 	pciaccess,
 	pthreads,
@@ -76,6 +75,12 @@ else
 	inc = [ inc, include_directories('stubs/drm') ]
 endif
 
+if libunwind.found()
+	lib_deps += libunwind
+else
+	inc = [ inc, include_directories('stubs/libunwind') ]
+endif
+
 if valgrind.found()
 	lib_deps += valgrind
 endif
diff --git a/lib/stubs/libunwind/libunwind.h b/lib/stubs/libunwind/libunwind.h
new file mode 100644
index 000000000000..ce5f30df6ce1
--- /dev/null
+++ b/lib/stubs/libunwind/libunwind.h
@@ -0,0 +1,46 @@
+/*
+ * Copyright © 2018 Intel Corporation
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the next
+ * paragraph) shall be included in all copies or substantial portions of the
+ * Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
+ * IN THE SOFTWARE.
+ *
+ * Authors:
+ *    Daniel Vetter <daniel.vetter@ffwll.ch>
+ */
+
+/* dummy libunwind header with stubs, only the minimal amount we need to get by */
+
+
+typedef int unw_cursor_t;
+typedef int unw_context_t;
+typedef int unw_word_t;
+
+#define UNW_REG_IP 0
+
+static inline void unw_getcontext(unw_context_t *uc) {}
+static inline void unw_init_local(unw_cursor_t *cursor, unw_context_t *uc) {}
+static inline int unw_step(unw_cursor_t *cursor) { return 0; }
+static inline int unw_get_reg (unw_cursor_t *cursor, int i, unw_word_t * word)
+{
+	return 0;
+}
+static inline int unw_get_proc_name (unw_cursor_t *cursor, char *c, size_t s, unw_word_t *word)
+{
+	return 0;
+}
diff --git a/meson.build b/meson.build
index eff35585f619..d0cdffffbaf6 100644
--- a/meson.build
+++ b/meson.build
@@ -50,6 +50,7 @@ build_chamelium = get_option('build_chamelium')
 build_docs = get_option('build_docs')
 build_tests = get_option('build_tests')
 with_libdrm = get_option('with_libdrm')
+with_libunwind = get_option('with_libunwind')
 build_runner = get_option('build_runner')
 
 _build_overlay = build_overlay != 'false'
@@ -102,7 +103,17 @@ build_info += 'With libdrm: ' + ','.join(libdrm_info)
 pciaccess = dependency('pciaccess', version : '>=0.10')
 libkmod = dependency('libkmod')
 libprocps = dependency('libprocps', required : true)
-libunwind = dependency('libunwind', required : true)
+
+libunwind = null_dep
+libunwindinfo = 'No'
+if with_libunwind.contains('auto') or with_libunwind.contains('true')
+	libunwind = dependency('libunwind', required : with_libunwind.contains('true'))
+	if libunwind.found()
+		libunwindinfo = 'Yes'
+	endif
+endif
+build_info += 'With libunwind: ' + libunwindinfo
+
 libdw = dependency('libdw', required : true)
 ssl = dependency('openssl', required : true)
 pixman = dependency('pixman-1', required : true)
diff --git a/meson_options.txt b/meson_options.txt
index 89a3731c19ee..c33c4b264d86 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -52,6 +52,12 @@ option('with_libdrm',
        choices : ['', 'auto', 'intel', 'nouveau', 'amdgpu'],
        description : 'libdrm libraries to be used')
 
+option('with_libunwind',
+       type : 'array',
+       value : ['auto'],
+       choices : ['auto', 'true', 'false'],
+       description : 'Use libunwind')
+
 option('build_runner',
        type : 'combo',
        value : 'auto',
-- 
2.19.1

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply related	[flat|nested] 19+ messages in thread

* [igt-dev] [PATCH i-g-t 2/4] gitlab-ci: build test libunwind stubs
  2018-10-29  8:10 [igt-dev] [PATCH i-g-t 1/4] lib: Make libunwind optional again Daniel Vetter
@ 2018-10-29  8:10 ` Daniel Vetter
  2018-10-29  8:10 ` [igt-dev] [PATCH i-g-t 3/4] gitlab-ci: Build docs by default Daniel Vetter
                   ` (12 subsequent siblings)
  13 siblings, 0 replies; 19+ messages in thread
From: Daniel Vetter @ 2018-10-29  8:10 UTC (permalink / raw)
  To: IGT development; +Cc: Daniel Vetter, Sean Paul

We want to make sure this keeps working nicely

Cc: Sean Paul <sean@poorly.run>
Cc: Eric Anholt <eric@anholt.net>
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
---
 .gitlab-ci.yml | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index bd1ddb79b119..12601cb7f200 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -9,6 +9,7 @@ variables:
     -Dbuild_man=true
     -Dbuild_tests=true
     -Dbuild_runner=true
+    -Dwith_libunwind=true
 
 stages:
   - containers
@@ -27,6 +28,13 @@ build:tests-fedora:
     paths:
       - build
 
+build:tests-fedora-no-libunwind:
+  stage: build
+  script:
+    - dnf remove -y libunwind-devel
+    - meson -Dlibunwind=false build
+    - ninja -C build
+
 # documentation building is different with meson<0.47
 build:tests-fedora-oldest-meson:
   stage: build
-- 
2.19.1

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply related	[flat|nested] 19+ messages in thread

* [igt-dev] [PATCH i-g-t 3/4] gitlab-ci: Build docs by default
  2018-10-29  8:10 [igt-dev] [PATCH i-g-t 1/4] lib: Make libunwind optional again Daniel Vetter
  2018-10-29  8:10 ` [igt-dev] [PATCH i-g-t 2/4] gitlab-ci: build test libunwind stubs Daniel Vetter
@ 2018-10-29  8:10 ` Daniel Vetter
  2018-10-29  8:10 ` [igt-dev] [PATCH i-g-t 4/4] gitlab-ci: arm64 cross compiling Daniel Vetter
                   ` (11 subsequent siblings)
  13 siblings, 0 replies; 19+ messages in thread
From: Daniel Vetter @ 2018-10-29  8:10 UTC (permalink / raw)
  To: IGT development; +Cc: Daniel Vetter

I just realized that when you push to a non-HEAD branch, then gitlab
doesn't bother to build the deploy stage. Which means if you push to a
branch, then that's not properly tested.

So build docs right away. We're not going to waste anything, since the
deploy:pages job will pick up right from where we left.

Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
---
 .gitlab-ci.yml | 1 +
 1 file changed, 1 insertion(+)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 12601cb7f200..2e04c0e84e1b 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -24,6 +24,7 @@ build:tests-fedora:
   script:
     - meson $MESON_OPTIONS build
     - ninja -C build
+    - ninja -C build igt-gpu-tools-doc
   artifacts:
     paths:
       - build
-- 
2.19.1

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply related	[flat|nested] 19+ messages in thread

* [igt-dev] [PATCH i-g-t 4/4] gitlab-ci: arm64 cross compiling
  2018-10-29  8:10 [igt-dev] [PATCH i-g-t 1/4] lib: Make libunwind optional again Daniel Vetter
  2018-10-29  8:10 ` [igt-dev] [PATCH i-g-t 2/4] gitlab-ci: build test libunwind stubs Daniel Vetter
  2018-10-29  8:10 ` [igt-dev] [PATCH i-g-t 3/4] gitlab-ci: Build docs by default Daniel Vetter
@ 2018-10-29  8:10 ` Daniel Vetter
  2018-10-29  8:39 ` [igt-dev] ✓ Fi.CI.BAT: success for series starting with [i-g-t,1/4] lib: Make libunwind optional again Patchwork
                   ` (10 subsequent siblings)
  13 siblings, 0 replies; 19+ messages in thread
From: Daniel Vetter @ 2018-10-29  8:10 UTC (permalink / raw)
  To: IGT development; +Cc: Dylan Baker, Sean Paul

First I tried to build in a full sysroot, but I didn't figure out why
ld never found the libraries (this was on fedora, which might have
been part of the problem - if you just need a toolchain for kernel
corss-building fedora is perfectly fine).

Then I tried using debian's multiarch stuff, which worked a lot
better, except there's some minor gotchas:
- some libraries conflict and can't be multi-arch installed
- some libraries are buggy and cause conflicts when installing
- pkgconfig and ld get confused with some other libraries and pick the
  first one they find (i.e. the x86_64 one, not the arm64 one).
That means we need a new docker image with just the cross libaries
installed as -dev packages, and none of the native ones.

Next up I tried to run the tests. Meson has really nice support for an
exe wrapper, and qemu happily runs arm64 on x86_64. With that I
managed to run some tests successfully (it's not even that slow!). But
most are run through a script, and the script doesn't know about the
exe wrapper and hence fails miserably. I discussed this a bit with
Dylan and he filed an upstream meson issue:

https://github.com/mesonbuild/meson/issues/4427#issuecomment-433553689

Another option would be to use binfmt-misc handling (which works
neatly locally), but on the runners we have I can't control that.
Maybe I can beg Daniel Stone ...

For not let's just mark this stage as optional and that failures are
allowed.

Cc: Sean Paul <sean@poorly.run>
Cc: Eric Anholt <eric@anholt.net>
Cc: Dylan Baker <dylan@pnwbakers.com>
Cc: Daniel Stone <daniel@fooishbar.org>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 .gitlab-ci.yml          | 31 +++++++++++++++++++++++++++
 Dockerfile.debian-arm64 | 46 +++++++++++++++++++++++++++++++++++++++++
 meson-cross-arm64.txt   | 12 +++++++++++
 3 files changed, 89 insertions(+)
 create mode 100644 Dockerfile.debian-arm64
 create mode 100644 meson-cross-arm64.txt

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 2e04c0e84e1b..75e72998e596 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -57,6 +57,15 @@ build:tests-debian-meson:
     paths:
       - meson-test-list.txt
 
+build:tests-debian-meson-arm64:
+  image: $CI_REGISTRY/$CI_PROJECT_PATH/igt-debian-arm64:latest
+  stage: build
+  script:
+    - PKG_CONFIG_PATH=/usr/lib/aarch64-linux-gnu/pkgconfig/ meson --cross-file meson-cross-arm64.txt build
+    - ninja -C build
+  artifacts:
+    paths:
+      - build
 
 build:tests-debian-autotools:
   image: $CI_REGISTRY/$CI_PROJECT_PATH/igt-debian:latest
@@ -77,6 +86,14 @@ test:ninja-test:
   stage: test
   script: ninja -C build test
 
+test:ninja-test-arm64:
+  when: manual
+  image: $CI_REGISTRY/$CI_PROJECT_PATH/igt-debian-arm64:latest
+  dependencies:
+    - build:tests-debian-meson-arm64
+  stage: test
+  script: ninja -C build test
+
 test:test-list-diff:
   dependencies:
     - build:tests-debian-autotools
@@ -115,6 +132,20 @@ containers:igt-debian:
     - docker build -t $CI_REGISTRY/$CI_PROJECT_PATH/igt-debian -f Dockerfile.debian .
     - docker push $CI_REGISTRY/$CI_PROJECT_PATH/igt-debian
 
+containers:igt-debian-arm64:
+  stage: containers
+  when: manual
+  image: docker:stable
+  services:
+    - docker:dind
+  variables:
+    DOCKER_HOST: tcp://docker:2375
+    DOCKER_DRIVER: overlay2
+  script:
+    - docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY
+    - docker build -t $CI_REGISTRY/$CI_PROJECT_PATH/igt-debian-arm64 -f Dockerfile.debian-arm64 .
+    - docker push $CI_REGISTRY/$CI_PROJECT_PATH/igt-debian-arm64
+
 containers:igt-fedora:
   stage: containers
   when: manual
diff --git a/Dockerfile.debian-arm64 b/Dockerfile.debian-arm64
new file mode 100644
index 000000000000..20c2e8b30663
--- /dev/null
+++ b/Dockerfile.debian-arm64
@@ -0,0 +1,46 @@
+FROM debian:stretch-backports
+
+RUN apt-get update
+RUN apt-get install -y \
+			flex \
+			bison \
+			pkg-config \
+			x11proto-dri2-dev \
+			python-docutils \
+			valgrind \
+			peg
+
+RUN dpkg --add-architecture arm64
+RUN apt-get update
+RUN apt-get install -y \
+			gcc-aarch64-linux-gnu \
+			libpciaccess-dev:arm64 \
+			libkmod-dev:arm64 \
+			libprocps-dev:arm64 \
+			libunwind-dev:arm64 \
+			libdw-dev:arm64 \
+			zlib1g-dev:arm64 \
+			liblzma-dev:arm64 \
+			libssl-dev:arm64 \
+			libcairo-dev:arm64 \
+			libpixman-1-dev:arm64 \
+			libudev-dev:arm64 \
+			libgsl-dev:arm64 \
+			libasound2-dev:arm64 \
+			libjson-c-dev:arm64 \
+			libcurl4-openssl-dev:arm64 \
+			libxrandr-dev:arm64 \
+			libxv-dev:arm64
+
+RUN apt-get install -t stretch-backports -y \
+					meson \
+					libdrm-dev:arm64 \
+					qemu-user
+
+# autotools build deps
+RUN apt-get install -y \
+			autoconf \
+			automake \
+			xutils-dev \
+			libtool \
+			make
diff --git a/meson-cross-arm64.txt b/meson-cross-arm64.txt
new file mode 100644
index 000000000000..d96f180e2b05
--- /dev/null
+++ b/meson-cross-arm64.txt
@@ -0,0 +1,12 @@
+[binaries]
+c = '/usr/bin/aarch64-linux-gnu-gcc'
+ar = '/usr/bin/aarch64-linux-gnu-gcc-ar'
+strip = '/usr/bin/aarch64-linux-gnu-strip'
+pkgconfig = 'pkg-config'
+exe_wrapper = 'qemu-aarch64'
+
+[host_machine]
+system = 'linux'
+cpu_family = 'aarch64'
+cpu = 'aarch64'
+endian = 'little'
-- 
2.19.1

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply related	[flat|nested] 19+ messages in thread

* [igt-dev] ✓ Fi.CI.BAT: success for series starting with [i-g-t,1/4] lib: Make libunwind optional again
  2018-10-29  8:10 [igt-dev] [PATCH i-g-t 1/4] lib: Make libunwind optional again Daniel Vetter
                   ` (2 preceding siblings ...)
  2018-10-29  8:10 ` [igt-dev] [PATCH i-g-t 4/4] gitlab-ci: arm64 cross compiling Daniel Vetter
@ 2018-10-29  8:39 ` Patchwork
  2018-10-29  9:33 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
                   ` (9 subsequent siblings)
  13 siblings, 0 replies; 19+ messages in thread
From: Patchwork @ 2018-10-29  8:39 UTC (permalink / raw)
  To: Daniel Vetter; +Cc: igt-dev

== Series Details ==

Series: series starting with [i-g-t,1/4] lib: Make libunwind optional again
URL   : https://patchwork.freedesktop.org/series/51652/
State : success

== Summary ==

= CI Bug Log - changes from CI_DRM_5042 -> IGTPW_2003 =

== Summary - SUCCESS ==

  No regressions found.

  External URL: https://patchwork.freedesktop.org/api/1.0/series/51652/revisions/1/mbox/

== Known issues ==

  Here are the changes found in IGTPW_2003 that come from known issues:

  === IGT changes ===

    ==== Issues hit ====

    igt@debugfs_test@read_all_entries:
      fi-icl-u2:          NOTRUN -> DMESG-WARN (fdo#108070)

    igt@drv_selftest@live_contexts:
      fi-icl-u:           NOTRUN -> DMESG-FAIL (fdo#108569)

    igt@gem_exec_suspend@basic-s3:
      fi-icl-u2:          NOTRUN -> DMESG-WARN (fdo#106612)
      fi-blb-e6850:       PASS -> INCOMPLETE (fdo#107718)

    igt@kms_chamelium@hdmi-hpd-fast:
      fi-icl-u2:          NOTRUN -> FAIL (fdo#108559) +3

    igt@kms_flip@basic-flip-vs-modeset:
      fi-glk-j4005:       PASS -> DMESG-WARN (fdo#106097, fdo#106000) +1

    igt@kms_frontbuffer_tracking@basic:
      fi-byt-clapper:     PASS -> FAIL (fdo#103167)

    igt@kms_pipe_crc_basic@nonblocking-crc-pipe-a-frame-sequence:
      fi-byt-clapper:     PASS -> FAIL (fdo#103191, fdo#107362) +1

    
    ==== Possible fixes ====

    igt@drv_selftest@live_hangcheck:
      fi-kbl-7560u:       INCOMPLETE (fdo#108044) -> PASS

    igt@kms_flip@basic-flip-vs-wf_vblank:
      fi-glk-j4005:       FAIL (fdo#100368) -> PASS

    igt@kms_flip@basic-plain-flip:
      fi-glk-j4005:       DMESG-WARN (fdo#106097) -> PASS

    igt@kms_pipe_crc_basic@suspend-read-crc-pipe-c:
      fi-icl-u:           INCOMPLETE (fdo#107713) -> PASS

    
  fdo#100368 https://bugs.freedesktop.org/show_bug.cgi?id=100368
  fdo#103167 https://bugs.freedesktop.org/show_bug.cgi?id=103167
  fdo#103191 https://bugs.freedesktop.org/show_bug.cgi?id=103191
  fdo#106000 https://bugs.freedesktop.org/show_bug.cgi?id=106000
  fdo#106097 https://bugs.freedesktop.org/show_bug.cgi?id=106097
  fdo#106612 https://bugs.freedesktop.org/show_bug.cgi?id=106612
  fdo#107362 https://bugs.freedesktop.org/show_bug.cgi?id=107362
  fdo#107713 https://bugs.freedesktop.org/show_bug.cgi?id=107713
  fdo#107718 https://bugs.freedesktop.org/show_bug.cgi?id=107718
  fdo#108044 https://bugs.freedesktop.org/show_bug.cgi?id=108044
  fdo#108070 https://bugs.freedesktop.org/show_bug.cgi?id=108070
  fdo#108559 https://bugs.freedesktop.org/show_bug.cgi?id=108559
  fdo#108569 https://bugs.freedesktop.org/show_bug.cgi?id=108569


== Participating hosts (48 -> 45) ==

  Additional (5): fi-icl-u2 fi-cfl-8109u fi-ivb-3770 fi-pnv-d510 fi-snb-2600 
  Missing    (8): fi-ilk-m540 fi-hsw-4200u fi-byt-squawks fi-bsw-cyan fi-ilk-650 fi-ctg-p8600 fi-elk-e7500 fi-byt-n2820 


== Build changes ==

    * IGT: IGT_4696 -> IGTPW_2003

  CI_DRM_5042: 591c74093dc70bdceaa02441c494dd7090533564 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_2003: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2003/
  IGT_4696: ff2db94acb53543acd7ba4e2badff59807069365 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2003/issues.html
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply	[flat|nested] 19+ messages in thread

* [igt-dev] ✓ Fi.CI.IGT: success for series starting with [i-g-t,1/4] lib: Make libunwind optional again
  2018-10-29  8:10 [igt-dev] [PATCH i-g-t 1/4] lib: Make libunwind optional again Daniel Vetter
                   ` (3 preceding siblings ...)
  2018-10-29  8:39 ` [igt-dev] ✓ Fi.CI.BAT: success for series starting with [i-g-t,1/4] lib: Make libunwind optional again Patchwork
@ 2018-10-29  9:33 ` Patchwork
  2018-10-29 10:20 ` [igt-dev] [PATCH i-g-t 1/4] " Petri Latvala
                   ` (8 subsequent siblings)
  13 siblings, 0 replies; 19+ messages in thread
From: Patchwork @ 2018-10-29  9:33 UTC (permalink / raw)
  To: Daniel Vetter; +Cc: igt-dev

== Series Details ==

Series: series starting with [i-g-t,1/4] lib: Make libunwind optional again
URL   : https://patchwork.freedesktop.org/series/51652/
State : success

== Summary ==

= CI Bug Log - changes from IGT_4696_full -> IGTPW_2003_full =

== Summary - WARNING ==

  Minor unknown changes coming with IGTPW_2003_full need to be verified
  manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in IGTPW_2003_full, please notify your bug team to allow them
  to document this new failure mode, which will reduce false positives in CI.

  External URL: https://patchwork.freedesktop.org/api/1.0/series/51652/revisions/1/mbox/

== Possible new issues ==

  Here are the unknown changes that may have been introduced in IGTPW_2003_full:

  === IGT changes ===

    ==== Warnings ====

    igt@pm_rc6_residency@rc6-accuracy:
      shard-kbl:          PASS -> SKIP

    
== Known issues ==

  Here are the changes found in IGTPW_2003_full that come from known issues:

  === IGT changes ===

    ==== Issues hit ====

    igt@gem_ppgtt@blt-vs-render-ctx0:
      shard-kbl:          PASS -> INCOMPLETE (fdo#106887, fdo#106023, fdo#103665)

    igt@kms_available_modes_crc@available_mode_test_crc:
      shard-apl:          PASS -> FAIL (fdo#106641)

    igt@kms_color@pipe-c-ctm-blue-to-red:
      shard-apl:          PASS -> INCOMPLETE (fdo#103927)

    igt@kms_color@pipe-c-ctm-max:
      shard-kbl:          PASS -> FAIL (fdo#108147) +1
      shard-apl:          PASS -> FAIL (fdo#108147) +1

    igt@kms_cursor_crc@cursor-128x128-onscreen:
      shard-kbl:          PASS -> FAIL (fdo#103232) +2

    igt@kms_cursor_crc@cursor-128x128-random:
      shard-apl:          PASS -> FAIL (fdo#103232) +4

    igt@kms_cursor_crc@cursor-256x256-sliding:
      shard-glk:          PASS -> FAIL (fdo#103232)

    igt@kms_cursor_crc@cursor-256x256-suspend:
      shard-kbl:          PASS -> FAIL (fdo#103191, fdo#103232)
      shard-apl:          PASS -> FAIL (fdo#103191, fdo#103232)

    igt@kms_flip@plain-flip-fb-recreate:
      shard-glk:          PASS -> INCOMPLETE (k.org#198133, fdo#103359)

    igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-draw-pwrite:
      shard-apl:          PASS -> FAIL (fdo#103167) +3

    igt@kms_frontbuffer_tracking@fbc-1p-rte:
      shard-apl:          PASS -> FAIL (fdo#103167, fdo#105682)

    igt@kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-onoff:
      shard-glk:          PASS -> FAIL (fdo#103167) +6

    igt@kms_plane@plane-position-covered-pipe-b-planes:
      shard-glk:          PASS -> FAIL (fdo#103166) +2

    igt@kms_plane_alpha_blend@pipe-b-constant-alpha-mid:
      shard-apl:          PASS -> DMESG-WARN (fdo#108549) +12

    igt@kms_plane_alpha_blend@pipe-c-constant-alpha-max:
      shard-glk:          PASS -> FAIL (fdo#108145) +1

    igt@kms_plane_multiple@atomic-pipe-c-tiling-yf:
      shard-apl:          PASS -> FAIL (fdo#103166) +4

    igt@kms_rotation_crc@primary-rotation-180:
      shard-snb:          PASS -> FAIL (fdo#103925)

    igt@kms_setmode@basic:
      shard-kbl:          PASS -> FAIL (fdo#99912)

    
    ==== Possible fixes ====

    igt@gem_ctx_isolation@vcs1-s3:
      shard-kbl:          DMESG-WARN (fdo#108549) -> PASS

    igt@kms_atomic_transition@plane-all-modeset-transition:
      shard-apl:          INCOMPLETE (fdo#103927) -> PASS

    igt@kms_busy@extended-modeset-hang-newfb-render-c:
      shard-kbl:          DMESG-WARN (fdo#107956) -> PASS

    igt@kms_color@pipe-c-legacy-gamma:
      shard-kbl:          FAIL (fdo#104782) -> PASS
      shard-apl:          FAIL (fdo#104782) -> PASS

    igt@kms_cursor_crc@cursor-64x64-onscreen:
      shard-apl:          FAIL (fdo#103232) -> PASS +2

    igt@kms_cursor_crc@cursor-64x64-sliding:
      shard-glk:          FAIL (fdo#103232) -> PASS +1

    igt@kms_flip@flip-vs-expired-vblank:
      shard-glk:          FAIL (fdo#105363) -> PASS

    igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-mmap-gtt:
      shard-apl:          FAIL (fdo#103167) -> PASS

    igt@kms_frontbuffer_tracking@fbc-rgb565-draw-mmap-gtt:
      shard-glk:          FAIL (fdo#103167) -> PASS +2

    igt@kms_pipe_crc_basic@hang-read-crc-pipe-c:
      shard-apl:          DMESG-WARN (fdo#108549) -> PASS +47

    igt@kms_plane@plane-panning-bottom-right-suspend-pipe-a-planes:
      shard-kbl:          DMESG-WARN (fdo#108550, fdo#108549) -> PASS +1

    igt@kms_plane_alpha_blend@pipe-c-alpha-7efc:
      shard-glk:          FAIL (fdo#108146) -> PASS +1

    igt@kms_plane_alpha_blend@pipe-c-coverage-7efc:
      shard-kbl:          FAIL (fdo#108146) -> PASS +1
      shard-apl:          FAIL (fdo#108146) -> PASS +1

    igt@kms_plane_multiple@atomic-pipe-b-tiling-y:
      shard-glk:          FAIL (fdo#103166) -> PASS

    igt@kms_vblank@pipe-b-query-busy-hang:
      shard-kbl:          DMESG-WARN (fdo#108550) -> PASS +6

    igt@kms_vblank@pipe-b-ts-continuation-modeset-hang:
      shard-apl:          DMESG-FAIL (fdo#108549) -> PASS +1

    igt@pm_rpm@modeset-stress-extra-wait:
      shard-glk:          INCOMPLETE (k.org#198133, fdo#103359) -> PASS

    
    ==== Warnings ====

    igt@kms_plane@plane-position-covered-pipe-a-planes:
      shard-apl:          DMESG-WARN (fdo#108549) -> FAIL (fdo#103166)

    igt@kms_plane_alpha_blend@pipe-b-alpha-transparant-fb:
      shard-apl:          DMESG-FAIL (fdo#108145, fdo#108549) -> FAIL (fdo#108145)

    
  fdo#103166 https://bugs.freedesktop.org/show_bug.cgi?id=103166
  fdo#103167 https://bugs.freedesktop.org/show_bug.cgi?id=103167
  fdo#103191 https://bugs.freedesktop.org/show_bug.cgi?id=103191
  fdo#103232 https://bugs.freedesktop.org/show_bug.cgi?id=103232
  fdo#103359 https://bugs.freedesktop.org/show_bug.cgi?id=103359
  fdo#103665 https://bugs.freedesktop.org/show_bug.cgi?id=103665
  fdo#103925 https://bugs.freedesktop.org/show_bug.cgi?id=103925
  fdo#103927 https://bugs.freedesktop.org/show_bug.cgi?id=103927
  fdo#104782 https://bugs.freedesktop.org/show_bug.cgi?id=104782
  fdo#105363 https://bugs.freedesktop.org/show_bug.cgi?id=105363
  fdo#105682 https://bugs.freedesktop.org/show_bug.cgi?id=105682
  fdo#106023 https://bugs.freedesktop.org/show_bug.cgi?id=106023
  fdo#106641 https://bugs.freedesktop.org/show_bug.cgi?id=106641
  fdo#106887 https://bugs.freedesktop.org/show_bug.cgi?id=106887
  fdo#107956 https://bugs.freedesktop.org/show_bug.cgi?id=107956
  fdo#108145 https://bugs.freedesktop.org/show_bug.cgi?id=108145
  fdo#108146 https://bugs.freedesktop.org/show_bug.cgi?id=108146
  fdo#108147 https://bugs.freedesktop.org/show_bug.cgi?id=108147
  fdo#108549 https://bugs.freedesktop.org/show_bug.cgi?id=108549
  fdo#108550 https://bugs.freedesktop.org/show_bug.cgi?id=108550
  fdo#99912 https://bugs.freedesktop.org/show_bug.cgi?id=99912
  k.org#198133 https://bugzilla.kernel.org/show_bug.cgi?id=198133


== Participating hosts (6 -> 5) ==

  Missing    (1): shard-skl 


== Build changes ==

    * IGT: IGT_4696 -> IGTPW_2003
    * Linux: CI_DRM_5041 -> CI_DRM_5042

  CI_DRM_5041: a45f611eae66546bb297a81c88e89bfd409bf199 @ git://anongit.freedesktop.org/gfx-ci/linux
  CI_DRM_5042: 591c74093dc70bdceaa02441c494dd7090533564 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_2003: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2003/
  IGT_4696: ff2db94acb53543acd7ba4e2badff59807069365 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2003/shards.html
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [igt-dev] [PATCH i-g-t 1/4] lib: Make libunwind optional again
  2018-10-29  8:10 [igt-dev] [PATCH i-g-t 1/4] lib: Make libunwind optional again Daniel Vetter
                   ` (4 preceding siblings ...)
  2018-10-29  9:33 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
@ 2018-10-29 10:20 ` Petri Latvala
  2018-10-29 15:35   ` Daniel Vetter
  2018-10-29 15:41 ` Eric Anholt
                   ` (7 subsequent siblings)
  13 siblings, 1 reply; 19+ messages in thread
From: Petri Latvala @ 2018-10-29 10:20 UTC (permalink / raw)
  To: Daniel Vetter; +Cc: IGT development, Daniel Vetter, Sean Paul

On Mon, Oct 29, 2018 at 09:10:27AM +0100, Daniel Vetter wrote:
> Apparently it's really not great to require it for a bunch of
> platforms. Requested by Sean and Eric.
> 
> Cc: Sean Paul <sean@poorly.run>
> Cc: Eric Anholt <eric@anholt.net>
> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
> ---
>  lib/meson.build                 |  7 ++++-
>  lib/stubs/libunwind/libunwind.h | 46 +++++++++++++++++++++++++++++++++
>  meson.build                     | 13 +++++++++-
>  meson_options.txt               |  6 +++++
>  4 files changed, 70 insertions(+), 2 deletions(-)
>  create mode 100644 lib/stubs/libunwind/libunwind.h
> 
> diff --git a/lib/meson.build b/lib/meson.build
> index 7e2c9b7a98e0..8961ca494af8 100644
> --- a/lib/meson.build
> +++ b/lib/meson.build
> @@ -59,7 +59,6 @@ lib_deps = [
>  	libkmod,
>  	libprocps,
>  	libudev,
> -	libunwind,
>  	libdw,
>  	pciaccess,
>  	pthreads,
> @@ -76,6 +75,12 @@ else
>  	inc = [ inc, include_directories('stubs/drm') ]
>  endif
>  
> +if libunwind.found()
> +	lib_deps += libunwind
> +else
> +	inc = [ inc, include_directories('stubs/libunwind') ]
> +endif
> +
>  if valgrind.found()
>  	lib_deps += valgrind
>  endif
> diff --git a/lib/stubs/libunwind/libunwind.h b/lib/stubs/libunwind/libunwind.h
> new file mode 100644
> index 000000000000..ce5f30df6ce1
> --- /dev/null
> +++ b/lib/stubs/libunwind/libunwind.h
> @@ -0,0 +1,46 @@
> +/*
> + * Copyright © 2018 Intel Corporation
> + *
> + * Permission is hereby granted, free of charge, to any person obtaining a
> + * copy of this software and associated documentation files (the "Software"),
> + * to deal in the Software without restriction, including without limitation
> + * the rights to use, copy, modify, merge, publish, distribute, sublicense,
> + * and/or sell copies of the Software, and to permit persons to whom the
> + * Software is furnished to do so, subject to the following conditions:
> + *
> + * The above copyright notice and this permission notice (including the next
> + * paragraph) shall be included in all copies or substantial portions of the
> + * Software.
> + *
> + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
> + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
> + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
> + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
> + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
> + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
> + * IN THE SOFTWARE.
> + *
> + * Authors:
> + *    Daniel Vetter <daniel.vetter@ffwll.ch>
> + */
> +
> +/* dummy libunwind header with stubs, only the minimal amount we need to get by */
> +
> +
> +typedef int unw_cursor_t;
> +typedef int unw_context_t;
> +typedef int unw_word_t;
> +
> +#define UNW_REG_IP 0
> +
> +static inline void unw_getcontext(unw_context_t *uc) {}
> +static inline void unw_init_local(unw_cursor_t *cursor, unw_context_t *uc) {}
> +static inline int unw_step(unw_cursor_t *cursor) { return 0; }
> +static inline int unw_get_reg (unw_cursor_t *cursor, int i, unw_word_t * word)
> +{
> +	return 0;
> +}
> +static inline int unw_get_proc_name (unw_cursor_t *cursor, char *c, size_t s, unw_word_t *word)
> +{
> +	return 0;
> +}
> diff --git a/meson.build b/meson.build
> index eff35585f619..d0cdffffbaf6 100644
> --- a/meson.build
> +++ b/meson.build
> @@ -50,6 +50,7 @@ build_chamelium = get_option('build_chamelium')
>  build_docs = get_option('build_docs')
>  build_tests = get_option('build_tests')
>  with_libdrm = get_option('with_libdrm')
> +with_libunwind = get_option('with_libunwind')
>  build_runner = get_option('build_runner')
>  
>  _build_overlay = build_overlay != 'false'
> @@ -102,7 +103,17 @@ build_info += 'With libdrm: ' + ','.join(libdrm_info)
>  pciaccess = dependency('pciaccess', version : '>=0.10')
>  libkmod = dependency('libkmod')
>  libprocps = dependency('libprocps', required : true)
> -libunwind = dependency('libunwind', required : true)
> +
> +libunwind = null_dep
> +libunwindinfo = 'No'
> +if with_libunwind.contains('auto') or with_libunwind.contains('true')
> +	libunwind = dependency('libunwind', required : with_libunwind.contains('true'))
> +	if libunwind.found()
> +		libunwindinfo = 'Yes'
> +	endif
> +endif
> +build_info += 'With libunwind: ' + libunwindinfo
> +
>  libdw = dependency('libdw', required : true)
>  ssl = dependency('openssl', required : true)
>  pixman = dependency('pixman-1', required : true)
> diff --git a/meson_options.txt b/meson_options.txt
> index 89a3731c19ee..c33c4b264d86 100644
> --- a/meson_options.txt
> +++ b/meson_options.txt
> @@ -52,6 +52,12 @@ option('with_libdrm',
>         choices : ['', 'auto', 'intel', 'nouveau', 'amdgpu'],
>         description : 'libdrm libraries to be used')
>  
> +option('with_libunwind',
> +       type : 'array',
> +       value : ['auto'],
> +       choices : ['auto', 'true', 'false'],
> +       description : 'Use libunwind')
> +


Why array instead of combo?


>  option('build_runner',
>         type : 'combo',
>         value : 'auto',
> -- 
> 2.19.1
> 
> _______________________________________________
> igt-dev mailing list
> igt-dev@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/igt-dev
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [igt-dev] [PATCH i-g-t 1/4] lib: Make libunwind optional again
  2018-10-29 10:20 ` [igt-dev] [PATCH i-g-t 1/4] " Petri Latvala
@ 2018-10-29 15:35   ` Daniel Vetter
  0 siblings, 0 replies; 19+ messages in thread
From: Daniel Vetter @ 2018-10-29 15:35 UTC (permalink / raw)
  To: Daniel Vetter, IGT development, Daniel Vetter, Sean Paul

On Mon, Oct 29, 2018 at 12:20:50PM +0200, Petri Latvala wrote:
> On Mon, Oct 29, 2018 at 09:10:27AM +0100, Daniel Vetter wrote:
> > Apparently it's really not great to require it for a bunch of
> > platforms. Requested by Sean and Eric.
> > 
> > Cc: Sean Paul <sean@poorly.run>
> > Cc: Eric Anholt <eric@anholt.net>
> > Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
> > ---
> >  lib/meson.build                 |  7 ++++-
> >  lib/stubs/libunwind/libunwind.h | 46 +++++++++++++++++++++++++++++++++
> >  meson.build                     | 13 +++++++++-
> >  meson_options.txt               |  6 +++++
> >  4 files changed, 70 insertions(+), 2 deletions(-)
> >  create mode 100644 lib/stubs/libunwind/libunwind.h
> > 
> > diff --git a/lib/meson.build b/lib/meson.build
> > index 7e2c9b7a98e0..8961ca494af8 100644
> > --- a/lib/meson.build
> > +++ b/lib/meson.build
> > @@ -59,7 +59,6 @@ lib_deps = [
> >  	libkmod,
> >  	libprocps,
> >  	libudev,
> > -	libunwind,
> >  	libdw,
> >  	pciaccess,
> >  	pthreads,
> > @@ -76,6 +75,12 @@ else
> >  	inc = [ inc, include_directories('stubs/drm') ]
> >  endif
> >  
> > +if libunwind.found()
> > +	lib_deps += libunwind
> > +else
> > +	inc = [ inc, include_directories('stubs/libunwind') ]
> > +endif
> > +
> >  if valgrind.found()
> >  	lib_deps += valgrind
> >  endif
> > diff --git a/lib/stubs/libunwind/libunwind.h b/lib/stubs/libunwind/libunwind.h
> > new file mode 100644
> > index 000000000000..ce5f30df6ce1
> > --- /dev/null
> > +++ b/lib/stubs/libunwind/libunwind.h
> > @@ -0,0 +1,46 @@
> > +/*
> > + * Copyright © 2018 Intel Corporation
> > + *
> > + * Permission is hereby granted, free of charge, to any person obtaining a
> > + * copy of this software and associated documentation files (the "Software"),
> > + * to deal in the Software without restriction, including without limitation
> > + * the rights to use, copy, modify, merge, publish, distribute, sublicense,
> > + * and/or sell copies of the Software, and to permit persons to whom the
> > + * Software is furnished to do so, subject to the following conditions:
> > + *
> > + * The above copyright notice and this permission notice (including the next
> > + * paragraph) shall be included in all copies or substantial portions of the
> > + * Software.
> > + *
> > + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
> > + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
> > + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
> > + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
> > + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
> > + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
> > + * IN THE SOFTWARE.
> > + *
> > + * Authors:
> > + *    Daniel Vetter <daniel.vetter@ffwll.ch>
> > + */
> > +
> > +/* dummy libunwind header with stubs, only the minimal amount we need to get by */
> > +
> > +
> > +typedef int unw_cursor_t;
> > +typedef int unw_context_t;
> > +typedef int unw_word_t;
> > +
> > +#define UNW_REG_IP 0
> > +
> > +static inline void unw_getcontext(unw_context_t *uc) {}
> > +static inline void unw_init_local(unw_cursor_t *cursor, unw_context_t *uc) {}
> > +static inline int unw_step(unw_cursor_t *cursor) { return 0; }
> > +static inline int unw_get_reg (unw_cursor_t *cursor, int i, unw_word_t * word)
> > +{
> > +	return 0;
> > +}
> > +static inline int unw_get_proc_name (unw_cursor_t *cursor, char *c, size_t s, unw_word_t *word)
> > +{
> > +	return 0;
> > +}
> > diff --git a/meson.build b/meson.build
> > index eff35585f619..d0cdffffbaf6 100644
> > --- a/meson.build
> > +++ b/meson.build
> > @@ -50,6 +50,7 @@ build_chamelium = get_option('build_chamelium')
> >  build_docs = get_option('build_docs')
> >  build_tests = get_option('build_tests')
> >  with_libdrm = get_option('with_libdrm')
> > +with_libunwind = get_option('with_libunwind')
> >  build_runner = get_option('build_runner')
> >  
> >  _build_overlay = build_overlay != 'false'
> > @@ -102,7 +103,17 @@ build_info += 'With libdrm: ' + ','.join(libdrm_info)
> >  pciaccess = dependency('pciaccess', version : '>=0.10')
> >  libkmod = dependency('libkmod')
> >  libprocps = dependency('libprocps', required : true)
> > -libunwind = dependency('libunwind', required : true)
> > +
> > +libunwind = null_dep
> > +libunwindinfo = 'No'
> > +if with_libunwind.contains('auto') or with_libunwind.contains('true')
> > +	libunwind = dependency('libunwind', required : with_libunwind.contains('true'))
> > +	if libunwind.found()
> > +		libunwindinfo = 'Yes'
> > +	endif
> > +endif
> > +build_info += 'With libunwind: ' + libunwindinfo
> > +
> >  libdw = dependency('libdw', required : true)
> >  ssl = dependency('openssl', required : true)
> >  pixman = dependency('pixman-1', required : true)
> > diff --git a/meson_options.txt b/meson_options.txt
> > index 89a3731c19ee..c33c4b264d86 100644
> > --- a/meson_options.txt
> > +++ b/meson_options.txt
> > @@ -52,6 +52,12 @@ option('with_libdrm',
> >         choices : ['', 'auto', 'intel', 'nouveau', 'amdgpu'],
> >         description : 'libdrm libraries to be used')
> >  
> > +option('with_libunwind',
> > +       type : 'array',
> > +       value : ['auto'],
> > +       choices : ['auto', 'true', 'false'],
> > +       description : 'Use libunwind')
> > +
> 
> 
> Why array instead of combo?

Cause I have no idea how this works and copypasted the wrong one as my
template :-)

Will fix.
-Daniel

> 
> 
> >  option('build_runner',
> >         type : 'combo',
> >         value : 'auto',
> > -- 
> > 2.19.1
> > 
> > _______________________________________________
> > igt-dev mailing list
> > igt-dev@lists.freedesktop.org
> > https://lists.freedesktop.org/mailman/listinfo/igt-dev

-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [igt-dev] [PATCH i-g-t 1/4] lib: Make libunwind optional again
  2018-10-29  8:10 [igt-dev] [PATCH i-g-t 1/4] lib: Make libunwind optional again Daniel Vetter
                   ` (5 preceding siblings ...)
  2018-10-29 10:20 ` [igt-dev] [PATCH i-g-t 1/4] " Petri Latvala
@ 2018-10-29 15:41 ` Eric Anholt
  2018-10-29 15:55 ` [igt-dev] [PATCH i-g-t] " Daniel Vetter
                   ` (6 subsequent siblings)
  13 siblings, 0 replies; 19+ messages in thread
From: Eric Anholt @ 2018-10-29 15:41 UTC (permalink / raw)
  To: Daniel Vetter, IGT development; +Cc: Sean Paul, Daniel Vetter


[-- Attachment #1.1: Type: text/plain, Size: 228 bytes --]

Daniel Vetter <daniel.vetter@ffwll.ch> writes:

> Apparently it's really not great to require it for a bunch of
> platforms. Requested by Sean and Eric.

This series looks good to me.

Reviewed-by: Eric Anholt <eric@anholt.net>

[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 832 bytes --]

[-- Attachment #2: Type: text/plain, Size: 154 bytes --]

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply	[flat|nested] 19+ messages in thread

* [igt-dev] [PATCH i-g-t] lib: Make libunwind optional again
  2018-10-29  8:10 [igt-dev] [PATCH i-g-t 1/4] lib: Make libunwind optional again Daniel Vetter
                   ` (6 preceding siblings ...)
  2018-10-29 15:41 ` Eric Anholt
@ 2018-10-29 15:55 ` Daniel Vetter
  2018-10-29 17:15 ` Daniel Vetter
                   ` (5 subsequent siblings)
  13 siblings, 0 replies; 19+ messages in thread
From: Daniel Vetter @ 2018-10-29 15:55 UTC (permalink / raw)
  To: IGT development; +Cc: Daniel Vetter, Sean Paul, Petri Latvala

Apparently it's really not great to require it for a bunch of
platforms. Requested by Sean and Eric.

v2: Use combo option (Petri).

Cc: Petri Latvala <petri.latvala@intel.com>
Reviewed-by: Eric Anholt <eric@anholt.net> (v1)
Cc: Sean Paul <sean@poorly.run>
Cc: Eric Anholt <eric@anholt.net>
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
---
 lib/meson.build                 |  7 ++++-
 lib/stubs/libunwind/libunwind.h | 46 +++++++++++++++++++++++++++++++++
 meson.build                     | 13 +++++++++-
 meson_options.txt               |  8 +++++-
 4 files changed, 71 insertions(+), 3 deletions(-)
 create mode 100644 lib/stubs/libunwind/libunwind.h

diff --git a/lib/meson.build b/lib/meson.build
index 7e2c9b7a98e0..8961ca494af8 100644
--- a/lib/meson.build
+++ b/lib/meson.build
@@ -59,7 +59,6 @@ lib_deps = [
 	libkmod,
 	libprocps,
 	libudev,
-	libunwind,
 	libdw,
 	pciaccess,
 	pthreads,
@@ -76,6 +75,12 @@ else
 	inc = [ inc, include_directories('stubs/drm') ]
 endif
 
+if libunwind.found()
+	lib_deps += libunwind
+else
+	inc = [ inc, include_directories('stubs/libunwind') ]
+endif
+
 if valgrind.found()
 	lib_deps += valgrind
 endif
diff --git a/lib/stubs/libunwind/libunwind.h b/lib/stubs/libunwind/libunwind.h
new file mode 100644
index 000000000000..ce5f30df6ce1
--- /dev/null
+++ b/lib/stubs/libunwind/libunwind.h
@@ -0,0 +1,46 @@
+/*
+ * Copyright © 2018 Intel Corporation
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the next
+ * paragraph) shall be included in all copies or substantial portions of the
+ * Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
+ * IN THE SOFTWARE.
+ *
+ * Authors:
+ *    Daniel Vetter <daniel.vetter@ffwll.ch>
+ */
+
+/* dummy libunwind header with stubs, only the minimal amount we need to get by */
+
+
+typedef int unw_cursor_t;
+typedef int unw_context_t;
+typedef int unw_word_t;
+
+#define UNW_REG_IP 0
+
+static inline void unw_getcontext(unw_context_t *uc) {}
+static inline void unw_init_local(unw_cursor_t *cursor, unw_context_t *uc) {}
+static inline int unw_step(unw_cursor_t *cursor) { return 0; }
+static inline int unw_get_reg (unw_cursor_t *cursor, int i, unw_word_t * word)
+{
+	return 0;
+}
+static inline int unw_get_proc_name (unw_cursor_t *cursor, char *c, size_t s, unw_word_t *word)
+{
+	return 0;
+}
diff --git a/meson.build b/meson.build
index eff35585f619..d0cdffffbaf6 100644
--- a/meson.build
+++ b/meson.build
@@ -50,6 +50,7 @@ build_chamelium = get_option('build_chamelium')
 build_docs = get_option('build_docs')
 build_tests = get_option('build_tests')
 with_libdrm = get_option('with_libdrm')
+with_libunwind = get_option('with_libunwind')
 build_runner = get_option('build_runner')
 
 _build_overlay = build_overlay != 'false'
@@ -102,7 +103,17 @@ build_info += 'With libdrm: ' + ','.join(libdrm_info)
 pciaccess = dependency('pciaccess', version : '>=0.10')
 libkmod = dependency('libkmod')
 libprocps = dependency('libprocps', required : true)
-libunwind = dependency('libunwind', required : true)
+
+libunwind = null_dep
+libunwindinfo = 'No'
+if with_libunwind.contains('auto') or with_libunwind.contains('true')
+	libunwind = dependency('libunwind', required : with_libunwind.contains('true'))
+	if libunwind.found()
+		libunwindinfo = 'Yes'
+	endif
+endif
+build_info += 'With libunwind: ' + libunwindinfo
+
 libdw = dependency('libdw', required : true)
 ssl = dependency('openssl', required : true)
 pixman = dependency('pixman-1', required : true)
diff --git a/meson_options.txt b/meson_options.txt
index 89a3731c19ee..4d53b1ee0e8c 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -47,11 +47,17 @@ option('build_tests',
        description : 'Build tests')
 
 option('with_libdrm',
-       type : 'array',
+       type : 'combo',
        value : ['auto'],
        choices : ['', 'auto', 'intel', 'nouveau', 'amdgpu'],
        description : 'libdrm libraries to be used')
 
+option('with_libunwind',
+       type : 'array',
+       value : ['auto'],
+       choices : ['auto', 'true', 'false'],
+       description : 'Use libunwind')
+
 option('build_runner',
        type : 'combo',
        value : 'auto',
-- 
2.19.1

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply related	[flat|nested] 19+ messages in thread

* [igt-dev] [PATCH i-g-t] lib: Make libunwind optional again
  2018-10-29  8:10 [igt-dev] [PATCH i-g-t 1/4] lib: Make libunwind optional again Daniel Vetter
                   ` (7 preceding siblings ...)
  2018-10-29 15:55 ` [igt-dev] [PATCH i-g-t] " Daniel Vetter
@ 2018-10-29 17:15 ` Daniel Vetter
  2018-10-29 17:20 ` Daniel Vetter
                   ` (4 subsequent siblings)
  13 siblings, 0 replies; 19+ messages in thread
From: Daniel Vetter @ 2018-10-29 17:15 UTC (permalink / raw)
  To: IGT development; +Cc: Daniel Vetter, Sean Paul, Petri Latvala

Apparently it's really not great to require it for a bunch of
platforms. Requested by Sean and Eric.

v2: Use combo option (Petri).

v3: Fix the right option (Petri)

Cc: Petri Latvala <petri.latvala@intel.com>
Reviewed-by: Eric Anholt <eric@anholt.net> (v1)
Cc: Sean Paul <sean@poorly.run>
Cc: Eric Anholt <eric@anholt.net>
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
---
 lib/meson.build                 |  7 ++++-
 lib/stubs/libunwind/libunwind.h | 46 +++++++++++++++++++++++++++++++++
 meson.build                     | 13 +++++++++-
 meson_options.txt               |  6 +++++
 4 files changed, 70 insertions(+), 2 deletions(-)
 create mode 100644 lib/stubs/libunwind/libunwind.h

diff --git a/lib/meson.build b/lib/meson.build
index 7e2c9b7a98e0..8961ca494af8 100644
--- a/lib/meson.build
+++ b/lib/meson.build
@@ -59,7 +59,6 @@ lib_deps = [
 	libkmod,
 	libprocps,
 	libudev,
-	libunwind,
 	libdw,
 	pciaccess,
 	pthreads,
@@ -76,6 +75,12 @@ else
 	inc = [ inc, include_directories('stubs/drm') ]
 endif
 
+if libunwind.found()
+	lib_deps += libunwind
+else
+	inc = [ inc, include_directories('stubs/libunwind') ]
+endif
+
 if valgrind.found()
 	lib_deps += valgrind
 endif
diff --git a/lib/stubs/libunwind/libunwind.h b/lib/stubs/libunwind/libunwind.h
new file mode 100644
index 000000000000..ce5f30df6ce1
--- /dev/null
+++ b/lib/stubs/libunwind/libunwind.h
@@ -0,0 +1,46 @@
+/*
+ * Copyright © 2018 Intel Corporation
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the next
+ * paragraph) shall be included in all copies or substantial portions of the
+ * Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
+ * IN THE SOFTWARE.
+ *
+ * Authors:
+ *    Daniel Vetter <daniel.vetter@ffwll.ch>
+ */
+
+/* dummy libunwind header with stubs, only the minimal amount we need to get by */
+
+
+typedef int unw_cursor_t;
+typedef int unw_context_t;
+typedef int unw_word_t;
+
+#define UNW_REG_IP 0
+
+static inline void unw_getcontext(unw_context_t *uc) {}
+static inline void unw_init_local(unw_cursor_t *cursor, unw_context_t *uc) {}
+static inline int unw_step(unw_cursor_t *cursor) { return 0; }
+static inline int unw_get_reg (unw_cursor_t *cursor, int i, unw_word_t * word)
+{
+	return 0;
+}
+static inline int unw_get_proc_name (unw_cursor_t *cursor, char *c, size_t s, unw_word_t *word)
+{
+	return 0;
+}
diff --git a/meson.build b/meson.build
index eff35585f619..d0cdffffbaf6 100644
--- a/meson.build
+++ b/meson.build
@@ -50,6 +50,7 @@ build_chamelium = get_option('build_chamelium')
 build_docs = get_option('build_docs')
 build_tests = get_option('build_tests')
 with_libdrm = get_option('with_libdrm')
+with_libunwind = get_option('with_libunwind')
 build_runner = get_option('build_runner')
 
 _build_overlay = build_overlay != 'false'
@@ -102,7 +103,17 @@ build_info += 'With libdrm: ' + ','.join(libdrm_info)
 pciaccess = dependency('pciaccess', version : '>=0.10')
 libkmod = dependency('libkmod')
 libprocps = dependency('libprocps', required : true)
-libunwind = dependency('libunwind', required : true)
+
+libunwind = null_dep
+libunwindinfo = 'No'
+if with_libunwind.contains('auto') or with_libunwind.contains('true')
+	libunwind = dependency('libunwind', required : with_libunwind.contains('true'))
+	if libunwind.found()
+		libunwindinfo = 'Yes'
+	endif
+endif
+build_info += 'With libunwind: ' + libunwindinfo
+
 libdw = dependency('libdw', required : true)
 ssl = dependency('openssl', required : true)
 pixman = dependency('pixman-1', required : true)
diff --git a/meson_options.txt b/meson_options.txt
index 89a3731c19ee..fa5b03cbfead 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -52,6 +52,12 @@ option('with_libdrm',
        choices : ['', 'auto', 'intel', 'nouveau', 'amdgpu'],
        description : 'libdrm libraries to be used')
 
+option('with_libunwind',
+       type : 'combo',
+       value : ['auto'],
+       choices : ['auto', 'true', 'false'],
+       description : 'Use libunwind')
+
 option('build_runner',
        type : 'combo',
        value : 'auto',
-- 
2.19.1

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply related	[flat|nested] 19+ messages in thread

* [igt-dev] [PATCH i-g-t] lib: Make libunwind optional again
  2018-10-29  8:10 [igt-dev] [PATCH i-g-t 1/4] lib: Make libunwind optional again Daniel Vetter
                   ` (8 preceding siblings ...)
  2018-10-29 17:15 ` Daniel Vetter
@ 2018-10-29 17:20 ` Daniel Vetter
  2018-10-29 18:37   ` Sean Paul
  2018-10-29 19:06 ` Daniel Vetter
                   ` (3 subsequent siblings)
  13 siblings, 1 reply; 19+ messages in thread
From: Daniel Vetter @ 2018-10-29 17:20 UTC (permalink / raw)
  To: IGT development; +Cc: Daniel Vetter, Sean Paul, Petri Latvala

Apparently it's really not great to require it for a bunch of
platforms. Requested by Sean and Eric.

v2: Use combo option (Petri).

v3: Fix the right option (Petri)

v4: try a bit harder ...

Cc: Petri Latvala <petri.latvala@intel.com>
Reviewed-by: Eric Anholt <eric@anholt.net> (v1)
Cc: Sean Paul <sean@poorly.run>
Cc: Eric Anholt <eric@anholt.net>
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
---
 lib/meson.build                 |  7 ++++-
 lib/stubs/libunwind/libunwind.h | 46 +++++++++++++++++++++++++++++++++
 meson.build                     | 13 +++++++++-
 meson_options.txt               |  6 +++++
 4 files changed, 70 insertions(+), 2 deletions(-)
 create mode 100644 lib/stubs/libunwind/libunwind.h

diff --git a/lib/meson.build b/lib/meson.build
index 7e2c9b7a98e0..8961ca494af8 100644
--- a/lib/meson.build
+++ b/lib/meson.build
@@ -59,7 +59,6 @@ lib_deps = [
 	libkmod,
 	libprocps,
 	libudev,
-	libunwind,
 	libdw,
 	pciaccess,
 	pthreads,
@@ -76,6 +75,12 @@ else
 	inc = [ inc, include_directories('stubs/drm') ]
 endif
 
+if libunwind.found()
+	lib_deps += libunwind
+else
+	inc = [ inc, include_directories('stubs/libunwind') ]
+endif
+
 if valgrind.found()
 	lib_deps += valgrind
 endif
diff --git a/lib/stubs/libunwind/libunwind.h b/lib/stubs/libunwind/libunwind.h
new file mode 100644
index 000000000000..ce5f30df6ce1
--- /dev/null
+++ b/lib/stubs/libunwind/libunwind.h
@@ -0,0 +1,46 @@
+/*
+ * Copyright © 2018 Intel Corporation
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the next
+ * paragraph) shall be included in all copies or substantial portions of the
+ * Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
+ * IN THE SOFTWARE.
+ *
+ * Authors:
+ *    Daniel Vetter <daniel.vetter@ffwll.ch>
+ */
+
+/* dummy libunwind header with stubs, only the minimal amount we need to get by */
+
+
+typedef int unw_cursor_t;
+typedef int unw_context_t;
+typedef int unw_word_t;
+
+#define UNW_REG_IP 0
+
+static inline void unw_getcontext(unw_context_t *uc) {}
+static inline void unw_init_local(unw_cursor_t *cursor, unw_context_t *uc) {}
+static inline int unw_step(unw_cursor_t *cursor) { return 0; }
+static inline int unw_get_reg (unw_cursor_t *cursor, int i, unw_word_t * word)
+{
+	return 0;
+}
+static inline int unw_get_proc_name (unw_cursor_t *cursor, char *c, size_t s, unw_word_t *word)
+{
+	return 0;
+}
diff --git a/meson.build b/meson.build
index eff35585f619..861d7f88a3e1 100644
--- a/meson.build
+++ b/meson.build
@@ -50,6 +50,7 @@ build_chamelium = get_option('build_chamelium')
 build_docs = get_option('build_docs')
 build_tests = get_option('build_tests')
 with_libdrm = get_option('with_libdrm')
+with_libunwind = get_option('with_libunwind')
 build_runner = get_option('build_runner')
 
 _build_overlay = build_overlay != 'false'
@@ -102,7 +103,17 @@ build_info += 'With libdrm: ' + ','.join(libdrm_info)
 pciaccess = dependency('pciaccess', version : '>=0.10')
 libkmod = dependency('libkmod')
 libprocps = dependency('libprocps', required : true)
-libunwind = dependency('libunwind', required : true)
+
+libunwind = null_dep
+libunwindinfo = 'No'
+if with_libunwind == 'auto' or with_libunwind == 'true'
+	libunwind = dependency('libunwind', required : with_libunwind == 'true')
+	if libunwind.found()
+		libunwindinfo = 'Yes'
+	endif
+endif
+build_info += 'With libunwind: ' + libunwindinfo
+
 libdw = dependency('libdw', required : true)
 ssl = dependency('openssl', required : true)
 pixman = dependency('pixman-1', required : true)
diff --git a/meson_options.txt b/meson_options.txt
index 89a3731c19ee..0cd3b350d994 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -52,6 +52,12 @@ option('with_libdrm',
        choices : ['', 'auto', 'intel', 'nouveau', 'amdgpu'],
        description : 'libdrm libraries to be used')
 
+option('with_libunwind',
+       type : 'combo',
+       value : 'auto',
+       choices : ['auto', 'true', 'false'],
+       description : 'Use libunwind')
+
 option('build_runner',
        type : 'combo',
        value : 'auto',
-- 
2.19.1

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply related	[flat|nested] 19+ messages in thread

* Re: [igt-dev] [PATCH i-g-t] lib: Make libunwind optional again
  2018-10-29 17:20 ` Daniel Vetter
@ 2018-10-29 18:37   ` Sean Paul
  0 siblings, 0 replies; 19+ messages in thread
From: Sean Paul @ 2018-10-29 18:37 UTC (permalink / raw)
  To: Daniel Vetter; +Cc: IGT development, Sean Paul, Petri Latvala, Daniel Vetter

On Mon, Oct 29, 2018 at 06:20:26PM +0100, Daniel Vetter wrote:
> Apparently it's really not great to require it for a bunch of
> platforms. Requested by Sean and Eric.
> 
> v2: Use combo option (Petri).
> 
> v3: Fix the right option (Petri)
> 
> v4: try a bit harder ...
> 
> Cc: Petri Latvala <petri.latvala@intel.com>
> Reviewed-by: Eric Anholt <eric@anholt.net> (v1)
> Cc: Sean Paul <sean@poorly.run>

Reviewed-by: Sean Paul <sean@poorly.run>

> Cc: Eric Anholt <eric@anholt.net>
> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
> ---
>  lib/meson.build                 |  7 ++++-
>  lib/stubs/libunwind/libunwind.h | 46 +++++++++++++++++++++++++++++++++
>  meson.build                     | 13 +++++++++-
>  meson_options.txt               |  6 +++++
>  4 files changed, 70 insertions(+), 2 deletions(-)
>  create mode 100644 lib/stubs/libunwind/libunwind.h
> 
> diff --git a/lib/meson.build b/lib/meson.build
> index 7e2c9b7a98e0..8961ca494af8 100644
> --- a/lib/meson.build
> +++ b/lib/meson.build
> @@ -59,7 +59,6 @@ lib_deps = [
>  	libkmod,
>  	libprocps,
>  	libudev,
> -	libunwind,
>  	libdw,
>  	pciaccess,
>  	pthreads,
> @@ -76,6 +75,12 @@ else
>  	inc = [ inc, include_directories('stubs/drm') ]
>  endif
>  
> +if libunwind.found()
> +	lib_deps += libunwind
> +else
> +	inc = [ inc, include_directories('stubs/libunwind') ]
> +endif
> +
>  if valgrind.found()
>  	lib_deps += valgrind
>  endif
> diff --git a/lib/stubs/libunwind/libunwind.h b/lib/stubs/libunwind/libunwind.h
> new file mode 100644
> index 000000000000..ce5f30df6ce1
> --- /dev/null
> +++ b/lib/stubs/libunwind/libunwind.h
> @@ -0,0 +1,46 @@
> +/*
> + * Copyright © 2018 Intel Corporation
> + *
> + * Permission is hereby granted, free of charge, to any person obtaining a
> + * copy of this software and associated documentation files (the "Software"),
> + * to deal in the Software without restriction, including without limitation
> + * the rights to use, copy, modify, merge, publish, distribute, sublicense,
> + * and/or sell copies of the Software, and to permit persons to whom the
> + * Software is furnished to do so, subject to the following conditions:
> + *
> + * The above copyright notice and this permission notice (including the next
> + * paragraph) shall be included in all copies or substantial portions of the
> + * Software.
> + *
> + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
> + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
> + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
> + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
> + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
> + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
> + * IN THE SOFTWARE.
> + *
> + * Authors:
> + *    Daniel Vetter <daniel.vetter@ffwll.ch>
> + */
> +
> +/* dummy libunwind header with stubs, only the minimal amount we need to get by */
> +
> +
> +typedef int unw_cursor_t;
> +typedef int unw_context_t;
> +typedef int unw_word_t;
> +
> +#define UNW_REG_IP 0
> +
> +static inline void unw_getcontext(unw_context_t *uc) {}
> +static inline void unw_init_local(unw_cursor_t *cursor, unw_context_t *uc) {}
> +static inline int unw_step(unw_cursor_t *cursor) { return 0; }
> +static inline int unw_get_reg (unw_cursor_t *cursor, int i, unw_word_t * word)
> +{
> +	return 0;
> +}
> +static inline int unw_get_proc_name (unw_cursor_t *cursor, char *c, size_t s, unw_word_t *word)
> +{
> +	return 0;
> +}
> diff --git a/meson.build b/meson.build
> index eff35585f619..861d7f88a3e1 100644
> --- a/meson.build
> +++ b/meson.build
> @@ -50,6 +50,7 @@ build_chamelium = get_option('build_chamelium')
>  build_docs = get_option('build_docs')
>  build_tests = get_option('build_tests')
>  with_libdrm = get_option('with_libdrm')
> +with_libunwind = get_option('with_libunwind')
>  build_runner = get_option('build_runner')
>  
>  _build_overlay = build_overlay != 'false'
> @@ -102,7 +103,17 @@ build_info += 'With libdrm: ' + ','.join(libdrm_info)
>  pciaccess = dependency('pciaccess', version : '>=0.10')
>  libkmod = dependency('libkmod')
>  libprocps = dependency('libprocps', required : true)
> -libunwind = dependency('libunwind', required : true)
> +
> +libunwind = null_dep
> +libunwindinfo = 'No'
> +if with_libunwind == 'auto' or with_libunwind == 'true'
> +	libunwind = dependency('libunwind', required : with_libunwind == 'true')
> +	if libunwind.found()
> +		libunwindinfo = 'Yes'
> +	endif
> +endif
> +build_info += 'With libunwind: ' + libunwindinfo
> +
>  libdw = dependency('libdw', required : true)
>  ssl = dependency('openssl', required : true)
>  pixman = dependency('pixman-1', required : true)
> diff --git a/meson_options.txt b/meson_options.txt
> index 89a3731c19ee..0cd3b350d994 100644
> --- a/meson_options.txt
> +++ b/meson_options.txt
> @@ -52,6 +52,12 @@ option('with_libdrm',
>         choices : ['', 'auto', 'intel', 'nouveau', 'amdgpu'],
>         description : 'libdrm libraries to be used')
>  
> +option('with_libunwind',
> +       type : 'combo',
> +       value : 'auto',
> +       choices : ['auto', 'true', 'false'],
> +       description : 'Use libunwind')
> +
>  option('build_runner',
>         type : 'combo',
>         value : 'auto',
> -- 
> 2.19.1
> 

-- 
Sean Paul, Software Engineer, Google / Chromium OS
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply	[flat|nested] 19+ messages in thread

* [igt-dev] [PATCH i-g-t] lib: Make libunwind optional again
  2018-10-29  8:10 [igt-dev] [PATCH i-g-t 1/4] lib: Make libunwind optional again Daniel Vetter
                   ` (9 preceding siblings ...)
  2018-10-29 17:20 ` Daniel Vetter
@ 2018-10-29 19:06 ` Daniel Vetter
  2018-10-30 10:28   ` Petri Latvala
  2018-10-30  2:24 ` [igt-dev] ✗ Fi.CI.BAT: failure for series starting with [i-g-t] lib: Make libunwind optional again (rev5) Patchwork
                   ` (2 subsequent siblings)
  13 siblings, 1 reply; 19+ messages in thread
From: Daniel Vetter @ 2018-10-29 19:06 UTC (permalink / raw)
  To: IGT development; +Cc: Petri Latvala, Dylan Baker, Daniel Vetter, Sean Paul

Apparently it's really not great to require it for a bunch of
platforms. Requested by Sean and Eric.

v2: Use combo option (Petri).

v3: Fix the right option (Petri)

v4: try a bit harder ...

v5: Even more simplification (Dylan)

Cc: Dylan Baker <dylan@pnwbakers.com>
Cc: Petri Latvala <petri.latvala@intel.com>
Reviewed-by: Eric Anholt <eric@anholt.net> (v1)
Cc: Sean Paul <sean@poorly.run>
Cc: Eric Anholt <eric@anholt.net>
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
---
 lib/meson.build                 |  7 ++++-
 lib/stubs/libunwind/libunwind.h | 46 +++++++++++++++++++++++++++++++++
 meson.build                     | 13 +++++++++-
 meson_options.txt               |  6 +++++
 4 files changed, 70 insertions(+), 2 deletions(-)
 create mode 100644 lib/stubs/libunwind/libunwind.h

diff --git a/lib/meson.build b/lib/meson.build
index 7e2c9b7a98e0..8961ca494af8 100644
--- a/lib/meson.build
+++ b/lib/meson.build
@@ -59,7 +59,6 @@ lib_deps = [
 	libkmod,
 	libprocps,
 	libudev,
-	libunwind,
 	libdw,
 	pciaccess,
 	pthreads,
@@ -76,6 +75,12 @@ else
 	inc = [ inc, include_directories('stubs/drm') ]
 endif
 
+if libunwind.found()
+	lib_deps += libunwind
+else
+	inc = [ inc, include_directories('stubs/libunwind') ]
+endif
+
 if valgrind.found()
 	lib_deps += valgrind
 endif
diff --git a/lib/stubs/libunwind/libunwind.h b/lib/stubs/libunwind/libunwind.h
new file mode 100644
index 000000000000..ce5f30df6ce1
--- /dev/null
+++ b/lib/stubs/libunwind/libunwind.h
@@ -0,0 +1,46 @@
+/*
+ * Copyright © 2018 Intel Corporation
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the next
+ * paragraph) shall be included in all copies or substantial portions of the
+ * Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
+ * IN THE SOFTWARE.
+ *
+ * Authors:
+ *    Daniel Vetter <daniel.vetter@ffwll.ch>
+ */
+
+/* dummy libunwind header with stubs, only the minimal amount we need to get by */
+
+
+typedef int unw_cursor_t;
+typedef int unw_context_t;
+typedef int unw_word_t;
+
+#define UNW_REG_IP 0
+
+static inline void unw_getcontext(unw_context_t *uc) {}
+static inline void unw_init_local(unw_cursor_t *cursor, unw_context_t *uc) {}
+static inline int unw_step(unw_cursor_t *cursor) { return 0; }
+static inline int unw_get_reg (unw_cursor_t *cursor, int i, unw_word_t * word)
+{
+	return 0;
+}
+static inline int unw_get_proc_name (unw_cursor_t *cursor, char *c, size_t s, unw_word_t *word)
+{
+	return 0;
+}
diff --git a/meson.build b/meson.build
index eff35585f619..d1e35757cd77 100644
--- a/meson.build
+++ b/meson.build
@@ -50,6 +50,7 @@ build_chamelium = get_option('build_chamelium')
 build_docs = get_option('build_docs')
 build_tests = get_option('build_tests')
 with_libdrm = get_option('with_libdrm')
+with_libunwind = get_option('with_libunwind')
 build_runner = get_option('build_runner')
 
 _build_overlay = build_overlay != 'false'
@@ -102,7 +103,17 @@ build_info += 'With libdrm: ' + ','.join(libdrm_info)
 pciaccess = dependency('pciaccess', version : '>=0.10')
 libkmod = dependency('libkmod')
 libprocps = dependency('libprocps', required : true)
-libunwind = dependency('libunwind', required : true)
+
+libunwind = null_dep
+libunwindinfo = 'No'
+if with_libunwind != 'false'
+	libunwind = dependency('libunwind', required : with_libunwind == 'true')
+	if libunwind.found()
+		libunwindinfo = 'Yes'
+	endif
+endif
+build_info += 'With libunwind: ' + libunwindinfo
+
 libdw = dependency('libdw', required : true)
 ssl = dependency('openssl', required : true)
 pixman = dependency('pixman-1', required : true)
diff --git a/meson_options.txt b/meson_options.txt
index 89a3731c19ee..0cd3b350d994 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -52,6 +52,12 @@ option('with_libdrm',
        choices : ['', 'auto', 'intel', 'nouveau', 'amdgpu'],
        description : 'libdrm libraries to be used')
 
+option('with_libunwind',
+       type : 'combo',
+       value : 'auto',
+       choices : ['auto', 'true', 'false'],
+       description : 'Use libunwind')
+
 option('build_runner',
        type : 'combo',
        value : 'auto',
-- 
2.19.1

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply related	[flat|nested] 19+ messages in thread

* [igt-dev] ✗ Fi.CI.BAT: failure for series starting with [i-g-t] lib: Make libunwind optional again (rev5)
  2018-10-29  8:10 [igt-dev] [PATCH i-g-t 1/4] lib: Make libunwind optional again Daniel Vetter
                   ` (10 preceding siblings ...)
  2018-10-29 19:06 ` Daniel Vetter
@ 2018-10-30  2:24 ` Patchwork
  2018-10-30 12:54 ` [igt-dev] ✓ Fi.CI.BAT: success " Patchwork
  2018-10-30 17:38 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
  13 siblings, 0 replies; 19+ messages in thread
From: Patchwork @ 2018-10-30  2:24 UTC (permalink / raw)
  To: Daniel Vetter; +Cc: igt-dev

== Series Details ==

Series: series starting with [i-g-t] lib: Make libunwind optional again (rev5)
URL   : https://patchwork.freedesktop.org/series/51652/
State : failure

== Summary ==

= CI Bug Log - changes from CI_DRM_5044 -> IGTPW_2009 =

== Summary - FAILURE ==

  Serious unknown changes coming with IGTPW_2009 absolutely need to be
  verified manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in IGTPW_2009, please notify your bug team to allow them
  to document this new failure mode, which will reduce false positives in CI.

  External URL: https://patchwork.freedesktop.org/api/1.0/series/51652/revisions/5/mbox/

== Possible new issues ==

  Here are the unknown changes that may have been introduced in IGTPW_2009:

  === IGT changes ===

    ==== Possible regressions ====

    igt@gem_ctx_switch@basic-default:
      fi-icl-u:           PASS -> INCOMPLETE

    
== Known issues ==

  Here are the changes found in IGTPW_2009 that come from known issues:

  === IGT changes ===

    ==== Issues hit ====

    igt@drv_selftest@live_evict:
      fi-bsw-kefka:       PASS -> DMESG-WARN (fdo#107709)

    igt@kms_flip@basic-flip-vs-modeset:
      fi-skl-6700hq:      PASS -> DMESG-WARN (fdo#105998) +1

    igt@kms_frontbuffer_tracking@basic:
      fi-byt-clapper:     PASS -> FAIL (fdo#103167)

    igt@kms_pipe_crc_basic@read-crc-pipe-a:
      fi-byt-clapper:     PASS -> FAIL (fdo#107362)

    igt@kms_pipe_crc_basic@suspend-read-crc-pipe-b:
      fi-blb-e6850:       NOTRUN -> INCOMPLETE (fdo#107718)

    
    ==== Possible fixes ====

    igt@drv_module_reload@basic-reload:
      fi-glk-j4005:       DMESG-WARN (fdo#106248, fdo#106725) -> PASS

    igt@gem_exec_suspend@basic-s3:
      fi-blb-e6850:       INCOMPLETE (fdo#107718) -> PASS

    igt@gem_sync@basic-each:
      fi-glk-j4005:       DMESG-WARN (fdo#105719) -> PASS

    igt@kms_flip@basic-flip-vs-modeset:
      fi-glk-j4005:       DMESG-WARN (fdo#106000) -> PASS

    igt@kms_pipe_crc_basic@read-crc-pipe-b-frame-sequence:
      fi-byt-clapper:     FAIL (fdo#103191, fdo#107362) -> PASS

    igt@kms_pipe_crc_basic@read-crc-pipe-c-frame-sequence:
      fi-glk-j4005:       DMESG-FAIL (fdo#106000) -> PASS

    
  fdo#103167 https://bugs.freedesktop.org/show_bug.cgi?id=103167
  fdo#103191 https://bugs.freedesktop.org/show_bug.cgi?id=103191
  fdo#105719 https://bugs.freedesktop.org/show_bug.cgi?id=105719
  fdo#105998 https://bugs.freedesktop.org/show_bug.cgi?id=105998
  fdo#106000 https://bugs.freedesktop.org/show_bug.cgi?id=106000
  fdo#106248 https://bugs.freedesktop.org/show_bug.cgi?id=106248
  fdo#106725 https://bugs.freedesktop.org/show_bug.cgi?id=106725
  fdo#107362 https://bugs.freedesktop.org/show_bug.cgi?id=107362
  fdo#107709 https://bugs.freedesktop.org/show_bug.cgi?id=107709
  fdo#107718 https://bugs.freedesktop.org/show_bug.cgi?id=107718


== Participating hosts (47 -> 43) ==

  Additional (4): fi-cfl-8109u fi-gdg-551 fi-ivb-3770 fi-snb-2600 
  Missing    (8): fi-ilk-m540 fi-hsw-4200u fi-bsw-cyan fi-ilk-650 fi-ctg-p8600 fi-kbl-8809g fi-elk-e7500 fi-byt-n2820 


== Build changes ==

    * IGT: IGT_4698 -> IGTPW_2009

  CI_DRM_5044: c4487dca27970879bf67f331614142c749984d65 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_2009: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2009/
  IGT_4698: af57164fcb16950187ad402ed31f565e88c42a78 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2009/issues.html
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [igt-dev] [PATCH i-g-t] lib: Make libunwind optional again
  2018-10-29 19:06 ` Daniel Vetter
@ 2018-10-30 10:28   ` Petri Latvala
  0 siblings, 0 replies; 19+ messages in thread
From: Petri Latvala @ 2018-10-30 10:28 UTC (permalink / raw)
  To: Daniel Vetter; +Cc: IGT development, Sean Paul, Daniel Vetter, Dylan Baker

On Mon, Oct 29, 2018 at 08:06:55PM +0100, Daniel Vetter wrote:
> Apparently it's really not great to require it for a bunch of
> platforms. Requested by Sean and Eric.
> 
> v2: Use combo option (Petri).
> 
> v3: Fix the right option (Petri)
> 
> v4: try a bit harder ...
> 
> v5: Even more simplification (Dylan)
> 
> Cc: Dylan Baker <dylan@pnwbakers.com>
> Cc: Petri Latvala <petri.latvala@intel.com>
> Reviewed-by: Eric Anholt <eric@anholt.net> (v1)
> Cc: Sean Paul <sean@poorly.run>
> Cc: Eric Anholt <eric@anholt.net>
> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>


Sixth time's the charm!

With this one, series is
Reviewed-by: Petri Latvala <petri.latvala@intel.com>


> ---
>  lib/meson.build                 |  7 ++++-
>  lib/stubs/libunwind/libunwind.h | 46 +++++++++++++++++++++++++++++++++
>  meson.build                     | 13 +++++++++-
>  meson_options.txt               |  6 +++++
>  4 files changed, 70 insertions(+), 2 deletions(-)
>  create mode 100644 lib/stubs/libunwind/libunwind.h
> 
> diff --git a/lib/meson.build b/lib/meson.build
> index 7e2c9b7a98e0..8961ca494af8 100644
> --- a/lib/meson.build
> +++ b/lib/meson.build
> @@ -59,7 +59,6 @@ lib_deps = [
>  	libkmod,
>  	libprocps,
>  	libudev,
> -	libunwind,
>  	libdw,
>  	pciaccess,
>  	pthreads,
> @@ -76,6 +75,12 @@ else
>  	inc = [ inc, include_directories('stubs/drm') ]
>  endif
>  
> +if libunwind.found()
> +	lib_deps += libunwind
> +else
> +	inc = [ inc, include_directories('stubs/libunwind') ]
> +endif
> +
>  if valgrind.found()
>  	lib_deps += valgrind
>  endif
> diff --git a/lib/stubs/libunwind/libunwind.h b/lib/stubs/libunwind/libunwind.h
> new file mode 100644
> index 000000000000..ce5f30df6ce1
> --- /dev/null
> +++ b/lib/stubs/libunwind/libunwind.h
> @@ -0,0 +1,46 @@
> +/*
> + * Copyright © 2018 Intel Corporation
> + *
> + * Permission is hereby granted, free of charge, to any person obtaining a
> + * copy of this software and associated documentation files (the "Software"),
> + * to deal in the Software without restriction, including without limitation
> + * the rights to use, copy, modify, merge, publish, distribute, sublicense,
> + * and/or sell copies of the Software, and to permit persons to whom the
> + * Software is furnished to do so, subject to the following conditions:
> + *
> + * The above copyright notice and this permission notice (including the next
> + * paragraph) shall be included in all copies or substantial portions of the
> + * Software.
> + *
> + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
> + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
> + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
> + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
> + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
> + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
> + * IN THE SOFTWARE.
> + *
> + * Authors:
> + *    Daniel Vetter <daniel.vetter@ffwll.ch>
> + */
> +
> +/* dummy libunwind header with stubs, only the minimal amount we need to get by */
> +
> +
> +typedef int unw_cursor_t;
> +typedef int unw_context_t;
> +typedef int unw_word_t;
> +
> +#define UNW_REG_IP 0
> +
> +static inline void unw_getcontext(unw_context_t *uc) {}
> +static inline void unw_init_local(unw_cursor_t *cursor, unw_context_t *uc) {}
> +static inline int unw_step(unw_cursor_t *cursor) { return 0; }
> +static inline int unw_get_reg (unw_cursor_t *cursor, int i, unw_word_t * word)
> +{
> +	return 0;
> +}
> +static inline int unw_get_proc_name (unw_cursor_t *cursor, char *c, size_t s, unw_word_t *word)
> +{
> +	return 0;
> +}
> diff --git a/meson.build b/meson.build
> index eff35585f619..d1e35757cd77 100644
> --- a/meson.build
> +++ b/meson.build
> @@ -50,6 +50,7 @@ build_chamelium = get_option('build_chamelium')
>  build_docs = get_option('build_docs')
>  build_tests = get_option('build_tests')
>  with_libdrm = get_option('with_libdrm')
> +with_libunwind = get_option('with_libunwind')
>  build_runner = get_option('build_runner')
>  
>  _build_overlay = build_overlay != 'false'
> @@ -102,7 +103,17 @@ build_info += 'With libdrm: ' + ','.join(libdrm_info)
>  pciaccess = dependency('pciaccess', version : '>=0.10')
>  libkmod = dependency('libkmod')
>  libprocps = dependency('libprocps', required : true)
> -libunwind = dependency('libunwind', required : true)
> +
> +libunwind = null_dep
> +libunwindinfo = 'No'
> +if with_libunwind != 'false'
> +	libunwind = dependency('libunwind', required : with_libunwind == 'true')
> +	if libunwind.found()
> +		libunwindinfo = 'Yes'
> +	endif
> +endif
> +build_info += 'With libunwind: ' + libunwindinfo
> +
>  libdw = dependency('libdw', required : true)
>  ssl = dependency('openssl', required : true)
>  pixman = dependency('pixman-1', required : true)
> diff --git a/meson_options.txt b/meson_options.txt
> index 89a3731c19ee..0cd3b350d994 100644
> --- a/meson_options.txt
> +++ b/meson_options.txt
> @@ -52,6 +52,12 @@ option('with_libdrm',
>         choices : ['', 'auto', 'intel', 'nouveau', 'amdgpu'],
>         description : 'libdrm libraries to be used')
>  
> +option('with_libunwind',
> +       type : 'combo',
> +       value : 'auto',
> +       choices : ['auto', 'true', 'false'],
> +       description : 'Use libunwind')
> +
>  option('build_runner',
>         type : 'combo',
>         value : 'auto',
> -- 
> 2.19.1
> 
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply	[flat|nested] 19+ messages in thread

* [igt-dev] ✓ Fi.CI.BAT: success for series starting with [i-g-t] lib: Make libunwind optional again (rev5)
  2018-10-29  8:10 [igt-dev] [PATCH i-g-t 1/4] lib: Make libunwind optional again Daniel Vetter
                   ` (11 preceding siblings ...)
  2018-10-30  2:24 ` [igt-dev] ✗ Fi.CI.BAT: failure for series starting with [i-g-t] lib: Make libunwind optional again (rev5) Patchwork
@ 2018-10-30 12:54 ` Patchwork
  2018-10-30 17:38 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
  13 siblings, 0 replies; 19+ messages in thread
From: Patchwork @ 2018-10-30 12:54 UTC (permalink / raw)
  To: Daniel Vetter; +Cc: igt-dev

== Series Details ==

Series: series starting with [i-g-t] lib: Make libunwind optional again (rev5)
URL   : https://patchwork.freedesktop.org/series/51652/
State : success

== Summary ==

= CI Bug Log - changes from CI_DRM_5054 -> IGTPW_2014 =

== Summary - WARNING ==

  Minor unknown changes coming with IGTPW_2014 need to be verified
  manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in IGTPW_2014, please notify your bug team to allow them
  to document this new failure mode, which will reduce false positives in CI.

  External URL: https://patchwork.freedesktop.org/api/1.0/series/51652/revisions/5/mbox/

== Possible new issues ==

  Here are the unknown changes that may have been introduced in IGTPW_2014:

  === IGT changes ===

    ==== Warnings ====

    igt@drv_selftest@live_contexts:
      fi-icl-u:           DMESG-FAIL (fdo#108569) -> INCOMPLETE

    igt@drv_selftest@live_guc:
      fi-icl-u:           PASS -> SKIP +2

    
== Known issues ==

  Here are the changes found in IGTPW_2014 that come from known issues:

  === IGT changes ===

    ==== Issues hit ====

    igt@drv_module_reload@basic-reload:
      fi-blb-e6850:       PASS -> INCOMPLETE (fdo#107718)

    igt@kms_flip@basic-flip-vs-dpms:
      fi-skl-6700hq:      PASS -> DMESG-WARN (fdo#105998)
      fi-hsw-4770r:       PASS -> DMESG-WARN (fdo#105602)

    igt@pm_rpm@module-reload:
      fi-skl-6600u:       PASS -> INCOMPLETE (fdo#107807)

    
    ==== Possible fixes ====

    igt@gem_ctx_create@basic-files:
      fi-icl-u2:          DMESG-WARN (fdo#107724) -> PASS

    
  fdo#105602 https://bugs.freedesktop.org/show_bug.cgi?id=105602
  fdo#105998 https://bugs.freedesktop.org/show_bug.cgi?id=105998
  fdo#107718 https://bugs.freedesktop.org/show_bug.cgi?id=107718
  fdo#107724 https://bugs.freedesktop.org/show_bug.cgi?id=107724
  fdo#107807 https://bugs.freedesktop.org/show_bug.cgi?id=107807
  fdo#108569 https://bugs.freedesktop.org/show_bug.cgi?id=108569


== Participating hosts (46 -> 44) ==

  Additional (2): fi-skl-iommu fi-pnv-d510 
  Missing    (4): fi-ilk-m540 fi-byt-squawks fi-bsw-cyan fi-hsw-4200u 


== Build changes ==

    * IGT: IGT_4699 -> IGTPW_2014

  CI_DRM_5054: dfa9e5c2b4b958e77c1109477b94c5c8615e25cc @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_2014: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2014/
  IGT_4699: 1270ec553741ac20c45178d2b26f9a9562ea565f @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2014/issues.html
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply	[flat|nested] 19+ messages in thread

* [igt-dev] ✓ Fi.CI.IGT: success for series starting with [i-g-t] lib: Make libunwind optional again (rev5)
  2018-10-29  8:10 [igt-dev] [PATCH i-g-t 1/4] lib: Make libunwind optional again Daniel Vetter
                   ` (12 preceding siblings ...)
  2018-10-30 12:54 ` [igt-dev] ✓ Fi.CI.BAT: success " Patchwork
@ 2018-10-30 17:38 ` Patchwork
  13 siblings, 0 replies; 19+ messages in thread
From: Patchwork @ 2018-10-30 17:38 UTC (permalink / raw)
  To: Daniel Vetter; +Cc: igt-dev

== Series Details ==

Series: series starting with [i-g-t] lib: Make libunwind optional again (rev5)
URL   : https://patchwork.freedesktop.org/series/51652/
State : success

== Summary ==

= CI Bug Log - changes from IGT_4699_full -> IGTPW_2014_full =

== Summary - WARNING ==

  Minor unknown changes coming with IGTPW_2014_full need to be verified
  manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in IGTPW_2014_full, please notify your bug team to allow them
  to document this new failure mode, which will reduce false positives in CI.

  External URL: https://patchwork.freedesktop.org/api/1.0/series/51652/revisions/5/mbox/

== Possible new issues ==

  Here are the unknown changes that may have been introduced in IGTPW_2014_full:

  === IGT changes ===

    ==== Warnings ====

    igt@kms_chv_cursor_fail@pipe-b-64x64-top-edge:
      shard-snb:          PASS -> SKIP +2

    igt@pm_rc6_residency@rc6-accuracy:
      shard-snb:          SKIP -> PASS

    
== Known issues ==

  Here are the changes found in IGTPW_2014_full that come from known issues:

  === IGT changes ===

    ==== Issues hit ====

    igt@drv_suspend@shrink:
      shard-glk:          PASS -> INCOMPLETE (fdo#106886, k.org#198133, fdo#103359)

    igt@kms_busy@extended-pageflip-modeset-hang-oldfb-render-c:
      shard-apl:          NOTRUN -> DMESG-WARN (fdo#107956)

    igt@kms_ccs@pipe-a-crc-sprite-planes-basic:
      shard-glk:          PASS -> FAIL (fdo#108145)

    igt@kms_color@pipe-b-ctm-max:
      shard-apl:          PASS -> FAIL (fdo#108147) +1

    igt@kms_color@pipe-c-ctm-max:
      shard-kbl:          PASS -> FAIL (fdo#108147) +1

    igt@kms_cursor_crc@cursor-256x256-sliding:
      shard-glk:          PASS -> FAIL (fdo#103232) +8

    igt@kms_cursor_crc@cursor-256x256-suspend:
      shard-kbl:          PASS -> FAIL (fdo#103232, fdo#103191) +1

    igt@kms_cursor_crc@cursor-256x85-sliding:
      shard-kbl:          PASS -> FAIL (fdo#103232) +2
      shard-apl:          PASS -> FAIL (fdo#103232) +6

    igt@kms_cursor_crc@cursor-64x64-suspend:
      shard-apl:          PASS -> FAIL (fdo#103232, fdo#103191) +1

    igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-move:
      shard-glk:          PASS -> FAIL (fdo#103167) +8

    igt@kms_plane_alpha_blend@pipe-c-alpha-opaque-fb:
      shard-apl:          NOTRUN -> FAIL (fdo#108145)

    igt@kms_plane_multiple@atomic-pipe-b-tiling-y:
      shard-glk:          PASS -> FAIL (fdo#103166) +1
      shard-apl:          PASS -> FAIL (fdo#103166) +1

    igt@kms_setmode@basic:
      shard-kbl:          PASS -> FAIL (fdo#99912)

    
    ==== Possible fixes ====

    igt@gem_exec_blt@normal-min:
      shard-apl:          INCOMPLETE (fdo#103927) -> PASS

    igt@gem_userptr_blits@unsync-unmap:
      shard-glk:          DMESG-WARN (fdo#105763, fdo#106538) -> PASS

    igt@kms_busy@extended-modeset-hang-newfb-render-c:
      shard-kbl:          DMESG-WARN (fdo#107956) -> PASS

    igt@kms_cursor_crc@cursor-64x21-random:
      shard-apl:          FAIL (fdo#103232) -> PASS +2
      shard-kbl:          FAIL (fdo#103232) -> PASS +1

    igt@kms_cursor_crc@cursor-64x64-sliding:
      shard-glk:          FAIL (fdo#103232) -> PASS +1

    igt@kms_draw_crc@draw-method-rgb565-pwrite-ytiled:
      shard-glk:          FAIL (fdo#103184) -> PASS +1

    igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-mmap-cpu:
      shard-kbl:          FAIL (fdo#103167) -> PASS +1

    igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-mmap-gtt:
      shard-apl:          FAIL (fdo#103167) -> PASS +2

    igt@kms_frontbuffer_tracking@fbc-2p-primscrn-cur-indfb-move:
      shard-glk:          FAIL (fdo#103167) -> PASS +5

    igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-onoff:
      shard-glk:          DMESG-FAIL (fdo#106538, fdo#103167) -> PASS

    igt@kms_plane@plane-position-covered-pipe-a-planes:
      shard-glk:          FAIL (fdo#103166) -> PASS +2

    igt@kms_plane_alpha_blend@pipe-a-constant-alpha-max:
      shard-glk:          FAIL (fdo#108145) -> PASS

    igt@kms_plane_multiple@atomic-pipe-c-tiling-yf:
      shard-apl:          FAIL (fdo#103166) -> PASS +1
      shard-kbl:          FAIL (fdo#103166) -> PASS +1

    igt@kms_setmode@basic:
      shard-hsw:          FAIL (fdo#99912) -> PASS

    
    ==== Warnings ====

    igt@kms_content_protection@atomic:
      shard-apl:          DMESG-FAIL (fdo#108549) -> FAIL (fdo#108597) +1

    
  fdo#103166 https://bugs.freedesktop.org/show_bug.cgi?id=103166
  fdo#103167 https://bugs.freedesktop.org/show_bug.cgi?id=103167
  fdo#103184 https://bugs.freedesktop.org/show_bug.cgi?id=103184
  fdo#103191 https://bugs.freedesktop.org/show_bug.cgi?id=103191
  fdo#103232 https://bugs.freedesktop.org/show_bug.cgi?id=103232
  fdo#103359 https://bugs.freedesktop.org/show_bug.cgi?id=103359
  fdo#103927 https://bugs.freedesktop.org/show_bug.cgi?id=103927
  fdo#105763 https://bugs.freedesktop.org/show_bug.cgi?id=105763
  fdo#106538 https://bugs.freedesktop.org/show_bug.cgi?id=106538
  fdo#106886 https://bugs.freedesktop.org/show_bug.cgi?id=106886
  fdo#107956 https://bugs.freedesktop.org/show_bug.cgi?id=107956
  fdo#108145 https://bugs.freedesktop.org/show_bug.cgi?id=108145
  fdo#108147 https://bugs.freedesktop.org/show_bug.cgi?id=108147
  fdo#108549 https://bugs.freedesktop.org/show_bug.cgi?id=108549
  fdo#108597 https://bugs.freedesktop.org/show_bug.cgi?id=108597
  fdo#99912 https://bugs.freedesktop.org/show_bug.cgi?id=99912
  k.org#198133 https://bugzilla.kernel.org/show_bug.cgi?id=198133


== Participating hosts (6 -> 5) ==

  Missing    (1): shard-skl 


== Build changes ==

    * IGT: IGT_4699 -> IGTPW_2014
    * Linux: CI_DRM_5044 -> CI_DRM_5054

  CI_DRM_5044: c4487dca27970879bf67f331614142c749984d65 @ git://anongit.freedesktop.org/gfx-ci/linux
  CI_DRM_5054: dfa9e5c2b4b958e77c1109477b94c5c8615e25cc @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_2014: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2014/
  IGT_4699: 1270ec553741ac20c45178d2b26f9a9562ea565f @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2014/shards.html
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply	[flat|nested] 19+ messages in thread

* [igt-dev] [PATCH i-g-t 3/4] gitlab-ci: Build docs by default
  2018-10-30 12:22 [igt-dev] [PATCH i-g-t 1/4] lib: Make libunwind optional again Daniel Vetter
@ 2018-10-30 12:22 ` Daniel Vetter
  0 siblings, 0 replies; 19+ messages in thread
From: Daniel Vetter @ 2018-10-30 12:22 UTC (permalink / raw)
  To: IGT development; +Cc: Daniel Vetter

I just realized that when you push to a non-HEAD branch, then gitlab
doesn't bother to build the deploy stage. Which means if you push to a
branch, then that's not properly tested.

So build docs right away. We're not going to waste anything, since the
deploy:pages job will pick up right from where we left.

Reviewed-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Petri Latvala <petri.latvala@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
---
 .gitlab-ci.yml | 1 +
 1 file changed, 1 insertion(+)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index e0251d0a56e4..bec09e3e15c5 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -24,6 +24,7 @@ build:tests-fedora:
   script:
     - meson $MESON_OPTIONS build
     - ninja -C build
+    - ninja -C build igt-gpu-tools-doc
   artifacts:
     paths:
       - build
-- 
2.19.1

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply related	[flat|nested] 19+ messages in thread

end of thread, other threads:[~2018-10-30 17:38 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-10-29  8:10 [igt-dev] [PATCH i-g-t 1/4] lib: Make libunwind optional again Daniel Vetter
2018-10-29  8:10 ` [igt-dev] [PATCH i-g-t 2/4] gitlab-ci: build test libunwind stubs Daniel Vetter
2018-10-29  8:10 ` [igt-dev] [PATCH i-g-t 3/4] gitlab-ci: Build docs by default Daniel Vetter
2018-10-29  8:10 ` [igt-dev] [PATCH i-g-t 4/4] gitlab-ci: arm64 cross compiling Daniel Vetter
2018-10-29  8:39 ` [igt-dev] ✓ Fi.CI.BAT: success for series starting with [i-g-t,1/4] lib: Make libunwind optional again Patchwork
2018-10-29  9:33 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
2018-10-29 10:20 ` [igt-dev] [PATCH i-g-t 1/4] " Petri Latvala
2018-10-29 15:35   ` Daniel Vetter
2018-10-29 15:41 ` Eric Anholt
2018-10-29 15:55 ` [igt-dev] [PATCH i-g-t] " Daniel Vetter
2018-10-29 17:15 ` Daniel Vetter
2018-10-29 17:20 ` Daniel Vetter
2018-10-29 18:37   ` Sean Paul
2018-10-29 19:06 ` Daniel Vetter
2018-10-30 10:28   ` Petri Latvala
2018-10-30  2:24 ` [igt-dev] ✗ Fi.CI.BAT: failure for series starting with [i-g-t] lib: Make libunwind optional again (rev5) Patchwork
2018-10-30 12:54 ` [igt-dev] ✓ Fi.CI.BAT: success " Patchwork
2018-10-30 17:38 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
2018-10-30 12:22 [igt-dev] [PATCH i-g-t 1/4] lib: Make libunwind optional again Daniel Vetter
2018-10-30 12:22 ` [igt-dev] [PATCH i-g-t 3/4] gitlab-ci: Build docs by default Daniel Vetter

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.