[PATCH-for-6.0] hw/mem/meson: Fix linking sparse-mem device with fuzzer

Philippe Mathieu-Daudé posted 1 patch 3 years ago
Test checkpatch passed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20210406133944.4193691-1-philmd@redhat.com
hw/mem/meson.build | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
[PATCH-for-6.0] hw/mem/meson: Fix linking sparse-mem device with fuzzer
Posted by Philippe Mathieu-Daudé 3 years ago
sparse-mem.c is added to the 'mem_ss' source set, which itself
is conditionally added to softmmu_ss if CONFIG_MEM_DEVICE is
selected.
But if CONFIG_MEM_DEVICE isn't selected, we get a link failure
even if CONFIG_FUZZ is selected:

  /usr/bin/ld: tests_qtest_fuzz_generic_fuzz.c.o: in function `generic_pre_fuzz':
  tests/qtest/fuzz/generic_fuzz.c:826: undefined reference to `sparse_mem_init'
  clang-10: error: linker command failed with exit code 1 (use -v to see invocation)

Fix by adding sparse-mem.c directly to the softmmu_ss set.

Fixes: 230376d285b ("memory: add a sparse memory device for fuzzing")
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
 hw/mem/meson.build | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/hw/mem/meson.build b/hw/mem/meson.build
index ef79e046787..3c8fdef9f9e 100644
--- a/hw/mem/meson.build
+++ b/hw/mem/meson.build
@@ -1,8 +1,9 @@
 mem_ss = ss.source_set()
 mem_ss.add(files('memory-device.c'))
-mem_ss.add(when: 'CONFIG_FUZZ', if_true: files('sparse-mem.c'))
 mem_ss.add(when: 'CONFIG_DIMM', if_true: files('pc-dimm.c'))
 mem_ss.add(when: 'CONFIG_NPCM7XX', if_true: files('npcm7xx_mc.c'))
 mem_ss.add(when: 'CONFIG_NVDIMM', if_true: files('nvdimm.c'))
 
 softmmu_ss.add_all(when: 'CONFIG_MEM_DEVICE', if_true: mem_ss)
+
+softmmu_ss.add(when: 'CONFIG_FUZZ', if_true: files('sparse-mem.c'))
-- 
2.26.3

Re: [PATCH-for-6.0] hw/mem/meson: Fix linking sparse-mem device with fuzzer
Posted by Alexander Bulekov 3 years ago
On 210406 1539, Philippe Mathieu-Daudé wrote:
> sparse-mem.c is added to the 'mem_ss' source set, which itself
> is conditionally added to softmmu_ss if CONFIG_MEM_DEVICE is
> selected.
> But if CONFIG_MEM_DEVICE isn't selected, we get a link failure
> even if CONFIG_FUZZ is selected:
> 
>   /usr/bin/ld: tests_qtest_fuzz_generic_fuzz.c.o: in function `generic_pre_fuzz':
>   tests/qtest/fuzz/generic_fuzz.c:826: undefined reference to `sparse_mem_init'
>   clang-10: error: linker command failed with exit code 1 (use -v to see invocation)
> 
> Fix by adding sparse-mem.c directly to the softmmu_ss set.
> 
> Fixes: 230376d285b ("memory: add a sparse memory device for fuzzing")
> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>

Oops..
Reviewed-by: Alexander Bulekov <alxndr@bu.edu>

> ---
>  hw/mem/meson.build | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/hw/mem/meson.build b/hw/mem/meson.build
> index ef79e046787..3c8fdef9f9e 100644
> --- a/hw/mem/meson.build
> +++ b/hw/mem/meson.build
> @@ -1,8 +1,9 @@
>  mem_ss = ss.source_set()
>  mem_ss.add(files('memory-device.c'))
> -mem_ss.add(when: 'CONFIG_FUZZ', if_true: files('sparse-mem.c'))
>  mem_ss.add(when: 'CONFIG_DIMM', if_true: files('pc-dimm.c'))
>  mem_ss.add(when: 'CONFIG_NPCM7XX', if_true: files('npcm7xx_mc.c'))
>  mem_ss.add(when: 'CONFIG_NVDIMM', if_true: files('nvdimm.c'))
>  
>  softmmu_ss.add_all(when: 'CONFIG_MEM_DEVICE', if_true: mem_ss)
> +
> +softmmu_ss.add(when: 'CONFIG_FUZZ', if_true: files('sparse-mem.c'))
> -- 
> 2.26.3
> 
> 

Re: [PATCH-for-6.0] hw/mem/meson: Fix linking sparse-mem device with fuzzer
Posted by Philippe Mathieu-Daudé 3 years ago
ping?

