On 07/09/15 15:47, Leif Lindholm wrote:
> Some toolchains, at least Fedora GCC, generate inline unwind tables in
> object files. These confuses GenFw to no end, leading to build failures:
>   GenFw: ERROR 3000: Invalid WriteSections64(): ...
>          unsupported ELF EM_AARCH64 relocation 0x105.
>   GenFw: ERROR 3000: Invalid WriteSections64(): ...
>          unsupported ELF EM_AARCH64 relocation 0x0.
> 
> I am aware of no current use of these tables, so explicitly disable
> their generation for aarch64.
> 
> Contributed-under: TianoCore Contribution Agreement 1.0
> Signed-off-by: Leif Lindholm <leif.lindh...@linaro.org>
> ---
>  BaseTools/Conf/tools_def.template | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/BaseTools/Conf/tools_def.template 
> b/BaseTools/Conf/tools_def.template
> index 7edd759..8e5750e 100644
> --- a/BaseTools/Conf/tools_def.template
> +++ b/BaseTools/Conf/tools_def.template
> @@ -3818,7 +3818,7 @@ DEFINE GCC_IA32_CC_FLAGS           = 
> DEF(GCC_ALL_CC_FLAGS) -m32 -malign-double -
>  DEFINE GCC_X64_CC_FLAGS            = DEF(GCC_ALL_CC_FLAGS) -mno-red-zone 
> -Wno-address -mno-stack-arg-probe
>  DEFINE GCC_IPF_CC_FLAGS            = DEF(GCC_ALL_CC_FLAGS) 
> -minline-int-divide-min-latency
>  DEFINE GCC_ARM_CC_FLAGS            = DEF(GCC_ALL_CC_FLAGS) 
> -mword-relocations -mlittle-endian -mabi=aapcs -mapcs -fno-short-enums 
> -save-temps -fsigned-char -ffunction-sections -fdata-sections 
> -fomit-frame-pointer -Wno-address -mthumb -mfloat-abi=soft
> -DEFINE GCC_AARCH64_CC_FLAGS        = DEF(GCC_ALL_CC_FLAGS) -mcmodel=large 
> -mlittle-endian -fno-short-enums -save-temps -fverbose-asm -fsigned-char  
> -ffunction-sections -fdata-sections -fomit-frame-pointer -fno-builtin 
> -Wno-address
> +DEFINE GCC_AARCH64_CC_FLAGS        = DEF(GCC_ALL_CC_FLAGS) -mcmodel=large 
> -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
>  DEFINE GCC_DLINK_FLAGS_COMMON      = -nostdlib --pie
>  DEFINE GCC_IA32_X64_DLINK_COMMON   = DEF(GCC_DLINK_FLAGS_COMMON) 
> --gc-sections
>  DEFINE GCC_ARM_AARCH64_DLINK_COMMON= --emit-relocs -nostdlib --gc-sections 
> -u $(IMAGE_ENTRY_POINT) -e $(IMAGE_ENTRY_POINT) -Map 
> $(DEST_DIR_DEBUG)/$(BASE_NAME).map
> 

Am I right to think this is a verbatim repost from

  http://thread.gmane.org/gmane.comp.bios.tianocore.devel/12482

? If so, then I think Olivier should review it and then just go ahead
and commit it, preferably with:

Tested-by: Wei Huang <w...@redhat.com>

based on Wei's message with Message-Id <54f740b4.3050...@redhat.com>.

Unfortunately I can't find that email at the moment in the gmane
archive, but I'm attaching it.

Thanks
Laszlo
--- Begin Message ---
I can confirm that this patch fixes my problem. The machine is a native
AArch64 server, with Fedora GCC 4.8.3.

Thanks,
-Wei

On 03/04/2015 03:13 AM, Laszlo Ersek wrote:
> On 02/06/15 14:52, Leif Lindholm wrote:
>> Some toolchains, at least Fedora GCC, generate inline unwind tables in
>> object files. These confuses GenFw to no end, leading to build failures:
>>   GenFw: ERROR 3000: Invalid WriteSections64(): ...
>>          unsupported ELF EM_AARCH64 relocation 0x105.
>>   GenFw: ERROR 3000: Invalid WriteSections64(): ...
>>          unsupported ELF EM_AARCH64 relocation 0x0.
>>
>> I am aware of no current use of these tables, so explicitly disable
>> their generation for aarch64.
>>
>> Contributed-under: TianoCore Contribution Agreement 1.0
>> Signed-off-by: Leif Lindholm <leif.lindh...@linaro.org>
>> ---
>>  BaseTools/Conf/tools_def.template | 2 +-
>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/BaseTools/Conf/tools_def.template 
>> b/BaseTools/Conf/tools_def.template
>> index f008024..04fdeba 100644
>> --- a/BaseTools/Conf/tools_def.template
>> +++ b/BaseTools/Conf/tools_def.template
>> @@ -3817,7 +3817,7 @@ DEFINE GCC_IA32_CC_FLAGS           = 
>> DEF(GCC_ALL_CC_FLAGS) -m32 -malign-double -
>>  DEFINE GCC_X64_CC_FLAGS            = DEF(GCC_ALL_CC_FLAGS) -mno-red-zone 
>> -Wno-address -mno-stack-arg-probe
>>  DEFINE GCC_IPF_CC_FLAGS            = DEF(GCC_ALL_CC_FLAGS) 
>> -minline-int-divide-min-latency
>>  DEFINE GCC_ARM_CC_FLAGS            = DEF(GCC_ALL_CC_FLAGS) 
>> -mword-relocations -mlittle-endian -mabi=aapcs -mapcs -fno-short-enums 
>> -save-temps -fsigned-char -ffunction-sections -fdata-sections 
>> -fomit-frame-pointer -Wno-address -mthumb -mfloat-abi=soft
>> -DEFINE GCC_AARCH64_CC_FLAGS        = DEF(GCC_ALL_CC_FLAGS) -mcmodel=large 
>> -mlittle-endian -fno-short-enums -save-temps -fverbose-asm -fsigned-char  
>> -ffunction-sections -fdata-sections -fomit-frame-pointer -fno-builtin 
>> -Wno-address
>> +DEFINE GCC_AARCH64_CC_FLAGS        = DEF(GCC_ALL_CC_FLAGS) -mcmodel=large 
>> -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
>>  DEFINE GCC_DLINK_FLAGS_COMMON      = -nostdlib --pie
>>  DEFINE GCC_IA32_X64_DLINK_COMMON   = DEF(GCC_DLINK_FLAGS_COMMON) 
>> --gc-sections
>>  DEFINE GCC_ARM_AARCH64_DLINK_COMMON= -Ttext=0x0 --emit-relocs -nostdlib 
>> --gc-sections -u $(IMAGE_ENTRY_POINT) -e $(IMAGE_ENTRY_POINT) -Map 
>> $(DEST_DIR_DEBUG)/$(BASE_NAME).map
> 
> Ping -- a colleague of mine has just run into this. (I don't use Fedora,
> but many of my colleagues do.)
> 
> Thanks
> Laszlo
> 

--- End Message ---
------------------------------------------------------------------------------
Don't Limit Your Business. Reach for the Cloud.
GigeNET's Cloud Solutions provide you with the tools and support that
you need to offload your IT needs and focus on growing your business.
Configured For All Businesses. Start Your Cloud Today.
https://www.gigenetcloud.com/
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/edk2-devel

Reply via email to