All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/6] mpeg2dec: Fix global symbol tests
@ 2019-01-31  6:50 Khem Raj
  2019-01-31  6:50 ` [PATCH 2/6] xinput-calibrator: Fix build with clang/libc++ Khem Raj
                   ` (4 more replies)
  0 siblings, 5 replies; 12+ messages in thread
From: Khem Raj @ 2019-01-31  6:50 UTC (permalink / raw)
  To: openembedded-core

Rewrite the public symbol check to verify the shared libraries, to check for
more things, and to avoid duplication; fixes make check on ARM

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 .../files/61_global-symbol-test.patch         | 70 +++++++++++++++++++
 .../mpeg2dec/mpeg2dec_0.5.1.bb                |  1 +
 2 files changed, 71 insertions(+)
 create mode 100644 meta/recipes-multimedia/mpeg2dec/files/61_global-symbol-test.patch

diff --git a/meta/recipes-multimedia/mpeg2dec/files/61_global-symbol-test.patch b/meta/recipes-multimedia/mpeg2dec/files/61_global-symbol-test.patch
new file mode 100644
index 0000000000..00b667d336
--- /dev/null
+++ b/meta/recipes-multimedia/mpeg2dec/files/61_global-symbol-test.patch
@@ -0,0 +1,70 @@
+Rewrite the public symbol check to verify the shared libraries, to check for
+more things, and to avoid duplication; fixes make check on ARM
+
+Taken From
+https://sources.debian.org/src/mpeg2dec/0.5.1-8/debian/patches/61_global-symbol-test.patch/
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ test/globals |   42 +++++++++++++++++++++++++++---------------
+ 1 file changed, 27 insertions(+), 15 deletions(-)
+
+--- mpeg2dec.orig/test/globals
++++ mpeg2dec/test/globals
+@@ -1,4 +1,8 @@
+ #!/bin/sh
++# TODO
++# - fix checking of .a libs; problem is that "nm -g --defined-only" lists
++#   internal symbols; this can be solved by using objdump, but it's probably
++#   good enough to just run the tests on the shared lib
+ 
+ if test x"$srcdir" != x""; then
+     builddir="."	# running from make check, but it does not define that
+@@ -14,22 +18,30 @@ builddir=`cd $builddir;pwd`
+ 
+ error=0
+ 
+-bad_globals=`nm -g --defined-only $builddir/../libmpeg2/*.o |\
+-    awk '{if ($3) print $3}' | grep -v '^_\?mpeg2_'`
+-
+-if test x"$bad_globals" != x""; then
+-    echo BAD GLOBAL SYMBOLS:
+-    for s in $bad_globals; do echo $s; done
++# check_bad_public_symbols <symbol prefix> <lib file> [<lib file>...]
++#
++# checks public symbols in shared libs:
++# - allow prefix_anything
++# - reject _prefixanything
++# - allow _anything
++# - reject anything else
++#
++# NB: skips missing files
++check_bad_public_symbols() {
++    symbols_prefix="$1"
++    shift
++    lib_files=`ls "$@" 2>/dev/null`
++    [ -z "$lib_files" ] && return
++    bad_globals=`nm -g --defined-only $lib_files |
++        awk '{if ($3) print $3}' |
++        sed -n "/^${symbols_prefix}_/ d; /^_${symbols_prefix}/ { p; d }; /^_/ d; p"`
++    [ -z "$bad_globals" ] && return
+     error=1
+-fi
+-
+-bad_globals=`nm -g --defined-only $builddir/../libmpeg2/convert/*.o |\
+-    awk '{if ($3) print $3}' | grep -v '^_\?mpeg2convert_'`
++    echo BAD GLOBAL SYMBOLS in $lib_files:
++    echo "$bad_globals"
++}
+ 
+-if test x"$bad_globals" != x""; then
+-    echo BAD GLOBAL SYMBOLS:
+-    for s in $bad_globals; do echo $s; done
+-    error=1
+-fi
++check_bad_public_symbols mpeg2 $builddir/../libmpeg2/.libs/libmpeg2.so
++check_bad_public_symbols mpeg2convert $builddir/../libmpeg2/convert/.libs/libmpeg2convert.so
+ 
+ exit $error
diff --git a/meta/recipes-multimedia/mpeg2dec/mpeg2dec_0.5.1.bb b/meta/recipes-multimedia/mpeg2dec/mpeg2dec_0.5.1.bb
index 7711c2dc10..6b59d4f681 100644
--- a/meta/recipes-multimedia/mpeg2dec/mpeg2dec_0.5.1.bb
+++ b/meta/recipes-multimedia/mpeg2dec/mpeg2dec_0.5.1.bb
@@ -10,6 +10,7 @@ SRC_URI = "http://libmpeg2.sourceforge.net/files/libmpeg2-${PV}.tar.gz \
            file://altivec_h_needed.patch \
            file://0001-check-for-available-arm-optimizations.patch \
            file://0002-Set-visibility-of-global-symbols-used-in-ARM-specifi.patch \
+           file://61_global-symbol-test.patch \
            "
 
 S = "${WORKDIR}/libmpeg2-${PV}"
-- 
2.20.1



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

* [PATCH 2/6] xinput-calibrator: Fix build with clang/libc++
  2019-01-31  6:50 [PATCH 1/6] mpeg2dec: Fix global symbol tests Khem Raj
@ 2019-01-31  6:50 ` Khem Raj
  2019-01-31  6:50 ` [PATCH 3/6] libproxy: " Khem Raj
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 12+ messages in thread
From: Khem Raj @ 2019-01-31  6:50 UTC (permalink / raw)
  To: openembedded-core

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 ....hh-Include-string-to-get-std-string.patch | 28 +++++++++++++++++++
 .../xinput-calibrator_git.bb                  |  4 ++-
 2 files changed, 31 insertions(+), 1 deletion(-)
 create mode 100644 meta/recipes-graphics/xinput-calibrator/xinput-calibrator/0001-calibrator.hh-Include-string-to-get-std-string.patch

