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,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
|
||||
Reference in New Issue
Block a user