[meta-oe,hardknott,2/3] abseil-cpp: Fix build with glibc 2.34

Message ID 20220405104123.1371786-2-Martin.Jansa@gmail.com
State Changes Requested
Delegated to: Armin Kuster
Headers show
Series [meta-oe,hardknott,1/3] packagegroup-meta-multimedia: include x265 only with commercial in LICENSE_FLAGS_WHITELIST | expand

Commit Message

Martin Jansa April 5, 2022, 10:41 a.m. UTC
From: Khem Raj <raj.khem@gmail.com>

* based on commit from honister, but without the upgrade:
  commit 8691de2580dd872e3d001d67c8455108b3bd627c
  Author: Khem Raj <raj.khem@gmail.com>
  Date:   Sat May 8 14:38:52 2021 -0700

    abseil-cpp: Upgrade to lts_2021_03_24

    Fix build with glibc 2.34 while here
    Forward patches to this version
    Let system package the libraries

  to fix abseil-cpp-native build on e.g. Ubuntu-22.04 with glibc-2.34 to fix:

  | FAILED: absl/debugging/CMakeFiles/failure_signal_handler.dir/failure_signal_handler.cc.o
  | /OE/lge/build/webosose/hardknott/BUILD/hosttools/g++ -Dfailure_signal_handler_EXPORTS -I/OE/lge/build/webosose/hardknott/BUILD/work/x86_64-linux/abseil-cpp-native/20200923+gitAUTOINC+6f9d96a1f4-r0/git -isystem/OE/lge/build/webosose/hardknott/BUILD/work/x86_64-linux/abseil-cpp-native/20200923+gitAUTOINC+6f9d96a1f4-r0/recipe-sysroot-native/usr/include -O2 -pipe -fPIC -Wall -Wextra -Wcast-qual -Wconversion-null -Wmissing-declarations -Woverlength-strings -Wpointer-arith -Wundef -Wunused-local-typedefs -Wunused-result -Wvarargs -Wvla -Wwrite-strings -Wno-missing-field-initializers -Wno-sign-compare -DNOMINMAX -std=gnu++14 -MD -MT absl/debugging/CMakeFiles/failure_signal_handler.dir/failure_signal_handler.cc.o -MF absl/debugging/CMakeFiles/failure_signal_handler.dir/failure_signal_handler.cc.o.d -o absl/debugging/CMakeFiles/failure_signal_handler.dir/failure_signal_handler.cc.o -c /OE/lge/build/webosose/hardknott/BUILD/work/x86_64-linux/abseil-cpp-native/20200923+gitAUTOINC+6f9d96a1f4-r0/git/absl/debugging/failure_signal_handler.cc
  | /OE/lge/build/webosose/hardknott/BUILD/work/x86_64-linux/abseil-cpp-native/20200923+gitAUTOINC+6f9d96a1f4-r0/git/absl/debugging/failure_signal_handler.cc: In function ‘bool absl::lts_2020_09_23::SetupAlternateStackOnce()’:
  | /OE/lge/build/webosose/hardknott/BUILD/work/x86_64-linux/abseil-cpp-native/20200923+gitAUTOINC+6f9d96a1f4-r0/git/absl/debugging/failure_signal_handler.cc:138:32: error: no matching function for call to ‘max(long int, int)’
  |   138 |   size_t stack_size = (std::max(SIGSTKSZ, 65536) + page_mask) & ~page_mask;
  |       |                        ~~~~~~~~^~~~~~~~~~~~~~~~~

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
 ...01-Export-of-internal-Abseil-changes.patch | 82 +++++++++++++++++++
 .../abseil-cpp/abseil-cpp_git.bb              |  1 +
 2 files changed, 83 insertions(+)
 create mode 100644 meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0001-Export-of-internal-Abseil-changes.patch

Comments

