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:
Siggi (OpenClaw Agent)
2026-03-01 20:58:18 +00:00
commit 16accb6b24
15086 changed files with 1292356 additions and 0 deletions

View File

@@ -0,0 +1,156 @@
From 0cafb99b57f43cf6ac2c6208718e49ad2dbe462d Mon Sep 17 00:00:00 2001
From: Jan Schmidt <thaytan@noraisin.net>
Date: Sun, 10 Nov 2013 00:49:52 +1100
Subject: [PATCH] Import revision 1206 from upstream to fix PIE build.
Functions MC_put_o_16_arm, MC_put_o_8_arm, MC_put_x_16_arm, MC_put_x_8_arm
in libmpeg2/motion_comp_arm_s.S have addresses in .text, which is bad
for shared libraries. Some environments demand that .text actually be
read-only all the time, yet MC_put_o_16_arm etc require that the addresses
be modified by the dynamic linking mechanism (dlopen, LoadLibrary, etc.)
Even in those environments which permit the dynamic linker to modify the
.text segment, the runtime cost of doing the relocation can be noticeable.
This commit rewrites the linkage, discarding the tables of addresses
in favor of tables of offsets. All transfers are local within each individual
function, so there can be no interference by processing that occurs
after assembly, such as link-time re-ordering (even of individual functions.)
Patch by John Reiser <jreiser@bitwagon.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Upstream-Status: Backport [https://code.videolan.org/videolan/libmpeg2/commit/946bf4b518aacc224f845e73708f99e394744499]
---
libmpeg2/motion_comp_arm_s.S | 70 +++++++++++++++++-------------------
1 file changed, 33 insertions(+), 37 deletions(-)
diff --git a/libmpeg2/motion_comp_arm_s.S b/libmpeg2/motion_comp_arm_s.S
index c921f7c..82143f8 100644
--- a/libmpeg2/motion_comp_arm_s.S
+++ b/libmpeg2/motion_comp_arm_s.S
@@ -30,9 +30,13 @@ MC_put_o_16_arm:
pld [r1]
stmfd sp!, {r4-r11, lr} @ R14 is also called LR
and r4, r1, #3
- adr r5, MC_put_o_16_arm_align_jt
- add r5, r5, r4, lsl #2
- ldr pc, [r5]
+ ldrb r4, [pc, r4]
+ add pc, pc, r4, lsl #2
+ .byte (MC_put_o_16_arm_align0 - 0f)>>2
+ .byte (MC_put_o_16_arm_align1 - 0f)>>2
+ .byte (MC_put_o_16_arm_align2 - 0f)>>2
+ .byte (MC_put_o_16_arm_align3 - 0f)>>2
+0:
MC_put_o_16_arm_align0:
ldmia r1, {r4-r7}
@@ -76,11 +80,6 @@ MC_put_o_16_arm_align3:
1: PROC(24)
bne 1b
ldmfd sp!, {r4-r11, pc} @@ update PC with LR content.
-MC_put_o_16_arm_align_jt:
- .word MC_put_o_16_arm_align0
- .word MC_put_o_16_arm_align1
- .word MC_put_o_16_arm_align2
- .word MC_put_o_16_arm_align3
@ ----------------------------------------------------------------
.align
@@ -91,9 +90,14 @@ MC_put_o_8_arm:
pld [r1]
stmfd sp!, {r4-r10, lr} @ R14 is also called LR
and r4, r1, #3
- adr r5, MC_put_o_8_arm_align_jt
- add r5, r5, r4, lsl #2
- ldr pc, [r5]
+ ldrb r4, [pc, r4]
+ add pc, pc, r4, lsl #2
+ .byte (MC_put_o_8_arm_align0 - 0f)>>2
+ .byte (MC_put_o_8_arm_align1 - 0f)>>2
+ .byte (MC_put_o_8_arm_align2 - 0f)>>2
+ .byte (MC_put_o_8_arm_align3 - 0f)>>2
+0:
+
MC_put_o_8_arm_align0:
ldmia r1, {r4-r5}
add r1, r1, r2
@@ -135,12 +139,6 @@ MC_put_o_8_arm_align3:
bne 1b
ldmfd sp!, {r4-r10, pc} @@ update PC with LR content.
-MC_put_o_8_arm_align_jt:
- .word MC_put_o_8_arm_align0
- .word MC_put_o_8_arm_align1
- .word MC_put_o_8_arm_align2
- .word MC_put_o_8_arm_align3
-
@ ----------------------------------------------------------------
.macro AVG_PW rW1, rW2
mov \rW2, \rW2, lsl #24
@@ -160,12 +158,17 @@ MC_put_x_16_arm:
@@ void func(uint8_t * dest, const uint8_t * ref, int stride, int height)
pld [r1]
stmfd sp!, {r4-r11,lr} @ R14 is also called LR
+ ldr r11, 0f
and r4, r1, #3
- adr r5, MC_put_x_16_arm_align_jt
- ldr r11, [r5]
mvn r12, r11
- add r5, r5, r4, lsl #2
- ldr pc, [r5, #4]
+ ldrb r4, [pc, r4]
+ add pc, pc, r4, lsl #2
+ .byte (MC_put_x_16_arm_align0 - 0f)>>2
+ .byte (MC_put_x_16_arm_align1 - 0f)>>2
+ .byte (MC_put_x_16_arm_align2 - 0f)>>2
+ .byte (MC_put_x_16_arm_align3 - 0f)>>2
+0:
+ .word 0x01010101
.macro ADJ_ALIGN_QW shift, R0, R1, R2, R3, R4
mov \R0, \R0, lsr #(\shift)
@@ -238,12 +241,6 @@ MC_put_x_16_arm_align3:
add r0, r0, r2
bne 1b
ldmfd sp!, {r4-r11,pc} @@ update PC with LR content.
-MC_put_x_16_arm_align_jt:
- .word 0x01010101
- .word MC_put_x_16_arm_align0
- .word MC_put_x_16_arm_align1
- .word MC_put_x_16_arm_align2
- .word MC_put_x_16_arm_align3
@ ----------------------------------------------------------------
.align
@@ -253,12 +250,17 @@ MC_put_x_8_arm:
@@ void func(uint8_t * dest, const uint8_t * ref, int stride, int height)
pld [r1]
stmfd sp!, {r4-r11,lr} @ R14 is also called LR
+ ldr r11, 0f
and r4, r1, #3
- adr r5, MC_put_x_8_arm_align_jt
- ldr r11, [r5]
mvn r12, r11
- add r5, r5, r4, lsl #2
- ldr pc, [r5, #4]
+ ldrb r4, [pc, r4]
+ add pc, pc, r4, lsl #2
+ .byte (MC_put_x_8_arm_align0 - 0f)>>2
+ .byte (MC_put_x_8_arm_align1 - 0f)>>2
+ .byte (MC_put_x_8_arm_align2 - 0f)>>2
+ .byte (MC_put_x_8_arm_align3 - 0f)>>2
+0:
+ .word 0x01010101
.macro ADJ_ALIGN_DW shift, R0, R1, R2
mov \R0, \R0, lsr #(\shift)
@@ -319,9 +321,3 @@ MC_put_x_8_arm_align3:
add r0, r0, r2
bne 1b
ldmfd sp!, {r4-r11,pc} @@ update PC with LR content.
-MC_put_x_8_arm_align_jt:
- .word 0x01010101
- .word MC_put_x_8_arm_align0
- .word MC_put_x_8_arm_align1
- .word MC_put_x_8_arm_align2
- .word MC_put_x_8_arm_align3

View File

@@ -0,0 +1,55 @@
From cbcff58ed670c8edc0be1004384cbe0fd07d8d26 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Wed, 5 Jul 2017 18:49:21 -0700
Subject: [PATCH 1/2] check for available arm optimizations
Taken From
http://sources.debian.net/src/mpeg2dec/0.5.1-7/debian/patches/65_arm-test-with-compiler.patch/
Upstream-Status: Pending
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
configure.ac | 12 ++++++++----
1 file changed, 8 insertions(+), 4 deletions(-)
diff --git a/configure.ac b/configure.ac
index acdcb1e..2c0a721 100644
--- a/configure.ac
+++ b/configure.ac
@@ -59,7 +59,7 @@ elif test x"$GCC" = x"yes"; then
AC_TRY_CFLAGS([$TRY_CFLAGS $CFLAGS],[OPT_CFLAGS="$TRY_CFLAGS"])
dnl arch-specific flags
- arm_conditional=false
+ build_arm_opt=false
case "$host" in
i?86-* | k?-* | x86_64-* | amd64-*)
AC_DEFINE([ARCH_X86],,[x86 architecture])
@@ -102,8 +102,12 @@ elif test x"$GCC" = x"yes"; then
alpha*)
AC_DEFINE([ARCH_ALPHA],,[alpha architecture]);;
arm*)
- arm_conditional=:
- AC_DEFINE([ARCH_ARM],,[ARM architecture]);;
+ AC_LANG(C)
+ AC_COMPILE_IFELSE(
+ [AC_LANG_SOURCE([[
+ void foo(void) { __asm__ volatile("pld [r1]"); }]])],
+ build_arm_opt=true; AC_DEFINE([ARCH_ARM],,[ARM architecture]),
+ build_arm_opt=false);;
esac
elif test x"$CC" = x"tendracc"; then
dnl TenDRA portability checking compiler
@@ -123,7 +127,7 @@ else
esac
fi
-AM_CONDITIONAL(ARCH_ARM, ${arm_conditional})
+AM_CONDITIONAL(ARCH_ARM, test x$build_arm_opt = xtrue)
dnl Checks for libtool - this must be done after we set cflags
AC_LIBTOOL_WIN32_DLL
--
2.13.2

