dpkg --compare-versions $v1 $op $v2
}
-if vercmp v4.2-rc2-34-g0b05e2d lt $(git describe); 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^..|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,7 +154,7 @@ static void do_final_fixups(void)
+
+ void apply_feature_fixups(void)
+ {
+- struct cpu_spec *spec = *PTRRELOC(&cur_cpu_spec);
++ struct cpu_spec *spec = PTRRELOC(*PTRRELOC(&cur_cpu_spec));
+
+ /*
+ * Apply the CPU-specific and firmware specific fixups to kernel text
+EOF
+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