mirror of
https://github.com/yann64/haikuports.git
synced 2026-04-15 16:20:08 +02:00
76 lines
3.2 KiB
Plaintext
76 lines
3.2 KiB
Plaintext
From a8cf9112a315902e3cfb2f3ba796ad6a048d9a79 Mon Sep 17 00:00:00 2001
|
|
From: fbrosson <fbrosson@localhost>
|
|
Date: Sun, 19 Jun 2016 14:41:51 +0000
|
|
Subject: Fix scripts in the test suite to better filter the output of nm.
|
|
|
|
src/check-defs.sh and src/check-symbols.sh compare the list of
|
|
symbols in libharfbuzz.so against a known list. This patch teaches
|
|
these scripts that they should ignore two symbols that are Haiku-specific:
|
|
_gSharedObjectHaikuABI and _gSharedObjectHaikuVersion.
|
|
|
|
diff --git a/src/check-defs.sh b/src/check-defs.sh
|
|
index 480d499..8a0d395 100755
|
|
--- a/src/check-defs.sh
|
|
+++ b/src/check-defs.sh
|
|
@@ -21,7 +21,7 @@ for def in $defs; do
|
|
lib=`echo "$def" | sed 's/[.]def$//;s@.*/@@'`
|
|
so=.libs/lib${lib}.so
|
|
|
|
- EXPORTED_SYMBOLS="`nm "$so" | grep ' [BCDGINRSTVW] .' | grep -v ' _fini\>\| _init\>\| _fdata\>\| _ftext\>\| _fbss\>\| __bss_start\>\| __bss_start__\>\| __bss_end__\>\| _edata\>\| _end\>\| _bss_end__\>\| __end__\>\| __gcov_flush\>\| llvm_' | cut -d' ' -f3`"
|
|
+ EXPORTED_SYMBOLS="`nm "$so" | grep ' [BCDGINRSTVW] .' | grep -v ' _fini\>\| _init\>\| _fdata\>\| _ftext\>\| _fbss\>\| __bss_start\>\| __bss_start__\>\| __bss_end__\>\| _edata\>\| _end\>\| _bss_end__\>\| __end__\>\| __gcov_flush\>\| _gSharedObjectHaikuABI\>\| _gSharedObjectHaikuVersion\>\| llvm_' | cut -d' ' -f3`"
|
|
|
|
if test -f "$so"; then
|
|
|
|
diff --git a/src/check-symbols.sh b/src/check-symbols.sh
|
|
index d4d655d..ac449dc 100755
|
|
--- a/src/check-symbols.sh
|
|
+++ b/src/check-symbols.sh
|
|
@@ -20,7 +20,7 @@ for suffix in so dylib; do
|
|
so=.libs/libharfbuzz.$suffix
|
|
if ! test -f "$so"; then continue; fi
|
|
|
|
- EXPORTED_SYMBOLS="`nm "$so" | grep ' [BCDGINRSTVW] .' | grep -v ' _fini\>\| _init\>\| _fdata\>\| _ftext\>\| _fbss\>\| __bss_start\>\| __bss_start__\>\| __bss_end__\>\| _edata\>\| _end\>\| _bss_end__\>\| __end__\>\| __gcov_flush\>\| ___gcov_flush\>\| llvm_\| _llvm_' | cut -d' ' -f3`"
|
|
+ EXPORTED_SYMBOLS="`nm "$so" | grep ' [BCDGINRSTVW] .' | grep -v ' _fini\>\| _init\>\| _fdata\>\| _ftext\>\| _fbss\>\| __bss_start\>\| __bss_start__\>\| __bss_end__\>\| _edata\>\| _end\>\| _bss_end__\>\| __end__\>\| __gcov_flush\>\| ___gcov_flush\>\| _gSharedObjectHaikuABI\>\| _gSharedObjectHaikuVersion\>\| llvm_\| _llvm_' | cut -d' ' -f3`"
|
|
|
|
prefix=`basename "$so" | sed 's/libharfbuzz/hb/; s/-/_/g; s/[.].*//'`
|
|
|
|
--
|
|
2.7.0
|
|
|
|
|
|
From c8b977379a62f5119a799c8b14d48dc9031b9994 Mon Sep 17 00:00:00 2001
|
|
From: fbrosson <fbrosson@localhost>
|
|
Date: Sun, 19 Jun 2016 17:53:12 +0000
|
|
Subject: Patch src/check-libstdc++.sh to use objdump instead of ldd.
|
|
|
|
|
|
diff --git a/src/check-libstdc++.sh b/src/check-libstdc++.sh
|
|
index b541828..7a1595a 100755
|
|
--- a/src/check-libstdc++.sh
|
|
+++ b/src/check-libstdc++.sh
|
|
@@ -7,10 +7,10 @@ test -z "$srcdir" && srcdir=.
|
|
stat=0
|
|
|
|
|
|
-if which ldd 2>/dev/null >/dev/null; then
|
|
+if which objdump 2>/dev/null >/dev/null; then
|
|
:
|
|
else
|
|
- echo "check-libstdc++.sh: 'ldd' not found; skipping test"
|
|
+ echo "check-libstdc++.sh: 'objdump' not found; skipping test"
|
|
exit 77
|
|
fi
|
|
|
|
@@ -20,7 +20,7 @@ for suffix in so dylib; do
|
|
if ! test -f "$so"; then continue; fi
|
|
|
|
echo "Checking that we are not linking to libstdc++ or libc++"
|
|
- if ldd $so | grep 'libstdc[+][+]\|libc[+][+]'; then
|
|
+ if objdump -x $so | grep NEEDED | grep 'libstdc[+][+]\|libc[+][+]'; then
|
|
echo "Ouch, linked to libstdc++ or libc++"
|
|
stat=1
|
|
fi
|
|
--
|
|
2.7.0
|
|
|