"sum" command in coreutils-9.0 (e.g. Fedora 36) started to output a file
name. As a result, "make" always detects a change of gdb-10.2.patch
wrongly and re-applies it unnecessarily.
Good findings, Kazu.
Use "cmp" command instead.
Signed-off-by: Kazuhito Hagio <k-hagio-ab@nec.com>
---
Makefile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Makefile b/Makefile
index 162c2baa5164..020fc8207277 100644
--- a/Makefile
+++ b/Makefile
@@ -272,7 +272,7 @@ rebuild:
@if [ ! -f ${GDB}/${GDB}.patch ]; then \
touch ${GDB}/${GDB}.patch; fi
@if [ -f ${GDB}.patch ] && [ -s ${GDB}.patch ] && \
- [ "`sum ${GDB}.patch`" != "`sum ${GDB}/${GDB}.patch`" ]; then \
+ ! cmp -s ${GDB}.patch ${GDB}/${GDB}.patch; then \
I checked these two commands and they are in different packages:
$ rpm -qf /usr/bin/sum
coreutils-9.0-5.fc36.x86_64
$ rpm -qf /usr/bin/cmp
diffutils-3.8-2.fc36.x86_64
I'm not very sure if the diffutils package is installed by default in various distributions. If not, it may fail. How about the following changes?
- [ "`sum ${GDB}.patch`" != "`sum ${GDB}/${GDB}.patch`" ]; then \
+ [[ "`md5sum ${GDB}.patch|head -c32`" != "`md5sum ${GDB}/${GDB}.patch|head -c32`" ]]; then \
And the md5sum command is in the same package with the sum command.
Thanks.
Lianbo
(sh -x ${GDB}.patch ${TARGET}; patch -N -p0 -r- --fuzz=0 < ${GDB}.patch; cp ${GDB}.patch ${GDB}; cd ${GDB}; \
$(MAKE) CRASH_TARGET=${TARGET}) \
else (cd ${GDB}/gdb; $(MAKE) CRASH_TARGET=${TARGET}); fi
--
2.31.1