From ada16eff73426004efb5066fd5c0a315c120e52c Mon Sep 17 00:00:00 2001 From: Wang Mingyu Date: Tue, 25 Mar 2025 17:01:08 +0800 Subject: abseil-cpp: upgrade 20250127.0 -> 20250127.1 0001-Actually-use-the-hint-space-instruction-to-strip-PAC.patch removed since it's inclued in 20250127.1 abseil-cpp/0004-abseil-ppc-fixes.patch refreshed for 20250127.1 Changelog: ============= - Added support for Bazel 8.0 - Added support for Bazel Platforms for better portability - Added ABSL_ATTRIBUTE_VIEW and ABSL_ATTRIBUTE_OWNER for diagnosing certain lifetime issues - Many performance improvements - A security issue in hash container create/resize has been fixed. Note that the latest patch releases for previous LTS versions also address this issue. - Bazel BUILD files now reference repositories by their canonical names from the Bazel Central Registry. Signed-off-by: Wang Mingyu Signed-off-by: Khem Raj --- ...e-the-hint-space-instruction-to-strip-PAC.patch | 32 ------------- .../abseil-cpp/0004-abseil-ppc-fixes.patch | 11 ++--- .../abseil-cpp/abseil-cpp_20250127.0.bb | 54 ---------------------- .../abseil-cpp/abseil-cpp_20250127.1.bb | 53 +++++++++++++++++++++ 4 files changed, 57 insertions(+), 93 deletions(-) delete mode 100644 meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0001-Actually-use-the-hint-space-instruction-to-strip-PAC.patch delete mode 100644 meta-oe/recipes-devtools/abseil-cpp/abseil-cpp_20250127.0.bb create mode 100644 meta-oe/recipes-devtools/abseil-cpp/abseil-cpp_20250127.1.bb diff --git a/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0001-Actually-use-the-hint-space-instruction-to-strip-PAC.patch b/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0001-Actually-use-the-hint-space-instruction-to-strip-PAC.patch deleted file mode 100644 index a235797de9..0000000000 --- a/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0001-Actually-use-the-hint-space-instruction-to-strip-PAC.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 5852b47a81e5334a667d1e12dbfa55c0f8111100 Mon Sep 17 00:00:00 2001 -From: Derek Mauro -Date: Fri, 7 Feb 2025 08:49:06 -0800 -Subject: [PATCH] Actually use the hint space instruction to strip PAC bits for - return addresses in stack traces as the comment says - -https://android.googlesource.com/platform/libcore/+/71f2c75111e87091616f0f3b86bea6c4d345dad1/src/hotspot/os_cpu/linux_aarch64/pauth_linux_aarch64.inline.hpp - -PiperOrigin-RevId: 724360415 -Change-Id: I691160e43354131a04919765ce283e07c3c933a9 -Signed-off-by: Alex Kiernan -Signed-off-by: Alex Kiernan -Upstream-Status: Backport [https://github.com/abseil/abseil-cpp/commit/5852b47a81e5334a667d1e12dbfa55c0f8111100] ---- - absl/debugging/internal/stacktrace_aarch64-inl.inc | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -diff --git a/absl/debugging/internal/stacktrace_aarch64-inl.inc b/absl/debugging/internal/stacktrace_aarch64-inl.inc -index 4490c4e13cae..dccadaeb7c24 100644 ---- a/absl/debugging/internal/stacktrace_aarch64-inl.inc -+++ b/absl/debugging/internal/stacktrace_aarch64-inl.inc -@@ -188,7 +188,9 @@ inline void* ClearPacBits(void* ptr) { - // compatibility with ARM platforms that do not support pointer - // authentication, we use the hint space instruction XPACLRI instead. Hint - // space instructions behave as NOPs on unsupported platforms. -- asm("xpaclri" : "+r"(x30)); -+#define ABSL_XPACLRI_HINT "hint #0x7;" -+ asm(ABSL_XPACLRI_HINT : "+r"(x30)); // asm("xpaclri" : "+r"(x30)); -+#undef ABSL_XPACLRI_HINT - return x30; - } - diff --git a/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0004-abseil-ppc-fixes.patch b/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0004-abseil-ppc-fixes.patch index ba0cd66920..a0b99dd206 100644 --- a/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0004-abseil-ppc-fixes.patch +++ b/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0004-abseil-ppc-fixes.patch @@ -1,4 +1,4 @@ -From f9607924225ca59fb6c60222e6424b84e6f70029 Mon Sep 17 00:00:00 2001 +From 5891332fecd3bf707b58dda56b4b3f80583b5ef9 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Sat, 21 Sep 2024 20:53:06 +0800 Subject: [PATCH] abseil: ppc fixes @@ -23,7 +23,7 @@ Signed-off-by: Khem Raj 4 files changed, 12 insertions(+), 5 deletions(-) diff --git a/absl/base/internal/unscaledcycleclock.cc b/absl/base/internal/unscaledcycleclock.cc -index a0bf3a65..103b4f6a 100644 +index 68f92730..5dbfaab6 100644 --- a/absl/base/internal/unscaledcycleclock.cc +++ b/absl/base/internal/unscaledcycleclock.cc @@ -20,7 +20,7 @@ @@ -86,10 +86,10 @@ index 3dd6ba1a..f923b055 100644 return reinterpret_cast(context->uc_mcontext.__gregs[REG_PC]); #elif defined(__s390__) && !defined(__s390x__) diff --git a/absl/debugging/internal/stacktrace_config.h b/absl/debugging/internal/stacktrace_config.h -index 3929b1b7..23d5e504 100644 +index 88949fe9..4e26a6b7 100644 --- a/absl/debugging/internal/stacktrace_config.h +++ b/absl/debugging/internal/stacktrace_config.h -@@ -60,7 +60,7 @@ +@@ -67,7 +67,7 @@ #elif defined(__i386__) || defined(__x86_64__) #define ABSL_STACKTRACE_INL_HEADER \ "absl/debugging/internal/stacktrace_x86-inl.inc" @@ -98,6 +98,3 @@ index 3929b1b7..23d5e504 100644 #define ABSL_STACKTRACE_INL_HEADER \ "absl/debugging/internal/stacktrace_powerpc-inl.inc" #elif defined(__aarch64__) --- -2.25.1 - diff --git a/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp_20250127.0.bb b/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp_20250127.0.bb deleted file mode 100644 index f217d4daf8..0000000000 --- a/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp_20250127.0.bb +++ /dev/null @@ -1,54 +0,0 @@ -SUMMARY = "Abseil is a cpp library like STL" -DESCRIPTION = "Abseil provides pieces missing from the C++ standard. Contains \ -additional useful libraries like algorithm, container, debugging, hash, memory, \ -meta, numeric, strings, synchronization, time, types and utility." -HOMEPAGE = "https://abseil.io/" -SECTION = "libs" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=df52c6edb7adc22e533b2bacc3bd3915" - -SRCREV = "9ac7062b1860d895fb5a8cbf58c3e9ef8f674b5f" -BRANCH = "lts_2025_01_27" -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://0003-Remove-neon-option-from-cross-compilation.patch \ - file://0004-abseil-ppc-fixes.patch \ - file://0001-Actually-use-the-hint-space-instruction-to-strip-PAC.patch \ - " - -S = "${WORKDIR}/git" - -inherit cmake - -EXTRA_OECMAKE = "-DBUILD_SHARED_LIBS=ON \ - -DBUILD_TESTING=OFF \ - -DABSL_ENABLE_INSTALL=ON \ - " - -SYSROOT_DIRS:append:class-nativesdk:mingw32 = " ${bindir}" - -PACKAGES_DYNAMIC += "^libabsl-*" -PACKAGES_DYNAMIC:class-native = "" - -PACKAGESPLITFUNCS =+ "split_dynamic_packages" - -python split_dynamic_packages() { - libdir = d.getVar('libdir') - - libpackages = do_split_packages( - d, - root=libdir, - file_regex=r'^libabsl_(.*)\.so\..*$', - output_pattern='libabsl-%s', - description="abseil shared library %s", - prepend=True, - extra_depends='', - ) - if libpackages: - d.appendVar('RDEPENDS:' + d.getVar('PN'), ' ' + ' '.join(libpackages)) -} - -ALLOW_EMPTY:${PN} = "1" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp_20250127.1.bb b/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp_20250127.1.bb new file mode 100644 index 0000000000..5368dfaada --- /dev/null +++ b/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp_20250127.1.bb @@ -0,0 +1,53 @@ +SUMMARY = "Abseil is a cpp library like STL" +DESCRIPTION = "Abseil provides pieces missing from the C++ standard. Contains \ +additional useful libraries like algorithm, container, debugging, hash, memory, \ +meta, numeric, strings, synchronization, time, types and utility." +HOMEPAGE = "https://abseil.io/" +SECTION = "libs" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=df52c6edb7adc22e533b2bacc3bd3915" + +SRCREV = "d9e4955c65cd4367dd6bf46f4ccb8cd3d100540b" +BRANCH = "lts_2025_01_27" +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://0003-Remove-neon-option-from-cross-compilation.patch \ + file://0004-abseil-ppc-fixes.patch \ + " + +S = "${WORKDIR}/git" + +inherit cmake + +EXTRA_OECMAKE = "-DBUILD_SHARED_LIBS=ON \ + -DBUILD_TESTING=OFF \ + -DABSL_ENABLE_INSTALL=ON \ + " + +SYSROOT_DIRS:append:class-nativesdk:mingw32 = " ${bindir}" + +PACKAGES_DYNAMIC += "^libabsl-*" +PACKAGES_DYNAMIC:class-native = "" + +PACKAGESPLITFUNCS =+ "split_dynamic_packages" + +python split_dynamic_packages() { + libdir = d.getVar('libdir') + + libpackages = do_split_packages( + d, + root=libdir, + file_regex=r'^libabsl_(.*)\.so\..*$', + output_pattern='libabsl-%s', + description="abseil shared library %s", + prepend=True, + extra_depends='', + ) + if libpackages: + d.appendVar('RDEPENDS:' + d.getVar('PN'), ' ' + ' '.join(libpackages)) +} + +ALLOW_EMPTY:${PN} = "1" + +BBCLASSEXTEND = "native nativesdk" -- cgit v1.2.3-54-g00ecf