[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PULL v2 0/5] Linux user for 5.0 patches
From: |
Laurent Vivier |
Subject: |
Re: [PULL v2 0/5] Linux user for 5.0 patches |
Date: |
Wed, 25 Mar 2020 08:41:25 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.6.0 |
Le 24/03/2020 à 23:10, Laurent Vivier a écrit :
> Le 24/03/2020 à 14:14, Peter Maydell a écrit :
>> On Tue, 24 Mar 2020 at 12:32, Laurent Vivier <address@hidden> wrote:
>>> OK, I think there is an existing problem in the build dependencies.
>>>
>>> Do you use enable all targets ("configure" without parameters)?
>>> Do you run make with "all" or "x86_64-linux-user/all"?
>>
>> This config is
>> '../../configure' '--cc=ccache gcc' '--enable-debug' '--static'
>> '--disable-system' '--disable-gnutls'
>> and it is an incremental build, so just
>>
>> make --output-sync -C build/all-linux-static -j8
>> make --output-sync -C build/all-linux-static check V=1 -j8
>> make --output-sync -C ~/linaro/linux-user-test-0.3/ test
>> make --output-sync -C build/all-linux-static check-tcg
>>
>> (it's step 3 that fails here).
>>
>
> The problem is introduced by the change I made to be able to bisect
> while we move syscall_nr.h from source dir to build dir (as said by
> Richard):
>
> 4d6a835dea47 ("linux-user: introduce parameters to generate syscall_nr.h")
>
> There is also a new problem introduced by:
>
> 5f29856b852d(" linux-user, configure: improve syscall_nr.h dependencies
> checking")
>
> that doesn't scan arch variant (it scans ppc64-linux-user but not
> ppc64le-linux-user).
>
> The best solution I can propose is to simply remove the piece of code
> I've added in configure and let the user to do a "make clean" if the
> build fails because of the move of syscall_nr.h from source dir to build
> dir.
This change fixes both problems:
--- 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 set -x; rm "${file}"
"${file%.d}.o" ; set +x ; done
+ done
done
if test -z "$python"
Thanks,
Laurent
- [PULL v2 0/5] Linux user for 5.0 patches, Laurent Vivier, 2020/03/24
- [PULL v2 4/5] linux-user: Add x86_64 vsyscall page to /proc/self/maps, Laurent Vivier, 2020/03/24
- [PULL v2 1/5] target/i386: Renumber EXCP_SYSCALL, Laurent Vivier, 2020/03/24
- [PULL v2 2/5] linux-user/i386: Split out gen_signal, Laurent Vivier, 2020/03/24
- [PULL v2 3/5] linux-user/i386: Emulate x86_64 vsyscalls, Laurent Vivier, 2020/03/24
- [PULL v2 5/5] linux-user: Flush out implementation of gettimeofday, Laurent Vivier, 2020/03/24
- Re: [PULL v2 0/5] Linux user for 5.0 patches, Peter Maydell, 2020/03/24