Which toolchain are you using? Could I have a link to it?
Thanks,
Olivier
From: linaro-uefi-bounces@lists.linaro.org [mailto:linaro-uefi-bounces@lists.linaro.org]
On Behalf Of Varad Gautam
Sent: 25 July 2014 12:08
To: edk2-devel@lists.sourceforge.net
Cc: linaro-uefi@lists.linaro.org
Subject: Re: [Linaro-uefi] [edk2] Strange Issue With PcdGetXX()
The same problem appears when I build BeagleBoardPkg:
AutoGen.* contains proper PCDs, so does the build report. Yet, objdump
shows PcdGet calls to return 0.
-objdump snippets-
ArmPlatformPrePiUnicore.lib:
FixedPcdGet32 (PcdFdBaseAddress);
5e: f04f 2080 mov.w r0, #2147516416 ; 0x80008000
62: f7ff fffe bl 0 <PrePiMain>
...
StacksSize =
PcdGet32 (PcdCPUCorePrimaryStackSize);
bc: 4b6e ldr r3, [pc, #440] ; (278 <PrePiMain+0x278>)
be: 681b ldr r3, [r3, #0]
c0: 9325 str r3, [sp, #148] ; 0x94
I have tried using a different toolchain :). What else is possible? I am looking into
the BaseTools build process. Could someone please verify this for BeagleBoardPkg?
Thanks,
Varad
On Fri, Jul 25, 2014 at 2:24 PM, Varad Gautam <varadgautam@gmail.com> wrote:
On Thu, Jul 24, 2014 at 9:50 PM, Andrew Fish <afish@apple.com> wrote:
> AutoGen.i? Is this code assembly? If so you should look at the *.iii as that
> is the post processed version that gets sent to assembler. There is a tool
> to trim out code that is not compatible with the assembler, so it would be
> good to check that something is not going on in that step.
Yeah, AutoGen.i contains assembly. The .iii files too point to the global.
> Are the globals in the image? What value do they have? You should be able to
> dump PE/COFF or ELF on your build system and find out.
This is interesting, the objdump contains 0 for PcdGet at all places.
On Thu, Jul 24, 2014 at 10:06 PM, Laszlo Ersek <lersek@redhat.com> wrote:
> (Maybe side issue, maybe relevant:)
>
> Interesting. I tried to use fixed PCDs in ASL source code, *after*
> BaseTools had reportedly grown support for that. Unfortunately, my
> attempt failed, and I got no effective advice after I reported it.
>
>
http://thread.gmane.org/gmane.comp.bios.tianocore.devel/7416/focus=7587
>
> Perhaps this is a basetools problem then?
>
> Thanks
> Laszlo
The AutoGen.h contains the correct PCD values, so basetools is able to parse
and append PCDs properly. I'll try to dig deeper into it.
Does `PcdPeiGlobalVariableSize` play any role during build?
Thanks,
Varad