This patch fixes two problems:
- it cleanups linux-user variants (for instance ppc64-linux-user
and ppc64le-linux-user)
- it removes the .o file when it removes the .d file, otherwise the .o
file is never updated
Fixes: 5f29856b852d ("linux-user, configure: improve syscall_nr.h dependencies checking")
Fixes: 4d6a835dea47 ("linux-user: introduce parameters to generate syscall_nr.h")
Signed-off-by: Laurent Vivier <laurent@vivier.eu>
---
configure | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/configure b/configure
index da09c3589572..89fe881dd46f 100755
--- a/configure
+++ b/configure
@@ -1910,9 +1910,11 @@ for arch in alpha hppa m68k xtensa sh4 microblaze arm ppc s390x sparc sparc64 \
# remove the file if it has been generated in the source directory
rm -f "${source_path}/linux-user/${arch}/syscall_nr.h"
# remove the dependency files
- test -d ${arch}-linux-user && find ${arch}-linux-user -type f -name "*.d" \
- -exec grep -q "${source_path}/linux-user/${arch}/syscall_nr.h" {} \; \
- -exec rm {} \;
+ for target in ${arch}*-linux-user ; do
+ test -d "${target}" && find "${target}" -type f -name "*.d" \
+ -exec grep -q "${source_path}/linux-user/${arch}/syscall_nr.h" {} \; \
+ -print | while read file ; do rm "${file}" "${file%.d}.o" ; done
+ done
done
if test -z "$python"
--
2.25.1
On 3/25/20 12:57 AM, Laurent Vivier wrote: > This patch fixes two problems: > - it cleanups linux-user variants (for instance ppc64-linux-user > and ppc64le-linux-user) > - it removes the .o file when it removes the .d file, otherwise the .o > file is never updated > > Fixes: 5f29856b852d ("linux-user, configure: improve syscall_nr.h dependencies checking") > Fixes: 4d6a835dea47 ("linux-user: introduce parameters to generate syscall_nr.h") > Signed-off-by: Laurent Vivier <laurent@vivier.eu> > --- > configure | 8 +++++--- > 1 file changed, 5 insertions(+), 3 deletions(-) Reviewed-by: Richard Henderson <richard.henderson@linaro.org> I haven't been able to reproduce the same failure from master, but this looks right. r~
Le 25/03/2020 à 17:01, Richard Henderson a écrit : > On 3/25/20 12:57 AM, Laurent Vivier wrote: >> This patch fixes two problems: >> - it cleanups linux-user variants (for instance ppc64-linux-user >> and ppc64le-linux-user) >> - it removes the .o file when it removes the .d file, otherwise the .o >> file is never updated >> >> Fixes: 5f29856b852d ("linux-user, configure: improve syscall_nr.h dependencies checking") >> Fixes: 4d6a835dea47 ("linux-user: introduce parameters to generate syscall_nr.h") >> Signed-off-by: Laurent Vivier <laurent@vivier.eu> >> --- >> configure | 8 +++++--- >> 1 file changed, 5 insertions(+), 3 deletions(-) > > Reviewed-by: Richard Henderson <richard.henderson@linaro.org> > > I haven't been able to reproduce the same failure from master, but this looks > right. > To reproduce the failure (either the one with the vsyscalls or the one with missing TARGET_NR_XXX define reported by dgilbert/imammedo on the IRC), I did: git checkout -f v4.2.0 && \ ./build.sh reset && \ git checkout master && \ ./build.sh and build.sh is: ------8<------------------------------------------------------------------ SRC=$PWD OBJ=$SRC/build DIR=test-linux-user TEST=/backup/linux-user-test-0.3 set -x if [ "$1" = "reset" ] ; then (cd $OBJ && \ rm -fr $DIR && \ mkdir $DIR && \ cd $DIR && \ "$SRC/configure" '--cc=ccache gcc' '--enable-debug' '--static' '--disable-system' '--disable-gnutls' '--disable-tools') fi make --output-sync -C $OBJ/$DIR -j 17 && \ make --output-sync -C $OBJ/$DIR -j check V=1 && \ make --output-sync BUILDDIR=$OBJ/$DIR -C $TEST test ------8<------------------------------------------------------------------ Thanks, Laurent
© 2016 - 2024 Red Hat, Inc.