[edk2-devel] [PATCH] ArmVirtPkg/PlatformPeiLib: add dummy assignment to work around older GCC

Ard Biesheuvel posted 1 patch 4 years, 1 month ago
Failed in applying to current master (apply log)
ArmVirtPkg/Library/PlatformPeiLib/PlatformPeiLib.c | 5 +++++
1 file changed, 5 insertions(+)
[edk2-devel] [PATCH] ArmVirtPkg/PlatformPeiLib: add dummy assignment to work around older GCC
Posted by Ard Biesheuvel 4 years, 1 month ago
Older GCC (<= 4.9) fail to infer that Parent is never used unless it
has been assigned before, and may throw an error like

  /work/git/edk2/ArmVirtPkg/Library/PlatformPeiLib/PlatformPeiLib.c:
      In function ‘PlatformPeim’:
  /work/git/edk2/ArmVirtPkg/Library/PlatformPeiLib/PlatformPeiLib.c:132:24:
      error: ‘Parent’ may be used uninitialized in this function
                                                [-Werror=maybe-uninitialized]
             RangesProp = fdt_getprop (Base, Parent, "ranges", &RangesLen);

Set Parent to 0 at the start of the sequence to work around this.

Link: https://bugzilla.tianocore.org/show_bug.cgi?id=2601
Fixes: 82662a3b5f56e974 ("ArmVirtPkg/PlatformPeiLib: discover the TPM base ...")
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
---
 ArmVirtPkg/Library/PlatformPeiLib/PlatformPeiLib.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/ArmVirtPkg/Library/PlatformPeiLib/PlatformPeiLib.c b/ArmVirtPkg/Library/PlatformPeiLib/PlatformPeiLib.c
index 8b5b3dd5dc1c..6c4028e17995 100644
--- a/ArmVirtPkg/Library/PlatformPeiLib/PlatformPeiLib.c
+++ b/ArmVirtPkg/Library/PlatformPeiLib/PlatformPeiLib.c
@@ -77,6 +77,11 @@ PlatformPeim (
 
   TpmBase = 0;
 
+  //
+  // Set Parent to suppress incorrect compiler/analyzer warnings.
+  //
+  Parent = 0;
+
   for (Prev = Depth = 0;; Prev = Node) {
     Node = fdt_next_node (Base, Prev, &Depth);
     if (Node < 0) {
-- 
2.17.1


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#56263): https://edk2.groups.io/g/devel/message/56263
Mute This Topic: https://groups.io/mt/72537259/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-

Re: [edk2-devel] [PATCH] ArmVirtPkg/PlatformPeiLib: add dummy assignment to work around older GCC
Posted by Laszlo Ersek 4 years, 1 month ago
On 03/25/20 10:33, Ard Biesheuvel wrote:
> Older GCC (<= 4.9) fail to infer that Parent is never used unless it
> has been assigned before, and may throw an error like
> 
>   /work/git/edk2/ArmVirtPkg/Library/PlatformPeiLib/PlatformPeiLib.c:
>       In function ‘PlatformPeim’:
>   /work/git/edk2/ArmVirtPkg/Library/PlatformPeiLib/PlatformPeiLib.c:132:24:
>       error: ‘Parent’ may be used uninitialized in this function
>                                                 [-Werror=maybe-uninitialized]
>              RangesProp = fdt_getprop (Base, Parent, "ranges", &RangesLen);
> 
> Set Parent to 0 at the start of the sequence to work around this.
> 
> Link: https://bugzilla.tianocore.org/show_bug.cgi?id=2601
> Fixes: 82662a3b5f56e974 ("ArmVirtPkg/PlatformPeiLib: discover the TPM base ...")
> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
> ---
>  ArmVirtPkg/Library/PlatformPeiLib/PlatformPeiLib.c | 5 +++++
>  1 file changed, 5 insertions(+)
> 
> diff --git a/ArmVirtPkg/Library/PlatformPeiLib/PlatformPeiLib.c b/ArmVirtPkg/Library/PlatformPeiLib/PlatformPeiLib.c
> index 8b5b3dd5dc1c..6c4028e17995 100644
> --- a/ArmVirtPkg/Library/PlatformPeiLib/PlatformPeiLib.c
> +++ b/ArmVirtPkg/Library/PlatformPeiLib/PlatformPeiLib.c
> @@ -77,6 +77,11 @@ PlatformPeim (
>  
>    TpmBase = 0;
>  
> +  //
> +  // Set Parent to suppress incorrect compiler/analyzer warnings.
> +  //
> +  Parent = 0;
> +
>    for (Prev = Depth = 0;; Prev = Node) {
>      Node = fdt_next_node (Base, Prev, &Depth);
>      if (Node < 0) {
> 

Reviewed-by: Laszlo Ersek <lersek@redhat.com>

Thanks,
Laszlo


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#56338): https://edk2.groups.io/g/devel/message/56338
Mute This Topic: https://groups.io/mt/72537259/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-

Re: [edk2-devel] [PATCH] ArmVirtPkg/PlatformPeiLib: add dummy assignment to work around older GCC
Posted by Ard Biesheuvel 4 years, 1 month ago
On Wed, 25 Mar 2020 at 20:11, Laszlo Ersek <lersek@redhat.com> wrote:
>
> On 03/25/20 10:33, Ard Biesheuvel wrote:
> > Older GCC (<= 4.9) fail to infer that Parent is never used unless it
> > has been assigned before, and may throw an error like
> >
> >   /work/git/edk2/ArmVirtPkg/Library/PlatformPeiLib/PlatformPeiLib.c:
> >       In function ‘PlatformPeim’:
> >   /work/git/edk2/ArmVirtPkg/Library/PlatformPeiLib/PlatformPeiLib.c:132:24:
> >       error: ‘Parent’ may be used uninitialized in this function
> >                                                 [-Werror=maybe-uninitialized]
> >              RangesProp = fdt_getprop (Base, Parent, "ranges", &RangesLen);
> >
> > Set Parent to 0 at the start of the sequence to work around this.
> >
> > Link: https://bugzilla.tianocore.org/show_bug.cgi?id=2601
> > Fixes: 82662a3b5f56e974 ("ArmVirtPkg/PlatformPeiLib: discover the TPM base ...")
> > Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
> > ---
> >  ArmVirtPkg/Library/PlatformPeiLib/PlatformPeiLib.c | 5 +++++
> >  1 file changed, 5 insertions(+)
> >
> > diff --git a/ArmVirtPkg/Library/PlatformPeiLib/PlatformPeiLib.c b/ArmVirtPkg/Library/PlatformPeiLib/PlatformPeiLib.c
> > index 8b5b3dd5dc1c..6c4028e17995 100644
> > --- a/ArmVirtPkg/Library/PlatformPeiLib/PlatformPeiLib.c
> > +++ b/ArmVirtPkg/Library/PlatformPeiLib/PlatformPeiLib.c
> > @@ -77,6 +77,11 @@ PlatformPeim (
> >
> >    TpmBase = 0;
> >
> > +  //
> > +  // Set Parent to suppress incorrect compiler/analyzer warnings.
> > +  //
> > +  Parent = 0;
> > +
> >    for (Prev = Depth = 0;; Prev = Node) {
> >      Node = fdt_next_node (Base, Prev, &Depth);
> >      if (Node < 0) {
> >
>
> Reviewed-by: Laszlo Ersek <lersek@redhat.com>
>

Pushed, thanks.

-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#56380): https://edk2.groups.io/g/devel/message/56380
Mute This Topic: https://groups.io/mt/72537259/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-