45 lines
1.6 KiB
Diff
45 lines
1.6 KiB
Diff
From aef88b0908ee9d36131c63493c02359a04d1304c Mon Sep 17 00:00:00 2001
|
|
From: Zhipeng Xie <xiezhipeng1@huawei.com>
|
|
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 <xiezhipeng1@huawei.com>
|
|
---
|
|
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
|
|
|