From 35c052db4e081d363bcca350383adb0ac8c321d3 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Fri, 21 Feb 2020 14:45:37 -0800 Subject: gmp: Upgrade to 6.2.0 Drop amd64 patch, the bsfq has been replaced with bsfl for count_trailing_zeros Forward port rest of patches to 6.2.0 Signed-off-by: Khem Raj Signed-off-by: Richard Purdie --- ...user-provided-flags-to-the-auto-detected-.patch | 61 ---------------------- ...re.ac-Believe-the-cflags-from-environment.patch | 49 ----------------- meta/recipes-support/gmp/gmp-6.1.2/amd64.patch | 18 ------- .../gmp/gmp-6.1.2/use-includedir.patch | 15 ------ ...user-provided-flags-to-the-auto-detected-.patch | 61 ++++++++++++++++++++++ ...re.ac-Believe-the-cflags-from-environment.patch | 49 +++++++++++++++++ meta/recipes-support/gmp/gmp/use-includedir.patch | 18 +++++++ meta/recipes-support/gmp/gmp_6.1.2.bb | 45 ---------------- meta/recipes-support/gmp/gmp_6.2.0.bb | 44 ++++++++++++++++ 9 files changed, 172 insertions(+), 188 deletions(-) delete mode 100644 meta/recipes-support/gmp/gmp-6.1.2/0001-Append-the-user-provided-flags-to-the-auto-detected-.patch delete mode 100644 meta/recipes-support/gmp/gmp-6.1.2/0001-confiure.ac-Believe-the-cflags-from-environment.patch delete mode 100644 meta/recipes-support/gmp/gmp-6.1.2/amd64.patch delete mode 100644 meta/recipes-support/gmp/gmp-6.1.2/use-includedir.patch create mode 100644 meta/recipes-support/gmp/gmp/0001-Append-the-user-provided-flags-to-the-auto-detected-.patch create mode 100644 meta/recipes-support/gmp/gmp/0001-confiure.ac-Believe-the-cflags-from-environment.patch create mode 100644 meta/recipes-support/gmp/gmp/use-includedir.patch delete mode 100644 meta/recipes-support/gmp/gmp_6.1.2.bb create mode 100644 meta/recipes-support/gmp/gmp_6.2.0.bb diff --git a/meta/recipes-support/gmp/gmp-6.1.2/0001-Append-the-user-provided-flags-to-the-auto-detected-.patch b/meta/recipes-support/gmp/gmp-6.1.2/0001-Append-the-user-provided-flags-to-the-auto-detected-.patch deleted file mode 100644 index 325ffe491f..0000000000 --- a/meta/recipes-support/gmp/gmp-6.1.2/0001-Append-the-user-provided-flags-to-the-auto-detected-.patch +++ /dev/null @@ -1,61 +0,0 @@ -From d3b9fc523fc11260ced890c35bc5c9e6391c8656 Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin -Date: Mon, 14 Dec 2015 14:19:49 +0200 -Subject: [PATCH] Append the user provided flags to the auto-detected ones. - -Upstream-Status: Inappropriate -Signed-off-by: Laurentiu Palcu -Signed-off-by: Alexander Kanavin ---- - configure.ac | 14 ++++++++++---- - 1 file changed, 10 insertions(+), 4 deletions(-) - -diff --git a/configure.ac b/configure.ac -index 9cedfeb..87caee5 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -1921,8 +1921,12 @@ cclist=$cclist - EOF - - --test_CFLAGS=${CFLAGS+set} --test_CPPFLAGS=${CPPFLAGS+set} -+test_CFLAGS= -+test_CPPFLAGS= -+ -+user_CFLAGS=$CFLAGS -+user_CPPFLAGS=$CPPFLAGS -+user_CXXFLAGS=$CXXFLAGS - - for abi in $abilist; do - abi_last="$abi" -@@ -2353,7 +2357,7 @@ AC_SUBST(CCAS) - # The C++ compiler, if desired. - want_cxx=no - if test $enable_cxx != no; then -- test_CXXFLAGS=${CXXFLAGS+set} -+ test_CXXFLAGS= - AC_PROG_CXX - - echo "CXXFLAGS chosen by autoconf: $CXXFLAGS" >&AC_FD_CC -@@ -2381,7 +2385,7 @@ if test $enable_cxx != no; then - # Automake includes $CPPFLAGS in a C++ compile, so we do the same here. - # - for cxxflags_choice in $cxxflags_list; do -- eval CXXFLAGS=\"\$cxxflags_$cxxflags_choice\" -+ eval CXXFLAGS=\"\$cxxflags_$cxxflags_choice $user_CXXFLAGS\" - GMP_PROG_CXX_WORKS($CXX $CPPFLAGS $CXXFLAGS, - [want_cxx=yes - break]) -@@ -2477,6 +2481,8 @@ if test "$enable_assembly" = "no"; then - # done - fi - -+CFLAGS="$CFLAGS $user_CFLAGS" -+CPPFLAGS="$CPPFLAGS $user_CPPFLAGS" - - cat >&AC_FD_CC < -Date: Fri, 12 Aug 2016 17:08:13 +0000 -Subject: [PATCH] confiure.ac: Believe the cflags from environment - -In some toolchains e.g. OpenEmbedded -march options -are passed on compiler cmdline, it does not use -the expected target triplets to make these decision -during configure. - -Secondly, dont set armv4 for march when no selection -is made, since it is passed from cmdline - -Signed-off-by: Khem Raj ---- -Upstream-Status: Inappropriate[OE-Specific] - - configure.ac | 11 ----------- - 1 file changed, 11 deletions(-) - -Index: gmp-6.1.2/configure.ac -=================================================================== ---- gmp-6.1.2.orig/configure.ac -+++ gmp-6.1.2/configure.ac -@@ -604,15 +604,6 @@ case $host in - any_32_testlist="sizeof-long-4" - any_64_testlist="sizeof-long-8" - -- # This is needed for clang, which is not content with flags like -mfpu=neon -- # alone. -- case $host in -- *-*-*eabi) -- gcc_cflags_fpmode="-mfloat-abi=softfp" ;; -- *-*-*eabihf) -- gcc_cflags_fpmode="-mfloat-abi=hard" ;; -- esac -- - # FIXME: We make mandatory compiler options optional here. We should - # either enforce them, or organise to strip paths as the corresponding - # options fail. -@@ -746,8 +737,6 @@ case $host in - ;; - *) - path="arm" -- gcc_cflags_arch="-march=armv4" -- GMP_DEFINE_RAW(["define(,1)"]) - ;; - esac - ;; diff --git a/meta/recipes-support/gmp/gmp-6.1.2/amd64.patch b/meta/recipes-support/gmp/gmp-6.1.2/amd64.patch deleted file mode 100644 index 3935589f8b..0000000000 --- a/meta/recipes-support/gmp/gmp-6.1.2/amd64.patch +++ /dev/null @@ -1,18 +0,0 @@ -Upstream-Status: Pending - -Index: gmp-6.1.2/longlong.h -=================================================================== ---- gmp-6.1.2.orig/longlong.h -+++ gmp-6.1.2/longlong.h -@@ -1036,8 +1036,10 @@ extern UWtype __MPN(udiv_qrnnd) (UWtype - count is only an int. */ - #define count_trailing_zeros(count, x) \ - do { \ -+ UDItype __cbtmp; \ - ASSERT ((x) != 0); \ -- __asm__ ("bsfq %1,%q0" : "=r" (count) : "rm" ((UDItype)(x))); \ -+ __asm__ ("bsfq %1,%0" : "=r" (__cbtmp) : "rm" ((UDItype)(x))); \ -+ (count) = __cbtmp; \ - } while (0) - #endif /* __amd64__ */ - diff --git a/meta/recipes-support/gmp/gmp-6.1.2/use-includedir.patch b/meta/recipes-support/gmp/gmp-6.1.2/use-includedir.patch deleted file mode 100644 index 6b089cf39c..0000000000 --- a/meta/recipes-support/gmp/gmp-6.1.2/use-includedir.patch +++ /dev/null @@ -1,15 +0,0 @@ -Upstream-Status: Pending - -Index: gmp-6.1.2/Makefile.am -=================================================================== ---- gmp-6.1.2.orig/Makefile.am -+++ gmp-6.1.2/Makefile.am -@@ -130,7 +130,7 @@ EXTRA_DIST += gmpxx.h - # but anyone knowledgeable enough to be playing with exec_prefix will be able - # to address that. - # --includeexecdir = $(exec_prefix)/include -+includeexecdir = $(includedir) - include_HEADERS = $(GMPXX_HEADERS_OPTION) - nodist_includeexec_HEADERS = gmp.h - lib_LTLIBRARIES = libgmp.la $(GMPXX_LTLIBRARIES_OPTION) diff --git a/meta/recipes-support/gmp/gmp/0001-Append-the-user-provided-flags-to-the-auto-detected-.patch b/meta/recipes-support/gmp/gmp/0001-Append-the-user-provided-flags-to-the-auto-detected-.patch new file mode 100644 index 0000000000..325ffe491f --- /dev/null +++ b/meta/recipes-support/gmp/gmp/0001-Append-the-user-provided-flags-to-the-auto-detected-.patch @@ -0,0 +1,61 @@ +From d3b9fc523fc11260ced890c35bc5c9e6391c8656 Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin +Date: Mon, 14 Dec 2015 14:19:49 +0200 +Subject: [PATCH] Append the user provided flags to the auto-detected ones. + +Upstream-Status: Inappropriate +Signed-off-by: Laurentiu Palcu +Signed-off-by: Alexander Kanavin +--- + configure.ac | 14 ++++++++++---- + 1 file changed, 10 insertions(+), 4 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 9cedfeb..87caee5 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -1921,8 +1921,12 @@ cclist=$cclist + EOF + + +-test_CFLAGS=${CFLAGS+set} +-test_CPPFLAGS=${CPPFLAGS+set} ++test_CFLAGS= ++test_CPPFLAGS= ++ ++user_CFLAGS=$CFLAGS ++user_CPPFLAGS=$CPPFLAGS ++user_CXXFLAGS=$CXXFLAGS + + for abi in $abilist; do + abi_last="$abi" +@@ -2353,7 +2357,7 @@ AC_SUBST(CCAS) + # The C++ compiler, if desired. + want_cxx=no + if test $enable_cxx != no; then +- test_CXXFLAGS=${CXXFLAGS+set} ++ test_CXXFLAGS= + AC_PROG_CXX + + echo "CXXFLAGS chosen by autoconf: $CXXFLAGS" >&AC_FD_CC +@@ -2381,7 +2385,7 @@ if test $enable_cxx != no; then + # Automake includes $CPPFLAGS in a C++ compile, so we do the same here. + # + for cxxflags_choice in $cxxflags_list; do +- eval CXXFLAGS=\"\$cxxflags_$cxxflags_choice\" ++ eval CXXFLAGS=\"\$cxxflags_$cxxflags_choice $user_CXXFLAGS\" + GMP_PROG_CXX_WORKS($CXX $CPPFLAGS $CXXFLAGS, + [want_cxx=yes + break]) +@@ -2477,6 +2481,8 @@ if test "$enable_assembly" = "no"; then + # done + fi + ++CFLAGS="$CFLAGS $user_CFLAGS" ++CPPFLAGS="$CPPFLAGS $user_CPPFLAGS" + + cat >&AC_FD_CC < +Date: Fri, 12 Aug 2016 17:08:13 +0000 +Subject: [PATCH] confiure.ac: Believe the cflags from environment + +In some toolchains e.g. OpenEmbedded -march options +are passed on compiler cmdline, it does not use +the expected target triplets to make these decision +during configure. + +Secondly, dont set armv4 for march when no selection +is made, since it is passed from cmdline + +Signed-off-by: Khem Raj +--- +Upstream-Status: Inappropriate[OE-Specific] + + configure.ac | 11 ----------- + 1 file changed, 11 deletions(-) + +--- a/configure.ac ++++ b/configure.ac +@@ -625,17 +625,6 @@ case $host in + any_32_testlist="sizeof-void*-4" + any_64_testlist="sizeof-void*-8" + +- # This is needed for clang, which is not content with flags like -mfpu=neon +- # alone. +- case $host in +- *-*-*eabi) +- gcc_cflags_fpmode="-mfloat-abi=softfp" ;; +- *-*-*eabihf) +- gcc_cflags_fpmode="-mfloat-abi=hard" ;; +- *-*-mingw*) +- limb_64=longlong ;; +- esac +- + # FIXME: We make mandatory compiler options optional here. We should + # either enforce them, or organise to strip paths as the corresponding + # options fail. +@@ -780,8 +769,6 @@ case $host in + ;; + *) + path="arm" +- gcc_cflags_arch="-march=armv4" +- GMP_DEFINE_RAW(["define(,1)"]) + ;; + esac + ;; diff --git a/meta/recipes-support/gmp/gmp/use-includedir.patch b/meta/recipes-support/gmp/gmp/use-includedir.patch new file mode 100644 index 0000000000..d27317cdf6 --- /dev/null +++ b/meta/recipes-support/gmp/gmp/use-includedir.patch @@ -0,0 +1,18 @@ +exec includedir should be pointing to general yocto includdir + +Upstream-Status: Pending +Signed-off-by: Khem Raj + +Index: gmp-6.1.2/Makefile.am +=================================================================== +--- gmp-6.1.2.orig/Makefile.am ++++ gmp-6.1.2/Makefile.am +@@ -130,7 +130,7 @@ EXTRA_DIST += gmpxx.h + # but anyone knowledgeable enough to be playing with exec_prefix will be able + # to address that. + # +-includeexecdir = $(exec_prefix)/include ++includeexecdir = $(includedir) + include_HEADERS = $(GMPXX_HEADERS_OPTION) + nodist_includeexec_HEADERS = gmp.h + lib_LTLIBRARIES = libgmp.la $(GMPXX_LTLIBRARIES_OPTION) diff --git a/meta/recipes-support/gmp/gmp_6.1.2.bb b/meta/recipes-support/gmp/gmp_6.1.2.bb deleted file mode 100644 index c745dbbfe7..0000000000 --- a/meta/recipes-support/gmp/gmp_6.1.2.bb +++ /dev/null @@ -1,45 +0,0 @@ -require gmp.inc - -LICENSE = "GPLv2+ | LGPLv3+" - -LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \ - file://COPYING.LESSERv3;md5=6a6a8e020838b23406c81b19c1d46df6 \ - file://COPYINGv2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ -" - -REVISION = "" -SRC_URI = "https://gmplib.org/download/${BPN}/${BP}${REVISION}.tar.bz2 \ - file://amd64.patch \ - file://use-includedir.patch \ - file://0001-Append-the-user-provided-flags-to-the-auto-detected-.patch \ - file://0001-confiure.ac-Believe-the-cflags-from-environment.patch \ - " -SRC_URI[md5sum] = "8ddbb26dc3bd4e2302984debba1406a5" -SRC_URI[sha256sum] = "5275bb04f4863a13516b2f39392ac5e272f5e1bb8057b18aec1c9b79d73d8fb2" - -acpaths = "" - -EXTRA_OECONF += " --enable-cxx=detect" -EXTRA_OECONF_mipsarchr6_append = " --disable-assembly" - -PACKAGES =+ "libgmpxx" -FILES_libgmpxx = "${libdir}/libgmpxx${SOLIBS}" - -do_install_append() { - oe_multilib_header gmp.h -} - -do_install_prepend_class-target() { - sed -i \ - -e "s|--sysroot=${STAGING_DIR_HOST}||g" \ - -e "s|${DEBUG_PREFIX_MAP}||g" \ - ${B}/gmp.h -} - -SSTATE_SCAN_FILES += "gmp.h" - -# Doesn't compile in MIPS16e mode due to use of hand-written -# assembly -MIPS_INSTRUCTION_SET = "mips" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-support/gmp/gmp_6.2.0.bb b/meta/recipes-support/gmp/gmp_6.2.0.bb new file mode 100644 index 0000000000..a19c74fca8 --- /dev/null +++ b/meta/recipes-support/gmp/gmp_6.2.0.bb @@ -0,0 +1,44 @@ +require gmp.inc + +LICENSE = "GPLv2+ | LGPLv3+" + +LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \ + file://COPYING.LESSERv3;md5=6a6a8e020838b23406c81b19c1d46df6 \ + file://COPYINGv2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ +" + +REVISION = "" +SRC_URI = "https://gmplib.org/download/${BPN}/${BP}${REVISION}.tar.bz2 \ + file://use-includedir.patch \ + file://0001-Append-the-user-provided-flags-to-the-auto-detected-.patch \ + file://0001-confiure.ac-Believe-the-cflags-from-environment.patch \ + " +SRC_URI[md5sum] = "c24161e0dd44cae78cd5f67193492a21" +SRC_URI[sha256sum] = "f51c99cb114deb21a60075ffb494c1a210eb9d7cb729ed042ddb7de9534451ea" + +acpaths = "" + +EXTRA_OECONF += " --enable-cxx=detect" +EXTRA_OECONF_mipsarchr6_append = " --disable-assembly" + +PACKAGES =+ "libgmpxx" +FILES_libgmpxx = "${libdir}/libgmpxx${SOLIBS}" + +do_install_append() { + oe_multilib_header gmp.h +} + +do_install_prepend_class-target() { + sed -i \ + -e "s|--sysroot=${STAGING_DIR_HOST}||g" \ + -e "s|${DEBUG_PREFIX_MAP}||g" \ + ${B}/gmp.h +} + +SSTATE_SCAN_FILES += "gmp.h" + +# Doesn't compile in MIPS16e mode due to use of hand-written +# assembly +MIPS_INSTRUCTION_SET = "mips" + +BBCLASSEXTEND = "native nativesdk" -- cgit 1.2.3-korg