diff --git a/libcare-patch-make-adapt-libcare-patch-make-to-meson.patch b/libcare-patch-make-adapt-libcare-patch-make-to-meson.patch new file mode 100644 index 0000000..671ed68 --- /dev/null +++ b/libcare-patch-make-adapt-libcare-patch-make-to-meson.patch @@ -0,0 +1,82 @@ +From 7b84765925c8b08f6bb061e66aabebdc814f0168 Mon Sep 17 00:00:00 2001 +From: jiang-dawei15 +Date: Mon, 28 Feb 2022 16:27:22 +0800 +Subject: [PATCH 3/3] libcare-patch-make: adapt libcare-patch-make to meson + +Signed-off-by: Bihong Yu +--- + src/libcare-patch-make | 33 +++++++++++++++++++++++++++++++++ + 1 file changed, 33 insertions(+) + +diff --git a/src/libcare-patch-make b/src/libcare-patch-make +index 320ab88..ad1b566 100755 +--- a/src/libcare-patch-make ++++ b/src/libcare-patch-make +@@ -53,6 +53,10 @@ prepare_env() { + LPMAKE_PATCHED_DIR="${LPMAKE_PATCHED_DIR-$PWD/.lpmaketmp/patched}" + LPMAKE_PATCHROOT="${LPMAKE_PATCHROOT-$PWD/patchroot}" + ++ LIBCARE_CC=$CC ++ SYMBOLINK_CC=$(which cc) ++ REAL_CC=$(realpath $SYMBOLINK_CC) ++ + export LPMAKE_ORIGINAL_DIR LPMAKE_PATCHED_DIR LPMAKE_PATCHROOT + mkdir -p "$LPMAKE_ORIGINAL_DIR" "$LPMAKE_PATCHED_DIR" "$LPMAKE_PATCHROOT" + +@@ -79,6 +83,26 @@ restore_origs() { + + trap "restore_origs" 0 + ++change_qemu_ld_flags() { ++ qemu_ld_flags=$(grep "^QEMU_LDFLAGS=" config-host.mak) ++ ret=$(echo $qemu_ld_flags | grep "\-Wl,-q") ++ if [[ "$ret" == "" ]];then ++ qemu_ld_flags="${qemu_ld_flags} -Wl,-q" ++ echo "change QEMU_LDFLAGS to '${qemu_ld_flags}'" ++ sed -i "/^QEMU_LDFLAGS=/c\\${qemu_ld_flags}" config-host.mak ++ fi ++} ++ ++replace_cc_symbolink() { ++ unlink $SYMBOLINK_CC ++ ln -s $LIBCARE_CC $SYMBOLINK_CC ++} ++ ++recover_cc_symbolink() { ++ unlink $SYMBOLINK_CC ++ ln -s $REAL_CC $SYMBOLINK_CC ++} ++ + build_objects() { + restore_origs + +@@ -93,6 +117,9 @@ build_objects() { + export KPATCH_STAGE=original + export KPCC_DBGFILTER_ARGS="" + ++ #add '-Wl,-q' to LD_FLAGS ++ change_qemu_ld_flags ++ + echo "${green}BUILDING ORIGINAL CODE${reset}" + make $LPMAKEFILE $JOBS_MAKE >$MAKE_OUTPUT 2>&1 + +@@ -237,10 +264,16 @@ main() { + + prepare_env + ++ # replace cc ++ replace_cc_symbolink ++ + if test -z "$only_update"; then + build_objects "$@" + fi + build_kpatches ++ ++ # recover cc ++ recover_cc_symbolink + } + + main "$@" +-- +2.23.0.windows.1 +