Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions ci/base.lock.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,21 +3,21 @@ header:
overrides:
repos:
oe-core:
commit: 62d2381bdee1cebb5924f8594f8a9994083d4f7d
commit: 9a25b3e72051a30794e147564028487a598ce82d
bitbake:
commit: 3a99c26fa581d70ed67bd08a5e0e0d0b18369a7c
meta-arm:
commit: 28606c721503b70e8343968731a24260cfe985bc
meta-openembedded:
commit: dc0ccaa27311b3379749ecf44f98c0b5e249902e
commit: dc2335d63b279a4ee344a8b7034a61319f242101
meta-virtualization:
commit: 022f4356d4a9b389f51472d40a9330aa59f6bb9a
meta-audioreach:
commit: b5a382aba0e5b1e4cfbd9f36256ea46e0d4cf002
meta-selinux:
commit: 7351443c6579671bcf048817438f1740ad23eaab
meta-updater:
commit: fff4a58a057c26ec0a2067ea5f32acd75ef7add4
commit: a081e4927cba1dc98e887bd8aaaa5580de7a72c5
meta-security:
commit: 226839ac408223f8041cde1b1d8b762d6fbc8050
meta-dpdk:
Expand Down
7 changes: 7 additions & 0 deletions ci/qcom-distro.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,13 @@ repos:

meta-selinux:
url: https://git.yoctoproject.org/meta-selinux
patches:
libsepol-nativesdk:
repo: meta-qcom
path: patches/selinux/0001-libsepol-enable-nativesdk.patch
libselinux-nativesdk:
repo: meta-qcom
path: patches/selinux/0002-libselinux-enable-nativesdk.patch

meta-updater:
url: https://github.com/uptane/meta-updater
Expand Down
35 changes: 0 additions & 35 deletions classes-recipe/nhlos-license.bbclass

This file was deleted.

2 changes: 2 additions & 0 deletions conf/layer.conf
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,8 @@ BBFILES_DYNAMIC += " \
ai:${LAYERDIR}/dynamic-layers/ai/*/*/*.bbappend \
meta-arm:${LAYERDIR}/dynamic-layers/meta-arm/*/*/*.bb \
meta-arm:${LAYERDIR}/dynamic-layers/meta-arm/*/*/*.bbappend \
multimedia-layer:${LAYERDIR}/dynamic-layers/multimedia-layer/*/*/*.bb \
multimedia-layer:${LAYERDIR}/dynamic-layers/multimedia-layer/*/*/*.bbappend \
networking-layer:${LAYERDIR}/dynamic-layers/networking-layer/*/*/*.bb \
networking-layer:${LAYERDIR}/dynamic-layers/networking-layer/*/*/*.bbappend \
openembedded-layer:${LAYERDIR}/dynamic-layers/openembedded-layer/*/*/*.bb \
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Temporarily revert to old abseil-cpp version
DEPENDS:remove:qcom = "abseil-cpp"
DEPENDS:append:qcom = " abseil-cpp-camx"
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Temporarily revert to old abseil-cpp version
DEPENDS:remove:qcom = "abseil-cpp"
DEPENDS:append:qcom = " abseil-cpp-camx"
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Temporarily revert to old abseil-cpp version
DEPENDS:remove:qcom = "abseil-cpp"
DEPENDS:append:qcom = " abseil-cpp-camx"
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
From 30251d7754fe308251747dc40328a52a6b0e0601 Mon Sep 17 00:00:00 2001
From: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Date: Sat, 8 Aug 2026 00:27:15 +0300
Subject: [PATCH] thd_gddv: fix building on 32-bit systems

Fix the error caused by type mismatch:

src/thd_gddv.cpp: In member function 'int cthd_gddv::evaluate_condition(condition&)':
src/thd_gddv.cpp:1721:39: error: format '%ld' expects argument of type 'long int', but argument 4 has type 'time_t' {aka 'long long int'} [-Werror=format=]

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Upstream-Status: Pending [waiting for approval]
---
src/thd_gddv.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/thd_gddv.cpp b/src/thd_gddv.cpp
index e822b9f72f45..a2691594960d 100644
--- a/src/thd_gddv.cpp
+++ b/src/thd_gddv.cpp
@@ -1718,7 +1718,7 @@ int cthd_gddv::evaluate_condition(struct condition& condition) {
return ret;

if (condition.time) {
- thd_log_debug("time condition matched %ld \n", condition.state_entry_time);
+ thd_log_debug("time condition matched %" PRId64" \n", condition.state_entry_time);

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice! I don't know about this PRId64. I tried to fix this problem with

+--- a/src/thd_gddv.cpp
++++ b/src/thd_gddv.cpp
+@@ -1718,7 +1718,7 @@ int cthd_gddv::evaluate_condition(struct condition& condition) {
+                       return ret;
+ 
+               if (condition.time) {
+-                      thd_log_debug("time condition matched %ld \n", condition.state_entry_time);
++                      thd_log_debug("time condition matched %lld \n", condition.state_entry_time);
+                       if (condition.state_entry_time == 0) {
+                               condition.state_entry_time = time(nullptr);
+                               return THD_ERROR;
+-- 

However, I fixed the armv7 but the same fix broke the armv8

if (condition.state_entry_time == 0) {
condition.state_entry_time = time(nullptr);
return THD_ERROR;
--
2.47.3

Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
FILESEXTRAPATHS:prepend := "${THISDIR}/files:"
SRC_URI:append:qcom = " file://0001-thd_gddv-fix-building-on-32-bit-systems.patch"
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
From 11faa06436fdeb0c9948080a11f9a99d3b5ba16c Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Thu, 9 Apr 2020 13:06:27 -0700
Subject: [PATCH] absl: always use <asm/sgidefs.h>

Fixes mips/musl build, since sgidefs.h is not present on all C libraries
but on linux asm/sgidefs.h is there and contains same definitions, using
that makes it portable.

Upstream-Status: Pending

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
absl/base/internal/direct_mmap.h | 6 +-----
1 file changed, 1 insertion(+), 5 deletions(-)

diff --git a/absl/base/internal/direct_mmap.h b/absl/base/internal/direct_mmap.h
index 1beb2ee4..140b0697 100644
--- a/absl/base/internal/direct_mmap.h
+++ b/absl/base/internal/direct_mmap.h
@@ -41,13 +41,9 @@

#ifdef __mips__
// Include definitions of the ABI currently in use.
-#if defined(__BIONIC__) || !defined(__GLIBC__)
-// Android doesn't have sgidefs.h, but does have asm/sgidefs.h, which has the
+// bionic/musl C libs don't have sgidefs.h, but do have asm/sgidefs.h, which has the
// definitions we need.
#include <asm/sgidefs.h>
-#else
-#include <sgidefs.h>
-#endif // __BIONIC__ || !__GLIBC__
#endif // __mips__

// SYS_mmap and SYS_munmap are not defined in Android.
--
2.25.1

Original file line number Diff line number Diff line change
@@ -0,0 +1,100 @@
From 5891332fecd3bf707b58dda56b4b3f80583b5ef9 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Sat, 21 Sep 2024 20:53:06 +0800
Subject: [PATCH] abseil: ppc fixes

An all-in-one patch that fixes several issues:

1) UnscaledCycleClock not fully implemented for ppc*-musl (disabled on musl)
2) powerpc stacktrace implementation only works on glibc (disabled on musl)
3) powerpc stacktrace implementation has ppc64 assumptions (fixed)
4) examine_stack.cpp makes glibc assumptions on powerpc (fixed)

Sourced from void linux

Upstream-Status: Pending

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
absl/base/internal/unscaledcycleclock.cc | 4 ++--
absl/base/internal/unscaledcycleclock_config.h | 3 ++-
absl/debugging/internal/examine_stack.cc | 8 +++++++-
absl/debugging/internal/stacktrace_config.h | 2 +-
4 files changed, 12 insertions(+), 5 deletions(-)

diff --git a/absl/base/internal/unscaledcycleclock.cc b/absl/base/internal/unscaledcycleclock.cc
index 68f92730..5dbfaab6 100644
--- a/absl/base/internal/unscaledcycleclock.cc
+++ b/absl/base/internal/unscaledcycleclock.cc
@@ -20,7 +20,7 @@
#include <intrin.h>
#endif

-#if defined(__powerpc__) || defined(__ppc__)
+#if (defined(__powerpc__) || defined(__ppc__)) && defined(__GLIBC__)
#ifdef __GLIBC__
#include <sys/platform/ppc.h>
#elif defined(__FreeBSD__)
@@ -58,7 +58,7 @@ double UnscaledCycleClock::Frequency() {
return base_internal::NominalCPUFrequency();
}

-#elif defined(__powerpc__) || defined(__ppc__)
+#elif (defined(__powerpc__) || defined(__ppc__)) && defined(__GLIBC__)

int64_t UnscaledCycleClock::Now() {
#ifdef __GLIBC__
diff --git a/absl/base/internal/unscaledcycleclock_config.h b/absl/base/internal/unscaledcycleclock_config.h
index 43a3dabe..196a8535 100644
--- a/absl/base/internal/unscaledcycleclock_config.h
+++ b/absl/base/internal/unscaledcycleclock_config.h
@@ -21,7 +21,8 @@

// The following platforms have an implementation of a hardware counter.
#if defined(__i386__) || defined(__x86_64__) || defined(__aarch64__) || \
- defined(__powerpc__) || defined(__ppc__) || defined(_M_IX86) || \
+ ((defined(__powerpc__) || defined(__ppc__)) && defined(__GLIBC__)) || \
+ defined(_M_IX86) || \
(defined(_M_X64) && !defined(_M_ARM64EC))
#define ABSL_HAVE_UNSCALED_CYCLECLOCK_IMPLEMENTATION 1
#else
diff --git a/absl/debugging/internal/examine_stack.cc b/absl/debugging/internal/examine_stack.cc
index 3dd6ba1a..f923b055 100644
--- a/absl/debugging/internal/examine_stack.cc
+++ b/absl/debugging/internal/examine_stack.cc
@@ -36,6 +36,10 @@
#include <csignal>
#include <cstdio>

+#if defined(__powerpc__)
+#include <asm/ptrace.h>
+#endif
+
#include "absl/base/attributes.h"
#include "absl/base/internal/raw_logging.h"
#include "absl/base/macros.h"
@@ -177,8 +181,10 @@ void* GetProgramCounter(void* const vuc) {
return reinterpret_cast<void*>(context->uc_mcontext.pc);
#elif defined(__powerpc64__)
return reinterpret_cast<void*>(context->uc_mcontext.gp_regs[32]);
-#elif defined(__powerpc__)
+#elif defined(__powerpc__) && defined(__GLIBC__)
return reinterpret_cast<void*>(context->uc_mcontext.uc_regs->gregs[32]);
+#elif defined(__powerpc__)
+ return reinterpret_cast<void*>((context->uc_regs)->gregs[32]);
#elif defined(__riscv)
return reinterpret_cast<void*>(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 88949fe9..4e26a6b7 100644
--- a/absl/debugging/internal/stacktrace_config.h
+++ b/absl/debugging/internal/stacktrace_config.h
@@ -67,7 +67,7 @@
#elif defined(__i386__) || defined(__x86_64__)
#define ABSL_STACKTRACE_INL_HEADER \
"absl/debugging/internal/stacktrace_x86-inl.inc"
-#elif defined(__ppc__) || defined(__PPC__)
+#elif (defined(__ppc__) || defined(__PPC__)) && defined(__GLIBC__)
#define ABSL_STACKTRACE_INL_HEADER \
"absl/debugging/internal/stacktrace_powerpc-inl.inc"
#elif defined(__aarch64__)
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
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"

_BPN = "abseil-cpp"
_BP = "${_BPN}-${PV}"
S = "${UNPACKDIR}/${_BP}"

SRC_URI = "https://github.com/abseil/${_BPN}/releases/download/${PV}/${_BP}.tar.gz \
file://0001-absl-always-use-asm-sgidefs.h.patch \
file://0002-abseil-ppc-fixes.patch \
"
SRC_URI[sha256sum] = "4314e2a7cbac89cac25a2f2322870f343d81579756ceff7f431803c2c9090195"

UPSTREAM_CHECK_URI = "https://github.com/abseil/abseil-cpp/releases"
UPSTREAM_CHECK_REGEX = "releases/tag/(?P<pver>\d+(\.\d+)+)"

inherit cmake

EXTRA_OECMAKE = "-DBUILD_SHARED_LIBS=ON \
-DBUILD_TESTING=OFF \
-DABSL_ENABLE_INSTALL=ON \
-DCMAKE_CXX_STANDARD=17 \
"
# riscv32-yoe-linux-ld.lld: error: undefined reference: __atomic_store_8
# >>> referenced by <recipe-sysroot>/usr/lib/libabsl_flags_internal.so.2505.0.0 (disallowed by --no-allow-shlib-undefined)
LDFLAGS:append:riscv32 = " -latomic"

SYSROOT_DIRS:append:class-nativesdk:mingw32 = " ${bindir}"

PACKAGES_DYNAMIC += "^libabsl-camx-*"
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-camx_(.*)\.so\..*$',
output_pattern='libabsl-camx-%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"

# Add CVE_PRODUCT to match the NVD CPE product name
CVE_PRODUCT = "abseil:common_libraries"

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Temporarily revert to old abseil-cpp version
DEPENDS:remove:qcom = "abseil-cpp"
DEPENDS:append:qcom = " abseil-cpp-camx"
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Temporarily revert to old abseil-cpp version
DEPENDS:remove:qcom = "abseil-cpp"
DEPENDS:append:qcom = " abseil-cpp-camx"
Loading
Loading