View File

@@ -0,0 +1,63 @@
From f9d9dc92d75f8910e3cd5fdcbea72e505cdf3493 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Wed, 5 Jul 2017 19:03:36 -0700
Subject: [PATCH 2/2] Set visibility of global symbols used in ARM specific
assembly file to internal
Taken from
http://sources.debian.net/src/mpeg2dec/0.5.1-7/debian/patches/60_arm-private-symbols.patch/
Upstream-Status: Pending
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
libmpeg2/motion_comp_arm_s.S | 12 ++++++++----
1 file changed, 8 insertions(+), 4 deletions(-)
diff --git a/libmpeg2/motion_comp_arm_s.S b/libmpeg2/motion_comp_arm_s.S
index f6c3d7d..c921f7c 100644
--- a/libmpeg2/motion_comp_arm_s.S
+++ b/libmpeg2/motion_comp_arm_s.S
@@ -23,7 +23,8 @@
@ ----------------------------------------------------------------
.align
- .global MC_put_o_16_arm
+ .global MC_put_o_16_arm
+ .internal MC_put_o_16_arm
MC_put_o_16_arm:
@@ void func(uint8_t * dest, const uint8_t * ref, int stride, int height)
pld [r1]
@@ -83,7 +84,8 @@ MC_put_o_16_arm_align_jt:
@ ----------------------------------------------------------------
.align
- .global MC_put_o_8_arm
+ .global MC_put_o_8_arm
+ .internal MC_put_o_8_arm
MC_put_o_8_arm:
@@ void func(uint8_t * dest, const uint8_t * ref, int stride, int height)
pld [r1]
@@ -152,7 +154,8 @@ MC_put_o_8_arm_align_jt:
.endm
.align
- .global MC_put_x_16_arm
+ .global MC_put_x_16_arm
+ .internal MC_put_x_16_arm
MC_put_x_16_arm:
@@ void func(uint8_t * dest, const uint8_t * ref, int stride, int height)
pld [r1]
@@ -244,7 +247,8 @@ MC_put_x_16_arm_align_jt:
@ ----------------------------------------------------------------
.align
- .global MC_put_x_8_arm
+ .global MC_put_x_8_arm
+ .internal MC_put_x_8_arm
MC_put_x_8_arm:
@@ void func(uint8_t * dest, const uint8_t * ref, int stride, int height)
pld [r1]
--
2.13.2

