Joe Thomas, THANK YOU! I was pointing to the wrong toolchain. I think I got confused with all of the different Env vars. This solves my problem with cross development. I did have to fix a lot of 'set but not used' errors. Regards, Mike
> -----Original Message----- > From: Joe Thomas [mailto:joe.tho...@dothill.com] > Sent: Wednesday, September 17, 2014 9:18 AM > To: edk2-devel@lists.sourceforge.net > Subject: Re: [edk2] EDK2 GenFw > > Mike/others, > > Further info... > > > I've cloned https://github.com/tianocore/edk2, > > Downloaded the Linaro toolchain binaries, 'wget > http://releases.linaro.org/13.07/components/toolchain/binaries/gcc-linaro- > aarch64-linux-gnu-4.8-2013.07-1_linux.tar.xz' > Unpacked them ' tar xf gcc-linaro-aarch64-linux-gnu-4.8-2013.07- > 1_linux.tar.xz' > > Set the env variable ' export AARCH64LINUXGCC_TOOLS_PATH=<path to > gcc-linaro-aarch64 directory>/bin/' > > And used the following in Conf/target.txt > ACTIVE_PLATFORM = MdeModulePkg/MdeModulePkg.dsc > TARGET = DEBUG > TARGET_ARCH = AARCH64 (must be caps even though the > listed arch in the comment is mixed case) > TOOL_CHAIN_TAG = ARMLINUXGCC > > If you tried building, be sure to clean the Build directory first -- I had > mixed > results when switching between toolschains... > > The first relocation is 0x0, which I believe is R_ARM_NONE (as opposed to > R_AARCH64_NONE which is defined as 256). I believe this can be ignored by > adding a case with a break stmt to the (e_machine == EM_AARCH64) > sections. > The other is 0x105 (261) or R_AARCH64_PREL32 (S + A - P) which I really have > no idea how to handle. (I haven't looked at GenFW, etc. to try and figure > out.) (Both of these relocations show up in you log capture.) > > Anyways, using the Linaro tool chain, I've build the HelloWorld.efi app and > successfully run it, as well as building other driver code that (modulo hw > issues), runs as expected as well. > > > > > > // Joseph Thomas > // Principal Software Engineer > // Dot Hill Systems > // 2905 NorthWest Blvd., Suite 20 > // Plymouth, MN 55441 > // 763.226.2640 > > -----Original Message----- > From: Brainerd, Mike [mailto:mike.brain...@amd.com] > Sent: Tuesday, September 16, 2014 5:51 PM > To: edk2-devel@lists.sourceforge.net > Subject: Re: [edk2] EDK2 GenFw > > I downloaded EDK2 yesterday, 'git clone https://github.com/tianocore/edk2'. > I have also downloaded 'linaro-edk2' with the same issues. > And, it does appear to be relocation issues. > > Command: build -v > This is a truncated output: > > "echo" objcopy not needed for > /home/develop/sandbox/edk2/Build/MdeModule/DEBUG_GCC48/AARCH6 > 4/MdeModulePkg/Application/HelloWorld/HelloWorld/DEBUG/HelloWorld.d > ll > objcopy not needed for > /home/develop/sandbox/edk2/Build/MdeModule/DEBUG_GCC48/AARCH6 > 4/MdeModulePkg/Application/HelloWorld/HelloWorld/DEBUG/HelloWorld.d > ll > cp -f > /home/develop/sandbox/edk2/Build/MdeModule/DEBUG_GCC48/AARCH6 > 4/MdeModulePkg/Application/HelloWorld/HelloWorld/DEBUG/HelloWorld.d > ll > /home/develop/sandbox/edk2/Build/MdeModule/DEBUG_GCC48/AARCH6 > 4/MdeModulePkg/Application/HelloWorld/HelloWorld/DEBUG/HelloWorld.d > ebug > echo --strip-unneeded -R .eh_frame > /home/develop/sandbox/edk2/Build/MdeModule/DEBUG_GCC48/AARCH6 > 4/MdeModulePkg/Application/HelloWorld/HelloWorld/DEBUG/HelloWorld.d > ll > --strip-unneeded -R .eh_frame > /home/develop/sandbox/edk2/Build/MdeModule/DEBUG_GCC48/AARCH6 > 4/MdeModulePkg/Application/HelloWorld/HelloWorld/DEBUG/HelloWorld.d > ll > echo --add-gnu- > debuglink=/home/develop/sandbox/edk2/Build/MdeModule/DEBUG_GCC4 > 8/AARCH64/MdeModulePkg/Application/HelloWorld/HelloWorld/DEBUG\He > lloWorld.debug > /home/develop/sandbox/edk2/Build/MdeModule/DEBUG_GCC48/AARCH6 > 4/MdeModulePkg/Application/HelloWorld/HelloWorld/DEBUG/HelloWorld.d > ll > --add-gnu- > debuglink=/home/develop/sandbox/edk2/Build/MdeModule/DEBUG_GCC4 > 8/AARCH64/MdeModulePkg/Application/HelloWorld/HelloWorld/DEBUGHell > oWorld.debug > /home/develop/sandbox/edk2/Build/MdeModule/DEBUG_GCC48/AARCH6 > 4/MdeModulePkg/Application/HelloWorld/HelloWorld/DEBUG/HelloWorld.d > ll > cp -f > /home/develop/sandbox/edk2/Build/MdeModule/DEBUG_GCC48/AARCH6 > 4/MdeModulePkg/Application/HelloWorld/HelloWorld/DEBUG/HelloWorld.d > ebug > /home/develop/sandbox/edk2/Build/MdeModule/DEBUG_GCC48/AARCH6 > 4 > "GenFw" -e UEFI_APPLICATION -o > /home/develop/sandbox/edk2/Build/MdeModule/DEBUG_GCC48/AARCH6 > 4/MdeModulePkg/Application/HelloWorld/HelloWorld/DEBUG/HelloWorld.e > fi > /home/develop/sandbox/edk2/Build/MdeModule/DEBUG_GCC48/AARCH6 > 4/MdeModulePkg/Application/HelloWorld/HelloWorld/DEBUG/HelloWorld.d > ll > "echo" Symbol renaming not needed for > /home/develop/sandbox/edk2/Build/MdeModule/DEBUG_GCC48/AARCH6 > 4/MdeModulePkg/Bus/Pci/IncompatiblePciDeviceSupportDxe/Incompatible > PciDeviceSupportDxe/OUTPUT/./IncompatiblePciDeviceSupport.obj > Symbol renaming not needed for > /home/develop/sandbox/edk2/Build/MdeModule/DEBUG_GCC48/AARCH6 > 4/MdeModulePkg/Bus/Pci/IncompatiblePciDeviceSupportDxe/Incompatible > PciDeviceSupportDxe/OUTPUT/./IncompatiblePciDeviceSupport.obj > "gcc" -g -fshort-wchar -fno-strict-aliasing -Wall -Werror -Wno-array-bounds > - > ffunction-sections -fdata-sections -c -include AutoGen.h - > DSTRING_ARRAY_NAME=IncompatiblePciDeviceSupportStrings -g -Os - > fshort-wchar -fno-strict-aliasing -Wall -Werror -Wno-array-bounds -c -include > AutoGen.h -mcmodel=large -mlittle-endian -fno-short-enums -save-temps - > fverbose-asm -fsigned-char -ffunction-sections -fdata-sections -fomit- > frame-pointer -fno-builtin -Wno-address -O0 -o > /home/develop/sandbox/edk2/Build/MdeModule/DEBUG_GCC48/AARCH6 > 4/MdeModulePkg/Bus/Pci/IncompatiblePciDeviceSupportDxe/Incompatible > PciDeviceSupportDxe/OUTPUT/./AutoGen.obj - > I/home/develop/sandbox/edk2/MdeModulePkg/Bus/Pci/IncompatiblePciD > eviceSupportDxe - > I/home/develop/sandbox/edk2/Build/MdeModule/DEBUG_GCC48/AARCH6 > 4/MdeModulePkg/Bus/Pci/IncompatiblePciDeviceSupportDxe/Incompatible > PciDeviceSupportDxe/DEBUG -I/home/develop/sandbox/edk2/MdePkg - > I/home/develop/sandbox/edk2/MdePkg/Include - > I/home/develop/sandbox/edk2/MdePkg/Include/AArch64 > /home/develop/sandbox/edk2/Build/MdeModule/DEBUG_GCC48/AARCH6 > 4/MdeModulePkg/Bus/Pci/IncompatiblePciDeviceSupportDxe/Incompatible > PciDeviceSupportDxe/DEBUG/AutoGen.c > GenFw: ERROR 3000: Invalid > WriteSections64(): > /home/develop/sandbox/edk2/Build/MdeModule/DEBUG_GCC48/AARCH6 > 4/MdeModulePkg/Application/HelloWorld/HelloWorld/DEBUG/HelloWorld.d > ll unsupported ELF EM_AARCH64 relocation 0x105. > GenFw: ERROR 3000: Invalid > > /home/develop/sandbox/edk2/Build/MdeModule/DEBUG_GCC48/AARCH6 > 4/MdeModulePkg/Application/HelloWorld/HelloWorld/DEBUG/HelloWorld.d > ll bad symbol definition. > GenFw: ERROR 3000: Invalid > WriteSections64(): > /home/develop/sandbox/edk2/Build/MdeModule/DEBUG_GCC48/AARCH6 > 4/MdeModulePkg/Application/HelloWorld/HelloWorld/DEBUG/HelloWorld.d > ll unsupported ELF EM_AARCH64 relocation 0x0. > GenFw: ERROR 3000: Invalid > > /home/develop/sandbox/edk2/Build/MdeModule/DEBUG_GCC48/AARCH6 > 4/MdeModulePkg/Application/HelloWorld/HelloWorld/DEBUG/HelloWorld.d > ll bad symbol definition. > GenFw: ERROR 3000: Invalid > WriteSections64(): > /home/develop/sandbox/edk2/Build/MdeModule/DEBUG_GCC48/AARCH6 > 4/MdeModulePkg/Application/HelloWorld/HelloWorld/DEBUG/HelloWorld.d > ll unsupported ELF EM_AARCH64 relocation 0x0. > GenFw: ERROR 3000: Invalid > WriteSections64(): > /home/develop/sandbox/edk2/Build/MdeModule/DEBUG_GCC48/AARCH6 > 4/MdeModulePkg/Application/HelloWorld/HelloWorld/DEBUG/HelloWorld.d > ll unsupported ELF EM_AARCH64 relocation 0x105. > GenFw: ERROR 3000: Invalid > WriteSections64(): > /home/develop/sandbox/edk2/Build/MdeModule/DEBUG_GCC48/AARCH6 > 4/MdeModulePkg/Application/HelloWorld/HelloWorld/DEBUG/HelloWorld.d > ll unsupported > > This continues on for quite some time... > > Any help is apprieciated. > Regards, > Mike > > > -----Original Message----- > > From: Olivier Martin [mailto:olivier.mar...@arm.com] > > Sent: Tuesday, September 16, 2014 5:14 PM > > To: edk2-devel@lists.sourceforge.net > > Subject: Re: [edk2] EDK2 GenFw > > > > As Andrew said, it is the correct mailing-list. > > Could you send the error message? And tell which toolchain (and its > > version) you are using? > > Issue with GenFw are generally issues related to ELF relocations not > > handle by the tool. > > > > ________________________________________ > > From: Andrew Fish [af...@apple.com] > > Sent: 16 September 2014 23:05 > > To: edk2-devel@lists.sourceforge.net > > Subject: Re: [edk2] EDK2 GenFw > > > > On Sep 16, 2014, at 2:57 PM, Brainerd, Mike > > <mike.brain...@amd.com<mailto:mike.brain...@amd.com>> wrote: > > > > I have ported EDK2 to build on aarch64 platform. > > After fixing Makefile errors and some 'set but not used errors' I got > > a HelloWorld application to a .dll. > > When 'BaseTools(GenFw)' go to build .efi file it has problems with > > conversion to ARM v8. > > I have looked and cannot find where to post a bug report on the GenFw > tool. > > Can anyone direct me to the correct list? > > > > Why don't you start with this list. > > > > Thanks, > > > > Andrew Fish > > > > Regards, > > > > MICHAEL BRAINERD <image002.png> > > Contractor | AMD Server > > 7171 Southwest Parkway, Austin, TX 78735 USA O +(1) 512-602-3491 > > <image003.png> facebook<https://www.facebook.com/AMD> | > > amd.com<http://www.amd.com/> > > > > ---------------------------------------------------------------------- > > -------- > > Want excitement? > > Manually upgrade your production database. > > When you want reliability, choose Perforce. > > Perforce version control. Predictably reliable. > > > http://pubads.g.doubleclick.net/gampad/clk?id=157508191&iu=/4140/ostg. > > cl ktrk_______________________________________________ > > edk2-devel mailing list > > edk2-devel@lists.sourceforge.net<mailto:edk2- > > de...@lists.sourceforge.net> > > https://lists.sourceforge.net/lists/listinfo/edk2-devel > > > > > > -- IMPORTANT NOTICE: The contents of this email and any attachments > > are confidential and may also be privileged. If you are not the > > intended recipient, please notify the sender immediately and do not > > disclose the contents to any other person, use it for any purpose, or > > store or copy the information in any medium. Thank you. > > > > ARM Limited, Registered office 110 Fulbourn Road, Cambridge CB1 9NJ, > > Registered in England & Wales, Company No: 2557590 ARM Holdings plc, > > Registered office 110 Fulbourn Road, Cambridge CB1 9NJ, Registered in > > England & Wales, Company No: 2548782 > > > > > > ---------------------------------------------------------------------- > > -------- > > Want excitement? > > Manually upgrade your production database. > > When you want reliability, choose Perforce. > > Perforce version control. Predictably reliable. > > > http://pubads.g.doubleclick.net/gampad/clk?id=157508191&iu=/4140/ostg. > > cl > > ktrk > > _______________________________________________ > > edk2-devel mailing list > > edk2-devel@lists.sourceforge.net > > https://lists.sourceforge.net/lists/listinfo/edk2-devel > > ------------------------------------------------------------------------------ > Want excitement? > Manually upgrade your production database. > When you want reliability, choose Perforce. > Perforce version control. Predictably reliable. > http://pubads.g.doubleclick.net/gampad/clk?id=157508191&iu=/4140/ostg.cl > ktrk > _______________________________________________ > edk2-devel mailing list > edk2-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/edk2-devel > > ------------------------------------------------------------------------------ > Want excitement? > Manually upgrade your production database. > When you want reliability, choose Perforce Perforce version control. > Predictably reliable. > http://pubads.g.doubleclick.net/gampad/clk?id=157508191&iu=/4140/ostg.cl > ktrk > _______________________________________________ > edk2-devel mailing list > edk2-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/edk2-devel ------------------------------------------------------------------------------ Want excitement? Manually upgrade your production database. When you want reliability, choose Perforce Perforce version control. Predictably reliable. http://pubads.g.doubleclick.net/gampad/clk?id=157508191&iu=/4140/ostg.clktrk _______________________________________________ edk2-devel mailing list edk2-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/edk2-devel