akuster808 April 7, 2022, 11:57 p.m. UTC | #1
On 4/5/22 03:41, Martin Jansa wrote:
> From: Khem Raj <raj.khem@gmail.com>
>
> * based on commit from honister, but without the upgrade:
>    commit 8691de2580dd872e3d001d67c8455108b3bd627c
>    Author: Khem Raj <raj.khem@gmail.com>
>    Date:   Sat May 8 14:38:52 2021 -0700
>
>      abseil-cpp: Upgrade to lts_2021_03_24
>
>      Fix build with glibc 2.34 while here
>      Forward patches to this version
>      Let system package the libraries
>
>    to fix abseil-cpp-native build on e.g. Ubuntu-22.04 with glibc-2.34 to fix:
>
>    | FAILED: absl/debugging/CMakeFiles/failure_signal_handler.dir/failure_signal_handler.cc.o
>    | /OE/lge/build/webosose/hardknott/BUILD/hosttools/g++ -Dfailure_signal_handler_EXPORTS -I/OE/lge/build/webosose/hardknott/BUILD/work/x86_64-linux/abseil-cpp-native/20200923+gitAUTOINC+6f9d96a1f4-r0/git -isystem/OE/lge/build/webosose/hardknott/BUILD/work/x86_64-linux/abseil-cpp-native/20200923+gitAUTOINC+6f9d96a1f4-r0/recipe-sysroot-native/usr/include -O2 -pipe -fPIC -Wall -Wextra -Wcast-qual -Wconversion-null -Wmissing-declarations -Woverlength-strings -Wpointer-arith -Wundef -Wunused-local-typedefs -Wunused-result -Wvarargs -Wvla -Wwrite-strings -Wno-missing-field-initializers -Wno-sign-compare -DNOMINMAX -std=gnu++14 -MD -MT absl/debugging/CMakeFiles/failure_signal_handler.dir/failure_signal_handler.cc.o -MF absl/debugging/CMakeFiles/failure_signal_handler.dir/failure_signal_handler.cc.o.d -o absl/debugging/CMakeFiles/failure_signal_handler.dir/failure_signal_handler.cc.o -c /OE/lge/build/webosose/hardknott/BUILD/work/x86_64-linux/abseil-cpp-native/20200923+gitAUTOINC+6f9d96a1f4-r0/git/absl/debugging/failure_signal_handler.cc
>    | /OE/lge/build/webosose/hardknott/BUILD/work/x86_64-linux/abseil-cpp-native/20200923+gitAUTOINC+6f9d96a1f4-r0/git/absl/debugging/failure_signal_handler.cc: In function ‘bool absl::lts_2020_09_23::SetupAlternateStackOnce()’:
>    | /OE/lge/build/webosose/hardknott/BUILD/work/x86_64-linux/abseil-cpp-native/20200923+gitAUTOINC+6f9d96a1f4-r0/git/absl/debugging/failure_signal_handler.cc:138:32: error: no matching function for call to ‘max(long int, int)’
>    |   138 |   size_t stack_size = (std::max(SIGSTKSZ, 65536) + page_mask) & ~page_mask;
>    |       |                        ~~~~~~~~^~~~~~~~~~~~~~~~~
>
> Signed-off-by: Khem Raj <raj.khem@gmail.com>
> Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
> ---
>   ...01-Export-of-internal-Abseil-changes.patch | 82 +++++++++++++++++++
>   .../abseil-cpp/abseil-cpp_git.bb              |  1 +
>   2 files changed, 83 insertions(+)
>   create mode 100644 meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0001-Export-of-internal-Abseil-changes.patch
>
> diff --git a/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0001-Export-of-internal-Abseil-changes.patch b/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0001-Export-of-internal-Abseil-changes.patch
> new file mode 100644
> index 0000000000..c0fb0571f7
> --- /dev/null
> +++ b/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0001-Export-of-internal-Abseil-changes.patch
> @@ -0,0 +1,82 @@
> +From d3424201a73f29ab533121b1821a76e1b4313beb Mon Sep 17 00:00:00 2001
> +From: Abseil Team <absl-team@google.com>
> +Date: Mon, 3 May 2021 07:37:39 -0700
> +Subject: [PATCH] Export of internal Abseil changes
> +
> +--
> +cf88f9cf40eab54c06bca7f20795352ec23bb583 by Derek Mauro <dmauro@google.com>:
> +
> +Fixes build with latest glibc
> +Fixes #952
> +
> +PiperOrigin-RevId: 371693908
> +
> +--
> +99bcd0f4a747ce7a401e23c745adf34d0ec5131b by Samuel Benzaquen <sbenza@google.com>:
> +
> +Add support for std::string_view in StrFormat even when
> +absl::string_view != std::string_view.
> +
> +PiperOrigin-RevId: 371693633
> +
> +--
> +e35463572149a6c2d4a0d439b9300ce03fd6b96d by Abseil Team <absl-team@google.com>:
> +
> +Cmake builds should only install pkg-config when explicitly requested.
> +
> +PiperOrigin-RevId: 371403419
> +GitOrigin-RevId: cf88f9cf40eab54c06bca7f20795352ec23bb583
> +Change-Id: I4360a18c638a4d901ff44ab1e0a9d8f321c302ea

