public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Lin, Derek (HPS UEFI Dev)" <derek.lin2@hpe.com>
To: "edk2-devel@lists.01.org" <edk2-devel@lists.01.org>,
	"afish@apple.com" <afish@apple.com>
Subject: Re: [BaseTools] Library GUIDs missing from Guid.xref file.
Date: Thu, 27 Oct 2016 04:09:28 +0000	[thread overview]
Message-ID: <DF4PR84MB0025A90FFBEB149CD48DF3C6C2AA0@DF4PR84MB0025.NAMPRD84.PROD.OUTLOOK.COM> (raw)
In-Reply-To: <AT5PR84MB01150BA503E56D54D085691CF2AA0@AT5PR84MB0115.NAMPRD84.PROD.OUTLOOK.COM>

Hi Andrew,

We also see this issue recently. And we have a fix. I've send email patch minutes ago.

Thanks,
Derek

From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of Andrew Fish
Sent: Thursday, October 27, 2016 9:08 AM
To: edk2-devel <edk2-devel@lists.01.org>
Subject: [edk2] [BaseTools] Library GUIDs missing from Guid.xref file.

I noticed if a GUID (PPI & Protocol) was only used via a library it does not end up in the Guid.xref file. 

It looks to me like this code is only extracting the GUIDs from the Drivers INF file and the GUIDs defined in dependent libraries are skipped?  


https://github.com/tianocore/edk2/blob/master/BaseTools/Source/Python/GenFds/GenFds.py#L701 <https://github.com/tianocore/edk2/blob/master/BaseTools/Source/Python/GenFds/GenFds.py#L701>

        for Arch in ArchList:
            PlatformDataBase = BuildDb.BuildObject[GenFdsGlobalVariable.ActivePlatform, Arch, GenFdsGlobalVariable.TargetName, GenFdsGlobalVariable.ToolChainTag]
            for ModuleFile in PlatformDataBase.Modules:
                Module = BuildDb.BuildObject[ModuleFile, Arch, GenFdsGlobalVariable.TargetName, GenFdsGlobalVariable.ToolChainTag]
                GuidXRefFile.write("%s %s\n" % (Module.Guid, Module.BaseName))
                for key, item in Module.Protocols.items():
                    GuidDict[key] = item
                for key, item in Module.Guids.items():
                    GuidDict[key] = item
                for key, item in Module.Ppis.items():
                    GuidDict[key] = item


Does anyone know how to extract the info from the dependent libs? 

I have an lldb type formatter for EFI_GUID that will print out the GUID C name so I noticed when some of them went missing. 

Thanks,

Andrew Fish
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel


  parent reply	other threads:[~2016-10-27  4:09 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-10-27  1:08 [BaseTools] Library GUIDs missing from Guid.xref file Andrew Fish
     [not found] ` <AT5PR84MB01150BA503E56D54D085691CF2AA0@AT5PR84MB0115.NAMPRD84.PROD.OUTLOOK.COM>
2016-10-27  4:09   ` Lin, Derek (HPS UEFI Dev) [this message]
2016-10-27  5:24     ` Andrew Fish
2016-10-27  5:49       ` Lin, Derek (HPS UEFI Dev)
2016-10-27  5:52         ` Gao, Liming
2016-10-28  2:34           ` Lin, Derek (HPS UEFI Dev)

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-list from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=DF4PR84MB0025A90FFBEB149CD48DF3C6C2AA0@DF4PR84MB0025.NAMPRD84.PROD.OUTLOOK.COM \
    --to=devel@edk2.groups.io \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox