This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: Zlib patch and gold arm-elf target bug report
On Mon, 16 Aug 2010, Doug Kwan (關振德) wrote:
: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.
I do not use gold at all because it is not stable even for x86 arch - the
ld still remains the only working linker in binutils. But if gold can't
support the same ABI range as ld does - such regression tests for
gold need to be removed as standart procedure 'make check' will fail for
all the binutils package when compiling for such arches.
:-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
:
Rus