Fix LTO bootstrap on Windows
The latest fix introduced a comparison of executables and this cannot directly work on Windows because they are timestamped. Moreover nobody sets $(exeext) at top level, at least on MinGW, so you get weird behavior because some tools add the implicit .exe suffix and others do not. contrib/ PR lto/85574 * compare-lto: Deal with PE-COFF executables specifically.
This commit is contained in:
parent
33a7a93218
commit
f7a6d314e7
@ -32,7 +32,7 @@ case $1 in
|
|||||||
esac
|
esac
|
||||||
|
|
||||||
if test $# != 2; then
|
if test $# != 2; then
|
||||||
echo 'usage: compare-lto file1.o file2.o' >&2
|
echo 'usage: compare-lto file1 file2' >&2
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -101,6 +101,25 @@ else
|
|||||||
else
|
else
|
||||||
status=1
|
status=1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# PE-COFF executables are timestamped so skip leading bytes for them.
|
||||||
|
else
|
||||||
|
case "$1" in
|
||||||
|
*.exe)
|
||||||
|
if cmp -i 256 "$1" "$2"; then
|
||||||
|
status=0
|
||||||
|
else
|
||||||
|
status=1
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
if test -f "$1.exe" && cmp -i 256 "$1.exe" "$2.exe"; then
|
||||||
|
status=0
|
||||||
|
else
|
||||||
|
status=1
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
esac
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user