[edk2-devel] Basetools fail without error message due to PCD type differs in architecture.

Lin, Derek (HPS SW) derek.lin2 at hpe.com
Wed Apr 8 02:40:51 UTC 2020


Hi Bret,

Thanks for your feedback. I'm very sorry that I didn't describe it clearly.

The Basetools just "crash" in the configuration. The Basetools crash without any information, then build stops.
I've looked into the BaseTools code, the python code crash, during the generation of PCD database for IA32.


I'm not sure if the PCD spec allows different PCD type in different architectures.
If the spec allows it, the build needs to be fixed and make sure it works. I remember the dynamic PCD database carry from PEI to DXE. And I don't think that work if PEI is FixedAtBuild while DXE is Dyanamic.

In my opinion, this configuration should come to a build failure. And define the error in PCD spec.

Thanks,
Derek

From: devel at edk2.groups.io [mailto:devel at edk2.groups.io] On Behalf Of Bret Barkelew via groups.io
Sent: Wednesday, April 8, 2020 5:48 AM
To: devel at edk2.groups.io; Lin, Derek (HPS SW) <derek.lin2 at hpe.com>
Subject: Re: [EXTERNAL] [edk2-devel] Basetools fail without error message due to PCD type differs in architecture.

This seems like a legitimate configuration. I don't know that it should be considered an error. A warning, maybe.

This is also what the build report is perfect for finding. Did you check the PCD build report when debugging?

- Bret

From: Lin, Derek (HPS SW) via groups.io<mailto:derek.lin2=hpe.com at groups.io>
Sent: Sunday, April 5, 2020 7:55 PM
To: devel at edk2.groups.io<mailto:devel at edk2.groups.io>
Subject: [EXTERNAL] [edk2-devel] Basetools fail without error message due to PCD type differs in architecture.

We've found a Basetool issue.
When a PCD is FixAtBuild at IA32 and Dynamic is at X64, there is no error message in this situation and it's very difficult to find the root cause.

Here's example to see the issue:
https://github.com/howdou/edk2/commit/333c5f33adc652308355ec100f7f385d552392fa<https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fhowdou%2Fedk2%2Fcommit%2F333c5f33adc652308355ec100f7f385d552392fa&data=02%7C01%7Cbret.barkelew%40microsoft.com%7Cffb03103e6ea44f2983d08d7d9d5f14d%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637217385209311719&sdata=NARbUbs0zdooQRcLakblGydppgYFoxm1BBNhm4Ap4Ek%3D&reserved=0>

I think it is not allowed to have FixAtBuild at IA32 and Dynamic at X64. BaseTool should have an error message for this.



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

View/Reply Online (#57046): https://edk2.groups.io/g/devel/message/57046
Mute This Topic: https://groups.io/mt/72866604/1813853
Group Owner: devel+owner at edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [edk2-devel-archive at redhat.com]
-=-=-=-=-=-=-=-=-=-=-=-

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/edk2-devel-archive/attachments/20200408/c84f55cd/attachment.htm>


More information about the edk2-devel-archive mailing list