View File

@@ -0,0 +1,70 @@
Rewrite the public symbol check to verify the shared libraries, to check for
more things, and to avoid duplication; fixes make check on ARM
Taken From
https://sources.debian.org/src/mpeg2dec/0.5.1-8/debian/patches/61_global-symbol-test.patch/
Upstream-Status: Pending
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
test/globals | 42 +++++++++++++++++++++++++++---------------
1 file changed, 27 insertions(+), 15 deletions(-)
--- mpeg2dec.orig/test/globals
+++ mpeg2dec/test/globals
@@ -1,4 +1,8 @@
#!/bin/sh
+# TODO
+# - fix checking of .a libs; problem is that "nm -g --defined-only" lists
+# internal symbols; this can be solved by using objdump, but it's probably
+# good enough to just run the tests on the shared lib
if test x"$srcdir" != x""; then
builddir="." # running from make check, but it does not define that
@@ -14,22 +18,30 @@ builddir=`cd $builddir;pwd`
error=0
-bad_globals=`nm -g --defined-only $builddir/../libmpeg2/*.o |\
- awk '{if ($3) print $3}' | grep -v '^_\?mpeg2_'`
-
-if test x"$bad_globals" != x""; then
- echo BAD GLOBAL SYMBOLS:
- for s in $bad_globals; do echo $s; done
+# check_bad_public_symbols <symbol prefix> <lib file> [<lib file>...]
+#
+# checks public symbols in shared libs:
+# - allow prefix_anything
+# - reject _prefixanything
+# - allow _anything
+# - reject anything else
+#
+# NB: skips missing files
+check_bad_public_symbols() {
+ symbols_prefix="$1"
+ shift
+ lib_files=`ls "$@" 2>/dev/null`
+ [ -z "$lib_files" ] && return
+ bad_globals=`nm -g --defined-only $lib_files |
+ awk '{if ($3) print $3}' |
+ sed -n "/^${symbols_prefix}_/ d; /^_${symbols_prefix}/ { p; d }; /^_/ d; p"`
+ [ -z "$bad_globals" ] && return
error=1
-fi
-
-bad_globals=`nm -g --defined-only $builddir/../libmpeg2/convert/*.o |\
- awk '{if ($3) print $3}' | grep -v '^_\?mpeg2convert_'`
+ echo BAD GLOBAL SYMBOLS in $lib_files:
+ echo "$bad_globals"
+}
-if test x"$bad_globals" != x""; then
- echo BAD GLOBAL SYMBOLS:
- for s in $bad_globals; do echo $s; done
- error=1
-fi
+check_bad_public_symbols mpeg2 $builddir/../libmpeg2/.libs/libmpeg2.so
+check_bad_public_symbols mpeg2convert $builddir/../libmpeg2/convert/.libs/libmpeg2convert.so
exit $error

