This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Zlib patch and gold arm-elf target bug report


If you want to have a working linker now, I would suggest you using
ld, which has better support for the old ABI instead.  When code was
ported from BFD, to gold, support for the older ABI was removed to
simplify things.  gold can be changed to support the older ELF ABI but
it will not be fixed in the very near future.  gold being open-source,
you are more than welcome to modify it and submit your patches
provided that the maintainer accepts it.

-Doug

在 2010年8月16日下午10:02,Rus <harbour@sfinx.od.ua> 寫道:
> On Mon, 16 Aug 2010, Doug Kwan (關振德) wrote:
>
>        Hello,
>
> :Is there any reason why you are using ELF instead of EABI?  The
> :arm-elf tool-chain uses some deprecated relocation types, which are
> :not handled in gold.  In particular, the deprecated R_ARM_PC24
> :relocated type is not handled properly and caused the assert failure.
>
> My target is embedded ARM7 CPU with 32 Kbytes of FLASH - seems like it is
> ArmV3 arch which do not support EABI. Anyway until the binutils claims
> that supports arches older than armv4 and arm-elf systems and ld passes
> the regression tests - this will remains the gold bug.
>
> :
> :-Doug
> :
> :在 2010年8月16日上午8:48,Rus <harbour@sfinx.od.ua> 寫道:
> :>
> :>        Hello,
> :>
> :> The following patch needed for compiling binutils with Werror :
> :>
> :> --- binutils-2.20.51.0.11/bfd/compress.c        2010-08-12
> :> 00:52:42.000000000 +0300
> :> +++ binutils-2.20.51.0.11-1/bfd/compress.c      2010-08-16
> :> 18:20:45.004000011 +0300
> :> @@ -94,7 +94,7 @@
> :>   bfd_set_error (bfd_error_invalid_operation);
> :>   return FALSE;
> :>  #else
> :> -  bfd_size_type compressed_size;
> :> +  uLongf compressed_size;
> :>   bfd_byte *compressed_buffer;
> :>
> :>   compressed_size = compressBound (uncompressed_size) + 12;
> :>
> :>
> :> I use 3 arches (x86, avr and arm-ef). 2 first are good, but 'make check' for
> :> arm-elf target is failed with :
> :>
> :> make[5]: `arm_abs_global.stdout' is up to date.
> :> ../ld-new -T ./arm_branch_range.t -o arm_bl_in_range arm_bl_in_range.o
> :> ../ld-new: internal error in relocate, at arm.cc:8944
> :> make[5]: *** [arm_bl_in_range] Error 1
> :> make[5]: Leaving directory
> :> `/Arhiv/Soft/src/binutils/1/binutils-2.20.51.0.11/gold/testsuite'
> :>
> :>
> :>                Rus
> :>
> :
>
>                Rus


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]