qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] hw/sparc/leon3: Fix wrong usage of DO_UPCAST macro


From: Clément Chigot
Subject: Re: [PATCH] hw/sparc/leon3: Fix wrong usage of DO_UPCAST macro
Date: Thu, 22 Feb 2024 09:26:12 +0100

Hi Philippe, Thomas

Thanks for handling that !
And I do confirm that it does not trigger any obvious regression on our side.

Thanks,
Clément

On Thu, Feb 22, 2024 at 8:46 AM Philippe Mathieu-Daudé
<philmd@linaro.org> wrote:
>
> On 21/2/24 19:49, Philippe Mathieu-Daudé wrote:
> > On 21/2/24 19:47, Philippe Mathieu-Daudé wrote:
> >> On 21/2/24 19:07, Thomas Huth wrote:
> >>> leon3.c currently fails to compile with some compilers when the -Wvla
> >>> option has been enabled:
> >>>
> >>>   ../hw/sparc/leon3.c: In function ‘leon3_cpu_reset’:
> >>>   ../hw/sparc/leon3.c:153:5: error: ISO C90 forbids variable length
> >>> array
> >>>    ‘offset_must_be_zero’ [-Werror=vla]
> >>>     153 |     ResetData *s = (ResetData *)DO_UPCAST(ResetData,
> >>> info[id], info);
> >>>         |     ^~~~~~~~~
> >>>   cc1: all warnings being treated as errors
> >>>
> >>> Looking at this code, the DO_UPCAST macro is indeed used in a wrong way
> >>> here: DO_UPCAST is supposed to check that the second parameter is the
> >>> first entry of the struct that the first parameter indicates, but since
> >>> we use and index into the info[] array, this of course cannot work.
> >>>
> >>> The intention here was likely rather to use the container_of() macro
> >>> instead, so switch the code accordingly.
> >
> > Fixes: d65aba8286 ("hw/sparc/leon3: implement multiprocessor")
> >
> >>> Signed-off-by: Thomas Huth <thuth@redhat.com>
> >>> ---
> >>>   hw/sparc/leon3.c | 2 +-
> >>>   1 file changed, 1 insertion(+), 1 deletion(-)
> >>
> >> Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
> >>
>
> Patch queued!
>



reply via email to

[Prev in Thread] Current Thread [Next in Thread]