|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH] xen/arm: silence ambiguous integer casting warning error
Hi, Julien Grall.
Thank you for checking it out. I'm sorry I forgot to attach the make log
as well.
My build configuration (include CFLGAS)
export ARCH=arm64
export XEN_TARGET_ARCH=arm64
export $(dpkg-architecture -aarm64);
export CROSS_COMPILE=aarch64-linux-gnu-
export CFLAGS="-g -Wall -Wextra -Wno-unused-parameter"
And i did make dist-xen
my arm64 compiler information are here.
gcc version 9.4.0 (Ubuntu 9.4.0-1ubuntu1~20.04.1)
~/xen$ aarch64-linux-gnu-gcc -v
Using built-in specs.
COLLECT_GCC=aarch64-linux-gnu-gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc-cross/aarch64-linux-gnu/9/lto-wrapper
Target: aarch64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu
9.4.0-1ubuntu1~20.04.1'
--with-bugurl=file:///usr/share/doc/gcc-9/README.Bugs
--enable-languages=c,ada,c++,go,d,fortran,objc,obj-c++,gm2 --prefix=/usr
--with-gcc-major-version-only --program-suffix=-9 --enable-shared
--enable-linker-build-id --libexecdir=/usr/lib
--without-included-gettext --enable-threads=posix --libdir=/usr/lib
--enable-nls --with-sysroot=/ --enable-clocale=gnu
--enable-libstdcxx-debug --enable-libstdcxx-time=yes
--with-default-libstdcxx-abi=new --enable-gnu-unique-object
--disable-libquadmath --disable-libquadmath-support --enable-plugin
--enable-default-pie --with-system-zlib --without-target-system-zlib
--enable-libpth-m2 --enable-multiarch --enable-fix-cortex-a53-843419
--disable-werror --enable-checking=release --build=x86_64-linux-gnu
--host=x86_64-linux-gnu --target=aarch64-linux-gnu
--program-prefix=aarch64-linux-gnu-
--includedir=/usr/aarch64-linux-gnu/include
Thread model: posix
gcc version 9.4.0 (Ubuntu 9.4.0-1ubuntu1~20.04.1)
In arch/arm/gic-v3.c files.
arch/arm/gic-v3.c: In function ‘gicv3_compute_target_list’:
arch/arm/gic-v3.c:926:17: error: comparison of integer expressions of
different signedness: ‘int’ and ‘unsigned int’ [-Werror=sign-compare]
926 | while ( cpu < nr_cpu_ids )
| ^
arch/arm/gic-v3.c:936:18: error: comparison of integer expressions of
different signedness: ‘int’ and ‘unsigned int’ [-Werror=sign-compare]
936 | if ( cpu == nr_cpu_ids )
| ^~ ^
In arch/arm/setup.c files.
arch/arm/setup.c: In function ‘start_xen’:
./include/xen/cpumask.h:374:13: error: comparison of integer expressions
of different signedness: ‘int’ and ‘unsigned int’ [-Werror=sign-compare]
374 | (cpu) < nr_cpu_ids; \
| ^
./include/xen/cpumask.h:459:36: note: in expansion of macro ‘for_each_cpu’
459 | #define for_each_present_cpu(cpu) for_each_cpu(cpu,
&cpu_present_map)
| ^~~~~~~~~~~~
arch/arm/setup.c:989:5: note: in expansion of macro ‘for_each_present_cpu’
989 | for_each_present_cpu ( i )
| ^~~~~~~~~~~~~~~~~~~~ ^
Thank you!
2022-04-20 오전 12:50에 Julien Grall 이(가) 쓴 글:
> Hi,
>
> On Tue, 19 Apr 2022, 15:41 Paran Lee, <p4ranlee@xxxxxxxxx> wrote:
>
>> GCC with "-g -Wall -Wextra" option throws warning message as below:
>
>
> Which version of the compiler? Also you specify the exact cflags, did you
> tweak Xen?
>
>
>> error: comparison of integer expressions of different signedness:
>> ‘int’ and ‘unsigned int’ [-Werror=sign-compare]
>>
>
> GCC should give you a line/file. Can you provide it?
>
> Cheers,
>
>
>> Silence the warning by correcting the integer type.
>>
>> Signed-off-by: Paran Lee <p4ranlee@xxxxxxxxx>
>> ---
>> xen/arch/arm/gic-v3.c | 5 +++--
>> xen/arch/arm/setup.c | 2 +-
>> 2 files changed, 4 insertions(+), 3 deletions(-)
>>
>> diff --git a/xen/arch/arm/gic-v3.c b/xen/arch/arm/gic-v3.c
>> index 3c472ed768..81ac25f528 100644
>> --- a/xen/arch/arm/gic-v3.c
>> +++ b/xen/arch/arm/gic-v3.c
>> @@ -916,7 +916,8 @@ static void gicv3_hyp_disable(void)
>> isb();
>> }
>>
>> -static u16 gicv3_compute_target_list(int *base_cpu, const struct cpumask
>> *mask,
>> +static u16 gicv3_compute_target_list(unsigned int *base_cpu,
>> + const struct cpumask *mask,
>> uint64_t cluster_id)
>> {
>> int cpu = *base_cpu;
>> @@ -953,7 +954,7 @@ out:
>>
>> static void gicv3_send_sgi_list(enum gic_sgi sgi, const cpumask_t
>> *cpumask)
>> {
>> - int cpu = 0;
>> + unsigned int cpu = 0;
>> uint64_t val;
>>
>> for_each_cpu(cpu, cpumask)
>> diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c
>> index d5d0792ed4..5ab2aaecaf 100644
>> --- a/xen/arch/arm/setup.c
>> +++ b/xen/arch/arm/setup.c
>> @@ -862,7 +862,7 @@ void __init start_xen(unsigned long boot_phys_offset,
>> unsigned long fdt_paddr)
>> {
>> size_t fdt_size;
>> - int cpus, i;
>> + unsigned int cpus, i;
>> const char *cmdline;
>> struct bootmodule *xen_bootmodule;
>> struct domain *d;
>> --
>> 2.25.1
>>
>>
>
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |