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: PATCH: ld/11944: elf_object_id (abfd) == elf_hash_table_id (htab) dosn't work on all targets


On Tue, Aug 24, 2010 at 10:23 AM, H.J. Lu <hjl.tools@gmail.com> wrote:
> On Mon, Aug 23, 2010 at 8:59 PM, Hans-Peter Nilsson
> <hans-peter.nilsson@axis.com> wrote:
>> The results used to be clean. ?Lots of the FAILs are related;
>> some tests use the results of the libdso* tests.
>>
>> Running /tmp/hpautotest-binutils/bsrc/src/ld/testsuite/ld-cris/cris.exp ...
>> FAIL: ld-cris/libdso-11
>> FAIL: ld-cris/libdso-12
>> FAIL: ld-cris/libdso-12b
>> FAIL: ld-cris/libdso-12c
>
> The problem is we didn't initialize ELF target_id consistently for all
> ELF backends.
>
> && elf_object_id (abfd) == elf_hash_table_id (htab)
>
> doesn't work for all targets. This patch fixes it. ?OK for trunk?
>
> Thanks.
>
> --
> H.J.
> --
> 2010-08-24 ?H.J. Lu ?<hongjiu.lu@intel.com>
>
> ? ? ? ?PR ld/11944
> ? ? ? ?* elf-bfd.h (elf_backend_data): Add target_id.
> ? ? ? ?(bfd_elf_make_generic_object): Renamed to ...
> ? ? ? ?(bfd_elf_make_object): This.
>
> ? ? ? ?* elf.c (bfd_elf_make_generic_object): Removed.
> ? ? ? ?(bfd_elf_make_object): New.
> ? ? ? ?(bfd_elf_mkcorefile): Really treat it as an object file.
>
> ? ? ? ?* elf-m10300.c (ELF_TARGET_ID): New.
> ? ? ? ?* elf32-arm.c (ELF_TARGET_ID): Likewise.
> ? ? ? ?* elf32-bfin.c (ELF_TARGET_ID): Likewise.
> ? ? ? ?* elf32-cris.c (ELF_TARGET_ID): Likewise.
> ? ? ? ?* elf32-frv.c (ELF_TARGET_ID): Likewise.
> ? ? ? ?* elf32-i386.c (ELF_TARGET_ID): Likewise.
> ? ? ? ?* elf32-lm32.c (ELF_TARGET_ID): Likewise.
> ? ? ? ?* elf32-m32r.c (ELF_TARGET_ID): Likewise.
> ? ? ? ?* elf32-m68hc11.c (ELF_TARGET_ID): Likewise.
> ? ? ? ?* elf32-m68hc12.c (ELF_TARGET_ID): Likewise.
> ? ? ? ?* elf32-m68k.c (ELF_TARGET_ID): Likewise.
> ? ? ? ?* elf32-microblaze.c (ELF_TARGET_ID): Likewise.
> ? ? ? ?* elf32-ppc.c (ELF_TARGET_ID): Likewise.
> ? ? ? ?* elf32-s390.c (ELF_TARGET_ID): Likewise.
> ? ? ? ?* elf32-sh.c (ELF_TARGET_ID): Likewise.
> ? ? ? ?* elf32-sparc.c (ELF_TARGET_ID): Likewise.
> ? ? ? ?* elf32-spu.c (ELF_TARGET_ID): Likewise.
> ? ? ? ?* elf32-tic6x.c (ELF_TARGET_ID): Likewise.
> ? ? ? ?* elf32-xtensa.c (ELF_TARGET_ID): Likewise.
> ? ? ? ?* elf64-alpha.c (ELF_TARGET_ID): Likewise.
> ? ? ? ?* elf64-hppa.c (ELF_TARGET_ID): Likewise.
> ? ? ? ?* elf64-ppc.c (ELF_TARGET_ID): Likewise.
> ? ? ? ?* elf64-s390.c (ELF_TARGET_ID): Likewise.
> ? ? ? ?* elf64-x86-64.c (ELF_TARGET_ID): Likewise.
> ? ? ? ?* elfxx-ia64.c (ELF_TARGET_ID): Likewise.
>
> ? ? ? ?* elf32-hppa.c (elf32_hppa_mkobject): Removed.
> ? ? ? ?(bfd_elf32_mkobject): Likewise.
> ? ? ? ?(ELF_TARGET_ID): New.
>
> ? ? ? ?* elf32-mips.c (ELF_TARGET_ID): New.
> ? ? ? ?(bfd_elf32_mkobject): Removed.
>
> ? ? ? ?* elf64-mips.c (ELF_TARGET_ID): New.
> ? ? ? ?(bfd_elf64_mkobject): Removed.
>
> ? ? ? ?* elfn32-mips.c (ELF_TARGET_ID): New.
> ? ? ? ?(bfd_elf32_mkobject): Removed.
>
> ? ? ? ?* elfxx-mips.c (_bfd_mips_elf_mkobject): Removed.
> ? ? ? ?* elfxx-mips.h (_bfd_mips_elf_mkobject): Likewise.
>
> ? ? ? ?* elfxx-target.h (bfd_elfNN_mkobject): Default to
> ? ? ? ?bfd_elf_make_object.
> ? ? ? ?(ELF_TARGET_ID): New. ?Default to GENERIC_ELF_DATA.
> ? ? ? ?(elfNN_bed): Initialize target_id.
>

I will check it to fix many ELF targets if there are no objections.

-- 
H.J.


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