continuous: Apply fixup commit for broken revisions
[can-benchmark.git] / continuous / steps / 11-patch
index a64eaaf..a4b5e1d 100755 (executable)
@@ -33,12 +33,33 @@ if git rev-list --ancestry-path 990486c8af044f89bddfbde1d1cf9fde449bedbf^..7a569
     git reset HEAD^ # Do not commit revert - this helps with bisecting
 fi
 
-if git rev-list v4.6-rc6..HEAD|grep -q 7322dd755e7dd34bc5359aa27abeed1687e0f628; then
-   # Revert commit that causes compile error
+if git rev-list --ancestry-path 7322dd755e7dd34bc5359aa27abeed1687e0f628^..v4.6^|grep -q $(git rev-parse HEAD); then
+    # Revert commit that causes compile error. This error seems to be
+    # caused by a compiler bug (see the message of the reverted
+    # commit) and is magically fixed by an unrelated commit merged
+    # before v4.6 (commit 20decb7e486d7eefff3931f58d092d2d7c024a1c
+    # "drivers: net: xgene: Fix error handling")
     git revert --no-edit 7322dd755e7dd34bc5359aa27abeed1687e0f628 # byteswap: try to avoid __builtin_constant_p gcc bug
     git reset HEAD^ # Do not commit revert - this helps with bisecting
 fi
 
+if git rev-list --ancestry-path 9402c684613163888714df0955fa1f17142b08bf^..2c0f99516f53911c3f2f81ab3815841e3408f11e^|grep -q $(git rev-parse HEAD); then
+    # Apply fix for commit that breaks boot
+    git apply --index <<EOF
+--- a/arch/powerpc/lib/feature-fixups.c
++++ b/arch/powerpc/lib/feature-fixups.c
+@@ -154,3 +154,3 @@ static void do_final_fixups(void)
+ {
+-      struct cpu_spec *spec = *PTRRELOC(&cur_cpu_spec);
++      struct cpu_spec *spec = PTRRELOC(*PTRRELOC(&cur_cpu_spec));
+EOF
+fi
+
+if git rev-list --ancestry-path 309b315b6ec686ce050758cc4e29f6ad1125a83f^..97f6e0cc35026a2a09147a6da636d901525e1969^; then
+    git show 97f6e0cc35026a2a09147a6da636d901525e1969 | git apply --index
+fi
+
 # It the dts file exists, next command fails
 rm -f arch/powerpc/boot/dts/shark-ryu.dts
 git apply --index < ../shark-ryu-board-patch.patch