Patch missing "Upstream-Status" and "Signed-off-by"

- armin
> +---
> + absl/debugging/failure_signal_handler.cc         | 3 ++-
> + absl/strings/internal/str_format/arg.h           | 8 ++++++++
> + absl/strings/internal/str_format/convert_test.cc | 3 +++
> + 3 files changed, 13 insertions(+), 1 deletion(-)
> +
> +diff --git a/absl/debugging/failure_signal_handler.cc b/absl/debugging/failure_signal_handler.cc
> +index 5d13bdbb..2ed137b5 100644
> +--- a/absl/debugging/failure_signal_handler.cc
> ++++ b/absl/debugging/failure_signal_handler.cc
> +@@ -135,7 +135,8 @@ static bool SetupAlternateStackOnce() {
> + #else
> +   const size_t page_mask = sysconf(_SC_PAGESIZE) - 1;
> + #endif
> +-  size_t stack_size = (std::max(SIGSTKSZ, 65536) + page_mask) & ~page_mask;
> ++  size_t stack_size =
> ++      (std::max<size_t>(SIGSTKSZ, 65536) + page_mask) & ~page_mask;
> + #if defined(ABSL_HAVE_ADDRESS_SANITIZER) || \
> +     defined(ABSL_HAVE_MEMORY_SANITIZER) || defined(ABSL_HAVE_THREAD_SANITIZER)
> +   // Account for sanitizer instrumentation requiring additional stack space.
> +diff --git a/absl/strings/internal/str_format/arg.h b/absl/strings/internal/str_format/arg.h
> +index 3dbc1526..f9d89d12 100644
> +--- a/absl/strings/internal/str_format/arg.h
> ++++ b/absl/strings/internal/str_format/arg.h
> +@@ -108,6 +108,14 @@ StringConvertResult FormatConvertImpl(const std::string& v,
> + StringConvertResult FormatConvertImpl(string_view v,
> +                                       FormatConversionSpecImpl conv,
> +                                       FormatSinkImpl* sink);
> ++#if defined(ABSL_HAVE_STD_STRING_VIEW) && !defined(ABSL_USES_STD_STRING_VIEW)
> ++inline StringConvertResult FormatConvertImpl(std::string_view v,
> ++                                             FormatConversionSpecImpl conv,
> ++                                             FormatSinkImpl* sink) {
> ++  return FormatConvertImpl(absl::string_view(v.data(), v.size()), conv, sink);
> ++}
> ++#endif  // ABSL_HAVE_STD_STRING_VIEW && !ABSL_USES_STD_STRING_VIEW
> ++
> + ArgConvertResult<FormatConversionCharSetUnion(
> +     FormatConversionCharSetInternal::s, FormatConversionCharSetInternal::p)>
> + FormatConvertImpl(const char* v, const FormatConversionSpecImpl conv,
> +diff --git a/absl/strings/internal/str_format/convert_test.cc b/absl/strings/internal/str_format/convert_test.cc
> +index 634ee78b..cc789530 100644
> +--- a/absl/strings/internal/str_format/convert_test.cc
> ++++ b/absl/strings/internal/str_format/convert_test.cc
> +@@ -215,6 +215,9 @@ TEST_F(FormatConvertTest, BasicString) {
> +   TestStringConvert(static_cast<const char*>("hello"));
> +   TestStringConvert(std::string("hello"));
> +   TestStringConvert(string_view("hello"));
> ++#if defined(ABSL_HAVE_STD_STRING_VIEW)
> ++  TestStringConvert(std::string_view("hello"));
> ++#endif  // ABSL_HAVE_STD_STRING_VIEW
> + }
> +
> + TEST_F(FormatConvertTest, NullString) {
> diff --git a/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp_git.bb b/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp_git.bb
> index 569bb13993..a49fe672e8 100644
> --- a/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp_git.bb
> +++ b/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp_git.bb
> @@ -14,6 +14,7 @@ SRC_URI = "git://github.com/abseil/abseil-cpp;branch=${BRANCH};protocol=https \
>              file://0001-absl-always-use-asm-sgidefs.h.patch             \
>              file://0002-Remove-maes-option-from-cross-compilation.patch \
>              file://abseil-ppc-fixes.patch \
> +           file://0001-Export-of-internal-Abseil-changes.patch \
>             "
>   
>   S = "${WORKDIR}/git"
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#96426): https://lists.openembedded.org/g/openembedded-devel/message/96426
> Mute This Topic: https://lists.openembedded.org/mt/90262400/3616698
> Group Owner: openembedded-devel+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub [akuster808@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
Martin Jansa April 8, 2022, 12:28 a.m. UTC | #2
Just like the .patch file in master branch, does hardknott have stricter
rules than master branch?

On Fri, Apr 8, 2022 at 1:57 AM akuster808 <akuster808@gmail.com> wrote:

>
>
> On 4/5/22 03:41, Martin Jansa wrote:
> > From: Khem Raj <raj.khem@gmail.com>
> >
> > * based on commit from honister, but without the upgrade:
> >    commit 8691de2580dd872e3d001d67c8455108b3bd627c
> >    Author: Khem Raj <raj.khem@gmail.com>
> >    Date:   Sat May 8 14:38:52 2021 -0700
> >
> >      abseil-cpp: Upgrade to lts_2021_03_24
> >
> >      Fix build with glibc 2.34 while here
> >      Forward patches to this version
> >      Let system package the libraries
> >
> >    to fix abseil-cpp-native build on e.g. Ubuntu-22.04 with glibc-2.34
> to fix:
> >
> >    | FAILED:
> absl/debugging/CMakeFiles/failure_signal_handler.dir/failure_signal_handler.cc.o
> >    | /OE/lge/build/webosose/hardknott/BUILD/hosttools/g++
> -Dfailure_signal_handler_EXPORTS
> -I/OE/lge/build/webosose/hardknott/BUILD/work/x86_64-linux/abseil-cpp-native/20200923+gitAUTOINC+6f9d96a1f4-r0/git
> -isystem/OE/lge/build/webosose/hardknott/BUILD/work/x86_64-linux/abseil-cpp-native/20200923+gitAUTOINC+6f9d96a1f4-r0/recipe-sysroot-native/usr/include
> -O2 -pipe -fPIC -Wall -Wextra -Wcast-qual -Wconversion-null
> -Wmissing-declarations -Woverlength-strings -Wpointer-arith -Wundef
> -Wunused-local-typedefs -Wunused-result -Wvarargs -Wvla -Wwrite-strings
> -Wno-missing-field-initializers -Wno-sign-compare -DNOMINMAX -std=gnu++14
> -MD -MT
> absl/debugging/CMakeFiles/failure_signal_handler.dir/failure_signal_handler.cc.o
> -MF
> absl/debugging/CMakeFiles/failure_signal_handler.dir/failure_signal_handler.cc.o.d
> -o
> absl/debugging/CMakeFiles/failure_signal_handler.dir/failure_signal_handler.cc.o
> -c
> /OE/lge/build/webosose/hardknott/BUILD/work/x86_64-linux/abseil-cpp-native/20200923+gitAUTOINC+6f9d96a1f4-r0/git/absl/debugging/failure_signal_handler.cc
> >    |
> /OE/lge/build/webosose/hardknott/BUILD/work/x86_64-linux/abseil-cpp-native/20200923+gitAUTOINC+6f9d96a1f4-r0/git/absl/debugging/failure_signal_handler.cc:
> In function ‘bool absl::lts_2020_09_23::SetupAlternateStackOnce()’:
> >    |
> /OE/lge/build/webosose/hardknott/BUILD/work/x86_64-linux/abseil-cpp-native/20200923+gitAUTOINC+6f9d96a1f4-r0/git/absl/debugging/failure_signal_handler.cc:138:32:
> error: no matching function for call to ‘max(long int, int)’
> >    |   138 |   size_t stack_size = (std::max(SIGSTKSZ, 65536) +
> page_mask) & ~page_mask;
> >    |       |                        ~~~~~~~~^~~~~~~~~~~~~~~~~
> >
> > Signed-off-by: Khem Raj <raj.khem@gmail.com>
> > Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
> > ---
> >   ...01-Export-of-internal-Abseil-changes.patch | 82 +++++++++++++++++++
> >   .../abseil-cpp/abseil-cpp_git.bb              |  1 +
> >   2 files changed, 83 insertions(+)
> >   create mode 100644
> meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0001-Export-of-internal-Abseil-changes.patch
> >
> > diff --git
> a/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0001-Export-of-internal-Abseil-changes.patch
> b/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0001-Export-of-internal-Abseil-changes.patch
> > new file mode 100644
> > index 0000000000..c0fb0571f7
> > --- /dev/null
> > +++
> b/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0001-Export-of-internal-Abseil-changes.patch
> > @@ -0,0 +1,82 @@
> > +From d3424201a73f29ab533121b1821a76e1b4313beb Mon Sep 17 00:00:00 2001
> > +From: Abseil Team <absl-team@google.com>
> > +Date: Mon, 3 May 2021 07:37:39 -0700
> > +Subject: [PATCH] Export of internal Abseil changes
> > +
> > +--
> > +cf88f9cf40eab54c06bca7f20795352ec23bb583 by Derek Mauro <
> dmauro@google.com>:
> > +
> > +Fixes build with latest glibc
> > +Fixes #952
> > +
> > +PiperOrigin-RevId: 371693908
> > +
> > +--
> > +99bcd0f4a747ce7a401e23c745adf34d0ec5131b by Samuel Benzaquen <
> sbenza@google.com>:
> > +
> > +Add support for std::string_view in StrFormat even when
> > +absl::string_view != std::string_view.
> > +
> > +PiperOrigin-RevId: 371693633
> > +
> > +--
> > +e35463572149a6c2d4a0d439b9300ce03fd6b96d by Abseil Team <
> absl-team@google.com>:
> > +
> > +Cmake builds should only install pkg-config when explicitly requested.
> > +
> > +PiperOrigin-RevId: 371403419
> > +GitOrigin-RevId: cf88f9cf40eab54c06bca7f20795352ec23bb583
> > +Change-Id: I4360a18c638a4d901ff44ab1e0a9d8f321c302ea
>
> Patch missing "Upstream-Status" and "Signed-off-by"
>
> - armin
> > +---
> > + absl/debugging/failure_signal_handler.cc         | 3 ++-
> > + absl/strings/internal/str_format/arg.h           | 8 ++++++++
> > + absl/strings/internal/str_format/convert_test.cc | 3 +++
> > + 3 files changed, 13 insertions(+), 1 deletion(-)
> > +
> > +diff --git a/absl/debugging/failure_signal_handler.cc
> b/absl/debugging/failure_signal_handler.cc
> > +index 5d13bdbb..2ed137b5 100644
> > +--- a/absl/debugging/failure_signal_handler.cc
> > ++++ b/absl/debugging/failure_signal_handler.cc
> > +@@ -135,7 +135,8 @@ static bool SetupAlternateStackOnce() {
> > + #else
> > +   const size_t page_mask = sysconf(_SC_PAGESIZE) - 1;
> > + #endif
> > +-  size_t stack_size = (std::max(SIGSTKSZ, 65536) + page_mask) &
> ~page_mask;
> > ++  size_t stack_size =
> > ++      (std::max<size_t>(SIGSTKSZ, 65536) + page_mask) & ~page_mask;
> > + #if defined(ABSL_HAVE_ADDRESS_SANITIZER) || \
> > +     defined(ABSL_HAVE_MEMORY_SANITIZER) ||
> defined(ABSL_HAVE_THREAD_SANITIZER)
> > +   // Account for sanitizer instrumentation requiring additional stack
> space.
> > +diff --git a/absl/strings/internal/str_format/arg.h
> b/absl/strings/internal/str_format/arg.h
> > +index 3dbc1526..f9d89d12 100644
> > +--- a/absl/strings/internal/str_format/arg.h
> > ++++ b/absl/strings/internal/str_format/arg.h
> > +@@ -108,6 +108,14 @@ StringConvertResult FormatConvertImpl(const
> std::string& v,
> > + StringConvertResult FormatConvertImpl(string_view v,
> > +                                       FormatConversionSpecImpl conv,
> > +                                       FormatSinkImpl* sink);
> > ++#if defined(ABSL_HAVE_STD_STRING_VIEW) &&
> !defined(ABSL_USES_STD_STRING_VIEW)
> > ++inline StringConvertResult FormatConvertImpl(std::string_view v,
> > ++                                             FormatConversionSpecImpl
> conv,
> > ++                                             FormatSinkImpl* sink) {
> > ++  return FormatConvertImpl(absl::string_view(v.data(), v.size()),
> conv, sink);
> > ++}
> > ++#endif  // ABSL_HAVE_STD_STRING_VIEW && !ABSL_USES_STD_STRING_VIEW
> > ++
> > + ArgConvertResult<FormatConversionCharSetUnion(
> > +     FormatConversionCharSetInternal::s,
> FormatConversionCharSetInternal::p)>
> > + FormatConvertImpl(const char* v, const FormatConversionSpecImpl conv,
> > +diff --git a/absl/strings/internal/str_format/convert_test.cc
> b/absl/strings/internal/str_format/convert_test.cc
> > +index 634ee78b..cc789530 100644
> > +--- a/absl/strings/internal/str_format/convert_test.cc
> > ++++ b/absl/strings/internal/str_format/convert_test.cc
> > +@@ -215,6 +215,9 @@ TEST_F(FormatConvertTest, BasicString) {
> > +   TestStringConvert(static_cast<const char*>("hello"));
> > +   TestStringConvert(std::string("hello"));
> > +   TestStringConvert(string_view("hello"));
> > ++#if defined(ABSL_HAVE_STD_STRING_VIEW)
> > ++  TestStringConvert(std::string_view("hello"));
> > ++#endif  // ABSL_HAVE_STD_STRING_VIEW
> > + }
> > +
> > + TEST_F(FormatConvertTest, NullString) {
> > diff --git a/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp_git.bb
> b/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp_git.bb
> > index 569bb13993..a49fe672e8 100644
> > --- a/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp_git.bb
> > +++ b/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp_git.bb
> > @@ -14,6 +14,7 @@ SRC_URI = "git://
> github.com/abseil/abseil-cpp;branch=${BRANCH};protocol=https
> <http://github.com/abseil/abseil-cpp;branch=$%7BBRANCH%7D;protocol=https>
> \
> >              file://0001-absl-always-use-asm-sgidefs.h.patch
>  \
> >              file://0002-Remove-maes-option-from-cross-compilation.patch
> \
> >              file://abseil-ppc-fixes.patch \
> > +           file://0001-Export-of-internal-Abseil-changes.patch \
> >             "
> >
> >   S = "${WORKDIR}/git"
> >
> > -=-=-=-=-=-=-=-=-=-=-=-
> > Links: You receive all messages sent to this group.
> > View/Reply Online (#96426):
> https://lists.openembedded.org/g/openembedded-devel/message/96426
> > Mute This Topic: https://lists.openembedded.org/mt/90262400/3616698
> > Group Owner: openembedded-devel+owner@lists.openembedded.org
> > Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub [
> akuster808@gmail.com]
> > -=-=-=-=-=-=-=-=-=-=-=-
> >
>
>

Patch

diff --git a/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0001-Export-of-internal-Abseil-changes.patch b/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0001-Export-of-internal-Abseil-changes.patch
new file mode 100644
index 0000000000..c0fb0571f7
--- /dev/null
+++ b/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0001-Export-of-internal-Abseil-changes.patch
@@ -0,0 +1,82 @@ 
+From d3424201a73f29ab533121b1821a76e1b4313beb Mon Sep 17 00:00:00 2001
+From: Abseil Team <absl-team@google.com>
+Date: Mon, 3 May 2021 07:37:39 -0700
+Subject: [PATCH] Export of internal Abseil changes
+
+--
+cf88f9cf40eab54c06bca7f20795352ec23bb583 by Derek Mauro <dmauro@google.com>:
+
+Fixes build with latest glibc
+Fixes #952
+
+PiperOrigin-RevId: 371693908
+
+--
+99bcd0f4a747ce7a401e23c745adf34d0ec5131b by Samuel Benzaquen <sbenza@google.com>:
+
+Add support for std::string_view in StrFormat even when
+absl::string_view != std::string_view.
+
+PiperOrigin-RevId: 371693633
+
+--
+e35463572149a6c2d4a0d439b9300ce03fd6b96d by Abseil Team <absl-team@google.com>:
+
+Cmake builds should only install pkg-config when explicitly requested.
+
+PiperOrigin-RevId: 371403419
+GitOrigin-RevId: cf88f9cf40eab54c06bca7f20795352ec23bb583
+Change-Id: I4360a18c638a4d901ff44ab1e0a9d8f321c302ea
+---
+ absl/debugging/failure_signal_handler.cc         | 3 ++-
+ absl/strings/internal/str_format/arg.h           | 8 ++++++++
+ absl/strings/internal/str_format/convert_test.cc | 3 +++
+ 3 files changed, 13 insertions(+), 1 deletion(-)
+
+diff --git a/absl/debugging/failure_signal_handler.cc b/absl/debugging/failure_signal_handler.cc
+index 5d13bdbb..2ed137b5 100644
+--- a/absl/debugging/failure_signal_handler.cc
++++ b/absl/debugging/failure_signal_handler.cc
+@@ -135,7 +135,8 @@ static bool SetupAlternateStackOnce() {
+ #else
+   const size_t page_mask = sysconf(_SC_PAGESIZE) - 1;
+ #endif
+-  size_t stack_size = (std::max(SIGSTKSZ, 65536) + page_mask) & ~page_mask;
++  size_t stack_size =
++      (std::max<size_t>(SIGSTKSZ, 65536) + page_mask) & ~page_mask;
+ #if defined(ABSL_HAVE_ADDRESS_SANITIZER) || \
+     defined(ABSL_HAVE_MEMORY_SANITIZER) || defined(ABSL_HAVE_THREAD_SANITIZER)
+   // Account for sanitizer instrumentation requiring additional stack space.
+diff --git a/absl/strings/internal/str_format/arg.h b/absl/strings/internal/str_format/arg.h
+index 3dbc1526..f9d89d12 100644
+--- a/absl/strings/internal/str_format/arg.h
++++ b/absl/strings/internal/str_format/arg.h
+@@ -108,6 +108,14 @@ StringConvertResult FormatConvertImpl(const std::string& v,
+ StringConvertResult FormatConvertImpl(string_view v,
+                                       FormatConversionSpecImpl conv,
+                                       FormatSinkImpl* sink);
++#if defined(ABSL_HAVE_STD_STRING_VIEW) && !defined(ABSL_USES_STD_STRING_VIEW)
++inline StringConvertResult FormatConvertImpl(std::string_view v,
++                                             FormatConversionSpecImpl conv,
++                                             FormatSinkImpl* sink) {
++  return FormatConvertImpl(absl::string_view(v.data(), v.size()), conv, sink);
++}
++#endif  // ABSL_HAVE_STD_STRING_VIEW && !ABSL_USES_STD_STRING_VIEW
++
+ ArgConvertResult<FormatConversionCharSetUnion(
+     FormatConversionCharSetInternal::s, FormatConversionCharSetInternal::p)>
+ FormatConvertImpl(const char* v, const FormatConversionSpecImpl conv,
+diff --git a/absl/strings/internal/str_format/convert_test.cc b/absl/strings/internal/str_format/convert_test.cc
+index 634ee78b..cc789530 100644
+--- a/absl/strings/internal/str_format/convert_test.cc
++++ b/absl/strings/internal/str_format/convert_test.cc
+@@ -215,6 +215,9 @@ TEST_F(FormatConvertTest, BasicString) {
+   TestStringConvert(static_cast<const char*>("hello"));
+   TestStringConvert(std::string("hello"));
+   TestStringConvert(string_view("hello"));
++#if defined(ABSL_HAVE_STD_STRING_VIEW)
++  TestStringConvert(std::string_view("hello"));
++#endif  // ABSL_HAVE_STD_STRING_VIEW
+ }
+ 
+ TEST_F(FormatConvertTest, NullString) {
diff --git a/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp_git.bb b/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp_git.bb
index 569bb13993..a49fe672e8 100644
--- a/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp_git.bb
+++ b/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp_git.bb
@@ -14,6 +14,7 @@  SRC_URI = "git://github.com/abseil/abseil-cpp;branch=${BRANCH};protocol=https \
            file://0001-absl-always-use-asm-sgidefs.h.patch             \
            file://0002-Remove-maes-option-from-cross-compilation.patch \
            file://abseil-ppc-fixes.patch \
+           file://0001-Export-of-internal-Abseil-changes.patch \
           "
 
 S = "${WORKDIR}/git"