Module Name: src
Committed By: christos
Date: Sat May 2 19:44:59 UTC 2020
Modified Files:
src/distrib/sets: sets.subr
Log Message:
Add support for debugging modules for multi-arch (xen etc.)
To generate a diff of this commit:
cvs rdiff -u -r1.189 -r1.190 src/distrib/sets/sets.subr
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/distrib/sets/sets.subr
diff -u src/distrib/sets/sets.subr:1.189 src/distrib/sets/sets.subr:1.190
--- src/distrib/sets/sets.subr:1.189 Fri May 1 18:21:49 2020
+++ src/distrib/sets/sets.subr Sat May 2 15:44:59 2020
@@ -1,4 +1,4 @@
-# $NetBSD: sets.subr,v 1.189 2020/05/01 22:21:49 christos Exp $
+# $NetBSD: sets.subr,v 1.190 2020/05/02 19:44:59 christos Exp $
#
#
@@ -184,7 +184,7 @@ SUBST="${SUBST};s#@MACHINE@#${MACHINE}#g
# In each file, a record consists of a path and a System Package name,
# separated by whitespace. E.g.,
#
-# # $NetBSD: sets.subr,v 1.189 2020/05/01 22:21:49 christos Exp $
+# # $NetBSD: sets.subr,v 1.190 2020/05/02 19:44:59 christos Exp $
# . base-sys-root [keyword[,...]]
# ./altroot base-sys-root
# ./bin base-sys-root
@@ -254,6 +254,17 @@ list_set_files()
fi
print_set_lists "$@" | \
${AWK} -v obsolete=${obsolete} '
+ function addkmod(line, fname, prefix, pat, patlen) {
+ if (substr(line, 1, patlen) != pat) {
+ return;
+ }
+ for (d in kmodarchdirs) {
+ xd = prefix kmodarchdirs[d]
+ xfile = xd substr(line, patlen + 1)
+ tmp = xd substr(fname, patlen + 1)
+ list[xfile] = tmp;
+ }
+ }
BEGIN {
if (obsolete)
wanted["obsolete"] = 1
@@ -298,8 +309,12 @@ list_set_files()
if (("kmod" in wanted) && ("compatmodules" in wanted)) {
split("'"${KMODARCHDIRS}"'", kmodarchdirs, ",");
- kmodpat = "./stand/" ENVIRON["MACHINE"]
+ kmodprefix = "./stand/"
+ kmodpat = kmodprefix ENVIRON["MACHINE"]
l_kmodpat = length(kmodpat)
+ kmoddbprefix = "./usr/libdata/debug/stand/"
+ kmoddbpat = kmoddbprefix ENVIRON["MACHINE"]
+ l_kmoddbpat = length(kmoddbpat)
}
if ("'"${TOOLCHAIN_MISSING}"'" != "yes") {
@@ -391,13 +406,9 @@ list_set_files()
next
list[$1] = $0
- if (havekmod > 0 && substr($1,1,l_kmodpat) == kmodpat) {
- for (d in kmodarchdirs) {
- xd = "./stand/" kmodarchdirs[d]
- xfile = xd substr($1, l_kmodpat+1)
- tmp = xd substr($0, l_kmodpat+1)
- list[xfile] = tmp;
- }
+ if (havekmod > 0) {
+ addkmod($0, $1, kmodprefix, kmodpat, l_kmodpat)
+ addkmod($0, $1, kmoddbprefix, kmoddbpat, l_kmoddbpat)
next
}