From aef88b0908ee9d36131c63493c02359a04d1304c Mon Sep 17 00:00:00 2001 From: Zhipeng Xie Date: Fri, 13 Nov 2020 03:05:22 -0500 Subject: [PATCH] optimize for out of tree module some out-of-tree modules's Module.symvers not in SRCDIR some out-of-tree modules's obj has relative path like /xxx/./xxx.o Signed-off-by: Zhipeng Xie --- kpatch-build/kpatch-build | 1 + kpatch-build/kpatch-gcc | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/kpatch-build/kpatch-build b/kpatch-build/kpatch-build index 523d5df..6238bc8 100755 --- a/kpatch-build/kpatch-build +++ b/kpatch-build/kpatch-build @@ -1035,6 +1035,7 @@ for i in $FILES; do BUILDDIR="/lib/modules/$ARCHVERSION/build/" SYMVERS_FILE="$TEMPDIR/Module.symvers" [[ -e $SRCDIR/Module.symvers ]] && cp "$SRCDIR/Module.symvers" "$SYMVERS_FILE" + [[ -e $USERMODBUILDDIR/Module.symvers ]] && cp "$USERMODBUILDDIR/Module.symvers" $SYMVERS_FILE awk '{ print $1 "\t" $2 "\t" $3 "\t" $4}' "${BUILDDIR}/Module.symvers" >> "$SYMVERS_FILE" fi fi diff --git a/kpatch-build/kpatch-gcc b/kpatch-build/kpatch-gcc index 6ad6ebc..2b2490e 100755 --- a/kpatch-build/kpatch-gcc +++ b/kpatch-build/kpatch-gcc @@ -25,7 +25,9 @@ if [[ "$TOOLCHAINCMD" =~ "${ARCH_COMPILE}gcc" || [[ "$obj" = */.tmp_*.o ]] && obj="${obj/.tmp_/}" relobj=${obj//$KPATCH_GCC_SRCDIR\//} - case "$relobj" in + tmpobj=$(readlink -f $obj) + relobj2=${tmpobj//$KPATCH_GCC_SRCDIR\//} + case "$relobj2" in *.mod.o|\ *built-in.o|\ *built-in.a|\ -- 2.18.1