diff --git a/meta/recipes-graphics/xinput-calibrator/xinput-calibrator/0001-calibrator.hh-Include-string-to-get-std-string.patch b/meta/recipes-graphics/xinput-calibrator/xinput-calibrator/0001-calibrator.hh-Include-string-to-get-std-string.patch
new file mode 100644
index 0000000000..37617600d5
--- /dev/null
+++ b/meta/recipes-graphics/xinput-calibrator/xinput-calibrator/0001-calibrator.hh-Include-string-to-get-std-string.patch
@@ -0,0 +1,28 @@
+From 79bc507b48d4acd3dec8a85ab6b341b872d44a05 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 29 Jan 2019 22:40:24 -0800
+Subject: [PATCH] calibrator.hh: Include <string> to get std::string
+
+Found with libc++
+
+Upstream-Status: Submitted [https://github.com/tias/xinput_calibrator/pull/76]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/calibrator.hh | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/calibrator.hh b/src/calibrator.hh
+index a6f9504..e75bcef 100644
+--- a/src/calibrator.hh
++++ b/src/calibrator.hh
+@@ -29,6 +29,7 @@
+ #include <X11/Xlib.h>
+ #include <stdio.h>
+ #include <vector>
++#include <string>
+ 
+ // XXX: we currently don't handle lines that are longer than this
+ #define MAX_LINE_LEN 1024
+-- 
+2.20.1
+
diff --git a/meta/recipes-graphics/xinput-calibrator/xinput-calibrator_git.bb b/meta/recipes-graphics/xinput-calibrator/xinput-calibrator_git.bb
index 68e62ea6d9..9873d3f33f 100644
--- a/meta/recipes-graphics/xinput-calibrator/xinput-calibrator_git.bb
+++ b/meta/recipes-graphics/xinput-calibrator/xinput-calibrator_git.bb
@@ -14,7 +14,9 @@ REQUIRED_DISTRO_FEATURES = "x11"
 SRCREV = "03dadf55109bd43d3380f040debe9f82f66f2f35"
 SRC_URI = "git://github.com/tias/xinput_calibrator.git \
            file://30xinput_calibrate.sh \
-           file://Allow-xinput_calibrator_pointercal.sh-to-be-run-as-n.patch"
+           file://Allow-xinput_calibrator_pointercal.sh-to-be-run-as-n.patch \
+           file://0001-calibrator.hh-Include-string-to-get-std-string.patch \
+           "
 
 S = "${WORKDIR}/git"
 
-- 
2.20.1



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

* [PATCH 3/6] libproxy: Fix build with clang/libc++
  2019-01-31  6:50 [PATCH 1/6] mpeg2dec: Fix global symbol tests Khem Raj
  2019-01-31  6:50 ` [PATCH 2/6] xinput-calibrator: Fix build with clang/libc++ Khem Raj
@ 2019-01-31  6:50 ` Khem Raj
  2019-01-31  6:50 ` [PATCH 4/6] libdnf: " Khem Raj
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 12+ messages in thread
From: Khem Raj @ 2019-01-31  6:50 UTC (permalink / raw)
  To: openembedded-core

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 ...t-pac-test-Fix-build-with-clang-libc.patch | 31 +++++++++++++++++++
 .../libproxy/libproxy_0.4.15.bb               |  4 ++-
 2 files changed, 34 insertions(+), 1 deletion(-)
 create mode 100644 meta/recipes-support/libproxy/libproxy/0001-get-pac-test-Fix-build-with-clang-libc.patch

diff --git a/meta/recipes-support/libproxy/libproxy/0001-get-pac-test-Fix-build-with-clang-libc.patch b/meta/recipes-support/libproxy/libproxy/0001-get-pac-test-Fix-build-with-clang-libc.patch
new file mode 100644
index 0000000000..fedda9dd95
--- /dev/null
+++ b/meta/recipes-support/libproxy/libproxy/0001-get-pac-test-Fix-build-with-clang-libc.patch
@@ -0,0 +1,31 @@
+From 2d73469c7a17ebfe4330ac6643b0c8abdc125d05 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 30 Jan 2019 09:29:44 -0800
+Subject: [PATCH] get-pac-test: Fix build with clang/libc++
+
+get-pac-test.cpp:55:10: error: assigning to 'int' from incompatible type '__bind<int &, sockaddr *, unsigned int>'
+                        ret = bind(m_sock, (sockaddr*)&addr, sizeof (struct sockaddr_in));                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Upstream-Status: Submitted [https://github.com/libproxy/libproxy/pull/97]
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ libproxy/test/get-pac-test.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/libproxy/test/get-pac-test.cpp b/libproxy/test/get-pac-test.cpp
+index 0059dfb..911f296 100644
+--- a/libproxy/test/get-pac-test.cpp
++++ b/libproxy/test/get-pac-test.cpp
+@@ -52,7 +52,7 @@ class TestServer {
+ 
+ 			setsockopt(m_sock, SOL_SOCKET, SO_REUSEADDR, &i, sizeof(i));
+ 
+-			ret = bind(m_sock, (sockaddr*)&addr, sizeof (struct sockaddr_in));
++			ret = ::bind(m_sock, (sockaddr*)&addr, sizeof (struct sockaddr_in));
+ 			assert(!ret);
+ 
+ 			ret = listen(m_sock, 1);
+-- 
+2.20.1
+
diff --git a/meta/recipes-support/libproxy/libproxy_0.4.15.bb b/meta/recipes-support/libproxy/libproxy_0.4.15.bb
index dd7ad922d3..19dddebd44 100644
--- a/meta/recipes-support/libproxy/libproxy_0.4.15.bb
+++ b/meta/recipes-support/libproxy/libproxy_0.4.15.bb
@@ -8,7 +8,9 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c \
 
 DEPENDS = "glib-2.0"
 
-SRC_URI = "https://github.com/${BPN}/${BPN}/releases/download/${PV}/${BP}.tar.xz"
+SRC_URI = "https://github.com/${BPN}/${BPN}/releases/download/${PV}/${BP}.tar.xz \
+           file://0001-get-pac-test-Fix-build-with-clang-libc.patch \
+          "
 SRC_URI[md5sum] = "f6b1d2a1e17a99cd3debaae6d04ab152"
 SRC_URI[sha256sum] = "654db464120c9534654590b6683c7fa3887b3dad0ca1c4cd412af24fbfca6d4f"
 
-- 
2.20.1



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

* [PATCH 4/6] libdnf: Fix build with clang/libc++
  2019-01-31  6:50 [PATCH 1/6] mpeg2dec: Fix global symbol tests Khem Raj
  2019-01-31  6:50 ` [PATCH 2/6] xinput-calibrator: Fix build with clang/libc++ Khem Raj
  2019-01-31  6:50 ` [PATCH 3/6] libproxy: " Khem Raj
@ 2019-01-31  6:50 ` Khem Raj
  2019-01-31  6:50 ` [PATCH 5/6] webkitgtk: Fix build with clang/libc++ >= 7.0.0 Khem Raj
  2019-01-31  6:50 ` [PATCH 6/6] llvm: Upgrade to upcoming 8.0.0 release Khem Raj
  4 siblings, 0 replies; 12+ messages in thread
From: Khem Raj @ 2019-01-31  6:50 UTC (permalink / raw)
  To: openembedded-core

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 ...e-missing-string-and-errno.h-headers.patch | 65 +++++++++++++++++++
 meta/recipes-devtools/libdnf/libdnf_0.24.1.bb |  1 +
 2 files changed, 66 insertions(+)
 create mode 100644 meta/recipes-devtools/libdnf/libdnf/0001-include-missing-string-and-errno.h-headers.patch

diff --git a/meta/recipes-devtools/libdnf/libdnf/0001-include-missing-string-and-errno.h-headers.patch b/meta/recipes-devtools/libdnf/libdnf/0001-include-missing-string-and-errno.h-headers.patch
new file mode 100644
index 0000000000..62de784820
--- /dev/null
+++ b/meta/recipes-devtools/libdnf/libdnf/0001-include-missing-string-and-errno.h-headers.patch
@@ -0,0 +1,65 @@
+From ccc89ff0c1f8e55a4a22444d051925408f265df1 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 30 Jan 2019 10:32:11 -0800
+Subject: [PATCH] include missing <string> and errno.h headers
+
+This is unearthed when compiling with clang/libc++
+
+Upstream-Status: Submitted [https://github.com/rpm-software-management/libdnf/pull/677]
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ libdnf/conf/ConfigParser.hpp             | 1 +
+ libdnf/module/modulemd/ModuleProfile.hpp | 1 +
+ libdnf/sack/changelog.hpp                | 1 +
+ libdnf/utils/smartcols/Cell.hpp          | 1 +
+ 4 files changed, 4 insertions(+)
+
+diff --git a/libdnf/conf/ConfigParser.hpp b/libdnf/conf/ConfigParser.hpp
+index 97f25500..2a3851fa 100644
+--- a/libdnf/conf/ConfigParser.hpp
++++ b/libdnf/conf/ConfigParser.hpp
+@@ -23,6 +23,7 @@
+ 
+ #include <map>
+ #include <stdexcept>
++#include <string>
+ #include <utility>
+ 
+ namespace libdnf {
+diff --git a/libdnf/module/modulemd/ModuleProfile.hpp b/libdnf/module/modulemd/ModuleProfile.hpp
+index ab018deb..8d996ff4 100644
+--- a/libdnf/module/modulemd/ModuleProfile.hpp
++++ b/libdnf/module/modulemd/ModuleProfile.hpp
+@@ -23,6 +23,7 @@
+ 
+ 
+ #include <memory>
++#include <string>
+ #include <vector>
+ 
+ #include <modulemd/modulemd.h>
+diff --git a/libdnf/sack/changelog.hpp b/libdnf/sack/changelog.hpp
+index a3d3fc44..d830c414 100644
+--- a/libdnf/sack/changelog.hpp
++++ b/libdnf/sack/changelog.hpp
+@@ -23,6 +23,7 @@
+ #define __CHANGELOG_HPP
+ 
+ #include <ctime>
++#include <string>
+ 
+ namespace libdnf {
+ 
+diff --git a/libdnf/utils/smartcols/Cell.hpp b/libdnf/utils/smartcols/Cell.hpp
+index 2e811dee..b90f0050 100644
+--- a/libdnf/utils/smartcols/Cell.hpp
++++ b/libdnf/utils/smartcols/Cell.hpp
+@@ -22,6 +22,7 @@
+ #define LIBDNF_CELL_HPP
+ 
+ #include <libsmartcols/libsmartcols.h>
++#include <cerrno>
+ #include <string>
+ #include <stdexcept>
+ 
diff --git a/meta/recipes-devtools/libdnf/libdnf_0.24.1.bb b/meta/recipes-devtools/libdnf/libdnf_0.24.1.bb
index e379d8b256..a55acb2ef0 100644
--- a/meta/recipes-devtools/libdnf/libdnf_0.24.1.bb
+++ b/meta/recipes-devtools/libdnf/libdnf_0.24.1.bb
@@ -7,6 +7,7 @@ SRC_URI = "git://github.com/rpm-software-management/libdnf \
            file://0004-Set-libsolv-variables-with-pkg-config-cmake-s-own-mo.patch \
            file://0001-Get-parameters-for-both-libsolv-and-libsolvext-libdn.patch \
            file://0001-Add-WITH_TESTS-option.patch \
+           file://0001-include-missing-string-and-errno.h-headers.patch \
            "
 
 SRCREV = "04b71d78a2170e930a3c248d48a231b19f823064"
-- 
2.20.1



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

* [PATCH 5/6] webkitgtk: Fix build with clang/libc++ >= 7.0.0
  2019-01-31  6:50 [PATCH 1/6] mpeg2dec: Fix global symbol tests Khem Raj
                   ` (2 preceding siblings ...)
  2019-01-31  6:50 ` [PATCH 4/6] libdnf: " Khem Raj
@ 2019-01-31  6:50 ` Khem Raj
  2019-01-31  6:50 ` [PATCH 6/6] llvm: Upgrade to upcoming 8.0.0 release Khem Raj
  4 siblings, 0 replies; 12+ messages in thread
From: Khem Raj @ 2019-01-31  6:50 UTC (permalink / raw)
  To: openembedded-core

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 .../webkitgtk/bad_optional_access.patch       | 35 +++++++++++++++++++
 meta/recipes-sato/webkit/webkitgtk_2.22.5.bb  |  1 +
 2 files changed, 36 insertions(+)
 create mode 100644 meta/recipes-sato/webkit/webkitgtk/bad_optional_access.patch

diff --git a/meta/recipes-sato/webkit/webkitgtk/bad_optional_access.patch b/meta/recipes-sato/webkit/webkitgtk/bad_optional_access.patch
new file mode 100644
index 0000000000..9d0d50b79e
--- /dev/null
+++ b/meta/recipes-sato/webkit/webkitgtk/bad_optional_access.patch
@@ -0,0 +1,35 @@
+unbreak build with libc++ 7
+
+based on
+https://svnweb.freebsd.org/ports/head/www/webkit2-gtk3/files/patch-Source_WTF_wtf_Optional.h?view=markup&pathrev=477812
+
+Fixes
+
+/usr/include/c++/v1/optional:171:29: error: redefinition of 'bad_optional_access'
+class _LIBCPP_EXCEPTION_ABI bad_optional_access
+                            ^
+DerivedSources/ForwardingHeaders/wtf/Optional.h:295:7: note: previous definition is here
+class bad_optional_access : public std::logic_error {
+      ^
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+--- a/Source/WTF/wtf/Optional.h
++++ b/Source/WTF/wtf/Optional.h
+@@ -276,14 +276,14 @@ struct nullopt_t
+ };
+ constexpr nullopt_t nullopt{nullopt_t::init()};
+ 
+-
++# if !defined(_LIBCPP_VERSION) || _LIBCPP_VERSION < 7000
+ // 20.5.8, class bad_optional_access
+ class bad_optional_access : public std::logic_error {
+ public:
+   explicit bad_optional_access(const std::string& what_arg) : std::logic_error{what_arg} {}
+   explicit bad_optional_access(const char* what_arg) : std::logic_error{what_arg} {}
+ };
+-
++# endif // _LIBCPP_VERSION < 7000
+ 
+ template <class T>
+ union storage_t
diff --git a/meta/recipes-sato/webkit/webkitgtk_2.22.5.bb b/meta/recipes-sato/webkit/webkitgtk_2.22.5.bb
index e3579e472b..3d8c0338c7 100644
--- a/meta/recipes-sato/webkit/webkitgtk_2.22.5.bb
+++ b/meta/recipes-sato/webkit/webkitgtk_2.22.5.bb
@@ -20,6 +20,7 @@ SRC_URI = "http://www.webkitgtk.org/releases/${BPN}-${PV}.tar.xz \
            file://0001-WebKitMacros-Append-to-I-and-not-to-isystem.patch \
            file://0001-Fix-build-with-musl.patch \
            file://detect-gstreamer-gl.patch \
+           file://bad_optional_access.patch \
            "
 
 SRC_URI[md5sum] = "96a731522b800f38e70f85c22f8de477"
-- 
2.20.1



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

* [PATCH 6/6] llvm: Upgrade to upcoming 8.0.0 release
  2019-01-31  6:50 [PATCH 1/6] mpeg2dec: Fix global symbol tests Khem Raj
                   ` (3 preceding siblings ...)
  2019-01-31  6:50 ` [PATCH 5/6] webkitgtk: Fix build with clang/libc++ >= 7.0.0 Khem Raj
@ 2019-01-31  6:50 ` Khem Raj
  2019-02-01 15:11   ` Richard Purdie
  2019-02-18  9:46   ` Alexander Kanavin
  4 siblings, 2 replies; 12+ messages in thread
From: Khem Raj @ 2019-01-31  6:50 UTC (permalink / raw)
  To: openembedded-core

License-Update: Copyright year updates from 2017-2019

Refresh patches to apply on new version

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 ...ryInfo-Undefine-libc-functions-if-th.patch | 28 ++++----
 ...-llvm-allow-env-override-of-exe-path.patch | 66 +++++++++++++++----
 meta/recipes-devtools/llvm/llvm_git.bb        | 25 ++++---
 3 files changed, 83 insertions(+), 36 deletions(-)

diff --git a/meta/recipes-devtools/llvm/llvm/0001-llvm-TargetLibraryInfo-Undefine-libc-functions-if-th.patch b/meta/recipes-devtools/llvm/llvm/0001-llvm-TargetLibraryInfo-Undefine-libc-functions-if-th.patch
index 209764c8ba..6dbbced7eb 100644
--- a/meta/recipes-devtools/llvm/llvm/0001-llvm-TargetLibraryInfo-Undefine-libc-functions-if-th.patch
+++ b/meta/recipes-devtools/llvm/llvm/0001-llvm-TargetLibraryInfo-Undefine-libc-functions-if-th.patch
@@ -1,24 +1,22 @@
-From 96558c4f25d5132936014f6f2d6252cfdfdf478a Mon Sep 17 00:00:00 2001
+From 905cac8934fb17e20416a4df712a566e757471a3 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Sat, 21 May 2016 00:33:20 +0000
-Subject: [PATCH 1/2] llvm: TargetLibraryInfo: Undefine libc functions if they
- are macros
+Subject: [PATCH 1/2] llvm: TargetLibraryInfo: Undefine libc functions if they are macros
 
 musl defines some functions as macros and not inline functions
 if this is the case then make sure to undefine them
 
+Upstream-Status: Pending
 Signed-off-by: Khem Raj <raj.khem@gmail.com>
 ---
-Upstream-Status: Pending
-
  include/llvm/Analysis/TargetLibraryInfo.def | 21 +++++++++++++++++++++
  1 file changed, 21 insertions(+)
 
 diff --git a/include/llvm/Analysis/TargetLibraryInfo.def b/include/llvm/Analysis/TargetLibraryInfo.def
-index a461ed813b9..f9fd9faeee0 100644
+index 518a85ee1a0..6b4ead4efc6 100644
 --- a/include/llvm/Analysis/TargetLibraryInfo.def
 +++ b/include/llvm/Analysis/TargetLibraryInfo.def
-@@ -665,6 +665,9 @@ TLI_DEFINE_STRING_INTERNAL("fmodl")
+@@ -731,6 +731,9 @@ TLI_DEFINE_STRING_INTERNAL("fmodl")
  TLI_DEFINE_ENUM_INTERNAL(fopen)
  TLI_DEFINE_STRING_INTERNAL("fopen")
  /// FILE *fopen64(const char *filename, const char *opentype)
@@ -27,8 +25,8 @@ index a461ed813b9..f9fd9faeee0 100644
 +#endif
  TLI_DEFINE_ENUM_INTERNAL(fopen64)
  TLI_DEFINE_STRING_INTERNAL("fopen64")
- /// int fprintf(FILE *stream, const char *format, ...);
-@@ -700,6 +703,9 @@ TLI_DEFINE_STRING_INTERNAL("fseek")
+ /// int fork();
+@@ -778,6 +781,9 @@ TLI_DEFINE_STRING_INTERNAL("fseek")
  /// int fseeko(FILE *stream, off_t offset, int whence);
  TLI_DEFINE_ENUM_INTERNAL(fseeko)
  TLI_DEFINE_STRING_INTERNAL("fseeko")
@@ -38,7 +36,7 @@ index a461ed813b9..f9fd9faeee0 100644
  /// int fseeko64(FILE *stream, off64_t offset, int whence)
  TLI_DEFINE_ENUM_INTERNAL(fseeko64)
  TLI_DEFINE_STRING_INTERNAL("fseeko64")
-@@ -710,6 +716,9 @@ TLI_DEFINE_STRING_INTERNAL("fsetpos")
+@@ -788,6 +794,9 @@ TLI_DEFINE_STRING_INTERNAL("fsetpos")
  TLI_DEFINE_ENUM_INTERNAL(fstat)
  TLI_DEFINE_STRING_INTERNAL("fstat")
  /// int fstat64(int filedes, struct stat64 *buf)
@@ -48,7 +46,7 @@ index a461ed813b9..f9fd9faeee0 100644
  TLI_DEFINE_ENUM_INTERNAL(fstat64)
  TLI_DEFINE_STRING_INTERNAL("fstat64")
  /// int fstatvfs(int fildes, struct statvfs *buf);
-@@ -725,6 +734,9 @@ TLI_DEFINE_STRING_INTERNAL("ftell")
+@@ -803,6 +812,9 @@ TLI_DEFINE_STRING_INTERNAL("ftell")
  TLI_DEFINE_ENUM_INTERNAL(ftello)
  TLI_DEFINE_STRING_INTERNAL("ftello")
  /// off64_t ftello64(FILE *stream)
@@ -58,7 +56,7 @@ index a461ed813b9..f9fd9faeee0 100644
  TLI_DEFINE_ENUM_INTERNAL(ftello64)
  TLI_DEFINE_STRING_INTERNAL("ftello64")
  /// int ftrylockfile(FILE *file);
-@@ -845,6 +857,9 @@ TLI_DEFINE_STRING_INTERNAL("logl")
+@@ -929,6 +941,9 @@ TLI_DEFINE_STRING_INTERNAL("logl")
  TLI_DEFINE_ENUM_INTERNAL(lstat)
  TLI_DEFINE_STRING_INTERNAL("lstat")
  /// int lstat64(const char *path, struct stat64 *buf);
@@ -68,7 +66,7 @@ index a461ed813b9..f9fd9faeee0 100644
  TLI_DEFINE_ENUM_INTERNAL(lstat64)
  TLI_DEFINE_STRING_INTERNAL("lstat64")
  /// void *malloc(size_t size);
-@@ -1064,6 +1079,9 @@ TLI_DEFINE_STRING_INTERNAL("sscanf")
+@@ -1154,6 +1169,9 @@ TLI_DEFINE_STRING_INTERNAL("sscanf")
  TLI_DEFINE_ENUM_INTERNAL(stat)
  TLI_DEFINE_STRING_INTERNAL("stat")
  /// int stat64(const char *path, struct stat64 *buf);
@@ -78,7 +76,7 @@ index a461ed813b9..f9fd9faeee0 100644
  TLI_DEFINE_ENUM_INTERNAL(stat64)
  TLI_DEFINE_STRING_INTERNAL("stat64")
  /// int statvfs(const char *path, struct statvfs *buf);
-@@ -1193,6 +1211,9 @@ TLI_DEFINE_STRING_INTERNAL("times")
+@@ -1283,6 +1301,9 @@ TLI_DEFINE_STRING_INTERNAL("times")
  TLI_DEFINE_ENUM_INTERNAL(tmpfile)
  TLI_DEFINE_STRING_INTERNAL("tmpfile")
  /// FILE *tmpfile64(void)
@@ -89,5 +87,5 @@ index a461ed813b9..f9fd9faeee0 100644
  TLI_DEFINE_STRING_INTERNAL("tmpfile64")
  /// int toascii(int c);
 -- 
-2.16.1
+2.20.1
 
diff --git a/meta/recipes-devtools/llvm/llvm/0002-llvm-allow-env-override-of-exe-path.patch b/meta/recipes-devtools/llvm/llvm/0002-llvm-allow-env-override-of-exe-path.patch
index 6a9283323c..2970b0827b 100644
--- a/meta/recipes-devtools/llvm/llvm/0002-llvm-allow-env-override-of-exe-path.patch
+++ b/meta/recipes-devtools/llvm/llvm/0002-llvm-allow-env-override-of-exe-path.patch
@@ -1,4 +1,4 @@
-From aeccf16eaccdd80e4d5ecaa51673ce4b2bac1130 Mon Sep 17 00:00:00 2001
+From 0570fe02c07244a8724c1e6c0437f893c8aa8e93 Mon Sep 17 00:00:00 2001
 From: Martin Kelly <mkelly@xevo.com>
 Date: Fri, 19 May 2017 00:22:57 -0700
 Subject: [PATCH 2/2] llvm: allow env override of exe path
@@ -16,16 +16,16 @@ Upstream-Status: Inappropriate [OE-Specific]
 Signed-off-by: Martin Kelly <mkelly@xevo.com>
 Signed-off-by: Khem Raj <raj.khem@gmail.com>
 ---
- tools/llvm-config/llvm-config.cpp | 17 ++++++++++++++++-
- 1 file changed, 16 insertions(+), 1 deletion(-)
+ tools/llvm-config/llvm-config.cpp | 35 ++++++++++++++++++++++---------
+ 1 file changed, 25 insertions(+), 10 deletions(-)
 
 diff --git a/tools/llvm-config/llvm-config.cpp b/tools/llvm-config/llvm-config.cpp
-index 08b096afb05..360cc5abf4e 100644
+index bec89fef98c..91b4d6e4c43 100644
 --- a/tools/llvm-config/llvm-config.cpp
 +++ b/tools/llvm-config/llvm-config.cpp
-@@ -225,6 +225,13 @@ Typical components:\n\
+@@ -226,6 +226,13 @@ Typical components:\n\
  
- /// \brief Compute the path to the main executable.
+ /// Compute the path to the main executable.
  std::string GetExecutablePath(const char *Argv0) {
 +  // Hack for Yocto: we need to override the root path when we are using
 +  // llvm-config from within a target sysroot.
@@ -37,7 +37,25 @@ index 08b096afb05..360cc5abf4e 100644
    // This just needs to be some symbol in the binary; C++ doesn't
    // allow taking the address of ::main however.
    void *P = (void *)(intptr_t)GetExecutablePath;
-@@ -306,12 +313,20 @@ int main(int argc, char **argv) {
+@@ -284,7 +291,7 @@ int main(int argc, char **argv) {
+   // bin dir).
+   sys::fs::make_absolute(CurrentPath);
+   CurrentExecPrefix =
+-      sys::path::parent_path(sys::path::parent_path(CurrentPath)).str();
++      sys::path::parent_path(sys::path::parent_path(sys::path::parent_path(CurrentPath))).str();
+ 
+   // Check to see if we are inside a development tree by comparing to possible
+   // locations (prefix style or CMake style).
+@@ -293,7 +300,7 @@ int main(int argc, char **argv) {
+     DevelopmentTreeLayout = CMakeStyle;
+     ActiveObjRoot = LLVM_OBJ_ROOT;
+   } else if (sys::fs::equivalent(CurrentExecPrefix,
+-                                 Twine(LLVM_OBJ_ROOT) + "/bin")) {
++                                 Twine(LLVM_OBJ_ROOT) + "/bin/llvm8.0")) {
+     IsInDevelopmentTree = true;
+     DevelopmentTreeLayout = CMakeBuildModeStyle;
+     ActiveObjRoot = LLVM_OBJ_ROOT;
+@@ -307,37 +314,45 @@ int main(int argc, char **argv) {
    std::string ActivePrefix, ActiveBinDir, ActiveIncludeDir, ActiveLibDir,
                ActiveCMakeDir;
    std::string ActiveIncludeOption;
@@ -45,11 +63,12 @@ index 08b096afb05..360cc5abf4e 100644
 +  // llvm-config from within a target sysroot.
 +  std::string Multilibdir = std::getenv("YOCTO_ALTERNATE_MULTILIB_NAME");
 +  if (Multilibdir.empty()) {
-+    Multilibdir = "/lib" LLVM_LIBDIR_SUFFIX;
++    Multilibdir = "/lib/llvm8.0" LLVM_LIBDIR_SUFFIX;
 +  }
 +
    if (IsInDevelopmentTree) {
-     ActiveIncludeDir = std::string(LLVM_SRC_ROOT) + "/include";
+-    ActiveIncludeDir = std::string(LLVM_SRC_ROOT) + "/include";
++    ActiveIncludeDir = std::string(LLVM_SRC_ROOT) + "/include/llvm8.0";
      ActivePrefix = CurrentExecPrefix;
  
      // CMake organizes the products differently than a normal prefix style
@@ -57,8 +76,31 @@ index 08b096afb05..360cc5abf4e 100644
 +
      switch (DevelopmentTreeLayout) {
      case CMakeStyle:
-       ActiveBinDir = ActiveObjRoot + "/bin";
-@@ -336,7 +351,7 @@ int main(int argc, char **argv) {
+-      ActiveBinDir = ActiveObjRoot + "/bin";
+-      ActiveLibDir = ActiveObjRoot + "/lib" + LLVM_LIBDIR_SUFFIX;
++      ActiveBinDir = ActiveObjRoot + "/bin/llvm8.0";
++      ActiveLibDir = ActiveObjRoot + "/lib/llvm8.0" + LLVM_LIBDIR_SUFFIX;
+       ActiveCMakeDir = ActiveLibDir + "/cmake/llvm";
+       break;
+     case CMakeBuildModeStyle:
+       ActivePrefix = ActiveObjRoot;
+-      ActiveBinDir = ActiveObjRoot + "/bin/" + build_mode;
++      ActiveBinDir = ActiveObjRoot + "/bin/llvm8.0/" + build_mode;
+       ActiveLibDir =
+-          ActiveObjRoot + "/lib" + LLVM_LIBDIR_SUFFIX + "/" + build_mode;
++          ActiveObjRoot + "/lib/llvm8.0" + LLVM_LIBDIR_SUFFIX + "/" + build_mode;
+       ActiveCMakeDir = ActiveLibDir + "/cmake/llvm";
+       break;
+     }
+ 
+     // We need to include files from both the source and object trees.
+     ActiveIncludeOption =
+-        ("-I" + ActiveIncludeDir + " " + "-I" + ActiveObjRoot + "/include");
++        ("-I" + ActiveIncludeDir + " " + "-I" + ActiveObjRoot + "/include/llvm8.0");
+   } else {
+     ActivePrefix = CurrentExecPrefix;
+-    ActiveIncludeDir = ActivePrefix + "/include";
++    ActiveIncludeDir = ActivePrefix + "/include/llvm8.0";
      SmallString<256> path(StringRef(LLVM_TOOLS_INSTALL_DIR));
      sys::fs::make_absolute(ActivePrefix, path);
      ActiveBinDir = path.str();
@@ -68,5 +110,5 @@ index 08b096afb05..360cc5abf4e 100644
      ActiveIncludeOption = "-I" + ActiveIncludeDir;
    }
 -- 
-2.18.0
+2.20.1
 
diff --git a/meta/recipes-devtools/llvm/llvm_git.bb b/meta/recipes-devtools/llvm/llvm_git.bb
index eb0779d6ec..a3dcab175d 100644
--- a/meta/recipes-devtools/llvm/llvm_git.bb
+++ b/meta/recipes-devtools/llvm/llvm_git.bb
@@ -6,7 +6,7 @@ HOMEPAGE = "http://llvm.org"
 LICENSE = "NCSA"
 SECTION = "devel"
 
-LIC_FILES_CHKSUM = "file://LICENSE.TXT;md5=e825e017edc35cfd58e26116e5251771"
+LIC_FILES_CHKSUM = "file://LICENSE.TXT;md5=c6b766a4e85dd28301eeed54a6684648"
 
 DEPENDS = "libffi libxml2 zlib ninja-native llvm-native"
 
@@ -19,18 +19,22 @@ PROVIDES += "llvm${PV}"
 LLVM_RELEASE = "${PV}"
 LLVM_DIR = "llvm${LLVM_RELEASE}"
 
-SRCREV = "5136df4d089a086b70d452160ad5451861269498"
-PV = "6.0"
-BRANCH = "release_60"
-PATCH_VERSION = "1"
-SRC_URI = "git://github.com/llvm-mirror/llvm.git;branch=${BRANCH};protocol=http \
+SRCREV = "5a46917218575e92e3f0f9378338fd215be39107"
+BRANCH = "release_${MAJOR_VERSION}${MINOR_VERSION}"
+MAJOR_VERSION = "8"
+MINOR_VERSION = "0"
+PATCH_VERSION = "0"
+PV = "${MAJOR_VERSION}.${MINOR_VERSION}"
+SRC_URI = "git://github.com/llvm-mirror/llvm.git;branch=${BRANCH} \
            file://0001-llvm-TargetLibraryInfo-Undefine-libc-functions-if-th.patch \
            file://0002-llvm-allow-env-override-of-exe-path.patch \
           "
 UPSTREAM_CHECK_COMMITS = "1"
+
 S = "${WORKDIR}/git"
 
 LLVM_INSTALL_DIR = "${WORKDIR}/llvm-install"
+
 def get_llvm_arch(bb, d, arch_var):
     import re
     a = d.getVar(arch_var)
@@ -117,7 +121,7 @@ do_install() {
 	# Remove unnecessary cmake files
 	rm -rf ${D}${libdir}/${LLVM_DIR}/cmake
 
-	ln -s ${LLVM_DIR}/libLLVM-${PV}${SOLIBSDEV} ${D}${libdir}/libLLVM-${PV}${SOLIBSDEV}
+	ln -s ${LLVM_DIR}/libLLVM-${MAJOR_VERSION}${SOLIBSDEV} ${D}${libdir}/libLLVM-${MAJOR_VERSION}${SOLIBSDEV}
 
 	# We'll have to delete the libLLVM.so due to multiple reasons...
 	rm -rf ${D}${libdir}/${LLVM_DIR}/libLLVM.so
@@ -126,7 +130,7 @@ do_install() {
 do_install_class-native() {
 	install -D -m 0755 ${B}/bin/llvm-tblgen ${D}${bindir}/llvm-tblgen${PV}
 	install -D -m 0755 ${B}/bin/llvm-config ${D}${bindir}/llvm-config${PV}
-	install -D -m 0755 ${B}/lib/libLLVM-${PV}.so ${D}${libdir}/libLLVM-${PV}.so
+	install -D -m 0755 ${B}/lib/libLLVM-${MAJOR_VERSION}.so ${D}${libdir}/libLLVM-${MAJOR_VERSION}.so
 }
 
 PACKAGES += "${PN}-bugpointpasses ${PN}-llvmhello"
@@ -139,6 +143,7 @@ FILES_${PN}-dbg = " \
     ${libdir}/${LLVM_DIR}/.debug/BugpointPasses.so \
     ${libdir}/${LLVM_DIR}/.debug/LLVMHello.so \
     ${libdir}/${LLVM_DIR}/.debug/libLTO.so* \
+    ${libdir}/${LLVM_DIR}/.debug/libOptRemarks.so* \
     ${libdir}/${LLVM_DIR}/.debug/llvm-config \
     /usr/src/debug \
 "
@@ -147,6 +152,7 @@ FILES_${PN}-dev = " \
     ${bindir}/${LLVM_DIR} \
     ${includedir}/${LLVM_DIR} \
     ${libdir}/${LLVM_DIR}/llvm-config \
+    ${libdir}/${LLVM_DIR}/libOptRemarks.so \
 "
 
 RRECOMMENDS_${PN}-dev += "${PN}-bugpointpasses ${PN}-llvmhello"
@@ -156,6 +162,7 @@ FILES_${PN}-bugpointpasses = "\
 "
 FILES_${PN} += "\
     ${libdir}/${LLVM_DIR}/libLTO.so.* \
+    ${libdir}/${LLVM_DIR}/libOptRemarks.so.* \
 "
 
 FILES_${PN}-llvmhello = "\
@@ -166,7 +173,7 @@ PACKAGES_DYNAMIC = "^libllvm${LLVM_RELEASE}-.*$"
 NOAUTOPACKAGEDEBUG = "1"
 
 INSANE_SKIP_${MLPREFIX}libllvm${LLVM_RELEASE}-llvm-${LLVM_RELEASE}.${PATCH_VERSION} += "dev-so"
-INSANE_SKIP_${MLPREFIX}libllvm${LLVM_RELEASE}-llvm-${LLVM_RELEASE} += "dev-so"
+INSANE_SKIP_${MLPREFIX}libllvm${LLVM_RELEASE}-llvm-${MAJOR_VERSION} += "dev-so"
 INSANE_SKIP_${MLPREFIX}libllvm${LLVM_RELEASE}-llvm += "dev-so"
 
 python llvm_populate_packages() {
-- 
2.20.1



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

* Re: [PATCH 6/6] llvm: Upgrade to upcoming 8.0.0 release
  2019-01-31  6:50 ` [PATCH 6/6] llvm: Upgrade to upcoming 8.0.0 release Khem Raj
@ 2019-02-01 15:11   ` Richard Purdie
  2019-02-18  9:46   ` Alexander Kanavin
  1 sibling, 0 replies; 12+ messages in thread
From: Richard Purdie @ 2019-02-01 15:11 UTC (permalink / raw)
  To: Khem Raj, openembedded-core

On Wed, 2019-01-30 at 22:50 -0800, Khem Raj wrote:
> License-Update: Copyright year updates from 2017-2019
> 
> Refresh patches to apply on new version
> 
> Signed-off-by: Khem Raj <raj.khem@gmail.com>
> ---
>  ...ryInfo-Undefine-libc-functions-if-th.patch | 28 ++++----
>  ...-llvm-allow-env-override-of-exe-path.patch | 66 +++++++++++++++
> ----
>  meta/recipes-devtools/llvm/llvm_git.bb        | 25 ++++---
>  3 files changed, 83 insertions(+), 36 deletions(-)

Nearly, but:

https://autobuilder.yoctoproject.org/typhoon/#/builders/72/builds/248

i.e. mesa needs its dependencies fixing/testing

Cheers,

Richard



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

* Re: [PATCH 6/6] llvm: Upgrade to upcoming 8.0.0 release
  2019-01-31  6:50 ` [PATCH 6/6] llvm: Upgrade to upcoming 8.0.0 release Khem Raj
  2019-02-01 15:11   ` Richard Purdie
@ 2019-02-18  9:46   ` Alexander Kanavin
  2019-02-18 15:03     ` Khem Raj
  1 sibling, 1 reply; 12+ messages in thread
From: Alexander Kanavin @ 2019-02-18  9:46 UTC (permalink / raw)
  To: Khem Raj, Richard Purdie; +Cc: OE-core

There is now an official git repo for llvm, which also has version tags:

https://github.com/llvm/llvm-project

I'll make a patch to switch over to that.

Also note that final 8.0 is not yet out, so the recipe shouldn't make
it look like it is.

Alex

On Thu, 31 Jan 2019 at 07:51, Khem Raj <raj.khem@gmail.com> wrote:
>
> License-Update: Copyright year updates from 2017-2019
>
> Refresh patches to apply on new version
>
> Signed-off-by: Khem Raj <raj.khem@gmail.com>
> ---
>  ...ryInfo-Undefine-libc-functions-if-th.patch | 28 ++++----
>  ...-llvm-allow-env-override-of-exe-path.patch | 66 +++++++++++++++----
>  meta/recipes-devtools/llvm/llvm_git.bb        | 25 ++++---
>  3 files changed, 83 insertions(+), 36 deletions(-)
>
> diff --git a/meta/recipes-devtools/llvm/llvm/0001-llvm-TargetLibraryInfo-Undefine-libc-functions-if-th.patch b/meta/recipes-devtools/llvm/llvm/0001-llvm-TargetLibraryInfo-Undefine-libc-functions-if-th.patch
> index 209764c8ba..6dbbced7eb 100644
> --- a/meta/recipes-devtools/llvm/llvm/0001-llvm-TargetLibraryInfo-Undefine-libc-functions-if-th.patch
> +++ b/meta/recipes-devtools/llvm/llvm/0001-llvm-TargetLibraryInfo-Undefine-libc-functions-if-th.patch
> @@ -1,24 +1,22 @@
> -From 96558c4f25d5132936014f6f2d6252cfdfdf478a Mon Sep 17 00:00:00 2001
> +From 905cac8934fb17e20416a4df712a566e757471a3 Mon Sep 17 00:00:00 2001
>  From: Khem Raj <raj.khem@gmail.com>
>  Date: Sat, 21 May 2016 00:33:20 +0000
> -Subject: [PATCH 1/2] llvm: TargetLibraryInfo: Undefine libc functions if they
> - are macros
> +Subject: [PATCH 1/2] llvm: TargetLibraryInfo: Undefine libc functions if they are macros
>
>  musl defines some functions as macros and not inline functions
>  if this is the case then make sure to undefine them
>
> +Upstream-Status: Pending
>  Signed-off-by: Khem Raj <raj.khem@gmail.com>
>  ---
> -Upstream-Status: Pending
> -
>   include/llvm/Analysis/TargetLibraryInfo.def | 21 +++++++++++++++++++++
>   1 file changed, 21 insertions(+)
>
>  diff --git a/include/llvm/Analysis/TargetLibraryInfo.def b/include/llvm/Analysis/TargetLibraryInfo.def
> -index a461ed813b9..f9fd9faeee0 100644
> +index 518a85ee1a0..6b4ead4efc6 100644
>  --- a/include/llvm/Analysis/TargetLibraryInfo.def
>  +++ b/include/llvm/Analysis/TargetLibraryInfo.def
> -@@ -665,6 +665,9 @@ TLI_DEFINE_STRING_INTERNAL("fmodl")
> +@@ -731,6 +731,9 @@ TLI_DEFINE_STRING_INTERNAL("fmodl")
>   TLI_DEFINE_ENUM_INTERNAL(fopen)
>   TLI_DEFINE_STRING_INTERNAL("fopen")
>   /// FILE *fopen64(const char *filename, const char *opentype)
> @@ -27,8 +25,8 @@ index a461ed813b9..f9fd9faeee0 100644
>  +#endif
>   TLI_DEFINE_ENUM_INTERNAL(fopen64)
>   TLI_DEFINE_STRING_INTERNAL("fopen64")
> - /// int fprintf(FILE *stream, const char *format, ...);
> -@@ -700,6 +703,9 @@ TLI_DEFINE_STRING_INTERNAL("fseek")
> + /// int fork();
> +@@ -778,6 +781,9 @@ TLI_DEFINE_STRING_INTERNAL("fseek")
>   /// int fseeko(FILE *stream, off_t offset, int whence);
>   TLI_DEFINE_ENUM_INTERNAL(fseeko)
>   TLI_DEFINE_STRING_INTERNAL("fseeko")
> @@ -38,7 +36,7 @@ index a461ed813b9..f9fd9faeee0 100644
>   /// int fseeko64(FILE *stream, off64_t offset, int whence)
>   TLI_DEFINE_ENUM_INTERNAL(fseeko64)
>   TLI_DEFINE_STRING_INTERNAL("fseeko64")
> -@@ -710,6 +716,9 @@ TLI_DEFINE_STRING_INTERNAL("fsetpos")
> +@@ -788,6 +794,9 @@ TLI_DEFINE_STRING_INTERNAL("fsetpos")
>   TLI_DEFINE_ENUM_INTERNAL(fstat)
>   TLI_DEFINE_STRING_INTERNAL("fstat")
>   /// int fstat64(int filedes, struct stat64 *buf)
> @@ -48,7 +46,7 @@ index a461ed813b9..f9fd9faeee0 100644
>   TLI_DEFINE_ENUM_INTERNAL(fstat64)
>   TLI_DEFINE_STRING_INTERNAL("fstat64")
>   /// int fstatvfs(int fildes, struct statvfs *buf);
> -@@ -725,6 +734,9 @@ TLI_DEFINE_STRING_INTERNAL("ftell")
> +@@ -803,6 +812,9 @@ TLI_DEFINE_STRING_INTERNAL("ftell")
>   TLI_DEFINE_ENUM_INTERNAL(ftello)
>   TLI_DEFINE_STRING_INTERNAL("ftello")
>   /// off64_t ftello64(FILE *stream)
> @@ -58,7 +56,7 @@ index a461ed813b9..f9fd9faeee0 100644
>   TLI_DEFINE_ENUM_INTERNAL(ftello64)
>   TLI_DEFINE_STRING_INTERNAL("ftello64")
>   /// int ftrylockfile(FILE *file);
> -@@ -845,6 +857,9 @@ TLI_DEFINE_STRING_INTERNAL("logl")
> +@@ -929,6 +941,9 @@ TLI_DEFINE_STRING_INTERNAL("logl")
>   TLI_DEFINE_ENUM_INTERNAL(lstat)
>   TLI_DEFINE_STRING_INTERNAL("lstat")
>   /// int lstat64(const char *path, struct stat64 *buf);
> @@ -68,7 +66,7 @@ index a461ed813b9..f9fd9faeee0 100644
>   TLI_DEFINE_ENUM_INTERNAL(lstat64)
>   TLI_DEFINE_STRING_INTERNAL("lstat64")
>   /// void *malloc(size_t size);
> -@@ -1064,6 +1079,9 @@ TLI_DEFINE_STRING_INTERNAL("sscanf")
> +@@ -1154,6 +1169,9 @@ TLI_DEFINE_STRING_INTERNAL("sscanf")
>   TLI_DEFINE_ENUM_INTERNAL(stat)
>   TLI_DEFINE_STRING_INTERNAL("stat")
>   /// int stat64(const char *path, struct stat64 *buf);
> @@ -78,7 +76,7 @@ index a461ed813b9..f9fd9faeee0 100644
>   TLI_DEFINE_ENUM_INTERNAL(stat64)
>   TLI_DEFINE_STRING_INTERNAL("stat64")
>   /// int statvfs(const char *path, struct statvfs *buf);
> -@@ -1193,6 +1211,9 @@ TLI_DEFINE_STRING_INTERNAL("times")
> +@@ -1283,6 +1301,9 @@ TLI_DEFINE_STRING_INTERNAL("times")
>   TLI_DEFINE_ENUM_INTERNAL(tmpfile)
>   TLI_DEFINE_STRING_INTERNAL("tmpfile")
>   /// FILE *tmpfile64(void)
> @@ -89,5 +87,5 @@ index a461ed813b9..f9fd9faeee0 100644
>   TLI_DEFINE_STRING_INTERNAL("tmpfile64")
>   /// int toascii(int c);
>  --
> -2.16.1
> +2.20.1
>
> diff --git a/meta/recipes-devtools/llvm/llvm/0002-llvm-allow-env-override-of-exe-path.patch b/meta/recipes-devtools/llvm/llvm/0002-llvm-allow-env-override-of-exe-path.patch
> index 6a9283323c..2970b0827b 100644
> --- a/meta/recipes-devtools/llvm/llvm/0002-llvm-allow-env-override-of-exe-path.patch
> +++ b/meta/recipes-devtools/llvm/llvm/0002-llvm-allow-env-override-of-exe-path.patch
> @@ -1,4 +1,4 @@
> -From aeccf16eaccdd80e4d5ecaa51673ce4b2bac1130 Mon Sep 17 00:00:00 2001
> +From 0570fe02c07244a8724c1e6c0437f893c8aa8e93 Mon Sep 17 00:00:00 2001
>  From: Martin Kelly <mkelly@xevo.com>
>  Date: Fri, 19 May 2017 00:22:57 -0700
>  Subject: [PATCH 2/2] llvm: allow env override of exe path
> @@ -16,16 +16,16 @@ Upstream-Status: Inappropriate [OE-Specific]
>  Signed-off-by: Martin Kelly <mkelly@xevo.com>
>  Signed-off-by: Khem Raj <raj.khem@gmail.com>
>  ---
> - tools/llvm-config/llvm-config.cpp | 17 ++++++++++++++++-
> - 1 file changed, 16 insertions(+), 1 deletion(-)
> + tools/llvm-config/llvm-config.cpp | 35 ++++++++++++++++++++++---------
> + 1 file changed, 25 insertions(+), 10 deletions(-)
>
>  diff --git a/tools/llvm-config/llvm-config.cpp b/tools/llvm-config/llvm-config.cpp
> -index 08b096afb05..360cc5abf4e 100644
> +index bec89fef98c..91b4d6e4c43 100644
>  --- a/tools/llvm-config/llvm-config.cpp
>  +++ b/tools/llvm-config/llvm-config.cpp
> -@@ -225,6 +225,13 @@ Typical components:\n\
> +@@ -226,6 +226,13 @@ Typical components:\n\
>
> - /// \brief Compute the path to the main executable.
> + /// Compute the path to the main executable.
>   std::string GetExecutablePath(const char *Argv0) {
>  +  // Hack for Yocto: we need to override the root path when we are using
>  +  // llvm-config from within a target sysroot.
> @@ -37,7 +37,25 @@ index 08b096afb05..360cc5abf4e 100644
>     // This just needs to be some symbol in the binary; C++ doesn't
>     // allow taking the address of ::main however.
>     void *P = (void *)(intptr_t)GetExecutablePath;
> -@@ -306,12 +313,20 @@ int main(int argc, char **argv) {
> +@@ -284,7 +291,7 @@ int main(int argc, char **argv) {
> +   // bin dir).
> +   sys::fs::make_absolute(CurrentPath);
> +   CurrentExecPrefix =
> +-      sys::path::parent_path(sys::path::parent_path(CurrentPath)).str();
> ++      sys::path::parent_path(sys::path::parent_path(sys::path::parent_path(CurrentPath))).str();
> +
> +   // Check to see if we are inside a development tree by comparing to possible
> +   // locations (prefix style or CMake style).
> +@@ -293,7 +300,7 @@ int main(int argc, char **argv) {
> +     DevelopmentTreeLayout = CMakeStyle;
> +     ActiveObjRoot = LLVM_OBJ_ROOT;
> +   } else if (sys::fs::equivalent(CurrentExecPrefix,
> +-                                 Twine(LLVM_OBJ_ROOT) + "/bin")) {
> ++                                 Twine(LLVM_OBJ_ROOT) + "/bin/llvm8.0")) {
> +     IsInDevelopmentTree = true;
> +     DevelopmentTreeLayout = CMakeBuildModeStyle;
> +     ActiveObjRoot = LLVM_OBJ_ROOT;
> +@@ -307,37 +314,45 @@ int main(int argc, char **argv) {
>     std::string ActivePrefix, ActiveBinDir, ActiveIncludeDir, ActiveLibDir,
>                 ActiveCMakeDir;
>     std::string ActiveIncludeOption;
> @@ -45,11 +63,12 @@ index 08b096afb05..360cc5abf4e 100644
>  +  // llvm-config from within a target sysroot.
>  +  std::string Multilibdir = std::getenv("YOCTO_ALTERNATE_MULTILIB_NAME");
>  +  if (Multilibdir.empty()) {
> -+    Multilibdir = "/lib" LLVM_LIBDIR_SUFFIX;
> ++    Multilibdir = "/lib/llvm8.0" LLVM_LIBDIR_SUFFIX;
>  +  }
>  +
>     if (IsInDevelopmentTree) {
> -     ActiveIncludeDir = std::string(LLVM_SRC_ROOT) + "/include";
> +-    ActiveIncludeDir = std::string(LLVM_SRC_ROOT) + "/include";
> ++    ActiveIncludeDir = std::string(LLVM_SRC_ROOT) + "/include/llvm8.0";
>       ActivePrefix = CurrentExecPrefix;
>
>       // CMake organizes the products differently than a normal prefix style
> @@ -57,8 +76,31 @@ index 08b096afb05..360cc5abf4e 100644
>  +
>       switch (DevelopmentTreeLayout) {
>       case CMakeStyle:
> -       ActiveBinDir = ActiveObjRoot + "/bin";
> -@@ -336,7 +351,7 @@ int main(int argc, char **argv) {
> +-      ActiveBinDir = ActiveObjRoot + "/bin";
> +-      ActiveLibDir = ActiveObjRoot + "/lib" + LLVM_LIBDIR_SUFFIX;
> ++      ActiveBinDir = ActiveObjRoot + "/bin/llvm8.0";
> ++      ActiveLibDir = ActiveObjRoot + "/lib/llvm8.0" + LLVM_LIBDIR_SUFFIX;
> +       ActiveCMakeDir = ActiveLibDir + "/cmake/llvm";
> +       break;
> +     case CMakeBuildModeStyle:
> +       ActivePrefix = ActiveObjRoot;
> +-      ActiveBinDir = ActiveObjRoot + "/bin/" + build_mode;
> ++      ActiveBinDir = ActiveObjRoot + "/bin/llvm8.0/" + build_mode;
> +       ActiveLibDir =
> +-          ActiveObjRoot + "/lib" + LLVM_LIBDIR_SUFFIX + "/" + build_mode;
> ++          ActiveObjRoot + "/lib/llvm8.0" + LLVM_LIBDIR_SUFFIX + "/" + build_mode;
> +       ActiveCMakeDir = ActiveLibDir + "/cmake/llvm";
> +       break;
> +     }
> +
> +     // We need to include files from both the source and object trees.
> +     ActiveIncludeOption =
> +-        ("-I" + ActiveIncludeDir + " " + "-I" + ActiveObjRoot + "/include");
> ++        ("-I" + ActiveIncludeDir + " " + "-I" + ActiveObjRoot + "/include/llvm8.0");
> +   } else {
> +     ActivePrefix = CurrentExecPrefix;
> +-    ActiveIncludeDir = ActivePrefix + "/include";
> ++    ActiveIncludeDir = ActivePrefix + "/include/llvm8.0";
>       SmallString<256> path(StringRef(LLVM_TOOLS_INSTALL_DIR));
>       sys::fs::make_absolute(ActivePrefix, path);
>       ActiveBinDir = path.str();
> @@ -68,5 +110,5 @@ index 08b096afb05..360cc5abf4e 100644
>       ActiveIncludeOption = "-I" + ActiveIncludeDir;
>     }
>  --
> -2.18.0
> +2.20.1
>
> diff --git a/meta/recipes-devtools/llvm/llvm_git.bb b/meta/recipes-devtools/llvm/llvm_git.bb
> index eb0779d6ec..a3dcab175d 100644
> --- a/meta/recipes-devtools/llvm/llvm_git.bb
> +++ b/meta/recipes-devtools/llvm/llvm_git.bb
> @@ -6,7 +6,7 @@ HOMEPAGE = "http://llvm.org"
>  LICENSE = "NCSA"
>  SECTION = "devel"
>
> -LIC_FILES_CHKSUM = "file://LICENSE.TXT;md5=e825e017edc35cfd58e26116e5251771"
> +LIC_FILES_CHKSUM = "file://LICENSE.TXT;md5=c6b766a4e85dd28301eeed54a6684648"
>
>  DEPENDS = "libffi libxml2 zlib ninja-native llvm-native"
>
> @@ -19,18 +19,22 @@ PROVIDES += "llvm${PV}"
>  LLVM_RELEASE = "${PV}"
>  LLVM_DIR = "llvm${LLVM_RELEASE}"
>
> -SRCREV = "5136df4d089a086b70d452160ad5451861269498"
> -PV = "6.0"
> -BRANCH = "release_60"
> -PATCH_VERSION = "1"
> -SRC_URI = "git://github.com/llvm-mirror/llvm.git;branch=${BRANCH};protocol=http \
> +SRCREV = "5a46917218575e92e3f0f9378338fd215be39107"
> +BRANCH = "release_${MAJOR_VERSION}${MINOR_VERSION}"
> +MAJOR_VERSION = "8"
> +MINOR_VERSION = "0"
> +PATCH_VERSION = "0"
> +PV = "${MAJOR_VERSION}.${MINOR_VERSION}"
> +SRC_URI = "git://github.com/llvm-mirror/llvm.git;branch=${BRANCH} \
>             file://0001-llvm-TargetLibraryInfo-Undefine-libc-functions-if-th.patch \
>             file://0002-llvm-allow-env-override-of-exe-path.patch \
>            "
>  UPSTREAM_CHECK_COMMITS = "1"
> +
>  S = "${WORKDIR}/git"
>
>  LLVM_INSTALL_DIR = "${WORKDIR}/llvm-install"
> +
>  def get_llvm_arch(bb, d, arch_var):
>      import re
>      a = d.getVar(arch_var)
> @@ -117,7 +121,7 @@ do_install() {
>         # Remove unnecessary cmake files
>         rm -rf ${D}${libdir}/${LLVM_DIR}/cmake
>
> -       ln -s ${LLVM_DIR}/libLLVM-${PV}${SOLIBSDEV} ${D}${libdir}/libLLVM-${PV}${SOLIBSDEV}
> +       ln -s ${LLVM_DIR}/libLLVM-${MAJOR_VERSION}${SOLIBSDEV} ${D}${libdir}/libLLVM-${MAJOR_VERSION}${SOLIBSDEV}
>
>         # We'll have to delete the libLLVM.so due to multiple reasons...
>         rm -rf ${D}${libdir}/${LLVM_DIR}/libLLVM.so
> @@ -126,7 +130,7 @@ do_install() {
>  do_install_class-native() {
>         install -D -m 0755 ${B}/bin/llvm-tblgen ${D}${bindir}/llvm-tblgen${PV}
>         install -D -m 0755 ${B}/bin/llvm-config ${D}${bindir}/llvm-config${PV}
> -       install -D -m 0755 ${B}/lib/libLLVM-${PV}.so ${D}${libdir}/libLLVM-${PV}.so
> +       install -D -m 0755 ${B}/lib/libLLVM-${MAJOR_VERSION}.so ${D}${libdir}/libLLVM-${MAJOR_VERSION}.so
>  }
>
>  PACKAGES += "${PN}-bugpointpasses ${PN}-llvmhello"
> @@ -139,6 +143,7 @@ FILES_${PN}-dbg = " \
>      ${libdir}/${LLVM_DIR}/.debug/BugpointPasses.so \
>      ${libdir}/${LLVM_DIR}/.debug/LLVMHello.so \
>      ${libdir}/${LLVM_DIR}/.debug/libLTO.so* \
> +    ${libdir}/${LLVM_DIR}/.debug/libOptRemarks.so* \
>      ${libdir}/${LLVM_DIR}/.debug/llvm-config \
>      /usr/src/debug \
>  "
> @@ -147,6 +152,7 @@ FILES_${PN}-dev = " \
>      ${bindir}/${LLVM_DIR} \
>      ${includedir}/${LLVM_DIR} \
>      ${libdir}/${LLVM_DIR}/llvm-config \
> +    ${libdir}/${LLVM_DIR}/libOptRemarks.so \
>  "
>
>  RRECOMMENDS_${PN}-dev += "${PN}-bugpointpasses ${PN}-llvmhello"
> @@ -156,6 +162,7 @@ FILES_${PN}-bugpointpasses = "\
>  "
>  FILES_${PN} += "\
>      ${libdir}/${LLVM_DIR}/libLTO.so.* \
> +    ${libdir}/${LLVM_DIR}/libOptRemarks.so.* \
>  "
>
>  FILES_${PN}-llvmhello = "\
> @@ -166,7 +173,7 @@ PACKAGES_DYNAMIC = "^libllvm${LLVM_RELEASE}-.*$"
>  NOAUTOPACKAGEDEBUG = "1"
>
>  INSANE_SKIP_${MLPREFIX}libllvm${LLVM_RELEASE}-llvm-${LLVM_RELEASE}.${PATCH_VERSION} += "dev-so"
> -INSANE_SKIP_${MLPREFIX}libllvm${LLVM_RELEASE}-llvm-${LLVM_RELEASE} += "dev-so"
> +INSANE_SKIP_${MLPREFIX}libllvm${LLVM_RELEASE}-llvm-${MAJOR_VERSION} += "dev-so"
>  INSANE_SKIP_${MLPREFIX}libllvm${LLVM_RELEASE}-llvm += "dev-so"
>
>  python llvm_populate_packages() {
> --
> 2.20.1
>
> --
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core


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

* Re: [PATCH 6/6] llvm: Upgrade to upcoming 8.0.0 release
  2019-02-18  9:46   ` Alexander Kanavin
@ 2019-02-18 15:03     ` Khem Raj
  2019-02-18 15:15       ` Alexander Kanavin
  0 siblings, 1 reply; 12+ messages in thread
From: Khem Raj @ 2019-02-18 15:03 UTC (permalink / raw)
  To: Alexander Kanavin; +Cc: OE-core

On Mon, Feb 18, 2019 at 1:47 AM Alexander Kanavin
<alex.kanavin@gmail.com> wrote:
>
> There is now an official git repo for llvm, which also has version tags:
>
> https://github.com/llvm/llvm-project

yes there is and its intentional to use this mirror, since the
llvm-project is a super repo and
contains all llvm projects sources which is going to clone tonne
unnecessary code.

>
> I'll make a patch to switch over to that.
>
> Also note that final 8.0 is not yet out, so the recipe shouldn't make
> it look like it is.

This is intentional too.
Its in rc stages and there are no specific chages espcially in
versioning schemes
which will mark it rc etc.

>
> Alex
>
> On Thu, 31 Jan 2019 at 07:51, Khem Raj <raj.khem@gmail.com> wrote:
> >
> > License-Update: Copyright year updates from 2017-2019
> >
> > Refresh patches to apply on new version
> >
> > Signed-off-by: Khem Raj <raj.khem@gmail.com>
> > ---
> >  ...ryInfo-Undefine-libc-functions-if-th.patch | 28 ++++----
> >  ...-llvm-allow-env-override-of-exe-path.patch | 66 +++++++++++++++----
> >  meta/recipes-devtools/llvm/llvm_git.bb        | 25 ++++---
> >  3 files changed, 83 insertions(+), 36 deletions(-)
> >
> > diff --git a/meta/recipes-devtools/llvm/llvm/0001-llvm-TargetLibraryInfo-Undefine-libc-functions-if-th.patch b/meta/recipes-devtools/llvm/llvm/0001-llvm-TargetLibraryInfo-Undefine-libc-functions-if-th.patch
> > index 209764c8ba..6dbbced7eb 100644
> > --- a/meta/recipes-devtools/llvm/llvm/0001-llvm-TargetLibraryInfo-Undefine-libc-functions-if-th.patch
> > +++ b/meta/recipes-devtools/llvm/llvm/0001-llvm-TargetLibraryInfo-Undefine-libc-functions-if-th.patch
> > @@ -1,24 +1,22 @@
> > -From 96558c4f25d5132936014f6f2d6252cfdfdf478a Mon Sep 17 00:00:00 2001
> > +From 905cac8934fb17e20416a4df712a566e757471a3 Mon Sep 17 00:00:00 2001
> >  From: Khem Raj <raj.khem@gmail.com>
> >  Date: Sat, 21 May 2016 00:33:20 +0000
> > -Subject: [PATCH 1/2] llvm: TargetLibraryInfo: Undefine libc functions if they
> > - are macros
> > +Subject: [PATCH 1/2] llvm: TargetLibraryInfo: Undefine libc functions if they are macros
> >
> >  musl defines some functions as macros and not inline functions
> >  if this is the case then make sure to undefine them
> >
> > +Upstream-Status: Pending
> >  Signed-off-by: Khem Raj <raj.khem@gmail.com>
> >  ---
> > -Upstream-Status: Pending
> > -
> >   include/llvm/Analysis/TargetLibraryInfo.def | 21 +++++++++++++++++++++
> >   1 file changed, 21 insertions(+)
> >
> >  diff --git a/include/llvm/Analysis/TargetLibraryInfo.def b/include/llvm/Analysis/TargetLibraryInfo.def
> > -index a461ed813b9..f9fd9faeee0 100644
> > +index 518a85ee1a0..6b4ead4efc6 100644
> >  --- a/include/llvm/Analysis/TargetLibraryInfo.def
> >  +++ b/include/llvm/Analysis/TargetLibraryInfo.def
> > -@@ -665,6 +665,9 @@ TLI_DEFINE_STRING_INTERNAL("fmodl")
> > +@@ -731,6 +731,9 @@ TLI_DEFINE_STRING_INTERNAL("fmodl")
> >   TLI_DEFINE_ENUM_INTERNAL(fopen)
> >   TLI_DEFINE_STRING_INTERNAL("fopen")
> >   /// FILE *fopen64(const char *filename, const char *opentype)
> > @@ -27,8 +25,8 @@ index a461ed813b9..f9fd9faeee0 100644
> >  +#endif
> >   TLI_DEFINE_ENUM_INTERNAL(fopen64)
> >   TLI_DEFINE_STRING_INTERNAL("fopen64")
> > - /// int fprintf(FILE *stream, const char *format, ...);
> > -@@ -700,6 +703,9 @@ TLI_DEFINE_STRING_INTERNAL("fseek")
> > + /// int fork();
> > +@@ -778,6 +781,9 @@ TLI_DEFINE_STRING_INTERNAL("fseek")
> >   /// int fseeko(FILE *stream, off_t offset, int whence);
> >   TLI_DEFINE_ENUM_INTERNAL(fseeko)
> >   TLI_DEFINE_STRING_INTERNAL("fseeko")
> > @@ -38,7 +36,7 @@ index a461ed813b9..f9fd9faeee0 100644
> >   /// int fseeko64(FILE *stream, off64_t offset, int whence)
> >   TLI_DEFINE_ENUM_INTERNAL(fseeko64)
> >   TLI_DEFINE_STRING_INTERNAL("fseeko64")
> > -@@ -710,6 +716,9 @@ TLI_DEFINE_STRING_INTERNAL("fsetpos")
> > +@@ -788,6 +794,9 @@ TLI_DEFINE_STRING_INTERNAL("fsetpos")
> >   TLI_DEFINE_ENUM_INTERNAL(fstat)
> >   TLI_DEFINE_STRING_INTERNAL("fstat")
> >   /// int fstat64(int filedes, struct stat64 *buf)
> > @@ -48,7 +46,7 @@ index a461ed813b9..f9fd9faeee0 100644
> >   TLI_DEFINE_ENUM_INTERNAL(fstat64)
> >   TLI_DEFINE_STRING_INTERNAL("fstat64")
> >   /// int fstatvfs(int fildes, struct statvfs *buf);
> > -@@ -725,6 +734,9 @@ TLI_DEFINE_STRING_INTERNAL("ftell")
> > +@@ -803,6 +812,9 @@ TLI_DEFINE_STRING_INTERNAL("ftell")
> >   TLI_DEFINE_ENUM_INTERNAL(ftello)
> >   TLI_DEFINE_STRING_INTERNAL("ftello")
> >   /// off64_t ftello64(FILE *stream)
> > @@ -58,7 +56,7 @@ index a461ed813b9..f9fd9faeee0 100644
> >   TLI_DEFINE_ENUM_INTERNAL(ftello64)
> >   TLI_DEFINE_STRING_INTERNAL("ftello64")
> >   /// int ftrylockfile(FILE *file);
> > -@@ -845,6 +857,9 @@ TLI_DEFINE_STRING_INTERNAL("logl")
> > +@@ -929,6 +941,9 @@ TLI_DEFINE_STRING_INTERNAL("logl")
> >   TLI_DEFINE_ENUM_INTERNAL(lstat)
> >   TLI_DEFINE_STRING_INTERNAL("lstat")
> >   /// int lstat64(const char *path, struct stat64 *buf);
> > @@ -68,7 +66,7 @@ index a461ed813b9..f9fd9faeee0 100644
> >   TLI_DEFINE_ENUM_INTERNAL(lstat64)
> >   TLI_DEFINE_STRING_INTERNAL("lstat64")
> >   /// void *malloc(size_t size);
> > -@@ -1064,6 +1079,9 @@ TLI_DEFINE_STRING_INTERNAL("sscanf")
> > +@@ -1154,6 +1169,9 @@ TLI_DEFINE_STRING_INTERNAL("sscanf")
> >   TLI_DEFINE_ENUM_INTERNAL(stat)
> >   TLI_DEFINE_STRING_INTERNAL("stat")
> >   /// int stat64(const char *path, struct stat64 *buf);
> > @@ -78,7 +76,7 @@ index a461ed813b9..f9fd9faeee0 100644
> >   TLI_DEFINE_ENUM_INTERNAL(stat64)
> >   TLI_DEFINE_STRING_INTERNAL("stat64")
> >   /// int statvfs(const char *path, struct statvfs *buf);
> > -@@ -1193,6 +1211,9 @@ TLI_DEFINE_STRING_INTERNAL("times")
> > +@@ -1283,6 +1301,9 @@ TLI_DEFINE_STRING_INTERNAL("times")
> >   TLI_DEFINE_ENUM_INTERNAL(tmpfile)
> >   TLI_DEFINE_STRING_INTERNAL("tmpfile")
> >   /// FILE *tmpfile64(void)
> > @@ -89,5 +87,5 @@ index a461ed813b9..f9fd9faeee0 100644
> >   TLI_DEFINE_STRING_INTERNAL("tmpfile64")
> >   /// int toascii(int c);
> >  --
> > -2.16.1
> > +2.20.1
> >
> > diff --git a/meta/recipes-devtools/llvm/llvm/0002-llvm-allow-env-override-of-exe-path.patch b/meta/recipes-devtools/llvm/llvm/0002-llvm-allow-env-override-of-exe-path.patch
> > index 6a9283323c..2970b0827b 100644
> > --- a/meta/recipes-devtools/llvm/llvm/0002-llvm-allow-env-override-of-exe-path.patch
> > +++ b/meta/recipes-devtools/llvm/llvm/0002-llvm-allow-env-override-of-exe-path.patch
> > @@ -1,4 +1,4 @@
> > -From aeccf16eaccdd80e4d5ecaa51673ce4b2bac1130 Mon Sep 17 00:00:00 2001
> > +From 0570fe02c07244a8724c1e6c0437f893c8aa8e93 Mon Sep 17 00:00:00 2001
> >  From: Martin Kelly <mkelly@xevo.com>
> >  Date: Fri, 19 May 2017 00:22:57 -0700
> >  Subject: [PATCH 2/2] llvm: allow env override of exe path
> > @@ -16,16 +16,16 @@ Upstream-Status: Inappropriate [OE-Specific]
> >  Signed-off-by: Martin Kelly <mkelly@xevo.com>
> >  Signed-off-by: Khem Raj <raj.khem@gmail.com>
> >  ---
> > - tools/llvm-config/llvm-config.cpp | 17 ++++++++++++++++-
> > - 1 file changed, 16 insertions(+), 1 deletion(-)
> > + tools/llvm-config/llvm-config.cpp | 35 ++++++++++++++++++++++---------
> > + 1 file changed, 25 insertions(+), 10 deletions(-)
> >
> >  diff --git a/tools/llvm-config/llvm-config.cpp b/tools/llvm-config/llvm-config.cpp
> > -index 08b096afb05..360cc5abf4e 100644
> > +index bec89fef98c..91b4d6e4c43 100644
> >  --- a/tools/llvm-config/llvm-config.cpp
> >  +++ b/tools/llvm-config/llvm-config.cpp
> > -@@ -225,6 +225,13 @@ Typical components:\n\
> > +@@ -226,6 +226,13 @@ Typical components:\n\
> >
> > - /// \brief Compute the path to the main executable.
> > + /// Compute the path to the main executable.
> >   std::string GetExecutablePath(const char *Argv0) {
> >  +  // Hack for Yocto: we need to override the root path when we are using
> >  +  // llvm-config from within a target sysroot.
> > @@ -37,7 +37,25 @@ index 08b096afb05..360cc5abf4e 100644
> >     // This just needs to be some symbol in the binary; C++ doesn't
> >     // allow taking the address of ::main however.
> >     void *P = (void *)(intptr_t)GetExecutablePath;
> > -@@ -306,12 +313,20 @@ int main(int argc, char **argv) {
> > +@@ -284,7 +291,7 @@ int main(int argc, char **argv) {
> > +   // bin dir).
> > +   sys::fs::make_absolute(CurrentPath);
> > +   CurrentExecPrefix =
> > +-      sys::path::parent_path(sys::path::parent_path(CurrentPath)).str();
> > ++      sys::path::parent_path(sys::path::parent_path(sys::path::parent_path(CurrentPath))).str();
> > +
> > +   // Check to see if we are inside a development tree by comparing to possible
> > +   // locations (prefix style or CMake style).
> > +@@ -293,7 +300,7 @@ int main(int argc, char **argv) {
> > +     DevelopmentTreeLayout = CMakeStyle;
> > +     ActiveObjRoot = LLVM_OBJ_ROOT;
> > +   } else if (sys::fs::equivalent(CurrentExecPrefix,
> > +-                                 Twine(LLVM_OBJ_ROOT) + "/bin")) {
> > ++                                 Twine(LLVM_OBJ_ROOT) + "/bin/llvm8.0")) {
> > +     IsInDevelopmentTree = true;
> > +     DevelopmentTreeLayout = CMakeBuildModeStyle;
> > +     ActiveObjRoot = LLVM_OBJ_ROOT;
> > +@@ -307,37 +314,45 @@ int main(int argc, char **argv) {
> >     std::string ActivePrefix, ActiveBinDir, ActiveIncludeDir, ActiveLibDir,
> >                 ActiveCMakeDir;
> >     std::string ActiveIncludeOption;
> > @@ -45,11 +63,12 @@ index 08b096afb05..360cc5abf4e 100644
> >  +  // llvm-config from within a target sysroot.
> >  +  std::string Multilibdir = std::getenv("YOCTO_ALTERNATE_MULTILIB_NAME");
> >  +  if (Multilibdir.empty()) {
> > -+    Multilibdir = "/lib" LLVM_LIBDIR_SUFFIX;
> > ++    Multilibdir = "/lib/llvm8.0" LLVM_LIBDIR_SUFFIX;
> >  +  }
> >  +
> >     if (IsInDevelopmentTree) {
> > -     ActiveIncludeDir = std::string(LLVM_SRC_ROOT) + "/include";
> > +-    ActiveIncludeDir = std::string(LLVM_SRC_ROOT) + "/include";
> > ++    ActiveIncludeDir = std::string(LLVM_SRC_ROOT) + "/include/llvm8.0";
> >       ActivePrefix = CurrentExecPrefix;
> >
> >       // CMake organizes the products differently than a normal prefix style
> > @@ -57,8 +76,31 @@ index 08b096afb05..360cc5abf4e 100644
> >  +
> >       switch (DevelopmentTreeLayout) {
> >       case CMakeStyle:
> > -       ActiveBinDir = ActiveObjRoot + "/bin";
> > -@@ -336,7 +351,7 @@ int main(int argc, char **argv) {
> > +-      ActiveBinDir = ActiveObjRoot + "/bin";
> > +-      ActiveLibDir = ActiveObjRoot + "/lib" + LLVM_LIBDIR_SUFFIX;
> > ++      ActiveBinDir = ActiveObjRoot + "/bin/llvm8.0";
> > ++      ActiveLibDir = ActiveObjRoot + "/lib/llvm8.0" + LLVM_LIBDIR_SUFFIX;
> > +       ActiveCMakeDir = ActiveLibDir + "/cmake/llvm";
> > +       break;
> > +     case CMakeBuildModeStyle:
> > +       ActivePrefix = ActiveObjRoot;
> > +-      ActiveBinDir = ActiveObjRoot + "/bin/" + build_mode;
> > ++      ActiveBinDir = ActiveObjRoot + "/bin/llvm8.0/" + build_mode;
> > +       ActiveLibDir =
> > +-          ActiveObjRoot + "/lib" + LLVM_LIBDIR_SUFFIX + "/" + build_mode;
> > ++          ActiveObjRoot + "/lib/llvm8.0" + LLVM_LIBDIR_SUFFIX + "/" + build_mode;
> > +       ActiveCMakeDir = ActiveLibDir + "/cmake/llvm";
> > +       break;
> > +     }
> > +
> > +     // We need to include files from both the source and object trees.
> > +     ActiveIncludeOption =
> > +-        ("-I" + ActiveIncludeDir + " " + "-I" + ActiveObjRoot + "/include");
> > ++        ("-I" + ActiveIncludeDir + " " + "-I" + ActiveObjRoot + "/include/llvm8.0");
> > +   } else {
> > +     ActivePrefix = CurrentExecPrefix;
> > +-    ActiveIncludeDir = ActivePrefix + "/include";
> > ++    ActiveIncludeDir = ActivePrefix + "/include/llvm8.0";
> >       SmallString<256> path(StringRef(LLVM_TOOLS_INSTALL_DIR));
> >       sys::fs::make_absolute(ActivePrefix, path);
> >       ActiveBinDir = path.str();
> > @@ -68,5 +110,5 @@ index 08b096afb05..360cc5abf4e 100644
> >       ActiveIncludeOption = "-I" + ActiveIncludeDir;
> >     }
> >  --
> > -2.18.0
> > +2.20.1
> >
> > diff --git a/meta/recipes-devtools/llvm/llvm_git.bb b/meta/recipes-devtools/llvm/llvm_git.bb
> > index eb0779d6ec..a3dcab175d 100644
> > --- a/meta/recipes-devtools/llvm/llvm_git.bb
> > +++ b/meta/recipes-devtools/llvm/llvm_git.bb
> > @@ -6,7 +6,7 @@ HOMEPAGE = "http://llvm.org"
> >  LICENSE = "NCSA"
> >  SECTION = "devel"
> >
> > -LIC_FILES_CHKSUM = "file://LICENSE.TXT;md5=e825e017edc35cfd58e26116e5251771"
> > +LIC_FILES_CHKSUM = "file://LICENSE.TXT;md5=c6b766a4e85dd28301eeed54a6684648"
> >
> >  DEPENDS = "libffi libxml2 zlib ninja-native llvm-native"
> >
> > @@ -19,18 +19,22 @@ PROVIDES += "llvm${PV}"
> >  LLVM_RELEASE = "${PV}"
> >  LLVM_DIR = "llvm${LLVM_RELEASE}"
> >
> > -SRCREV = "5136df4d089a086b70d452160ad5451861269498"
> > -PV = "6.0"
> > -BRANCH = "release_60"
> > -PATCH_VERSION = "1"
> > -SRC_URI = "git://github.com/llvm-mirror/llvm.git;branch=${BRANCH};protocol=http \
> > +SRCREV = "5a46917218575e92e3f0f9378338fd215be39107"
> > +BRANCH = "release_${MAJOR_VERSION}${MINOR_VERSION}"
> > +MAJOR_VERSION = "8"
> > +MINOR_VERSION = "0"
> > +PATCH_VERSION = "0"
> > +PV = "${MAJOR_VERSION}.${MINOR_VERSION}"
> > +SRC_URI = "git://github.com/llvm-mirror/llvm.git;branch=${BRANCH} \
> >             file://0001-llvm-TargetLibraryInfo-Undefine-libc-functions-if-th.patch \
> >             file://0002-llvm-allow-env-override-of-exe-path.patch \
> >            "
> >  UPSTREAM_CHECK_COMMITS = "1"
> > +
> >  S = "${WORKDIR}/git"
> >
> >  LLVM_INSTALL_DIR = "${WORKDIR}/llvm-install"
> > +
> >  def get_llvm_arch(bb, d, arch_var):
> >      import re
> >      a = d.getVar(arch_var)
> > @@ -117,7 +121,7 @@ do_install() {
> >         # Remove unnecessary cmake files
> >         rm -rf ${D}${libdir}/${LLVM_DIR}/cmake
> >
> > -       ln -s ${LLVM_DIR}/libLLVM-${PV}${SOLIBSDEV} ${D}${libdir}/libLLVM-${PV}${SOLIBSDEV}
> > +       ln -s ${LLVM_DIR}/libLLVM-${MAJOR_VERSION}${SOLIBSDEV} ${D}${libdir}/libLLVM-${MAJOR_VERSION}${SOLIBSDEV}
> >
> >         # We'll have to delete the libLLVM.so due to multiple reasons...
> >         rm -rf ${D}${libdir}/${LLVM_DIR}/libLLVM.so
> > @@ -126,7 +130,7 @@ do_install() {
> >  do_install_class-native() {
> >         install -D -m 0755 ${B}/bin/llvm-tblgen ${D}${bindir}/llvm-tblgen${PV}
> >         install -D -m 0755 ${B}/bin/llvm-config ${D}${bindir}/llvm-config${PV}
> > -       install -D -m 0755 ${B}/lib/libLLVM-${PV}.so ${D}${libdir}/libLLVM-${PV}.so
> > +       install -D -m 0755 ${B}/lib/libLLVM-${MAJOR_VERSION}.so ${D}${libdir}/libLLVM-${MAJOR_VERSION}.so
> >  }
> >
> >  PACKAGES += "${PN}-bugpointpasses ${PN}-llvmhello"
> > @@ -139,6 +143,7 @@ FILES_${PN}-dbg = " \
> >      ${libdir}/${LLVM_DIR}/.debug/BugpointPasses.so \
> >      ${libdir}/${LLVM_DIR}/.debug/LLVMHello.so \
> >      ${libdir}/${LLVM_DIR}/.debug/libLTO.so* \
> > +    ${libdir}/${LLVM_DIR}/.debug/libOptRemarks.so* \
> >      ${libdir}/${LLVM_DIR}/.debug/llvm-config \
> >      /usr/src/debug \
> >  "
> > @@ -147,6 +152,7 @@ FILES_${PN}-dev = " \
> >      ${bindir}/${LLVM_DIR} \
> >      ${includedir}/${LLVM_DIR} \
> >      ${libdir}/${LLVM_DIR}/llvm-config \
> > +    ${libdir}/${LLVM_DIR}/libOptRemarks.so \
> >  "
> >
> >  RRECOMMENDS_${PN}-dev += "${PN}-bugpointpasses ${PN}-llvmhello"
> > @@ -156,6 +162,7 @@ FILES_${PN}-bugpointpasses = "\
> >  "
> >  FILES_${PN} += "\
> >      ${libdir}/${LLVM_DIR}/libLTO.so.* \
> > +    ${libdir}/${LLVM_DIR}/libOptRemarks.so.* \
> >  "
> >
> >  FILES_${PN}-llvmhello = "\
> > @@ -166,7 +173,7 @@ PACKAGES_DYNAMIC = "^libllvm${LLVM_RELEASE}-.*$"
> >  NOAUTOPACKAGEDEBUG = "1"
> >
> >  INSANE_SKIP_${MLPREFIX}libllvm${LLVM_RELEASE}-llvm-${LLVM_RELEASE}.${PATCH_VERSION} += "dev-so"
> > -INSANE_SKIP_${MLPREFIX}libllvm${LLVM_RELEASE}-llvm-${LLVM_RELEASE} += "dev-so"
> > +INSANE_SKIP_${MLPREFIX}libllvm${LLVM_RELEASE}-llvm-${MAJOR_VERSION} += "dev-so"
> >  INSANE_SKIP_${MLPREFIX}libllvm${LLVM_RELEASE}-llvm += "dev-so"
> >
> >  python llvm_populate_packages() {
> > --
> > 2.20.1
> >
> > --
> > _______________________________________________
> > Openembedded-core mailing list
> > Openembedded-core@lists.openembedded.org
> > http://lists.openembedded.org/mailman/listinfo/openembedded-core


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

* Re: [PATCH 6/6] llvm: Upgrade to upcoming 8.0.0 release
  2019-02-18 15:03     ` Khem Raj
@ 2019-02-18 15:15       ` Alexander Kanavin
  2019-02-18 15:41         ` Khem Raj
  0 siblings, 1 reply; 12+ messages in thread
From: Alexander Kanavin @ 2019-02-18 15:15 UTC (permalink / raw)
  To: Khem Raj; +Cc: OE-core

On Mon, 18 Feb 2019 at 16:04, Khem Raj <raj.khem@gmail.com> wrote:
> > There is now an official git repo for llvm, which also has version tags:
> >
> > https://github.com/llvm/llvm-project
>
> yes there is and its intentional to use this mirror, since the
> llvm-project is a super repo and
> contains all llvm projects sources which is going to clone tonne
> unnecessary code.

More than half the commits are llvm's. (llvm-only mirror repo 175k,
llvm super-repo 310k)
So it adds to the clone, but not that much.

The point is something else:
- llvm-mirror is not an official repo, and may become stale/unmaintained
- llvm-mirror does not have version tags, so we can't trace commit ids
to the releases, or track upstream development with automatic tools

I think these two things outweigh the extra clone overhead.

> > I'll make a patch to switch over to that.
> >
> > Also note that final 8.0 is not yet out, so the recipe shouldn't make
> > it look like it is.
>
> This is intentional too.
> Its in rc stages and there are no specific chages espcially in
> versioning schemes
> which will mark it rc etc.

What I mean is there is no mention whatsoever that the recipe is
currently building a pre-release. It's not in PV, it's not anywhere in
the recipe. This can mislead people.

Alex


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

* Re: [PATCH 6/6] llvm: Upgrade to upcoming 8.0.0 release
  2019-02-18 15:15       ` Alexander Kanavin
@ 2019-02-18 15:41         ` Khem Raj
  2019-02-18 16:08           ` Belisko Marek
  0 siblings, 1 reply; 12+ messages in thread
From: Khem Raj @ 2019-02-18 15:41 UTC (permalink / raw)
  To: Alexander Kanavin; +Cc: OE-core

On Mon, Feb 18, 2019 at 7:15 AM Alexander Kanavin
<alex.kanavin@gmail.com> wrote:
>
> On Mon, 18 Feb 2019 at 16:04, Khem Raj <raj.khem@gmail.com> wrote:
> > > There is now an official git repo for llvm, which also has version tags:
> > >
> > > https://github.com/llvm/llvm-project
> >
> > yes there is and its intentional to use this mirror, since the
> > llvm-project is a super repo and
> > contains all llvm projects sources which is going to clone tonne
> > unnecessary code.
>
> More than half the commits are llvm's. (llvm-only mirror repo 175k,
> llvm super-repo 310k)
> So it adds to the clone, but not that much.

I would have preferred to use mono repo and I have no problems  using
it since thats what we
use in meta-clang as wella and it would make it simpler to reuse. but
it can be a pain for other people.

310k, I am not sure what is measured here. But here is the breakdown
of sizes for information

1.5G    .
676M    ./.git
16M     ./lld
51M     ./libcxx
3.5M    ./libclc
31M     ./llgo
32M     ./polly
395M    ./llvm
43M     ./compiler-rt
988K    ./pstl
116K    ./debuginfo-tests
720K    ./libunwind
13M     ./clang-tools-extra
7.3M    ./openmp
6.3M    ./libcxxabi
105M    ./lldb
352K    ./parallel-libs
155M    ./clang


>
> The point is something else:
> - llvm-mirror is not an official repo, and may become stale/unmaintained
> - llvm-mirror does not have version tags, so we can't trace commit ids
> to the releases, or track upstream development with automatic tools
>
> I think these two things outweigh the extra clone overhead.
>
> > > I'll make a patch to switch over to that.
> > >
> > > Also note that final 8.0 is not yet out, so the recipe shouldn't make
> > > it look like it is.
> >
> > This is intentional too.
> > Its in rc stages and there are no specific chages espcially in
> > versioning schemes
> > which will mark it rc etc.
>
> What I mean is there is no mention whatsoever that the recipe is
> currently building a pre-release. It's not in PV, it's not anywhere in
> the recipe. This can mislead people.

Yes it can however, we know that when next release is cut out from
master then we will be
on a 8.x release.

>
> Alex


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

* Re: [PATCH 6/6] llvm: Upgrade to upcoming 8.0.0 release
  2019-02-18 15:41         ` Khem Raj
@ 2019-02-18 16:08           ` Belisko Marek
  0 siblings, 0 replies; 12+ messages in thread
From: Belisko Marek @ 2019-02-18 16:08 UTC (permalink / raw)
  To: Khem Raj; +Cc: OE-core

[-- Attachment #1: Type: text/plain, Size: 2980 bytes --]

Ja som tiez za. Marek

On Mon, Feb 18, 2019 at 4:42 PM Khem Raj <raj.khem@gmail.com> wrote:

> On Mon, Feb 18, 2019 at 7:15 AM Alexander Kanavin
> <alex.kanavin@gmail.com> wrote:
> >
> > On Mon, 18 Feb 2019 at 16:04, Khem Raj <raj.khem@gmail.com> wrote:
> > > > There is now an official git repo for llvm, which also has version
> tags:
> > > >
> > > > https://github.com/llvm/llvm-project
> > >
> > > yes there is and its intentional to use this mirror, since the
> > > llvm-project is a super repo and
> > > contains all llvm projects sources which is going to clone tonne
> > > unnecessary code.
> >
> > More than half the commits are llvm's. (llvm-only mirror repo 175k,
> > llvm super-repo 310k)
> > So it adds to the clone, but not that much.
>
> I would have preferred to use mono repo and I have no problems  using
> it since thats what we
> use in meta-clang as wella and it would make it simpler to reuse. but
> it can be a pain for other people.
>
> 310k, I am not sure what is measured here. But here is the breakdown
> of sizes for information
>
> 1.5G    .
> 676M    ./.git
> 16M     ./lld
> 51M     ./libcxx
> 3.5M    ./libclc
> 31M     ./llgo
> 32M     ./polly
> 395M    ./llvm
> 43M     ./compiler-rt
> 988K    ./pstl
> 116K    ./debuginfo-tests
> 720K    ./libunwind
> 13M     ./clang-tools-extra
> 7.3M    ./openmp
> 6.3M    ./libcxxabi
> 105M    ./lldb
> 352K    ./parallel-libs
> 155M    ./clang
>
>
> >
> > The point is something else:
> > - llvm-mirror is not an official repo, and may become stale/unmaintained
> > - llvm-mirror does not have version tags, so we can't trace commit ids
> > to the releases, or track upstream development with automatic tools
> >
> > I think these two things outweigh the extra clone overhead.
> >
> > > > I'll make a patch to switch over to that.
> > > >
> > > > Also note that final 8.0 is not yet out, so the recipe shouldn't make
> > > > it look like it is.
> > >
> > > This is intentional too.
> > > Its in rc stages and there are no specific chages espcially in
> > > versioning schemes
> > > which will mark it rc etc.
> >
> > What I mean is there is no mention whatsoever that the recipe is
> > currently building a pre-release. It's not in PV, it's not anywhere in
> > the recipe. This can mislead people.
>
> Yes it can however, we know that when next release is cut out from
> master then we will be
> on a 8.x release.
>
> >
> > Alex
> --
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core
>


-- 
as simple and primitive as possible
-------------------------------------------------
Marek Belisko - OPEN-NANDRA
Freelance Developer

Ruska Nova Ves 219 | Presov, 08005 Slovak Republic
Tel: +421 915 052 184
skype: marekwhite
twitter: #opennandra
web: http://open-nandra.com

[-- Attachment #2: Type: text/html, Size: 4207 bytes --]

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

end of thread, other threads:[~2019-02-18 16:08 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-01-31  6:50 [PATCH 1/6] mpeg2dec: Fix global symbol tests Khem Raj
2019-01-31  6:50 ` [PATCH 2/6] xinput-calibrator: Fix build with clang/libc++ Khem Raj
2019-01-31  6:50 ` [PATCH 3/6] libproxy: " Khem Raj
2019-01-31  6:50 ` [PATCH 4/6] libdnf: " Khem Raj
2019-01-31  6:50 ` [PATCH 5/6] webkitgtk: Fix build with clang/libc++ >= 7.0.0 Khem Raj
2019-01-31  6:50 ` [PATCH 6/6] llvm: Upgrade to upcoming 8.0.0 release Khem Raj
2019-02-01 15:11   ` Richard Purdie
2019-02-18  9:46   ` Alexander Kanavin
2019-02-18 15:03     ` Khem Raj
2019-02-18 15:15       ` Alexander Kanavin
2019-02-18 15:41         ` Khem Raj
2019-02-18 16:08           ` Belisko Marek

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.