View File

@@ -0,0 +1,43 @@
Add new method to judge whether <altivec.h> is needed
The original logic will use "typedef vector int t;" to judge
whether <altivec.h> is needed. altivec.h contains the following
statement:
#if !defined(__APPLE_ALTIVEC__)
#define vector __vector
#define pixel __pixel
#define bool
#endif
In gcc-4.3.3, __APPLE_ALTIVEC__ is not defined by compiler, neither
as vector, pixel, and bool. In order to make "typedef vector int t;"
pass the compilation, we need to include altivec.h.
However in gcc-4.5.0, __APPLE_ALTIVEC__ is defined by compiler,
so as vector, pixel, and bool. We could not judge whether
altivec.h is needed by "typedef vector int t;".
Here we include another statement "int tmp = __CR6_EQ;", in
which __CR6_EQ is defined in altivec.h.
Upstream-Status: Pending
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
diff -ruN a/configure.in b/configure.in
--- a/configure.ac 2010-09-14 20:55:42.399687663 +0800
+++ b/configure.ac 2010-09-14 20:56:43.403204648 +0800
@@ -79,11 +79,11 @@
CFLAGS="$OPT_CFLAGS $TRY_CFLAGS $CFLAGS"
AC_MSG_CHECKING([if <altivec.h> is needed])
AC_TRY_COMPILE([],
- [typedef vector int t;
+ [typedef vector int t; int tmp = __CR6_EQ;
vec_ld(0, (unsigned char *)0);],
[have_altivec=yes; AC_MSG_RESULT(no)],
[AC_TRY_COMPILE([#include <altivec.h>],
- [typedef vector int t; vec_ld(0, (unsigned char *)0);],
+ [typedef vector int t; int tmp = __CR6_EQ; vec_ld(0, (unsigned char *)0);],
[AC_DEFINE([HAVE_ALTIVEC_H],,
[Define to 1 if you have the <altivec.h> header.])
have_altivec=yes; AC_MSG_RESULT(yes)],