continuous: Apply fixup commit for broken revisions
[can-benchmark.git] / continuous / steps / 11-patch
index 6ae59dc..a4b5e1d 100755 (executable)
@@ -21,15 +21,45 @@ function vercmp()
     dpkg --compare-versions $v1 $op $v2
 }
 
-git_desc=$(git describe)
-
-if vercmp v4.2-rc2-34-g0b05e2d lt $git_desc &&
-   vercmp v4.3-rc1-144-gf240bdd gt $git_desc ; then
-    # Revert commit that causes unbootable system
+if git rev-list --ancestry-path 0b05e2d671c40cfb57e66e4e402320d6e056b2f8..1cd03890ea64795e53f17a94928cca22495acb2a^|grep -q $(git rev-parse HEAD); then
+    # Revert commit that causes unbootable system (v4.2-rc2-34-g0b05e2d)
     git revert --no-edit 0b05e2d671c40cfb57e66e4e402320d6e056b2f8 # powerpc/32: cacheable_memcpy becomes memcpy
     git reset HEAD^ # Do not commit revert - this helps with bisecting
 fi
 
+if git rev-list --ancestry-path 990486c8af044f89bddfbde1d1cf9fde449bedbf^..7a5692e6e533fd379081ab06fb58f3f5ee4d80bc^|grep -q $(git rev-parse HEAD); then
+    # Revert commit that causes compile error (v4.3-rc4-3-g990486c)
+    git revert --no-edit 990486c8af044f89bddfbde1d1cf9fde449bedbf # strscpy: zero any trailing garbage bytes in the destination
+    git reset HEAD^ # Do not commit revert - this helps with bisecting
+fi
+
+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