git: 0d7a6199b61d - main - kmod_syms.awk: fix removal of the export list from the symbol table
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Thu, 18 Nov 2021 13:57:03 UTC
The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=0d7a6199b61d55caf0a682ef072bdd107472ab49 commit 0d7a6199b61d55caf0a682ef072bdd107472ab49 Author: Konstantin Belousov <kib@FreeBSD.org> AuthorDate: 2021-11-07 09:00:07 +0000 Commit: Konstantin Belousov <kib@FreeBSD.org> CommitDate: 2021-11-18 13:56:24 +0000 kmod_syms.awk: fix removal of the export list from the symbol table Print some warning when export is requested for non-existing symbol. Reviewed by: emaste Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D32878 --- sys/conf/kmod_syms.awk | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/sys/conf/kmod_syms.awk b/sys/conf/kmod_syms.awk index 677d813507ee..8691d2e0b989 100644 --- a/sys/conf/kmod_syms.awk +++ b/sys/conf/kmod_syms.awk @@ -2,6 +2,7 @@ # Read global symbols from object file. BEGIN { + modname = ARGV[1] while ("${NM:='nm'} -g " ARGV[1] | getline) { if (match($0, /^[^[:space:]]+ [^AU] (.*)$/)) { syms[$3] = $2 @@ -12,7 +13,12 @@ BEGIN { # De-list symbols from the export list. { - delete syms[$0] + smbl = $0 + if (!(smbl in syms)) { + printf "Symbol %s is not present in %s\n", \ + smbl, modname > "/dev/stderr" + } + delete syms[smbl] } # Strip commons, make everything else local.