Hi,

On Tue, 19 Apr 2022, 17:09 Paran Lee, <p4ran...@gmail.com> wrote:

> Debugging with GDB from head.S with QEMU runtime was very convenient for
> analysis(linux). so I have trying it in Xen. As I built it.
>

I don't understand how this is related to adding extra cflags. Can you
clarify it?


> Wouldn't it be helpful if I fixed the code little by little?


I am all to make Xen more robust. However, you are now implicitly casting a
signed int to unsigned int. I am not convinced this is a good move.

I think it would be better to fix the other side of the equation or
properly modify the function return.

Cheers,


> 2022-04-20 오전 1:31에 Paran Lee 이(가) 쓴 글:
> > 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, <p4ran...@gmail.com> 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 <p4ran...@gmail.com>
> >>> ---
> >>>  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
> >>>
> >>>
> >>
>

Reply via email to