On 4/6/21 4:39 PM, Alexander Bulekov wrote:
> On 210406 1539, Philippe Mathieu-Daudé wrote:
>> sparse-mem.c is added to the 'mem_ss' source set, which itself
>> is conditionally added to softmmu_ss if CONFIG_MEM_DEVICE is
>> selected.
>> But if CONFIG_MEM_DEVICE isn't selected, we get a link failure
>> even if CONFIG_FUZZ is selected:
>>
>>   /usr/bin/ld: tests_qtest_fuzz_generic_fuzz.c.o: in function `generic_pre_fuzz':
>>   tests/qtest/fuzz/generic_fuzz.c:826: undefined reference to `sparse_mem_init'
>>   clang-10: error: linker command failed with exit code 1 (use -v to see invocation)
>>
>> Fix by adding sparse-mem.c directly to the softmmu_ss set.
>>
>> Fixes: 230376d285b ("memory: add a sparse memory device for fuzzing")
>> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> 
> Oops..
> Reviewed-by: Alexander Bulekov <alxndr@bu.edu>
> 
>> ---
>>  hw/mem/meson.build | 3 ++-
>>  1 file changed, 2 insertions(+), 1 deletion(-)
>>
>> diff --git a/hw/mem/meson.build b/hw/mem/meson.build
>> index ef79e046787..3c8fdef9f9e 100644
>> --- a/hw/mem/meson.build
>> +++ b/hw/mem/meson.build
>> @@ -1,8 +1,9 @@
>>  mem_ss = ss.source_set()
>>  mem_ss.add(files('memory-device.c'))
>> -mem_ss.add(when: 'CONFIG_FUZZ', if_true: files('sparse-mem.c'))
>>  mem_ss.add(when: 'CONFIG_DIMM', if_true: files('pc-dimm.c'))
>>  mem_ss.add(when: 'CONFIG_NPCM7XX', if_true: files('npcm7xx_mc.c'))
>>  mem_ss.add(when: 'CONFIG_NVDIMM', if_true: files('nvdimm.c'))
>>  
>>  softmmu_ss.add_all(when: 'CONFIG_MEM_DEVICE', if_true: mem_ss)
>> +
>> +softmmu_ss.add(when: 'CONFIG_FUZZ', if_true: files('sparse-mem.c'))
>> -- 
>> 2.26.3
>>
>>
> 


Re: [PATCH-for-6.0] hw/mem/meson: Fix linking sparse-mem device with fuzzer
Posted by Philippe Mathieu-Daudé 2 years, 11 months ago
Cc'ing qemu-trivial (patch reviewed).

On 4/12/21 1:07 PM, Philippe Mathieu-Daudé wrote:
> ping?
> 
> On 4/6/21 4:39 PM, Alexander Bulekov wrote:
>> On 210406 1539, Philippe Mathieu-Daudé wrote:
>>> sparse-mem.c is added to the 'mem_ss' source set, which itself
>>> is conditionally added to softmmu_ss if CONFIG_MEM_DEVICE is
>>> selected.
>>> But if CONFIG_MEM_DEVICE isn't selected, we get a link failure
>>> even if CONFIG_FUZZ is selected:
>>>
>>>   /usr/bin/ld: tests_qtest_fuzz_generic_fuzz.c.o: in function `generic_pre_fuzz':
>>>   tests/qtest/fuzz/generic_fuzz.c:826: undefined reference to `sparse_mem_init'
>>>   clang-10: error: linker command failed with exit code 1 (use -v to see invocation)
>>>
>>> Fix by adding sparse-mem.c directly to the softmmu_ss set.
>>>
>>> Fixes: 230376d285b ("memory: add a sparse memory device for fuzzing")
>>> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
>>
>> Oops..
>> Reviewed-by: Alexander Bulekov <alxndr@bu.edu>
>>
>>> ---
>>>  hw/mem/meson.build | 3 ++-
>>>  1 file changed, 2 insertions(+), 1 deletion(-)
>>>
>>> diff --git a/hw/mem/meson.build b/hw/mem/meson.build
>>> index ef79e046787..3c8fdef9f9e 100644
>>> --- a/hw/mem/meson.build
>>> +++ b/hw/mem/meson.build
>>> @@ -1,8 +1,9 @@
>>>  mem_ss = ss.source_set()
>>>  mem_ss.add(files('memory-device.c'))
>>> -mem_ss.add(when: 'CONFIG_FUZZ', if_true: files('sparse-mem.c'))
>>>  mem_ss.add(when: 'CONFIG_DIMM', if_true: files('pc-dimm.c'))
>>>  mem_ss.add(when: 'CONFIG_NPCM7XX', if_true: files('npcm7xx_mc.c'))
>>>  mem_ss.add(when: 'CONFIG_NVDIMM', if_true: files('nvdimm.c'))
>>>  
>>>  softmmu_ss.add_all(when: 'CONFIG_MEM_DEVICE', if_true: mem_ss)
>>> +
>>> +softmmu_ss.add(when: 'CONFIG_FUZZ', if_true: files('sparse-mem.c'))
>>> -- 
>>> 2.26.3
>>>
>>>
>>
> 


Re: [PATCH-for-6.0] hw/mem/meson: Fix linking sparse-mem device with fuzzer
Posted by Laurent Vivier 2 years, 11 months ago
Le 11/05/2021 à 05:48, Philippe Mathieu-Daudé a écrit :
> Cc'ing qemu-trivial (patch reviewed).

Applied to my trivial-patches branch.

Thanks,
Laurent

> 
> On 4/12/21 1:07 PM, Philippe Mathieu-Daudé wrote:
>> ping?
>>
>> On 4/6/21 4:39 PM, Alexander Bulekov wrote:
>>> On 210406 1539, Philippe Mathieu-Daudé wrote:
>>>> sparse-mem.c is added to the 'mem_ss' source set, which itself
>>>> is conditionally added to softmmu_ss if CONFIG_MEM_DEVICE is
>>>> selected.
>>>> But if CONFIG_MEM_DEVICE isn't selected, we get a link failure
>>>> even if CONFIG_FUZZ is selected:
>>>>
>>>>   /usr/bin/ld: tests_qtest_fuzz_generic_fuzz.c.o: in function `generic_pre_fuzz':
>>>>   tests/qtest/fuzz/generic_fuzz.c:826: undefined reference to `sparse_mem_init'
>>>>   clang-10: error: linker command failed with exit code 1 (use -v to see invocation)
>>>>
>>>> Fix by adding sparse-mem.c directly to the softmmu_ss set.
>>>>
>>>> Fixes: 230376d285b ("memory: add a sparse memory device for fuzzing")
>>>> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
>>>
>>> Oops..
>>> Reviewed-by: Alexander Bulekov <alxndr@bu.edu>
>>>
>>>> ---
>>>>  hw/mem/meson.build | 3 ++-
>>>>  1 file changed, 2 insertions(+), 1 deletion(-)
>>>>
>>>> diff --git a/hw/mem/meson.build b/hw/mem/meson.build
>>>> index ef79e046787..3c8fdef9f9e 100644
>>>> --- a/hw/mem/meson.build
>>>> +++ b/hw/mem/meson.build
>>>> @@ -1,8 +1,9 @@
>>>>  mem_ss = ss.source_set()
>>>>  mem_ss.add(files('memory-device.c'))
>>>> -mem_ss.add(when: 'CONFIG_FUZZ', if_true: files('sparse-mem.c'))
>>>>  mem_ss.add(when: 'CONFIG_DIMM', if_true: files('pc-dimm.c'))
>>>>  mem_ss.add(when: 'CONFIG_NPCM7XX', if_true: files('npcm7xx_mc.c'))
>>>>  mem_ss.add(when: 'CONFIG_NVDIMM', if_true: files('nvdimm.c'))
>>>>  
>>>>  softmmu_ss.add_all(when: 'CONFIG_MEM_DEVICE', if_true: mem_ss)
>>>> +
>>>> +softmmu_ss.add(when: 'CONFIG_FUZZ', if_true: files('sparse-mem.c'))
>>>> -- 
>>>> 2.26.3
>>>>
>>>>
>>>
>>
> 
> 


Re: [PATCH-for-6.0] hw/mem/meson: Fix linking sparse-mem device with fuzzer
Posted by Philippe Mathieu-Daudé 3 years ago
+Alex

On 4/6/21 3:39 PM, Philippe Mathieu-Daudé wrote:
> sparse-mem.c is added to the 'mem_ss' source set, which itself
> is conditionally added to softmmu_ss if CONFIG_MEM_DEVICE is
> selected.
> But if CONFIG_MEM_DEVICE isn't selected, we get a link failure
> even if CONFIG_FUZZ is selected:
> 
>   /usr/bin/ld: tests_qtest_fuzz_generic_fuzz.c.o: in function `generic_pre_fuzz':
>   tests/qtest/fuzz/generic_fuzz.c:826: undefined reference to `sparse_mem_init'
>   clang-10: error: linker command failed with exit code 1 (use -v to see invocation)
> 
> Fix by adding sparse-mem.c directly to the softmmu_ss set.
> 
> Fixes: 230376d285b ("memory: add a sparse memory device for fuzzing")
> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> ---
>  hw/mem/meson.build | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/hw/mem/meson.build b/hw/mem/meson.build
> index ef79e046787..3c8fdef9f9e 100644
> --- a/hw/mem/meson.build
> +++ b/hw/mem/meson.build
> @@ -1,8 +1,9 @@
>  mem_ss = ss.source_set()
>  mem_ss.add(files('memory-device.c'))
> -mem_ss.add(when: 'CONFIG_FUZZ', if_true: files('sparse-mem.c'))
>  mem_ss.add(when: 'CONFIG_DIMM', if_true: files('pc-dimm.c'))
>  mem_ss.add(when: 'CONFIG_NPCM7XX', if_true: files('npcm7xx_mc.c'))
>  mem_ss.add(when: 'CONFIG_NVDIMM', if_true: files('nvdimm.c'))
>  
>  softmmu_ss.add_all(when: 'CONFIG_MEM_DEVICE', if_true: mem_ss)
> +
> +softmmu_ss.add(when: 'CONFIG_FUZZ', if_true: files('sparse-mem.c'))
>