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 }