[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [qemu-s390x] [PATCH v4 09/21] target: Do not include "exec/exec-all.
From: |
Paolo Bonzini |
Subject: |
Re: [qemu-s390x] [PATCH v4 09/21] target: Do not include "exec/exec-all.h" if it is not necessary |
Date: |
Wed, 30 May 2018 11:32:38 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.7.0 |
On 30/05/2018 07:50, Philippe Mathieu-Daudé wrote:
>>> No, not all :/
>>> I started with "(cpu_loop_|tlb_|tb_)" then kept brutebuilding until no
>>> more errors appear. In 2 more steps I added "cpu_address_space_init|"
>>> then "|GETPC|singlestep|TranslationBlock". Quick and dirty enough for my
>>> goal than trying to build a regex to explode function/struct names from
>>> headers. This is a clever way to do it for long term command reuse taken
>>> from commit messages...
>> Brutebuilding isn't a good way to find unused includes, some other header
>> might pull in an include you are trying to remove for its own purposes.
>> If you want to try brutebuilding you must also verify that's
>> not the case - e.g. look at the dependency file generated.
> Hmm you mean the .d files in the build dir?
You can also check which include files include this one. In this case
you can see that brute-building was more or less enough:
$ git grep -l exec-all -- '*.h'
accel/tcg/translate-all.h
include/exec/tb-lookup.h
include/exec/translator.h
linux-user/qemu.h
target/ppc/helper_regs.h
Leaving aside linux-user/qemu.h, let's check which files include one of
those headers, but they do not include exec/exec-all.h:
$ git grep -L exec-all \
$(git grep -lFf <(git grep -l exec-all -- '*.h' | \
grep -v qemu.h | sed 's,.*/,,'))
linux-user/mmap.c
target/arm/translate.h
target/ppc/int_helper.c
trace/control-target.c
I'll send some patches shortly to fix up what's left.
Paolo
Re: [qemu-s390x] [PATCH v4 09/21] target: Do not include "exec/exec-all.h" if it is not necessary, Cornelia Huck, 2018/05/30