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.