[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v3 23/46] tests/tcg/x86_64: add Makefile.target
From: |
Philippe Mathieu-Daudé |
Subject: |
Re: [Qemu-devel] [PATCH v3 23/46] tests/tcg/x86_64: add Makefile.target |
Date: |
Wed, 25 Apr 2018 11:01:03 -0300 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.7.0 |
On 04/25/2018 05:43 AM, Alex Bennée wrote:
>
> Philippe Mathieu-Daudé <address@hidden> writes:
>
>> On 04/24/2018 12:23 PM, Alex Bennée wrote:
>>> The sources for x86_64 are shared in the i386 directory which will be
>>> included thanks to TARGET_BASE_ARCH. However not all sources build so
>>> we need to filter out the ones we can't build in the 64 bit world.
>>>
>>> Signed-off-by: Alex Bennée <address@hidden>
>>> ---
>>> tests/tcg/i386/Makefile.target | 2 +-
>>> tests/tcg/x86_64/Makefile.target | 15 +++++++++++++++
>>> 2 files changed, 16 insertions(+), 1 deletion(-)
>>> create mode 100644 tests/tcg/x86_64/Makefile.target
>>>
>>> diff --git a/tests/tcg/i386/Makefile.target b/tests/tcg/i386/Makefile.target
>>> index 80ccad3d7b..27086c3f2b 100644
>>> --- a/tests/tcg/i386/Makefile.target
>>> +++ b/tests/tcg/i386/Makefile.target
>>> @@ -7,7 +7,7 @@ VPATH += $(I386_SRC)
>>>
>>> I386_SRCS=$(notdir $(wildcard $(I386_SRC)/*.c))
>>> I386_TESTS=$(I386_SRCS:.c=)
>>> -
>>> +I386_ONLY_TESTS=$(filter-out test-i386-ssse3, $(I386_TESTS))
>>> # Update TESTS
>>> TESTS+=$(I386_ONLY_TESTS)
>>>
>>> diff --git a/tests/tcg/x86_64/Makefile.target
>>> b/tests/tcg/x86_64/Makefile.target
>>> new file mode 100644
>>> index 0000000000..74f170b9ed
>>> --- /dev/null
>>> +++ b/tests/tcg/x86_64/Makefile.target
>>> @@ -0,0 +1,15 @@
>>> +# -*- Mode: makefile -*-
>>> +#
>>> +# x86_64 tests - included from tests/tcg/Makefile.target
>>> +#
>>> +# Currently we only build test-x86_64 and test-i386-ssse3 from
>>> +# $(SRC)/tests/tcg/i386/
>>> +#
>>> +
>>> +X86_64_TESTS=$(filter-out $(I386_ONLY_TESTS), $(TESTS))
>>> +X86_64_TESTS+=test-x86_64
>>
>> The linux-test is taking looooong... I canceled it after ~15min on a i7
>> 2GHz. Maybe it also belongs to the "BROKEN TEST" series on x86_64?
>> Currently it is only skipped if $(TARGET_NAME) == i386.
>
> Hmm it runs pretty quickly for me:
>
> time ./qemu-x86_64 ./tests/linux-test
> 0.02user 0.03system 0:00.08elapsed 72%CPU (0avgtext+0avgdata 7384maxresident)k
> 0inputs+0outputs (0major+1207minor)pagefaults 0swaps
>
> I wonder if the failure mode you are seeing is the same as the others
> which basically hang, which is why I added them to the broken test patch.
The test_clone() hangs here:
while (waitpid(pid1, &status1, 0) != pid1);
32107 wait4(32109, 0x7ffdd2814a50, 0, NULL) = -1 ECHILD (No child processes)
32107 wait4(32109, <unfinished ...>
32109 nanosleep({tv_sec=0, tv_nsec=10000000}, <unfinished ...>
32107 <... wait4 resumed> 0x7ffdd2814a50, 0, NULL) = -1 ECHILD (No child
processes)
32107 wait4(32109, 0x7ffdd2814a50, 0, NULL) = -1 ECHILD (No child processes)
>
>>
>> Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
>>
>>> +TESTS:=$(X86_64_TESTS)
>>> +
>>> +test-x86_64: LDFLAGS+=-lm -lc
>>> +test-x86_64: test-i386.c test-i386.h test-i386-shift.h test-i386-muldiv.h
>>> + $(CC) $(CFLAGS) $< -o $@ $(LDFLAGS)
>>>
>>
>> $ make run-tcg-tests-x86_64-linux-user
>> RUN-TESTS for x86_64
>> TEST test-mmap (default) on x86_64
>> TEST test-mmap (8k pages) on x86_64
>> ASAN:DEADLYSIGNAL
>> =================================================================
>> ==5717==ERROR: AddressSanitizer: SEGV on unknown address 0x7fcba47fc000
>> (pc 0x7fcba8a3bf4d bp 0x7ffd19d74700 sp 0x7ffd19d73e88 T0)
>> ==5717==The signal is caused by a WRITE memory access.
>> #0 0x7fcba8a3bf4c (/lib/x86_64-linux-gnu/libc.so.6+0x159f4c)
>> #1 0x7fcbab33f891 (/usr/lib/x86_64-linux-gnu/libasan.so.4+0x5c891)
>> #2 0x55dd3ae4a7e0 in mmap_frag /source/qemu/linux-user/mmap.c:189
>> #3 0x55dd3ae4bbce in target_mmap /source/qemu/linux-user/mmap.c:533
>> #4 0x55dd3ae4b8cb in target_mmap /source/qemu/linux-user/mmap.c:501
>> #5 0x55dd3ae3895c in do_syscall /source/qemu/linux-user/syscall.c:9448
>> #6 0x55dd3adfaa57 in cpu_loop /source/qemu/linux-user/main.c:258
>> #7 0x55dd3ae005f5 in main /source/qemu/linux-user/main.c:5147
>> #8 0x7fcba8903a86 in __libc_start_main
>> (/lib/x86_64-linux-gnu/libc.so.6+0x21a86)
>> #9 0x55dd3ad34a89 in _start
>> (/source/qemu/build/full/x86_64-linux-user/qemu-x86_64+0x350a89)
>> AddressSanitizer can not provide additional info.
>> SUMMARY: AddressSanitizer: SEGV (/lib/x86_64-linux-gnu/libc.so.6+0x159f4c)
>> ==5717==ABORTING
>> make[2]: ***
>> [/home/phil/source/qemu/tests/tcg/multiarch/Makefile.target:27:
>> run-test-mmap] Error 1
>>
>> Tested-by: Philippe Mathieu-Daudé <address@hidden>
>
> This is only with ASAN enabled right?
Yes, but even without ASan test_clone() hangs.
Commenting test_clone():
$ make -j1 run-tcg-tests-x86_64-linux-user
CROSS-BUILD x86_64 guest-tests with gcc-7
CROSS-BUILD x86_64 guest-tests with gcc-7
RUN-TESTS for x86_64
TEST test-mmap (default) on x86_64
TEST test-mmap (8k pages) on x86_64
TEST test-mmap (16k pages) on x86_64
TEST test-mmap (32k pages) on x86_64
TEST sha1 on x86_64
TEST linux-test on x86_64
TEST testthread on x86_64
TEST test-x86_64 on x86_64
$
- [Qemu-devel] [PATCH v3 09/46] docker: extend "cc" command to accept compiler, (continued)
- [Qemu-devel] [PATCH v3 09/46] docker: extend "cc" command to accept compiler, Alex Bennée, 2018/04/24
- [Qemu-devel] [PATCH v3 11/46] docker: Makefile.include introduce DOCKER_SCRIPT, Alex Bennée, 2018/04/24
- [Qemu-devel] [PATCH v3 08/46] docker: Add "cc" subcommand, Alex Bennée, 2018/04/24
- [Qemu-devel] [PATCH v3 10/46] docker: allow "cc" command to run in user context, Alex Bennée, 2018/04/24
- [Qemu-devel] [PATCH v3 34/46] tests/tcg: enable building for ppc64, Alex Bennée, 2018/04/24
- [Qemu-devel] [PATCH v3 12/46] tests/tcg: move architecture independent tests into subdir, Alex Bennée, 2018/04/24
- [Qemu-devel] [PATCH v3 33/46] tests/tcg: enable building for s390x, Alex Bennée, 2018/04/24
- [Qemu-devel] [PATCH v3 23/46] tests/tcg/x86_64: add Makefile.target, Alex Bennée, 2018/04/24
- [Qemu-devel] [PATCH v3 21/46] tests/tcg/i386: fix test-i386-fprem, Alex Bennée, 2018/04/24
- [Qemu-devel] [PATCH v3 28/46] tests/tcg/aarch64: add Makefile.target, Alex Bennée, 2018/04/24