Complete Yocto mirror with license table for TQMa6UL (2038-compliance)
- 264 license table entries with exact download URLs (224/264 resolved) - Complete sources/ directory with all BitBake recipes - Build configuration: tqma6ul-multi-mba6ulx, spaetzle (musl) - Full traceability for Softwarefreigabeantrag - GCC 13.4.0, Linux 6.6.102, U-Boot 2023.04, musl 1.2.4 - License distribution: GPL-2.0 (24), MIT (23), GPL-2.0+ (18), BSD-3 (16)
This commit is contained in:
@@ -0,0 +1,39 @@
|
||||
From 738549dea7a4e6c462a79962c414eaa450c2cffd 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 1/3] 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 e492bb0..c8a4fba 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
|
||||
|
||||
@@ -0,0 +1,39 @@
|
||||
From d25cf3b9aa873595a19e197cc29ab46c0093bff1 Mon Sep 17 00:00:00 2001
|
||||
From: Sinan Kaya <sinan.kaya@microsoft.com>
|
||||
Date: Mon, 3 Feb 2020 03:25:57 +0000
|
||||
Subject: [PATCH 2/3] Remove maes option from cross-compilation
|
||||
|
||||
---
|
||||
Upstream-Status: Pending
|
||||
|
||||
absl/copts/GENERATED_AbseilCopts.cmake | 4 ----
|
||||
absl/copts/GENERATED_copts.bzl | 4 ----
|
||||
2 files changed, 8 deletions(-)
|
||||
|
||||
diff --git a/absl/copts/GENERATED_AbseilCopts.cmake b/absl/copts/GENERATED_AbseilCopts.cmake
|
||||
index a4ab1aa2041e..23b9253c1f00 100644
|
||||
--- a/absl/copts/GENERATED_AbseilCopts.cmake
|
||||
+++ b/absl/copts/GENERATED_AbseilCopts.cmake
|
||||
@@ -158,7 +158,3 @@ list(APPEND ABSL_RANDOM_HWAES_ARM64_FLAGS
|
||||
list(APPEND ABSL_RANDOM_HWAES_MSVC_X64_FLAGS
|
||||
)
|
||||
|
||||
-list(APPEND ABSL_RANDOM_HWAES_X64_FLAGS
|
||||
- "-maes"
|
||||
- "-msse4.1"
|
||||
-)
|
||||
diff --git a/absl/copts/GENERATED_copts.bzl b/absl/copts/GENERATED_copts.bzl
|
||||
index a6efc98e11d4..1e847f769501 100644
|
||||
--- a/absl/copts/GENERATED_copts.bzl
|
||||
+++ b/absl/copts/GENERATED_copts.bzl
|
||||
@@ -159,7 +159,3 @@ ABSL_RANDOM_HWAES_ARM64_FLAGS = [
|
||||
ABSL_RANDOM_HWAES_MSVC_X64_FLAGS = [
|
||||
]
|
||||
|
||||
-ABSL_RANDOM_HWAES_X64_FLAGS = [
|
||||
- "-maes",
|
||||
- "-msse4.1",
|
||||
-]
|
||||
--
|
||||
2.36.1
|
||||
|
||||
@@ -0,0 +1,49 @@
|
||||
From fb24c3e3539b5743d398a429a302a3886186f261 Mon Sep 17 00:00:00 2001
|
||||
From: Jonas Gorski <jonas.gorski@bisdn.de>
|
||||
Date: Thu, 16 Jun 2022 11:46:31 +0000
|
||||
Subject: [PATCH 3/3] Remove neon option from cross compilation
|
||||
|
||||
Not every arm platform supports neon instructions, so do not enforce
|
||||
them.
|
||||
|
||||
Signed-off-by: Jonas Gorski <jonas.gorski@bisdn.de>
|
||||
---
|
||||
Upstream-Status: Pending
|
||||
|
||||
absl/copts/GENERATED_AbseilCopts.cmake | 4 ----
|
||||
absl/copts/GENERATED_copts.bzl | 4 ----
|
||||
2 files changed, 8 deletions(-)
|
||||
|
||||
diff --git a/absl/copts/GENERATED_AbseilCopts.cmake b/absl/copts/GENERATED_AbseilCopts.cmake
|
||||
index 23b9253c1f00..5d112a97f3e4 100644
|
||||
--- a/absl/copts/GENERATED_AbseilCopts.cmake
|
||||
+++ b/absl/copts/GENERATED_AbseilCopts.cmake
|
||||
@@ -147,10 +147,6 @@ list(APPEND ABSL_MSVC_TEST_FLAGS
|
||||
"/DNOMINMAX"
|
||||
)
|
||||
|
||||
-list(APPEND ABSL_RANDOM_HWAES_ARM32_FLAGS
|
||||
- "-mfpu=neon"
|
||||
-)
|
||||
-
|
||||
list(APPEND ABSL_RANDOM_HWAES_ARM64_FLAGS
|
||||
"-march=armv8-a+crypto"
|
||||
)
|
||||
diff --git a/absl/copts/GENERATED_copts.bzl b/absl/copts/GENERATED_copts.bzl
|
||||
index 1e847f769501..3e10db204faf 100644
|
||||
--- a/absl/copts/GENERATED_copts.bzl
|
||||
+++ b/absl/copts/GENERATED_copts.bzl
|
||||
@@ -148,10 +148,6 @@ ABSL_MSVC_TEST_FLAGS = [
|
||||
"/DNOMINMAX",
|
||||
]
|
||||
|
||||
-ABSL_RANDOM_HWAES_ARM32_FLAGS = [
|
||||
- "-mfpu=neon",
|
||||
-]
|
||||
-
|
||||
ABSL_RANDOM_HWAES_ARM64_FLAGS = [
|
||||
"-march=armv8-a+crypto",
|
||||
]
|
||||
--
|
||||
2.36.1
|
||||
|
||||
@@ -0,0 +1,82 @@
|
||||
From 7335a36d0b5c1c597566f9aa3f458a5b6817c3b4 Mon Sep 17 00:00:00 2001
|
||||
From: aurel32 <aurelien@aurel32.net>
|
||||
Date: Fri, 22 Mar 2024 14:21:13 -0700
|
||||
Subject: [PATCH] PR #1644: unscaledcycleclock: remove RISC-V support
|
||||
|
||||
Imported from GitHub PR https://github.com/abseil/abseil-cpp/pull/1644
|
||||
|
||||
Starting with Linux 6.6 [1], RDCYCLE is a privileged instruction on RISC-V and can't be used directly from userland. There is a sysctl option to change that as a transition period, but it will eventually disappear.
|
||||
|
||||
The RDTIME instruction is another less accurate alternative, however its frequency varies from board to board, and there is currently now way to get its frequency from userland [2].
|
||||
|
||||
Therefore this patch just removes the code for unscaledcycleclock on RISC-V. Without processor specific implementation, abseil relies on std::chrono::steady_clock::now().time_since_epoch() which is basically a wrapper around clock_gettime (CLOCK_MONOTONIC), which in turns use __vdso_clock_gettime(). On RISC-V this VDSO is just a wrapper around RDTIME correctly scaled to use nanoseconds units.
|
||||
|
||||
This fixes the testsuite on riscv64, tested on a VisionFive 2 board.
|
||||
|
||||
[1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=cc4c07c89aada16229084eeb93895c95b7eabaa3
|
||||
[2] https://github.com/abseil/abseil-cpp/pull/1631
|
||||
Merge 43356a2548cfde76e164d446cb69004b488c6a71 into 76f8011beabdaee872b5fde7546e02407b220cb1
|
||||
|
||||
Merging this change closes #1644
|
||||
|
||||
COPYBARA_INTEGRATE_REVIEW=https://github.com/abseil/abseil-cpp/pull/1644 from aurel32:rv64-no-unscaledcycleclock 43356a2548cfde76e164d446cb69004b488c6a71
|
||||
PiperOrigin-RevId: 618286262
|
||||
Change-Id: Ie4120a727e7d0bb185df6e06ea145c780ebe6652
|
||||
|
||||
Upstream-Status: Backport [https://github.com/abseil/abseil-cpp/commit/7335a36d]
|
||||
[Adapted to apply on top of meta-oe's patch stack]
|
||||
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
|
||||
---
|
||||
absl/base/internal/unscaledcycleclock.cc | 12 ------------
|
||||
absl/base/internal/unscaledcycleclock_config.h | 5 ++---
|
||||
2 files changed, 2 insertions(+), 15 deletions(-)
|
||||
|
||||
diff --git a/absl/base/internal/unscaledcycleclock.cc b/absl/base/internal/unscaledcycleclock.cc
|
||||
index f11fecb3..103b4f6a 100644
|
||||
--- a/absl/base/internal/unscaledcycleclock.cc
|
||||
+++ b/absl/base/internal/unscaledcycleclock.cc
|
||||
@@ -121,18 +121,6 @@ double UnscaledCycleClock::Frequency() {
|
||||
return aarch64_timer_frequency;
|
||||
}
|
||||
|
||||
-#elif defined(__riscv)
|
||||
-
|
||||
-int64_t UnscaledCycleClock::Now() {
|
||||
- int64_t virtual_timer_value;
|
||||
- asm volatile("rdcycle %0" : "=r"(virtual_timer_value));
|
||||
- return virtual_timer_value;
|
||||
-}
|
||||
-
|
||||
-double UnscaledCycleClock::Frequency() {
|
||||
- return base_internal::NominalCPUFrequency();
|
||||
-}
|
||||
-
|
||||
#elif defined(_M_IX86) || defined(_M_X64)
|
||||
|
||||
#pragma intrinsic(__rdtsc)
|
||||
diff --git a/absl/base/internal/unscaledcycleclock_config.h b/absl/base/internal/unscaledcycleclock_config.h
|
||||
index 5e232c1a..83552fc5 100644
|
||||
--- a/absl/base/internal/unscaledcycleclock_config.h
|
||||
+++ b/absl/base/internal/unscaledcycleclock_config.h
|
||||
@@ -22,7 +22,6 @@
|
||||
// The following platforms have an implementation of a hardware counter.
|
||||
#if defined(__i386__) || defined(__x86_64__) || defined(__aarch64__) || \
|
||||
((defined(__powerpc__) || defined(__ppc__)) && defined(__GLIBC__)) || \
|
||||
- defined(__riscv) || \
|
||||
defined(_M_IX86) || (defined(_M_X64) && !defined(_M_ARM64EC))
|
||||
#define ABSL_HAVE_UNSCALED_CYCLECLOCK_IMPLEMENTATION 1
|
||||
#else
|
||||
@@ -54,8 +53,8 @@
|
||||
#if ABSL_USE_UNSCALED_CYCLECLOCK
|
||||
// This macro can be used to test if UnscaledCycleClock::Frequency()
|
||||
// is NominalCPUFrequency() on a particular platform.
|
||||
-#if (defined(__i386__) || defined(__x86_64__) || defined(__riscv) || \
|
||||
- defined(_M_IX86) || defined(_M_X64))
|
||||
+#if (defined(__i386__) || defined(__x86_64__) || defined(_M_IX86) || \
|
||||
+ defined(_M_X64))
|
||||
#define ABSL_INTERNAL_UNSCALED_CYCLECLOCK_FREQUENCY_IS_CPU_FREQUENCY
|
||||
#endif
|
||||
#endif
|
||||
--
|
||||
2.44.0
|
||||
|
||||
@@ -0,0 +1,81 @@
|
||||
Upstream-Status: Pending
|
||||
|
||||
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
|
||||
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
|
||||
--- 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__
|
||||
--- 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(__riscv) || \
|
||||
+ ((defined(__powerpc__) || defined(__ppc__)) && defined(__GLIBC__)) || \
|
||||
+ defined(__riscv) || \
|
||||
defined(_M_IX86) || (defined(_M_X64) && !defined(_M_ARM64EC))
|
||||
#define ABSL_HAVE_UNSCALED_CYCLECLOCK_IMPLEMENTATION 1
|
||||
#else
|
||||
--- a/absl/debugging/internal/examine_stack.cc
|
||||
+++ b/absl/debugging/internal/examine_stack.cc
|
||||
@@ -33,6 +33,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"
|
||||
@@ -174,8 +178,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__)
|
||||
--- a/absl/debugging/internal/stacktrace_config.h
|
||||
+++ b/absl/debugging/internal/stacktrace_config.h
|
||||
@@ -60,7 +60,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__)
|
||||
@@ -0,0 +1,54 @@
|
||||
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 = "54fac219c4ef0bc379dfffb0b8098725d77ac81b"
|
||||
BRANCH = "lts_2024_01_16"
|
||||
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://0003-Remove-neon-option-from-cross-compilation.patch \
|
||||
file://0004-PR-1644-unscaledcycleclock-remove-RISC-V-support.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"
|
||||
Reference in New Issue
Block a user