The branch, master has been updated via 521e1195640 autobuild: Rewrite the symbol checking from 7009fb1a10c s3:utils: Fix missing space in testparm output
https://git.samba.org/?p=samba.git;a=shortlog;h=master - Log ----------------------------------------------------------------- commit 521e1195640446e2428e742ad32688508589f1ca Author: Andreas Schneider <a...@samba.org> Date: Mon Feb 14 14:59:13 2022 +0100 autobuild: Rewrite the symbol checking This should be less error prone. Signed-off-by: Andreas Schneider <a...@samba.org> Reviewed-by: Andrew Bartlett <abart...@samba.org> Autobuild-User(master): Andreas Schneider <a...@cryptomilk.org> Autobuild-Date(master): Mon Feb 21 19:36:45 UTC 2022 on sn-devel-184 ----------------------------------------------------------------------- Summary of changes: script/autobuild.py | 47 ++++++++++++++++++++++++----------------------- 1 file changed, 24 insertions(+), 23 deletions(-) Changeset truncated at 500 lines: diff --git a/script/autobuild.py b/script/autobuild.py index 365b0ebe5ce..276f15fa29c 100755 --- a/script/autobuild.py +++ b/script/autobuild.py @@ -120,11 +120,10 @@ else: CLEAN_SOURCE_TREE_CMD = "cd ${TEST_SOURCE_DIR} && script/clean-source-tree.sh" -def nm_grep_symbols(sofile, expected_symbols=""): - return "nm " + sofile + " | " + \ - "egrep -v ' (__bss_start|_edata|_init|_fini|_end|__gcov_)' | " + \ - "egrep -v '" + expected_symbols + "' |" + \ - "egrep ' [BDGTRVWS] ' && exit 1; exit 0;" + +def check_symbols(sofile, expected_symbols=""): + return "objdump --dynamic-syms " + sofile + " | " + \ + "awk \'$0 !~ /" + expected_symbols + "/ {if ($2 == \"g\" && $3 ~ /D(F|O)/ && $4 ~ /(.bss|.text)/) exit 1}\'" if args: # If we are only running specific test, @@ -849,17 +848,17 @@ tasks = { ("nondevel-no-samba-libwbclient", "ldd ./bin/shared/libwbclient.so.0 | grep 'samba' && exit 1; exit 0"), ("nondevel-no-samba-pam_winbind", "ldd ./bin/plugins/pam_winbind.so | grep -v 'libtalloc.so.2' | grep 'samba' && exit 1; exit 0"), ("nondevel-no-public-nss_winbind", - nm_grep_symbols("./bin/plugins/libnss_winbind.so.2", " T _nss_winbind_")), + check_symbols("./bin/plugins/libnss_winbind.so.2", "_nss_winbind_")), ("nondevel-no-public-nss_wins", - nm_grep_symbols("./bin/plugins/libnss_wins.so.2", " T _nss_wins_")), + check_symbols("./bin/plugins/libnss_wins.so.2", "_nss_wins_")), ("nondevel-no-public-libwbclient", - nm_grep_symbols("./bin/shared/libwbclient.so.0", " T wbc")), + check_symbols("./bin/shared/libwbclient.so.0", "wbc")), ("nondevel-no-public-pam_winbind", - nm_grep_symbols("./bin/plugins/pam_winbind.so", "T pam_sm_")), + check_symbols("./bin/plugins/pam_winbind.so", "pam_sm_")), ("nondevel-no-public-winbind_krb5_locator", - nm_grep_symbols("./bin/plugins/winbind_krb5_locator.so", " D resolve\>")), + check_symbols("./bin/plugins/winbind_krb5_locator.so", "service_locator")), ("nondevel-no-public-async_dns_krb5_locator", - nm_grep_symbols("./bin/plugins/async_dns_krb5_locator.so", " D resolve\>")), + check_symbols("./bin/plugins/async_dns_krb5_locator.so", "service_locator")), ("nondevel-install", "make -j install"), ("nondevel-dist", "make dist"), @@ -872,17 +871,19 @@ tasks = { ("prefix-no-samba-libwbclient", "ldd ${PREFIX_DIR}/lib/libwbclient.so.0 | grep 'samba' && exit 1; exit 0"), ("prefix-no-samba-pam_winbind", "ldd ${PREFIX_DIR}/lib/security/pam_winbind.so | grep -v 'libtalloc.so.2' | grep 'samba' && exit 1; exit 0"), ("prefix-no-public-nss_winbind", - nm_grep_symbols("${PREFIX_DIR}/lib/libnss_winbind.so.2", " T _nss_winbind_")), + check_symbols("${PREFIX_DIR}/lib/libnss_winbind.so.2", "_nss_winbind_")), ("prefix-no-public-nss_wins", - nm_grep_symbols("${PREFIX_DIR}/lib/libnss_wins.so.2", " T _nss_wins_")), + check_symbols("${PREFIX_DIR}/lib/libnss_wins.so.2", "_nss_wins_")), ("prefix-no-public-libwbclient", - nm_grep_symbols("${PREFIX_DIR}/lib/libwbclient.so.0", " T wbc")), + check_symbols("${PREFIX_DIR}/lib/libwbclient.so.0", "wbc")), ("prefix-no-public-pam_winbind", - nm_grep_symbols("${PREFIX_DIR}/lib/security/pam_winbind.so", "T pam_sm_")), + check_symbols("${PREFIX_DIR}/lib/security/pam_winbind.so", "pam_sm_")), ("prefix-no-public-winbind_krb5_locator", - nm_grep_symbols("${PREFIX_DIR}/lib/krb5/winbind_krb5_locator.so", " D resolve\>")), + check_symbols("${PREFIX_DIR}/lib/krb5/winbind_krb5_locator.so", + "service_locator")), ("prefix-no-public-async_dns_krb5_locator", - nm_grep_symbols("${PREFIX_DIR}/lib/krb5/async_dns_krb5_locator.so", " D resolve\>")), + check_symbols("${PREFIX_DIR}/lib/krb5/async_dns_krb5_locator.so", + "service_locator")), # retry with all modules shared ("allshared-distclean", "make distclean"), @@ -897,17 +898,17 @@ tasks = { ("allshared-no-samba-libwbclient", "ldd ./bin/shared/libwbclient.so.0 | grep 'samba' && exit 1; exit 0"), ("allshared-no-samba-pam_winbind", "ldd ./bin/plugins/pam_winbind.so | grep -v 'libtalloc.so.2' | grep 'samba' && exit 1; exit 0"), ("allshared-no-public-nss_winbind", - nm_grep_symbols("./bin/plugins/libnss_winbind.so.2", " T _nss_winbind_")), + check_symbols("./bin/plugins/libnss_winbind.so.2", "_nss_winbind_")), ("allshared-no-public-nss_wins", - nm_grep_symbols("./bin/plugins/libnss_wins.so.2", " T _nss_wins_")), + check_symbols("./bin/plugins/libnss_wins.so.2", "_nss_wins_")), ("allshared-no-public-libwbclient", - nm_grep_symbols("./bin/shared/libwbclient.so.0", " T wbc")), + check_symbols("./bin/shared/libwbclient.so.0", "wbc")), ("allshared-no-public-pam_winbind", - nm_grep_symbols("./bin/plugins/pam_winbind.so", "T pam_sm_")), + check_symbols("./bin/plugins/pam_winbind.so", "pam_sm_")), ("allshared-no-public-winbind_krb5_locator", - nm_grep_symbols("./bin/plugins/winbind_krb5_locator.so", " D resolve\>")), + check_symbols("./bin/plugins/winbind_krb5_locator.so", "service_locator")), ("allshared-no-public-async_dns_krb5_locator", - nm_grep_symbols("./bin/plugins/async_dns_krb5_locator.so", " D resolve\>")), + check_symbols("./bin/plugins/async_dns_krb5_locator.so", "service_locator")), ], }, -- Samba Shared Repository