(+ Laszlo)

On 20 June 2017 at 13:00, Leif Lindholm <[email protected]> wrote:
> When building without LTO, gcc incorrectly resolves the hazards for
> 'PciRegBase’ when inlining, leading to "may be used uninitialized"
> warnings (and hence build failure with -Werror).
> Eliminate this warning by explicitly initializing the variable to 0.
>
> Contributed-under: TianoCore Contribution Agreement 1.0
> Signed-off-by: Leif Lindholm <[email protected]>

Reviewed-by: Ard Biesheuvel <[email protected]>

> ---
>
> For those who have heard me mentioning this before but arguing against
> upstreaming this patch: I only just tweaked that this warning doesn't
> go away with more recent toolchains, but simply when switching to GCC5
> build profile, and hence LTO. Build failure still reproducible with
> gcc 6.3.1 and GCC49.
>

/me annoyed

We keep hitting this with GCC, and I profoundly dislike having to add
redundant initialization sequences. Is there any other solution
possible, e.g., disable this warning for certain builds?

>  ArmPlatformPkg/ArmJunoPkg/Drivers/ArmJunoDxe/ArmJunoDxe.c | 1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/ArmPlatformPkg/ArmJunoPkg/Drivers/ArmJunoDxe/ArmJunoDxe.c 
> b/ArmPlatformPkg/ArmJunoPkg/Drivers/ArmJunoDxe/ArmJunoDxe.c
> index da93eb5829..18491c7378 100644
> --- a/ArmPlatformPkg/ArmJunoPkg/Drivers/ArmJunoDxe/ArmJunoDxe.c
> +++ b/ArmPlatformPkg/ArmJunoPkg/Drivers/ArmJunoDxe/ArmJunoDxe.c
> @@ -343,6 +343,7 @@ ArmJunoSetNicMacAddress ()
>      return Status;
>    }
>
> +  PciRegBase = 0;
>    Status = InitPciDev (PciIo, &PciRegBase, &OldPciAttr);
>    if (EFI_ERROR (Status)) {
>      return Status;
> --
> 2.11.0
>
_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to