On 5 September 2015 at 06:16, Jessica Hamilton
<[email protected]> wrote:
> Hi,
>
> I'm trying to get up and running with EDK II on Haiku (an unsupported
> platform), but the GenFw tool is failing at the final steps of the
> build with the error:
>
> GenFw: ERROR 3000: Invalid
>   
> /Data/edk2/..../DEBUG_GCC48/X64/MdeModulePkg/Application/HelloWorld/HelloWorld/DEBUG/HelloWorld.dll
> unsupported ELF EM_X86_64 relocation 0x1f.
>

It looks like your toolchain is emitting Position Independent (PIC)
code by default. (0x1f == R_X86_64_PLTOFF64)
You could try adding -fno-PIC to the command line, by adding it to the
line that starts with 'DEFINE GCC44_X64_CC_FLAGS'
(that definition applies to GCC48 as well)

> The full build log can be found at
> https://gist.github.com/jessicah/0ab7a91d1eaf503ea428
>
> I've been following the instructions at
> https://github.com/tianocore/tianocore.github.io/wiki/Using-EDK-II-with-Native-GCC
> which have, until this point, worked flawlessly.
>
> Configuration for LD is:
> gcc/bin/x86_64-pc-haiku-ld: supported targets: elf64-x86-64 elf32-i386
> elf64-little elf64-big elf32-little elf32-big pe-i386 pei-i386
> pe-x86-64 pei-x86-64 pe-bigobj-x86-64 elf64-l1om elf64-k1om plugin
> srec symbolsrec verilog tekhex binary ihex
> gcc/bin/x86_64-pc-haiku-ld: supported emulations: elf_x86_64
> elf_i386_haiku elf_i386 i386pe i386pep
>

Note that the LD config is not relevant here: it is the compiler that
decides what kind of code gets emitted.

Regards,
Ard.
_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to