@@ -44,7 +44,6 @@ CPUS="$(getconf _NPROCESSORS_ONLN)"
4444CACHEDIR=" $HOME /.kpatch"
4545SRCDIR=" $CACHEDIR /src"
4646OBJDIR=" $CACHEDIR /obj"
47- OBJDIR2=" $CACHEDIR /obj2"
4847VERSIONFILE=" $CACHEDIR /version"
4948TEMPDIR=
5049APPLIEDPATCHFILE=" kpatch.patch"
@@ -80,7 +79,7 @@ cleanup() {
8079
8180clean_cache () {
8281 [[ -z $USERSRCDIR ]] && rm -rf " $SRCDIR "
83- rm -rf " $OBJDIR " " $OBJDIR2 " " $ VERSIONFILE"
82+ rm -rf " $OBJDIR " " $VERSIONFILE "
8483 mkdir -p " $OBJDIR "
8584}
8685
@@ -388,7 +387,7 @@ cd "$SRCDIR" || die
388387patch -N -p1 --dry-run < " $PATCHFILE " || die " source patch file failed to apply"
389388cp " $PATCHFILE " " $APPLIEDPATCHFILE " || die
390389cp -LR " $DATADIR /patch" " $TEMPDIR " || die
391- export KCFLAGS=" -I$DATADIR /patch" # for kpatch-macros.h
390+ export KCFLAGS=" -I$DATADIR /patch -ffunction-sections -fdata-sections "
392391
393392echo " Building original kernel"
394393make mrproper >> " $LOGFILE " 2>&1 || die
@@ -418,25 +417,20 @@ done < "$TEMPDIR/patched_build.log"
418417
419418[[ ! -s " $TEMPDIR /changed_objs" ]] && die " no changed objects were detected"
420419
421- echo " Rebuilding changed objects"
422- rm -rf " $OBJDIR2 "
423- mkdir -p " $OBJDIR2 "
424- cp " $OBJDIR /.config" " $OBJDIR2 " || die
425420mkdir " $TEMPDIR /patched"
426- export KCFLAGS=" $KCFLAGS -ffunction-sections -fdata-sections"
427421for i in $( cat $TEMPDIR /changed_objs) ; do
428- make " $i " " O=$OBJDIR2 " >> " $LOGFILE " 2>&1 || die
429422 mkdir -p " $TEMPDIR /patched/$( dirname $i ) "
430- cp -f " $OBJDIR2 /$i " " $TEMPDIR /patched/$i " || die
423+ cp -f " $OBJDIR /$i " " $TEMPDIR /patched/$i " || die
431424done
425+
426+ echo " Rebuilding original objects"
432427patch -R -p1 < " $APPLIEDPATCHFILE " >> " $LOGFILE " 2>&1
433428rm -f " $APPLIEDPATCHFILE "
429+ make " -j$CPUS " $TARGETS " O=$OBJDIR " >> " $LOGFILE " 2>&1 || die
434430mkdir " $TEMPDIR /orig"
435431for i in $( cat $TEMPDIR /changed_objs) ; do
436- rm -f " $i "
437- make " $i " " O=$OBJDIR2 " >> " $LOGFILE " 2>&1 || die
438432 mkdir -p " $TEMPDIR /orig/$( dirname $i ) "
439- cp -f " $OBJDIR2 /$i " " $TEMPDIR /orig/$i " || die
433+ cp -f " $OBJDIR /$i " " $TEMPDIR /orig/$i " || die
440434done
441435
442436echo " Extracting new and modified ELF sections"
0 commit comments