From 0000d30fb82aafa5064051502a927c5fc447b63b Mon Sep 17 00:00:00 2001 From: Mingli Yu Date: Thu, 9 Jul 2020 16:48:17 +0800 Subject: python3: define a profile directory path After ccache upgrade to 3.7.10, there comes below error when enable ccache to build python3 and check [1] and [2] for more details. | Python-3.8.3/Modules/_contextvarsmodule.c:43:1: error: source locations for function 'PyInit__contextvars' have changed, the profile data may be out of date [-Werror=coverage-mismatch] That's because the logic for profile directory changes a little in [3] after ccache upgrades to 3.7.10. So define a profile directory path accordingly to fix the above error. [1] https://github.com/ccache/ccache/issues/615 [2] https://lists.openembedded.org/g/openembedded-core/topic/75170448#140065 [3] https://github.com/ccache/ccache/commit/91a2954eb47b4a106e2be6cf611917b895108e35 Signed-off-by: Mingli Yu Signed-off-by: Richard Purdie --- ...nfigure.ac-define-a-path-for-profile-data.patch | 42 ++++++++++++++++++++++ meta/recipes-devtools/python/python3_3.8.3.bb | 1 + 2 files changed, 43 insertions(+) create mode 100644 meta/recipes-devtools/python/python3/0001-configure.ac-define-a-path-for-profile-data.patch diff --git a/meta/recipes-devtools/python/python3/0001-configure.ac-define-a-path-for-profile-data.patch b/meta/recipes-devtools/python/python3/0001-configure.ac-define-a-path-for-profile-data.patch new file mode 100644 index 0000000000..ee3d645521 --- /dev/null +++ b/meta/recipes-devtools/python/python3/0001-configure.ac-define-a-path-for-profile-data.patch @@ -0,0 +1,42 @@ +From 5e94e315119117898ce1a2798641848f61d796b1 Mon Sep 17 00:00:00 2001 +From: Mingli Yu +Date: Thu, 9 Jul 2020 07:58:44 +0000 +Subject: [PATCH] configure.ac: define a path for profile data + +There comes below error when use ccache 3.7.10 to compile python3 +and check [1] for more details. + | Python-3.8.3/Modules/_contextvarsmodule.c:43:1: error: source locations for function 'PyInit__contextvars' have changed, the profile data may be out of date [-Werror=coverage-mismatch] + +That's because the logic for profile directory changes a little in +[2] after ccache upgrades to 3.7.10. + +So define a profile directory path accordingly to fix the above error. + +[1] https://github.com/ccache/ccache/issues/615 +[2] https://github.com/ccache/ccache/commit/91a2954eb47b4a106e2be6cf611917b895108e35 + +Upstream-Status: Submitted [https://github.com/python/cpython/pull/21408] + +Signed-off-by: Mingli Yu +--- + configure.ac | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 08fe397..bb15bda 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -1332,8 +1332,8 @@ case $cc_basename in + fi + ;; + *) +- PGO_PROF_GEN_FLAG="-fprofile-generate" +- PGO_PROF_USE_FLAG="-fprofile-use -fprofile-correction" ++ PGO_PROF_GEN_FLAG="-fprofile-generate=$(pwd)" ++ PGO_PROF_USE_FLAG="-fprofile-use=$(pwd) -fprofile-correction" + LLVM_PROF_MERGER="true" + LLVM_PROF_FILE="" + ;; +-- +2.26.2 + diff --git a/meta/recipes-devtools/python/python3_3.8.3.bb b/meta/recipes-devtools/python/python3_3.8.3.bb index a7cfbad5cd..7e0f35ce41 100644 --- a/meta/recipes-devtools/python/python3_3.8.3.bb +++ b/meta/recipes-devtools/python/python3_3.8.3.bb @@ -32,6 +32,7 @@ SRC_URI = "http://www.python.org/ftp/python/${PV}/Python-${PV}.tar.xz \ file://0001-configure.ac-fix-LIBPL.patch \ file://0001-python3-Do-not-hardcode-lib-for-distutils.patch \ file://0020-configure.ac-setup.py-do-not-add-a-curses-include-pa.patch \ + file://0001-configure.ac-define-a-path-for-profile-data.patch \ " SRC_URI_append_class-native = " \ -- cgit 1.2.3-korg