On Tue, Jul 29, 2014 at 3:34 PM, Olivier Martin <
olivier.martin@arm.com> wrote:
> $ /work/gcc-linaro-arm-linux-gnueabihf-4.8-2014.04_linux/bin/arm-linux-gnueabihf-objdump -S -D Build/BeagleBoard/DEBUG_GCC48/ARM/ArmPlatformPkg/PrePi/PeiUniCore/DEBUG/ArmPlatformPrePiUniCore.dll
>
>
>
> FdTop = (EFI_PHYSICAL_ADDRESS)PcdGet32(PcdFdBaseAddress) + (EFI_PHYSICAL_ADDRESS)PcdGet32(PcdFdSize);
>
> 705c: 4b90 ldr r3, [pc, #576] ; (72a0 <MemoryPeim+0x2a4>)
>
> 705e: 681b ldr r3, [r3, #0]
>
> 7060: 4618 mov r0, r3
>
> 7062: f04f 0100 mov.w r1, #0
>
> 7066: 4b8f ldr r3, [pc, #572] ; (72a4 <MemoryPeim+0x2a8>)
>
> 7068: 681b ldr r3, [r3, #0]
>
> 706a: 461a mov r2, r3
>
> 706c: f04f 0300 mov.w r3, #0
>
> (...)
>
> 72a0: 0000b4ec andeq fp, r0, ip, ror #9
>
> 72a4: 0000b4f0 strdeq fp, [r0], -r0
>
> (...)
>
> 0000b4ec <_gPcd_FixedAtBuild_PcdFdBaseAddress>:
>
> b4ec: 80008000 andhi r8, r0, r0
>
> 0000b4f0 <_gPcd_FixedAtBuild_PcdFdSize>:
>
> b4f0: 000b0000 andeq r0, fp, r0
>
> I noticed in an earlier email you mentioned ArmPlatformPrePiUniCore.lib. If you want to look at the final ELF file, you should have a look at ‘.dll’. I know the name is confusing... But ‘.dll’ is actually a ELF file!
Thanks Olivier! The '.dll' dump looks similar to ^ and contains proper PCD values
at the right address. The '.lib' however shows all the PCDs to be at 00000000:
Disassembly of section .rodata._gPcd_FixedAtBuild_PcdFvBaseAddress:
00000000 <_gPcd_FixedAtBuild_PcdFvBaseAddress>:
0: 80008000 andhi r8, r0, r0