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^..|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