Ard,
We built the binary after adding -fno-exceptions and the binary has been build successfully.We are using GCC4.9 compiler and toolchain.
We then built our application with your patch and by adding following compiler flags: -fno-rtti,-fno-threadsafe-statics -fuse-cxa-atexit and our binary also has been built successfully.
But when we executed our binary,we ended up with below crash/error.Basically our application is command based and whatever command we execute we end up with the following crash/print.
ASSERT /home/edk2_new1/MyWorkSpace/MdePkg/Library/BaseLib/String.c(167): ((UINTN) String & 0x00000001) == 0 ASSERT /home/edk2_new1/MyWorkSpace/MdePkg/Library/BaseLib/String.c(167): ((UINTN) String & 0x00000001) == 0 ASSERT /home/edk2_new1/MyWorkSpace/MdePkg/Library/BaseLib/String.c(167): ((UINTN) String & 0x00000001) == 0 ASSERT /home/edk2_new1/MyWorkSpace/MdePkg/Library/BaseLib/String.c(167): ((UINTN) String & 0x00000001) == 0
ASSERT_EFI_ERROR (Status = Invalid Parameter) ASSERT /home/edk2_new1/MyWorkSpace/MdePkg/Library/UefiMemoryAllocationLib/MemoryAllocationLib.c(819): !EFI_ERROR (Status) ASSERT /home/edk2_new1/MyWorkSpace/MdePkg/Library/BaseLib/String.c(167): ((UINTN) String & 0x00000001) == 0
May I know why we are seeing the above errors?
Thanks Ravi
On Fri, Feb 5, 2016 at 9:35 PM, Ard Biesheuvel ard.biesheuvel@linaro.org wrote:
On 5 February 2016 at 17:00, Ravikanth MVR ravikanth.mvr@broadcom.com wrote:
I am using gcc compiler only not g++.
Ok, so you are using gcc to compile the .cpp files. Got it.
On Fri, Feb 5, 2016 at 9:20 PM, Ard Biesheuvel <
ard.biesheuvel@linaro.org>
wrote:
On 5 February 2016 at 16:49, Ravikanth MVR ravikanth.mvr@broadcom.com wrote:
Ard, OK.I am not passing -fno-exceptions.Would change the same and let you know.
Which command line of the C++ compiler? I din't get it.
In your output, there are lines for gcc, ld, ar etc, but not for g++
Thanks Ravi
On Fri, Feb 5, 2016 at 9:16 PM, Ard Biesheuvel ard.biesheuvel@linaro.org wrote:
On 5 February 2016 at 16:40, Ravikanth MVR <
ravikanth.mvr@broadcom.com>
wrote:
Attached.
You have an .eh_frame section in the binary. Are you passing -fno-exceptions like I told you to?
Btw you never pasted the command line of the C++ compiler, could you please share that as well?
On Fri, Feb 5, 2016 at 9:03 PM, Ard Biesheuvel ard.biesheuvel@linaro.org wrote: > > Can you send me the output of 'readelf -a HelloWorld.dll' > > > On 5 February 2016 at 16:31, Ravikanth MVR > ravikanth.mvr@broadcom.com > wrote: > > Ard, > > > > Tried out again by downloading the edk2-master but the result
was
> > same.Please find below the snapshot.BTW,why this error-AARCH64 > > relative > > relocations require identical ELF and PE/COFF section offsets > > -comes > > up? > > > > "gcc" -g -fshort-wchar -fno-strict-aliasing -Wall -Werror > > -Wno-array-bounds -ffunction-sections -fdata-sections -c
-include
> > AutoGen.h > > -fno-common -DSTRING_ARRAY_NAME=HelloWorldStrings -mcmodel=large > > -g > > -Os > > -fshort-wchar -fno-stack-protector -fno-strict-aliasing -Wall > > -Werror > > -Wno-array-bounds -c -include AutoGen.h -fno-common > > -mlittle-endian > > -fno-short-enums -save-temps -fverbose-asm -fsigned-char > > -ffunction-sections > > -fdata-sections -fomit-frame-pointer -fno-builtin -Wno-address > > -fno-asynchronous-unwind-tables -Wno-unused-but-set-variable -o > > > > > > > >
/home/edk2_new1/MyWorkSpace/Build/MdeModule/RELEASE_GCC48/AARCH64/MdeModulePkg/Application/HelloWorld/HelloWorld/OUTPUT/./AutoGen.obj
> >
-I/home/edk2_new1/MyWorkSpace/MdeModulePkg/Application/HelloWorld
> > > > > > > >
-I/home/edk2_new1/MyWorkSpace/Build/MdeModule/RELEASE_GCC48/AARCH64/MdeModulePkg/Application/HelloWorld/HelloWorld/DEBUG
> > -I/home/edk2_new1/MyWorkSpace/MdePkg > > -I/home/edk2_new1/MyWorkSpace/MdePkg/Include > > -I/home/edk2_new1/MyWorkSpace/MdePkg/Include/AArch64 > > -I/home/edk2_new1/MyWorkSpace/MdeModulePkg > > -I/home/edk2_new1/MyWorkSpace/MdeModulePkg/Include > > > > > > > >
/home/edk2_new1/MyWorkSpace/Build/MdeModule/RELEASE_GCC48/AARCH64/MdeModulePkg/Application/HelloWorld/HelloWorld/DEBUG/AutoGen.c
> > "ar" -cr > > > > > > > >
/home/edk2_new1/MyWorkSpace/Build/MdeModule/RELEASE_GCC48/AARCH64/MdeModulePkg/Application/HelloWorld/HelloWorld/OUTPUT/HelloWorld.lib
> > > > > > > >
@/home/edk2_new1/MyWorkSpace/Build/MdeModule/RELEASE_GCC48/AARCH64/MdeModulePkg/Application/HelloWorld/HelloWorld/OUTPUT/object_files.lst
> > "ld" -o > > > > > > > >
/home/edk2_new1/MyWorkSpace/Build/MdeModule/RELEASE_GCC48/AARCH64/MdeModulePkg/Application/HelloWorld/HelloWorld/DEBUG/HelloWorld.dll
> > --emit-relocs -nostdlib --gc-sections -u _ModuleEntryPoint -e > > _ModuleEntryPoint -Map > > > > > > > >
/home/edk2_new1/MyWorkSpace/Build/MdeModule/RELEASE_GCC48/AARCH64/MdeModulePkg/Application/HelloWorld/HelloWorld/DEBUG/HelloWorld.map
> > -z common-page-size=0x20 --start-group > > > > > > > >
@/home/edk2_new1/MyWorkSpace/Build/MdeModule/RELEASE_GCC48/AARCH64/MdeModulePkg/Application/HelloWorld/HelloWorld/OUTPUT/static_library_files.lst
> > --end-group > >
--script=/home/edk2_new1/MyWorkSpace/BaseTools/Scripts/GccBase.lds
> > --defsym=PECOFF_HEADER_SIZE=0x228 > > "echo" objcopy not needed for > > > > > > > >
/home/edk2_new1/MyWorkSpace/Build/MdeModule/RELEASE_GCC48/AARCH64/MdeModulePkg/Application/HelloWorld/HelloWorld/DEBUG/HelloWorld.dll
> > objcopy not needed for > > > > > > > >
/home/edk2_new1/MyWorkSpace/Build/MdeModule/RELEASE_GCC48/AARCH64/MdeModulePkg/Application/HelloWorld/HelloWorld/DEBUG/HelloWorld.dll
> > cp -f > > > > > > > >
/home/edk2_new1/MyWorkSpace/Build/MdeModule/RELEASE_GCC48/AARCH64/MdeModulePkg/Application/HelloWorld/HelloWorld/DEBUG/HelloWorld.dll
> > > > > > > >
/home/edk2_new1/MyWorkSpace/Build/MdeModule/RELEASE_GCC48/AARCH64/MdeModulePkg/Application/HelloWorld/HelloWorld/DEBUG/HelloWorld.debug
> > echo --strip-unneeded -R .eh_frame > > > > > > > >
/home/edk2_new1/MyWorkSpace/Build/MdeModule/RELEASE_GCC48/AARCH64/MdeModulePkg/Application/HelloWorld/HelloWorld/DEBUG/HelloWorld.dll
> > --strip-unneeded -R .eh_frame > > > > > > > >
/home/edk2_new1/MyWorkSpace/Build/MdeModule/RELEASE_GCC48/AARCH64/MdeModulePkg/Application/HelloWorld/HelloWorld/DEBUG/HelloWorld.dll
> > echo > > > > > > > >
/home/edk2_new1/MyWorkSpace/Build/MdeModule/RELEASE_GCC48/AARCH64/MdeModulePkg/Application/HelloWorld/HelloWorld/DEBUG/HelloWorld.dll
> > > > > > > >
/home/edk2_new1/MyWorkSpace/Build/MdeModule/RELEASE_GCC48/AARCH64/MdeModulePkg/Application/HelloWorld/HelloWorld/DEBUG/HelloWorld.dll
> > cp -f > > > > > > > >
/home/edk2_new1/MyWorkSpace/Build/MdeModule/RELEASE_GCC48/AARCH64/MdeModulePkg/Application/HelloWorld/HelloWorld/DEBUG/HelloWorld.debug
> >
/home/edk2_new1/MyWorkSpace/Build/MdeModule/RELEASE_GCC48/AARCH64
> > "GenFw" -e UEFI_APPLICATION -o > > > > > > > >
/home/edk2_new1/MyWorkSpace/Build/MdeModule/RELEASE_GCC48/AARCH64/MdeModulePkg/Application/HelloWorld/HelloWorld/DEBUG/HelloWorld.efi
> > > > > > > >
/home/edk2_new1/MyWorkSpace/Build/MdeModule/RELEASE_GCC48/AARCH64/MdeModulePkg/Application/HelloWorld/HelloWorld/DEBUG/HelloWorld.dll
> > GenFw: ERROR 3000: Invalid > > WriteSections64(): > > > > > > > >
/home/edk2_new1/MyWorkSpace/Build/MdeModule/RELEASE_GCC48/AARCH64/MdeModulePkg/Application/HelloWorld/HelloWorld/DEBUG/HelloWorld.dll
> > AARCH64 relative relocations require identical ELF and PE/COFF > > section > > offsets > > make: *** > > > > > > > >
[/home/edk2_new1/MyWorkSpace/Build/MdeModule/RELEASE_GCC48/AARCH64/MdeModulePkg/Application/HelloWorld/HelloWorld/DEBUG/HelloWorld.efi]
> > Error 2 > > > > > > build.py... > > : error 7000: Failed to execute command > > make tbuild > > > > > > > >
[/home/edk2_new1/MyWorkSpace/Build/MdeModule/RELEASE_GCC48/AARCH64/MdeModulePkg/Application/HelloWorld/HelloWorld]
> > > > > > build.py... > > : error F002: Failed to build module > > > > > > > > > >
/home/edk2_new1/MyWorkSpace/MdeModulePkg/Application/HelloWorld/HelloWorld.inf
> > [AARCH64, GCC48, RELEASE] > > > > - Failed - > > Build end time: 07:27:21, Feb.05 2016 > > Build total time: 00:01:04 > > > > Thanks > > Ravi > > > > On Fri, Feb 5, 2016 at 8:06 PM, Ravikanth MVR > > ravikanth.mvr@broadcom.com > > wrote: > >> > >> Yes.I downloaded the package from > >> https://github.com/tianocore/edk2.If > >> you > >> want me to again download the package and try,I would. > >> > >> On Fri, Feb 5, 2016 at 8:01 PM, Ard Biesheuvel > >> ard.biesheuvel@linaro.org > >> wrote: > >>> > >>> On 5 February 2016 at 15:30, Ravikanth MVR > >>> ravikanth.mvr@broadcom.com > >>> wrote: > >>> > Ard, > >>> > We tried out the patch and we are not seeing the relocation > >>> > errors > >>> > anymore.But we are seeing a new error from > >>> > WriteSection64()-"AARCH64 > >>> > relative relocations require identical ELF and PE/COFF
section
> >>> > offsets".Below is the complete snapshot of the error. > >>> > > >>> > >>> Are you using the latest EDK2? > >>> > >>> > >>> > cp -f > >>> > > >>> > > >>> > > >>> > > >>> >
/home/edk2_new/MyWorkSpace/Build/MdeModule/RELEASE_GCC48/AARCH64/MdeModulePkg/Application/HelloWorld/HelloWorld/DEBUG/HelloWorld.dll
> >>> > > >>> > > >>> > > >>> > > >>> >
/home/edk2_new/MyWorkSpace/Build/MdeModule/RELEASE_GCC48/AARCH64/MdeModulePkg/Application/HelloWorld/HelloWorld/DEBUG/HelloWorld.debug
> >>> > echo --strip-unneeded -R .eh_frame > >>> > > >>> > > >>> > > >>> > > >>> >
/home/edk2_new/MyWorkSpace/Build/MdeModule/RELEASE_GCC48/AARCH64/MdeModulePkg/Application/HelloWorld/HelloWorld/DEBUG/HelloWorld.dll
> >>> > --strip-unneeded -R .eh_frame > >>> > > >>> > > >>> > > >>> > > >>> >
/home/edk2_new/MyWorkSpace/Build/MdeModule/RELEASE_GCC48/AARCH64/MdeModulePkg/Application/HelloWorld/HelloWorld/DEBUG/HelloWorld.dll
> >>> > echo > >>> > > >>> > > >>> > > >>> > > >>> >
/home/edk2_new/MyWorkSpace/Build/MdeModule/RELEASE_GCC48/AARCH64/MdeModulePkg/Application/HelloWorld/HelloWorld/DEBUG/HelloWorld.dll
> >>> > > >>> > > >>> > > >>> > > >>> >
/home/edk2_new/MyWorkSpace/Build/MdeModule/RELEASE_GCC48/AARCH64/MdeModulePkg/Application/HelloWorld/HelloWorld/DEBUG/HelloWorld.dll
> >>> > cp -f > >>> > > >>> > > >>> > > >>> > > >>> >
/home/edk2_new/MyWorkSpace/Build/MdeModule/RELEASE_GCC48/AARCH64/MdeModulePkg/Application/HelloWorld/HelloWorld/DEBUG/HelloWorld.debug
> >>> > > >>> >
/home/edk2_new/MyWorkSpace/Build/MdeModule/RELEASE_GCC48/AARCH64
> >>> > "GenFw" -e UEFI_APPLICATION -o > >>> > > >>> > > >>> > > >>> > > >>> >
/home/edk2_new/MyWorkSpace/Build/MdeModule/RELEASE_GCC48/AARCH64/MdeModulePkg/Application/HelloWorld/HelloWorld/DEBUG/HelloWorld.efi
> >>> > > >>> > > >>> > > >>> > > >>> >
/home/edk2_new/MyWorkSpace/Build/MdeModule/RELEASE_GCC48/AARCH64/MdeModulePkg/Application/HelloWorld/HelloWorld/DEBUG/HelloWorld.dll
> >>> > GenFw: ERROR 3000: Invalid > >>> > WriteSections64(): > >>> > > >>> > > >>> > > >>> > > >>> >
/home/edk2_new/MyWorkSpace/Build/MdeModule/RELEASE_GCC48/AARCH64/MdeModulePkg/Application/HelloWorld/HelloWorld/DEBUG/HelloWorld.dll
> >>> > AARCH64 relative relocations require identical ELF and
PE/COFF
> >>> > section > >>> > offsets > >>> > make: *** > >>> > > >>> > > >>> > > >>> > > >>> >
[/home/edk2_new/MyWorkSpace/Build/MdeModule/RELEASE_GCC48/AARCH64/MdeModulePkg/Application/HelloWorld/HelloWorld/DEBUG/HelloWorld.efi]
> >>> > Error 2 > >>> > > >>> > Thanks > >>> > Ravi > >>> > > >>> > On Fri, Feb 5, 2016 at 6:06 PM, Ravikanth MVR > >>> > ravikanth.mvr@broadcom.com > >>> > wrote: > >>> >> > >>> >> Thanks Ard!Would try out and let you know the results. > >>> >> > >>> >> On Fri, Feb 5, 2016 at 2:30 PM, Ard Biesheuvel > >>> >> ard.biesheuvel@linaro.org > >>> >> wrote: > >>> >>> > >>> >>> On 4 February 2016 at 20:41, Ravikanth MVR > >>> >>> ravikanth.mvr@broadcom.com > >>> >>> wrote: > >>> >>> > Ard, > >>> >>> > > >>> >>> > We built the EDK2 with target set to AARCH64 and GCC48
as
> >>> >>> > the > >>> >>> > toolchain.Still we are same relocation errors as > >>> >>> > before.Below > >>> >>> > is > >>> >>> > the > >>> >>> > complete snapshot of the error and map file as well. > >>> >>> > > >>> >>> > >>> >>> Could you try the following patch (don't forget to rebuild > >>> >>> BaseTools/) > >>> >>> > >>> >>> diff --git a/BaseTools/Source/C/GenFw/Elf64Convert.c > >>> >>> b/BaseTools/Source/C/GenFw/Elf64Convert.c > >>> >>> index 90d80a22daf2..0a1329f0f668 100644 > >>> >>> --- a/BaseTools/Source/C/GenFw/Elf64Convert.c > >>> >>> +++ b/BaseTools/Source/C/GenFw/Elf64Convert.c > >>> >>> @@ -767,6 +767,9 @@ WriteSections64 ( > >>> >>> case R_AARCH64_LD_PREL_LO19: > >>> >>> case R_AARCH64_CALL26: > >>> >>> case R_AARCH64_JUMP26: > >>> >>> + case R_AARCH64_PREL64: > >>> >>> + case R_AARCH64_PREL32: > >>> >>> + case R_AARCH64_PREL16: > >>> >>> // > >>> >>> // The GCC toolchains (i.e., binutils) may > >>> >>> corrupt > >>> >>> section > >>> >>> relative > >>> >>> // relocations when emitting relocation > >>> >>> sections > >>> >>> into > >>> >>> fully > >>> >>> linked > >>> >>> @@ -869,6 +872,11 @@ WriteRelocations64 ( > >>> >>> case R_AARCH64_JUMP26: > >>> >>> break; > >>> >>> > >>> >>> + case R_AARCH64_PREL64: > >>> >>> + case R_AARCH64_PREL32: > >>> >>> + case R_AARCH64_PREL16: > >>> >>> + break; > >>> >>> + > >>> >>> case R_AARCH64_ADR_PREL_PG_HI21: > >>> >>> case R_AARCH64_ADD_ABS_LO12_NC: > >>> >>> case R_AARCH64_LDST8_ABS_LO12_NC: > >>> >>> > >>> >>> -- > >>> >>> Ard. > >>> >>> > >>> >>> > >>> >>> > "gcc" -g -fshort-wchar -fno-strict-aliasing -Wall > >>> >>> > -Werror > >>> >>> > -Wno-array-bounds -ffunction-sections -fdata-sections -c > >>> >>> > -include > >>> >>> > AutoGen.h > >>> >>> > -DSTRING_ARRAY_NAME=HelloWorldStrings -g -Os
-fshort-wchar
> >>> >>> > -fno-strict-aliasing -fno-stack-protector -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 > >>> >>> > -Wno-unused-but-set-variable > >>> >>> > -o > >>> >>> > > >>> >>> > > >>> >>> > > >>> >>> > > >>> >>> > > >>> >>> >
/home/ekd2_new/MyWorkSpace/Build/MdeModule/RELEASE_GCC48/AARCH64/MdeModulePkg/Application/HelloWorld/HelloWorld/OUTPUT/./AutoGen.obj
> >>> >>> > > >>> >>> > > >>> >>> >
-I/home/ekd2_new/MyWorkSpace/MdeModulePkg/Application/HelloWorld
> >>> >>> > > >>> >>> > > >>> >>> > > >>> >>> > > >>> >>> > > >>> >>> >
-I/home/ekd2_new/MyWorkSpace/Build/MdeModule/RELEASE_GCC48/AARCH64/MdeModulePkg/Application/HelloWorld/HelloWorld/DEBUG
> >>> >>> > -I/home/ekd2_new/MyWorkSpace/MdePkg > >>> >>> > -I/home/ekd2_new/MyWorkSpace/MdePkg/Include > >>> >>> > -I/home/ekd2_new/MyWorkSpace/MdePkg/Include/AArch64 > >>> >>> > -I/home/ekd2_new/MyWorkSpace/MdeModulePkg > >>> >>> > -I/home/ekd2_new/MyWorkSpace/MdeModulePkg/Include > >>> >>> > > >>> >>> > > >>> >>> > > >>> >>> > > >>> >>> > > >>> >>> >
/home/ekd2_new/MyWorkSpace/Build/MdeModule/RELEASE_GCC48/AARCH64/MdeModulePkg/Application/HelloWorld/HelloWorld/DEBUG/AutoGen.c
> >>> >>> > "ar" -cr > >>> >>> > > >>> >>> > > >>> >>> > > >>> >>> > > >>> >>> > > >>> >>> >
/home/ekd2_new/MyWorkSpace/Build/MdeModule/RELEASE_GCC48/AARCH64/MdeModulePkg/Application/HelloWorld/HelloWorld/OUTPUT/HelloWorld.lib
> >>> >>> > > >>> >>> > > >>> >>> > > >>> >>> > > >>> >>> > > >>> >>> >
@/home/ekd2_new/MyWorkSpace/Build/MdeModule/RELEASE_GCC48/AARCH64/MdeModulePkg/Application/HelloWorld/HelloWorld/OUTPUT/object_files.lst
> >>> >>> > "ld" -o > >>> >>> > > >>> >>> > > >>> >>> > > >>> >>> > > >>> >>> > > >>> >>> >
/home/ekd2_new/MyWorkSpace/Build/MdeModule/RELEASE_GCC48/AARCH64/MdeModulePkg/Application/HelloWorld/HelloWorld/DEBUG/HelloWorld.dll
> >>> >>> > -Ttext=0x0 --emit-relocs -nostdlib --gc-sections -u > >>> >>> > _ModuleEntryPoint > >>> >>> > -e > >>> >>> > _ModuleEntryPoint -Map > >>> >>> > > >>> >>> > > >>> >>> > > >>> >>> > > >>> >>> > > >>> >>> >
/home/ekd2_new/MyWorkSpace/Build/MdeModule/RELEASE_GCC48/AARCH64/MdeModulePkg/Application/HelloWorld/HelloWorld/DEBUG/HelloWorld.map
> >>> >>> > --start-group > >>> >>> > > >>> >>> > > >>> >>> > > >>> >>> > > >>> >>> > > >>> >>> >
@/home/ekd2_new/MyWorkSpace/Build/MdeModule/RELEASE_GCC48/AARCH64/MdeModulePkg/Application/HelloWorld/HelloWorld/OUTPUT/static_library_files.lst
> >>> >>> > --end-group > >>> >>> > "echo" objcopy not needed for > >>> >>> > > >>> >>> > > >>> >>> > > >>> >>> > > >>> >>> > > >>> >>> >
/home/ekd2_new/MyWorkSpace/Build/MdeModule/RELEASE_GCC48/AARCH64/MdeModulePkg/Application/HelloWorld/HelloWorld/DEBUG/HelloWorld.dll
> >>> >>> > objcopy not needed for > >>> >>> > > >>> >>> > > >>> >>> > > >>> >>> > > >>> >>> > > >>> >>> >
/home/ekd2_new/MyWorkSpace/Build/MdeModule/RELEASE_GCC48/AARCH64/MdeModulePkg/Application/HelloWorld/HelloWorld/DEBUG/HelloWorld.dll
> >>> >>> > cp -f > >>> >>> > > >>> >>> > > >>> >>> > > >>> >>> > > >>> >>> > > >>> >>> >
/home/ekd2_new/MyWorkSpace/Build/MdeModule/RELEASE_GCC48/AARCH64/MdeModulePkg/Application/HelloWorld/HelloWorld/DEBUG/HelloWorld.dll
> >>> >>> > > >>> >>> > > >>> >>> > > >>> >>> > > >>> >>> > > >>> >>> >
/home/ekd2_new/MyWorkSpace/Build/MdeModule/RELEASE_GCC48/AARCH64/MdeModulePkg/Application/HelloWorld/HelloWorld/DEBUG/HelloWorld.debug
> >>> >>> > echo --strip-unneeded -R .eh_frame > >>> >>> > > >>> >>> > > >>> >>> > > >>> >>> > > >>> >>> > > >>> >>> >
/home/ekd2_new/MyWorkSpace/Build/MdeModule/RELEASE_GCC48/AARCH64/MdeModulePkg/Application/HelloWorld/HelloWorld/DEBUG/HelloWorld.dll
> >>> >>> > --strip-unneeded -R .eh_frame > >>> >>> > > >>> >>> > > >>> >>> > > >>> >>> > > >>> >>> > > >>> >>> >
/home/ekd2_new/MyWorkSpace/Build/MdeModule/RELEASE_GCC48/AARCH64/MdeModulePkg/Application/HelloWorld/HelloWorld/DEBUG/HelloWorld.dll
> >>> >>> > echo > >>> >>> > > >>> >>> > > >>> >>> > > >>> >>> > > >>> >>> > > >>> >>> >
/home/ekd2_new/MyWorkSpace/Build/MdeModule/RELEASE_GCC48/AARCH64/MdeModulePkg/Application/HelloWorld/HelloWorld/DEBUG/HelloWorld.dll
> >>> >>> > > >>> >>> > > >>> >>> > > >>> >>> > > >>> >>> > > >>> >>> >
/home/ekd2_new/MyWorkSpace/Build/MdeModule/RELEASE_GCC48/AARCH64/MdeModulePkg/Application/HelloWorld/HelloWorld/DEBUG/HelloWorld.dll
> >>> >>> > cp -f > >>> >>> > > >>> >>> > > >>> >>> > > >>> >>> > > >>> >>> > > >>> >>> >
/home/ekd2_new/MyWorkSpace/Build/MdeModule/RELEASE_GCC48/AARCH64/MdeModulePkg/Application/HelloWorld/HelloWorld/DEBUG/HelloWorld.debug
> >>> >>> > > >>> >>> > > >>> >>> >
/home/ekd2_new/MyWorkSpace/Build/MdeModule/RELEASE_GCC48/AARCH64
> >>> >>> > "GenFw" -e UEFI_APPLICATION -o > >>> >>> > > >>> >>> > > >>> >>> > > >>> >>> > > >>> >>> > > >>> >>> >
/home/ekd2_new/MyWorkSpace/Build/MdeModule/RELEASE_GCC48/AARCH64/MdeModulePkg/Application/HelloWorld/HelloWorld/DEBUG/HelloWorld.efi
> >>> >>> > > >>> >>> > > >>> >>> > > >>> >>> > > >>> >>> > > >>> >>> >
/home/ekd2_new/MyWorkSpace/Build/MdeModule/RELEASE_GCC48/AARCH64/MdeModulePkg/Application/HelloWorld/HelloWorld/DEBUG/HelloWorld.dll
> >>> >>> > GenFw: ERROR 3000: Invalid > >>> >>> > WriteSections64(): > >>> >>> > > >>> >>> > > >>> >>> > > >>> >>> > > >>> >>> > > >>> >>> >
/home/ekd2_new/MyWorkSpace/Build/MdeModule/RELEASE_GCC48/AARCH64/MdeModulePkg/Application/HelloWorld/HelloWorld/DEBUG/HelloWorld.dll
> >>> >>> > unsupported ELF EM_AARCH64 relocation 0x105. > >>> >>> > GenFw: ERROR 3000: Invalid > >>> >>> > make: *** > >>> >>> > > >>> >>> > > >>> >>> > > >>> >>> > > >>> >>> > > >>> >>> >
[/home/ekd2_new/MyWorkSpace/Build/MdeModule/RELEASE_GCC48/AARCH64/MdeModulePkg/Application/HelloWorld/HelloWorld/DEBUG/HelloWorld.efi]
> >>> >>> > Error 2 > >>> >>> > WriteRelocations64(): > >>> >>> > > >>> >>> > > >>> >>> > > >>> >>> > > >>> >>> > > >>> >>> >
/home/ekd2_new/MyWorkSpace/Build/MdeModule/RELEASE_GCC48/AARCH64/MdeModulePkg/Application/HelloWorld/HelloWorld/DEBUG/HelloWorld.dll
> >>> >>> > unsupported ELF EM_AARCH64 relocation 0x105. > >>> >>> > > >>> >>> > > >>> >>> > build.py... > >>> >>> > : error 7000: Failed to execute command > >>> >>> > make all > >>> >>> > > >>> >>> > > >>> >>> > > >>> >>> > > >>> >>> > > >>> >>> >
[/home/ekd2_new/MyWorkSpace/Build/MdeModule/RELEASE_GCC48/AARCH64/MdeModulePkg/Application/HelloWorld/HelloWorld]
> >>> >>> > > >>> >>> > - Failed - > >>> >>> > Build end time: 11:29:54, Feb.04 2016 > >>> >>> > Build total time: 00:00:09 > >>> >>> > > >>> >>> > Thanks > >>> >>> > Ravi > >>> >>> > > >>> >>> > On Wed, Feb 3, 2016 at 12:54 AM, Ravikanth MVR > >>> >>> > ravikanth.mvr@broadcom.com > >>> >>> > wrote: > >>> >>> >> > >>> >>> >> Ard, > >>> >>> >> > >>> >>> >> I tried building the EDK2 with the below configuration > >>> >>> >> and > >>> >>> >> ended > >>> >>> >> up > >>> >>> >> with > >>> >>> >> the same result as before.Would try out the scenario
with
> >>> >>> >> GCC4.9/GCC4.8 > >>> >>> >> compiler+Toolchain:GCC49/GCC48 and target set to
AARCH64.
> >>> >>> >> Would > >>> >>> >> let > >>> >>> >> you know > >>> >>> >> the results. > >>> >>> >> > >>> >>> >> Thanks. > >>> >>> >> > >>> >>> >> On Tue, Feb 2, 2016 at 10:18 PM, Ravikanth MVR > >>> >>> >> ravikanth.mvr@broadcom.com wrote: > >>> >>> >>> > >>> >>> >>> Ard, > >>> >>> >>> Below is my configuration > >>> >>> >>> > >>> >>> >>> ACTIVE_PLATFORM = MdeModulePkg/MdeModulePkg.dsc > >>> >>> >>> TARGET = RELEASE > >>> >>> >>> TARGET_ARCH = AARCH64 > >>> >>> >>> TOOL_CHAIN_CONF = Conf/tools_def.txt > >>> >>> >>> TOOL_CHAIN_TAG = GCC49 > >>> >>> >>> > >>> >>> >>> And GCC5.0.0 compiler is being used to compile the
code
> >>> >>> >>> or > >>> >>> >>> you > >>> >>> >>> want > >>> >>> >>> me to > >>> >>> >>> use the GCC4.9 compiler to compile as well? > >>> >>> >>> > >>> >>> >>> Thanks. > >>> >>> >>> > >>> >>> >>> On Tue, Feb 2, 2016 at 8:56 PM, Ravikanth MVR > >>> >>> >>> ravikanth.mvr@broadcom.com wrote: > >>> >>> >>>> > >>> >>> >>>> OK got it!Would build AARCH64 with GCC48/GCC49
.Please
> >>> >>> >>>> correct > >>> >>> >>>> me if > >>> >>> >>>> I > >>> >>> >>>> am wrong. > >>> >>> >>>> > >>> >>> >>>> Thanks. > >>> >>> >>>> On Tue, Feb 2, 2016 at 8:54 PM, Ard Biesheuvel > >>> >>> >>>> ard.biesheuvel@linaro.org wrote: > >>> >>> >>>>> > >>> >>> >>>>> On 2 February 2016 at 16:23, Ravikanth MVR > >>> >>> >>>>> ravikanth.mvr@broadcom.com > >>> >>> >>>>> wrote: > >>> >>> >>>>> > Ard, > >>> >>> >>>>> > > >>> >>> >>>>> > I have been using GCC5.0.0(Experimental version). > >>> >>> >>>>> > > >>> >>> >>>>> > gcc (Cavium Inc. Version 1.0 build 297) 5.0.0 > >>> >>> >>>>> > 20141220 > >>> >>> >>>>> > (experimental) > >>> >>> >>>>> > > >>> >>> >>>>> > I would try with GCC49/48 and let you know. > >>> >>> >>>>> > > >>> >>> >>>>> > >>> >>> >>>>> I don't mean the actual compiler, I mean the
toolchain
> >>> >>> >>>>> definition > >>> >>> >>>>> in > >>> >>> >>>>> EDK2. You are using ARMGCC or ARMLINUXGCC, neither
of
> >>> >>> >>>>> which > >>> >>> >>>>> are > >>> >>> >>>>> suitable for building AArch64. You should use GCC48
or
> >>> >>> >>>>> GCC49 > >>> >>> >>>>> instead > >>> >>> >>>>> > >>> >>> >>>>> -- > >>> >>> >>>>> Ard. > >>> >>> >>>>> > >>> >>> >>>>> > On Tue, Feb 2, 2016 at 4:40 PM, Ard Biesheuvel > >>> >>> >>>>> > ard.biesheuvel@linaro.org > >>> >>> >>>>> > wrote: > >>> >>> >>>>> >> > >>> >>> >>>>> >> It looks like you are using the wrong compiler.
You
> >>> >>> >>>>> >> should > >>> >>> >>>>> >> use > >>> >>> >>>>> >> GCC48 > >>> >>> >>>>> >> or GCC49 instead. > >>> >>> >>>>> >> > >>> >>> >>>>> >> > >>> >>> >>>>> >> On 2 February 2016 at 12:08, Ravikanth MVR > >>> >>> >>>>> >> ravikanth.mvr@broadcom.com > >>> >>> >>>>> >> wrote: > >>> >>> >>>>> >> > Thanks Ard!I followed the steps and I could
find
> >>> >>> >>>>> >> > out > >>> >>> >>>>> >> > that > >>> >>> >>>>> >> > NO > >>> >>> >>>>> >> > standard > >>> >>> >>>>> >> > library was included.Below is the list of > >>> >>> >>>>> >> > libraries > >>> >>> >>>>> >> > that > >>> >>> >>>>> >> > were > >>> >>> >>>>> >> > getting > >>> >>> >>>>> >> > included. > >>> >>> >>>>> >> > > >>> >>> >>>>> >> > > >>> >>> >>>>> >> > > >>> >>> >>>>> >> > > >>> >>> >>>>> >> >
UefiApplicationEntryPoint.lib(ApplicationEntryPoint.obj)
> >>> >>> >>>>> >> > HelloWorld.lib(AutoGen.obj) > >>> >>> >>>>> >> > UefiDebugLibStdErr.lib(DebugLib.obj) > >>> >>> >>>>> >> > > >>> >>> >>>>> >> > > >>> >>> >>>>> >> > > >>> >>> >>>>> >> >
UefiBootServicesTableLib.lib(UefiBootServicesTableLib.obj)
> >>> >>> >>>>> >> > > >>> >>> >>>>> >> > > >>> >>> >>>>> >> > > >>> >>> >>>>> >> > > >>> >>> >>>>> >> > > >>> >>> >>>>> >> >
UefiRuntimeServicesTableLib.lib(UefiRuntimeServicesTableLib.obj)
> >>> >>> >>>>> >> > UefiLib.lib(UefiLib.obj) > >>> >>> >>>>> >> > > >>> >>> >>>>> >> > > >>> >>> >>>>> >> > > >>> >>> >>>>> >> > > >>> >>> >>>>> >> > > >>> >>> >>>>> >> >
BaseDebugPrintErrorLevelLib.lib(BaseDebugPrintErrorLevelLib.obj)
> >>> >>> >>>>> >> > BasePrintLib.lib(PrintLib.obj) > >>> >>> >>>>> >> > BasePrintLib.lib(PrintLibInternal.obj) > >>> >>> >>>>> >> > BaseLib.lib(DivU64x32Remainder.obj) > >>> >>> >>>>> >> > BaseLib.lib(CpuDeadLoop.obj) > >>> >>> >>>>> >> > BaseLib.lib(String.obj) > >>> >>> >>>>> >> > BaseLib.lib(Unaligned.obj) > >>> >>> >>>>> >> > BaseLib.lib(Math64.obj) > >>> >>> >>>>> >> > > >>> >>> >>>>> >> > I have included .map file as well with this
mail.
> >>> >>> >>>>> >> > > >>> >>> >>>>> >> > Thanks. > >>> >>> >>>>> >> > > >>> >>> >>>>> >> > On Mon, Feb 1, 2016 at 1:24 PM, Ard Biesheuvel > >>> >>> >>>>> >> > ard.biesheuvel@linaro.org > >>> >>> >>>>> >> > wrote: > >>> >>> >>>>> >> >> > >>> >>> >>>>> >> >> On 1 February 2016 at 08:36, M.V.R. Ravikanth > >>> >>> >>>>> >> >> ravikanth.mvr@avagotech.com wrote: > >>> >>> >>>>> >> >> > Ard, > >>> >>> >>>>> >> >> > > >>> >>> >>>>> >> >> > I understand that we have to implement > >>> >>> >>>>> >> >> > alternative > >>> >>> >>>>> >> >> > C++ > >>> >>> >>>>> >> >> > runtime > >>> >>> >>>>> >> >> > API > >>> >>> >>>>> >> >> > which > >>> >>> >>>>> >> >> > maps to new and delete in EDK2 > >>> >>> >>>>> >> >> > i.e.,AllocatePool > >>> >>> >>>>> >> >> > and > >>> >>> >>>>> >> >> > FreePool. > >>> >>> >>>>> >> >> > > >>> >>> >>>>> >> >> > I did implement alternative new and delete > >>> >>> >>>>> >> >> > API's,which > >>> >>> >>>>> >> >> > uses > >>> >>> >>>>> >> >> > AllocatePool > >>> >>> >>>>> >> >> > and > >>> >>> >>>>> >> >> > FreePool,for OUR code and most of the > >>> >>> >>>>> >> >> > relocation > >>> >>> >>>>> >> >> > errors > >>> >>> >>>>> >> >> > had > >>> >>> >>>>> >> >> > gone.BUT > >>> >>> >>>>> >> >> > when > >>> >>> >>>>> >> >> > the CPP program(HelloWorld) under
compilation
> >>> >>> >>>>> >> >> > doesn't > >>> >>> >>>>> >> >> > even > >>> >>> >>>>> >> >> > call > >>> >>> >>>>> >> >> > the > >>> >>> >>>>> >> >> > C++ > >>> >>> >>>>> >> >> > runtime API's,why are we seeing these > >>> >>> >>>>> >> >> > errors?-This > >>> >>> >>>>> >> >> > is > >>> >>> >>>>> >> >> > what > >>> >>> >>>>> >> >> > I am > >>> >>> >>>>> >> >> > trying > >>> >>> >>>>> >> >> > to > >>> >>> >>>>> >> >> > understand. > >>> >>> >>>>> >> >> > > >>> >>> >>>>> >> >> > >>> >>> >>>>> >> >> If you add a -Map xxx.map option to the linker > >>> >>> >>>>> >> >> command, > >>> >>> >>>>> >> >> you > >>> >>> >>>>> >> >> will > >>> >>> >>>>> >> >> get a > >>> >>> >>>>> >> >> map file that tells you exactly which object
was
> >>> >>> >>>>> >> >> included > >>> >>> >>>>> >> >> in > >>> >>> >>>>> >> >> the > >>> >>> >>>>> >> >> link, > >>> >>> >>>>> >> >> and why (iow, which symbol dependency it > >>> >>> >>>>> >> >> satisfies) > >>> >>> >>>>> >> >> That > >>> >>> >>>>> >> >> way, > >>> >>> >>>>> >> >> you > >>> >>> >>>>> >> >> will > >>> >>> >>>>> >> >> be able to figure out which standard library
is
> >>> >>> >>>>> >> >> included, > >>> >>> >>>>> >> >> and > >>> >>> >>>>> >> >> for > >>> >>> >>>>> >> >> which reason. > >>> >>> >>>>> >> >> > >>> >>> >>>>> >> >> > Thanks. > >>> >>> >>>>> >> >> > ________________________________ > >>> >>> >>>>> >> >> > From: Ard Biesheuvel > >>> >>> >>>>> >> >> > Sent: 01-02-2016 12:31 > >>> >>> >>>>> >> >> > To: M.V.R. Ravikanth > >>> >>> >>>>> >> >> > > >>> >>> >>>>> >> >> > Cc: Leif Lindholm; Daniel Samuelraj;
Jianning
> >>> >>> >>>>> >> >> > Wang; > >>> >>> >>>>> >> >> > Linaro > >>> >>> >>>>> >> >> > UEFI > >>> >>> >>>>> >> >> > Mailman > >>> >>> >>>>> >> >> > List; Sadananda Murthy; Unnikrishnan P S > >>> >>> >>>>> >> >> > Subject: Re: [Linaro-uefi] Compiling CPP
files
> >>> >>> >>>>> >> >> > ARM64 > >>> >>> >>>>> >> >> > > >>> >>> >>>>> >> >> > On 1 February 2016 at 07:51, M.V.R.
Ravikanth
> >>> >>> >>>>> >> >> > ravikanth.mvr@avagotech.com wrote: > >>> >>> >>>>> >> >> >> Ard, > >>> >>> >>>>> >> >> >> I would try to explain here, > >>> >>> >>>>> >> >> >> > >>> >>> >>>>> >> >> >> 1.Till now we have been compiling CPP > >>> >>> >>>>> >> >> >> programs > >>> >>> >>>>> >> >> >> in > >>> >>> >>>>> >> >> >> UDK > >>> >>> >>>>> >> >> >> with > >>> >>> >>>>> >> >> >> VS2005/VS2008 > >>> >>> >>>>> >> >> >> as > >>> >>> >>>>> >> >> >> toolchain and it worked well. > >>> >>> >>>>> >> >> >> > >>> >>> >>>>> >> >> >> 2.Now,we have a requirement to support > >>> >>> >>>>> >> >> >> AARCH64 > >>> >>> >>>>> >> >> >> architecture > >>> >>> >>>>> >> >> >> with > >>> >>> >>>>> >> >> >> ARMGCC > >>> >>> >>>>> >> >> >> as > >>> >>> >>>>> >> >> >> the toolchain.But when we tried to compile > >>> >>> >>>>> >> >> >> our > >>> >>> >>>>> >> >> >> CPP > >>> >>> >>>>> >> >> >> code/Sample > >>> >>> >>>>> >> >> >> HelloWorld > >>> >>> >>>>> >> >> >> application(HelloWorld.c is renamed to > >>> >>> >>>>> >> >> >> HelloWorld.cpp) > >>> >>> >>>>> >> >> >> with > >>> >>> >>>>> >> >> >> ARMGCC > >>> >>> >>>>> >> >> >> as > >>> >>> >>>>> >> >> >> toolchain,we were seeing relocation errors > >>> >>> >>>>> >> >> >> such > >>> >>> >>>>> >> >> >> as > >>> >>> >>>>> >> >> >> 0x105. > >>> >>> >>>>> >> >> >> > >>> >>> >>>>> >> >> >> 3.As advised by you,we tried compiling a > >>> >>> >>>>> >> >> >> sample > >>> >>> >>>>> >> >> >> HelloWorld > >>> >>> >>>>> >> >> >> CPP > >>> >>> >>>>> >> >> >> program > >>> >>> >>>>> >> >> >> under > >>> >>> >>>>> >> >> >> EDK2 and still we are seeing the same > >>> >>> >>>>> >> >> >> relocation > >>> >>> >>>>> >> >> >> errors. > >>> >>> >>>>> >> >> >> > >>> >>> >>>>> >> >> >> Questions: > >>> >>> >>>>> >> >> >> > >>> >>> >>>>> >> >> >> 1.If EDK2 doesn't support CPP code,what > >>> >>> >>>>> >> >> >> should > >>> >>> >>>>> >> >> >> we > >>> >>> >>>>> >> >> >> do > >>> >>> >>>>> >> >> >> to > >>> >>> >>>>> >> >> >> resolve the > >>> >>> >>>>> >> >> >> relocation errors we are observing? > >>> >>> >>>>> >> >> >> > >>> >>> >>>>> >> >> >> Please correct me,if I have missed
something.
> >>> >>> >>>>> >> >> >> > >>> >>> >>>>> >> >> > > >>> >>> >>>>> >> >> > The relocation errors are a symptom of the > >>> >>> >>>>> >> >> > fact > >>> >>> >>>>> >> >> > that > >>> >>> >>>>> >> >> > you > >>> >>> >>>>> >> >> > are > >>> >>> >>>>> >> >> > trying > >>> >>> >>>>> >> >> > to > >>> >>> >>>>> >> >> > link the Linux specific C++ runtime into
your
> >>> >>> >>>>> >> >> > EDK2 > >>> >>> >>>>> >> >> > binary. > >>> >>> >>>>> >> >> > This > >>> >>> >>>>> >> >> > is a > >>> >>> >>>>> >> >> > pointless exercise, since the Linux C++ > >>> >>> >>>>> >> >> > runtime > >>> >>> >>>>> >> >> > is > >>> >>> >>>>> >> >> > fundamentally > >>> >>> >>>>> >> >> > incompatible with EDK2, So please, don't ask > >>> >>> >>>>> >> >> > any > >>> >>> >>>>> >> >> > more > >>> >>> >>>>> >> >> > questions > >>> >>> >>>>> >> >> > about > >>> >>> >>>>> >> >> > relocation errors, and focus on implementing > >>> >>> >>>>> >> >> > an > >>> >>> >>>>> >> >> > alternative > >>> >>> >>>>> >> >> > C++ > >>> >>> >>>>> >> >> > runtime that maps calls to new() and
delete()
> >>> >>> >>>>> >> >> > onto > >>> >>> >>>>> >> >> > EDK2 > >>> >>> >>>>> >> >> > APIs, > >>> >>> >>>>> >> >> > i.e., > >>> >>> >>>>> >> >> > AllocatePool and FreePool. Note that you
will
> >>> >>> >>>>> >> >> > still > >>> >>> >>>>> >> >> > have > >>> >>> >>>>> >> >> > problems > >>> >>> >>>>> >> >> > with > >>> >>> >>>>> >> >> > symbol decoration, since EDK2 header file > >>> >>> >>>>> >> >> > don't > >>> >>> >>>>> >> >> > have > >>> >>> >>>>> >> >> > 'extern > >>> >>> >>>>> >> >> > "C"' > >>> >>> >>>>> >> >> > qualifiers around C declarations. > >>> >>> >>>>> >> >> > > >>> >>> >>>>> >> >> > > >>> >>> >>>>> >> >> > > >>> >>> >>>>> >> >> >> ________________________________ > >>> >>> >>>>> >> >> >> From: Ard Biesheuvel > >>> >>> >>>>> >> >> >> Sent: 01-02-2016 11:59 > >>> >>> >>>>> >> >> >> To: Ravikanth MVR > >>> >>> >>>>> >> >> >> Cc: Leif Lindholm; Daniel Samuelraj;
Jianning
> >>> >>> >>>>> >> >> >> Wang; > >>> >>> >>>>> >> >> >> Linaro > >>> >>> >>>>> >> >> >> UEFI > >>> >>> >>>>> >> >> >> Mailman > >>> >>> >>>>> >> >> >> List; Sadananda Murthy; Unnikrishnan P S > >>> >>> >>>>> >> >> >> Subject: Re: [Linaro-uefi] Compiling CPP > >>> >>> >>>>> >> >> >> files > >>> >>> >>>>> >> >> >> ARM64 > >>> >>> >>>>> >> >> >> > >>> >>> >>>>> >> >> >> On 31 January 2016 at 20:16, Ravikanth MVR > >>> >>> >>>>> >> >> >> ravikanth.mvr@avagotech.com > >>> >>> >>>>> >> >> >> wrote: > >>> >>> >>>>> >> >> >>> +Unni. > >>> >>> >>>>> >> >> >>> > >>> >>> >>>>> >> >> >>> Ard, > >>> >>> >>>>> >> >> >>> I have done a native compilation with EDK2 > >>> >>> >>>>> >> >> >>> and > >>> >>> >>>>> >> >> >>> I > >>> >>> >>>>> >> >> >>> am > >>> >>> >>>>> >> >> >>> facing > >>> >>> >>>>> >> >> >>> same > >>> >>> >>>>> >> >> >>> issues > >>> >>> >>>>> >> >> >>> as > >>> >>> >>>>> >> >> >>> I > >>> >>> >>>>> >> >> >>> did before.Below is the snapshot of the > >>> >>> >>>>> >> >> >>> errors > >>> >>> >>>>> >> >> >>> I > >>> >>> >>>>> >> >> >>> received. > >>> >>> >>>>> >> >> >>> > >>> >>> >>>>> >> >> >> > >>> >>> >>>>> >> >> >> I have explained twice already why C++
under
> >>> >>> >>>>> >> >> >> EDK2 > >>> >>> >>>>> >> >> >> is > >>> >>> >>>>> >> >> >> not > >>> >>> >>>>> >> >> >> going > >>> >>> >>>>> >> >> >> to > >>> >>> >>>>> >> >> >> work. What exactly were you expecting? > >>> >>> >>>>> >> >> >> -- > >>> >>> >>>>> >> >> >> Ard. > >>> >>> >>>>> >> >> >> > >>> >>> >>>>> >> >> >> > >>> >>> >>>>> >> >> >>> "GenFw" -e UEFI_APPLICATION -o > >>> >>> >>>>> >> >> >>> > >>> >>> >>>>> >> >> >>> > >>> >>> >>>>> >> >> >>> > >>> >>> >>>>> >> >> >>> > >>> >>> >>>>> >> >> >>> > >>> >>> >>>>> >> >> >>> > >>> >>> >>>>> >> >> >>> > >>> >>> >>>>> >> >> >>> > >>> >>> >>>>> >> >> >>> > >>> >>> >>>>> >> >> >>> > >>> >>> >>>>> >> >> >>>
/home/edk2/MyWorkSpace/Build/MdeModule/RELEASE_ARMGCC/AARCH64/MdeModulePkg/Application/HelloWorld/HelloWorld/DEBUG/HelloWorld.efi
> >>> >>> >>>>> >> >> >>> > >>> >>> >>>>> >> >> >>> > >>> >>> >>>>> >> >> >>> > >>> >>> >>>>> >> >> >>> > >>> >>> >>>>> >> >> >>> > >>> >>> >>>>> >> >> >>> > >>> >>> >>>>> >> >> >>> > >>> >>> >>>>> >> >> >>> > >>> >>> >>>>> >> >> >>> > >>> >>> >>>>> >> >> >>> > >>> >>> >>>>> >> >> >>>
/home/edk2/MyWorkSpace/Build/MdeModule/RELEASE_ARMGCC/AARCH64/MdeModulePkg/Application/HelloWorld/HelloWorld/DEBUG/HelloWorld.dll
> >>> >>> >>>>> >> >> >>> GenFw: ERROR 3000: Invalid > >>> >>> >>>>> >> >> >>> WriteSections64(): > >>> >>> >>>>> >> >> >>> > >>> >>> >>>>> >> >> >>> > >>> >>> >>>>> >> >> >>> > >>> >>> >>>>> >> >> >>> > >>> >>> >>>>> >> >> >>> > >>> >>> >>>>> >> >> >>> > >>> >>> >>>>> >> >> >>> > >>> >>> >>>>> >> >> >>> > >>> >>> >>>>> >> >> >>> > >>> >>> >>>>> >> >> >>> > >>> >>> >>>>> >> >> >>>
/home/edk2/MyWorkSpace/Build/MdeModule/RELEASE_ARMGCC/AARCH64/MdeModulePkg/Application/HelloWorld/HelloWorld/DEBUG/HelloWorld.dll
> >>> >>> >>>>> >> >> >>> unsupported ELF EM_AARCH64 relocation
0x105.
> >>> >>> >>>>> >> >> >>> GenFw: ERROR 3000: Invalid > >>> >>> >>>>> >> >> >>> make: *** > >>> >>> >>>>> >> >> >>> > >>> >>> >>>>> >> >> >>> > >>> >>> >>>>> >> >> >>> > >>> >>> >>>>> >> >> >>> > >>> >>> >>>>> >> >> >>> > >>> >>> >>>>> >> >> >>> > >>> >>> >>>>> >> >> >>> > >>> >>> >>>>> >> >> >>> > >>> >>> >>>>> >> >> >>> > >>> >>> >>>>> >> >> >>> > >>> >>> >>>>> >> >> >>>
[/home/edk2/MyWorkSpace/Build/MdeModule/RELEASE_ARMGCC/AARCH64/MdeModulePkg/Application/HelloWorld/HelloWorld/DEBUG/HelloWorld.efi]
> >>> >>> >>>>> >> >> >>> Error 2 > >>> >>> >>>>> >> >> >>> WriteRelocations64(): > >>> >>> >>>>> >> >> >>> > >>> >>> >>>>> >> >> >>> > >>> >>> >>>>> >> >> >>> > >>> >>> >>>>> >> >> >>> > >>> >>> >>>>> >> >> >>> > >>> >>> >>>>> >> >> >>> > >>> >>> >>>>> >> >> >>> > >>> >>> >>>>> >> >> >>> > >>> >>> >>>>> >> >> >>> > >>> >>> >>>>> >> >> >>> > >>> >>> >>>>> >> >> >>>
/home/edk2/MyWorkSpace/Build/MdeModule/RELEASE_ARMGCC/AARCH64/MdeModulePkg/Application/HelloWorld/HelloWorld/DEBUG/HelloWorld.dll
> >>> >>> >>>>> >> >> >>> unsupported ELF EM_AARCH64 relocation
0x105.
> >>> >>> >>>>> >> >> >>> > >>> >>> >>>>> >> >> >>> > >>> >>> >>>>> >> >> >>> build.py... > >>> >>> >>>>> >> >> >>> : error 7000: Failed to execute command > >>> >>> >>>>> >> >> >>> make --no-print-directory all > >>> >>> >>>>> >> >> >>> > >>> >>> >>>>> >> >> >>> > >>> >>> >>>>> >> >> >>> > >>> >>> >>>>> >> >> >>> > >>> >>> >>>>> >> >> >>> > >>> >>> >>>>> >> >> >>> > >>> >>> >>>>> >> >> >>> > >>> >>> >>>>> >> >> >>> > >>> >>> >>>>> >> >> >>> > >>> >>> >>>>> >> >> >>> > >>> >>> >>>>> >> >> >>>
[/home/edk2/MyWorkSpace/Build/MdeModule/RELEASE_ARMGCC/AARCH64/MdeModulePkg/Application/HelloWorld/HelloWorld]
> >>> >>> >>>>> >> >> >>> > >>> >>> >>>>> >> >> >>> - Failed - > >>> >>> >>>>> >> >> >>> Build end time: 19:12:41, Jan.31 2016 > >>> >>> >>>>> >> >> >>> Build total time: 00:00:15 > >>> >>> >>>>> >> >> >>> > >>> >>> >>>>> >> >> >>> Thanks > >>> >>> >>>>> >> >> >>> Ravi > >>> >>> >>>>> >> >> >>> > >>> >>> >>>>> >> >> >>> On Wed, Jan 27, 2016 at 2:31 PM, Ard > >>> >>> >>>>> >> >> >>> Biesheuvel > >>> >>> >>>>> >> >> >>> ard.biesheuvel@linaro.org > >>> >>> >>>>> >> >> >>> wrote: > >>> >>> >>>>> >> >> >>>> > >>> >>> >>>>> >> >> >>>> On 27 January 2016 at 09:51, Ravikanth
MVR
> >>> >>> >>>>> >> >> >>>> ravikanth.mvr@avagotech.com > >>> >>> >>>>> >> >> >>>> wrote: > >>> >>> >>>>> >> >> >>>> > Ard, > >>> >>> >>>>> >> >> >>>> > I was trying to compile and generate > >>> >>> >>>>> >> >> >>>> > helloworld > >>> >>> >>>>> >> >> >>>> > application via > >>> >>> >>>>> >> >> >>>> > EDK2.Under > >>> >>> >>>>> >> >> >>>> > the "MyWorkSpace\BaseTools\Bin"
directory
> >>> >>> >>>>> >> >> >>>> > I > >>> >>> >>>>> >> >> >>>> > did > >>> >>> >>>>> >> >> >>>> > not > >>> >>> >>>>> >> >> >>>> > find > >>> >>> >>>>> >> >> >>>> > "Win32" > >>> >>> >>>>> >> >> >>>> > directory > >>> >>> >>>>> >> >> >>>> > which has GenFw utility.But the UDK > >>> >>> >>>>> >> >> >>>> > package > >>> >>> >>>>> >> >> >>>> > has > >>> >>> >>>>> >> >> >>>> > Win32 > >>> >>> >>>>> >> >> >>>> > directory. > >>> >>> >>>>> >> >> >>>> > > >>> >>> >>>>> >> >> >>>> > Could you let me know on how to build
and
> >>> >>> >>>>> >> >> >>>> > EDK2 > >>> >>> >>>>> >> >> >>>> > package > >>> >>> >>>>> >> >> >>>> > in > >>> >>> >>>>> >> >> >>>> > Windows > >>> >>> >>>>> >> >> >>>> > or > >>> >>> >>>>> >> >> >>>> > else Am > >>> >>> >>>>> >> >> >>>> > I missing something here? > >>> >>> >>>>> >> >> >>>> > > >>> >>> >>>>> >> >> >>>> > >>> >>> >>>>> >> >> >>>> I haven't used Windows for software > >>> >>> >>>>> >> >> >>>> development > >>> >>> >>>>> >> >> >>>> work > >>> >>> >>>>> >> >> >>>> in > >>> >>> >>>>> >> >> >>>> 15 > >>> >>> >>>>> >> >> >>>> years, > >>> >>> >>>>> >> >> >>>> so > >>> >>> >>>>> >> >> >>>> I > >>> >>> >>>>> >> >> >>>> am really not the person you should be > >>> >>> >>>>> >> >> >>>> asking > >>> >>> >>>>> >> >> >>>> this. > >>> >>> >>>>> >> >> >>>> > >>> >>> >>>>> >> >> >>>> -- > >>> >>> >>>>> >> >> >>>> Ard. > >>> >>> >>>>> >> >> >>>> > >>> >>> >>>>> >> >> >>>> > On Thu, Jan 14, 2016 at 3:03 PM, > >>> >>> >>>>> >> >> >>>> > Ravikanth > >>> >>> >>>>> >> >> >>>> > MVR > >>> >>> >>>>> >> >> >>>> > ravikanth.mvr@avagotech.com > >>> >>> >>>>> >> >> >>>> > wrote: > >>> >>> >>>>> >> >> >>>> >> > >>> >>> >>>>> >> >> >>>> >> In UDK.I will try out on EDK2 and let > >>> >>> >>>>> >> >> >>>> >> you > >>> >>> >>>>> >> >> >>>> >> know > >>> >>> >>>>> >> >> >>>> >> the > >>> >>> >>>>> >> >> >>>> >> results. > >>> >>> >>>>> >> >> >>>> >> > >>> >>> >>>>> >> >> >>>> >> Thanks. > >>> >>> >>>>> >> >> >>>> >> > >>> >>> >>>>> >> >> >>>> >> On Thu, Jan 14, 2016 at 3:02 PM, Ard > >>> >>> >>>>> >> >> >>>> >> Biesheuvel > >>> >>> >>>>> >> >> >>>> >> ard.biesheuvel@linaro.org wrote: > >>> >>> >>>>> >> >> >>>> >>> > >>> >>> >>>>> >> >> >>>> >>> On 14 January 2016 at 10:28,
Ravikanth
> >>> >>> >>>>> >> >> >>>> >>> MVR > >>> >>> >>>>> >> >> >>>> >>> ravikanth.mvr@avagotech.com > >>> >>> >>>>> >> >> >>>> >>> wrote: > >>> >>> >>>>> >> >> >>>> >>> > Ard, > >>> >>> >>>>> >> >> >>>> >>> > > >>> >>> >>>>> >> >> >>>> >>> > OK.But when a simple HelloWorld > >>> >>> >>>>> >> >> >>>> >>> > program,which > >>> >>> >>>>> >> >> >>>> >>> > is > >>> >>> >>>>> >> >> >>>> >>> > part > >>> >>> >>>>> >> >> >>>> >>> > of > >>> >>> >>>>> >> >> >>>> >>> > EDK2 > >>> >>> >>>>> >> >> >>>> >>> > sample > >>> >>> >>>>> >> >> >>>> >>> > programs and which is written in
c,is
> >>> >>> >>>>> >> >> >>>> >>> > renamed > >>> >>> >>>>> >> >> >>>> >>> > to > >>> >>> >>>>> >> >> >>>> >>> > .CPP,we get > >>> >>> >>>>> >> >> >>>> >>> > these > >>> >>> >>>>> >> >> >>>> >>> > relocation issues in-spite of not > >>> >>> >>>>> >> >> >>>> >>> > using > >>> >>> >>>>> >> >> >>>> >>> > any > >>> >>> >>>>> >> >> >>>> >>> > C++ > >>> >>> >>>>> >> >> >>>> >>> > runtime > >>> >>> >>>>> >> >> >>>> >>> > API's. > >>> >>> >>>>> >> >> >>>> >>> > > >>> >>> >>>>> >> >> >>>> >>> > >>> >>> >>>>> >> >> >>>> >>> In UDK or EDK2? > >>> >>> >>>>> >> >> >>>> >>> > >>> >>> >>>>> >> >> >>>> >>> > On Thu, Jan 14, 2016 at 2:39 PM,
Ard
> >>> >>> >>>>> >> >> >>>> >>> > Biesheuvel > >>> >>> >>>>> >> >> >>>> >>> > ard.biesheuvel@linaro.org > >>> >>> >>>>> >> >> >>>> >>> > wrote: > >>> >>> >>>>> >> >> >>>> >>> >> > >>> >>> >>>>> >> >> >>>> >>> >> On 14 January 2016 at 10:06, > >>> >>> >>>>> >> >> >>>> >>> >> Ravikanth > >>> >>> >>>>> >> >> >>>> >>> >> MVR > >>> >>> >>>>> >> >> >>>> >>> >> ravikanth.mvr@avagotech.com > >>> >>> >>>>> >> >> >>>> >>> >> wrote: > >>> >>> >>>>> >> >> >>>> >>> >> > Hi Ard, > >>> >>> >>>>> >> >> >>>> >>> >> > > >>> >>> >>>>> >> >> >>>> >>> >> > Hope you remember we speaking > >>> >>> >>>>> >> >> >>>> >>> >> > about > >>> >>> >>>>> >> >> >>>> >>> >> > the > >>> >>> >>>>> >> >> >>>> >>> >> > 0x105 > >>> >>> >>>>> >> >> >>>> >>> >> > and > >>> >>> >>>>> >> >> >>>> >>> >> > 0x0 > >>> >>> >>>>> >> >> >>>> >>> >> > relocation > >>> >>> >>>>> >> >> >>>> >>> >> > issues > >>> >>> >>>>> >> >> >>>> >>> >> > which we came across while > >>> >>> >>>>> >> >> >>>> >>> >> > compiling > >>> >>> >>>>> >> >> >>>> >>> >> > a > >>> >>> >>>>> >> >> >>>> >>> >> > simple > >>> >>> >>>>> >> >> >>>> >>> >> > HelloWorld > >>> >>> >>>>> >> >> >>>> >>> >> > program > >>> >>> >>>>> >> >> >>>> >>> >> > in > >>> >>> >>>>> >> >> >>>> >>> >> > CPP.As > >>> >>> >>>>> >> >> >>>> >>> >> > you said on the other
thread(EDK2
> >>> >>> >>>>> >> >> >>>> >>> >> > mailing > >>> >>> >>>>> >> >> >>>> >>> >> > list)we > >>> >>> >>>>> >> >> >>>> >>> >> > need > >>> >>> >>>>> >> >> >>>> >>> >> > some > >>> >>> >>>>> >> >> >>>> >>> >> > changes > >>> >>> >>>>> >> >> >>>> >>> >> > to > >>> >>> >>>>> >> >> >>>> >>> >> > compiler and GenFw utility of > >>> >>> >>>>> >> >> >>>> >>> >> > UDK,can > >>> >>> >>>>> >> >> >>>> >>> >> > we > >>> >>> >>>>> >> >> >>>> >>> >> > take > >>> >>> >>>>> >> >> >>>> >>> >> > the > >>> >>> >>>>> >> >> >>>> >>> >> > required > >>> >>> >>>>> >> >> >>>> >>> >> > changes > >>> >>> >>>>> >> >> >>>> >>> >> > forward > >>> >>> >>>>> >> >> >>>> >>> >> > and come up with a UDK with this > >>> >>> >>>>> >> >> >>>> >>> >> > support? > >>> >>> >>>>> >> >> >>>> >>> >> > > >>> >>> >>>>> >> >> >>>> >>> >> > We are stuck at this juncture
with
> >>> >>> >>>>> >> >> >>>> >>> >> > this > >>> >>> >>>>> >> >> >>>> >>> >> > activity > >>> >>> >>>>> >> >> >>>> >>> >> > and > >>> >>> >>>>> >> >> >>>> >>> >> > would > >>> >>> >>>>> >> >> >>>> >>> >> > need > >>> >>> >>>>> >> >> >>>> >>> >> > your > >>> >>> >>>>> >> >> >>>> >>> >> > help > >>> >>> >>>>> >> >> >>>> >>> >> > badly. > >>> >>> >>>>> >> >> >>>> >>> >> > > >>> >>> >>>>> >> >> >>>> >>> >> > >>> >>> >>>>> >> >> >>>> >>> >> Please forget about UDK, and
rebase
> >>> >>> >>>>> >> >> >>>> >>> >> your > >>> >>> >>>>> >> >> >>>> >>> >> work > >>> >>> >>>>> >> >> >>>> >>> >> onto > >>> >>> >>>>> >> >> >>>> >>> >> the > >>> >>> >>>>> >> >> >>>> >>> >> latest > >>> >>> >>>>> >> >> >>>> >>> >> EDK2 > >>> >>> >>>>> >> >> >>>> >>> >> master branch. There have been
many
> >>> >>> >>>>> >> >> >>>> >>> >> changes > >>> >>> >>>>> >> >> >>>> >>> >> to > >>> >>> >>>>> >> >> >>>> >>> >> the > >>> >>> >>>>> >> >> >>>> >>> >> way > >>> >>> >>>>> >> >> >>>> >>> >> relocations > >>> >>> >>>>> >> >> >>>> >>> >> are > >>> >>> >>>>> >> >> >>>> >>> >> handled, which also impose > >>> >>> >>>>> >> >> >>>> >>> >> requirements > >>> >>> >>>>> >> >> >>>> >>> >> at > >>> >>> >>>>> >> >> >>>> >>> >> link > >>> >>> >>>>> >> >> >>>> >>> >> time > >>> >>> >>>>> >> >> >>>> >>> >> (i.e., > >>> >>> >>>>> >> >> >>>> >>> >> in > >>> >>> >>>>> >> >> >>>> >>> >> terms > >>> >>> >>>>> >> >> >>>> >>> >> of section alignment, and relative > >>> >>> >>>>> >> >> >>>> >>> >> offset > >>> >>> >>>>> >> >> >>>> >>> >> between > >>> >>> >>>>> >> >> >>>> >>> >> sections > >>> >>> >>>>> >> >> >>>> >>> >> both > >>> >>> >>>>> >> >> >>>> >>> >> in > >>> >>> >>>>> >> >> >>>> >>> >> the > >>> >>> >>>>> >> >> >>>> >>> >> ELF and the PE/COFF versions of
the
> >>> >>> >>>>> >> >> >>>> >>> >> image) > >>> >>> >>>>> >> >> >>>> >>> >> > >>> >>> >>>>> >> >> >>>> >>> >> However, the relocation issue was > >>> >>> >>>>> >> >> >>>> >>> >> due > >>> >>> >>>>> >> >> >>>> >>> >> to > >>> >>> >>>>> >> >> >>>> >>> >> the > >>> >>> >>>>> >> >> >>>> >>> >> fact > >>> >>> >>>>> >> >> >>>> >>> >> that you > >>> >>> >>>>> >> >> >>>> >>> >> were > >>> >>> >>>>> >> >> >>>> >>> >> using > >>> >>> >>>>> >> >> >>>> >>> >> the Linux version of the C++ > >>> >>> >>>>> >> >> >>>> >>> >> runtime, > >>> >>> >>>>> >> >> >>>> >>> >> which > >>> >>> >>>>> >> >> >>>> >>> >> you > >>> >>> >>>>> >> >> >>>> >>> >> cannot use > >>> >>> >>>>> >> >> >>>> >>> >> under > >>> >>> >>>>> >> >> >>>> >>> >> EDK2 > >>> >>> >>>>> >> >> >>>> >>> >> even if we do support those > >>> >>> >>>>> >> >> >>>> >>> >> relocation > >>> >>> >>>>> >> >> >>>> >>> >> types > >>> >>> >>>>> >> >> >>>> >>> >> with > >>> >>> >>>>> >> >> >>>> >>> >> the > >>> >>> >>>>> >> >> >>>> >>> >> newer > >>> >>> >>>>> >> >> >>>> >>> >> tools. > >>> >>> >>>>> >> >> >>>> >>> >> > >>> >>> >>>>> >> >> >>>> >>> >> Bottom line is that you need to > >>> >>> >>>>> >> >> >>>> >>> >> develop > >>> >>> >>>>> >> >> >>>> >>> >> your > >>> >>> >>>>> >> >> >>>> >>> >> own > >>> >>> >>>>> >> >> >>>> >>> >> C++ > >>> >>> >>>>> >> >> >>>> >>> >> minimal > >>> >>> >>>>> >> >> >>>> >>> >> runtime > >>> >>> >>>>> >> >> >>>> >>> >> if you want to run C++ programs > >>> >>> >>>>> >> >> >>>> >>> >> under > >>> >>> >>>>> >> >> >>>> >>> >> EDK2 > >>> >>> >>>>> >> >> >>>> >>> >> > >>> >>> >>>>> >> >> >>>> >>> >> > On Tue, Jan 5, 2016 at 4:29 PM, > >>> >>> >>>>> >> >> >>>> >>> >> > Ravikanth > >>> >>> >>>>> >> >> >>>> >>> >> > MVR > >>> >>> >>>>> >> >> >>>> >>> >> > ravikanth.mvr@avagotech.com > >>> >>> >>>>> >> >> >>>> >>> >> > wrote: > >>> >>> >>>>> >> >> >>>> >>> >> >> > >>> >>> >>>>> >> >> >>>> >>> >> >> +Sada. > >>> >>> >>>>> >> >> >>>> >>> >> >> > >>> >>> >>>>> >> >> >>>> >>> >> >> Thanks. > >>> >>> >>>>> >> >> >>>> >>> >> >> > >>> >>> >>>>> >> >> >>>> >>> >> >> On Wed, Dec 30, 2015 at 8:38
PM,
> >>> >>> >>>>> >> >> >>>> >>> >> >> Ard > >>> >>> >>>>> >> >> >>>> >>> >> >> Biesheuvel > >>> >>> >>>>> >> >> >>>> >>> >> >> ard.biesheuvel@linaro.org > >>> >>> >>>>> >> >> >>>> >>> >> >> wrote: > >>> >>> >>>>> >> >> >>>> >>> >> >>> > >>> >>> >>>>> >> >> >>>> >>> >> >>> On 30 December 2015 at 16:02, > >>> >>> >>>>> >> >> >>>> >>> >> >>> Leif > >>> >>> >>>>> >> >> >>>> >>> >> >>> Lindholm > >>> >>> >>>>> >> >> >>>> >>> >> >>> leif.lindholm@linaro.org > >>> >>> >>>>> >> >> >>>> >>> >> >>> wrote: > >>> >>> >>>>> >> >> >>>> >>> >> >>> > Hi Daniel, > >>> >>> >>>>> >> >> >>>> >>> >> >>> > > >>> >>> >>>>> >> >> >>>> >>> >> >>> > Sorry, your email got stuck
in
> >>> >>> >>>>> >> >> >>>> >>> >> >>> > my > >>> >>> >>>>> >> >> >>>> >>> >> >>> > SPAM > >>> >>> >>>>> >> >> >>>> >>> >> >>> > folder > >>> >>> >>>>> >> >> >>>> >>> >> >>> > for > >>> >>> >>>>> >> >> >>>> >>> >> >>> > some > >>> >>> >>>>> >> >> >>>> >>> >> >>> > reason. > >>> >>> >>>>> >> >> >>>> >>> >> >>> > > >>> >>> >>>>> >> >> >>>> >>> >> >>> > On Wed, Dec 23, 2015 at > >>> >>> >>>>> >> >> >>>> >>> >> >>> > 05:25:21PM > >>> >>> >>>>> >> >> >>>> >>> >> >>> > -0500, > >>> >>> >>>>> >> >> >>>> >>> >> >>> > Daniel > >>> >>> >>>>> >> >> >>>> >>> >> >>> > Samuelraj > >>> >>> >>>>> >> >> >>>> >>> >> >>> > wrote: > >>> >>> >>>>> >> >> >>>> >>> >> >>> >> We are able to compile CPP > >>> >>> >>>>> >> >> >>>> >>> >> >>> >> files > >>> >>> >>>>> >> >> >>>> >>> >> >>> >> for > >>> >>> >>>>> >> >> >>>> >>> >> >>> >> X64 > >>> >>> >>>>> >> >> >>>> >>> >> >>> >> using > >>> >>> >>>>> >> >> >>>> >>> >> >>> >> UDK2014 > >>> >>> >>>>> >> >> >>>> >>> >> >>> >> by > >>> >>> >>>>> >> >> >>>> >>> >> >>> >> using > >>> >>> >>>>> >> >> >>>> >>> >> >>> >> Visual > >>> >>> >>>>> >> >> >>>> >>> >> >>> >> Studio. > >>> >>> >>>>> >> >> >>>> >>> >> >>> >> > >>> >>> >>>>> >> >> >>>> >>> >> >>> >> How do we compile the same > >>> >>> >>>>> >> >> >>>> >>> >> >>> >> source > >>> >>> >>>>> >> >> >>>> >>> >> >>> >> for > >>> >>> >>>>> >> >> >>>> >>> >> >>> >> AARCH64? > >>> >>> >>>>> >> >> >>>> >>> >> >>> > >>> >>> >>>>> >> >> >>>> >>> >> >>> Do you mean C++? That is > >>> >>> >>>>> >> >> >>>> >>> >> >>> completely > >>> >>> >>>>> >> >> >>>> >>> >> >>> unsupported, > >>> >>> >>>>> >> >> >>>> >>> >> >>> and is > >>> >>> >>>>> >> >> >>>> >>> >> >>> going > >>> >>> >>>>> >> >> >>>> >>> >> >>> to > >>> >>> >>>>> >> >> >>>> >>> >> >>> be > >>> >>> >>>>> >> >> >>>> >>> >> >>> quite a challenge to
implement.
> >>> >>> >>>>> >> >> >>>> >>> >> >>> Note > >>> >>> >>>>> >> >> >>>> >>> >> >>> that > >>> >>> >>>>> >> >> >>>> >>> >> >>> you > >>> >>> >>>>> >> >> >>>> >>> >> >>> cannot > >>> >>> >>>>> >> >> >>>> >>> >> >>> rely > >>> >>> >>>>> >> >> >>>> >>> >> >>> on > >>> >>> >>>>> >> >> >>>> >>> >> >>> the > >>> >>> >>>>> >> >> >>>> >>> >> >>> C++ > >>> >>> >>>>> >> >> >>>> >>> >> >>> runtime for various reasons > >>> >>> >>>>> >> >> >>>> >>> >> >>> (including, > >>> >>> >>>>> >> >> >>>> >>> >> >>> but > >>> >>> >>>>> >> >> >>>> >>> >> >>> not > >>> >>> >>>>> >> >> >>>> >>> >> >>> limited > >>> >>> >>>>> >> >> >>>> >>> >> >>> to, > >>> >>> >>>>> >> >> >>>> >>> >> >>> the > >>> >>> >>>>> >> >> >>>> >>> >> >>> fact > >>> >>> >>>>> >> >> >>>> >>> >> >>> that it uses small model > >>> >>> >>>>> >> >> >>>> >>> >> >>> relocations, > >>> >>> >>>>> >> >> >>>> >>> >> >>> and > >>> >>> >>>>> >> >> >>>> >>> >> >>> is > >>> >>> >>>>> >> >> >>>> >>> >> >>> built > >>> >>> >>>>> >> >> >>>> >>> >> >>> against > >>> >>> >>>>> >> >> >>>> >>> >> >>> libc > >>> >>> >>>>> >> >> >>>> >>> >> >>> on > >>> >>> >>>>> >> >> >>>> >>> >> >>> Linux) I wonder how that even > >>> >>> >>>>> >> >> >>>> >>> >> >>> works > >>> >>> >>>>> >> >> >>>> >>> >> >>> on > >>> >>> >>>>> >> >> >>>> >>> >> >>> Visual > >>> >>> >>>>> >> >> >>>> >>> >> >>> Studio > >>> >>> >>>>> >> >> >>>> >>> >> >>> for > >>> >>> >>>>> >> >> >>>> >>> >> >>> X64, > >>> >>> >>>>> >> >> >>>> >>> >> >>> since > >>> >>> >>>>> >> >> >>>> >>> >> >>> the code you build will try to > >>> >>> >>>>> >> >> >>>> >>> >> >>> call > >>> >>> >>>>> >> >> >>>> >>> >> >>> libc > >>> >>> >>>>> >> >> >>>> >>> >> >>> functions from > >>> >>> >>>>> >> >> >>>> >>> >> >>> the > >>> >>> >>>>> >> >> >>>> >>> >> >>> VC > >>> >>> >>>>> >> >> >>>> >>> >> >>> runtime > >>> >>> >>>>> >> >> >>>> >>> >> >>> library. > >>> >>> >>>>> >> >> >>>> >>> >> >>> > >>> >>> >>>>> >> >> >>>> >>> >> >>> There has been some discussion > >>> >>> >>>>> >> >> >>>> >>> >> >>> about > >>> >>> >>>>> >> >> >>>> >>> >> >>> this > >>> >>> >>>>> >> >> >>>> >>> >> >>> recently on > >>> >>> >>>>> >> >> >>>> >>> >> >>> the > >>> >>> >>>>> >> >> >>>> >>> >> >>> list. > >>> >>> >>>>> >> >> >>>> >>> >> >>> If > >>> >>> >>>>> >> >> >>>> >>> >> >>> you > >>> >>> >>>>> >> >> >>>> >>> >> >>> disable exceptions and RTTI,
and
> >>> >>> >>>>> >> >> >>>> >>> >> >>> reimplement > >>> >>> >>>>> >> >> >>>> >>> >> >>> your > >>> >>> >>>>> >> >> >>>> >>> >> >>> new > >>> >>> >>>>> >> >> >>>> >>> >> >>> and > >>> >>> >>>>> >> >> >>>> >>> >> >>> delete > >>> >>> >>>>> >> >> >>>> >>> >> >>> operators, you may be able to > >>> >>> >>>>> >> >> >>>> >>> >> >>> build > >>> >>> >>>>> >> >> >>>> >>> >> >>> code > >>> >>> >>>>> >> >> >>>> >>> >> >>> that > >>> >>> >>>>> >> >> >>>> >>> >> >>> does not > >>> >>> >>>>> >> >> >>>> >>> >> >>> rely > >>> >>> >>>>> >> >> >>>> >>> >> >>> on > >>> >>> >>>>> >> >> >>>> >>> >> >>> advanced C++ runtime features. > >>> >>> >>>>> >> >> >>>> >>> >> >>> > >>> >>> >>>>> >> >> >>>> >>> >> >>> -- > >>> >>> >>>>> >> >> >>>> >>> >> >>> Ard. > >>> >>> >>>>> >> >> >>>> >>> >> >> > >>> >>> >>>>> >> >> >>>> >>> >> >> > >>> >>> >>>>> >> >> >>>> >>> >> > > >>> >>> >>>>> >> >> >>>> >>> > > >>> >>> >>>>> >> >> >>>> >>> > > >>> >>> >>>>> >> >> >>>> >> > >>> >>> >>>>> >> >> >>>> >> > >>> >>> >>>>> >> >> >>>> > > >>> >>> >>>>> >> >> >>> > >>> >>> >>>>> >> >> >>> > >>> >>> >>>>> >> > > >>> >>> >>>>> >> > > >>> >>> >>>>> > > >>> >>> >>>>> > > >>> >>> >>>> > >>> >>> >>>> > >>> >>> >>> > >>> >>> >> > >>> >>> > > >>> >> > >>> >> > >>> > > >> > >> > >